diff options
author | Torbjörn Andersson | 2003-09-09 07:01:04 +0000 |
---|---|---|
committer | Torbjörn Andersson | 2003-09-09 07:01:04 +0000 |
commit | fb6e8dd62878ea2b1806f98bc9b5bd2a10bacee5 (patch) | |
tree | 3e5c234aa9055fdcfb0a9f741437803dfc7753c0 /sword2/driver | |
parent | e68176f8c390cf431aff9862639b9a384920517a (diff) | |
download | scummvm-rg350-fb6e8dd62878ea2b1806f98bc9b5bd2a10bacee5.tar.gz scummvm-rg350-fb6e8dd62878ea2b1806f98bc9b5bd2a10bacee5.tar.bz2 scummvm-rg350-fb6e8dd62878ea2b1806f98bc9b5bd2a10bacee5.zip |
Clarified some comments in PlaySmacker(). At this point it should be fairly
trivial to actually play the Smacker voice-overs, but I think the sound
code needs a bit more cleaning up first. (I'm pretty sure it isn't
alignment-safe, and it might not be endian-safe either.)
svn-id: r10123
Diffstat (limited to 'sword2/driver')
-rw-r--r-- | sword2/driver/d_draw.cpp | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/sword2/driver/d_draw.cpp b/sword2/driver/d_draw.cpp index a01651549e..891a35d27d 100644 --- a/sword2/driver/d_draw.cpp +++ b/sword2/driver/d_draw.cpp @@ -537,6 +537,10 @@ int32 PlaySmacker(char *filename, _movieTextObject *text[], uint8 *musicOut) { // TODO: Play the voice-over sounds. + // Do we really need to pre-cache the text sprites and speech data + // like this? It'd be simpler to just store the text id and construct + // the data as we go along. + if (text) { uint8 oldPal[1024]; uint8 tmpPal[1024]; @@ -550,8 +554,11 @@ int32 PlaySmacker(char *filename, _movieTextObject *text[], uint8 *musicOut) { int textCounter = 0; // Fake a palette that will hopefully make the text visible. - // In the opening cutscene it seems to use colours 1 (black) - // and 255 (white). + // In the opening cutscene it seems to use colours 1 (black?) + // and 255 (white?). + // + // The text should probably be colored the same as the rest of + // the in-game text. memcpy(oldPal, palCopy, 1024); memset(tmpPal, 0, 1024); @@ -568,6 +575,8 @@ int32 PlaySmacker(char *filename, _movieTextObject *text[], uint8 *musicOut) { EraseBackBuffer(); OpenTextObject(text[textCounter]); DrawTextObject(text[textCounter]); + if (text[textCounter]->speech) + debug(0, "FIXME: Play subtitle speech"); } if (frameCounter == text[textCounter]->endFrame) { @@ -582,10 +591,14 @@ int32 PlaySmacker(char *filename, _movieTextObject *text[], uint8 *musicOut) { char key; - if (ReadKey(&key) == RD_OK && key == 27) + if (ReadKey(&key) == RD_OK && key == 27) { + // StopWavSpeech() break; + } - // Simulate ~12 frames per second. + // Simulate ~12 frames per second. I don't know what + // frame rate the original movies had, or even if it + // was constant, but this seems to work reasonably. g_system->delay_msecs(80); } |