[Scummvm-git-logs] scummvm master -> 358bab41c3e9be8c63bd270b9b26560f5277e15f
mduggan
noreply at scummvm.org
Sun Nov 9 06:12:22 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:
358bab41c3 DGDS: Don't crash trying adlib sound in beamish demo
Commit: 358bab41c3e9be8c63bd270b9b26560f5277e15f
https://github.com/scummvm/scummvm/commit/358bab41c3e9be8c63bd270b9b26560f5277e15f
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2025-11-09T17:12:05+11:00
Commit Message:
DGDS: Don't crash trying adlib sound in beamish demo
The Willy Beamish interactive demo contains a basically blank section for the
adlib patch data. Instead of crashing, just log a warning and don't play any
sound in this case.
Fixes #16313.
Changed paths:
engines/dgds/sound/drivers/adlib.cpp
diff --git a/engines/dgds/sound/drivers/adlib.cpp b/engines/dgds/sound/drivers/adlib.cpp
index ad4001a5650..6f096974398 100644
--- a/engines/dgds/sound/drivers/adlib.cpp
+++ b/engines/dgds/sound/drivers/adlib.cpp
@@ -810,7 +810,7 @@ void MidiDriver_AdLib::playSwitch(bool play) {
bool MidiDriver_AdLib::loadResource(const SciSpan<const byte> &data) {
const uint32 size = data.size();
if (size != 1344 && size != 2690 && size != 5382) {
- error("ADLIB: Unsupported patch format (%u bytes)", size);
+ warning("ADLIB: Unsupported patch format (%u bytes)", size);
return false;
}
@@ -859,6 +859,14 @@ int MidiPlayer_AdLib::open() {
if (res) {
ok = static_cast<MidiDriver_AdLib *>(_driver)->loadResource(*res);
delete res;
+
+ // WORKAROUND: The Willy Beamish interactive demo has empty Adlib patch
+ // data. Ignore the failure there.
+ const DgdsEngine *engine = DgdsEngine::getInstance();
+ if (!ok && engine->getGameId() == GID_WILLY && engine->isDemo()) {
+ warning("No ADLIB sound available for Willy Beamish demo");
+ ok = true;
+ }
} else {
// Early SCI0 games have the sound bank embedded in the AdLib driver
More information about the Scummvm-git-logs
mailing list