aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/actor.cpp10
-rw-r--r--scumm/akos.cpp12
-rw-r--r--scumm/costume.cpp2
-rw-r--r--scumm/cursor.cpp3
-rw-r--r--scumm/gfx.cpp2
-rw-r--r--scumm/object.cpp4
-rw-r--r--scumm/resource.cpp4
-rw-r--r--scumm/script.cpp6
-rw-r--r--scumm/script_v6.cpp26
-rw-r--r--scumm/scumm.cpp237
-rw-r--r--scumm/sound.cpp21
-rw-r--r--scumm/vars.cpp4
12 files changed, 160 insertions, 171 deletions
diff --git a/scumm/actor.cpp b/scumm/actor.cpp
index af5aa71b17..337ab945d0 100644
--- a/scumm/actor.cpp
+++ b/scumm/actor.cpp
@@ -119,7 +119,7 @@ void Actor::initActor(int mode) {
_forceClip = (_vm->_version >= 7) ? 100 : 0;
_ignoreTurns = false;
- if (_vm->_features & GF_HUMONGOUS)
+ if (_vm->_heversion >= 61)
_flip = 0;
_talkFrequency = 256;
@@ -1368,11 +1368,11 @@ void ScummEngine::stopTalk() {
a->runActorTalkScript(a->_talkStopFrame);
_useTalkAnims = false;
}
- if (_version <= 7 && !(_features & GF_HUMONGOUS))
+ if (_version <= 7 && _heversion == 0)
setTalkingActor(0xFF);
a->_heTalking = false;
}
- if (_version == 8 || _features & GF_HUMONGOUS)
+ if (_version == 8 || _heversion >= 60)
setTalkingActor(0);
if (_version == 8)
VAR(VAR_HAVE_MSG) = 0;
@@ -1383,7 +1383,7 @@ void ScummEngine::stopTalk() {
void Actor::setActorCostume(int c) {
int i;
- if ((_vm->_features & GF_HUMONGOUS) && (c == -1 || c == -2)) {
+ if (_vm->_heversion >= 61 && (c == -1 || c == -2)) {
_heSkipLimbs = (c == -1);
_needRedraw = true;
return;
@@ -1391,7 +1391,7 @@ void Actor::setActorCostume(int c) {
// Based on disassembly. It seems that high byte is not used at all, though
// it is attached to all horizontally flipped object, like left eye.
- if (_vm->_heversion == 60)
+ if (_vm->_heversion == 61)
c &= 0xff;
_costumeNeedsInit = true;
diff --git a/scumm/akos.cpp b/scumm/akos.cpp
index d0391c2e39..9bda00fce9 100644
--- a/scumm/akos.cpp
+++ b/scumm/akos.cpp
@@ -742,10 +742,10 @@ byte AkosRenderer::codec1(int xmoveCur, int ymoveCur) {
byte drawFlag = 1;
Codec1 v1;
- const int scaletableSize = (_vm->_features & GF_HUMONGOUS) ? 128 : 384;
+ const int scaletableSize = (_vm->_heversion >= 61) ? 128 : 384;
/* implement custom scale table */
- v1.scaletable = (_vm->_features & GF_HUMONGOUS) ? oldScaleTable : defaultScaleTable;
+ v1.scaletable = (_vm->_heversion >= 61) ? oldScaleTable : defaultScaleTable;
if (_vm->VAR_CUSTOMSCALETABLE != 0xFF && _vm->res.isResourceLoaded(rtString, _vm->VAR(_vm->VAR_CUSTOMSCALETABLE))) {
v1.scaletable = _vm->getStringAddressVar(_vm->VAR_CUSTOMSCALETABLE);
}
@@ -1120,7 +1120,7 @@ byte AkosRenderer::codec16(int xmoveCur, int ymoveCur) {
Common::Rect clip;
int32 maxw, maxh;
int32 skip_x, skip_y, cur_x, cur_y;
- byte transparency = (_vm->_features & GF_HUMONGOUS) ? palette[0] : 255;
+ byte transparency = (_vm->_heversion >= 61) ? palette[0] : 255;
if (_actorHitMode) {
warning("codec16: _actorHitMode not yet implemented");
@@ -1355,7 +1355,7 @@ bool ScummEngine::akos_increaseAnim(Actor *a, int chan, const byte *aksq, const
curpos += 3;
break;
case AKC_SoundStuff:
- if (_features & GF_HUMONGOUS)
+ if (_heversion >= 61)
curpos += 6;
else
curpos += 8;
@@ -1472,7 +1472,7 @@ bool ScummEngine::akos_increaseAnim(Actor *a, int chan, const byte *aksq, const
continue;
case AKC_CmdQue3:
case AKC_C042:
- if (_features & GF_HUMONGOUS)
+ if (_heversion >= 61)
tmp = GB(2);
else
tmp = GB(2) - 1;
@@ -1498,7 +1498,7 @@ bool ScummEngine::akos_increaseAnim(Actor *a, int chan, const byte *aksq, const
akos_queCommand(5, a, GB(2), 0);
continue;
case AKC_SoundStuff:
- if (_features & GF_HUMONGOUS)
+ if (_heversion >= 61)
continue;
tmp = GB(2) - 1;
if (tmp >= 8)
diff --git a/scumm/costume.cpp b/scumm/costume.cpp
index 76399339e7..1004799274 100644
--- a/scumm/costume.cpp
+++ b/scumm/costume.cpp
@@ -945,7 +945,7 @@ byte ClassicCostumeLoader::increaseAnim(Actor *a, int slot) {
} else {
if (_vm->_version >= 6) {
if (nc >= 0x71 && nc <= 0x78) {
- uint sound = (_vm->_features & GF_HUMONGOUS) ? 0x78 - nc : nc - 0x71;
+ uint sound = (_vm->_heversion == 60) ? 0x78 - nc : nc - 0x71;
_vm->_sound->addSoundToQueue2(a->_sound[sound]);
if (a->_cost.start[slot] != end)
continue;
diff --git a/scumm/cursor.cpp b/scumm/cursor.cpp
index 8f49b9f624..e30347fccf 100644
--- a/scumm/cursor.cpp
+++ b/scumm/cursor.cpp
@@ -176,9 +176,10 @@ void ScummEngine_v6::setCursorFromImg(uint img, uint room, uint imgindex) {
w = READ_LE_UINT16(&imhd->v7.width) / 8;
h = READ_LE_UINT16(&imhd->v7.height) / 8;
} else {
- if (!(_features & GF_HUMONGOUS))
+ if (_heversion == 0) {
setCursorHotspot(READ_LE_UINT16(&imhd->old.hotspot[0].x),
READ_LE_UINT16(&imhd->old.hotspot[0].y));
+ }
w = READ_LE_UINT16(&foir.cdhd->v6.w) / 8;
h = READ_LE_UINT16(&foir.cdhd->v6.h) / 8;
}
diff --git a/scumm/gfx.cpp b/scumm/gfx.cpp
index 332b54f5d4..044b9611e9 100644
--- a/scumm/gfx.cpp
+++ b/scumm/gfx.cpp
@@ -1452,7 +1452,7 @@ void Gdi::drawBitmap(const byte *ptr, VirtScreen *vs, int x, int y, const int wi
CHECK_HEAP;
// COMI and HE games only uses flag value
- if (_vm->_version == 8 || (_vm->_features & GF_HUMONGOUS))
+ if (_vm->_version == 8 || _vm->_heversion >= 60)
useOrDecompress = true;
if (_vm->_version == 1) {
diff --git a/scumm/object.cpp b/scumm/object.cpp
index da5999ab5a..0d48f3efea 100644
--- a/scumm/object.cpp
+++ b/scumm/object.cpp
@@ -383,7 +383,7 @@ void ScummEngine::drawRoomObjects(int arg) {
int i;
const int mask = (_version <= 2) ? 0x8 : 0xF;
- if (_features & GF_HUMONGOUS) {
+ if (_heversion >= 60) {
// In HE games, normal objects are drawn, followed by FlObjects.
for (i = (_numLocalObjects-1); i > 0; i--) {
if (_objs[i].obj_nr > 0 && (_objs[i].state & mask) && _objs[i].fl_object_index == 0)
@@ -795,7 +795,7 @@ void ScummEngine::setupRoomObject(ObjectData *od, const byte *room, const byte *
od->parent = cdhd->v6.parent;
od->actordir = cdhd->v6.actordir;
- if (_features & GF_HUMONGOUS && imhd)
+ if (_heversion >= 60 && imhd)
od->flags = ((imhd->old.flags & 1) != 0) ? Gdi::dbAllowMaskOr : 0;
} else {
diff --git a/scumm/resource.cpp b/scumm/resource.cpp
index 9010fb6549..ec13c66353 100644
--- a/scumm/resource.cpp
+++ b/scumm/resource.cpp
@@ -126,7 +126,7 @@ void ScummEngine::openRoom(const int room) {
sprintf(buf, "%s.la%d", _gameName.c_str(), diskNumber);
sprintf(buf2, "%s.%.3d", _gameName.c_str(), diskNumber);
- } else if (_features & GF_HUMONGOUS) {
+ } else if (_heversion >= 60) {
sprintf(buf, "%s.he%.1d", _gameName.c_str(), diskNumber);
} else {
sprintf(buf, "%s.%.3d", _gameName.c_str(), diskNumber);
@@ -1184,7 +1184,7 @@ void ScummEngine::allocateArrays() {
_roomVars = (int32 *)calloc(_numRoomVariables, sizeof(int32));
_scummVars = (int32 *)calloc(_numVariables, sizeof(int32));
_bitVars = (byte *)calloc(_numBitVariables >> 3, 1);
- if (_features & GF_HUMONGOUS)
+ if (_heversion >= 60)
_arraySlot = (byte *)calloc(_numArray, 1);
allocResTypeData(rtCostume, (_features & GF_NEW_COSTUMES) ? MKID('AKOS') : MKID('COST'),
diff --git a/scumm/script.cpp b/scumm/script.cpp
index 66e2a7d3af..76e4ce6ff9 100644
--- a/scumm/script.cpp
+++ b/scumm/script.cpp
@@ -506,7 +506,7 @@ int ScummEngine::readVar(uint var) {
}
if (var == VAR_NOSUBTITLES) {
- if (_gameId == GID_LOOM256 || _features & GF_HUMONGOUS)
+ if (_gameId == GID_LOOM256 || _heversion >= 60)
return !ConfMan.getBool("subtitles");
else if (_gameId == GID_SAMNMAX)
// Used as VAR_SUBTITLES in Sam & Max during Conroy Bumpus song
@@ -582,9 +582,9 @@ void ScummEngine::writeVar(uint var, int value) {
_scummVars[var] = value;
// stay in sync with loom cd subtitle var
- if ((_gameId == GID_LOOM256 || _features & GF_HUMONGOUS) && var == VAR_NOSUBTITLES) {
+ if ((_gameId == GID_LOOM256 || _heversion >= 60) && var == VAR_NOSUBTITLES) {
assert(value == 0 || value == 1);
- if ((_features & GF_HUMONGOUS) && vm.slot[_currentScript].number == 1)
+ if (_heversion == 60 && vm.slot[_currentScript].number == 1)
value = !ConfMan.getBool("subtitles");
else
ConfMan.set("subtitles", (value == 0));
diff --git a/scumm/script_v6.cpp b/scumm/script_v6.cpp
index b0207eca57..d7a78cef37 100644
--- a/scumm/script_v6.cpp
+++ b/scumm/script_v6.cpp
@@ -398,9 +398,6 @@ int ScummEngine_v6::popRoomAndObj(int *room) {
}
ScummEngine_v6::ArrayHeader *ScummEngine_v6::defineArray(int array, int type, int dim2, int dim1) {
- if (_heversion >= 72)
- error("Call to old defineArray");
-
int id;
int size;
ArrayHeader *ah;
@@ -408,7 +405,7 @@ ScummEngine_v6::ArrayHeader *ScummEngine_v6::defineArray(int array, int type, in
assert(0 <= type && type <= 5);
- if (_heversion >= 60) {
+ if (_heversion >= 61) {
if (type == kBitArray || type == kNibbleArray)
type = kByteArray;
} else {
@@ -467,7 +464,7 @@ void ScummEngine_v6::nukeArray(int a) {
if (data)
res.nukeResource(rtString, data);
- if (_features & GF_HUMONGOUS)
+ if (_heversion >= 60)
_arraySlot[data] = 0;
writeVar(a, 0);
@@ -506,9 +503,6 @@ ScummEngine_v6::ArrayHeader *ScummEngine_v6::getArray(int array) {
}
int ScummEngine_v6::readArray(int array, int idx, int base) {
- if (_heversion >= 72)
- error("Call to old readArray");
-
ArrayHeader *ah = getArray(array);
if (ah == NULL || ah->data == NULL)
@@ -542,9 +536,6 @@ int ScummEngine_v6::readArray(int array, int idx, int base) {
}
void ScummEngine_v6::writeArray(int array, int idx, int base, int value) {
- if (_heversion >= 72)
- error("Call to old writeArray");
-
ArrayHeader *ah = getArray(array);
if (!ah)
return;
@@ -1095,7 +1086,7 @@ void ScummEngine_v6::o6_startSound() {
// In Fatty Bear's Birthday Surprise the piano uses offsets 1 - 23 to
// indicate which note to play, but only when using the standard piano
// sound. See also o6_soundOps()
- if ((_features & GF_HUMONGOUS) && (_gameId != GID_PUTTDEMO))
+ if (_heversion >= 61)
offset = pop();
if (_features & GF_DIGI_IMUSE)
@@ -1155,7 +1146,7 @@ void ScummEngine_v6::o6_setCameraAt() {
void ScummEngine_v6::o6_loadRoom() {
int room = pop();
startScene(room, 0, 0);
- if (_features & GF_HUMONGOUS) {
+ if (_heversion >= 61) {
setCameraAt(camera._cur.x, 0);
}
_fullRedraw = 1;
@@ -1941,7 +1932,7 @@ void ScummEngine_v6::o6_verbOps() {
if (_curVerbSlot) {
setVerbObject(_roomResource, a, slot);
vs->type = kImageVerbType;
- if (_heversion >= 60)
+ if (_heversion >= 61)
vs->imgindex = a;
}
break;
@@ -1967,8 +1958,9 @@ void ScummEngine_v6::o6_verbOps() {
vs->curmode = 0;
break;
case 131: // SO_VERB_DELETE
- if (_features & GF_HUMONGOUS)
+ if (_heversion >= 60) {
slot = getVerbSlot(pop(), 0);
+ }
killVerb(slot);
break;
case 132: // SO_VERB_NEW
@@ -2399,9 +2391,9 @@ void ScummEngine_v6::o6_dimArray() {
}
void ScummEngine_v6::o6_dummy() {
- if (_features & GF_HUMONGOUS)
+ if (_heversion >= 60) {
stopObjectCode();
- /* nothing */
+ }
}
void ScummEngine_v6::o6_dim2dimArray() {
diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp
index c39012645f..6e4d2c5d02 100644
--- a/scumm/scumm.cpp
+++ b/scumm/scumm.cpp
@@ -212,175 +212,175 @@ static const ScummGameSettings scumm_settings[] = {
#endif
// Humongous Entertainment Scumm Version 6
- {"puttputt", "Putt-Putt Joins The Parade", GID_HEGAME, 6, 60, 13, MDT_ADLIB | MDT_NATIVE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
- {"puttdemo", "Putt-Putt Joins The Parade (Demo)", GID_PUTTDEMO, 6, 0, 13, MDT_ADLIB | MDT_NATIVE,
- GF_USE_KEY | GF_HUMONGOUS | GF_MULTIPLE_VERSIONS, 0, 0},
- {"moondemo", "Putt-Putt Goes To The Moon (Demo)", GID_HEGAME, 6, 60, 13, MDT_ADLIB | MDT_NATIVE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
- {"puttmoon", "Putt-Putt Goes To The Moon", GID_HEGAME, 6, 60, 13, MDT_ADLIB | MDT_NATIVE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
- {"funpack", "Putt-Putt's Fun Pack", GID_FUNPACK, 6, 60, 13, MDT_ADLIB | MDT_NATIVE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
- {"fbpack", "Fatty Bear's Fun Pack", GID_HEGAME, 6, 60, 13, MDT_ADLIB | MDT_NATIVE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
- {"fbear", "Fatty Bear's Birthday Surprise", GID_FBEAR, 6, 60, 13, MDT_ADLIB | MDT_NATIVE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
- {"fbdemo", "Fatty Bear's Birthday Surprise (DOS Demo)", GID_FBEAR, 6, 60, 13, MDT_ADLIB | MDT_NATIVE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ {"puttputt", "Putt-Putt Joins The Parade", GID_HEGAME, 6, 61, 13, MDT_ADLIB | MDT_NATIVE,
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ {"puttdemo", "Putt-Putt Joins The Parade (Demo)", GID_PUTTDEMO, 6, 60, 13, MDT_ADLIB | MDT_NATIVE,
+ GF_USE_KEY | GF_MULTIPLE_VERSIONS, 0, 0},
+ {"moondemo", "Putt-Putt Goes To The Moon (Demo)", GID_HEGAME, 6, 61, 13, MDT_ADLIB | MDT_NATIVE,
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ {"puttmoon", "Putt-Putt Goes To The Moon", GID_HEGAME, 6, 61, 13, MDT_ADLIB | MDT_NATIVE,
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ {"funpack", "Putt-Putt's Fun Pack", GID_FUNPACK, 6, 61, 13, MDT_ADLIB | MDT_NATIVE,
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
+ {"fbpack", "Fatty Bear's Fun Pack", GID_HEGAME, 6, 61, 13, MDT_ADLIB | MDT_NATIVE,
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
+ {"fbear", "Fatty Bear's Birthday Surprise", GID_FBEAR, 6, 61, 13, MDT_ADLIB | MDT_NATIVE,
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ {"fbdemo", "Fatty Bear's Birthday Surprise (DOS Demo)", GID_FBEAR, 6, 61, 13, MDT_ADLIB | MDT_NATIVE,
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
#ifndef __PALM_OS__
// Humongous Entertainment Scumm Version 7.1
// The first version to use 640x480 resolution
// There are also 7.1 versions of freddi, freddemo, airdemo and farmdemo
{"catalog", "Humongous Interactive Catalog", GID_HEGAME, 6, 71, 13, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
// Humongous Entertainment Scumm Version 7.2
{"catalog2", "Humongous Interactive Catalog 2", GID_HEGAME, 6, 72, 30, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"freddemo", "Freddi Fish 1: The Case of the Missing Kelp Seeds (Demo)", GID_HEGAME, 6, 72, 13, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
{"farmdemo", "Let's Explore the Farm with Buzzy (Demo)", GID_HEGAME, 6, 72, 13, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
{"farm", "Let's Explore the Farm with Buzzy", GID_HEGAME, 6, 72, 28, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"airdemo", "Let's Explore the Airport with Buzzy (Demo)", GID_HEGAME, 6, 72, 13, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
{"airport", "Let's Explore the Airport with Buzzy", GID_HEGAME, 6, 72, 28, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"jungle", "Let's Explore the Jungle with Buzzy", GID_HEGAME, 6, 72, 28, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"puttzoo", "Putt-Putt Saves the Zoo", GID_HEGAME, 6, 72, 30, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
{"zoodemo", "Putt-Putt Saves the Zoo (Demo)", GID_HEGAME, 6, 72, 13, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
// Humongous Entertainment Scumm Version 8.0 ? Scummsrc.80
{"ff2-demo", "Freddi Fish 2: The Case of the Haunted Schoolhouse (Demo)", GID_HEGAME, 6, 80, 30, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
{"freddi2", "Freddi Fish 2: The Case of the Haunted Schoolhouse", GID_HEGAME, 6, 80, 30, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
{"pjs-demo", "Pajama Sam 1: No Need to Hide When It's Dark Outside (Demo)", GID_HEGAME, 6, 80, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
{"pajama", "Pajama Sam 1: No Need to Hide When It's Dark Outside", GID_HEGAME, 6, 80, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
{"dog", "Putt-Putt and Pep's Dog on a Stick", GID_HEGAME, 6, 80, 30, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
{"balloon", "Putt-Putt and Pep's Balloon-O-Rama", GID_HEGAME, 6, 80, 60, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
{"maze", "Freddi Fish and Luther's Maze Madness", GID_HEGAME, 6, 80, 60, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
{"socks", "Pajama Sam's Sock Works", GID_HEGAME, 6, 80, 56, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"water", "Freddi Fish and Luther's Water Worries", GID_HEGAME, 6, 80, 56, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
// Humongous Entertainment Scumm Version 9.0 ? Scummsys.90
{"freddi", "Freddi Fish 1: The Case of the Missing Kelp Seeds", GID_HEGAME, 6, 90, 30, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
{"kinddemo", "Big Thinkers Kindergarten (Demo)", GID_HEGAME, 6, 90, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"thinkerk", "Big Thinkers Kindergarten", GID_HEGAME, 6, 90, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"1grademo", "Big Thinkers First Grade (Demo)", GID_HEGAME, 6, 90, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"freddi3", "Freddi Fish 3: The Case of the Stolen Conch Shell", GID_HEGAME, 6, 90, 62, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
{"f3-mdemo", "Freddi Fish 3: The Case of the Stolen Conch Shell (Demo)", GID_HEGAME, 6, 90, 30, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
// there is also a C++ engine based version of timedemo
{"TimeDemo", "Putt-Putt Travels Through Time (Demo)", GID_HEGAME, 6, 90, 31, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
{"spyfox", "Spyfox 1: Dry Cereal", GID_HEGAME, 6, 90, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
// there is also a C++ engine version of spydemo
{"Spydemo", "Spyfox 1: Dry Cereal (Demo)", GID_HEGAME, 6, 90, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
{"baseball", "Backyard Baseball", GID_HEGAME, 6, 90, 61, MDT_NONE, // FIXME: number of actors
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
// Humongous Entertainment Scumm Version 9.5 ? Scummsys.95
{"pj2demo", "Pajama Sam 2: Thunder and Lightning Aren't so Frightening (Demo)", GID_HEGAME, 6, 95, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"pajama2", "Pajama Sam 2: Thunder and Lightning Aren't so Frightening", GID_HEGAME, 6, 95, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
{"chase", "Spy Fox in Cheese Chase Game", GID_HEGAME, 6, 95, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
// Humongous Entertainment Scumm Version 9.8 ? Scummsys.98
// these and later games can easily be identified by the .(a) file instead of a .he1
// and INIB chunk in the .he0
{"lost", "Pajama Sam's Lost & Found", GID_HEGAME, 6, 98, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
{"racedemo", "Putt-Putt Enters the Race (Demo)", GID_HEGAME, 6, 98, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
{"puttrace", "Putt-Putt Enters the Race", GID_HEGAME, 6, 98, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"BluesABCTimeDemo", "Blue's ABC Time (Demo)", GID_HEGAME, 6, 98, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"soccer", "Backyard Soccer", GID_HEGAME, 6, 98, 61, MDT_NONE, // FIXME: number of actors
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
// Global scripts increased to 2048
{"freddi4", "Freddi Fish 4: The Case of the Hogfish Rustlers of Briny Gulch", GID_FREDDI4, 6, 98, 57, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
{"f4-demo", "Freddi Fish 4: The Case of the Hogfish Rustlers of Briny Gulch (Demo)", GID_FREDDI4, 6, 98, 57, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
// Engine moved to c++
// Humongous Entertainment Scumm Version 9.9 ? Scummsys.99
{"smaller", "Pajama Sam's Lost & Found (Test)", GID_HEGAME, 6, 99, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"puttcircus", "Putt-Putt Joins the Circus", GID_HEGAME, 6, 99, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"circdemo", "Putt-Putt Joins the Circus (Demo)", GID_HEGAME, 6, 99, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"sf2-demo", "Spyfox 2: Some Assembly Required (Demo)", GID_HEGAME, 6, 99, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"spyfox2", "Spyfox 2: Some Assembly Required", GID_HEGAME, 6, 99, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"mustard", "Spy Fox in Hold the Mustard", GID_HEGAME, 6, 99, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"football", "Backyard Football", GID_HEGAME, 6, 99, 61, MDT_NONE, // FIXME: number of actors
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
// Humongous Entertainment Scumm Version ?
{"freddicove", "Freddi Fish 5: The Case of the Creature of Coral Cave", GID_FREDDICOVE, 6, 99, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
{"pj3-demo", "Pajama Sam 3: You Are What You Eat From Your Head to Your Feet (Demo)", GID_HEGAME, 6, 99, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"pajama3", "Pajama Sam 3: You Are What You Eat From Your Head to Your Feet", GID_HEGAME, 6, 99, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"SamsFunShop", "Pajama Sam's One-Stop Fun Shop", GID_HEGAME, 6, 99, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"PuttsFunShop", "Putt-Putt's One-Stop Fun Shop", GID_HEGAME, 6, 99, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"putttime", "Putt-Putt Travels Through Time", GID_HEGAME, 6, 99, 31, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
{"spyozon", "Spyfox 3: Operation Ozone", GID_HEGAME, 6, 99, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"sf3-demo", "Spyfox 3: Operation Ozone (Demo)", GID_HEGAME, 6, 99, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"bb2demo", "Backyard Baseball 2001 (Demo)", GID_HEGAME, 6, 99, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"footdemo", "Backyard Football 2002 (Demo)", GID_HEGAME, 6, 99, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_MULTIPLE_VERSIONS, 0, 0},
{"SoccerMLS", "Backyard Soccer MLS Edition", GID_HEGAME, 6, 99, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
// Humongous Entertainment Scumm Version ?
{"ff5demo", "Freddi Fish 5: The Case of the Creature of Coral Cave (Demo)", GID_FREDDICOVE, 6, 100, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
// Uses bink in external files for logos
{"Baseball2003", "Backyard Baseball 2003", GID_HEGAME, 6, 100, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"Soccer2004", "Backyard Soccer 2004", GID_HEGAME, 6, 100, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
#endif
{NULL, NULL, 0, 0, 0, 0, MDT_NONE, 0, 0, 0}
@@ -396,45 +396,45 @@ static const ScummGameSettings scumm_settings[] = {
static const ScummGameSettings multiple_versions_md5_settings[] = {
#ifndef __PALM_OS__
{"2e85f7aa054930c692a5b1bed1dfc295", "Backyard Football 2002 (Demo Updated)", GID_HEGAME, 6, 100, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, // Football2002
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0}, // Football2002
{"179879b6e35c1ead0d93aab26db0951b", "Fatty Bear's Birthday Surprise (Windows)", GID_FBEAR, 6, 70, 13, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_WINDOWS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_WINDOWS, 0, 0},
{"22c9eb04455440131ffc157aeb8d40a8", "Fatty Bear's Birthday Surprise (Windows Demo)", GID_FBEAR, 6, 70, 13, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_WINDOWS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_WINDOWS, 0, 0},
{"d4cccb5af88f3e77f370896e9ba8c5f9", "Freddi Fish 1: The Case of the Missing Kelp Seeds", GID_HEGAME, 6, 71, 30, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"084ed0fa98a6d1e9368d67fe9cfbd417", "Freddi Fish 1: The Case of the Missing Kelp Seeds (Demo) (puttputt cd)", GID_HEGAME, 6, 71, 13, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"8ee63cafb1fe9d62aa0d5a23117e70e7", "Freddi Fish 2: The Case of the Haunted Schoolhouse (Updated)", GID_HEGAME, 6, 100, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, // FreddiCHSH
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0}, // FreddiCHSH
{"51305e929e330e24a75a0351c8f9975e", "Freddi Fish 2: The Case of the Haunted Schoolhouse (Updated)", GID_HEGAME, 6, 99, 30, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"e41de1c2a15abbcdbf9977e2d7e8a340", "Freddi Fish 2: The Case of the Haunted Schoolhouse (Updated Ru)", GID_HEGAME, 6, 100, 61, MDT_NONE, // FIXME: number of actors
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, // FreddiCHSH
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0}, // FreddiCHSH
{"d37c55388294b66e53e7ced3af88fa68", "Freddi Fish 2: The Case of the Haunted Schoolhouse (Demo Updated)", GID_HEGAME, 6, 100, 30, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, // FFHSDemo
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0}, // FFHSDemo
{"75bff95816b84672b877d22a911ab811", "Freddi Fish 3: The Case of the Stolen Conch Shell (Updated Ru)", GID_HEGAME, 6, 98, 30, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, // FIXME: number of actors
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0}, // FIXME: number of actors
{"78bd5f036ea35a878b74e4f47941f784", "Freddi Fish 4: The Case of the Hogfish Rustlers of Briny Gulch (Updated Ru)", GID_FREDDI4, 6, 99, 57, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, // FIXME: number of actors
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0}, // FIXME: number of actors
{"4ce2d5b355964bbcb5e5ce73236ef868", "Freddi Fish 5: The Case of the Creature of Coral Cave (Updated Ru)", GID_HEGAME, 6, 100, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, // FIXME: number of actors
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0}, // FIXME: number of actors
{"21abe302e1b1e2b66d6f5c12e241ebfd", "Freddi Fish 5: The Case of the Creature of Coral Cave (Unencrypted)", GID_HEGAME, 6, 99, 61, MDT_NONE,
- GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_NEW_COSTUMES, 0, 0},
{"4dbff3787aedcd96b0b325f2d92d7ad9", "Freddi Fish and Luther's Maze Madness (Updated)", GID_HEGAME, 6, 100, 60, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"86c9902b7bec1a17926d4dae85beaa45", "Let's Explore the Airport with Buzzy (Demo) (puttputt cd)", GID_HEGAME, 6, 71, 13, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"bf8b52fdd9a69c67f34e8e9fec72661c", "Let's Explore the Farm with Buzzy (Demo) (puttputt cd)", GID_HEGAME, 6, 71, 13, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"d8d07efcb88f396bee0b402b10c3b1c9", "Maniac Mansion (NES E)", GID_MANIAC, 1, 0, 25, MDT_NONE,
GF_SMALL_HEADER | GF_USE_KEY | GF_16COLOR | GF_OLD_BUNDLE | GF_NO_SCALING | GF_NES, 0, "Maniac Mansion (E).prg"},
@@ -449,54 +449,54 @@ static const ScummGameSettings multiple_versions_md5_settings[] = {
{"37aed3f91c1ef959e0bd265f9b13781f", "Pajama Sam: No Need To Hide When It's Dark Outside (Updated)", GID_HEGAME, 6, 100, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, // PajamaNHD
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0}, // PajamaNHD
{"d7ab7cd6105546016e6a0d46fb36b964", "Pajama Sam: No Need To Hide When It's Dark Outside (Demo Updated)", GID_HEGAME, 6, 100, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, // PJSamDemo
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0}, // PJSamDemo
{"32709cbeeb3044b34129950860a83f14", "Pajama Sam 2: Thunder and Lightning Aren't so Frightening (Updated)", GID_HEGAME, 6, 99, 61, MDT_NONE, // FIXME: number of actors
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, // PajamaTAL
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0}, // PajamaTAL
{"a561d2e2413cc1c71d5a1bf87bf493ea", "Pajama Sam's Lost & Found (Updated)", GID_HEGAME, 6, 100, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"6af2419fe3db5c2fdb091ae4e5833770", "Putt-Putt Enters the Race (Demo Alt)", GID_FREDDI4, 6, 98, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, // 500demo
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0}, // 500demo
{"9c92eeaf517a31b7221ec2546ab669fd", "Putt-Putt Goes To The Moon (Windows)", GID_HEGAME, 6, 70, 13, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_WINDOWS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_WINDOWS, 0, 0},
{"9c143c5905055d5df7a0f014ab379aee", "Putt-Putt Goes To The Moon (Windows Demo)", GID_HEGAME, 6, 70, 13, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_WINDOWS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_WINDOWS, 0, 0},
{"0b3222aaa7efcf283eb621e0cefd26cc", "Putt-Putt Joins The Parade (early version)", GID_HEGAME, 6, 0, 13, MDT_ADLIB | MDT_NATIVE,
- GF_USE_KEY | GF_HUMONGOUS, 0, 0},
+ GF_USE_KEY, 0, 0},
{"6a30a07f353a75cdc602db27d73e1b42", "Putt-Putt Joins The Parade (Windows)", GID_HEGAME, 6, 70, 13, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES | GF_WINDOWS, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES | GF_WINDOWS, 0, 0},
{"37ff1b308999c4cca7319edfcc1280a0", "Putt-Putt Joins The Parade (Windows Demo)", GID_PUTTDEMO, 6, 70, 13, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"92e7727e67f5cd979d8a1070e4eb8cb3", "Putt-Putt Saves the Zoo (Updated)", GID_FREDDI4, 6, 98, 30, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"a525c1753c1db5011c00417da37887ef", "Putt-Putt Travels Through Time (Updated)", GID_HEGAME, 6, 100, 31, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"0ab19be9e2a3f6938226638b2a3744fe", "Putt-Putt Travels Through Time (Updated Demo)", GID_HEGAME, 6, 100, 31, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"8e3241ddd6c8dadf64305e8740d45e13", "Putt-Putt and Pep's Balloon-O-Rama (Updated)", GID_HEGAME, 6, 100, 60, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"d4b8ee426b1afd3e53bc0cf020418cf6", "Putt-Putt and Pep's Dog on a Stick (Updated)", GID_HEGAME, 6, 98, 30, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"3de99ef0523f8ca7958faa3afccd035a", "Spyfox 1: Dry Cereal (Updated)", GID_HEGAME, 6, 100, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"72ac6bc980d5101c2142189d746bd62f", "Spyfox 1: Dry Cereal (Updated Ru)", GID_HEGAME, 6, 99, 61, MDT_NONE, // FIXME: number of actors
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0}, // SPYFoxDC
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0}, // SPYFoxDC
{"9d4ab3e0e1d1ebc6ba8a6a4c470ed184", "Spyfox 1: Dry Cereal (Updated Demo)", GID_HEGAME, 6, 100, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"90c755e1c9b9b8a4129d37b2259d0655", "Spy Fox in Cheese Chase Game (Updated)", GID_HEGAME, 6, 100, 61, MDT_NONE,
- GF_USE_KEY | GF_HUMONGOUS | GF_NEW_COSTUMES, 0, 0},
+ GF_USE_KEY | GF_NEW_COSTUMES, 0, 0},
{"b23f7cd7c304d7dff08e92a96120d5b4", "Zak McKracken and the Alien Mindbenders (v1)", GID_ZAK, 1, 0, 13, MDT_PCSPK,
GF_SMALL_HEADER | GF_USE_KEY | GF_16COLOR | GF_OLD_BUNDLE | GF_NO_SCALING, 0, 0},
@@ -1741,7 +1741,7 @@ void ScummEngine::setupMusic(int midi) {
_imuse->property(IMuse::PROP_TEMPO_BASE, ConfMan.getInt("tempo"));
_imuse->property(IMuse::PROP_NATIVE_MT32, _native_mt32);
_imuse->property(IMuse::PROP_GS, _enable_gs);
- if (_features & GF_HUMONGOUS || midi == MDT_TOWNS) {
+ if (_heversion == 60 || midi == MDT_TOWNS) {
_imuse->property(IMuse::PROP_LIMIT_PLAYERS, 1);
_imuse->property(IMuse::PROP_RECYCLE_PLAYERS, 1);
}
@@ -2389,7 +2389,7 @@ DetectedGameList Engine_SCUMM_detectGames(const FSList &fslist) {
} else if (g->version >= 7) {
strcpy(detectName, base);
strcat(detectName, ".la0");
- } else if (g->features & GF_HUMONGOUS) {
+ } else if (g->heversion >= 60) {
strcpy(detectName, base);
strcat(detectName, ".he0");
} else if (g->features & GF_NES) {
@@ -2665,7 +2665,7 @@ Engine *Engine_SCUMM_create(GameDetector *detector, OSystem *syst) {
} else if (g->version >= 7) {
strcpy(detectName, name);
strcat(detectName, ".la0");
- } else if (g->features & GF_HUMONGOUS) {
+ } else if (g->heversion >= 60) {
strcpy(detectName, name);
strcat(detectName, ".he0");
} else {
@@ -2737,13 +2737,6 @@ Engine *Engine_SCUMM_create(GameDetector *detector, OSystem *syst) {
break;
case Common::kPlatformWindows:
game.features |= GF_WINDOWS;
-
- // There are both Windows and DOS versions of early HE titles
- // specify correct version here
- if (game.features & GF_HUMONGOUS && (game.heversion == 60 || game.id == GID_PUTTDEMO)) {
- game.heversion = 70;
- game.features |= GF_NEW_COSTUMES;
- }
break;
case Common::kPlatformFMTowns:
game.features |= GF_FMTOWNS;
@@ -2805,7 +2798,7 @@ Engine *Engine_SCUMM_create(GameDetector *detector, OSystem *syst) {
engine = new ScummEngine_v70he(detector, syst, game, md5sum);
break;
#endif
- case 60:
+ case 61:
engine = new ScummEngine_v60he(detector, syst, game, md5sum);
break;
default:
diff --git a/scumm/sound.cpp b/scumm/sound.cpp
index 8752819867..7b5592f310 100644
--- a/scumm/sound.cpp
+++ b/scumm/sound.cpp
@@ -97,7 +97,7 @@ void Sound::addSoundToQueue(int sound, int heOffset, int heChannel, int heFlags)
}
void Sound::addSoundToQueue2(int sound, int heOffset, int heChannel, int heFlags) {
- if ((_vm->_features & GF_HUMONGOUS) && _soundQue2Pos) {
+ if (_vm->_heversion >= 60 && _soundQue2Pos) {
int i = _soundQue2Pos;
while (i--) {
if (_soundQue2[i].sound == sound)
@@ -697,7 +697,7 @@ void Sound::startTalkSound(uint32 offset, uint32 b, int mode, SoundHandle *handl
return;
}
- if (_vm->_features & GF_HUMONGOUS) {
+ if (_vm->_heversion >= 60) {
_sfxMode |= mode;
_sfxFile->seek(offset, SEEK_SET);
@@ -862,7 +862,11 @@ int Sound::isSoundRunning(int sound) const {
if (sound == _currentCDSound)
return pollCD();
- if (_vm->_features & GF_HUMONGOUS) {
+ if (_vm->_heversion >= 70) {
+ if (sound >= 10000) {
+ return _vm->_mixer->getSoundID(_heSoundChannels[sound - 10000]);
+ }
+ } else if (_vm->_heversion >= 60) {
if (sound == -2) {
return !isSfxFinished();
} else if (sound == -1) {
@@ -872,8 +876,6 @@ int Sound::isSoundRunning(int sound) const {
return (_vm->_mixer->isSoundIDActive(_currentMusic) ? _currentMusic : 0);
else if (_vm->_imuse)
return (_vm->_imuse->getSoundStatus(sound));
- } else if (sound >= 10000) {
- return _vm->_mixer->getSoundID(_heSoundChannels[sound - 10000]);
}
}
@@ -948,7 +950,11 @@ bool Sound::isSoundInQueue(int sound) const {
void Sound::stopSound(int sound) {
int i;
- if (_vm->_features & GF_HUMONGOUS) {
+ if (_vm->_heversion >= 70) {
+ if ( sound >= 10000) {
+ _vm->_mixer->stopHandle(_heSoundChannels[sound - 10000]);
+ }
+ } else if (_vm->_heversion >= 60) {
if (sound == -2) {
} else if (sound == -1) {
// Stop current music
@@ -956,9 +962,6 @@ void Sound::stopSound(int sound) {
_vm->_mixer->stopID(_currentMusic);
else if (_vm->_imuse)
_vm->_imuse->stopSound(_vm->_imuse->getSoundStatus(-1));
- } else if ( sound >= 10000) {
- int channel = sound - 10000;
- _vm->_mixer->stopHandle(_heSoundChannels[channel]);
}
}
diff --git a/scumm/vars.cpp b/scumm/vars.cpp
index fdcfdb6a4c..46793a2053 100644
--- a/scumm/vars.cpp
+++ b/scumm/vars.cpp
@@ -162,7 +162,7 @@ void ScummEngine_v6::setupScummVars() {
VAR_LEFTBTN_HOLD = 74;
VAR_RIGHTBTN_HOLD = 75;
- if (!(_features & GF_HUMONGOUS)) {
+ if (_heversion == 0) {
VAR_SAVELOAD_SCRIPT = 61;
VAR_SAVELOAD_SCRIPT2 = 62;
}
@@ -564,7 +564,7 @@ void ScummEngine::initScummVars() {
}
}
if (_gameId == GID_LOOM256 || _version >= 5) {
- if (_features & GF_HUMONGOUS) {
+ if (_heversion >= 60) {
VAR(VAR_SOUNDPARAM) = 1; // soundblaster for music
VAR(VAR_SOUNDPARAM2) = 1; // soundblaster for sfx
} else {