[Scummvm-cvs-logs] scummvm branch-1-8 -> df6f6abcf5185748644ad538fe4ad6999031125a
DrMcCoy
drmccoy at drmccoy.de
Sun Feb 28 21:09:15 CET 2016
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:
df6f6abcf5 GOB: Don't completely reset the OPL in AdLib::initOPL()
Commit: df6f6abcf5185748644ad538fe4ad6999031125a
https://github.com/scummvm/scummvm/commit/df6f6abcf5185748644ad538fe4ad6999031125a
Author: Sven Hesse (drmccoy at users.sourceforge.net)
Date: 2016-02-28T21:08:15+01:00
Commit Message:
GOB: Don't completely reset the OPL in AdLib::initOPL()
It shouldn't be necessary anymore, since initOPL() cleans everything.
If, however, suddenly a piece of music sounds weird in a Gob game,
this is the place to look for.
This fixes a race condition between OPL::reset() and the callback
timer.
Changed paths:
engines/gob/sound/adlib.cpp
diff --git a/engines/gob/sound/adlib.cpp b/engines/gob/sound/adlib.cpp
index 1e024d5..2a9a716 100644
--- a/engines/gob/sound/adlib.cpp
+++ b/engines/gob/sound/adlib.cpp
@@ -283,7 +283,12 @@ void AdLib::initOPL() {
_voiceOn [i] = 0;
}
- _opl->reset();
+ /* NOTE: We used to completely reset the OPL here, via _opl->reset(). However,
+ * with the OPL timer change in 73e8ac2a, reset() must not be called while
+ * the callback is still active. With the Gob AdLib rewrite in 03ef6689,
+ * this reset shouldn't be necessary anymore either, since this function
+ * here cleans everything properly anyway. If suddenly a certain piece of
+ * music in a Gob game sounds weird, we need to re-examine that. */
initOperatorVolumes();
resetFreqs();
More information about the Scummvm-git-logs
mailing list