diff options
Diffstat (limited to 'scumm/script.cpp')
| -rw-r--r-- | scumm/script.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/scumm/script.cpp b/scumm/script.cpp index c5c2452ddd..7909b464c1 100644 --- a/scumm/script.cpp +++ b/scumm/script.cpp @@ -460,8 +460,7 @@ int ScummEngine::readVar(uint var) { else copyprotbypassed = true; - if (var == VAR_TIMER) - debug(1, "readvar(%d)", var); + debugC(DEBUG_VARS, "readvar(%d)", var); if (var & 0x2000 && !(_features & GF_NEW_OPCODES)) { a = fetchScriptWord(); @@ -504,10 +503,16 @@ int ScummEngine::readVar(uint var) { if (!_copyProtection) { // INDY3, EGA Loom and, apparently, Zak256 check this // during the game... - if (_gameId == GID_INDY3 && (_features & GF_OLD_BUNDLE) && var == 94 && bit == 4) + if (_gameId == GID_INDY3 && (_features & GF_OLD_BUNDLE) && var == 94 && bit == 4) { return 0; - else if (_gameId == GID_ZAK256 && var == 151 && bit == 8) + } else if (var == 221 && bit == 14 && _gameId == GID_LOOM && (_features & GF_MACINTOSH)) { // For Mac Loom return 0; + // For all other Loom versions? PC and FM Towns at least in any event + } else if (_gameId == GID_LOOM && var == 214 && bit == 15) { // For PC Loom + return 0; + } else if (_gameId == GID_ZAK256 && var == 151 && bit == 8) { + return 0; + } } checkRange(_numVariables - 1, 0, var, "Variable %d out of range(rzb)"); @@ -540,8 +545,7 @@ int ScummEngine::readVar(uint var) { } void ScummEngine::writeVar(uint var, int value) { - if (var == VAR_TIMER) - debug(1, "writeVar(%d, %d)", var, value); + debugC(DEBUG_VARS, "writeVar(%d, %d)", var, value); if (!(var & 0xF000)) { checkRange(_numVariables - 1, 0, var, "Variable %d out of range(w)"); |
