From 55e02b5b54fc498ebbb56b3294163fe5b1a27238 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Tue, 30 Dec 2003 05:39:57 +0000 Subject: [PATCH] Give HE games their own IDs. Add hack to allow puttputt to work for now. Increase _drawObjectQue[] for law mower mini game in puttputt svn-id: r12026 --- scumm/script_v6.cpp | 4 ++++ scumm/scumm.h | 4 +++- scumm/scummvm.cpp | 12 ++++++------ 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/scumm/script_v6.cpp b/scumm/script_v6.cpp index 13639f09ded..73ec5bb1e03 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 d14d07f48d0..ae33c3a2acf 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 0281ac37277..c985615e00f 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},