diff options
author | Eugene Sandulenko | 2015-11-18 01:11:05 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2015-11-18 01:11:05 +0100 |
commit | 2a6cbd05f876fcab110238104a8917ff00409ff4 (patch) | |
tree | 6e6eabef9e9f3b22f9b3eb48377553c22ef31156 /engines/bbvs | |
parent | a373dab5dc9531b6fda47edf4b63b69c1e74d4c1 (diff) | |
download | scummvm-rg350-2a6cbd05f876fcab110238104a8917ff00409ff4.tar.gz scummvm-rg350-2a6cbd05f876fcab110238104a8917ff00409ff4.tar.bz2 scummvm-rg350-2a6cbd05f876fcab110238104a8917ff00409ff4.zip |
BBVS: Since we're using GUI for menus, switch iGUI to the relevant language
Diffstat (limited to 'engines/bbvs')
-rw-r--r-- | engines/bbvs/bbvs.cpp | 8 | ||||
-rw-r--r-- | engines/bbvs/bbvs.h | 7 | ||||
-rw-r--r-- | engines/bbvs/detection.cpp | 2 |
3 files changed, 16 insertions, 1 deletions
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 @@ -63,6 +63,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, kVerbTalk = 2, @@ -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() }, |