diff options
-rw-r--r-- | engines/drascula/animation.cpp | 162 | ||||
-rw-r--r-- | engines/drascula/drascula.h | 2 | ||||
-rw-r--r-- | engines/drascula/talk.cpp | 12 |
3 files changed, 95 insertions, 81 deletions
diff --git a/engines/drascula/animation.cpp b/engines/drascula/animation.cpp index 4895b5e6f7..01078e7d8f 100644 --- a/engines/drascula/animation.cpp +++ b/engines/drascula/animation.cpp @@ -1140,24 +1140,24 @@ void DrasculaEngine::animation_17_2() { } void DrasculaEngine::animation_19_2() { - talk_vbpuerta(_textvb[_lang][5], "VB5.als"); + talk_vbpuerta(5); } void DrasculaEngine::animation_20_2() { - talk_vbpuerta(_textvb[_lang][7], "VB7.als"); - talk_vbpuerta(_textvb[_lang][8], "VB8.als"); - talk(_text[_lang][383], "383.als"); - talk_vbpuerta(_textvb[_lang][9], "VB9.als"); - talk(_text[_lang][384], "384.als"); - talk_vbpuerta(_textvb[_lang][10], "VB10.als"); - talk(_text[_lang][385], "385.als"); - talk_vbpuerta(_textvb[_lang][11], "VB11.als"); + talk_vbpuerta(7); + talk_vbpuerta(8); + talk(383); + talk_vbpuerta(9); + talk(384); + talk_vbpuerta(10); + talk(385); + talk_vbpuerta(11); if (flags[23] == 0) { - talk(_text[_lang][350], "350.als"); - talk_vbpuerta(_textvb[_lang][57], "VB57.als"); + talk(350); + talk_vbpuerta(57); } else { - talk(_text[_lang][386], "386.als"); - talk_vbpuerta(_textvb[_lang][12], "VB12.als"); + talk(386); + talk_vbpuerta(12); flags[18] = 0; flags[14] = 1; openDoor(15, 1); @@ -1174,7 +1174,7 @@ void DrasculaEngine::animation_20_2() { } void DrasculaEngine::animation_21_2() { - talk_vbpuerta(_textvb[_lang][6], "VB6.als"); + talk_vbpuerta(6); } void DrasculaEngine::animation_23_2() { @@ -1184,26 +1184,26 @@ void DrasculaEngine::animation_23_2() { flags[21] = 1; if (flags[25] == 0) { - talk_vb(_textvb[_lang][13], "VB13.als"); - talk_vb(_textvb[_lang][14], "VB14.als"); + talk_vb(13); + talk_vb(14); pause(10); - talk(_text[_lang][387], "387.als"); + talk(387); } - talk_vb(_textvb[_lang][15], "VB15.als"); + talk_vb(15); lleva_vb(42); sentido_vb = 1; - talk_vb(_textvb[_lang][16], "VB16.als"); + talk_vb(16); sentido_vb = 2; lleva_al_hare(157, 147); lleva_al_hare(131, 149); sentido_hare = 0; animation_14_2(); if (flags[25] == 0) - talk_vb(_textvb[_lang][17], "VB17.als"); + talk_vb(17); pause(8); sentido_vb = 1; - talk_vb(_textvb[_lang][18], "VB18.als"); + talk_vb(18); if (flags[29] == 0) animation_23_anexo(); @@ -1215,9 +1215,9 @@ void DrasculaEngine::animation_23_2() { lleva_vb(99); if (flags[29] == 0) { - talk_vb(_textvb[_lang][19], "VB19.als"); + talk_vb(19); if (flags[25] == 0) { - talk_vb(_textvb[_lang][20],"VB20.als"); + talk_vb(20); if (resta_objeto(7) == 0) flags[30] = 1; if (resta_objeto(18) == 0) @@ -1225,7 +1225,7 @@ void DrasculaEngine::animation_23_2() { if (resta_objeto(19) == 0) flags[32] = 1; } - talk_vb(_textvb[_lang][21], "VB21.als"); + talk_vb(21); } else animation_27_2(); @@ -1324,63 +1324,63 @@ void DrasculaEngine::animation_27_2() { resta_objeto(23); suma_objeto(11); - talk_vb(_textvb[_lang][23], "VB23.als"); - talk_vb(_textvb[_lang][24], "VB24.als"); + talk_vb(23); + talk_vb(24); if (flags[30] == 1) suma_objeto(7); if (flags[31] == 1) suma_objeto(18); if (flags[32] == 1) suma_objeto(19); - talk_vb(_textvb[_lang][25],"VB25.als"); - talk_vb(_textvb[_lang][26],"VB26.als"); + talk_vb(25); + talk_vb(26); } void DrasculaEngine::animation_28_2() { - talk_vb(_textvb[_lang][27], "VB27.als"); - talk_vb(_textvb[_lang][28], "VB28.als"); - talk_vb(_textvb[_lang][29], "VB29.als"); - talk_vb(_textvb[_lang][30], "VB30.als"); + talk_vb(27); + talk_vb(28); + talk_vb(29); + talk_vb(30); } void DrasculaEngine::animation_29_2() { if (flags[33] == 0) { - talk_vb(_textvb[_lang][32], "VB32.als"); - talk(_text[_lang][398], "398.als"); - talk_vb(_textvb[_lang][33], "VB33.als"); - talk(_text[_lang][399], "399.als"); - talk_vb(_textvb[_lang][34], "VB34.als"); - talk_vb(_textvb[_lang][35], "VB35.als"); - talk(_text[_lang][400], "400.als"); - talk_vb(_textvb[_lang][36], "VB36.als"); - talk_vb(_textvb[_lang][37], "VB37.als"); - talk(_text[_lang][386], "386.als"); - talk_vb(_textvb[_lang][38], "VB38.als"); - talk_vb(_textvb[_lang][39], "VB39.als"); - talk(_text[_lang][401], "401.als"); - talk_vb(_textvb[_lang][40], "VB40.als"); - talk_vb(_textvb[_lang][41], "VB41.als"); + talk_vb(32); + talk(398); + talk_vb(33); + talk(399); + talk_vb(34); + talk_vb(35); + talk(400); + talk_vb(36); + talk_vb(37); + talk(386); + talk_vb(38); + talk_vb(39); + talk(401); + talk_vb(40); + talk_vb(41); flags[33] = 1; } else - talk_vb(_textvb[_lang][43], "VB43.als"); + talk_vb(43); - talk(_text[_lang][402], "402.als"); - talk_vb(_textvb[_lang][42], "VB42.als"); + talk(402); + talk_vb(42); if (flags[38] == 0) { - talk(_text[_lang][403], "403.als"); + talk(403); rompo_y_salgo = 1; } else - talk(_text[_lang][386], "386.als"); + talk(386); } void DrasculaEngine::animation_30_2() { - talk_vb(_textvb[_lang][31], "VB31.als"); - talk(_text[_lang][396], "396.als"); + talk_vb(31); + talk(396); } void DrasculaEngine::animation_31_2() { - talk_vb(_textvb[_lang][44], "VB44.als"); + talk_vb(44); lleva_vb(-50); pause(15); lleva_al_hare(159, 140); @@ -1394,25 +1394,25 @@ void DrasculaEngine::animation_31_2() { updateRoom(); updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla); pause(22); - talk(_text[_lang][406], "406.als"); + talk(406); lleva_vb(98); - talk_vb(_textvb[_lang][45], "VB45.als"); - talk_vb(_textvb[_lang][46], "VB46.als"); - talk_vb(_textvb[_lang][47], "VB47.als"); - talk(_text[_lang][407], "407.als"); - talk_vb(_textvb[_lang][48], "VB48.als"); - talk_vb(_textvb[_lang][49], "VB49.als"); - talk(_text[_lang][408], "408.als"); - talk_vb(_textvb[_lang][50], "VB50.als"); - talk_vb(_textvb[_lang][51], "VB51.als"); - talk(_text[_lang][409], "409.als"); - talk_vb(_textvb[_lang][52], "VB52.als"); - talk_vb(_textvb[_lang][53], "VB53.als"); + talk_vb(45); + talk_vb(46); + talk_vb(47); + talk(407); + talk_vb(48); + talk_vb(49); + talk(408); + talk_vb(50); + talk_vb(51); + talk(409); + talk_vb(52); + talk_vb(53); pause(12); - talk_vb(_textvb[_lang][54], "VB54.als"); - talk_vb(_textvb[_lang][55], "VB55.als"); - talk(_text[_lang][410], "410.als"); - talk_vb(_textvb[_lang][56], "VB56.als"); + talk_vb(54); + talk_vb(55); + talk(410); + talk_vb(56); rompo_y_salgo = 1; @@ -2698,8 +2698,8 @@ void DrasculaEngine::animation_13_2() { } void DrasculaEngine::animation_18_2() { - talk(_text[_lang][378], "378.als"); - talk_vbpuerta(_textvb[_lang][4], "VB4.als"); + talk(378); + talk_vbpuerta(4); conversa("op_3.cal"); } @@ -2713,11 +2713,11 @@ void DrasculaEngine::animation_22_2() { fin_sound(); sentido_hare = 1; - talk_vbpuerta(_textvb[_lang][1], "VB1.als"); - talk(_text[_lang][375], "375.als"); - talk_vbpuerta(_textvb[_lang][2], "VB2.als"); - talk(_text[_lang][376], "376.als"); - talk_vbpuerta(_textvb[_lang][3], "VB3.als"); + talk_vbpuerta(1); + talk(375); + talk_vbpuerta(2); + talk(376); + talk_vbpuerta(3); flags[18] = 1; } @@ -2730,7 +2730,7 @@ void DrasculaEngine::animation_24_2() { pause(3); sentido_hare = 0; - talk(_text[_lang][356], "356.als"); + talk(356); loadPic("an24.alg"); decompressPic(dir_hare_frente, 1); @@ -2739,7 +2739,7 @@ void DrasculaEngine::animation_24_2() { flags[21] = 1; - talk_vb(_textvb[_lang][22], "VB22.als"); + talk_vb(22); if (flags[22] == 0) conversa("op_4.cal"); diff --git a/engines/drascula/drascula.h b/engines/drascula/drascula.h index e466176ed8..48dbed9bcb 100644 --- a/engines/drascula/drascula.h +++ b/engines/drascula/drascula.h @@ -481,7 +481,9 @@ public: bool escoba(); void black(); + void talk_vb(int); void talk_vb(const char *, const char *); + void talk_vbpuerta(int); void talk_vbpuerta(const char *said, const char *filename); void talk_ciego(const char *, const char *, const char *); void talk_hacker(const char *, const char *); diff --git a/engines/drascula/talk.cpp b/engines/drascula/talk.cpp index 3470bcd3b8..05fd512355 100644 --- a/engines/drascula/talk.cpp +++ b/engines/drascula/talk.cpp @@ -727,6 +727,12 @@ bucless: } } +void DrasculaEngine::talk_vb(int index) { + char name[100]; + sprintf(name, "VB%i.als", index); + talk_vb(_textvb[_lang][index], name); +} + void DrasculaEngine::talk_vb(const char *said, const char *filename) { int x_talk[6] = {1, 27, 53, 79, 105, 131}; int cara; @@ -782,6 +788,12 @@ bucless: playMusic(roomMusic); } +void DrasculaEngine::talk_vbpuerta(int index) { + char name[100]; + sprintf(name, "VB%i.als", index); + talk_vb(_textvb[_lang][index], name); +} + void DrasculaEngine::talk_vbpuerta(const char *said, const char *filename) { int longitud = strlen(said); |