aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/script_v6.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/scumm/script_v6.cpp b/scumm/script_v6.cpp
index fe0a1a2314..0904b2a0d1 100644
--- a/scumm/script_v6.cpp
+++ b/scumm/script_v6.cpp
@@ -506,7 +506,8 @@ int ScummEngine_v6::readArray(int array, int idx, int base) {
// from the function, but don't just go on overwriting memory!
assert(base >= 0 && base < FROM_LE_16(ah->dim1) * FROM_LE_16(ah->dim2));
- if (FROM_LE_16(ah->type) == 4) {
+ if (FROM_LE_16(ah->type) == 4 || (_features & GF_HUMONGOUS
+ && FROM_LE_16(ah->type) == rtCostume)) {
return ah->data[base];
} else if (_version == 8) {
return (int32)READ_LE_UINT32(ah->data + base * 4);
@@ -523,7 +524,8 @@ 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) == 4) {
+ if (FROM_LE_16(ah->type) == rtSound || (_features & GF_HUMONGOUS
+ && FROM_LE_16(ah->type) == rtCostume)) {
ah->data[base] = value;
} else if (_version == 8) {
#if defined(SCUMM_NEED_ALIGNMENT)