aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/drascula/animation.cpp70
-rw-r--r--engines/drascula/drascula.h2
-rw-r--r--engines/drascula/rooms.cpp14
-rw-r--r--engines/drascula/talk.cpp18
4 files changed, 59 insertions, 45 deletions
diff --git a/engines/drascula/animation.cpp b/engines/drascula/animation.cpp
index ea4431fca8..a2cd43eac2 100644
--- a/engines/drascula/animation.cpp
+++ b/engines/drascula/animation.cpp
@@ -543,23 +543,23 @@ void DrasculaEngine::animation_2_1() {
hare_x = 100;
hare_y = 95;
- talk_bj(_textbj[_lang][2], "BJ2.als");
- talk(_text[_lang][215], "215.als");
- talk_bj(_textbj[_lang][3], "BJ3.als");
- talk(_text[_lang][216], "216.als");
- talk_bj(_textbj[_lang][4], "BJ4.als");
- talk_bj(_textbj[_lang][5], "BJ5.als");
- talk_bj(_textbj[_lang][6], "BJ6.als");
- talk(_text[_lang][217], "217.als");
- talk_bj(_textbj[_lang][7], "BJ7.als");
- talk(_text[_lang][218], "218.als");
- talk_bj(_textbj[_lang][8], "BJ8.als");
- talk(_text[_lang][219], "219.als");
- talk_bj(_textbj[_lang][9], "BJ9.als");
- talk(_text[_lang][220], "220.als");
- talk(_text[_lang][221], "221.als");
- talk_bj(_textbj[_lang][10], "BJ10.als");
- talk(_text[_lang][222], "222.als");
+ talk_bj(2);
+ talk(215);
+ talk_bj(3);
+ talk(216);
+ talk_bj(4);
+ talk_bj(5);
+ talk_bj(6);
+ talk(217);
+ talk_bj(7);
+ talk(218);
+ talk_bj(8);
+ talk(219);
+ talk_bj(9);
+ talk(220);
+ talk(221);
+ talk_bj(10);
+ talk(222);
if (anima("gaf.bin", 15))
break;
if (anima("bjb.bin", 14))
@@ -603,10 +603,10 @@ void DrasculaEngine::animation_2_1() {
pause(60);
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
break;
- talk(_text[_lang][224], "224.als");
+ talk(224);
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
break;
- talk_bj(_textbj[_lang][12], "BJ12.als");
+ talk_bj(12);
lleva_al_hare(157, 98 + alto_hare);
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
break;
@@ -630,14 +630,14 @@ void DrasculaEngine::animation_2_1() {
pause(8);
updateRoom();
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
- talk(_text[_lang][225], "225.als");
+ talk(225);
pause(76);
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
break;
sentido_hare = 1;
updateRoom();
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
- talk(_text[_lang][226], "226.als");
+ talk(226);
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
break;
updateRoom();
@@ -645,7 +645,7 @@ void DrasculaEngine::animation_2_1() {
pause(30);
if ((term_int == 1) || (getscan() == Common::KEYCODE_ESCAPE))
break;
- talk(_text[_lang][227],"227.als");
+ talk(227);
FundeAlNegro(0);
break;
}
@@ -1863,26 +1863,26 @@ void DrasculaEngine::animation_7_4() {
void DrasculaEngine::animation_1_5() {
if (flags[0] == 0) {
talk(_text[_lang][430], "430.als");
- talk_bj(_textbj[_lang][16], "BJ16.als");
- talk_bj(_textbj[_lang][17], "BJ17.als");
- talk_bj(_textbj[_lang][18], "BJ18.als");
- talk(_text[_lang][217], "217.als");
- talk_bj(_textbj[_lang][19], "BJ19.als");
- talk(_text[_lang][229], "229.als");
+ talk_bj(16);
+ talk_bj(17);
+ talk_bj(18);
+ talk(217);
+ talk_bj(19);
+ talk(229);
pause(5);
lleva_al_hare(114, 170);
sentido_hare = 3;
- talk(_text[_lang][431], "431.als");
- talk_bj(_textbj[_lang][20], "BJ20.als");
+ talk(431);
+ talk_bj(20);
sentido_hare = 2;
pause(4);
- talk(_text[_lang][438], "438.als");
+ talk(438);
sitio_x = 120;
sitio_y = 157;
anda_a_objeto = 1;
sentido_final = 1;
empieza_andar();
- talk_bj(_textbj[_lang][21], "BJ21.als");
+ talk_bj(21);
for (;;) {
if (hare_se_mueve == 0)
@@ -1892,7 +1892,7 @@ void DrasculaEngine::animation_1_5() {
}
sentido_hare = 1;
- talk(_text[_lang][229], "229.als");
+ talk(229);
flags[0] = 1;
}
@@ -1901,11 +1901,11 @@ void DrasculaEngine::animation_1_5() {
}
void DrasculaEngine::animation_2_5() {
- talk_bj(_textbj[_lang][22], "BJ22.als");
+ talk_bj(22);
}
void DrasculaEngine::animation_3_5() {
- talk_bj(_textbj[_lang][23], "BJ23.als");
+ talk_bj(23);
pickObject(10);
rompo_y_salgo = 1;
}
diff --git a/engines/drascula/drascula.h b/engines/drascula/drascula.h
index 6170dc92c4..512ebb9950 100644
--- a/engines/drascula/drascula.h
+++ b/engines/drascula/drascula.h
@@ -542,6 +542,7 @@ public:
void talk_igor_peluca(const char *said, const char *filename);
void hipo(int);
void stopSound();
+ void talk_bj(int);
void talk_bj(const char *, const char *);
void talk_baul(const char *said, const char *filename);
void talk(int);
@@ -749,6 +750,7 @@ public:
void talk_pen(const char *, const char *);
void talk_pen2(const char *, const char *);
void talk_taber2(const char *, const char *);
+ void talk_bj_cama(int);
void talk_bj_cama(const char *said, const char * filename);
void talk_htel(const char *said, const char *filename);
diff --git a/engines/drascula/rooms.cpp b/engines/drascula/rooms.cpp
index 8af3f7c952..50f1110c23 100644
--- a/engines/drascula/rooms.cpp
+++ b/engines/drascula/rooms.cpp
@@ -1140,14 +1140,14 @@ void DrasculaEngine::room_58(int fl) {
void DrasculaEngine::room_59(int fl) {
if ((pickedObject == kVerbTalk && fl == 51) || (pickedObject == kVerbLook && fl == 51)) {
flags[9] = 1;
- talk(_text[_lang][259], "259.als");
- talk_bj_cama(_textbj[_lang][13], "bj13.als");
- talk(_text[_lang][263], "263.als");
- talk_bj_cama(_textbj[_lang][14], "bj14.als");
+ talk(259);
+ talk_bj_cama(13);
+ talk(263);
+ talk_bj_cama(14);
pause(40);
- talk(_text[_lang][264], "264.als");
- talk_bj_cama(_textbj[_lang][15], "BJ15.als");
- talk(_text[_lang][265], "265.als");
+ talk(264);
+ talk_bj_cama(15);
+ talk(265);
flags[9] = 0;
if (flags[11] == 0) {
playSound("s12.als");
diff --git a/engines/drascula/talk.cpp b/engines/drascula/talk.cpp
index 549d930c53..d6f393aa2a 100644
--- a/engines/drascula/talk.cpp
+++ b/engines/drascula/talk.cpp
@@ -393,6 +393,12 @@ bucless:
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
}
+void DrasculaEngine::talk_bj(int index) {
+ char name[20];
+ sprintf(name, "BJ%i.als", index);
+ talk_bj(_textbj[_lang][index], name);
+}
+
void DrasculaEngine::talk_bj(const char *said, const char *filename) {
int x_talk[5] = { 64, 92, 120, 148, 176 };
int cara;
@@ -457,7 +463,7 @@ bucless:
}
void DrasculaEngine::talk(int index) {
- char name[100];
+ char name[20];
sprintf(name, "%i.als", index);
talk(_text[_lang][index], name);
}
@@ -728,7 +734,7 @@ bucless:
}
void DrasculaEngine::talk_vb(int index) {
- char name[100];
+ char name[20];
sprintf(name, "VB%i.als", index);
talk_vb(_textvb[_lang][index], name);
}
@@ -789,7 +795,7 @@ bucless:
}
void DrasculaEngine::talk_vbpuerta(int index) {
- char name[100];
+ char name[20];
sprintf(name, "VB%i.als", index);
talk_vb(_textvb[_lang][index], name);
}
@@ -1194,6 +1200,12 @@ bucless:
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
}
+void DrasculaEngine::talk_bj_cama(int index) {
+ char name[20];
+ sprintf(name, "BJ%i.als", index);
+ talk_bj_cama(_textbj[_lang][index], name);
+}
+
void DrasculaEngine::talk_bj_cama(const char *said, const char *filename) {
int x_talk[5] = {51, 101, 151, 201, 251};
int cara;