[Scummvm-git-logs] scummvm master -> aef0ccab4d8fc0f69300257529e07a0d76352b1f

NMIError 60350957+NMIError at users.noreply.github.com
Tue Dec 8 21:11:08 UTC 2020


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
aef0ccab4d LURE: Fix castle cellar wine cask sound


Commit: aef0ccab4d8fc0f69300257529e07a0d76352b1f
    https://github.com/scummvm/scummvm/commit/aef0ccab4d8fc0f69300257529e07a0d76352b1f
Author: NMIError (crampen at gmail.com)
Date: 2020-12-08T22:10:44+01:00

Commit Message:
LURE: Fix castle cellar wine cask sound

In the castle cellar, when you pull the bung out of the wine cask, a sound is
played for the running wine. However, when the cask runs empty, the sound is
not stopped. Also, when the Skorl starts drinking the wine, the sound is not
restarted when you enter the room, and it is also not stopped when the wine
runs out. These issues exist with the original interpreter as well.

I fixed this by adding the running wine sound when the hotspot script for the
drinking Skorl is in the loop where the Skorl is drinking, and removing the
sound when the hotspot script for the running wine is unloaded and when the
running wine stops in the animation for the drinking Skorl.

Changed paths:
    engines/lure/scripts.cpp


diff --git a/engines/lure/scripts.cpp b/engines/lure/scripts.cpp
index ab24c3c767..6e4242619d 100644
--- a/engines/lure/scripts.cpp
+++ b/engines/lure/scripts.cpp
@@ -1240,6 +1240,19 @@ bool HotspotScript::execute(Hotspot *h) {
 		h->hotspotId(), offset);
 
 	while (!breakFlag) {
+		// WORKAROUND In the castle cellar, when you pull the bung out of the
+		// wine cask, a running wine sound is started. However, when the cask
+		// runs empty, the sound is not stopped. Also, when the Skorl starts
+		// drinking the wine, the sound is not restarted when you enter the
+		// room, and it also is not stopped when the wine runs out.
+		if (room.roomNumber() == 0x002A) {
+			if (offset == 0x0CA2)		 // start of drinking Skorl script
+				Sound.addSound2(0x2B);
+			else if (offset == 0x0D12	 // end of cask script
+					|| offset == 0x0CC4) // wine running out in drinking Skorl script
+				Sound.stopSound(0x2B);
+		}
+
 		opcode = nextVal(scriptData, offset);
 
 		switch (opcode) {




More information about the Scummvm-git-logs mailing list