From 03e7c3ca60c60e0001772550b97946f8a10db34c Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Wed, 8 Feb 2017 19:43:46 +0100 Subject: DIRECTOR: Lingo: Documented D4 "Operators and math functions" Lingo --- engines/director/lingo/lingo-builtins.cpp | 44 ++++++++++++++++++++----------- engines/director/lingo/lingo-the.cpp | 2 ++ engines/director/lingo/lingo-the.h | 2 ++ 3 files changed, 33 insertions(+), 15 deletions(-) (limited to 'engines') diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp index 2005aa11a2..101e0fb299 100644 --- a/engines/director/lingo/lingo-builtins.cpp +++ b/engines/director/lingo/lingo-builtins.cpp @@ -32,19 +32,19 @@ static struct BuiltinProto { bool parens; } builtins[] = { // Math - { "abs", Lingo::b_abs, 1, 1, true }, // D2 - { "atan", Lingo::b_atan, 1, 1, true }, // D4 - { "cos", Lingo::b_cos, 1, 1, true }, // D4 - { "exp", Lingo::b_exp, 1, 1, true }, // D4 - { "float", Lingo::b_float, 1, 1, true }, // D4 - { "integer", Lingo::b_integer, 1, 1, true }, - { "log", Lingo::b_log, 1, 1, true }, // D4 - { "pi", Lingo::b_pi, 0, 0, true }, // D4 - { "power", Lingo::b_power, 2, 2, true }, // D4 - { "random", Lingo::b_random, 1, 1, true }, // D2 - { "sin", Lingo::b_sin, 1, 1, true }, - { "sqrt", Lingo::b_sqrt, 1, 1, true }, // D2 - { "tan", Lingo::b_tan, 1, 1, true }, // D4 + { "abs", Lingo::b_abs, 1, 1, true }, // D2 function + { "atan", Lingo::b_atan, 1, 1, true }, // D4 function + { "cos", Lingo::b_cos, 1, 1, true }, // D4 function + { "exp", Lingo::b_exp, 1, 1, true }, // D4 function + { "float", Lingo::b_float, 1, 1, true }, // D4 function + { "integer", Lingo::b_integer, 1, 1, true }, // D3 f + { "log", Lingo::b_log, 1, 1, true }, // D4 f + { "pi", Lingo::b_pi, 0, 0, true }, // D4 f + { "power", Lingo::b_power, 2, 2, true }, // D4 f + { "random", Lingo::b_random, 1, 1, true }, // D2 f + { "sin", Lingo::b_sin, 1, 1, true }, // D4 f + { "sqrt", Lingo::b_sqrt, 1, 1, true }, // D2 f + { "tan", Lingo::b_tan, 1, 1, true }, // D4 f // String { "chars", Lingo::b_chars, 3, 3, true }, // D2 { "charToNum", Lingo::b_charToNum, 1, 1, true }, // D2 @@ -54,13 +54,13 @@ 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 - { "value", Lingo::b_value, 1, 1, true }, // D2 + { "value", Lingo::b_value, 1, 1, true }, // D2 f // Lists { "add", Lingo::b_add, 2, 2, false }, // D4 command { "addAt", Lingo::b_addAt, 3, 3, false }, // D4 c { "addProp", Lingo::b_addProp, 3, 3, false }, // D4 c { "append", Lingo::b_append, 2, 2, false }, // D4 c - { "count", Lingo::b_count, 1, 1, true }, // D4 function + { "count", Lingo::b_count, 1, 1, true }, // D4 f { "deleteAt", Lingo::b_deleteAt, 2, 2, false }, // D4 c { "deleteProp", Lingo::b_deleteProp, 2, 2, false }, // D4 c { "findPos", Lingo::b_findPos, 2, 2, true }, // D4 f @@ -208,16 +208,21 @@ static const char *twoWordBuiltins[] = { }; static const char *builtinFunctions[] = { + "abs", + "atan", "backspace", "cast", + "cos", "count", "empty", "enter", + "exp", "false", "field", "findEmpty", "findPos", "findPosNear", + "float", "getaProp", "getAt", "getLast", @@ -228,22 +233,31 @@ static const char *builtinFunctions[] = { "getPropAt", "ilk", "inflate", + "integer", "integerp", "intersect", "list", "listP", + "log", "max", "min", "objectp", + "pi", "pictureP", + "power", + "random", "rollOver", "quote", "return", + "sin", + "sqrt", "soundBusy", "stringp", "symbolp", "tab", + "tan", "true", + "value", "version", "window", "xFactoryList", diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp index ec94d066f3..35a5707a52 100644 --- a/engines/director/lingo/lingo-the.cpp +++ b/engines/director/lingo/lingo-the.cpp @@ -70,6 +70,7 @@ TheEntity entities[] = { { kTheLastRoll, "lastRoll", false }, // D2 f { kTheLines, "lines", false }, // D3 { kTheMachineType, "machineType", false }, // D2 f + { kTheMaxInteger, "maxInteger", false }, // D4 f { kTheMemorySize, "memorySize", false }, // D2 f { kTheMenu, "menu", true }, { kTheMenus, "menus", false }, @@ -100,6 +101,7 @@ TheEntity entities[] = { { kThePreloadEventAbort,"preloadEventAbort",false }, { kThePreLoadRAM, "preLoadRAM", false }, // D4 p { kTheQuickTimePresent, "quickTimePresent", false }, // D4 f + { kTheRandomSeed, "randomSeed", false }, // D4 p { kTheResult, "result", false }, // D2 f { kTheRightMouseDown, "rightMouseDown", false }, { kTheRightMouseUp, "rightMouseUp", false }, diff --git a/engines/director/lingo/lingo-the.h b/engines/director/lingo/lingo-the.h index 24f5e266a3..994fcc9e80 100644 --- a/engines/director/lingo/lingo-the.h +++ b/engines/director/lingo/lingo-the.h @@ -68,6 +68,7 @@ enum TheEntityType { kTheLastRoll, kTheLines, kTheMachineType, + kTheMaxInteger, kTheMemorySize, kTheMenu, kTheMenuItem, @@ -98,6 +99,7 @@ enum TheEntityType { kThePreloadEventAbort, kThePreLoadRAM, kTheQuickTimePresent, + kTheRandomSeed, kTheResult, kTheRightMouseDown, kTheRightMouseUp, -- cgit v1.2.3