aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2008-06-02 05:00:11 +0000
committerFilippos Karapetis2008-06-02 05:00:11 +0000
commit24156516ab29c900c1549c4356f6bbfa7cab5a28 (patch)
tree22ff3af9973cec9bd6d44ffdfb9a007d4058ac72
parent738a62ef6aa50ba19231c46aff40c8b46332c1bc (diff)
downloadscummvm-rg350-24156516ab29c900c1549c4356f6bbfa7cab5a28.tar.gz
scummvm-rg350-24156516ab29c900c1549c4356f6bbfa7cab5a28.tar.bz2
scummvm-rg350-24156516ab29c900c1549c4356f6bbfa7cab5a28.zip
Simplified talk_blind()
svn-id: r32485
-rw-r--r--engines/drascula/animation.cpp24
-rw-r--r--engines/drascula/drascula.h2
-rw-r--r--engines/drascula/talk.cpp10
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];