[Scummvm-git-logs] scummvm master -> 0ba5fe857c330af4ddfe84c9ae50c4564a2b2e8d

sev- noreply at scummvm.org
Fri Feb 21 12:43:33 UTC 2025


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:
0ba5fe857c DRECTOR: LINGO: Restore 'member' variant with 2 arguments for D5


Commit: 0ba5fe857c330af4ddfe84c9ae50c4564a2b2e8d
    https://github.com/scummvm/scummvm/commit/0ba5fe857c330af4ddfe84c9ae50c4564a2b2e8d
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-02-21T13:42:39+01:00

Commit Message:
DRECTOR: LINGO: Restore 'member' variant with 2 arguments for D5

This partically reverts b0742e6e6d126efa156a5cc01291bbbf1638b966

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 a3ba86b7bc4..ccb41f71f6b 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -233,7 +233,7 @@ static const BuiltinProto builtins[] = {
 	// References
 	{ "cast",			LB::b_cast,			1, 1, 400, FBLTIN },	//			D4 f
 	{ "castLib",		LB::b_castLib,		1, 1, 500, FBLTIN },	//				D5 f
-	{ "member",			LB::b_member,		1, 1, 500, FBLTIN },	//				D5 f
+	{ "member",			LB::b_member,		1, 2, 500, FBLTIN },	//				D5 f
 	{ "script",			LB::b_script,		1, 1, 400, FBLTIN },	//			D4 f
 	{ "sprite",			LB::b_sprite,		1, 1, 500, FBLTIN },	//				D5 f
 	{ "window",			LB::b_window,		1, 1, 400, FBLTIN },	//			D4 f
@@ -3487,8 +3487,17 @@ void LB::b_castLib(int nargs) {
 
 void LB::b_member(int nargs) {
 	Movie *movie = g_director->getCurrentMovie();
-	Datum member = g_lingo->pop();
-	CastMemberID res = member.asMemberID();
+
+	CastMemberID res;
+	if (nargs == 1) {
+		Datum member = g_lingo->pop();
+		res = member.asMemberID();
+	} else if (nargs == 2) {
+		Datum library = g_lingo->pop();
+		Datum member = g_lingo->pop();
+		res = g_lingo->toCastMemberID(member, library);
+	}
+
 	if (!movie->getCastMember(res)) {
 		g_lingo->lingoError("No match found for cast member");
 		return;




More information about the Scummvm-git-logs mailing list