From e7641d51b5ca6f46aa16105c31bd827ec72b3bf1 Mon Sep 17 00:00:00 2001 From: Peter Kohaut Date: Sun, 17 Mar 2019 21:08:24 +0100 Subject: BLADERUNNER: Fixes for Russian version --- engines/bladerunner/bladerunner.cpp | 3 ++- engines/bladerunner/bladerunner.h | 4 +++- engines/bladerunner/debugger.cpp | 2 +- engines/bladerunner/detection_tables.h | 12 ++++++++++++ engines/bladerunner/script/ai/hanoi.cpp | 2 +- engines/bladerunner/ui/esper.cpp | 12 +++++++++--- 6 files changed, 28 insertions(+), 7 deletions(-) (limited to 'engines') 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) { -- cgit v1.2.3