[Scummvm-git-logs] scummvm master -> 701b8dc9971d3f56a71322c3035f2eefad4f7b9c
djsrv
dservilla at gmail.com
Tue Aug 10 20:49:35 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:
701b8dc997 DIRECTOR: LINGO: Eliminate returnNumber
Commit: 701b8dc9971d3f56a71322c3035f2eefad4f7b9c
https://github.com/scummvm/scummvm/commit/701b8dc9971d3f56a71322c3035f2eefad4f7b9c
Author: djsrv (dservilla at gmail.com)
Date: 2021-08-10T16:49:43-04:00
Commit Message:
DIRECTOR: LINGO: Eliminate returnNumber
It turns out b_value can return values other than numbers despite the
documentation. returnNumber is no longer needed.
Changed paths:
engines/director/lingo/lingo-builtins.cpp
engines/director/lingo/lingo-builtins.h
engines/director/lingo/lingo-code.cpp
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 974ad60441..db9aeb8fe2 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -131,7 +131,6 @@ static BuiltinProto builtins[] = {
{ "quit", LB::b_quit, 0, 0, 200, CBLTIN }, // D2 c
{ "restart", LB::b_restart, 0, 0, 200, CBLTIN }, // D2 c
{ "return", LB::b_return, 0, 1, 200, CBLTIN }, // D2 f
- { "scummvm_returnNumber", LB::b_returnNumber, 1, 1, 200, CBLTIN }, // D2 f
{ "shutDown", LB::b_shutDown, 0, 0, 200, CBLTIN }, // D2 c
{ "startTimer", LB::b_startTimer, 0, 0, 200, CBLTIN }, // D2 c
// when keyDown // D2
@@ -527,7 +526,7 @@ void LB::b_value(int nargs) {
g_lingo->push(Datum(0));
return;
}
- Common::String code = "scummvm_returnNumber " + expr;
+ Common::String code = "return " + expr;
// Compile the code to an anonymous function and call it
ScriptContext *sc = g_lingo->_compiler->compileAnonymous(code);
Symbol sym = sc->_eventHandlers[kEventGeneric];
@@ -1510,16 +1509,6 @@ void LB::b_return(int nargs) {
LC::c_procret();
}
-void LB::b_returnNumber(int nargs) {
- Datum d = g_lingo->pop();
- // Only return numeric values
- if (d.type == INT || d.type == FLOAT)
- g_lingo->push(d);
- else
- g_lingo->push(Datum());
- LC::c_procret();
-}
-
void LB::b_restart(int nargs) {
b_quit(nargs);
diff --git a/engines/director/lingo/lingo-builtins.h b/engines/director/lingo/lingo-builtins.h
index 4c00207411..d3ba81fa3b 100644
--- a/engines/director/lingo/lingo-builtins.h
+++ b/engines/director/lingo/lingo-builtins.h
@@ -143,7 +143,6 @@ void b_restart(int nargs);
void b_shutDown(int nargs);
void b_startTimer(int nargs);
void b_return(int nargs);
-void b_returnNumber(int nargs);
void b_closeDA(int nargs);
void b_closeResFile(int nargs);
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index b3436a65c3..e51b2a508d 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -1579,7 +1579,7 @@ void LC::call(const Symbol &funcSym, int nargs, bool allowRetVal) {
uint stackSize = g_lingo->_stack.size();
- if (funcSym.u.bltin != LB::b_return && funcSym.u.bltin != LB::b_returnNumber && funcSym.u.bltin != LB::b_value) {
+ if (funcSym.u.bltin != LB::b_return && funcSym.u.bltin != LB::b_value) {
if (stackSize == stackSizeBefore + 1) {
if (!allowRetVal) {
warning("dropping return value");
More information about the Scummvm-git-logs
mailing list