aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2016-01-12 23:44:13 +0100
committerEugene Sandulenko2016-01-12 23:53:14 +0100
commit0c091f4faabc073785a8ffe34b92855a665b4dd0 (patch)
treedf073048c702eb328d4f700e4b0f9ee413f4c278
parentef6d8f8878eaf2e6fe88ee10f8eb182820b8eefb (diff)
downloadscummvm-rg350-0c091f4faabc073785a8ffe34b92855a665b4dd0.tar.gz
scummvm-rg350-0c091f4faabc073785a8ffe34b92855a665b4dd0.tar.bz2
scummvm-rg350-0c091f4faabc073785a8ffe34b92855a665b4dd0.zip
LURE: Add support for Russian version
-rw-r--r--engines/lure/detection.cpp16
-rw-r--r--engines/lure/game.cpp8
-rw-r--r--engines/lure/lure.h1
-rw-r--r--engines/lure/menu.cpp9
-rw-r--r--engines/lure/surface.cpp1
5 files changed, 32 insertions, 3 deletions
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},