aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
Diffstat (limited to 'scumm')
-rw-r--r--scumm/script.cpp16
-rw-r--r--scumm/script_v5.cpp2
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);
}