diff options
-rw-r--r-- | engines/drascula/animation.cpp | 24 | ||||
-rw-r--r-- | engines/drascula/drascula.h | 2 | ||||
-rw-r--r-- | engines/drascula/talk.cpp | 10 |
3 files changed, 22 insertions, 14 deletions
diff --git a/engines/drascula/animation.cpp b/engines/drascula/animation.cpp index 09e7c8e214..a17afbe540 100644 --- a/engines/drascula/animation.cpp +++ b/engines/drascula/animation.cpp @@ -736,30 +736,30 @@ void DrasculaEngine::animation_4_2() { pause(10); - talk_blind(_textd[_lang][68], "d68.als", _textd1[_lang][68 - TEXTD_START]); + talk_blind(1); pause(5); talk_hacker(_textd[_lang][57], "d57.als"); pause(6); - talk_blind(_textd[_lang][69],"d69.als", _textd1[_lang][69 - TEXTD_START]); + talk_blind(2); pause(4); talk_hacker(_textd[_lang][58],"d58.als"); - talk_blind(_textd[_lang][70],"d70.als", _textd1[_lang][70 - TEXTD_START]); + talk_blind(3); delay(14); talk_hacker(_textd[_lang][59],"d59.als"); - talk_blind(_textd[_lang][71],"d71.als", _textd1[_lang][71 - TEXTD_START]); + talk_blind(4); talk_hacker(_textd[_lang][60],"d60.als"); - talk_blind(_textd[_lang][72],"d72.als", _textd1[_lang][72 - TEXTD_START]); + talk_blind(5); talk_hacker(_textd[_lang][61],"d61.als"); - talk_blind(_textd[_lang][73],"d73.als", _textd1[_lang][73 - TEXTD_START]); + talk_blind(6); talk_hacker(_textd[_lang][62],"d62.als"); - talk_blind(_textd[_lang][74],"d74.als", _textd1[_lang][74 - TEXTD_START]); + talk_blind(7); talk_hacker(_textd[_lang][63],"d63.als"); - talk_blind(_textd[_lang][75],"d75.als", _textd1[_lang][75 - TEXTD_START]); + talk_blind(8); copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); updateScreen(); _system->delayMillis(1000); talk_hacker(_textd[_lang][64], "d64.als"); - talk_blind(_textd[_lang][76], "d76.als", _textd1[_lang][76 - TEXTD_START]); + talk_blind(9); copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); updateScreen(); @@ -2529,7 +2529,7 @@ void DrasculaEngine::animation_6_2() { if (flags[4] == 1) talk_hacker(_textd[_lang][66], "d66.als"); pause(6); - talk_blind(_textd[_lang][78], "d78.als", _textd1[_lang][78 - TEXTD_START]); + talk_blind(11); pause(4); talk_hacker(_textd[_lang][67], "d67.als"); @@ -2577,12 +2577,12 @@ void DrasculaEngine::animation_33_2() { pause(10); - talk_blind(_textd[_lang][68], "d68.als", _textd1[_lang][68 - TEXTD_START]); + talk_blind(1); pause(5); talk_hacker(_textd[_lang][57], "d57.als"); pause(6); _system->delayMillis(1000); - talk_blind(_textd[_lang][77], "d77.als", _textd1[_lang][77 - TEXTD_START]); + talk_blind(10); talk_hacker(_textd[_lang][65], "d65.als"); copyBackground(0, 0, 0, 0, 320, 200, drawSurface1, screenSurface); diff --git a/engines/drascula/drascula.h b/engines/drascula/drascula.h index 6ebb36ac51..f459e559fe 100644 --- a/engines/drascula/drascula.h +++ b/engines/drascula/drascula.h @@ -463,7 +463,7 @@ public: void talk_vb(const char *, const char *); void talk_vbpuerta(int); void talk_vbpuerta(const char *said, const char *filename); - void talk_blind(const char *, const char *, const char *); + void talk_blind(int); void talk_hacker(const char *, const char *); void hiccup(int); diff --git a/engines/drascula/talk.cpp b/engines/drascula/talk.cpp index c8d85639bb..62bedc2fd1 100644 --- a/engines/drascula/talk.cpp +++ b/engines/drascula/talk.cpp @@ -637,7 +637,15 @@ void DrasculaEngine::talk_vbpuerta(const char *said, const char *filename) { playMusic(roomMusic); } -void DrasculaEngine::talk_blind(const char *said, const char *filename, const char *sincronia) { +void DrasculaEngine::talk_blind(int index) { + // Special case: a second array is used for sync here + // Also, the blind man's texts in the first array and his + // voice files start from 58, not 1 + char filename[20]; + sprintf(filename, "d%i.als", index + TEXTD_START - 1); + const char *said = _textd[_lang][index + TEXTD_START - 1]; + const char *sincronia = _textd1[_lang][index - 1]; + byte *num_cara; int p = 0; int pos_blind[6]; |