[Scummvm-git-logs] scummvm master -> 1665d9d3a5490d8af268309158cc6201659037a9

sev- noreply at scummvm.org
Mon Oct 13 23:56:58 UTC 2025


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .

Summary:
00aee70c44 DIRECTOR: LINGO: D6+ allows referring to non-existent cast members
1665d9d3a5 DIRECTOR: LINGO: Fix PutCurs Xtra arguments


Commit: 00aee70c44f9a070b5531df0fd07030a2ef66fe9
    https://github.com/scummvm/scummvm/commit/00aee70c44f9a070b5531df0fd07030a2ef66fe9
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-10-14T01:49:16+02:00

Commit Message:
DIRECTOR: LINGO: D6+ allows referring to non-existent cast members

It returns type #empty. Fixes intro.dxr in melements, where it
tries to find the last cast in castlib:

on getLastMember whichCast, fromWhichMem
  if the paramCount < 2 then
    set fromWhichMem to 2000
  end if
  repeat with n = whichCast + fromWhichMem down to whichCast
    if the type of member n <> #empty then
      set num to n
    else
    end if
  end repeat
  return num - whichCast
end

Changed paths:
    engines/director/lingo/lingo-builtins.cpp


diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index c7606fbd9ed..8e8513e5a24 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -3929,8 +3929,10 @@ void LB::b_member(int nargs) {
 	}
 
 	if (res.member > g_lingo->getMembersNum(res.castLib)) {
-		g_lingo->lingoError("b_member: Cast member ID out of range");
-		return;
+		if (g_director->getVersion() < 600) {
+			g_lingo->lingoError("b_member: Cast member ID out of range");
+			return;
+		}
 	}
 	g_lingo->push(res);
 }


Commit: 1665d9d3a5490d8af268309158cc6201659037a9
    https://github.com/scummvm/scummvm/commit/1665d9d3a5490d8af268309158cc6201659037a9
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-10-14T01:56:30+02:00

Commit Message:
DIRECTOR: LINGO: Fix PutCurs Xtra arguments

Changed paths:
    engines/director/lingo/xlibs/p/putcurs.cpp


diff --git a/engines/director/lingo/xlibs/p/putcurs.cpp b/engines/director/lingo/xlibs/p/putcurs.cpp
index 86c82f77e04..854304b7661 100644
--- a/engines/director/lingo/xlibs/p/putcurs.cpp
+++ b/engines/director/lingo/xlibs/p/putcurs.cpp
@@ -86,8 +86,8 @@ void PutcursXObj::m_set(int nargs) {
 		g_lingo->dropStack(nargs);
 		return;
 	}
-	int x = g_lingo->pop().asInt();
 	int y = g_lingo->pop().asInt();
+	int x = g_lingo->pop().asInt();
 	g_system->warpMouse(x, y);
 }
 




More information about the Scummvm-git-logs mailing list