aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
authorTravis Howell2005-11-15 22:50:14 +0000
committerTravis Howell2005-11-15 22:50:14 +0000
commit49db1e9447e494995b37e67b60deb7f756d48715 (patch)
tree0b357d76912ad5e0faa11093fb2508dd7f40723a /scumm
parent3a66c413e12bbdcf215c8d21f0c27c78ecab9e55 (diff)
downloadscummvm-rg350-49db1e9447e494995b37e67b60deb7f756d48715.tar.gz
scummvm-rg350-49db1e9447e494995b37e67b60deb7f756d48715.tar.bz2
scummvm-rg350-49db1e9447e494995b37e67b60deb7f756d48715.zip
SCUMM 6 games use VAR_VOICE_MODE too, based on Sam & Max win32 disasm.
Minor cleanup. svn-id: r19604
Diffstat (limited to 'scumm')
-rw-r--r--scumm/input.cpp2
-rw-r--r--scumm/saveload.cpp2
-rw-r--r--scumm/script_v72he.cpp2
-rw-r--r--scumm/vars.cpp30
4 files changed, 19 insertions, 17 deletions
diff --git a/scumm/input.cpp b/scumm/input.cpp
index be806ac66a..94a5437646 100644
--- a/scumm/input.cpp
+++ b/scumm/input.cpp
@@ -345,7 +345,7 @@ void ScummEngine::processKbd(bool smushMode) {
break;
}
- if (_version >= 7)
+ if (VAR_VOICE_MODE != 0xFF)
VAR(VAR_VOICE_MODE) = _voiceMode;
GUI::TimedMessageDialog dialog(buf, 1500);
diff --git a/scumm/saveload.cpp b/scumm/saveload.cpp
index 377a4d49d5..aab059cc36 100644
--- a/scumm/saveload.cpp
+++ b/scumm/saveload.cpp
@@ -401,7 +401,7 @@ bool ScummEngine::loadState(int slot, bool compat) {
VAR(VAR_ROOM_FLAG) = 1;
// Sync with current config setting
- if (_version >= 7)
+ if (VAR_VOICE_MODE != 0xFF)
VAR(VAR_VOICE_MODE) = ConfMan.getBool("subtitles");
CHECK_HEAP
diff --git a/scumm/script_v72he.cpp b/scumm/script_v72he.cpp
index d3dd4fd9e9..207d60bf97 100644
--- a/scumm/script_v72he.cpp
+++ b/scumm/script_v72he.cpp
@@ -2218,6 +2218,7 @@ void ScummEngine_v72he::o72_writeINI() {
value = pop();
copyScriptString(option, sizeof(option));
ConfMan.set((char *)option, value);
+ debug(0, "o72_writeINI: Option %s Value %d", option, value);
break;
case 77: // HE 100
case 7: // string
@@ -2237,6 +2238,7 @@ void ScummEngine_v72he::o72_writeINI() {
return;
ConfMan.set((char *)option, (char *)string);
+ debug(0, "o72_writeINI: Option %s String %s", option);
break;
default:
error("o72_writeINI: default type %d", type);
diff --git a/scumm/vars.cpp b/scumm/vars.cpp
index eeadbc0da5..69ed3c7cee 100644
--- a/scumm/vars.cpp
+++ b/scumm/vars.cpp
@@ -176,27 +176,22 @@ void ScummEngine_v6::setupScummVars() {
// Many vars are the same as in V5 & V6 games, so just call the inherited method first
ScummEngine::setupScummVars();
- if (_heversion == 0) {
- VAR_V6_SOUNDMODE = 9;
- }
-
VAR_ROOM_WIDTH = 41;
VAR_ROOM_HEIGHT = 54;
- if (_heversion >= 60 && _heversion <= 61) {
+ if (_heversion >= 70) {
+ VAR_SUBTITLES = 60;
+ } else if (_heversion >= 60) {
VAR_NOSUBTITLES = 60;
} else {
- VAR_SUBTITLES = 60;
+ VAR_VOICE_MODE = 60; // 0 is voice, 1 is voice+text, 2 is text only
+ VAR_SAVELOAD_SCRIPT = 61;
+ VAR_SAVELOAD_SCRIPT2 = 62;
}
VAR_LEFTBTN_HOLD = 74;
VAR_RIGHTBTN_HOLD = 75;
- if (_heversion == 0) {
- VAR_SAVELOAD_SCRIPT = 61;
- VAR_SAVELOAD_SCRIPT2 = 62;
- }
-
VAR_V6_EMSSPACE = 76;
VAR_RANDOM_NR = 118;
@@ -207,7 +202,10 @@ void ScummEngine_v6::setupScummVars() {
VAR_TIMEDATE_MINUTE = 126;
// Sam & Max specific
- VAR_CHARSET_MASK = 123;
+ if (_gameId == GID_SAMNMAX) {
+ VAR_V6_SOUNDMODE = 9;
+ VAR_CHARSET_MASK = 123;
+ }
}
#ifndef DISABLE_HE
@@ -299,8 +297,8 @@ void ScummEngine_v72he::setupScummVars() {
VAR_NUM_SOUND_CHANNELS = 56;
}
if (_heversion >= 80)
- VAR_PLATFORM = 78; // 1 is PC, 2 is Macintosh
- VAR_WINDOWS_VERSION = 79; // 31 is Windows 3.1, 40 is Windows 95+
+ VAR_PLATFORM = 78; // 1 is PC, 2 is Macintosh
+ VAR_WINDOWS_VERSION = 79; // 31 is Windows 3.1, 40 is Windows 95+
VAR_CURRENT_CHARSET = 80;
VAR_KEY_STATE = 86;
VAR_NUM_SOUND_CHANNELS = 88;
@@ -417,7 +415,9 @@ void ScummEngine_v7::setupScummVars() {
VAR_FADE_DELAY = 117;
// Full Throttle specific
- VAR_CHARSET_MASK = 119;
+ if (_gameId == GID_FT) {
+ VAR_CHARSET_MASK = 119;
+ }
VAR_VIDEONAME = 123;