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

djsrv dservilla at gmail.com
Fri Jul 24 04:14:43 UTC 2020


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

Summary:
b014a78df1 DIRECTOR: LINGO: Fix setting window props
73c25028b8 DIRECTOR: LINGO: Add custom asString for window
dc3216dab8 DIRECTOR: LINGO: Fix cb_objectfieldassign


Commit: b014a78df1f66ed17d61e99b2c8330d143a2cfbd
    https://github.com/scummvm/scummvm/commit/b014a78df1f66ed17d61e99b2c8330d143a2cfbd
Author: djsrv (dservilla at gmail.com)
Date: 2020-07-24T00:08:37-04:00

Commit Message:
DIRECTOR: LINGO: Fix setting window props

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


diff --git a/engines/director/lingo/lingo-object.cpp b/engines/director/lingo/lingo-object.cpp
index ae398fe525..d97296c6d7 100644
--- a/engines/director/lingo/lingo-object.cpp
+++ b/engines/director/lingo/lingo-object.cpp
@@ -320,12 +320,14 @@ void LM::m_respondsTo(int nargs) {
 // Window
 
 bool Stage::hasProp(const Common::String &propName) {
-	return g_lingo->_theEntityFields.contains(propName) && g_lingo->_theEntityFields[propName]->entity == kTheWindow;
+	Common::String fieldName = Common::String::format("%d%s", kTheWindow, propName.c_str());
+	return g_lingo->_theEntityFields.contains(fieldName);
 }
 
 Datum Stage::getProp(const Common::String &propName) {
-	if (g_lingo->_theEntityFields.contains(propName) && g_lingo->_theEntityFields[propName]->entity == kTheWindow) {
-		return getField(g_lingo->_theEntityFields[propName]->field);
+	Common::String fieldName = Common::String::format("%d%s", kTheWindow, propName.c_str());
+	if (g_lingo->_theEntityFields.contains(fieldName)) {
+		return getField(g_lingo->_theEntityFields[fieldName]->field);
 	}
 
 	warning("Stage::getProp: unknown property '%s'", propName.c_str());
@@ -333,8 +335,9 @@ Datum Stage::getProp(const Common::String &propName) {
 }
 
 bool Stage::setProp(const Common::String &propName, const Datum &value) {
-	if (g_lingo->_theEntityFields.contains(propName) && g_lingo->_theEntityFields[propName]->entity == kTheWindow) {
-		return setField(g_lingo->_theEntityFields[propName]->field, value);
+	Common::String fieldName = Common::String::format("%d%s", kTheWindow, propName.c_str());
+	if (g_lingo->_theEntityFields.contains(fieldName)) {
+		return setField(g_lingo->_theEntityFields[fieldName]->field, value);
 	}
 
 	warning("Stage::setProp: unknown property '%s'", propName.c_str());


Commit: 73c25028b8dc33112ac058bd5177b66b7c692520
    https://github.com/scummvm/scummvm/commit/73c25028b8dc33112ac058bd5177b66b7c692520
Author: djsrv (dservilla at gmail.com)
Date: 2020-07-24T00:10:03-04:00

Commit Message:
DIRECTOR: LINGO: Add custom asString for window

Changed paths:
    engines/director/lingo/lingo-object.cpp
    engines/director/stage.h


diff --git a/engines/director/lingo/lingo-object.cpp b/engines/director/lingo/lingo-object.cpp
index d97296c6d7..64fa5dd0fd 100644
--- a/engines/director/lingo/lingo-object.cpp
+++ b/engines/director/lingo/lingo-object.cpp
@@ -319,6 +319,10 @@ void LM::m_respondsTo(int nargs) {
 
 // Window
 
+Common::String Stage::asString() {
+	return "window \"" + getName() + "\"";
+}
+
 bool Stage::hasProp(const Common::String &propName) {
 	Common::String fieldName = Common::String::format("%d%s", kTheWindow, propName.c_str());
 	return g_lingo->_theEntityFields.contains(fieldName);
diff --git a/engines/director/stage.h b/engines/director/stage.h
index 5791c8fe0a..1b8be74c8e 100644
--- a/engines/director/stage.h
+++ b/engines/director/stage.h
@@ -144,6 +144,7 @@ class Stage : public Graphics::MacWindow, public Object<Stage> {
 	void loadMac(const Common::String movie);
 
 	// lingo/lingo-object.cpp
+	virtual Common::String asString();
 	virtual bool hasProp(const Common::String &propName);
 	virtual Datum getProp(const Common::String &propName);
 	virtual bool setProp(const Common::String &propName, const Datum &value);


Commit: dc3216dab8df37290a812264f0e62f3646c57bb5
    https://github.com/scummvm/scummvm/commit/dc3216dab8df37290a812264f0e62f3646c57bb5
Author: djsrv (dservilla at gmail.com)
Date: 2020-07-24T00:13:51-04:00

Commit Message:
DIRECTOR: LINGO: Fix cb_objectfieldassign

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


diff --git a/engines/director/lingo/lingo-bytecode.cpp b/engines/director/lingo/lingo-bytecode.cpp
index 0813482eb7..6ab8734604 100644
--- a/engines/director/lingo/lingo-bytecode.cpp
+++ b/engines/director/lingo/lingo-bytecode.cpp
@@ -575,8 +575,8 @@ void LC::cb_globalassign() {
 void LC::cb_objectfieldassign() {
 	int fieldNameId = g_lingo->readInt();
 	Common::String fieldName = g_lingo->_currentArchive->getName(fieldNameId);
-	Datum object = g_lingo->pop();
 	Datum value = g_lingo->pop();
+	Datum object = g_lingo->pop();
 	g_lingo->setObjectProp(object, fieldName, value);
 }
 




More information about the Scummvm-git-logs mailing list