diff options
author | Eugene Sandulenko | 2016-08-17 00:07:40 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2016-08-17 00:14:50 +0200 |
commit | 9117ca6ad312fa6f95a93be3e09183ba64a84249 (patch) | |
tree | ea898d5a06660f9769b0714c6fbdad67d2200d93 | |
parent | 9c0d9106509900c7faa42f2952474095a4bbbf11 (diff) | |
download | scummvm-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.cpp | 26 | ||||
-rw-r--r-- | engines/director/lingo/lingo-the.cpp | 4 | ||||
-rw-r--r-- | engines/director/lingo/lingo-the.h | 6 | ||||
-rw-r--r-- | engines/director/lingo/lingo.h | 3 |
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); |