[Scummvm-git-logs] scummvm master -> a81fd639c2a172f6efb7046cee1b733cc5d91aeb

moralrecordings noreply at scummvm.org
Sat Jul 8 08:48:51 UTC 2023


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:
a81fd639c2 DIRECTOR: Implement deskTopRectList, stub for "the memberNum of sprite"


Commit: a81fd639c2a172f6efb7046cee1b733cc5d91aeb
    https://github.com/scummvm/scummvm/commit/a81fd639c2a172f6efb7046cee1b733cc5d91aeb
Author: eientei (einstein95 at users.noreply.github.com)
Date: 2023-07-08T16:48:48+08:00

Commit Message:
DIRECTOR: Implement deskTopRectList, stub for "the memberNum of sprite"

Changed paths:
    engines/director/lingo/lingo-bytecode.cpp
    engines/director/lingo/lingo-the.cpp
    engines/director/lingo/lingo-the.h
    engines/director/lingo/lingo.h


diff --git a/engines/director/lingo/lingo-bytecode.cpp b/engines/director/lingo/lingo-bytecode.cpp
index 76a4429221f..5c6932eb1fe 100644
--- a/engines/director/lingo/lingo-bytecode.cpp
+++ b/engines/director/lingo/lingo-bytecode.cpp
@@ -214,6 +214,7 @@ static LingoV4TheEntity lingoV4TheEntity[] = {
 	{ 0x06, 0x20, kTheSprite,			kTheScoreColor,		true, kTEAItemId },
 	{ 0x06, 0x21, kTheSprite,			kTheLoc,			true, kTEAItemId },
 	{ 0x06, 0x22, kTheSprite,			kTheRect,			true, kTEAItemId },
+	{ 0x06, 0x23, kTheSprite,			kTheMemberNum,		true, kTEAItemId },
 
 	{ 0x07, 0x01, kTheBeepOn,			kTheNOField,		true, kTEANOArgs },
 	{ 0x07, 0x02, kTheButtonStyle,		kTheNOField,		true, kTEANOArgs },
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index e6e75ab4c27..e9aaf3f85a4 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -64,6 +64,7 @@ TheEntity entities[] = {
 	{ kTheCommandDown,		"commandDown",		false, 200, true },	// D2 f
 	{ kTheControlDown,		"controlDown",		false, 200, true },	// D2 f
 	{ kTheDate,				"date",				false, 300, true },	//		D3 f
+	{ kTheDeskTopRectList,	"deskTopRectList",	false, 500, true },	// D5 p
 	{ kTheDoubleClick,		"doubleClick",		false, 200, true },	// D2 f
 	{ kTheExitLock,			"exitLock",			false, 200, false },	// D2 p
 	{ kTheField,			"field",			true,  300, false },	//		D3
@@ -437,6 +438,9 @@ Datum Lingo::getTheEntity(int entity, Datum &id, int field) {
 	case kTheDate:
 		d = getTheDate(field);
 		break;
+	case kTheDeskTopRectList:
+		d = getTheDeskTopRectList();
+		break;
 	case kTheDoubleClick:
 		// Always measured against the last two clicks.
 		// 25 ticks seems to be the threshold for a double click.
@@ -2066,4 +2070,22 @@ Datum Lingo::getTheTime(int field) {
 	return d;
 }
 
+Datum Lingo::getTheDeskTopRectList() {
+	// Returns dimensions of each monitor
+	Datum monitorSize;
+	monitorSize.type = RECT;
+	monitorSize.u.farr = new FArray;
+	monitorSize.u.farr->arr.push_back(0);
+	monitorSize.u.farr->arr.push_back(0);
+	monitorSize.u.farr->arr.push_back(g_director->getMacWindowManager()->getWidth());
+	monitorSize.u.farr->arr.push_back(g_director->getMacWindowManager()->getHeight());
+
+	Datum d;
+	d.type = ARRAY;
+	d.u.farr = new FArray;
+	d.u.farr->arr.push_back(monitorSize);
+
+	return d;
+}
+
 } // End of namespace Director
diff --git a/engines/director/lingo/lingo-the.h b/engines/director/lingo/lingo-the.h
index 74c45d1c4c2..70f2beea68d 100644
--- a/engines/director/lingo/lingo-the.h
+++ b/engines/director/lingo/lingo-the.h
@@ -45,6 +45,7 @@ enum TheEntityType {
 	kTheCommandDown,
 	kTheControlDown,
 	kTheDate,
+	kTheDeskTopRectList,
 	kTheDoubleClick,
 	kTheExitLock,
 	kTheField,
@@ -186,6 +187,7 @@ enum TheFieldType {
 	kTheLocV,
 	kTheLong,
 	kTheLoop,
+	kTheMemberNum,
 	kTheModal,
 	kTheModified,
 	kTheMoveableSprite,
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index 94f0e366830..6af4c1aa02a 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -463,6 +463,7 @@ public:
 	void setObjectProp(Datum &obj, Common::String &propName, Datum &d);
 	Datum getTheDate(int field);
 	Datum getTheTime(int field);
+	Datum getTheDeskTopRectList();
 
 private:
 	Common::StringArray _entityNames;




More information about the Scummvm-git-logs mailing list