aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README1
-rw-r--r--scumm/script_v2.cpp13
2 files changed, 14 insertions, 0 deletions
diff --git a/README b/README
index d13fbcd368..2069a3addf 100644
--- a/README
+++ b/README
@@ -170,6 +170,7 @@ Maniac Mansion
Monkey Island 1 (EGA)
Monkey Island 1 (VGA)
Monkey Island 2
+Zak McKracken (EGA)
Zak McKracken (256 color FM Towns version)
Beneath a Steel Sky (bypassed with permission from Revolution)
diff --git a/scumm/script_v2.cpp b/scumm/script_v2.cpp
index 7a1e5e51ae..8a5f638ac2 100644
--- a/scumm/script_v2.cpp
+++ b/scumm/script_v2.cpp
@@ -428,12 +428,25 @@ void ScummEngine_v2::decodeParseString() {
actorTalk();
}
+#ifndef BYPASS_COPY_PROT
+#define BYPASS_COPY_PROT
+#endif
+
int ScummEngine_v2::readVar(uint var) {
if (var >= 14 && var <= 16)
var = _scummVars[var];
checkRange(_numVariables - 1, 0, var, "Variable %d out of range(r)");
debug(6, "readvar(%d) = %d", var, _scummVars[var]);
+
+#if defined(BYPASS_COPY_PROT)
+ // The Enchanced version of Zak McKracken included in the
+ // SelectWare Classic Collection bundle has no copy protection
+ // and doesn't include the codes.
+ if (_gameId == GID_ZAK && var == 244)
+ return 0;
+#endif
+
return _scummVars[var];
}