From 0c091f4faabc073785a8ffe34b92855a665b4dd0 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Tue, 12 Jan 2016 23:44:13 +0100 Subject: LURE: Add support for Russian version --- engines/lure/detection.cpp | 16 ++++++++++++++++ engines/lure/game.cpp | 8 +++++++- engines/lure/lure.h | 1 + engines/lure/menu.cpp | 9 +++++++-- engines/lure/surface.cpp | 1 + 5 files changed, 32 insertions(+), 3 deletions(-) (limited to 'engines') diff --git a/engines/lure/detection.cpp b/engines/lure/detection.cpp index a87fcf6945..eff699b56b 100644 --- a/engines/lure/detection.cpp +++ b/engines/lure/detection.cpp @@ -46,6 +46,7 @@ LureLanguage LureEngine::getLureLanguage() const { case Common::FR_FRA: return LANG_FR_FRA; case Common::DE_DEU: return LANG_DE_DEU; case Common::ES_ESP: return LANG_ES_ESP; + case Common::RU_RUS: return LANG_RU_RUS; case Common::EN_ANY: return LANG_EN_ANY; case Common::UNK_LANG: return LANG_UNKNOWN; default: @@ -168,6 +169,21 @@ static const LureGameDescription gameDescriptions[] = { GF_FLOPPY, }, + // Russian OG Edition + { + { + "lure", + "", + AD_ENTRY1("disk1.vga", "04cdcaa9f0cadca492f7aff0c8adfe06"), + Common::RU_RUS, + Common::kPlatformDOS, + ADGF_NO_FLAGS, + GUIO0() + }, + GF_FLOPPY, + }, + + { AD_TABLE_END_MARKER, 0 } }; diff --git a/engines/lure/game.cpp b/engines/lure/game.cpp index efd33b6176..38ca0ba54f 100644 --- a/engines/lure/game.cpp +++ b/engines/lure/game.cpp @@ -1000,6 +1000,7 @@ bool Game::getYN() { if (l == Common::FR_FRA) y = Common::KEYCODE_o; else if ((l == Common::DE_DEU) || (l == Common::NL_NLD)) y = Common::KEYCODE_j; else if ((l == Common::ES_ESP) || (l == Common::IT_ITA)) y = Common::KEYCODE_s; + else if (l == Common::RU_RUS) y = Common::KEYCODE_l; bool vKbdFlag = g_system->hasFeature(OSystem::kFeatureVirtualKeyboard); if (!vKbdFlag) @@ -1018,7 +1019,12 @@ bool Game::getYN() { while (events.pollEvent()) { if (events.event().type == Common::EVENT_KEYDOWN) { Common::KeyCode key = events.event().kbd.keycode; - if ((key == y) || (key == Common::KEYCODE_n) || + if (l == Common::RU_RUS) { + if ((key == y) || (key == Common::KEYCODE_y) || (key == Common::KEYCODE_ESCAPE)) { + breakFlag = true; + result = key == y; + } + } else if ((key == y) || (key == Common::KEYCODE_n) || (key == Common::KEYCODE_ESCAPE)) { breakFlag = true; result = key == y; diff --git a/engines/lure/lure.h b/engines/lure/lure.h index 8a8299381e..b6eb9123ad 100644 --- a/engines/lure/lure.h +++ b/engines/lure/lure.h @@ -58,6 +58,7 @@ enum LureLanguage { LANG_DE_DEU = 7, LANG_ES_ESP = 17, LANG_EN_ANY = 3, + LANG_RU_RUS = 3, // English data has been overridden LANG_UNKNOWN = -1 }; diff --git a/engines/lure/menu.cpp b/engines/lure/menu.cpp index 8867e8a626..8672f5fa87 100644 --- a/engines/lure/menu.cpp +++ b/engines/lure/menu.cpp @@ -75,6 +75,7 @@ const MenuRecordLanguage menuList[] = { {Common::FR_FRA, {{40, 90, 3, 7}, {120, 195, 13, 11}, {232, 273, 23, 13}}}, {Common::DE_DEU, {{44, 95, 1, 11}, {135, 178, 8, 23}, {232, 273, 22, 15}}}, {Common::ES_ESP, {{40, 90, 3, 8}, {120, 195, 11, 13}, {208, 281, 17, 18}}}, + {Common::RU_RUS, {{40, 87, 3, 7}, {127, 179, 13, 12}, {224, 281, 27, 10}}}, {Common::UNK_LANG, {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}} }; @@ -378,9 +379,13 @@ uint16 PopupMenu::ShowItems(Action contextAction, uint16 roomNumber) { ++numItems; } - if (numItems == 0) + if (numItems == 0) { // No items, so add a 'nothing' to the statusLine - strcat(room.statusLine(), "(nothing)"); + if (LureEngine::getReference().getLanguage() == Common::RU_RUS) + strcat(room.statusLine(), "(ybxtuj ytn)"); + else + strcat(room.statusLine(), "(nothing)"); + } room.update(); screen.update(); diff --git a/engines/lure/surface.cpp b/engines/lure/surface.cpp index 17ac17814f..7cbef0fe85 100644 --- a/engines/lure/surface.cpp +++ b/engines/lure/surface.cpp @@ -1262,6 +1262,7 @@ static const ItemDesc copyProtectElements[] = { {Common::NL_NLD, 57, 40, 208, 40, WORDING_HEADER, 32}, {Common::ES_ESP, 57, 40, 208, 40, WORDING_HEADER, 32}, {Common::IT_ITA, 57, 40, 208, 40, WORDING_HEADER, 32}, + {Common::RU_RUS, 57, 40, 208, 40, WORDING_HEADER, 32}, {Common::UNK_LANG, 138, 168, 16, 8, NUMBER_HEADER, 32}, {Common::UNK_LANG, 145, 168, 16, 8, NUMBER_HEADER, 32}, -- cgit v1.2.3