aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2003-10-29 06:36:06 +0000
committerTravis Howell2003-10-29 06:36:06 +0000
commit494d5269a2a0274a58e6bb30f211383cdaf5465f (patch)
treeb064ed5c07ad075e685e0b45d80ac192baeaba08
parentefa51b6013eb3d95cb86e430e4158cf5821cd3a9 (diff)
downloadscummvm-rg350-494d5269a2a0274a58e6bb30f211383cdaf5465f.tar.gz
scummvm-rg350-494d5269a2a0274a58e6bb30f211383cdaf5465f.tar.bz2
scummvm-rg350-494d5269a2a0274a58e6bb30f211383cdaf5465f.zip
Add copy protection bypass for Zak McKracken (EGA) since there was no check in the version included with SelectWare Classic Collection.
svn-id: r11000
-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];
}