[Scummvm-git-logs] scummvm master -> 1c5231ec761864b8015158dedaea488bcf41561b
djsrv
dservilla at gmail.com
Sun Jul 11 19:24:18 UTC 2021
This automated email contains information about 5 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
18255c56f4 DIRECTOR: LINGO: Update header guards
cff471be22 DIRECTOR: LINGO: Remove parens from BuiltinProto
60c4394e8a DIRECTOR: LINGO: Create function for registering new builtins
b8d39546e4 DIRCTOR: LINGO: Stub FPlayXobj
1c5231ec76 DIRECTOR: LINGO: Fix FileIO type
Commit: 18255c56f4bb91bfcaf5ae8d6e358031189e4ed2
https://github.com/scummvm/scummvm/commit/18255c56f4bb91bfcaf5ae8d6e358031189e4ed2
Author: djsrv (dservilla at gmail.com)
Date: 2021-07-11T13:44:35-04:00
Commit Message:
DIRECTOR: LINGO: Update header guards
The xobject directory was renamed but the header guards weren't updated.
Changed paths:
engines/director/lingo/xlibs/fileio.h
engines/director/lingo/xlibs/flushxobj.h
engines/director/lingo/xlibs/palxobj.h
engines/director/lingo/xlibs/winxobj.h
diff --git a/engines/director/lingo/xlibs/fileio.h b/engines/director/lingo/xlibs/fileio.h
index d3b8d469a2..23a4963303 100644
--- a/engines/director/lingo/xlibs/fileio.h
+++ b/engines/director/lingo/xlibs/fileio.h
@@ -20,8 +20,8 @@
*
*/
-#ifndef DIRECTOR_LINGO_XOBJECT_FILEIO_H
-#define DIRECTOR_LINGO_XOBJECT_FILEIO_H
+#ifndef DIRECTOR_LINGO_XLIBS_FILEIO_H
+#define DIRECTOR_LINGO_XLIBS_FILEIO_H
namespace Common {
class SeekableReadStream;
diff --git a/engines/director/lingo/xlibs/flushxobj.h b/engines/director/lingo/xlibs/flushxobj.h
index 4894f04646..a23f36c1c4 100644
--- a/engines/director/lingo/xlibs/flushxobj.h
+++ b/engines/director/lingo/xlibs/flushxobj.h
@@ -20,8 +20,8 @@
*
*/
-#ifndef DIRECTOR_LINGO_XOBJECT_FLUSHXOBJ_H
-#define DIRECTOR_LINGO_XOBJECT_FLUSHXOBJ_H
+#ifndef DIRECTOR_LINGO_XLIBS_FLUSHXOBJ_H
+#define DIRECTOR_LINGO_XLIBS_FLUSHXOBJ_H
namespace Director {
diff --git a/engines/director/lingo/xlibs/palxobj.h b/engines/director/lingo/xlibs/palxobj.h
index a38d4a0c7f..4da3408320 100644
--- a/engines/director/lingo/xlibs/palxobj.h
+++ b/engines/director/lingo/xlibs/palxobj.h
@@ -20,8 +20,8 @@
*
*/
-#ifndef DIRECTOR_LINGO_XOBJECT_PALXOBJ_H
-#define DIRECTOR_LINGO_XOBJECT_PALXOBJ_H
+#ifndef DIRECTOR_LINGO_XLIBS_PALXOBJ_H
+#define DIRECTOR_LINGO_XLIBS_PALXOBJ_H
namespace Director {
diff --git a/engines/director/lingo/xlibs/winxobj.h b/engines/director/lingo/xlibs/winxobj.h
index 9d2aee7834..c37de5d881 100644
--- a/engines/director/lingo/xlibs/winxobj.h
+++ b/engines/director/lingo/xlibs/winxobj.h
@@ -21,8 +21,8 @@
*/
-#ifndef DIRECTOR_LINGO_XOBJECT_WINXOBJ_H
-#define DIRECTOR_LINGO_XOBJECT_WINXOBJ_H
+#ifndef DIRECTOR_LINGO_XLIBS_WINXOBJ_H
+#define DIRECTOR_LINGO_XLIBS_WINXOBJ_H
namespace Director {
Commit: cff471be221a958278078f759c3e94f43c02e4ae
https://github.com/scummvm/scummvm/commit/cff471be221a958278078f759c3e94f43c02e4ae
Author: djsrv (dservilla at gmail.com)
Date: 2021-07-11T14:51:28-04:00
Commit Message:
DIRECTOR: LINGO: Remove parens from BuiltinProto
This field isn't necessary and we don't use it.
Changed paths:
engines/director/lingo/lingo-builtins.cpp
engines/director/lingo/lingo.cpp
engines/director/lingo/lingo.h
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index e6f22378f6..a162b36898 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -85,190 +85,189 @@ static struct BuiltinProto {
void (*func)(int);
int minArgs; // -1 -- arglist
int maxArgs;
- bool parens;
int version;
SymbolType type;
} builtins[] = {
// Math
- { "abs", LB::b_abs, 1, 1, true, 200, FBLTIN }, // D2 function
- { "atan", LB::b_atan, 1, 1, true, 400, FBLTIN }, // D4 f
- { "cos", LB::b_cos, 1, 1, true, 400, FBLTIN }, // D4 f
- { "exp", LB::b_exp, 1, 1, true, 400, FBLTIN }, // D4 f
- { "float", LB::b_float, 1, 1, true, 400, FBLTIN }, // D4 f
- { "integer", LB::b_integer, 1, 1, true, 300, FBLTIN }, // D3 f
- { "log", LB::b_log, 1, 1, true, 400, FBLTIN }, // D4 f
- { "pi", LB::b_pi, 0, 0, true, 400, FBLTIN }, // D4 f
- { "power", LB::b_power, 2, 2, true, 400, FBLTIN }, // D4 f
- { "random", LB::b_random, 1, 1, true, 200, FBLTIN }, // D2 f
- { "sin", LB::b_sin, 1, 1, true, 400, FBLTIN }, // D4 f
- { "sqrt", LB::b_sqrt, 1, 1, true, 200, FBLTIN }, // D2 f
- { "tan", LB::b_tan, 1, 1, true, 400, FBLTIN }, // D4 f
+ { "abs", LB::b_abs, 1, 1, 200, FBLTIN }, // D2 function
+ { "atan", LB::b_atan, 1, 1, 400, FBLTIN }, // D4 f
+ { "cos", LB::b_cos, 1, 1, 400, FBLTIN }, // D4 f
+ { "exp", LB::b_exp, 1, 1, 400, FBLTIN }, // D4 f
+ { "float", LB::b_float, 1, 1, 400, FBLTIN }, // D4 f
+ { "integer", LB::b_integer, 1, 1, 300, FBLTIN }, // D3 f
+ { "log", LB::b_log, 1, 1, 400, FBLTIN }, // D4 f
+ { "pi", LB::b_pi, 0, 0, 400, FBLTIN }, // D4 f
+ { "power", LB::b_power, 2, 2, 400, FBLTIN }, // D4 f
+ { "random", LB::b_random, 1, 1, 200, FBLTIN }, // D2 f
+ { "sin", LB::b_sin, 1, 1, 400, FBLTIN }, // D4 f
+ { "sqrt", LB::b_sqrt, 1, 1, 200, FBLTIN }, // D2 f
+ { "tan", LB::b_tan, 1, 1, 400, FBLTIN }, // D4 f
// String
- { "chars", LB::b_chars, 3, 3, true, 200, FBLTIN }, // D2 f
- { "charToNum", LB::b_charToNum, 1, 1, true, 200, FBLTIN }, // D2 f
- { "length", LB::b_length, 1, 1, true, 200, FBLTIN }, // D2 f
- { "numToChar", LB::b_numToChar, 1, 1, true, 200, FBLTIN }, // D2 f
- { "offset", LB::b_offset, 2, 3, true, 200, FBLTIN }, // D2 f
- { "string", LB::b_string, 1, 1, true, 200, FBLTIN }, // D2 f
- { "value", LB::b_value, 1, 1, true, 200, FBLTIN }, // D2 f
+ { "chars", LB::b_chars, 3, 3, 200, FBLTIN }, // D2 f
+ { "charToNum", LB::b_charToNum, 1, 1, 200, FBLTIN }, // D2 f
+ { "length", LB::b_length, 1, 1, 200, FBLTIN }, // D2 f
+ { "numToChar", LB::b_numToChar, 1, 1, 200, FBLTIN }, // D2 f
+ { "offset", LB::b_offset, 2, 3, 200, FBLTIN }, // D2 f
+ { "string", LB::b_string, 1, 1, 200, FBLTIN }, // D2 f
+ { "value", LB::b_value, 1, 1, 200, FBLTIN }, // D2 f
// Lists
- { "add", LB::b_add, 2, 2, false, 400, HBLTIN }, // D4 handler
- { "addAt", LB::b_addAt, 3, 3, false, 400, HBLTIN }, // D4 h
- { "addProp", LB::b_addProp, 3, 3, false, 400, HBLTIN }, // D4 h
- { "append", LB::b_append, 2, 2, false, 400, HBLTIN }, // D4 h
- { "count", LB::b_count, 1, 1, true, 400, FBLTIN }, // D4 f
- { "deleteAt", LB::b_deleteAt, 2, 2, false, 400, HBLTIN }, // D4 h
- { "deleteProp", LB::b_deleteProp, 2, 2, false, 400, HBLTIN }, // D4 h
- { "findPos", LB::b_findPos, 2, 2, true, 400, FBLTIN }, // D4 f
- { "findPosNear", LB::b_findPosNear, 2, 2, true, 400, FBLTIN }, // D4 f
- { "getaProp", LB::b_getaProp, 2, 2, true, 400, FBLTIN }, // D4 f
- { "getAt", LB::b_getAt, 2, 2, true, 400, FBLTIN }, // D4 f
- { "getLast", LB::b_getLast, 1, 1, true, 400, FBLTIN }, // D4 f
- { "getOne", LB::b_getOne, 2, 2, true, 400, FBLTIN }, // D4 f
- { "getPos", LB::b_getPos, 2, 2, true, 400, FBLTIN }, // D4 f
- { "getProp", LB::b_getProp, 2, 2, true, 400, FBLTIN }, // D4 f
- { "getPropAt", LB::b_getPropAt, 2, 2, true, 400, FBLTIN }, // D4 f
- { "list", LB::b_list, -1, 0, true, 400, FBLTIN }, // D4 f
- { "listP", LB::b_listP, 1, 1, true, 400, FBLTIN }, // D4 f
- { "max", LB::b_max, -1,0, true, 400, FBLTIN }, // D4 f
- { "min", LB::b_min, -1,0, true, 400, FBLTIN }, // D4 f
- { "setaProp", LB::b_setaProp, 3, 3, false, 400, HBLTIN }, // D4 h
- { "setAt", LB::b_setAt, 3, 3, false, 400, HBLTIN }, // D4 h
- { "setProp", LB::b_setProp, 3, 3, false, 400, HBLTIN }, // D4 h
- { "sort", LB::b_sort, 1, 1, false, 400, HBLTIN }, // D4 h
+ { "add", LB::b_add, 2, 2, 400, HBLTIN }, // D4 handler
+ { "addAt", LB::b_addAt, 3, 3, 400, HBLTIN }, // D4 h
+ { "addProp", LB::b_addProp, 3, 3, 400, HBLTIN }, // D4 h
+ { "append", LB::b_append, 2, 2, 400, HBLTIN }, // D4 h
+ { "count", LB::b_count, 1, 1, 400, FBLTIN }, // D4 f
+ { "deleteAt", LB::b_deleteAt, 2, 2, 400, HBLTIN }, // D4 h
+ { "deleteProp", LB::b_deleteProp, 2, 2, 400, HBLTIN }, // D4 h
+ { "findPos", LB::b_findPos, 2, 2, 400, FBLTIN }, // D4 f
+ { "findPosNear", LB::b_findPosNear, 2, 2, 400, FBLTIN }, // D4 f
+ { "getaProp", LB::b_getaProp, 2, 2, 400, FBLTIN }, // D4 f
+ { "getAt", LB::b_getAt, 2, 2, 400, FBLTIN }, // D4 f
+ { "getLast", LB::b_getLast, 1, 1, 400, FBLTIN }, // D4 f
+ { "getOne", LB::b_getOne, 2, 2, 400, FBLTIN }, // D4 f
+ { "getPos", LB::b_getPos, 2, 2, 400, FBLTIN }, // D4 f
+ { "getProp", LB::b_getProp, 2, 2, 400, FBLTIN }, // D4 f
+ { "getPropAt", LB::b_getPropAt, 2, 2, 400, FBLTIN }, // D4 f
+ { "list", LB::b_list, -1, 0, 400, FBLTIN }, // D4 f
+ { "listP", LB::b_listP, 1, 1, 400, FBLTIN }, // D4 f
+ { "max", LB::b_max, -1,0, 400, FBLTIN }, // D4 f
+ { "min", LB::b_min, -1,0, 400, FBLTIN }, // D4 f
+ { "setaProp", LB::b_setaProp, 3, 3, 400, HBLTIN }, // D4 h
+ { "setAt", LB::b_setAt, 3, 3, 400, HBLTIN }, // D4 h
+ { "setProp", LB::b_setProp, 3, 3, 400, HBLTIN }, // D4 h
+ { "sort", LB::b_sort, 1, 1, 400, HBLTIN }, // D4 h
// Files
- { "closeDA", LB::b_closeDA, 0, 0, false, 200, CBLTIN }, // D2 c
- { "closeResFile", LB::b_closeResFile, 0, 1, false, 200, CBLTIN }, // D2 c
- { "closeXlib", LB::b_closeXlib, 0, 1, false, 200, CBLTIN }, // D2 c
- { "getNthFileNameInFolder",LB::b_getNthFileNameInFolder,2,2,true,400,FBLTIN }, //D4 f
- { "open", LB::b_open, 1, 2, false, 200, CBLTIN }, // D2 c
- { "openDA", LB::b_openDA, 1, 1, false, 200, CBLTIN }, // D2 c
- { "openResFile", LB::b_openResFile, 1, 1, false, 200, CBLTIN }, // D2 c
- { "openXlib", LB::b_openXlib, 1, 1, false, 200, CBLTIN }, // D2 c
- { "saveMovie", LB::b_saveMovie, 1, 1, false, 400, CBLTIN }, // D4 c
- { "setCallBack", LB::b_setCallBack, 2, 2, false, 300, CBLTIN }, // D3 c
- { "showResFile", LB::b_showResFile, 0, 1, false, 200, CBLTIN }, // D2 c
- { "showXlib", LB::b_showXlib, 0, 1, false, 200, CBLTIN }, // D2 c
- { "xFactoryList", LB::b_xFactoryList, 1, 1, true, 300, FBLTIN }, // D3 f
+ { "closeDA", LB::b_closeDA, 0, 0, 200, CBLTIN }, // D2 c
+ { "closeResFile", LB::b_closeResFile, 0, 1, 200, CBLTIN }, // D2 c
+ { "closeXlib", LB::b_closeXlib, 0, 1, 200, CBLTIN }, // D2 c
+ { "getNthFileNameInFolder",LB::b_getNthFileNameInFolder,2,2,400,FBLTIN }, //D4 f
+ { "open", LB::b_open, 1, 2, 200, CBLTIN }, // D2 c
+ { "openDA", LB::b_openDA, 1, 1, 200, CBLTIN }, // D2 c
+ { "openResFile", LB::b_openResFile, 1, 1, 200, CBLTIN }, // D2 c
+ { "openXlib", LB::b_openXlib, 1, 1, 200, CBLTIN }, // D2 c
+ { "saveMovie", LB::b_saveMovie, 1, 1, 400, CBLTIN }, // D4 c
+ { "setCallBack", LB::b_setCallBack, 2, 2, 300, CBLTIN }, // D3 c
+ { "showResFile", LB::b_showResFile, 0, 1, 200, CBLTIN }, // D2 c
+ { "showXlib", LB::b_showXlib, 0, 1, 200, CBLTIN }, // D2 c
+ { "xFactoryList", LB::b_xFactoryList, 1, 1, 300, FBLTIN }, // D3 f
// Control
- { "abort", LB::b_abort, 0, 0, false, 400, CBLTIN }, // D4 c
- { "continue", LB::b_continue, 0, 0, false, 200, CBLTIN }, // D2 c
- { "dontPassEvent", LB::b_dontPassEvent,0, 0, false, 200, CBLTIN }, // D2 c
- { "delay", LB::b_delay, 1, 1, false, 200, CBLTIN }, // D2 c
- { "do", LB::b_do, 1, 1, false, 200, CBLTIN }, // D2 c
- { "go", LB::b_go, 1, 2, false, 200, CBLTIN }, // D2 c
- { "halt", LB::b_halt, 0, 0, false, 400, CBLTIN }, // D4 c
- { "nothing", LB::b_nothing, 0, 0, false, 200, CBLTIN }, // D2 c
- { "pass", LB::b_pass, 0, 0, false, 400, CBLTIN }, // D4 c
- { "pause", LB::b_pause, 0, 0, false, 200, CBLTIN }, // D2 c
- { "play", LB::b_play, 0, 2, false, 200, CBLTIN }, // D2 c
- { "playAccel", LB::b_playAccel, -1,0, false, 200, CBLTIN }, // D2
- {"fplay", LB::b_fplay, -1,0, false, 200, CBLTIN }, // D2
+ { "abort", LB::b_abort, 0, 0, 400, CBLTIN }, // D4 c
+ { "continue", LB::b_continue, 0, 0, 200, CBLTIN }, // D2 c
+ { "dontPassEvent", LB::b_dontPassEvent,0, 0, 200, CBLTIN }, // D2 c
+ { "delay", LB::b_delay, 1, 1, 200, CBLTIN }, // D2 c
+ { "do", LB::b_do, 1, 1, 200, CBLTIN }, // D2 c
+ { "go", LB::b_go, 1, 2, 200, CBLTIN }, // D2 c
+ { "halt", LB::b_halt, 0, 0, 400, CBLTIN }, // D4 c
+ { "nothing", LB::b_nothing, 0, 0, 200, CBLTIN }, // D2 c
+ { "pass", LB::b_pass, 0, 0, 400, CBLTIN }, // D4 c
+ { "pause", LB::b_pause, 0, 0, 200, CBLTIN }, // D2 c
+ { "play", LB::b_play, 0, 2, 200, CBLTIN }, // D2 c
+ { "playAccel", LB::b_playAccel, -1,0, 200, CBLTIN }, // D2
+ {"fplay", LB::b_fplay, -1,0, 200, CBLTIN }, // D2
// play done // D2
- { "preLoad", LB::b_preLoad, -1,0, false, 300, CBLTIN }, // D3.1 c
- { "preLoadCast", LB::b_preLoadCast, -1,0, false, 300, CBLTIN }, // D3.1 c
- { "quit", LB::b_quit, 0, 0, false, 200, CBLTIN }, // D2 c
- { "restart", LB::b_restart, 0, 0, false, 200, CBLTIN }, // D2 c
- { "return", LB::b_return, 0, 1, false, 200, CBLTIN }, // D2 f
- { "scummvm_returnNumber", LB::b_returnNumber, 1, 1, false, 200, CBLTIN }, // D2 f
- { "shutDown", LB::b_shutDown, 0, 0, false, 200, CBLTIN }, // D2 c
- { "startTimer", LB::b_startTimer, 0, 0, false, 200, CBLTIN }, // D2 c
+ { "preLoad", LB::b_preLoad, -1,0, 300, CBLTIN }, // D3.1 c
+ { "preLoadCast", LB::b_preLoadCast, -1,0, 300, CBLTIN }, // D3.1 c
+ { "quit", LB::b_quit, 0, 0, 200, CBLTIN }, // D2 c
+ { "restart", LB::b_restart, 0, 0, 200, CBLTIN }, // D2 c
+ { "return", LB::b_return, 0, 1, 200, CBLTIN }, // D2 f
+ { "scummvm_returnNumber", LB::b_returnNumber, 1, 1, 200, CBLTIN }, // D2 f
+ { "shutDown", LB::b_shutDown, 0, 0, 200, CBLTIN }, // D2 c
+ { "startTimer", LB::b_startTimer, 0, 0, 200, CBLTIN }, // D2 c
// when keyDown // D2
// when mouseDown // D2
// when mouseUp // D2
// when timeOut // D2
// Types
- { "factory", LB::b_factory, 1, 1, true, 300, FBLTIN }, // D3
- { "floatP", LB::b_floatP, 1, 1, true, 300, FBLTIN }, // D3
- { "ilk", LB::b_ilk, 1, 2, false, 400, FBLTIN }, // D4 f
- { "integerp", LB::b_integerp, 1, 1, true, 200, FBLTIN }, // D2 f
- { "objectp", LB::b_objectp, 1, 1, true, 200, FBLTIN }, // D2 f
- { "pictureP", LB::b_pictureP, 1, 1, true, 400, FBLTIN }, // D4 f
- { "stringp", LB::b_stringp, 1, 1, true, 200, FBLTIN }, // D2 f
- { "symbolp", LB::b_symbolp, 1, 1, true, 200, FBLTIN }, // D2 f
- { "voidP", LB::b_voidP, 1, 1, true, 400, FBLTIN }, // D4 f
+ { "factory", LB::b_factory, 1, 1, 300, FBLTIN }, // D3
+ { "floatP", LB::b_floatP, 1, 1, 300, FBLTIN }, // D3
+ { "ilk", LB::b_ilk, 1, 2, 400, FBLTIN }, // D4 f
+ { "integerp", LB::b_integerp, 1, 1, 200, FBLTIN }, // D2 f
+ { "objectp", LB::b_objectp, 1, 1, 200, FBLTIN }, // D2 f
+ { "pictureP", LB::b_pictureP, 1, 1, 400, FBLTIN }, // D4 f
+ { "stringp", LB::b_stringp, 1, 1, 200, FBLTIN }, // D2 f
+ { "symbolp", LB::b_symbolp, 1, 1, 200, FBLTIN }, // D2 f
+ { "voidP", LB::b_voidP, 1, 1, 400, FBLTIN }, // D4 f
// Misc
- { "alert", LB::b_alert, 1, 1, false, 200, CBLTIN }, // D2 c
- { "clearGlobals", LB::b_clearGlobals, 0, 0, false, 300, CBLTIN }, // D3.1 c
- { "cursor", LB::b_cursor, 1, 1, false, 200, CBLTIN }, // D2 c
- { "framesToHMS", LB::b_framesToHMS, 4, 4, false, 300, FBLTIN }, // D3 f
- { "HMStoFrames", LB::b_HMStoFrames, 4, 4, false, 300, FBLTIN }, // D3 f
- { "param", LB::b_param, 1, 1, true, 400, FBLTIN }, // D4 f
- { "printFrom", LB::b_printFrom, -1,0, false, 200, CBLTIN }, // D2 c
- { "put", LB::b_put, -1,0, false, 200, CBLTIN }, // D2
+ { "alert", LB::b_alert, 1, 1, 200, CBLTIN }, // D2 c
+ { "clearGlobals", LB::b_clearGlobals, 0, 0, 300, CBLTIN }, // D3.1 c
+ { "cursor", LB::b_cursor, 1, 1, 200, CBLTIN }, // D2 c
+ { "framesToHMS", LB::b_framesToHMS, 4, 4, 300, FBLTIN }, // D3 f
+ { "HMStoFrames", LB::b_HMStoFrames, 4, 4, 300, FBLTIN }, // D3 f
+ { "param", LB::b_param, 1, 1, 400, FBLTIN }, // D4 f
+ { "printFrom", LB::b_printFrom, -1,0, 200, CBLTIN }, // D2 c
+ { "put", LB::b_put, -1,0, 200, CBLTIN }, // D2
// set // D2
- { "showGlobals", LB::b_showGlobals, 0, 0, false, 200, CBLTIN }, // D2 c
- { "showLocals", LB::b_showLocals, 0, 0, false, 200, CBLTIN }, // D2 c
+ { "showGlobals", LB::b_showGlobals, 0, 0, 200, CBLTIN }, // D2 c
+ { "showLocals", LB::b_showLocals, 0, 0, 200, CBLTIN }, // D2 c
// Score
- { "constrainH", LB::b_constrainH, 2, 2, true, 200, FBLTIN }, // D2 f
- { "constrainV", LB::b_constrainV, 2, 2, true, 200, FBLTIN }, // D2 f
- { "copyToClipBoard",LB::b_copyToClipBoard,1,1, false, 400, CBLTIN }, // D4 c
- { "duplicate", LB::b_duplicate, 1, 2, false, 400, CBLTIN }, // D4 c
- { "editableText", LB::b_editableText, 0, 0, false, 200, CBLTIN }, // D2, FIXME: the field in D4+
- { "erase", LB::b_erase, 1, 1, false, 400, CBLTIN }, // D4 c
- { "findEmpty", LB::b_findEmpty, 1, 1, true, 400, FBLTIN }, // D4 f
+ { "constrainH", LB::b_constrainH, 2, 2, 200, FBLTIN }, // D2 f
+ { "constrainV", LB::b_constrainV, 2, 2, 200, FBLTIN }, // D2 f
+ { "copyToClipBoard",LB::b_copyToClipBoard,1,1, 400, CBLTIN }, // D4 c
+ { "duplicate", LB::b_duplicate, 1, 2, 400, CBLTIN }, // D4 c
+ { "editableText", LB::b_editableText, 0, 0, 200, CBLTIN }, // D2, FIXME: the field in D4+
+ { "erase", LB::b_erase, 1, 1, 400, CBLTIN }, // D4 c
+ { "findEmpty", LB::b_findEmpty, 1, 1, 400, FBLTIN }, // D4 f
// go // D2
- { "importFileInto", LB::b_importFileInto,2, 2, false, 400, CBLTIN }, // D4 c
- { "installMenu", LB::b_installMenu, 1, 1, false, 200, CBLTIN }, // D2 c
- { "label", LB::b_label, 1, 1, true, 200, FBLTIN }, // D2 f
- { "marker", LB::b_marker, 1, 1, true, 200, FBLTIN }, // D2 f
- { "move", LB::b_move, 1, 2, false, 400, CBLTIN }, // D4 c
- { "moveableSprite", LB::b_moveableSprite,0, 0, false, 200, CBLTIN },// D2, FIXME: the field in D4+
- { "pasteClipBoardInto",LB::b_pasteClipBoardInto,1,1,false,400,CBLTIN },// D4 c
- { "puppetPalette", LB::b_puppetPalette, -1,0, false, 200, CBLTIN },// D2 c
- { "puppetSound", LB::b_puppetSound, -1,0, false, 200, CBLTIN }, // D2 c
- { "puppetSprite", LB::b_puppetSprite, -1,0, false, 200, CBLTIN }, // D2 c
- { "puppetTempo", LB::b_puppetTempo, 1, 1, false, 200, CBLTIN }, // D2 c
- { "puppetTransition",LB::b_puppetTransition,-1,0,false,200, CBLTIN },// D2 c
- { "ramNeeded", LB::b_ramNeeded, 2, 2, true, 300, FBLTIN }, // D3.1 f
- { "rollOver", LB::b_rollOver, 1, 1, true, 299, FBLTIN }, // D2 f
- { "spriteBox", LB::b_spriteBox, -1,0, false, 200, CBLTIN }, // D2 c
- { "unLoad", LB::b_unLoad, 0, 2, false, 300, CBLTIN }, // D3.1 c
- { "unLoadCast", LB::b_unLoadCast, 0, 2, false, 300, CBLTIN }, // D3.1 c
- { "updateStage", LB::b_updateStage, 0, 0, false, 200, CBLTIN }, // D2 c
- { "zoomBox", LB::b_zoomBox, -1,0, false, 200, CBLTIN }, // D2 c
- {"immediateSprite", LB::b_immediateSprite, -1, 0, false, 200, CBLTIN}, // D2 c
+ { "importFileInto", LB::b_importFileInto,2, 2, 400, CBLTIN }, // D4 c
+ { "installMenu", LB::b_installMenu, 1, 1, 200, CBLTIN }, // D2 c
+ { "label", LB::b_label, 1, 1, 200, FBLTIN }, // D2 f
+ { "marker", LB::b_marker, 1, 1, 200, FBLTIN }, // D2 f
+ { "move", LB::b_move, 1, 2, 400, CBLTIN }, // D4 c
+ { "moveableSprite", LB::b_moveableSprite,0, 0, 200, CBLTIN },// D2, FIXME: the field in D4+
+ { "pasteClipBoardInto",LB::b_pasteClipBoardInto,1,1,400,CBLTIN },// D4 c
+ { "puppetPalette", LB::b_puppetPalette, -1,0, 200, CBLTIN },// D2 c
+ { "puppetSound", LB::b_puppetSound, -1,0, 200, CBLTIN }, // D2 c
+ { "puppetSprite", LB::b_puppetSprite, -1,0, 200, CBLTIN }, // D2 c
+ { "puppetTempo", LB::b_puppetTempo, 1, 1, 200, CBLTIN }, // D2 c
+ { "puppetTransition",LB::b_puppetTransition,-1,0,200, CBLTIN },// D2 c
+ { "ramNeeded", LB::b_ramNeeded, 2, 2, 300, FBLTIN }, // D3.1 f
+ { "rollOver", LB::b_rollOver, 1, 1, 299, FBLTIN }, // D2 f
+ { "spriteBox", LB::b_spriteBox, -1,0, 200, CBLTIN }, // D2 c
+ { "unLoad", LB::b_unLoad, 0, 2, 300, CBLTIN }, // D3.1 c
+ { "unLoadCast", LB::b_unLoadCast, 0, 2, 300, CBLTIN }, // D3.1 c
+ { "updateStage", LB::b_updateStage, 0, 0, 200, CBLTIN }, // D2 c
+ { "zoomBox", LB::b_zoomBox, -1,0, 200, CBLTIN }, // D2 c
+ {"immediateSprite", LB::b_immediateSprite, -1, 0, 200, CBLTIN}, // D2 c
// Point
- { "point", LB::b_point, 2, 2, true, 400, FBLTIN }, // D4 f
- { "inside", LB::b_inside, 2, 2, true, 400, FBLTIN }, // D4 f
- { "intersect", LB::b_intersect, 2, 2, false, 400, FBLTIN }, // D4 f
- { "map", LB::b_map, 3, 3, true, 400, FBLTIN }, // D4 f
- { "rect", LB::b_rect, 4, 4, true, 400, FBLTIN }, // D4 f
- { "union", LB::b_union, 2, 2, true, 400, FBLTIN }, // D4 f
+ { "point", LB::b_point, 2, 2, 400, FBLTIN }, // D4 f
+ { "inside", LB::b_inside, 2, 2, 400, FBLTIN }, // D4 f
+ { "intersect", LB::b_intersect, 2, 2, 400, FBLTIN }, // D4 f
+ { "map", LB::b_map, 3, 3, 400, FBLTIN }, // D4 f
+ { "rect", LB::b_rect, 4, 4, 400, FBLTIN }, // D4 f
+ { "union", LB::b_union, 2, 2, 400, FBLTIN }, // D4 f
// Sound
- { "beep", LB::b_beep, 0, 1, false, 200, CBLTIN }, // D2
- { "mci", LB::b_mci, 1, 1, false, 300, CBLTIN }, // D3.1 c
- { "mciwait", LB::b_mciwait, 1, 1, false, 400, CBLTIN }, // D4 c
- { "sound", LB::b_sound, 2, 3, false, 300, CBLTIN }, // D3 c
- { "soundBusy", LB::b_soundBusy, 1, 1, true, 300, FBLTIN }, // D3 f
+ { "beep", LB::b_beep, 0, 1, 200, CBLTIN }, // D2
+ { "mci", LB::b_mci, 1, 1, 300, CBLTIN }, // D3.1 c
+ { "mciwait", LB::b_mciwait, 1, 1, 400, CBLTIN }, // D4 c
+ { "sound", LB::b_sound, 2, 3, 300, CBLTIN }, // D3 c
+ { "soundBusy", LB::b_soundBusy, 1, 1, 300, FBLTIN }, // D3 f
// Constants
- { "backspace", LB::b_backspace, 0, 0, false, 200, KBLTIN }, // D2 konstant
- { "empty", LB::b_empty, 0, 0, false, 200, KBLTIN }, // D2 k
- { "enter", LB::b_enter, 0, 0, false, 200, KBLTIN }, // D2 k
- { "false", LB::b_false, 0, 0, false, 200, KBLTIN }, // D2 k
- { "quote", LB::b_quote, 0, 0, false, 200, KBLTIN }, // D2 k
- { "return", LB::b_returnconst, 0, 0, false, 200, KBLTIN }, // D2 k
- { "tab", LB::b_tab, 0, 0, false, 200, KBLTIN }, // D2 k
- { "true", LB::b_true, 0, 0, false, 200, KBLTIN }, // D2 k
- { "version", LB::b_version, 0, 0, false, 300, KBLTIN }, // D3 k
+ { "backspace", LB::b_backspace, 0, 0, 200, KBLTIN }, // D2 konstant
+ { "empty", LB::b_empty, 0, 0, 200, KBLTIN }, // D2 k
+ { "enter", LB::b_enter, 0, 0, 200, KBLTIN }, // D2 k
+ { "false", LB::b_false, 0, 0, 200, KBLTIN }, // D2 k
+ { "quote", LB::b_quote, 0, 0, 200, KBLTIN }, // D2 k
+ { "return", LB::b_returnconst, 0, 0, 200, KBLTIN }, // D2 k
+ { "tab", LB::b_tab, 0, 0, 200, KBLTIN }, // D2 k
+ { "true", LB::b_true, 0, 0, 200, KBLTIN }, // D2 k
+ { "version", LB::b_version, 0, 0, 300, KBLTIN }, // D3 k
// References
- { "cast", LB::b_cast, 1, 1, false, 400, FBLTIN }, // D4 f
- { "script", LB::b_script, 1, 1, false, 400, FBLTIN }, // D4 f
- { "window", LB::b_window, 1, 1, false, 400, FBLTIN }, // D4 f
+ { "cast", LB::b_cast, 1, 1, 400, FBLTIN }, // D4 f
+ { "script", LB::b_script, 1, 1, 400, FBLTIN }, // D4 f
+ { "window", LB::b_window, 1, 1, 400, FBLTIN }, // D4 f
// Chunk operations
- { "numberOfChars", LB::b_numberofchars,1, 1, false, 300, FBLTIN }, // D3 f
- { "numberOfItems", LB::b_numberofitems,1, 1, false, 300, FBLTIN }, // D3 f
- { "numberOfLines", LB::b_numberoflines,1, 1, false, 300, FBLTIN }, // D3 f
- { "numberOfWords", LB::b_numberofwords,1, 1, false, 300, FBLTIN }, // D3 f
+ { "numberOfChars", LB::b_numberofchars,1, 1, 300, FBLTIN }, // D3 f
+ { "numberOfItems", LB::b_numberofitems,1, 1, 300, FBLTIN }, // D3 f
+ { "numberOfLines", LB::b_numberoflines,1, 1, 300, FBLTIN }, // D3 f
+ { "numberOfWords", LB::b_numberofwords,1, 1, 300, FBLTIN }, // D3 f
// ScummVM Asserts: Used for testing ScummVM's Lingo implementation
- { "scummvmAssert", LB::b_scummvmassert,1, 2, true, 200, HBLTIN },
- { "scummvmAssertEqual", LB::b_scummvmassertequal,2,3,true,200,HBLTIN },
+ { "scummvmAssert", LB::b_scummvmassert,1, 2, 200, HBLTIN },
+ { "scummvmAssertEqual", LB::b_scummvmassertequal,2,3,200,HBLTIN },
// XCMD/XFCN (HyperCard), normally exposed
- { "GetVolumes", LB::b_getVolumes, 0, 0, true, 400, FBLTIN },
+ { "GetVolumes", LB::b_getVolumes, 0, 0, 400, FBLTIN },
- { 0, 0, 0, 0, false, 0, VOIDSYM }
+ { 0, 0, 0, 0, 0, VOIDSYM }
};
void Lingo::initBuiltIns() {
@@ -282,7 +281,7 @@ void Lingo::initBuiltIns() {
sym.type = blt->type;
sym.nargs = blt->minArgs;
sym.maxArgs = blt->maxArgs;
- sym.parens = blt->parens;
+
sym.u.bltin = blt->func;
switch (blt->type) {
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index ff4844ba19..755a7a405f 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -63,7 +63,6 @@ Symbol::Symbol() {
*refCount = 1;
nargs = 0;
maxArgs = 0;
- parens = true;
targetType = kNoneObj;
argNames = nullptr;
varNames = nullptr;
@@ -81,7 +80,6 @@ Symbol::Symbol(const Symbol &s) {
*refCount += 1;
nargs = s.nargs;
maxArgs = s.maxArgs;
- parens = s.parens;
targetType = s.targetType;
argNames = s.argNames;
varNames = s.varNames;
@@ -103,7 +101,6 @@ Symbol& Symbol::operator=(const Symbol &s) {
*refCount += 1;
nargs = s.nargs;
maxArgs = s.maxArgs;
- parens = s.parens;
targetType = s.targetType;
argNames = s.argNames;
varNames = s.varNames;
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index 89ada9dc2b..4a1b6c5461 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -84,7 +84,6 @@ struct Symbol { /* symbol table entry */
int nargs; /* number of arguments */
int maxArgs; /* maximal number of arguments, for builtins */
- bool parens; /* whether parens required or not, for builitins */
int targetType; /* valid target objects, for method builtins */
Common::Array<Common::String> *argNames;
Commit: 60c4394e8ad7629650d3ffabe7ce9c2a16959fad
https://github.com/scummvm/scummvm/commit/60c4394e8ad7629650d3ffabe7ce9c2a16959fad
Author: djsrv (dservilla at gmail.com)
Date: 2021-07-11T15:14:17-04:00
Commit Message:
DIRECTOR: LINGO: Create function for registering new builtins
Changed paths:
engines/director/lingo/lingo-builtins.cpp
engines/director/lingo/lingo.h
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index a162b36898..b68d2325e5 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -80,14 +80,7 @@ namespace Director {
return; \
}
-static struct BuiltinProto {
- const char *name;
- void (*func)(int);
- int minArgs; // -1 -- arglist
- int maxArgs;
- int version;
- SymbolType type;
-} builtins[] = {
+static BuiltinProto builtins[] = {
// Math
{ "abs", LB::b_abs, 1, 1, 200, FBLTIN }, // D2 function
{ "atan", LB::b_atan, 1, 1, 400, FBLTIN }, // D4 f
@@ -271,7 +264,11 @@ static struct BuiltinProto {
};
void Lingo::initBuiltIns() {
- for (BuiltinProto *blt = builtins; blt->name; blt++) {
+ initBuiltIns(builtins);
+}
+
+void Lingo::initBuiltIns(BuiltinProto protos[]) {
+ for (BuiltinProto *blt = protos; blt->name; blt++) {
if (blt->version > _vm->getVersion())
continue;
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index 4a1b6c5461..61194f7d63 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -70,6 +70,15 @@ struct FuncDesc {
typedef Common::HashMap<void *, FuncDesc *> FuncHash;
+struct BuiltinProto {
+ const char *name;
+ void (*func)(int);
+ int minArgs; // -1 -- arglist
+ int maxArgs;
+ int version;
+ SymbolType type;
+};
+
struct Symbol { /* symbol table entry */
Common::String *name;
SymbolType type;
@@ -250,6 +259,7 @@ public:
void reloadBuiltIns();
void initBuiltIns();
+ void initBuiltIns(BuiltinProto protos[]);
void cleanupBuiltIns();
void initFuncs();
void cleanupFuncs();
Commit: b8d39546e454131ea0f6bf5521cfac346ad54ed9
https://github.com/scummvm/scummvm/commit/b8d39546e454131ea0f6bf5521cfac346ad54ed9
Author: djsrv (dservilla at gmail.com)
Date: 2021-07-11T15:17:44-04:00
Commit Message:
DIRCTOR: LINGO: Stub FPlayXobj
Changed paths:
A engines/director/lingo/xlibs/fplayxobj.cpp
A engines/director/lingo/xlibs/fplayxobj.h
engines/director/lingo/lingo-builtins.cpp
engines/director/lingo/lingo-builtins.h
engines/director/lingo/lingo-object.cpp
engines/director/module.mk
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index b68d2325e5..9d8007605b 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -155,7 +155,6 @@ static BuiltinProto builtins[] = {
{ "pause", LB::b_pause, 0, 0, 200, CBLTIN }, // D2 c
{ "play", LB::b_play, 0, 2, 200, CBLTIN }, // D2 c
{ "playAccel", LB::b_playAccel, -1,0, 200, CBLTIN }, // D2
- {"fplay", LB::b_fplay, -1,0, 200, CBLTIN }, // D2
// play done // D2
{ "preLoad", LB::b_preLoad, -1,0, 300, CBLTIN }, // D3.1 c
{ "preLoadCast", LB::b_preLoadCast, -1,0, 300, CBLTIN }, // D3.1 c
@@ -2400,12 +2399,6 @@ void LB::b_version(int nargs) {
g_lingo->push(res);
}
-void LB::b_fplay(int nargs) {
- for (int i = 0; i < nargs; i++)
- g_lingo->pop();
- warning("STUB: b_fplay");
-}
-
///////////////////
// References
///////////////////
diff --git a/engines/director/lingo/lingo-builtins.h b/engines/director/lingo/lingo-builtins.h
index 816b867fd2..4c00207411 100644
--- a/engines/director/lingo/lingo-builtins.h
+++ b/engines/director/lingo/lingo-builtins.h
@@ -188,8 +188,6 @@ void b_version(int nargs);
void b_cast(int nargs);
void b_script(int nargs);
-void b_fplay(int nargs);
-
void b_numberofchars(int nargs);
void b_numberofitems(int nargs);
void b_numberoflines(int nargs);
diff --git a/engines/director/lingo/lingo-object.cpp b/engines/director/lingo/lingo-object.cpp
index cda164e6c9..50121ed69a 100644
--- a/engines/director/lingo/lingo-object.cpp
+++ b/engines/director/lingo/lingo-object.cpp
@@ -37,6 +37,7 @@
#include "director/lingo/xlibs/fileio.h"
#include "director/lingo/xlibs/flushxobj.h"
+#include "director/lingo/xlibs/fplayxobj.h"
#include "director/lingo/xlibs/labeldrvxobj.h"
#include "director/lingo/xlibs/palxobj.h"
#include "director/lingo/xlibs/winxobj.h"
@@ -111,6 +112,7 @@ static struct XLibProto {
} xlibs[] = {
{ "FileIO", FileIO::initialize, kXObj | kFactoryObj, 200 }, // D2
{ "FlushXObj", FlushXObj::initialize, kXObj, 400 }, // D4
+ { "FPlayXObj", FPlayXObj::initialize, kXObj, 200 }, // D2
{ "PalXObj", PalXObj:: initialize, kXObj, 400 }, // D4
{ "LabelDrv", LabelDrvXObj:: initialize, kXObj, 400 }, // D4
{ "winXObj", RearWindowXObj::initialize, kXObj, 400 }, // D4
diff --git a/engines/director/lingo/xlibs/fplayxobj.cpp b/engines/director/lingo/xlibs/fplayxobj.cpp
new file mode 100644
index 0000000000..3f0e705bc4
--- /dev/null
+++ b/engines/director/lingo/xlibs/fplayxobj.cpp
@@ -0,0 +1,93 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+ /*************************************
+ *
+ * USED IN:
+ * Spaceship Warlock Mac
+ *
+ *************************************/
+
+#include "director/lingo/lingo.h"
+#include "director/lingo/xlibs/fplayxobj.h"
+
+namespace Director {
+
+static BuiltinProto builtins[] = {
+ { "FPlay", FPlayXObj::b_fplay, -1,0, 200, CBLTIN },
+ { "SndInfo", FPlayXObj::b_sndinfo, -1,0, 200, FBLTIN },
+ { "SndList", FPlayXObj::b_sndlist, -1,0, 200, FBLTIN },
+ { "SndList", FPlayXObj::b_sndlist, -1,0, 200, FBLTIN },
+ { "Volume", FPlayXObj::b_volume, -1,0, 200, FBLTIN },
+ { "FileName", FPlayXObj::b_filename, -1,0, 200, FBLTIN },
+ { "InputLevel", FPlayXObj::b_inputlevel,-1,0, 200, FBLTIN },
+ { "FSound", FPlayXObj::b_fsound, -1,0, 200, FBLTIN },
+ { 0, 0, 0, 0, 0, VOIDSYM }
+};
+
+void FPlayXObj::initialize(int type) {
+ g_lingo->initBuiltIns(builtins);
+}
+
+void FPlayXObj::b_fplay(int nargs) {
+ g_lingo->printSTUBWithArglist("b_fplay", nargs);
+ g_lingo->dropStack(nargs);
+}
+
+void FPlayXObj::b_sndinfo(int nargs) {
+ g_lingo->printSTUBWithArglist("b_sndinfo", nargs);
+ g_lingo->dropStack(nargs);
+ g_lingo->push(Datum());
+}
+
+void FPlayXObj::b_sndlist(int nargs) {
+ g_lingo->printSTUBWithArglist("b_sndlist", nargs);
+ g_lingo->dropStack(nargs);
+ g_lingo->push(Datum());
+}
+
+void FPlayXObj::b_volume(int nargs) {
+ g_lingo->printSTUBWithArglist("b_volume", nargs);
+ g_lingo->dropStack(nargs);
+ g_lingo->push(Datum());
+}
+
+void FPlayXObj::b_filename(int nargs) {
+ g_lingo->printSTUBWithArglist("b_filename", nargs);
+ g_lingo->dropStack(nargs);
+ g_lingo->push(Datum());
+}
+
+void FPlayXObj::b_inputlevel(int nargs) {
+ g_lingo->printSTUBWithArglist("b_inputlevel", nargs);
+ g_lingo->dropStack(nargs);
+ g_lingo->push(Datum());
+}
+
+void FPlayXObj::b_fsound(int nargs) {
+ g_lingo->printSTUBWithArglist("b_fsound", nargs);
+ g_lingo->dropStack(nargs);
+ g_lingo->push(Datum());
+}
+
+} // End of namespace Director
+
diff --git a/engines/director/lingo/xlibs/fplayxobj.h b/engines/director/lingo/xlibs/fplayxobj.h
new file mode 100644
index 0000000000..1cc977bbf5
--- /dev/null
+++ b/engines/director/lingo/xlibs/fplayxobj.h
@@ -0,0 +1,44 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef DIRECTOR_LINGO_XLIBS_FPLAYXOBJ_H
+#define DIRECTOR_LINGO_XLIBS_FPLAYXOBJ_H
+
+namespace Director {
+
+namespace FPlayXObj {
+
+void initialize(int type);
+
+void b_fplay(int nargs);
+void b_sndinfo(int nargs);
+void b_sndlist(int nargs);
+void b_volume(int nargs);
+void b_filename(int nargs);
+void b_inputlevel(int nargs);
+void b_fsound(int nargs);
+
+} // End of namespace FPlayXObj
+
+} // End of namespace Director
+
+#endif
diff --git a/engines/director/module.mk b/engines/director/module.mk
index 13788a7726..e220ea98c3 100644
--- a/engines/director/module.mk
+++ b/engines/director/module.mk
@@ -38,6 +38,7 @@ MODULE_OBJS = \
lingo/lingo-the.o \
lingo/xlibs/fileio.o \
lingo/xlibs/flushxobj.o \
+ lingo/xlibs/fplayxobj.o \
lingo/xlibs/labeldrvxobj.o \
lingo/xlibs/palxobj.o \
lingo/xlibs/winxobj.o
Commit: 1c5231ec761864b8015158dedaea488bcf41561b
https://github.com/scummvm/scummvm/commit/1c5231ec761864b8015158dedaea488bcf41561b
Author: djsrv (dservilla at gmail.com)
Date: 2021-07-11T15:19:33-04:00
Commit Message:
DIRECTOR: LINGO: Fix FileIO type
It's an XObject or an Xtra, not an XObject or a factory.
Changed paths:
engines/director/lingo/lingo-object.cpp
diff --git a/engines/director/lingo/lingo-object.cpp b/engines/director/lingo/lingo-object.cpp
index 50121ed69a..58cc3a9d94 100644
--- a/engines/director/lingo/lingo-object.cpp
+++ b/engines/director/lingo/lingo-object.cpp
@@ -110,7 +110,7 @@ static struct XLibProto {
int type;
int version;
} xlibs[] = {
- { "FileIO", FileIO::initialize, kXObj | kFactoryObj, 200 }, // D2
+ { "FileIO", FileIO::initialize, kXObj | kXtraObj, 200 }, // D2
{ "FlushXObj", FlushXObj::initialize, kXObj, 400 }, // D4
{ "FPlayXObj", FPlayXObj::initialize, kXObj, 200 }, // D2
{ "PalXObj", PalXObj:: initialize, kXObj, 400 }, // D4
More information about the Scummvm-git-logs
mailing list