[Scummvm-git-logs] scummvm master -> da478005263f8c9e0d3093fc59bab6a64e6ee641
sev-
noreply at scummvm.org
Wed Jul 15 20:59:29 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:
da47800526 DIRECTOR: LINGO: Add the soundDevice entity (D7)
Commit: da478005263f8c9e0d3093fc59bab6a64e6ee641
https://github.com/scummvm/scummvm/commit/da478005263f8c9e0d3093fc59bab6a64e6ee641
Author: Gianluca Boiano (morf3089 at gmail.com)
Date: 2026-07-15T22:59:25+02:00
Commit Message:
DIRECTOR: LINGO: Add the soundDevice entity (D7)
Fixes 'LC::cb_theassign2 Can't assign theEntity: (soundDevice)' at
every movie start in physicus (StartHandler does
'the soundDevice = "QT3Mix"')
Changed paths:
engines/director/lingo/lingo-builtins.cpp
engines/director/lingo/lingo-the.cpp
engines/director/lingo/lingo-the.h
engines/director/lingo/lingo.cpp
engines/director/lingo/lingo.h
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 29d2d633e7f..e791b53fde9 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -376,7 +376,6 @@ static const BuiltinProto builtins[] = {
pathName // D5
preloadMode // D8
selectiomn // D5
- soundDevice // D7
version // D5
Movie properties:
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 11f06d77eb2..fc469c70e70 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -166,6 +166,7 @@ TheEntity entities[] = { // hasId ver. isFunction
{ kTheSerialNumber, "serialNumber", false, 500, false },// D5 p, documnted in D7
{ kTheShiftDown, "shiftDown", false, 200, true }, // D2 f
{ kTheSoundEnabled, "soundEnabled", false, 200, false },// D2 p
+ { kTheSoundDevice, "soundDevice", false, 700, false },// D7 p
{ kTheSoundEntity, "sound", true, 300, false },// D3 p
{ kTheSoundKeepDevice, "soundKeepDevice", false, 600, false },// D6 p, documented in D7
{ kTheSoundLevel, "soundLevel", false, 200, false },// D2 p
@@ -1093,6 +1094,9 @@ Datum Lingo::getTheEntity(int entity, Datum &id, int field) {
}
}
break;
+ case kTheSoundDevice:
+ d = _soundDevice;
+ break;
case kTheSoundKeepDevice:
// System property; for Windows only, prevents the sound driver from unloading
// and reloading each time a sound needs to play. The default value is TRUE.
@@ -1451,6 +1455,10 @@ void Lingo::setTheEntity(int entity, Datum &id, int field, Datum &d) {
}
}
break;
+ case kTheSoundDevice:
+ // Ignored: ScummVM has one fixed output with no switchable backend,
+ // as in Director when the requested device is unavailable.
+ break;
case kTheSoundKeepDevice:
// We do not need to unload the sound driver, so just ignore this.
break;
diff --git a/engines/director/lingo/lingo-the.h b/engines/director/lingo/lingo-the.h
index 983c963d3b0..451499c9927 100644
--- a/engines/director/lingo/lingo-the.h
+++ b/engines/director/lingo/lingo-the.h
@@ -148,6 +148,7 @@ enum TheEntityType {
kTheSelStart,
kTheSerialNumber,
kTheShiftDown,
+ kTheSoundDevice,
kTheSoundEntity,
kTheSoundEnabled,
kTheSoundKeepDevice,
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index 7988a750681..c22f6d02e67 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -207,6 +207,7 @@ Lingo::Lingo(DirectorEngine *vm) : _vm(vm) {
_trace = false;
_traceLoad = 0;
_updateMovieEnabled = false;
+ _soundDevice = "DirectSound";
// events
_passEvent = false;
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index bd168706e5b..d80362d9516 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -496,6 +496,7 @@ public:
int _traceLoad; // internal Director verbosity level
bool _updateMovieEnabled;
bool _romanLingo;
+ Common::String _soundDevice;
Datum getTheEntity(int entity, Datum &id, int field);
void setTheEntity(int entity, Datum &id, int field, Datum &d);
More information about the Scummvm-git-logs
mailing list