[Scummvm-git-logs] scummvm master -> 45f81efd1770c867eb8dcc05b587eca7fb2f1a5e
AndywinXp
noreply at scummvm.org
Mon Jul 14 08:47:42 UTC 2025
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:
45f81efd17 SCUMM: DIMUSE: Make COMI xor flag handling more robust
Commit: 45f81efd1770c867eb8dcc05b587eca7fb2f1a5e
https://github.com/scummvm/scummvm/commit/45f81efd1770c867eb8dcc05b587eca7fb2f1a5e
Author: AndywinXp (andywinxp at gmail.com)
Date: 2025-07-14T10:47:35+02:00
Commit Message:
SCUMM: DIMUSE: Make COMI xor flag handling more robust
Changed paths:
engines/scumm/imuse_digi/dimuse_scripts.cpp
engines/scumm/imuse_digi/dimuse_waveout.cpp
diff --git a/engines/scumm/imuse_digi/dimuse_scripts.cpp b/engines/scumm/imuse_digi/dimuse_scripts.cpp
index 41a12ffb159..8022cb19aa6 100644
--- a/engines/scumm/imuse_digi/dimuse_scripts.cpp
+++ b/engines/scumm/imuse_digi/dimuse_scripts.cpp
@@ -761,9 +761,8 @@ void IMuseDigital::playComiMusic(const char *songName, const imuseComiTable *tab
// This flag is not set in the original,
// but since we're not using DirectSound and this is pretty much timing related
// please see IMuseDigital::waveOutWrite() for more context...
- _mutex->lock();
+ Common::StackLock lock(*_mutex);
_waveOutXorTrigger = 1;
- _mutex->unlock();
if ((songName != nullptr) && (attribPos != 0)) {
if (table->attribPos != 0)
diff --git a/engines/scumm/imuse_digi/dimuse_waveout.cpp b/engines/scumm/imuse_digi/dimuse_waveout.cpp
index 61230d9e2ad..91a2e124f87 100644
--- a/engines/scumm/imuse_digi/dimuse_waveout.cpp
+++ b/engines/scumm/imuse_digi/dimuse_waveout.cpp
@@ -98,7 +98,7 @@ void IMuseDigital::waveOutWrite(uint8 **audioData, int &feedSize, int &sampleRat
//
// We're not using DirectSound, so recreate this I could either simulate the
// play cursor handling shenanigans, or I could just do exactly what I have done :-)
- if (_vm->_game.id == GID_CMI && _waveOutXorTrigger == 1) {
+ if (_vm->_game.id == GID_CMI && _waveOutXorTrigger != 0) {
_waveOutXorTrigger = 0;
return;
}
More information about the Scummvm-git-logs
mailing list