diff options
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/script.cpp | 16 | ||||
-rw-r--r-- | scumm/script_v5.cpp | 2 |
2 files changed, 12 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)"); diff --git a/scumm/script_v5.cpp b/scumm/script_v5.cpp index 15c7b0a75b..4096a0ad10 100644 --- a/scumm/script_v5.cpp +++ b/scumm/script_v5.cpp @@ -2200,6 +2200,7 @@ void ScummEngine_v5::o5_startScript() { getWordVararg(data); +/* if (!_copyProtection) { // Method used by original games to skip copy protection scheme if (_gameId == GID_LOOM && _currentRoom == 69 && script == 201) @@ -2207,6 +2208,7 @@ void ScummEngine_v5::o5_startScript() { else if ((_gameId == GID_MONKEY_VGA || _gameId == GID_MONKEY_EGA) && script == 152) return; } +*/ runScript(script, (op & 0x20) != 0, (op & 0x40) != 0, data); } |