aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2017-02-06 22:08:27 +0100
committerEugene Sandulenko2017-02-06 22:08:27 +0100
commit56abfed990e038421580ffb0c7de02468f5a0d11 (patch)
tree81afbf4206e7025352d2a12754873ae6460ae1da
parent57af996b4d6f4cdb468a683568cdae9056e2e6f8 (diff)
downloadscummvm-rg350-56abfed990e038421580ffb0c7de02468f5a0d11.tar.gz
scummvm-rg350-56abfed990e038421580ffb0c7de02468f5a0d11.tar.bz2
scummvm-rg350-56abfed990e038421580ffb0c7de02468f5a0d11.zip
DIRECTOR: Lingo: Documented D4 "Events" Lingo
-rw-r--r--engines/director/lingo/lingo-builtins.cpp7
-rw-r--r--engines/director/lingo/lingo-the.cpp1
-rw-r--r--engines/director/lingo/lingo-the.h1
-rw-r--r--engines/director/lingo/lingo.cpp2
-rw-r--r--engines/director/lingo/lingo.h1
5 files changed, 11 insertions, 1 deletions
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 521b440887..4f1136bf42 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -100,6 +100,7 @@ static struct BuiltinProto {
{ "do", Lingo::b_do, 1, 1, false }, // D2
{ "halt", Lingo::b_halt, 0, 0, false }, // D4
{ "nothing", Lingo::b_nothing, 0, 0, false }, // D2
+ { "pass", Lingo::b_pass, 0, 0, false }, // D4
{ "pause", Lingo::b_pause, 0, 0, false }, // D2
// play // D2
{ "playAccel", Lingo::b_playAccel, -1,0, false }, // D2
@@ -732,6 +733,12 @@ void Lingo::b_halt(int nargs) {
warning("Movie halted");
}
+void Lingo::b_pass(int nargs) {
+ g_lingo->printSTUBWithArglist("b_pass", nargs);
+
+ g_lingo->dropStack(nargs);
+}
+
void Lingo::b_pause(int nargs) {
g_director->_playbackPaused = true;
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 8bf2303a4f..f31cc96b64 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -60,6 +60,7 @@ TheEntity entities[] = {
{ kTheKey, "key", false }, // D2 f
{ kTheKeyCode, "keyCode", false }, // D2 f
{ kTheKeyDownScript, "keyDownScript", false }, // D2 p
+ { kTheKeyUpScript, "keyUpScript", false }, // D4 p
{ kTheLabelList, "labelList", false }, // D3 f
{ kTheLastClick, "lastClick", false }, // D2 f
{ kTheLastEvent, "lastEvent", false }, // D2 f
diff --git a/engines/director/lingo/lingo-the.h b/engines/director/lingo/lingo-the.h
index ae0c0ed210..eaecd3ecc1 100644
--- a/engines/director/lingo/lingo-the.h
+++ b/engines/director/lingo/lingo-the.h
@@ -58,6 +58,7 @@ enum TheEntityType {
kTheKey,
kTheKeyCode,
kTheKeyDownScript,
+ kTheKeyUpScript,
kTheLabelList,
kTheLastClick,
kTheLastEvent,
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index a6d3ad8979..f7eafda11b 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -59,7 +59,7 @@ struct EventHandlerType {
{ kEventStart, "start" },
{ kEventKeyUp, "keyUp" }, // D4
- { kEventKeyDown, "keyDown" }, // D2 as when D4
+ { kEventKeyDown, "keyDown" }, // D2 w D4 (as when from D2)
{ kEventMouseUp, "mouseUp" }, // D2 w D3?
{ kEventMouseDown, "mouseDown" }, // D2 w D3?
{ kEventRightMouseDown, "rightMouseDown" },
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index 41d423b616..f25bf33426 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -414,6 +414,7 @@ public:
static void b_do(int nargs);
static void b_halt(int nargs);
static void b_nothing(int nargs);
+ static void b_pass(int nargs);
static void b_pause(int nargs);
static void b_playAccel(int nargs);
static void b_preLoad(int nargs);