aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/director/lingo/lingo-builtins.cpp18
-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.h2
4 files changed, 29 insertions, 1 deletions
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index e366356951..54481aedb6 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -50,6 +50,7 @@ static struct BuiltinProto {
{ "chars", Lingo::b_chars, 3, 3, true }, // D2
{ "charToNum", Lingo::b_charToNum, 1, 1, true }, // D2
{ "length", Lingo::b_length, 1, 1, true }, // D2
+ { "numToChar", Lingo::b_numToChar, 1, 1, true }, // D2
{ "string", Lingo::b_string, 1, 1, true }, // D2
// Files
{ "closeDA", Lingo::b_closeDA, 0, 0, false }, // D2
@@ -95,6 +96,7 @@ static struct BuiltinProto {
// go // D2
{ "installMenu", Lingo::b_installMenu, 1, 1, false }, // D2
{ "label", Lingo::b_label, 1, 1, true }, // D2
+ { "marker", Lingo::b_marker, 1, 1, true }, // D2
{ "moveableSprite", Lingo::b_moveableSprite,0, 0, false }, // D2
{ "puppetPalette", Lingo::b_puppetPalette, -1,0, false }, // D2
{ "puppetSound", Lingo::b_puppetSound, -1,0, false }, // D2
@@ -343,6 +345,14 @@ void Lingo::b_length(int nargs) {
g_lingo->push(d);
}
+void Lingo::b_numToChar(int nargs) {
+ Datum d = g_lingo->pop();
+
+ d.toInt();
+
+ g_lingo->push(Datum((char)d.u.i));
+}
+
void Lingo::b_string(int nargs) {
Datum d = g_lingo->pop();
d.toString();
@@ -566,6 +576,14 @@ void Lingo::b_label(int nargs) {
g_lingo->push(Datum(0));
}
+void Lingo::b_marker(int nargs) {
+ Datum d = g_lingo->pop();
+ d.toInt();
+ warning("STUB: b_marker(%d)", d.u.i);
+
+ g_lingo->push(Datum(0));
+}
+
void Lingo::b_moveableSprite(int nargs) {
Datum d = g_lingo->pop();
warning("STUB: b_moveableSprite(%d)", d.u.i);
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 3b00c092ec..e6dbb9cac6 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -45,6 +45,10 @@ TheEntity entities[] = {
{ kTheLastClick, "lastClick", false },
{ kTheLastEvent, "lastEvent", false },
{ kTheLastFrame, "lastFrame", false },
+ { kTheLastKey, "lastKey", false },
+ { kTheLastRoll, "lastRoll", false },
+ { kTheMachineType, "machineType", false },
+ { kTheMemorySize, "memorySize", false },
{ kTheMenu, "menu", true },
{ kTheMenus, "menus", false },
{ kTheMenuItem, "menuitem", true },
diff --git a/engines/director/lingo/lingo-the.h b/engines/director/lingo/lingo-the.h
index 7a27c0ad84..17ccb2f8e1 100644
--- a/engines/director/lingo/lingo-the.h
+++ b/engines/director/lingo/lingo-the.h
@@ -52,8 +52,12 @@ enum TheEntityType {
kTheClickOn,
kTheDoubleClick,
kTheLastClick,
- kTheLastFrame,
kTheLastEvent,
+ kTheLastFrame,
+ kTheLastKey,
+ kTheLastRoll,
+ kTheMachineType,
+ kTheMemorySize,
kTheMouseDown,
kTheMouseUp,
kTheRightMouseUp,
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index 911abb6552..53722d7995 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -314,6 +314,7 @@ public:
static void b_chars(int nargs);
static void b_charToNum(int nargs);
static void b_length(int nargs);
+ static void b_numToChar(int nargs);
static void b_string(int nargs);
static void b_ilk(int nargs);
@@ -328,6 +329,7 @@ public:
static void b_editableText(int nargs);
static void b_installMenu(int nargs);
static void b_label(int nargs);
+ static void b_marker(int nargs);
static void b_moveableSprite(int nargs);
static void b_puppetPalette(int nargs);
static void b_puppetSound(int nargs);