aboutsummaryrefslogtreecommitdiff
path: root/engines/director
diff options
context:
space:
mode:
authorEugene Sandulenko2017-02-06 22:01:07 +0100
committerEugene Sandulenko2017-02-06 22:01:07 +0100
commit57af996b4d6f4cdb468a683568cdae9056e2e6f8 (patch)
tree54523f2936f6787b9bd3879d887d8e842f0e8148 /engines/director
parentc22b78eae61eea2eac9cd5b357ea9cd0c3c02226 (diff)
downloadscummvm-rg350-57af996b4d6f4cdb468a683568cdae9056e2e6f8.tar.gz
scummvm-rg350-57af996b4d6f4cdb468a683568cdae9056e2e6f8.tar.bz2
scummvm-rg350-57af996b4d6f4cdb468a683568cdae9056e2e6f8.zip
DIRECTOR: Lingo: Documented D4 "Event handlers and messages" Lingo
Diffstat (limited to 'engines/director')
-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.cpp17
-rw-r--r--engines/director/lingo/lingo.h2
5 files changed, 20 insertions, 8 deletions
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 123ce8cfbf..521b440887 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -126,6 +126,7 @@ static struct BuiltinProto {
{ "cursor", Lingo::b_cursor, 1, 1, false }, // D2
{ "framesToHMS", Lingo::b_framesToHMS, 4, 4, false }, // D3
{ "HMStoFrames", Lingo::b_HMStoFrames, 4, 4, false }, // D3
+ { "param", Lingo::b_param, 1, 1, true }, // D4 f
{ "printFrom", Lingo::b_printFrom, -1,0, false }, // D2
// put // D2
// set // D2
@@ -771,6 +772,12 @@ void Lingo::b_HMStoFrames(int nargs) {
g_lingo->push(Datum(0));
}
+void Lingo::b_param(int nargs) {
+ g_lingo->printSTUBWithArglist("b_param", nargs);
+
+ g_lingo->dropStack(nargs);
+}
+
void Lingo::b_printFrom(int nargs) {
g_lingo->printSTUBWithArglist("b_printFrom", nargs);
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 8658e64362..8bf2303a4f 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -87,6 +87,7 @@ TheEntity entities[] = {
{ kTheMovie, "movie", false }, // D2 f
{ kTheMultiSound, "multiSound", false },
{ kTheOptionDown, "optionDown", false }, // D2 f
+ { kTheParamCount, "paramCount", false }, // D4 f
{ kThePathName, "pathName", false }, // D2 f
{ kThePauseState, "pauseState", false }, // D2 f
{ kThePerFrameHook, "perFrameHook", false }, // D2 p
diff --git a/engines/director/lingo/lingo-the.h b/engines/director/lingo/lingo-the.h
index 08522b45a2..ae0c0ed210 100644
--- a/engines/director/lingo/lingo-the.h
+++ b/engines/director/lingo/lingo-the.h
@@ -85,6 +85,7 @@ enum TheEntityType {
kTheMovie,
kTheMultiSound,
kTheOptionDown,
+ kTheParamCount,
kThePathName,
kThePauseState,
kThePerFrameHook,
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index 4a9b612649..a6d3ad8979 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -36,18 +36,19 @@ struct EventHandlerType {
const char *name;
} static const eventHandlerDescs[] = {
{ kEventPrepareMovie, "prepareMovie" },
- { kEventStartMovie, "startMovie" },
- { kEventStopMovie, "stopMovie" },
+ { kEventStartMovie, "startMovie" }, // D3?
+ { kEventStepMovie, "stepMovie" }, // D3?
+ { kEventStopMovie, "stopMovie" }, // D3?
{ kEventNew, "newSprite" },
{ kEventBeginSprite, "beginSprite" },
{ kEventEndSprite, "endSprite" },
- { kEventEnterFrame, "enterFrame" },
+ { kEventEnterFrame, "enterFrame" }, // D4
{ kEventPrepareFrame, "prepareFrame" },
{ kEventIdle, "idle" },
{ kEventStepFrame, "stepFrame"},
- { kEventExitFrame, "exitFrame" },
+ { kEventExitFrame, "exitFrame" }, // D4
{ kEventActivateWindow, "activateWindow" },
{ kEventDeactivateWindow, "deactivateWindow" },
@@ -57,10 +58,10 @@ struct EventHandlerType {
{ kEventCloseWindow, "closeWindow" },
{ kEventStart, "start" },
- { kEventKeyUp, "keyUp" },
- { kEventKeyDown, "keyDown" }, // D2 as when
- { kEventMouseUp, "mouseUp" }, // D2 as when
- { kEventMouseDown, "mouseDown" }, // D2 as when
+ { kEventKeyUp, "keyUp" }, // D4
+ { kEventKeyDown, "keyDown" }, // D2 as when D4
+ { kEventMouseUp, "mouseUp" }, // D2 w D3?
+ { kEventMouseDown, "mouseDown" }, // D2 w D3?
{ kEventRightMouseDown, "rightMouseDown" },
{ kEventRightMouseUp, "rightMouseUp" },
{ kEventMouseEnter, "mouseEnter" },
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index b327853b39..41d423b616 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -36,6 +36,7 @@ namespace Director {
enum LEvent {
kEventPrepareMovie,
kEventStartMovie,
+ kEventStepMovie,
kEventStopMovie,
kEventNew,
@@ -375,6 +376,7 @@ public:
static void b_cursor(int nargs);
static void b_framesToHMS(int nargs);
static void b_HMStoFrames(int nargs);
+ static void b_param(int nargs);
static void b_printFrom(int nargs);
static void b_showGlobals(int nargs);
static void b_showLocals(int nargs);