[Scummvm-git-logs] scummvm master -> 4ed0eed29b77f6eab3d6ec997942d0cc733f8c45

dreammaster noreply at scummvm.org
Tue Oct 6 11:05:05 UTC 2026


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

Summary:
4ed0eed29b MADS: FOREST: Fix disappearing Abigail after idle anim. Bug #17285


Commit: 4ed0eed29b77f6eab3d6ec997942d0cc733f8c45
    https://github.com/scummvm/scummvm/commit/4ed0eed29b77f6eab3d6ec997942d0cc733f8c45
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-10-06T22:04:57+11:00

Commit Message:
MADS: FOREST: Fix disappearing Abigail after idle anim. Bug #17285

Thanks to fusefib for identifying the missing code in DigiPlayer

Changed paths:
    engines/mads/forest/sound/digi.cpp


diff --git a/engines/mads/forest/sound/digi.cpp b/engines/mads/forest/sound/digi.cpp
index ced2a6a59b0..55c6432f191 100644
--- a/engines/mads/forest/sound/digi.cpp
+++ b/engines/mads/forest/sound/digi.cpp
@@ -30,8 +30,8 @@ namespace MADS {
 namespace Forest {
 
 int digi_val2;
-int digi_trigger_effect;
-bool digi_trigger_dialog = false;
+int digi_trigger_effect = -1;
+bool digi_trigger_dialog = true;
 bool digi_flag1, digi_flag2;
 
 DigiPlayer::DigiPlayer(Audio::Mixer *mixer) : _mixer(mixer) {
@@ -40,7 +40,8 @@ DigiPlayer::DigiPlayer(Audio::Mixer *mixer) : _mixer(mixer) {
 	_channels[2]._triggerId = 9;
 
 	digi_val2 = 0;
-	digi_trigger_effect = 0;
+	digi_trigger_effect = -1;
+	digi_trigger_dialog = true;
 	digi_flag1 = digi_flag2 = false;
 }
 
@@ -50,6 +51,17 @@ void DigiPlayer::play(const char *name, int slot) {
 	Audio::AudioStream *audioStream;
 	Common::SeekableReadStream *src;
 
+	// The original executable copies these one-shot globals into the
+	// channel's end-trigger flag when starting playback, then restores
+	// the globals to their enabled state for the next sound.
+	if (slot == 1) {
+		c._endTrigger = digi_trigger_dialog;
+		digi_trigger_dialog = true;
+	} else if (slot == 2) {
+		c._endTrigger = digi_trigger_effect != 0;
+		digi_trigger_effect = -1;
+	}
+
 	src = env_open(Common::String::format("*%s.rac", name).c_str());
 	if (src) {
 		// Skip past the HMI header




More information about the Scummvm-git-logs mailing list