diff options
Diffstat (limited to 'scumm')
-rw-r--r-- | scumm/script_v2.cpp | 11 | ||||
-rw-r--r-- | scumm/scummvm.cpp | 6 |
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) |