aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPeter Kohaut2019-03-17 21:08:24 +0100
committerPeter Kohaut2019-03-17 22:01:16 +0100
commite7641d51b5ca6f46aa16105c31bd827ec72b3bf1 (patch)
treee7818dd6e156392797093707c30271a580c4eb9b /engines
parentbba7ab786bd47d259dac5254c03b1b0f56a7e890 (diff)
downloadscummvm-rg350-e7641d51b5ca6f46aa16105c31bd827ec72b3bf1.tar.gz
scummvm-rg350-e7641d51b5ca6f46aa16105c31bd827ec72b3bf1.tar.bz2
scummvm-rg350-e7641d51b5ca6f46aa16105c31bd827ec72b3bf1.zip
BLADERUNNER: Fixes for Russian version
Diffstat (limited to 'engines')
-rw-r--r--engines/bladerunner/bladerunner.cpp3
-rw-r--r--engines/bladerunner/bladerunner.h4
-rw-r--r--engines/bladerunner/debugger.cpp2
-rw-r--r--engines/bladerunner/detection_tables.h12
-rw-r--r--engines/bladerunner/script/ai/hanoi.cpp2
-rw-r--r--engines/bladerunner/ui/esper.cpp12
6 files changed, 28 insertions, 7 deletions
diff --git a/engines/bladerunner/bladerunner.cpp b/engines/bladerunner/bladerunner.cpp
index 36292d0a07..ef91fd8c19 100644
--- a/engines/bladerunner/bladerunner.cpp
+++ b/engines/bladerunner/bladerunner.cpp
@@ -130,6 +130,7 @@ BladeRunnerEngine::BladeRunnerEngine(OSystem *syst, const ADGameDescription *des
_crimesDatabase = nullptr;
+ _language = desc->language;
switch (desc->language) {
case Common::EN_ANY:
_languageCode = "E";
@@ -144,7 +145,7 @@ BladeRunnerEngine::BladeRunnerEngine(OSystem *syst, const ADGameDescription *des
_languageCode = "I";
break;
case Common::RU_RUS:
- _languageCode = "R";
+ _languageCode = "E"; // Russian version is built on top of English one
break;
case Common::ES_ESP:
_languageCode = "S";
diff --git a/engines/bladerunner/bladerunner.h b/engines/bladerunner/bladerunner.h
index 438b34ee07..3154ff800e 100644
--- a/engines/bladerunner/bladerunner.h
+++ b/engines/bladerunner/bladerunner.h
@@ -116,7 +116,9 @@ public:
bool _gameIsRunning;
bool _windowIsActive;
int _playerLosesControlCounter;
- Common::String _languageCode;
+
+ Common::String _languageCode;
+ Common::Language _language;
ActorDialogueQueue *_actorDialogueQueue;
ScreenEffects *_screenEffects;
diff --git a/engines/bladerunner/debugger.cpp b/engines/bladerunner/debugger.cpp
index 08c26e3355..d0cfca871a 100644
--- a/engines/bladerunner/debugger.cpp
+++ b/engines/bladerunner/debugger.cpp
@@ -130,7 +130,7 @@ bool Debugger::cmdAnimation(int argc, const char **argv) {
bool Debugger::cmdDraw(int argc, const char **argv) {
if (argc != 2) {
- debugPrintf("Enables debug rendering of actors, screen effect, fogs, lights, scene objects, obstacles, regsions, ui elements, walk boxes, waypoints, zbuffer or disables debug rendering.\n");
+ debugPrintf("Enables debug rendering of actors, screen effect, fogs, lights, scene objects, obstacles, regions, ui elements, walk boxes, waypoints, zbuffer or disables debug rendering.\n");
debugPrintf("Usage: %s (act | eff | fog | lit | obj | obstacles | reg | ui | walk | way | zbuf | reset)\n", argv[0]);
return true;
}
diff --git a/engines/bladerunner/detection_tables.h b/engines/bladerunner/detection_tables.h
index 5ee96c8c82..45a9b8108e 100644
--- a/engines/bladerunner/detection_tables.h
+++ b/engines/bladerunner/detection_tables.h
@@ -86,6 +86,18 @@ static const ADGameDescription gameDescriptions[] = {
GUIO2(GAMEOPTION_SITCOM, GAMEOPTION_SHORTY)
},
+ // BladeRunner (Russian - alternate version)
+ {
+ "bladerunner",
+ 0,
+ AD_ENTRY1s("STARTUP.MIX", "bf42af841d9f4b643665013a348c81e0", 2483111),
+ Common::RU_RUS,
+ Common::kPlatformWindows,
+ ADGF_NO_FLAGS,
+ GUIO2(GAMEOPTION_SITCOM, GAMEOPTION_SHORTY)
+ },
+
+
// BladeRunner (Spanish)
{
"bladerunner",
diff --git a/engines/bladerunner/script/ai/hanoi.cpp b/engines/bladerunner/script/ai/hanoi.cpp
index 56c39c2003..87003f8c54 100644
--- a/engines/bladerunner/script/ai/hanoi.cpp
+++ b/engines/bladerunner/script/ai/hanoi.cpp
@@ -291,7 +291,7 @@ bool AIScriptHanoi::GoalChanged(int currentGoalNumber, int newGoalNumber) {
Game_Flag_Set(kFlagNR03McCoyThrownOut);
AI_Countdown_Timer_Reset(kActorHanoi, 0);
Player_Loses_Control();
- Player_Set_Combat_Mode(false);
+ Player_Set_Combat_Mode(false); // this is missing in ITA & SPA versions of the game
Actor_Force_Stop_Walking(kActorMcCoy);
Actor_Change_Animation_Mode(kActorMcCoy, kAnimationModeDie);
Actor_Set_Invisible(kActorMcCoy, true);
diff --git a/engines/bladerunner/ui/esper.cpp b/engines/bladerunner/ui/esper.cpp
index a5d858e3a3..4fef77cf6d 100644
--- a/engines/bladerunner/ui/esper.cpp
+++ b/engines/bladerunner/ui/esper.cpp
@@ -1019,9 +1019,15 @@ void ESPER::drawVideoFrame(Graphics::Surface &surface) {
}
void ESPER::drawTextCoords(Graphics::Surface &surface) {
- _vm->_mainFont->drawColor(Common::String::format("ZM %04.0f", _zoom / _zoomMin * 2.0f ), surface, 155, 364, 0x001F);
- _vm->_mainFont->drawColor(Common::String::format("NS %04d", 12 * _viewport.top + 98), surface, 260, 364, 0x001F);
- _vm->_mainFont->drawColor(Common::String::format("EW %04d", 12 * _viewport.left + 167), surface, 364, 364, 0x001F);
+ if (_vm->_language == Common::RU_RUS) {
+ _vm->_mainFont->drawColor(Common::String::format("gh %04.0f", _zoom / _zoomMin * 2.0f ), surface, 155, 364, 0x001F);
+ _vm->_mainFont->drawColor(Common::String::format("dh %04d", 12 * _viewport.top + 98), surface, 260, 364, 0x001F);
+ _vm->_mainFont->drawColor(Common::String::format("uh %04d", 12 * _viewport.left + 167), surface, 364, 364, 0x001F);
+ } else {
+ _vm->_mainFont->drawColor(Common::String::format("ZM %04.0f", _zoom / _zoomMin * 2.0f ), surface, 155, 364, 0x001F);
+ _vm->_mainFont->drawColor(Common::String::format("NS %04d", 12 * _viewport.top + 98), surface, 260, 364, 0x001F);
+ _vm->_mainFont->drawColor(Common::String::format("EW %04d", 12 * _viewport.left + 167), surface, 364, 364, 0x001F);
+ }
}
void ESPER::drawMouse(Graphics::Surface &surface) {