aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
Diffstat (limited to 'scumm')
-rw-r--r--scumm/script_v2.cpp11
-rw-r--r--scumm/scummvm.cpp6
2 files changed, 13 insertions, 4 deletions
diff --git a/scumm/script_v2.cpp b/scumm/script_v2.cpp
index 821c5a7f3d..3492163b52 100644
--- a/scumm/script_v2.cpp
+++ b/scumm/script_v2.cpp
@@ -689,6 +689,12 @@ void Scumm_v2::o2_actorSet() {
i = fetchScriptByte();
a->palette[i] = arg;
a->needRedraw = true;
+
+ // FIXME: Hack for V1 Zak
+ if ((_gameId == GID_ZAK) && (_version == 1)) {
+ fetchScriptByte();
+ fetchScriptByte();
+ }
break;
case 3: // Actor Name
@@ -815,8 +821,9 @@ void Scumm_v2::o2_verbOps() {
int y = fetchScriptByte() << 3;
slot = getVarOrDirectByte(0x80) + 1;
/* int unk = */ fetchScriptByte(); // ?
-
- if (_version == 1) // V1 Verbs are positioned relative to the 'verb area' - under the sentence
+
+ // V1 Maniac verbs are relative to the 'verb area' - under the sentence
+ if ((_gameId == GID_MANIAC) && (_version == 1))
y+=9;
//printf("o2_verbOps: verb = %d, slot = %d, x = %d, y = %d, unk = %d, name = %s\n",
diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp
index e149ecc0e0..c4498bc30a 100644
--- a/scumm/scummvm.cpp
+++ b/scumm/scummvm.cpp
@@ -780,7 +780,7 @@ void Scumm::scummInit() {
tempMusic = 0;
debug(9, "scummInit");
- if (_version == 1) {
+ if ((_gameId == GID_MANIAC) && (_version == 1)) {
initScreens(0, 16, _screenWidth, 152);
} else if (_version >= 7) {
initScreens(0, 0, _screenWidth, _screenHeight);
@@ -2525,7 +2525,9 @@ void Scumm::launch() {
_numActors = 30;
else if (_gameId == GID_MANIAC)
_numActors = 25;
- else
+ else if ((_gameId == GID_ZAK) && (_version == 1))
+ _numActors = 14; // FIXME: Verify this
+ else
_numActors = 13;
if (_version >= 7)