aboutsummaryrefslogtreecommitdiff
path: root/engines/drascula
diff options
context:
space:
mode:
Diffstat (limited to 'engines/drascula')
-rw-r--r--engines/drascula/animation.cpp86
-rw-r--r--engines/drascula/drascula.cpp2
-rw-r--r--engines/drascula/drascula.h12
-rw-r--r--engines/drascula/texts.cpp103
4 files changed, 179 insertions, 24 deletions
diff --git a/engines/drascula/animation.cpp b/engines/drascula/animation.cpp
index 1cacfab453..40ef8cdddb 100644
--- a/engines/drascula/animation.cpp
+++ b/engines/drascula/animation.cpp
@@ -847,30 +847,30 @@ void DrasculaEngine::animation_4_2() {
pause(10);
- talk_ciego(_textd[_lang][68], "d68.als", "44472225500022227555544444664447222550002222755554444466");
+ talk_ciego(_textd[_lang][68], "d68.als", _textd1[_lang][68 - TEXTD_START]);
pause(5);
talk_hacker(_textd[_lang][57], "d57.als");
pause(6);
- talk_ciego(_textd[_lang][69],"d69.als","444722255000222275555444446655033336666664464402256555005504450005446");
+ talk_ciego(_textd[_lang][69],"d69.als", _textd1[_lang][69 - TEXTD_START]);
pause(4);
talk_hacker(_textd[_lang][58],"d58.als");
- talk_ciego(_textd[_lang][70],"d70.als", "4447222550002222755554444466550333226220044644550044755665500440006655556666655044744656550446470046");
+ talk_ciego(_textd[_lang][70],"d70.als", _textd1[_lang][70 - TEXTD_START]);
delay(14);
talk_hacker(_textd[_lang][59],"d59.als");
- talk_ciego(_textd[_lang][71],"d71.als", "550330227556444744446660004446655544444722255000222275555444446644444");
+ talk_ciego(_textd[_lang][71],"d71.als", _textd1[_lang][71 - TEXTD_START]);
talk_hacker(_textd[_lang][60],"d60.als");
- talk_ciego(_textd[_lang][72],"d72.als", "55033022755644455550444744400044504447222550002222755554444466000");
+ talk_ciego(_textd[_lang][72],"d72.als", _textd1[_lang][72 - TEXTD_START]);
talk_hacker(_textd[_lang][61],"d61.als");
- talk_ciego(_textd[_lang][73],"d73.als", "55033022755644444447227444466644444722255000222275555444446664404446554440055655022227500544446044444446");
+ talk_ciego(_textd[_lang][73],"d73.als", _textd1[_lang][73 - TEXTD_START]);
talk_hacker(_textd[_lang][62],"d62.als");
- talk_ciego(_textd[_lang][74],"d74.als", "55033022755644444472244472225500022227555544444662550002222755444446666055522275550005550022200222000222666");
+ talk_ciego(_textd[_lang][74],"d74.als", _textd1[_lang][74 - TEXTD_START]);
talk_hacker(_textd[_lang][63],"d63.als");
- talk_ciego(_textd[_lang][75],"d75.als", "44447774444555500222205550444444466666225266444755444722255000222275555444446633223220044022203336227555770550444660557220553302224477777550550550222635533000662220002275572227025555");
+ talk_ciego(_textd[_lang][75],"d75.als", _textd1[_lang][75 - TEXTD_START]);
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
_system->delayMillis(1);
talk_hacker(_textd[_lang][64], "d64.als");
- talk_ciego(_textd[_lang][76], "d76.als", "5555500004445550330244472225500022227555544444662755644446666005204402266222003332222774440446665555005550335544444");
+ talk_ciego(_textd[_lang][76], "d76.als", _textd1[_lang][76 - TEXTD_START]);
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
@@ -978,23 +978,43 @@ void DrasculaEngine::animation_16_2() {
clearRoom();
- playMusic(32);
+ if (_lang == kSpanish)
+ playMusic(30);
+ else
+ playMusic(32);
+
int key = getscan();
if (key != 0)
goto asco;
- color_abc(DARK_GREEN);
+ if (_lang != kSpanish)
+ color_abc(DARK_GREEN);
loadPic("his1.alg");
decompressPic(dir_dibujo1, MEDIA);
+
+ if (_lang == kSpanish)
+ Negro();
+
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
- centra_texto(_texthis[_lang][1], 180, 180);
+
+ if (_lang != kSpanish)
+ centra_texto(_texthis[_lang][1], 180, 180);
+
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
+
+ if (_lang == kSpanish)
+ FundeDelNegro(1);
+
key = getscan();
if (key != 0)
goto asco;
- _system->delayMillis(4);
+ if (_lang == kSpanish)
+ _system->delayMillis(3);
+ else
+ _system->delayMillis(4);
+
key = getscan();
if (key != 0)
goto asco;
@@ -1008,13 +1028,20 @@ void DrasculaEngine::animation_16_2() {
loadPic("his2.alg");
decompressPic(dir_dibujo1, MEDIA);
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
- centra_texto(_texthis[_lang][2], 180, 180);
+
+ if (_lang != kSpanish)
+ centra_texto(_texthis[_lang][2], 180, 180);
+
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
key = getscan();
if (key != 0)
goto asco;
- _system->delayMillis(4);
+ if (_lang == kSpanish)
+ _system->delayMillis(3);
+ else
+ _system->delayMillis(4);
+
key = getscan();
if (key != 0)
goto asco;
@@ -1028,13 +1055,20 @@ void DrasculaEngine::animation_16_2() {
loadPic("his3.alg");
decompressPic(dir_dibujo1, MEDIA);
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
- centra_texto(_texthis[_lang][3], 180, 180);
+
+ if (_lang != kSpanish)
+ centra_texto(_texthis[_lang][3], 180, 180);
+
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
key = getscan();
if (key != 0)
goto asco;
- _system->delayMillis(4);
+ if (_lang == kSpanish)
+ _system->delayMillis(3);
+ else
+ _system->delayMillis(4);
+
key = getscan();
if (key != 0)
goto asco;
@@ -1048,13 +1082,20 @@ void DrasculaEngine::animation_16_2() {
decompressPic(dir_dibujo3, 1);
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo3, dir_zona_pantalla);
- centra_texto(_texthis[_lang][1], 180, 180);
+
+ if (_lang != kSpanish)
+ centra_texto(_texthis[_lang][1], 180, 180);
+
updateScreen(0, 0, 0, 0, 320, 200, dir_zona_pantalla);
key = getscan();
if (key != 0)
goto asco;
- _system->delayMillis(4);
+ if (_lang == kSpanish)
+ _system->delayMillis(2);
+ else
+ _system->delayMillis(4);
+
key = getscan();
if (key != 0)
goto asco;
@@ -3186,8 +3227,7 @@ void DrasculaEngine::animation_6_2() {
if (flags[4] == 1)
talk_hacker(_textd[_lang][66], "d66.als");
pause(6);
- talk_ciego(_textd[_lang][78], "d78.als",
- "004447222550002222755554444466222000220555002220550444446666662220000557550033344477222522665444466663337446055504446550550550222633003330000666622044422755722270255566667555655007222777");
+ talk_ciego(_textd[_lang][78], "d78.als", _textd1[_lang][78 - TEXTD_START]);
pause(4);
talk_hacker(_textd[_lang][67], "d67.als");
@@ -3239,12 +3279,12 @@ void DrasculaEngine::animation_33_2() {
pause(10);
- talk_ciego(_textd[_lang][68], "d68.als", "44472225500022227555544444472225500022227555544444664466");
+ talk_ciego(_textd[_lang][68], "d68.als", _textd1[_lang][68 - TEXTD_START]);
pause(5);
talk_hacker(_textd[_lang][57], "d57.als");
pause(6);
_system->delayMillis(1000);
- talk_ciego(_textd[_lang][77], "d77.als", "56665004444447222550002222755554444466555033022755555000444444444444444444444444444444");
+ talk_ciego(_textd[_lang][77], "d77.als", _textd1[_lang][77 - TEXTD_START]);
talk_hacker(_textd[_lang][65], "d65.als");
copyBackground(0, 0, 0, 0, 320, 200, dir_dibujo1, dir_zona_pantalla);
diff --git a/engines/drascula/drascula.cpp b/engines/drascula/drascula.cpp
index 7ae715546c..7199173473 100644
--- a/engines/drascula/drascula.cpp
+++ b/engines/drascula/drascula.cpp
@@ -4318,7 +4318,7 @@ void DrasculaEngine::actualiza_datos() {
if (!strcmp(num_room, "22.alg") && flags[27] == 1)
visible[3] = 0;
if (!strcmp(num_room, "26.alg") && flags[21] == 0)
- strcpy(nombre_obj[2], "HUNCHBACKED");
+ strcpy(nombre_obj[2], _textmisc[_lang][0]);
if (!strcmp(num_room, "26.alg") && flags[18] == 1)
visible[2] = 0;
if (!strcmp(num_room, "26.alg") && flags[12] == 1)
diff --git a/engines/drascula/drascula.h b/engines/drascula/drascula.h
index a805206874..eff9734bd8 100644
--- a/engines/drascula/drascula.h
+++ b/engines/drascula/drascula.h
@@ -48,6 +48,16 @@ namespace Drascula {
enum DrasculaGameFeatures {
};
+enum Languages {
+ kEnglish = 0,
+ kSpanish = 1,
+ kGerman = 2,
+ kFrench = 3,
+ kItalian = 4
+};
+
+#define TEXTD_START 68
+
struct DrasculaGameDescription;
#define NUM_SAVES 10
@@ -836,6 +846,8 @@ extern const char *_textvb[][63];
extern const char *_textsys[][4];
extern const char *_texthis[][5];
extern const char *_textverbs[][6];
+extern const char *_textmisc[][1];
+extern const char *_textd1[][11];
} // End of namespace Drascula
diff --git a/engines/drascula/texts.cpp b/engines/drascula/texts.cpp
index 1bc2514375..6389097c1d 100644
--- a/engines/drascula/texts.cpp
+++ b/engines/drascula/texts.cpp
@@ -5205,6 +5205,91 @@ const char *_texthis[][5] = {
};
+const char *_textd1[][11] = {
+{
+ // 68
+ "44472225500022227555544444664447222550002222755554444466",
+ "444722255000222275555444446655033336666664464402256555005504450005446",
+ // 70
+ "4447222550002222755554444466550333226220044644550044755665500440006655556666655044744656550446470046",
+ "550330227556444744446660004446655544444722255000222275555444446644444",
+ "55033022755644455550444744400044504447222550002222755554444466000",
+ "55033022755644444447227444466644444722255000222275555444446664404446554440055655022227500544446044444446",
+ "55033022755644444472244472225500022227555544444662550002222755444446666055522275550005550022200222000222666",
+ // 75
+ "44447774444555500222205550444444466666225266444755444722255000222275555444446633223220044022203336227555770550444660557220553302224477777550550550222635533000662220002275572227025555",
+ "5555500004445550330244472225500022227555544444662755644446666005204402266222003332222774440446665555005550335544444",
+ "56665004444447222550002222755554444466555033022755555000444444444444444444444444444444"
+ "004447222550002222755554444466222000220555002220550444446666662220000557550033344477222522665444466663337446055504446550550550222633003330000666622044422755722270255566667555655007222777",
+},
+{
+ // 68
+ "4447222550002222755554444466",
+ "55033336666664464402256555005504450005446",
+ // 70
+ "550333226220044644550044755665500440006655556666655044744656550446470046",
+ "74444666000444665554444444",
+ "5555044474440004450000",
+ "4444722744446664464404446554440055655022227500544446044444446",
+ "4447222550002222755444446666055522275550005550022200222000222666",
+ // 75
+ "4444777444455550022220555044444446666622526644475533223220044022203336227555770550444660557220553302224477777550550550222635533000662220002275572227025555",
+ "5555000444555033022755644446666005204402266222003332222774440446665555005550335544444",
+ "5666500444555033022755555000444444444444444444444444444444"
+ "00222000220555002220550444446666662220000557550033344477222522665444466663337446055504446550550550222633003330000666622044422755722270255566667555655007222777",
+},
+{
+ // 68
+ "44472225500022227555544444664447222550002222755554444466",
+ "444722255000222275555444446655033336666664464402256555005504450005446",
+ // 70
+ "4447222550002222755554444466550333226220044644550044755665500440006655556666655044744656550446470046",
+ "550330227556444744446660004446655544444722255000222275555444446644444",
+ "55033022755644455550444744400044504447222550002222755554444466000",
+ "55033022755644444447227444466644444722255000222275555444446664404446554440055655022227500544446044444446",
+ "55033022755644444472244472225500022227555544444662550002222755444446666055522275550005550022200222000222666",
+ // 75
+ "44447774444555500222205550444444466666225266444755444722255000222275555444446633223220044022203336227555770550444660557220553302224477777550550550222635533000662220002275572227025555",
+ "5555500004445550330244472225500022227555544444662755644446666005204402266222003332222774440446665555005550335544444",
+ "56665004444447222550002222755554444466555033022755555000444444444444444444444444444444"
+ "004447222550002222755554444466222000220555002220550444446666662220000557550033344477222522665444466663337446055504446550550550222633003330000666622044422755722270255566667555655007222777",
+},
+{
+ // 68
+ "44472225500022227555544444664447222550002222755554444466",
+ "444722255000222275555444446655033336666664464402256555005504450005446",
+ // 70
+ "4447222550002222755554444466550333226220044644550044755665500440006655556666655044744656550446470046",
+ "550330227556444744446660004446655544444722255000222275555444446644444",
+ "55033022755644455550444744400044504447222550002222755554444466000",
+ "55033022755644444447227444466644444722255000222275555444446664404446554440055655022227500544446044444446",
+ "55033022755644444472244472225500022227555544444662550002222755444446666055522275550005550022200222000222666",
+ // 75
+ "44447774444555500222205550444444466666225266444755444722255000222275555444446633223220044022203336227555770550444660557220553302224477777550550550222635533000662220002275572227025555",
+ "5555500004445550330244472225500022227555544444662755644446666005204402266222003332222774440446665555005550335544444",
+ "56665004444447222550002222755554444466555033022755555000444444444444444444444444444444"
+ "004447222550002222755554444466222000220555002220550444446666662220000557550033344477222522665444466663337446055504446550550550222633003330000666622044422755722270255566667555655007222777",
+},
+{
+ // 68
+ "44472225500022227555544444664447222550002222755554444466",
+ "444722255000222275555444446655033336666664464402256555005504450005446",
+ // 70
+ "4447222550002222755554444466550333226220044644550044755665500440006655556666655044744656550446470046",
+ "550330227556444744446660004446655544444722255000222275555444446644444",
+ "55033022755644455550444744400044504447222550002222755554444466000",
+ "55033022755644444447227444466644444722255000222275555444446664404446554440055655022227500544446044444446",
+ "55033022755644444472244472225500022227555544444662550002222755444446666055522275550005550022200222000222666",
+ // 75
+ "44447774444555500222205550444444466666225266444755444722255000222275555444446633223220044022203336227555770550444660557220553302224477777550550550222635533000662220002275572227025555",
+ "5555500004445550330244472225500022227555544444662755644446666005204402266222003332222774440446665555005550335544444",
+ "56665004444447222550002222755554444466555033022755555000444444444444444444444444444444"
+ "004447222550002222755554444466222000220555002220550444446666662220000557550033344477222522665444466663337446055504446550550550222633003330000666622044422755722270255566667555655007222777",
+},
+
+};
+
+
const char *_textverbs[][6] = {
{
"look",
@@ -5249,4 +5334,22 @@ const char *_textverbs[][6] = {
};
+const char *_textmisc[][1] = {
+{
+ "HUNCHBACKED",
+},
+{
+ "jorobado",
+},
+{
+ "HUNCHBACKED",
+},
+{
+ "HUNCHBACKED",
+},
+{
+ "HUNCHBACKED",
+},
+};
+
} // End of namespace Drascula