From 2a6cbd05f876fcab110238104a8917ff00409ff4 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Wed, 18 Nov 2015 01:11:05 +0100 Subject: BBVS: Since we're using GUI for menus, switch iGUI to the relevant language --- engines/bbvs/bbvs.cpp | 8 ++++++++ engines/bbvs/bbvs.h | 7 +++++++ engines/bbvs/detection.cpp | 2 +- 3 files changed, 16 insertions(+), 1 deletion(-) (limited to 'engines/bbvs') diff --git a/engines/bbvs/bbvs.cpp b/engines/bbvs/bbvs.cpp index 11e4b6cea7..1d668f9c34 100644 --- a/engines/bbvs/bbvs.cpp +++ b/engines/bbvs/bbvs.cpp @@ -39,6 +39,8 @@ #include "common/error.h" #include "common/fs.h" #include "common/timer.h" +#include "common/translation.h" +#include "engines/advancedDetector.h" #include "engines/util.h" #include "graphics/cursorman.h" #include "graphics/font.h" @@ -116,9 +118,15 @@ BbvsEngine::BbvsEngine(OSystem *syst, const ADGameDescription *gd) : Engine::syncSoundSettings(); + _oldGUILanguage = TransMan.getCurrentLanguage(); + + if (gd->flags & GF_GUILANGSWITCH) + TransMan.setLanguage(getLanguageLocale(gd->language)); } BbvsEngine::~BbvsEngine() { + if (TransMan.getCurrentLanguage() != _oldGUILanguage) + TransMan.setLanguage(_oldGUILanguage); delete _random; diff --git a/engines/bbvs/bbvs.h b/engines/bbvs/bbvs.h index a2e08c84e8..d098aaf90b 100644 --- a/engines/bbvs/bbvs.h +++ b/engines/bbvs/bbvs.h @@ -62,6 +62,10 @@ class SoundMan; #define BBVS_SAVEGAME_VERSION 0 +enum { + GF_GUILANGSWITCH = (1 << 0) // If GUI language switch is required for menus +}; + enum { kVerbLook = 0, kVerbUse = 1, @@ -227,8 +231,11 @@ public: void setNewSceneNum(int newSceneNum); const Common::String getTargetName() { return _targetName; } const ADGameDescription *_gameDescription; + private: Graphics::PixelFormat _pixelFormat; + Common::String _oldGUILanguage; + public: Common::RandomSource *_random; diff --git a/engines/bbvs/detection.cpp b/engines/bbvs/detection.cpp index b6f56893e3..5aad1136b3 100644 --- a/engines/bbvs/detection.cpp +++ b/engines/bbvs/detection.cpp @@ -52,7 +52,7 @@ static const ADGameDescription gameDescriptions[] = { AD_ENTRY1s("vspr0001.vnm", "91c76b1048f93208cd7b1a05ebccb408", 1176976), Common::RU_RUS, Common::kPlatformWindows, - ADGF_NO_FLAGS, + GF_GUILANGSWITCH, GUIO0() }, -- cgit v1.2.3