aboutsummaryrefslogtreecommitdiff
path: root/scumm/script.cpp
diff options
context:
space:
mode:
authorTravis Howell2005-05-09 02:38:58 +0000
committerTravis Howell2005-05-09 02:38:58 +0000
commit69d000d2d04bf55b2c13fc9f7cc5b201385fdb87 (patch)
treef7101a79cf18eff34779f97e596002a45bb5b0d7 /scumm/script.cpp
parent51b92411e2dade3bcc40b619032a058b25ae3120 (diff)
downloadscummvm-rg350-69d000d2d04bf55b2c13fc9f7cc5b201385fdb87.tar.gz
scummvm-rg350-69d000d2d04bf55b2c13fc9f7cc5b201385fdb87.tar.bz2
scummvm-rg350-69d000d2d04bf55b2c13fc9f7cc5b201385fdb87.zip
All SCUMM6 games use VAR_SUBTITLES, not VAR_NOSUBTITLES.
Cleanup. svn-id: r17989
Diffstat (limited to 'scumm/script.cpp')
-rw-r--r--scumm/script.cpp33
1 files changed, 18 insertions, 15 deletions
diff --git a/scumm/script.cpp b/scumm/script.cpp
index 809ecea2c4..03ad159690 100644
--- a/scumm/script.cpp
+++ b/scumm/script.cpp
@@ -505,12 +505,11 @@ int ScummEngine::readVar(uint var) {
}
}
- if (var == VAR_NOSUBTITLES) {
- if (_gameId == GID_LOOM256 || _heversion >= 60)
- return !ConfMan.getBool("subtitles");
- else if (_gameId == GID_SAMNMAX)
- // Used as VAR_SUBTITLES in Sam & Max during Conroy Bumpus song
- return ConfMan.getBool("subtitles");
+ if (VAR_SUBTITLES != 0xFF && var == VAR_SUBTITLES) {
+ return ConfMan.getBool("subtitles");
+ }
+ if (VAR_SUBTITLES != 0xFF && var == VAR_NOSUBTITLES) {
+ return !ConfMan.getBool("subtitles");
}
checkRange(_numVariables - 1, 0, var, "Variable %d out of range(r)");
@@ -574,20 +573,24 @@ void ScummEngine::writeVar(uint var, int value) {
if (!(var & 0xF000)) {
checkRange(_numVariables - 1, 0, var, "Variable %d out of range(w)");
+ if (VAR_SUBTITLES != 0xFF && var == VAR_SUBTITLES) {
+ // Ignore default setting in HE60/61 games
+ if (_heversion <= 61 && vm.slot[_currentScript].number == 1)
+ return;
+ assert(value == 0 || value == 1);
+ ConfMan.set("subtitles", value);
+ }
+ if (VAR_NOSUBTITLES != 0xFF && var == VAR_NOSUBTITLES) {
+ assert(value == 0 || value == 1);
+ ConfMan.set("subtitles", !value);
+ }
+
if (var == VAR_CHARINC && ConfMan.hasKey("talkspeed")) {
uint talkspeed = ConfMan.getInt("talkspeed");
if (talkspeed <= 9)
VAR(VAR_CHARINC) = talkspeed;
- } else
+ } else {
_scummVars[var] = value;
-
- // stay in sync with loom cd subtitle var
- if ((_gameId == GID_LOOM256 || _heversion >= 60) && var == VAR_NOSUBTITLES) {
- assert(value == 0 || value == 1);
- if (_heversion <= 61 && vm.slot[_currentScript].number == 1)
- value = !ConfMan.getBool("subtitles");
- else
- ConfMan.set("subtitles", (value == 0));
}
if ((_varwatch == (int)var) || (_varwatch == 0)) {