aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2016-08-17 00:07:40 +0200
committerEugene Sandulenko2016-08-17 00:14:50 +0200
commit9117ca6ad312fa6f95a93be3e09183ba64a84249 (patch)
treeea898d5a06660f9769b0714c6fbdad67d2200d93
parent9c0d9106509900c7faa42f2952474095a4bbbf11 (diff)
downloadscummvm-rg350-9117ca6ad312fa6f95a93be3e09183ba64a84249.tar.gz
scummvm-rg350-9117ca6ad312fa6f95a93be3e09183ba64a84249.tar.bz2
scummvm-rg350-9117ca6ad312fa6f95a93be3e09183ba64a84249.zip
DIRECTOR: Lingo: Added stubs for rest of the D2 functions
-rw-r--r--engines/director/lingo/lingo-builtins.cpp26
-rw-r--r--engines/director/lingo/lingo-the.cpp4
-rw-r--r--engines/director/lingo/lingo-the.h6
-rw-r--r--engines/director/lingo/lingo.h3
4 files changed, 38 insertions, 1 deletions
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index d8a8f2d2f5..798ab0824b 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -53,6 +53,8 @@ static struct BuiltinProto {
{ "numToChar", Lingo::b_numToChar, 1, 1, true }, // D2
{ "offset", Lingo::b_offset, 2, 2, true }, // D2
{ "string", Lingo::b_string, 1, 1, true }, // D2
+ { "stringp", Lingo::b_stringp, 1, 1, true }, // D2
+ { "value", Lingo::b_value, 1, 1, true }, // D2
// Files
{ "closeDA", Lingo::b_closeDA, 0, 0, false }, // D2
{ "closeResFile", Lingo::b_closeResFile, 0, 1, false }, // D2
@@ -91,6 +93,7 @@ static struct BuiltinProto {
{ "objectp", Lingo::b_objectp, 1, 1, true },
{ "showGlobals", Lingo::b_showGlobals, 0, 0, false }, // D2
{ "showLocals", Lingo::b_showLocals, 0, 0, false }, // D2
+ { "symbolp", Lingo::b_symbolp, 1, 1, true }, // D2
// Score
{ "constrainH", Lingo::b_constrainH, 2, 2, true }, // D2
{ "constrainV", Lingo::b_constrainV, 2, 2, true }, // D2
@@ -374,6 +377,22 @@ void Lingo::b_string(int nargs) {
g_lingo->push(d);
}
+void Lingo::b_stringp(int nargs) {
+ Datum d = g_lingo->pop();
+ int res = (d.type == STRING) ? 1 : 0;
+ d.toInt();
+ d.u.i = res;
+ g_lingo->push(d);
+}
+
+void Lingo::b_value(int nargs) {
+ Datum d = g_lingo->pop();
+ d.toInt();
+ warning("STUB: b_value()");
+ g_lingo->push(d);
+}
+
+
///////////////////
// Files
///////////////////
@@ -553,6 +572,13 @@ void Lingo::b_showLocals(int nargs) {
warning("STUB: b_showLocals");
}
+void Lingo::b_symbolp(int nargs) {
+ Datum d = g_lingo->pop();
+ int res = (d.type == SYMBOL) ? 1 : 0;
+ d.toInt();
+ d.u.i = res;
+ g_lingo->push(d);
+}
///////////////////
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 6579de2f94..ba2525848e 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -75,6 +75,10 @@ TheEntity entities[] = {
{ kTheSprite, "sprite", true },
{ kTheSqrt, "sqrt", false },
{ kTheStage, "stage", false },
+ { kTheStageBottom, "stageBottom", false },
+ { kTheStageLeft, "stageLeft", false },
+ { kTheStageRight, "stageRight", false },
+ { kTheStageTop, "stageTop", false },
{ kTheStillDown, "stillDown", false },
{ kTheTicks, "ticks", false },
{ kTheTimeoutLength, "timeoutlength", false },
diff --git a/engines/director/lingo/lingo-the.h b/engines/director/lingo/lingo-the.h
index 9ce8e6fb17..468be64140 100644
--- a/engines/director/lingo/lingo-the.h
+++ b/engines/director/lingo/lingo-the.h
@@ -82,7 +82,11 @@ enum TheEntityType {
kTheMultiSound,
kThePreloadEventAbort,
kTheRomanLingo,
- kTheStage
+ kTheStage,
+ kTheStageBottom,
+ kTheStageLeft,
+ kTheStageRight,
+ kTheStageTop
};
enum TheFieldType {
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index 105719e41c..254030e9b7 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -317,6 +317,7 @@ public:
static void b_numToChar(int nargs);
static void b_offset(int nargs);
static void b_string(int nargs);
+ static void b_stringp(int nargs);
static void b_ilk(int nargs);
static void b_alert(int nargs);
@@ -325,6 +326,8 @@ public:
static void b_printFrom(int nargs);
static void b_showGlobals(int nargs);
static void b_showLocals(int nargs);
+ static void b_symbolp(int nargs);
+ static void b_value(int nargs);
static void b_constrainH(int nargs);
static void b_constrainV(int nargs);