aboutsummaryrefslogtreecommitdiff
path: root/engines/bbvs
diff options
context:
space:
mode:
authorEugene Sandulenko2015-11-18 01:11:05 +0100
committerEugene Sandulenko2015-11-18 01:11:05 +0100
commit2a6cbd05f876fcab110238104a8917ff00409ff4 (patch)
tree6e6eabef9e9f3b22f9b3eb48377553c22ef31156 /engines/bbvs
parenta373dab5dc9531b6fda47edf4b63b69c1e74d4c1 (diff)
downloadscummvm-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.cpp8
-rw-r--r--engines/bbvs/bbvs.h7
-rw-r--r--engines/bbvs/detection.cpp2
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()
},