[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