aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorEugene Sandulenko2017-02-05 23:41:30 +0100
committerEugene Sandulenko2017-02-05 23:44:51 +0100
commitb1503cc1eff844fdba3b4afd633a6427944a4aeb (patch)
tree3786c3409484b94ba8e919e3c6db9ae0c4827f5b /engines
parentb4f736e0582f15a1a4dad209d4ecdef4914e683a (diff)
downloadscummvm-rg350-b1503cc1eff844fdba3b4afd633a6427944a4aeb.tar.gz
scummvm-rg350-b1503cc1eff844fdba3b4afd633a6427944a4aeb.tar.bz2
scummvm-rg350-b1503cc1eff844fdba3b4afd633a6427944a4aeb.zip
DIRECTOR: Lingo: Documented D4 "Cast window management" Lingo
Diffstat (limited to 'engines')
-rw-r--r--engines/director/lingo/lingo-builtins.cpp65
-rw-r--r--engines/director/lingo/lingo-the.cpp18
-rw-r--r--engines/director/lingo/lingo.h11
3 files changed, 75 insertions, 19 deletions
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index a7a0d8b879..f7c1abe48a 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -133,14 +133,18 @@ static struct BuiltinProto {
// Score
{ "constrainH", Lingo::b_constrainH, 2, 2, true }, // D2
{ "constrainV", Lingo::b_constrainV, 2, 2, true }, // D2
- { "duplicate-cast", Lingo::b_duplicateCast, 1, 2, false }, // D4
+ { "duplicate", Lingo::b_duplicate, 1, 2, false }, // D4
{ "editableText", Lingo::b_editableText, 0, 0, false }, // D2
- { "erase-cast", Lingo::b_eraseCast, 1, 2, false }, // D4
+ { "erase", Lingo::b_erase, 1, 1, false }, // D4
+ { "findEmpty", Lingo::b_findEmpty, 1, 1, true }, // D4
// go // D2
+ { "importFileInto", Lingo::b_importFileInto,2, 2, false }, // D4
{ "installMenu", Lingo::b_installMenu, 1, 1, false }, // D2
{ "label", Lingo::b_label, 1, 1, true }, // D2
{ "marker", Lingo::b_marker, 1, 1, true }, // D2
+ { "move", Lingo::b_move, 1, 2, false }, // D4
{ "moveableSprite", Lingo::b_moveableSprite,0, 0, false }, // D2
+ { "pasteClipBoardInto",Lingo::b_pasteClipBoardInto,1, 1, false }, // D4
{ "puppetPalette", Lingo::b_puppetPalette, -1,0, false }, // D2
{ "puppetSound", Lingo::b_puppetSound, -1,0, false }, // D2
{ "puppetSprite", Lingo::b_puppetSprite, -1,0, false }, // D2
@@ -148,6 +152,8 @@ static struct BuiltinProto {
{ "puppetTransition",Lingo::b_puppetTransition,-1,0, false },// D2
{ "rollOver", Lingo::b_rollOver, 1, 1, true }, // D2
{ "spriteBox", Lingo::b_spriteBox, -1,0, false }, // D2
+ { "unLoad", Lingo::b_unLoad, 0, 2, false }, // D4
+ { "unLoadCast", Lingo::b_unLoadCast, 0, 2, false }, // D4
{ "updateStage", Lingo::b_updateStage, 0, 0, false }, // D2
{ "zoomBox", Lingo::b_zoomBox, -1,0, false }, // D2
// Point
@@ -172,6 +178,7 @@ static struct BuiltinProto {
{ "true", Lingo::b_true, 0, 0, false }, // D2
{ "version", Lingo::b_version, 0, 0, false }, // D3
// References
+ { "cast", Lingo::b_cast, 1, 1, false }, // D4
{ "field", Lingo::b_field, 1, 1, false }, // D3
{ "me", Lingo::b_me, -1,0, false }, // D3
@@ -180,8 +187,8 @@ static struct BuiltinProto {
};
static const char *twoWordBuiltins[] = {
- "duplicate",
- "erase",
+ //"duplicate",
+ //"erase",
"sound",
0
};
@@ -888,8 +895,8 @@ void Lingo::b_constrainV(int nargs) {
g_lingo->push(Datum(0));
}
-void Lingo::b_duplicateCast(int nargs) {
- g_lingo->printSTUBWithArglist("b_duplicateCast", nargs);
+void Lingo::b_duplicate(int nargs) {
+ g_lingo->printSTUBWithArglist("b_duplicate", nargs);
g_lingo->dropStack(nargs);
}
@@ -898,8 +905,22 @@ void Lingo::b_editableText(int nargs) {
warning("STUB: b_editableText");
}
-void Lingo::b_eraseCast(int nargs) {
- g_lingo->printSTUBWithArglist("b_eraseCast", nargs);
+void Lingo::b_erase(int nargs) {
+ g_lingo->printSTUBWithArglist("b_erase", nargs);
+
+ g_lingo->dropStack(nargs);
+}
+
+void Lingo::b_findEmpty(int nargs) {
+ g_lingo->printSTUBWithArglist("b_findEmpty", nargs);
+
+ g_lingo->dropStack(nargs);
+
+ g_lingo->push(Datum(0));
+}
+
+void Lingo::b_importFileInto(int nargs) {
+ g_lingo->printSTUBWithArglist("b_importFileInto", nargs);
g_lingo->dropStack(nargs);
}
@@ -924,11 +945,23 @@ void Lingo::b_marker(int nargs) {
g_lingo->push(marker);
}
+void Lingo::b_move(int nargs) {
+ g_lingo->printSTUBWithArglist("b_move", nargs);
+
+ g_lingo->dropStack(nargs);
+}
+
void Lingo::b_moveableSprite(int nargs) {
Datum d = g_lingo->pop();
warning("STUB: b_moveableSprite(%d)", d.u.i);
}
+void Lingo::b_pasteClipBoardInto(int nargs) {
+ g_lingo->printSTUBWithArglist("b_pasteClipBoardInto", nargs);
+
+ g_lingo->dropStack(nargs);
+}
+
void Lingo::b_puppetPalette(int nargs) {
g_lingo->convertVOIDtoString(0, nargs);
@@ -975,6 +1008,18 @@ void Lingo::b_spriteBox(int nargs) {
g_lingo->dropStack(nargs);
}
+void Lingo::b_unLoad(int nargs) {
+ g_lingo->printSTUBWithArglist("b_unLoad", nargs);
+
+ g_lingo->dropStack(nargs);
+}
+
+void Lingo::b_unLoadCast(int nargs) {
+ g_lingo->printSTUBWithArglist("b_unLoadCast", nargs);
+
+ g_lingo->dropStack(nargs);
+}
+
void Lingo::b_zoomBox(int nargs) {
g_lingo->printSTUBWithArglist("b_zoomBox", nargs);
@@ -1154,6 +1199,10 @@ void Lingo::factoryCall(Common::String &name, int nargs) {
///////////////////
// References
///////////////////
+void Lingo::b_cast(int nargs) {
+ warning("STUB: b_cast");
+}
+
void Lingo::b_field(int nargs) {
warning("STUB: b_field");
}
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 8fc9de3249..5dea147409 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -147,7 +147,7 @@ TheEntityField fields[] = {
{ kTheSprite, "pattern", kThePattern }, // D2 p
{ kTheSprite, "puppet", kThePuppet }, // D2 p
{ kTheSprite, "right", kTheRight }, // D2 p
- { kTheSprite, "scriptNum", kTheScriptNum }, D4 p
+ { kTheSprite, "scriptNum", kTheScriptNum }, // D4 p
{ kTheSprite, "startTime", kTheStartTime },
{ kTheSprite, "stretch", kTheStrech }, // D2 p
{ kTheSprite, "stopTime", kTheStopTime },
@@ -160,15 +160,15 @@ TheEntityField fields[] = {
// Common cast fields
{ kTheCast, "castType", kTheCastType }, // D4 p
- { kTheCast, "filename", kTheFilename },
- { kTheCast, "height", kTheHeight },
- { kTheCast, "loaded", kTheLoaded },
- { kTheCast, "modified", kTheModified },
+ { kTheCast, "filename", kTheFilename }, // D4 p
+ { kTheCast, "height", kTheHeight }, // D4 p
+ { kTheCast, "loaded", kTheLoaded }, // D4 p
+ { kTheCast, "modified", kTheModified }, // D4 p
{ kTheCast, "name", kTheName }, // D3 p
{ kTheCast, "number", kTheNumber }, // D3 p
{ kTheCast, "rect", kTheRect },
{ kTheCast, "purgePriority",kThePurgePriority },// D4 p // 0 Never purge, 1 Purge Last, 2 Purge next, 2 Purge normal
- { kTheCast, "scriptText", kTheScriptText },
+ { kTheCast, "scriptText", kTheScriptText }, // D4 p
{ kTheCast, "width", kTheWidth }, // D4 p
// Shape fields
@@ -186,13 +186,13 @@ TheEntityField fields[] = {
// Bitmap fields
{ kTheCast, "depth", kTheDepth },
- { kTheCast, "regPoint", kTheRegPoint },
- { kTheCast, "palette", kThePalette },
+ { kTheCast, "regPoint", kTheRegPoint }, // D4 p
+ { kTheCast, "palette", kThePalette }, // D4 p
{ kTheCast, "picture", kThePicture }, // D3 p
// TextCast fields
{ kTheCast, "hilite", kTheHilite }, // D2 p
- { kTheCast, "size", kTheSize },
+ { kTheCast, "size", kTheSize }, // D4 p
{ kTheCast, "text", kTheText }, // D2 p
// Field fields
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index 0899bacdfa..3c75dd5b85 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -382,13 +382,17 @@ public:
static void b_constrainH(int nargs);
static void b_constrainV(int nargs);
- static void b_duplicateCast(int nargs);
+ static void b_duplicate(int nargs);
static void b_editableText(int nargs);
- static void b_eraseCast(int nargs);
+ static void b_erase(int nargs);
+ static void b_findEmpty(int nargs);
+ static void b_importFileInto(int nargs);
static void b_installMenu(int nargs);
static void b_label(int nargs);
static void b_marker(int nargs);
+ static void b_move(int nargs);
static void b_moveableSprite(int nargs);
+ static void b_pasteClipBoardInto(int nargs);
static void b_puppetPalette(int nargs);
static void b_puppetSound(int nargs);
static void b_puppetSprite(int nargs);
@@ -396,6 +400,8 @@ public:
static void b_puppetTransition(int nargs);
static void b_rollOver(int nargs);
static void b_spriteBox(int nargs);
+ static void b_unLoad(int nargs);
+ static void b_unLoadCast(int nargs);
static void b_updateStage(int nargs);
static void b_zoomBox(int nargs);
@@ -449,6 +455,7 @@ public:
static void b_factory(int nargs);
void factoryCall(Common::String &name, int nargs);
+ static void b_cast(int nargs);
static void b_field(int nargs);
static void b_me(int nargs);