[Scummvm-cvs-logs] scummvm master -> dc2a456b64c86439883c57ca457c61a44a74ddfe

sev- sev at scummvm.org
Sat Aug 13 12:51:55 CEST 2016


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:
dc2a456b64 DIRECTOR: Lingo: Implemented integerp function and added stubs for 'the free*'


Commit: dc2a456b64c86439883c57ca457c61a44a74ddfe
    https://github.com/scummvm/scummvm/commit/dc2a456b64c86439883c57ca457c61a44a74ddfe
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2016-08-13T12:51:18+02:00

Commit Message:
DIRECTOR: Lingo: Implemented integerp function and added stubs for 'the free*'

Changed paths:
    engines/director/lingo/lingo-builtins.cpp
    engines/director/lingo/lingo-the.cpp
    engines/director/lingo/lingo-the.h
    engines/director/lingo/lingo.h



diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 05553fe..0e1d4f0 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -38,6 +38,7 @@ static struct BuiltinProto {
 	{ "exp",	Lingo::b_exp,		1, 1, true },	// 		D4
 	{ "float",	Lingo::b_float,		1, 1, true },	// 		D4
 	{ "integer",Lingo::b_integer,	1, 1, true },
+	{ "integerp",Lingo::b_integerp,	1, 1, true },
 	{ "log",	Lingo::b_log,		1, 1, true },	// 		D4
 	{ "pi",		Lingo::b_pi,		0, 0, true },	// 		D4
 	{ "power",	Lingo::b_power,		2, 2, true },	// 		D4
@@ -220,6 +221,14 @@ void Lingo::b_integer(int nargs) {
 	g_lingo->push(d);
 }
 
+void Lingo::b_integerp(int nargs) {
+	Datum d = g_lingo->pop();
+	int res = (d.type == INT) ? 1 : 0;
+	d.toInt();
+	d.u.i = res;
+	g_lingo->push(d);
+}
+
 void Lingo::b_log(int nargs) {
 	Datum d = g_lingo->pop();
 	d.toFloat();
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 3f4f9cc..3b00c09 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -37,9 +37,11 @@ TheEntity entities[] = {
 	{ kTheExitLock,			"exitlock",			false },
 	{ kTheFloatPrecision,	"floatPrecision",	false },
 	{ kTheFrame,			"frame",			false },
+	{ kTheFreeBlock,		"freeBlock",		false },
+	{ kTheFreeBytes,		"freeBytes",		false },
 	{ kTheItemDelimiter,	"itemDelimiter",	false },
 	{ kTheKey,				"key",				false },
-	{ kTheKeyCode,			"keycode",			false },
+	{ kTheKeyCode,			"keyCode",			false },
 	{ kTheLastClick,		"lastClick",		false },
 	{ kTheLastEvent,		"lastEvent",		false },
 	{ kTheLastFrame,		"lastFrame",		false },
diff --git a/engines/director/lingo/lingo-the.h b/engines/director/lingo/lingo-the.h
index 5fea4ba..7a27c0a 100644
--- a/engines/director/lingo/lingo-the.h
+++ b/engines/director/lingo/lingo-the.h
@@ -28,6 +28,8 @@ namespace Director {
 enum TheEntityType {
 	kTheNOEntity = 0,
 	kTheFrame = 1,
+	kTheFreeBlock,
+	kTheFreeBytes,
 	kThePathName,
 	kTheMenu,
 	kTheMenuItem,
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index a8b8c04..6fd5f19 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -271,6 +271,7 @@ public:
 	static void b_exp(int nargs);
 	static void b_float(int nargs);
 	static void b_integer(int nargs);
+	static void b_integerp(int nargs);
 	static void b_log(int nargs);
 	static void b_pi(int nargs);
 	static void b_power(int nargs);






More information about the Scummvm-git-logs mailing list