[Scummvm-git-logs] scummvm master -> 7df20b354d4b3d3d74fac62c89c90c27993c4acc
moralrecordings
code at moral.net.au
Mon Jun 1 10:21:43 UTC 2020
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:
7df20b354d DIRECTOR: Add stub for cb_tellcall
Commit: 7df20b354d4b3d3d74fac62c89c90c27993c4acc
https://github.com/scummvm/scummvm/commit/7df20b354d4b3d3d74fac62c89c90c27993c4acc
Author: Scott Percival (code at moral.net.au)
Date: 2020-06-01T18:21:34+08:00
Commit Message:
DIRECTOR: Add stub for cb_tellcall
Changed paths:
engines/director/lingo/lingo-bytecode.cpp
engines/director/lingo/lingo-code.cpp
engines/director/lingo/lingo-code.h
diff --git a/engines/director/lingo/lingo-bytecode.cpp b/engines/director/lingo/lingo-bytecode.cpp
index ec8d17414d..8273956da7 100644
--- a/engines/director/lingo/lingo-bytecode.cpp
+++ b/engines/director/lingo/lingo-bytecode.cpp
@@ -95,6 +95,7 @@ static LingoV4Bytecode lingoV4[] = {
{ 0x60, LC::cb_theassign2, "b" },
{ 0x61, LC::cb_objectfieldpush, "b" },
{ 0x62, LC::cb_objectfieldassign, "b" },
+ { 0x63, LC::cb_tellcall, "b" },
{ 0x64, LC::c_stackpeek, "b" },
{ 0x65, LC::c_stackdrop, "b" },
{ 0x66, LC::cb_v4theentitynamepush, "b" },
@@ -469,6 +470,23 @@ void LC::cb_objectpush() {
g_lingo->push(result);
}
+void LC::cb_tellcall() {
+ int nameId = g_lingo->readInt();
+ Common::String name = g_lingo->getName(nameId);
+ warning("STUB: cb_tellcall(%s)", name.c_str());
+
+ Datum nargs = g_lingo->pop();
+ if ((nargs.type == ARGC) || (nargs.type == ARGCNORET)) {
+ //LC::call(name, nargs.u.i);
+ for (int i = 0; i < nargs.u.i; i++) {
+ g_lingo->pop();
+ }
+ } else {
+ warning("cb_tellcall: first arg should be of type ARGC or ARGCNORET, not %s", nargs.type2str());
+ }
+
+}
+
void LC::cb_theassign() {
int nameId = g_lingo->readInt();
Common::String name = g_lingo->getName(nameId);
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index ecc120fe1f..83438530bf 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -148,6 +148,7 @@ static struct FuncDescr {
{ LC::cb_objectfieldassign, "cb_objectfieldassign", "N" },
{ LC::cb_objectfieldpush, "cb_objectfieldpush", "N" },
{ LC::cb_objectpush, "cb_objectpush", "N" },
+ { LC::cb_tellcall, "cb_tellcall", "N" },
{ LC::cb_theassign, "cb_theassign", "N" },
{ LC::cb_theassign2, "cb_theassign2", "N" },
{ LC::cb_thepush, "cb_thepush", "N" },
diff --git a/engines/director/lingo/lingo-code.h b/engines/director/lingo/lingo-code.h
index 2b62f92fdd..b3635b8efb 100644
--- a/engines/director/lingo/lingo-code.h
+++ b/engines/director/lingo/lingo-code.h
@@ -155,6 +155,7 @@ namespace LC {
void cb_objectfieldassign();
void cb_objectfieldpush();
void cb_objectpush();
+ void cb_tellcall();
void cb_theassign();
void cb_theassign2();
void cb_thepush();
More information about the Scummvm-git-logs
mailing list