[Scummvm-git-logs] scummvm master -> c245fc2476d9f9348b2a4bbee5e4a556e0c96aad
sev-
noreply at scummvm.org
Wed May 13 21:50:09 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:
c245fc2476 DIRECTOR: LINGO: Skip D6 mixed compare guard for location lookups
Commit: c245fc2476d9f9348b2a4bbee5e4a556e0c96aad
https://github.com/scummvm/scummvm/commit/c245fc2476d9f9348b2a4bbee5e4a556e0c96aad
Author: Lothar Serra Mari (mail at serra.me)
Date: 2026-05-13T23:50:04+02:00
Commit Message:
DIRECTOR: LINGO: Skip D6 mixed compare guard for location lookups
Only apply the D6 mixed array/scalar short-circuit for direct relational comparisons.
Do not apply it in location mode, so list/property key lookups (e.g. getPos/getProp paths) continue to work.
This fixes a regression introduced in 6292b5d822b9280030bd0b32c02780bd1957fafe, where
in-game sound fails to play in D6 games. Test subject was "melements".
Assisted-by: GitHub Copilot:GPT-5.3-Codex
Changed paths:
engines/director/lingo/lingo-code.cpp
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index 955a1f3226b..6d1a422f89c 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -1343,8 +1343,10 @@ Datum LC::compareArrays(Datum (*compareFunc)(Datum, Datum), Datum d1, Datum d2,
// At least one of d1 and d2 must be an array
bool d1isArr = d1.isArray() || d1.type == PARRAY;
bool d2isArr = d2.isArray() || d2.type == PARRAY;
- // As far as I can tell, D6 no longer does partial array or element-to-array comparison
- if ((g_director->getVersion() >= 600) && (!(d1isArr && d2isArr))) {
+ // In D6 and higher, direct relational comparison no longer does partial array or
+ // element-to-array coercion. However, location mode still needs
+ // scalar-to-element checks while scanning array entries.
+ if ((g_director->getVersion() >= 600) && !location && (!(d1isArr && d2isArr))) {
return Datum(0);
}
More information about the Scummvm-git-logs
mailing list