diff options
author | Travis Howell | 2005-05-09 02:38:58 +0000 |
---|---|---|
committer | Travis Howell | 2005-05-09 02:38:58 +0000 |
commit | 69d000d2d04bf55b2c13fc9f7cc5b201385fdb87 (patch) | |
tree | f7101a79cf18eff34779f97e596002a45bb5b0d7 /scumm/script.cpp | |
parent | 51b92411e2dade3bcc40b619032a058b25ae3120 (diff) | |
download | scummvm-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.cpp | 33 |
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)) { |