[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