aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2004-06-30 11:03:55 +0000
committerTravis Howell2004-06-30 11:03:55 +0000
commit857c9fc85834e1b28828e1f7d9503d4c94aa1063 (patch)
tree9957c48c546ef38ba644a570fe37ea7f7b20bf79
parent0532767c1dc48dd1cf172604613474142066cb47 (diff)
downloadscummvm-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.h1
-rw-r--r--scumm/script_v6.cpp25
-rw-r--r--scumm/script_v6he.cpp15
-rw-r--r--scumm/scumm.cpp2
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}
};