[Scummvm-git-logs] scummvm master -> 2c272151fa30da0373918ff4a47bf56d693e0402

dreammaster noreply at scummvm.org
Tue Feb 24 09:34:19 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:
2c272151fa BAGEL: METAGAME: Stop in-progress speech when closing a minigame exit dialog


Commit: 2c272151fa30da0373918ff4a47bf56d693e0402
    https://github.com/scummvm/scummvm/commit/2c272151fa30da0373918ff4a47bf56d693e0402
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-02-24T20:34:10+11:00

Commit Message:
BAGEL: METAGAME: Stop in-progress speech when closing a minigame exit dialog

Changed paths:
    NEWS.md
    engines/bagel/hodjnpodj/metagame/gtl/gtlmve.cpp


diff --git a/NEWS.md b/NEWS.md
index b6c0df8bec4..8f9f078b314 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -16,6 +16,7 @@ For a more comprehensive changelog of the latest experimental code, see:
    - Hopeful fix for occasional crash entering boardgame stores.
    - Fix crash when hiding boardgame turn start spinner.
    - Fix Poker minigame bet icons rendering over game over dialog.
+   - Stop in-progress speech when closing a minigame exit dialog
 
  M4:
    - Added music support in Ripley.
diff --git a/engines/bagel/hodjnpodj/metagame/gtl/gtlmve.cpp b/engines/bagel/hodjnpodj/metagame/gtl/gtlmve.cpp
index 16716735c0a..38570814db9 100644
--- a/engines/bagel/hodjnpodj/metagame/gtl/gtlmve.cpp
+++ b/engines/bagel/hodjnpodj/metagame/gtl/gtlmve.cpp
@@ -2602,38 +2602,39 @@ bool CGtlData::ProcessGameResult(CXodj *xpXodj, int iGameCode, LPGAMESTRUCT lpGa
 		//
 		iSoundCode -= MG_SOUND_BASE;
 		assert(iSoundCode >= 0 && iSoundCode <= MG_SOUND_MAX);
-		if ((pSound = new CSound(xpGtlView, szGameSounds[iSoundCode], SOUND_WAVE | SOUND_QUEUE | SOUND_ASYNCH | SOUND_AUTODELETE)) != nullptr) {
+		if ((pSound = new CSound(xpGtlView, szGameSounds[iSoundCode],
+			SOUND_WAVE | SOUND_QUEUE | SOUND_ASYNCH | (bWin ? 0 : SOUND_AUTODELETE) )) != nullptr) {
 			pSound->setDrivePath(lpMetaGameStruct->m_chCDPath);
 			pSound->play();
 		}
 	}
 
 	if (bWin) {
-
+		// Win information
 		switch (iWinCode) {
-
-		// win information
-		//
 		case MG_WIN_INFO:
 			DivulgeInformation(m_xpCurXodj, false);
-			break ;
+			break;
 
-		// give the player an object from storage
-		//
+		// Give the player an object from storage
 		case MG_WIN_OBJECT:
 			GainRandomItem(m_xpCurXodj);
-			break ;
+			break;
 
-		// player gains
-		//
+		// Player gains money
 		case MG_WIN_MONEY:
-
 			if (lMoneyWon > 0)
 				GainMoney(m_xpCurXodj, lMoneyWon);
-			break ;
+			break;
 
 		default:
-			break ;
+			break;
+		}
+
+		// Stop playing dialog dictation if it's still playing, now that the dialog is closed
+		if (pSound != nullptr) {
+			pSound->stop();
+			delete pSound;
 		}
 	}
 




More information about the Scummvm-git-logs mailing list