diff options
| -rw-r--r-- | scumm/saveload.cpp | 4 | ||||
| -rw-r--r-- | scumm/scumm.h | 1 | ||||
| -rw-r--r-- | scumm/scummvm.cpp | 4 | ||||
| -rw-r--r-- | scumm/vars.cpp | 4 | 
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; | 
