aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2004-02-22 03:08:18 +0000
committerTravis Howell2004-02-22 03:08:18 +0000
commit42028e984fa70c7fbb4536f1146161942e6fac40 (patch)
tree160269bf66de81fe8d6804f807f2ad339aa4e8a6
parentff934471084e4c4daec06527583dcd9d4b519b84 (diff)
downloadscummvm-rg350-42028e984fa70c7fbb4536f1146161942e6fac40.tar.gz
scummvm-rg350-42028e984fa70c7fbb4536f1146161942e6fac40.tar.bz2
scummvm-rg350-42028e984fa70c7fbb4536f1146161942e6fac40.zip
Enable and use VAR_VOICE_MODE
svn-id: r12979
-rw-r--r--scumm/saveload.cpp4
-rw-r--r--scumm/scumm.h1
-rw-r--r--scumm/scummvm.cpp4
-rw-r--r--scumm/vars.cpp4
4 files changed, 11 insertions, 2 deletions
diff --git a/scumm/saveload.cpp b/scumm/saveload.cpp
index c7316fae56..e4159a3ed4 100644
--- a/scumm/saveload.cpp
+++ b/scumm/saveload.cpp
@@ -200,6 +200,10 @@ bool ScummEngine::loadState(int slot, bool compat, SaveFileManager *mgr) {
_scummVars[VAR_CAMERA_ACCEL_Y] = _scummVars[110];
}
+ // Sync with current config setting
+ if (_version >= 7)
+ VAR(VAR_VOICE_MODE) = ConfMan.getBool("subtitles");
+
// We could simply dirty colours 0-15 for 16-colour games -- nowadays
// they handle their palette pretty much like the more recent games
// anyway. There was a time, though, when re-initializing was necessary
diff --git a/scumm/scumm.h b/scumm/scumm.h
index d3794445d2..e64c033a0c 100644
--- a/scumm/scumm.h
+++ b/scumm/scumm.h
@@ -1223,6 +1223,7 @@ public:
byte VAR_CLICK_AREA;
byte VAR_BLAST_ABOVE_TEXT;
+ byte VAR_VOICE_MODE;
};
// This is a constant lookup table of reverse bit masks
diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp
index c6b747ee5a..50e4ffbac4 100644
--- a/scumm/scummvm.cpp
+++ b/scumm/scummvm.cpp
@@ -618,6 +618,7 @@ ScummEngine::ScummEngine(GameDetector *detector, OSystem *syst, const ScummGameS
VAR_CLICK_AREA = 0xFF;
VAR_BLAST_ABOVE_TEXT = 0xFF;
+ VAR_VOICE_MODE = 0xFF;
// Use g_scumm from error() ONLY
g_scumm = this;
@@ -1200,6 +1201,9 @@ void ScummEngine::initScummVars() {
VAR(VAR_CURRENT_LIGHTS) = LIGHTMODE_actor_base | LIGHTMODE_actor_color | LIGHTMODE_screen;
}
+ if (_version >= 7)
+ VAR(VAR_VOICE_MODE) = ConfMan.getBool("subtitles");
+
VAR(VAR_CHARINC) = 4;
talkingActor(0);
}
diff --git a/scumm/vars.cpp b/scumm/vars.cpp
index df6b9109f1..5a12cc2291 100644
--- a/scumm/vars.cpp
+++ b/scumm/vars.cpp
@@ -194,7 +194,7 @@ void ScummEngine_v7::setupScummVars() {
VAR_PERFORMANCE_2 = 27;
VAR_GAME_LOADED = 29;
VAR_V6_EMSSPACE = 32;
- //VAR_VOICE_MODE = 33; // 0 is voice, 1 is voice+text, 2 is text only
+ VAR_VOICE_MODE = 33; // 0 is voice, 1 is voice+text, 2 is text only
VAR_RANDOM_NR = 34;
VAR_NEW_ROOM = 35;
VAR_WALKTO_OBJ = 36;
@@ -292,7 +292,7 @@ void ScummEngine_v8::setupScummVars() {
VAR_NEW_ROOM = 32;
VAR_WALKTO_OBJ = 33;
- //VAR_VOICE_MODE = 39; // 0 is voice, 1 is voice+text, 2 is text only
+ VAR_VOICE_MODE = 39; // 0 is voice, 1 is voice+text, 2 is text only
VAR_GAME_LOADED = 40;
VAR_LANGUAGE = 41;