diff options
| -rw-r--r-- | scumm/resource.cpp | 3 | ||||
| -rw-r--r-- | scumm/script.cpp | 2 | ||||
| -rw-r--r-- | scumm/script_v6.cpp | 3 | 
3 files changed, 5 insertions, 3 deletions
| diff --git a/scumm/resource.cpp b/scumm/resource.cpp index f9529c75a3..681cab7afe 100644 --- a/scumm/resource.cpp +++ b/scumm/resource.cpp @@ -2406,7 +2406,8 @@ void ScummEngine::allocateArrays() {  	_scummVars = (int32 *)calloc(_numVariables, sizeof(int32));  	_bitVars = (byte *)calloc(_numBitVariables >> 3, 1);  	_images = (uint16 *)calloc(_numImages, sizeof(uint16)); -	_arraySlot = (byte *)calloc(_numArray, 1); +	if (_features & GF_HUMONGOUS) +		_arraySlot = (byte *)calloc(_numArray, 1);  	allocResTypeData(rtCostume, (_features & GF_NEW_COSTUMES) ? MKID('AKOS') : MKID('COST'),  								_numCostumes, "costume", 1); diff --git a/scumm/script.cpp b/scumm/script.cpp index fccb581ebf..499c341607 100644 --- a/scumm/script.cpp +++ b/scumm/script.cpp @@ -349,7 +349,7 @@ void ScummEngine::updateScriptPtr() {  void ScummEngine::nukeArrays(int script) {  	int i; -	if (!_heversion || !script) +	if (!(_features & GF_HUMONGOUS) || !script)  		return;  	for (i = 1; i < _numArray; i++) { diff --git a/scumm/script_v6.cpp b/scumm/script_v6.cpp index 024b6c91e1..604e76ff42 100644 --- a/scumm/script_v6.cpp +++ b/scumm/script_v6.cpp @@ -465,7 +465,8 @@ void ScummEngine_v6::nukeArray(int a) {  	if (data)  		nukeResource(rtString, data); -	_arraySlot[a] = 0; +	if (_features & GF_HUMONGOUS) +		_arraySlot[a] = 0;  	writeVar(a, 0);  } | 
