diff options
Diffstat (limited to 'engines/mohawk/riven_scripts.cpp')
| -rw-r--r-- | engines/mohawk/riven_scripts.cpp | 18 | 
1 files changed, 18 insertions, 0 deletions
diff --git a/engines/mohawk/riven_scripts.cpp b/engines/mohawk/riven_scripts.cpp index 18a3597086..c12989bca6 100644 --- a/engines/mohawk/riven_scripts.cpp +++ b/engines/mohawk/riven_scripts.cpp @@ -345,6 +345,24 @@ void RivenScript::applyCardPatches(MohawkEngine_Riven *vm, uint32 cardGlobalId,  		debugC(kRivenDebugPatches, "Applied invalid card change during screen update (2/2) to card %x", cardGlobalId);  	} +	// First part of the patch to fix the invalid steam sounds +	// when looking at the Boiler island bridge from Temple island. +	// The second part is in the card patches. +	if (cardGlobalId == 0x22118 && scriptType == kCardLoadScript) { +		shouldApplyPatches = true; + +		// Remove all the activateSLST calls. +		// Fixed calls will be added back in the second part of the patch. +		for (uint i = 0; i < _commands.size(); i++) { +			if (_commands[i]->getType() == kRivenCommandActivateSLST) { +				_commands.remove_at(i); +				break; +			} +		} + +		debugC(kRivenDebugPatches, "Applied incorrect steam sounds (1/2) to card %x", cardGlobalId); +	} +  	if (shouldApplyPatches) {  		for (uint i = 0; i < _commands.size(); i++) {  			_commands[i]->applyCardPatches(cardGlobalId, scriptType, hotspotId);  | 
