[Scummvm-git-logs] scummvm master -> eb7f93e6701505b0a939bd2cb31c2994b03bd05c
djsrv
dservilla at gmail.com
Mon Jun 28 18:21:42 UTC 2021
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:
eb7f93e670 DIRECTOR: LINGO: Make undefined function/property cause Lingo error
Commit: eb7f93e6701505b0a939bd2cb31c2994b03bd05c
https://github.com/scummvm/scummvm/commit/eb7f93e6701505b0a939bd2cb31c2994b03bd05c
Author: djsrv (dservilla at gmail.com)
Date: 2021-06-28T14:21:46-04:00
Commit Message:
DIRECTOR: LINGO: Make undefined function/property cause Lingo error
Changed paths:
engines/director/lingo/lingo-code.cpp
engines/director/lingo/lingo-the.cpp
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index 694356043e..01e0dbd387 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -1407,7 +1407,7 @@ void LC::call(const Common::String &name, int nargs, bool allowRetVal) {
g_lingo->_stack[g_lingo->_stack.size() - nargs] = funcSym.target; // Set first arg to target
call(funcSym, nargs, allowRetVal);
} else {
- warning("Object <%s> has no method '%s'", obj.asString(true).c_str(), firstArg.u.s->c_str());
+ g_lingo->lingoError("Object <%s> has no method '%s'", obj.asString(true).c_str(), firstArg.u.s->c_str());
}
return;
}
@@ -1459,7 +1459,7 @@ void LC::call(const Symbol &funcSym, int nargs, bool allowRetVal) {
Datum target = funcSym.target;
if (funcSym.type == VOIDSYM) {
- warning("Call to undefined handler. Dropping %d stack items", nargs);
+ g_lingo->lingoError("Call to undefined handler. Dropping %d stack items", nargs);
for (int i = 0; i < nargs; i++)
g_lingo->pop();
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 1fd50f177b..839a4f658f 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -1603,7 +1603,7 @@ void Lingo::getObjectProp(Datum &obj, Common::String &propName) {
if (obj.u.obj->hasProp(propName)) {
d = obj.u.obj->getProp(propName);
} else {
- warning("Lingo::getObjectProp: Object <%s> has no property '%s'", obj.asString(true).c_str(), propName.c_str());
+ g_lingo->lingoError("Lingo::getObjectProp: Object <%s> has no property '%s'", obj.asString(true).c_str(), propName.c_str());
}
g_lingo->push(d);
return;
@@ -1619,7 +1619,7 @@ void Lingo::getObjectProp(Datum &obj, Common::String &propName) {
if (obj.type == CASTREF) {
Movie *movie = _vm->getCurrentMovie();
if (!movie) {
- warning("Lingo::getObjectProp(): No movie loaded");
+ g_lingo->lingoError("Lingo::getObjectProp(): No movie loaded");
g_lingo->push(d);
return;
}
@@ -1630,7 +1630,7 @@ void Lingo::getObjectProp(Datum &obj, Common::String &propName) {
if (propName.equalsIgnoreCase("loaded")) {
d = 0;
} else {
- warning("Lingo::getObjectProp(): CastMember %d not found", id);
+ g_lingo->lingoError("Lingo::getObjectProp(): CastMember %d not found", id);
}
g_lingo->push(d);
return;
@@ -1639,7 +1639,7 @@ void Lingo::getObjectProp(Datum &obj, Common::String &propName) {
if (member->hasProp(propName)) {
d = member->getProp(propName);
} else {
- warning("Lingo::getObjectProp(): CastMember %d has no property '%s'", id, propName.c_str());
+ g_lingo->lingoError("Lingo::getObjectProp(): CastMember %d has no property '%s'", id, propName.c_str());
}
g_lingo->push(d);
return;
@@ -1649,7 +1649,7 @@ void Lingo::getObjectProp(Datum &obj, Common::String &propName) {
LC::call(_builtinFuncs[propName], 1, true);
return;
}
- warning("Lingo::getObjectProp: Invalid object: %s", obj.asString(true).c_str());
+ g_lingo->lingoError("Lingo::getObjectProp: Invalid object: %s", obj.asString(true).c_str());
g_lingo->push(d);
}
@@ -1658,7 +1658,7 @@ void Lingo::setObjectProp(Datum &obj, Common::String &propName, Datum &val) {
if (obj.u.obj->hasProp(propName)) {
obj.u.obj->setProp(propName, val);
} else {
- warning("Lingo::setObjectProp: Object <%s> has no property '%s'", obj.asString(true).c_str(), propName.c_str());
+ g_lingo->lingoError("Lingo::setObjectProp: Object <%s> has no property '%s'", obj.asString(true).c_str(), propName.c_str());
}
} else if (obj.type == PARRAY) {
int index = LC::compareArrays(LC::eqData, obj, propName, true).u.i;
@@ -1671,24 +1671,24 @@ void Lingo::setObjectProp(Datum &obj, Common::String &propName, Datum &val) {
} else if (obj.type == CASTREF) {
Movie *movie = _vm->getCurrentMovie();
if (!movie) {
- warning("Lingo::setObjectProp(): No movie loaded");
+ g_lingo->lingoError("Lingo::setObjectProp(): No movie loaded");
return;
}
int id = obj.u.i;
CastMember *member = movie->getCastMember(id);
if (!member) {
- warning("Lingo::setObjectProp(): CastMember %d not found", id);
+ g_lingo->lingoError("Lingo::setObjectProp(): CastMember %d not found", id);
return;
}
if (member->hasProp(propName)) {
member->setProp(propName, val);
} else {
- warning("Lingo::setObjectProp(): CastMember %d has no property '%s'", id, propName.c_str());
+ g_lingo->lingoError("Lingo::setObjectProp(): CastMember %d has no property '%s'", id, propName.c_str());
}
} else {
- warning("Lingo::setObjectProp: Invalid object: %s", obj.asString(true).c_str());
+ g_lingo->lingoError("Lingo::setObjectProp: Invalid object: %s", obj.asString(true).c_str());
}
}
More information about the Scummvm-git-logs
mailing list