diff options
Diffstat (limited to 'engines/drascula')
-rw-r--r-- | engines/drascula/animation.cpp | 86 | ||||
-rw-r--r-- | engines/drascula/drascula.cpp | 2 | ||||
-rw-r--r-- | engines/drascula/drascula.h | 12 | ||||
-rw-r--r-- | engines/drascula/texts.cpp | 103 |
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 |