diff options
-rw-r--r-- | scumm/script_v6.cpp | 4 | ||||
-rw-r--r-- | scumm/scumm.h | 4 | ||||
-rw-r--r-- | scumm/scummvm.cpp | 12 |
3 files changed, 13 insertions, 7 deletions
diff --git a/scumm/script_v6.cpp b/scumm/script_v6.cpp index 13639f09de..73ec5bb1e0 100644 --- a/scumm/script_v6.cpp +++ b/scumm/script_v6.cpp @@ -1930,6 +1930,10 @@ void ScummEngine_v6::o6_verbOps() { case 139: // SO_VERB_IMAGE_IN_ROOM b = pop(); a = pop(); + // HACK Prevent puttmoon from loading no existant objects. + if ((_gameId == GID_PUTTPUTT) && (a < 700 || a > 900)) + break; + if (slot && a != vs->imgindex) { setVerbObject(b, a, slot); vs->type = kImageVerbType; diff --git a/scumm/scumm.h b/scumm/scumm.h index d14d07f48d..ae33c3a2ac 100644 --- a/scumm/scumm.h +++ b/scumm/scumm.h @@ -191,6 +191,8 @@ enum ScummGameId { GID_ZAK, GID_PUTTPUTT, GID_PUTTDEMO, + GID_PUTTMOON, + GID_FBEAR, GID_PJSDEMO, GID_MONKEY_SEGA }; @@ -911,7 +913,7 @@ protected: void removeBlastObject(BlastObject *eo); int _drawObjectQueNr; - byte _drawObjectQue[200]; + byte _drawObjectQue[700]; byte _palManipStart, _palManipEnd; uint16 _palManipCounter; byte *_palManipPalette; diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp index 0281ac3727..c985615e00 100644 --- a/scumm/scummvm.cpp +++ b/scumm/scummvm.cpp @@ -158,17 +158,17 @@ static const ScummGameSettings scumm_settings[] = { GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0}, {"puttdemo", "Putt-Putt Joins The Parade (DOS Demo)", GID_PUTTDEMO, 6, MDT_ADLIB | MDT_NATIVE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS, 0}, - {"moondemo", "Putt-Putt Goes To The Moon (DOS Demo)", GID_PUTTPUTT, 6, MDT_ADLIB | MDT_NATIVE, + {"moondemo", "Putt-Putt Goes To The Moon (DOS Demo)", GID_PUTTMOON, 6, MDT_ADLIB | MDT_NATIVE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0}, - {"puttmoon", "Putt-Putt Goes To The Moon (DOS)", GID_PUTTPUTT, 6, MDT_ADLIB | MDT_NATIVE, + {"puttmoon", "Putt-Putt Goes To The Moon (DOS)", GID_PUTTMOON, 6, MDT_ADLIB | MDT_NATIVE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0}, - {"funpack", "Putt-Putt's Fun Pack", GID_PUTTPUTT, 6, MDT_ADLIB | MDT_NATIVE, + {"funpack", "Putt-Putt's Fun Pack", GID_PUTTMOON, 6, MDT_ADLIB | MDT_NATIVE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0}, - {"fbpack", "Fatty Bear's Fun Pack", GID_PUTTPUTT, 6, MDT_ADLIB | MDT_NATIVE, + {"fbpack", "Fatty Bear's Fun Pack", GID_FBEAR, 6, MDT_ADLIB | MDT_NATIVE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0}, - {"fbear", "Fatty Bear's Birthday Surprise (DOS)", GID_PUTTPUTT, 6, MDT_ADLIB | MDT_NATIVE, + {"fbear", "Fatty Bear's Birthday Surprise (DOS)", GID_FBEAR, 6, MDT_ADLIB | MDT_NATIVE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0}, - {"fbdemo", "Fatty Bear's Birthday Surprise (DOS Demo)", GID_PUTTPUTT, 6, MDT_ADLIB | MDT_NATIVE, + {"fbdemo", "Fatty Bear's Birthday Surprise (DOS Demo)", GID_FBEAR, 6, MDT_ADLIB | MDT_NATIVE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0}, {"tentacle", "Day Of The Tentacle", GID_TENTACLE, 6, /*MDT_PCSPK |*/ MDT_ADLIB | MDT_NATIVE, GF_NEW_OPCODES | GF_USE_KEY, 0}, |