[Scummvm-git-logs] scummvm master -> 46f55589abd84ddcb7cf1195acb892a8f6316a9c
rvanlaar
roland at rolandvanlaar.nl
Sat Aug 15 13:51:28 UTC 2020
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
5ee19d2264 DIRECTOR: LINGO: Fix prop, value order
46f55589ab DIRECTOR: LINGO: Handle CASTNAME in Datum::asInt
Commit: 5ee19d2264121388f1c9caaf9f0be60047558281
https://github.com/scummvm/scummvm/commit/5ee19d2264121388f1c9caaf9f0be60047558281
Author: Roland van Laar (roland at rolandvanlaar.nl)
Date: 2020-08-15T15:42:01+02:00
Commit Message:
DIRECTOR: LINGO: Fix prop, value order
The stack was read as if the order was a list, not a stack.
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 d3233fe686..ff4da5f92a 100644
--- a/engines/director/lingo/lingo-bytecode.cpp
+++ b/engines/director/lingo/lingo-bytecode.cpp
@@ -523,8 +523,8 @@ void LC::cb_proplist() {
arraySize /= 2;
for (int i = 0; i < arraySize; i++) {
- Datum p = g_lingo->pop();
Datum v = g_lingo->pop();
+ Datum p = g_lingo->pop();
PCell cell = PCell(p, v);
result.u.parr->insert_at(0, cell);
Commit: 46f55589abd84ddcb7cf1195acb892a8f6316a9c
https://github.com/scummvm/scummvm/commit/46f55589abd84ddcb7cf1195acb892a8f6316a9c
Author: Roland van Laar (roland at rolandvanlaar.nl)
Date: 2020-08-15T15:49:51+02:00
Commit Message:
DIRECTOR: LINGO: Handle CASTNAME in Datum::asInt
The CASTNAME is converted to an int by querying for
the cast member by name.
Changed paths:
engines/director/lingo/lingo.cpp
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index cde9ec79a7..5c2005b5fb 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -841,6 +841,16 @@ int Datum::asInt() const {
int res = 0;
switch (type) {
+ case CASTNAME:
+ {
+ Movie *movie = g_director->getCurrentMovie();
+ CastMember *member = movie->getCastMemberByName(*u.s);
+ if (member)
+ res = member->getID();
+ else
+ warning("castIdFetch: reference to non-existent cast member: %s", u.s->c_str());
+ }
+ break;
case STRING:
case FIELDNAME:
case FIELDNUM:
More information about the Scummvm-git-logs
mailing list