diff options
author | Travis Howell | 2004-06-30 11:03:55 +0000 |
---|---|---|
committer | Travis Howell | 2004-06-30 11:03:55 +0000 |
commit | 857c9fc85834e1b28828e1f7d9503d4c94aa1063 (patch) | |
tree | 9957c48c546ef38ba644a570fe37ea7f7b20bf79 | |
parent | 0532767c1dc48dd1cf172604613474142066cb47 (diff) | |
download | scummvm-rg350-857c9fc85834e1b28828e1f7d9503d4c94aa1063.tar.gz scummvm-rg350-857c9fc85834e1b28828e1f7d9503d4c94aa1063.tar.bz2 scummvm-rg350-857c9fc85834e1b28828e1f7d9503d4c94aa1063.zip |
Changes for non-akos version of puttputt
svn-id: r14133
-rw-r--r-- | scumm/intern.h | 1 | ||||
-rw-r--r-- | scumm/script_v6.cpp | 25 | ||||
-rw-r--r-- | scumm/script_v6he.cpp | 15 | ||||
-rw-r--r-- | scumm/scumm.cpp | 2 |
4 files changed, 18 insertions, 25 deletions
diff --git a/scumm/intern.h b/scumm/intern.h index 01331e3f89..2a498b0a47 100644 --- a/scumm/intern.h +++ b/scumm/intern.h @@ -573,7 +573,6 @@ protected: void o6_drawBlastObject(); void o6_setBlastObjectWindow(); void o6_setState(); - void o6_startSound(); void o6_roomOps(); void o6_actorOps(); void o6_wait(); diff --git a/scumm/script_v6.cpp b/scumm/script_v6.cpp index ee924eed2d..b18e4af726 100644 --- a/scumm/script_v6.cpp +++ b/scumm/script_v6.cpp @@ -403,12 +403,12 @@ ArrayHeader *ScummEngine_v6::defineArray(int array, int type, int dim2, int dim1 int size; ArrayHeader *ah; - if (!(_features & GF_HUMONGOUS)) { - if (type != rtSound) - type = rtInventory; - } else { + if (_heversion >= 60) { if (type == rtScript || type == rtRoom) type = rtCostume; + } else { + if (type != rtSound) + type = rtInventory; } nukeArray(array); @@ -502,8 +502,7 @@ int ScummEngine_v6::readArray(int array, int idx, int base) { assert(base >= 0 && base < FROM_LE_16(ah->dim1) * FROM_LE_16(ah->dim2)); - if (FROM_LE_16(ah->type) == 4 || (_features & GF_HUMONGOUS - && FROM_LE_16(ah->type) == rtCostume)) { + if (FROM_LE_16(ah->type) == 4 || (_heversion >= 60 && FROM_LE_16(ah->type) == rtCostume)) { return ah->data[base]; } else if (_version == 8) { return (int32)READ_LE_UINT32(ah->data + base * 4); @@ -520,8 +519,7 @@ void ScummEngine_v6::writeArray(int array, int idx, int base, int value) { assert(base >= 0 && base < FROM_LE_16(ah->dim1) * FROM_LE_16(ah->dim2)); - if (FROM_LE_16(ah->type) == rtSound || (_features & GF_HUMONGOUS - && FROM_LE_16(ah->type) == rtCostume)) { + if (FROM_LE_16(ah->type) == rtSound || (_heversion >= 60 && FROM_LE_16(ah->type) == rtCostume)) { ah->data[base] = value; } else if (_version == 8) { #if defined(SCUMM_NEED_ALIGNMENT) @@ -1028,8 +1026,17 @@ void ScummEngine_v6::o6_getOwner() { void ScummEngine_v6::o6_startSound() { if (_features & GF_DIGI_IMUSE) _imuseDigital->startSfx(pop(), 64); - else + else { + if (_features & GF_HUMONGOUS) { + // Seems to range between 952 - 9000 + // 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(). + int offset = pop(); + debug(2, "o6_startSound: offset %d", offset); + } _sound->addSoundToQueue(pop()); + } } void ScummEngine_v6::o6_stopSound() { diff --git a/scumm/script_v6he.cpp b/scumm/script_v6he.cpp index 3200f55a13..f1e26732f2 100644 --- a/scumm/script_v6he.cpp +++ b/scumm/script_v6he.cpp @@ -400,16 +400,6 @@ void ScummEngine_v6he::o6_setState() { clearDrawObjectQueue(); } -void ScummEngine_v6he::o6_startSound() { - // Seems to range between 952 - 9000 - // 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(). - int offset = pop(); - debug(2, "o6_startSound: offset %d", offset); - _sound->addSoundToQueue(pop()); -} - void ScummEngine_v6he::o6_roomOps() { int a, b, c, d, e; byte op; @@ -611,10 +601,7 @@ void ScummEngine_v6he::o6_actorOps() { j = pop(); i = pop(); checkRange(255, 0, i, "Illegal palette slot %d"); - if (_features & GF_NEW_COSTUMES) - a->remapActorPaletteColor(i, j); - else - a->setPalette(i, j); + a->remapActorPaletteColor(i, j); break; case 87: // SO_TALK_COLOR a->talkColor = pop(); diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp index b5aa719e65..41d6397b3e 100644 --- a/scumm/scumm.cpp +++ b/scumm/scumm.cpp @@ -343,7 +343,7 @@ static const ScummGameSettings scumm_settings[] = { // // Use main table to specify default flags and this table to override defaults. static const ScummGameSettings he_md5_settings[] = { - {"0b3222aaa7efcf283eb621e0cefd26cc", "Putt-Putt Joins The Parade (early version)", GID_HEGAME, 6, 60, MDT_ADLIB | MDT_NATIVE, + {"0b3222aaa7efcf283eb621e0cefd26cc", "Putt-Putt Joins The Parade (early version)", GID_HEGAME, 6, 0, MDT_ADLIB | MDT_NATIVE, GF_NEW_OPCODES | GF_USE_KEY | GF_HUMONGOUS, 0}, {NULL, NULL, 0, 0, 0, MDT_NONE, 0, 0} }; |