[Scummvm-git-logs] scummvm master -> ef58fa797b582379910e4b9716e92cb6bec52140
sev-
noreply at scummvm.org
Mon Jun 17 19:53:07 UTC 2024
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:
96df7715e1 DIRECTOR: LINGO: Introduce filter by gameid for xlibs/xobj filenames
1ba0482ca9 DEVTOOLS: DIRECTOR: Reflect Xlib API changes in XObj stub generator
4049cbbf1a DIRECTOR: LINGO: Remove redundant file entries to Xlibs
605b339ba9 DIRECTOR: JANITORIAL: FIx whitespaces
ef58fa797b DIRECTOR: LINGO: Plug in IniXObj
Commit: 96df7715e14374b8b9764b4e35cc00fad8eb63b2
https://github.com/scummvm/scummvm/commit/96df7715e14374b8b9764b4e35cc00fad8eb63b2
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-06-17T21:52:46+02:00
Commit Message:
DIRECTOR: LINGO: Introduce filter by gameid for xlibs/xobj filenames
Currently, it is used for resolving conflict when gameid "www"
is using ini.dll for jwxini.dll, while ini.dll exists and is
used in gameid 'karma'
Changed paths:
engines/director/lingo/lingo-object.cpp
engines/director/lingo/lingo-object.h
engines/director/lingo/xlibs/aiff.cpp
engines/director/lingo/xlibs/aiff.h
engines/director/lingo/xlibs/applecdxobj.cpp
engines/director/lingo/xlibs/applecdxobj.h
engines/director/lingo/xlibs/askuser.cpp
engines/director/lingo/xlibs/askuser.h
engines/director/lingo/xlibs/backdrop.cpp
engines/director/lingo/xlibs/backdrop.h
engines/director/lingo/xlibs/barakeobj.cpp
engines/director/lingo/xlibs/barakeobj.h
engines/director/lingo/xlibs/batqt.cpp
engines/director/lingo/xlibs/batqt.h
engines/director/lingo/xlibs/bimxobj.cpp
engines/director/lingo/xlibs/bimxobj.h
engines/director/lingo/xlibs/blitpict.cpp
engines/director/lingo/xlibs/blitpict.h
engines/director/lingo/xlibs/cdromxobj.cpp
engines/director/lingo/xlibs/cdromxobj.h
engines/director/lingo/xlibs/closebleedwindowxcmd.cpp
engines/director/lingo/xlibs/closebleedwindowxcmd.h
engines/director/lingo/xlibs/colorcursorxobj.cpp
engines/director/lingo/xlibs/colorcursorxobj.h
engines/director/lingo/xlibs/colorxobj.cpp
engines/director/lingo/xlibs/colorxobj.h
engines/director/lingo/xlibs/consumer.cpp
engines/director/lingo/xlibs/consumer.h
engines/director/lingo/xlibs/cursorxobj.cpp
engines/director/lingo/xlibs/cursorxobj.h
engines/director/lingo/xlibs/darkenscreen.cpp
engines/director/lingo/xlibs/darkenscreen.h
engines/director/lingo/xlibs/developerStack.cpp
engines/director/lingo/xlibs/developerStack.h
engines/director/lingo/xlibs/dialogsxobj.cpp
engines/director/lingo/xlibs/dialogsxobj.h
engines/director/lingo/xlibs/dirutil.cpp
engines/director/lingo/xlibs/dirutil.h
engines/director/lingo/xlibs/dllglue.cpp
engines/director/lingo/xlibs/dllglue.h
engines/director/lingo/xlibs/dpwavi.cpp
engines/director/lingo/xlibs/dpwavi.h
engines/director/lingo/xlibs/dpwqtw.cpp
engines/director/lingo/xlibs/dpwqtw.h
engines/director/lingo/xlibs/draw.cpp
engines/director/lingo/xlibs/draw.h
engines/director/lingo/xlibs/ednox.cpp
engines/director/lingo/xlibs/ednox.h
engines/director/lingo/xlibs/eventq.cpp
engines/director/lingo/xlibs/eventq.h
engines/director/lingo/xlibs/fadegammadownxcmd.cpp
engines/director/lingo/xlibs/fadegammadownxcmd.h
engines/director/lingo/xlibs/fadegammaupxcmd.cpp
engines/director/lingo/xlibs/fadegammaupxcmd.h
engines/director/lingo/xlibs/fadegammaxcmd.cpp
engines/director/lingo/xlibs/fadegammaxcmd.h
engines/director/lingo/xlibs/fedracul.cpp
engines/director/lingo/xlibs/fedracul.h
engines/director/lingo/xlibs/feimasks.cpp
engines/director/lingo/xlibs/feimasks.h
engines/director/lingo/xlibs/feiprefs.cpp
engines/director/lingo/xlibs/feiprefs.h
engines/director/lingo/xlibs/fileexists.cpp
engines/director/lingo/xlibs/fileexists.h
engines/director/lingo/xlibs/fileio.cpp
engines/director/lingo/xlibs/fileio.h
engines/director/lingo/xlibs/findereventsxcmd.cpp
engines/director/lingo/xlibs/findereventsxcmd.h
engines/director/lingo/xlibs/findfolder.cpp
engines/director/lingo/xlibs/findfolder.h
engines/director/lingo/xlibs/findsys.cpp
engines/director/lingo/xlibs/findsys.h
engines/director/lingo/xlibs/findwin.cpp
engines/director/lingo/xlibs/findwin.h
engines/director/lingo/xlibs/flushxobj.cpp
engines/director/lingo/xlibs/flushxobj.h
engines/director/lingo/xlibs/fplayxobj.cpp
engines/director/lingo/xlibs/fplayxobj.h
engines/director/lingo/xlibs/genutils.cpp
engines/director/lingo/xlibs/genutils.h
engines/director/lingo/xlibs/getscreenrectsxfcn.cpp
engines/director/lingo/xlibs/getscreenrectsxfcn.h
engines/director/lingo/xlibs/getscreensizexfcn.cpp
engines/director/lingo/xlibs/getscreensizexfcn.h
engines/director/lingo/xlibs/gpid.cpp
engines/director/lingo/xlibs/gpid.h
engines/director/lingo/xlibs/hitmap.cpp
engines/director/lingo/xlibs/hitmap.h
engines/director/lingo/xlibs/inixobj.cpp
engines/director/lingo/xlibs/inixobj.h
engines/director/lingo/xlibs/instobj.cpp
engines/director/lingo/xlibs/instobj.h
engines/director/lingo/xlibs/iscd.cpp
engines/director/lingo/xlibs/iscd.h
engines/director/lingo/xlibs/ispippin.cpp
engines/director/lingo/xlibs/ispippin.h
engines/director/lingo/xlibs/jitdraw3.cpp
engines/director/lingo/xlibs/jitdraw3.h
engines/director/lingo/xlibs/jwxini.cpp
engines/director/lingo/xlibs/jwxini.h
engines/director/lingo/xlibs/labeldrvxobj.cpp
engines/director/lingo/xlibs/labeldrvxobj.h
engines/director/lingo/xlibs/maniacbg.cpp
engines/director/lingo/xlibs/maniacbg.h
engines/director/lingo/xlibs/mapnavigatorxobj.cpp
engines/director/lingo/xlibs/mapnavigatorxobj.h
engines/director/lingo/xlibs/memcheckxobj.cpp
engines/director/lingo/xlibs/memcheckxobj.h
engines/director/lingo/xlibs/memoryxobj.cpp
engines/director/lingo/xlibs/memoryxobj.h
engines/director/lingo/xlibs/misc.cpp
engines/director/lingo/xlibs/misc.h
engines/director/lingo/xlibs/miscx.cpp
engines/director/lingo/xlibs/miscx.h
engines/director/lingo/xlibs/mmaskxobj.cpp
engines/director/lingo/xlibs/mmaskxobj.h
engines/director/lingo/xlibs/mmovie.cpp
engines/director/lingo/xlibs/mmovie.h
engines/director/lingo/xlibs/moovxobj.cpp
engines/director/lingo/xlibs/moovxobj.h
engines/director/lingo/xlibs/movemousexobj.cpp
engines/director/lingo/xlibs/movemousexobj.h
engines/director/lingo/xlibs/movieidxxobj.cpp
engines/director/lingo/xlibs/movieidxxobj.h
engines/director/lingo/xlibs/movutils.cpp
engines/director/lingo/xlibs/movutils.h
engines/director/lingo/xlibs/openbleedwindowxcmd.cpp
engines/director/lingo/xlibs/openbleedwindowxcmd.h
engines/director/lingo/xlibs/orthoplayxobj.cpp
engines/director/lingo/xlibs/orthoplayxobj.h
engines/director/lingo/xlibs/paco.cpp
engines/director/lingo/xlibs/paco.h
engines/director/lingo/xlibs/palxobj.cpp
engines/director/lingo/xlibs/palxobj.h
engines/director/lingo/xlibs/panel.cpp
engines/director/lingo/xlibs/panel.h
engines/director/lingo/xlibs/popupmenuxobj.cpp
engines/director/lingo/xlibs/popupmenuxobj.h
engines/director/lingo/xlibs/porta.cpp
engines/director/lingo/xlibs/porta.h
engines/director/lingo/xlibs/portaxcmd.cpp
engines/director/lingo/xlibs/portaxcmd.h
engines/director/lingo/xlibs/prefpath.cpp
engines/director/lingo/xlibs/prefpath.h
engines/director/lingo/xlibs/printomatic.cpp
engines/director/lingo/xlibs/printomatic.h
engines/director/lingo/xlibs/processxobj.cpp
engines/director/lingo/xlibs/processxobj.h
engines/director/lingo/xlibs/qtcatmovieplayerxobj.cpp
engines/director/lingo/xlibs/qtcatmovieplayerxobj.h
engines/director/lingo/xlibs/qtmovie.cpp
engines/director/lingo/xlibs/qtmovie.h
engines/director/lingo/xlibs/qtvr.cpp
engines/director/lingo/xlibs/qtvr.h
engines/director/lingo/xlibs/quicktime.cpp
engines/director/lingo/xlibs/quicktime.h
engines/director/lingo/xlibs/registercomponent.cpp
engines/director/lingo/xlibs/registercomponent.h
engines/director/lingo/xlibs/remixxcmd.cpp
engines/director/lingo/xlibs/remixxcmd.h
engines/director/lingo/xlibs/serialportxobj.cpp
engines/director/lingo/xlibs/serialportxobj.h
engines/director/lingo/xlibs/soundjam.cpp
engines/director/lingo/xlibs/soundjam.h
engines/director/lingo/xlibs/spacemgr.cpp
engines/director/lingo/xlibs/spacemgr.h
engines/director/lingo/xlibs/stagetc.cpp
engines/director/lingo/xlibs/stagetc.h
engines/director/lingo/xlibs/unittest.cpp
engines/director/lingo/xlibs/unittest.h
engines/director/lingo/xlibs/valkyrie.cpp
engines/director/lingo/xlibs/valkyrie.h
engines/director/lingo/xlibs/videodiscxobj.cpp
engines/director/lingo/xlibs/videodiscxobj.h
engines/director/lingo/xlibs/vmisonxfcn.cpp
engines/director/lingo/xlibs/vmisonxfcn.h
engines/director/lingo/xlibs/volumelist.cpp
engines/director/lingo/xlibs/volumelist.h
engines/director/lingo/xlibs/widgetxobj.cpp
engines/director/lingo/xlibs/widgetxobj.h
engines/director/lingo/xlibs/window.cpp
engines/director/lingo/xlibs/window.h
engines/director/lingo/xlibs/wininfo.cpp
engines/director/lingo/xlibs/wininfo.h
engines/director/lingo/xlibs/winxobj.cpp
engines/director/lingo/xlibs/winxobj.h
engines/director/lingo/xlibs/xcmdglue.cpp
engines/director/lingo/xlibs/xcmdglue.h
engines/director/lingo/xlibs/xio.cpp
engines/director/lingo/xlibs/xio.h
engines/director/lingo/xlibs/xplayanim.cpp
engines/director/lingo/xlibs/xplayanim.h
engines/director/lingo/xlibs/xsoundxfcn.cpp
engines/director/lingo/xlibs/xsoundxfcn.h
engines/director/lingo/xlibs/xwin.cpp
engines/director/lingo/xlibs/xwin.h
engines/director/lingo/xlibs/yasix.cpp
engines/director/lingo/xlibs/yasix.h
engines/director/lingo/xtras/scrnutil.cpp
engines/director/lingo/xtras/scrnutil.h
diff --git a/engines/director/lingo/lingo-object.cpp b/engines/director/lingo/lingo-object.cpp
index 412fb2b707f..d6676c4c70b 100644
--- a/engines/director/lingo/lingo-object.cpp
+++ b/engines/director/lingo/lingo-object.cpp
@@ -195,7 +195,7 @@ void Lingo::cleanupMethods() {
{ class::fileNames, class::open, class::close, flags, version }
static struct XLibProto {
- const char **names;
+ const XlibFileDesc *names;
XLibOpenerFunc opener;
XLibCloserFunc closer;
int type;
@@ -308,9 +308,16 @@ void Lingo::initXLibs() {
if (lib->version > _vm->getVersion())
continue;
- for (uint i = 0; lib->names[i]; i++) {
- _xlibOpeners[lib->names[i]] = lib->opener;
- _xlibClosers[lib->names[i]] = lib->closer;
+ for (uint i = 0; lib->names[i].name; i++) {
+ // If this entry belongs to a specific game, skip it unless matched
+ if (lib->names[i].gameId && strcmp(lib->names[i].gameId, g_director->getGameId()))
+ continue;
+
+ if (_xlibOpeners.contains(lib->names[i].name))
+ warning("Lingo::initXLibs(): Duplicate enttry for %s", lib->names[i].name);
+
+ _xlibOpeners[lib->names[i].name] = lib->opener;
+ _xlibClosers[lib->names[i].name] = lib->closer;
}
}
}
diff --git a/engines/director/lingo/lingo-object.h b/engines/director/lingo/lingo-object.h
index f61e0a81b1d..e11bb01ddb5 100644
--- a/engines/director/lingo/lingo-object.h
+++ b/engines/director/lingo/lingo-object.h
@@ -34,6 +34,11 @@ struct MethodProto {
int version;
};
+struct XlibFileDesc {
+ const char *name; // Base file name for the Xlib file in the original
+ const char *gameId; // GameId or nullptr if applicable to all
+};
+
class AbstractObject {
public:
virtual ~AbstractObject() {};
diff --git a/engines/director/lingo/xlibs/aiff.cpp b/engines/director/lingo/xlibs/aiff.cpp
index eb5c9e5934e..d8670571cf3 100644
--- a/engines/director/lingo/xlibs/aiff.cpp
+++ b/engines/director/lingo/xlibs/aiff.cpp
@@ -56,9 +56,9 @@
namespace Director {
const char *AiffXObj::xlibName = "aiff";
-const char *AiffXObj::fileNames[] = {
- "AIFF",
- nullptr
+const XlibFileDesc AiffXObj::fileNames[] = {
+ { "AIFF", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/aiff.h b/engines/director/lingo/xlibs/aiff.h
index 1a7063516ac..27d1f3c7029 100644
--- a/engines/director/lingo/xlibs/aiff.h
+++ b/engines/director/lingo/xlibs/aiff.h
@@ -33,7 +33,7 @@ public:
namespace AiffXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/applecdxobj.cpp b/engines/director/lingo/xlibs/applecdxobj.cpp
index f0c5812c80f..c4456ac5681 100644
--- a/engines/director/lingo/xlibs/applecdxobj.cpp
+++ b/engines/director/lingo/xlibs/applecdxobj.cpp
@@ -98,10 +98,10 @@
namespace Director {
const char *AppleCDXObj::xlibName = "AppleCD";
-const char *AppleCDXObj::fileNames[] = {
- "AppleCD",
- "AppleCD XObj",
- 0
+const XlibFileDesc AppleCDXObj::fileNames[] = {
+ { "AppleCD", nullptr },
+ { "AppleCD XObj", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/applecdxobj.h b/engines/director/lingo/xlibs/applecdxobj.h
index eac54292057..f9be68e1400 100644
--- a/engines/director/lingo/xlibs/applecdxobj.h
+++ b/engines/director/lingo/xlibs/applecdxobj.h
@@ -45,7 +45,7 @@ public:
namespace AppleCDXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/askuser.cpp b/engines/director/lingo/xlibs/askuser.cpp
index ff10e37040a..15a49b175af 100644
--- a/engines/director/lingo/xlibs/askuser.cpp
+++ b/engines/director/lingo/xlibs/askuser.cpp
@@ -46,10 +46,10 @@ namespace Director {
*/
const char *AskUser::xlibName = "AskUser";
-const char *AskUser::fileNames[] = {
- "AskUser",
- "ASKUSER",
- nullptr
+const XlibFileDesc AskUser::fileNames[] = {
+ { "AskUser", nullptr },
+ { "ASKUSER", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/askuser.h b/engines/director/lingo/xlibs/askuser.h
index 0211d2de103..22925b3edcc 100644
--- a/engines/director/lingo/xlibs/askuser.h
+++ b/engines/director/lingo/xlibs/askuser.h
@@ -32,7 +32,7 @@ public:
namespace AskUser {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/backdrop.cpp b/engines/director/lingo/xlibs/backdrop.cpp
index d8392d95a27..0ef70aeac44 100644
--- a/engines/director/lingo/xlibs/backdrop.cpp
+++ b/engines/director/lingo/xlibs/backdrop.cpp
@@ -58,11 +58,11 @@ XS mRegister, serialNumber
namespace Director {
const char *BackdropXObj::xlibName = "Backdrop";
-const char *BackdropXObj::fileNames[] = {
- "Backdrop",
- "backdrop.obj",
- "Backdrop XObj",
- nullptr
+const XlibFileDesc BackdropXObj::fileNames[] = {
+ { "Backdrop", nullptr },
+ { "backdrop.obj", nullptr },
+ { "Backdrop XObj", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/backdrop.h b/engines/director/lingo/xlibs/backdrop.h
index fcfc87edef4..d8d23ccc2a5 100644
--- a/engines/director/lingo/xlibs/backdrop.h
+++ b/engines/director/lingo/xlibs/backdrop.h
@@ -32,7 +32,7 @@ public:
namespace BackdropXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/barakeobj.cpp b/engines/director/lingo/xlibs/barakeobj.cpp
index ab84a9b781a..680d0b102cb 100644
--- a/engines/director/lingo/xlibs/barakeobj.cpp
+++ b/engines/director/lingo/xlibs/barakeobj.cpp
@@ -44,9 +44,9 @@
namespace Director {
const char *BarakeObj::xlibName = "BarakeObj";
-const char *BarakeObj::fileNames[] = {
- "BarakeObj",
- 0
+const XlibFileDesc BarakeObj::fileNames[] = {
+ { "BarakeObj", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/barakeobj.h b/engines/director/lingo/xlibs/barakeobj.h
index 52db77bb1e9..5e972832da1 100644
--- a/engines/director/lingo/xlibs/barakeobj.h
+++ b/engines/director/lingo/xlibs/barakeobj.h
@@ -32,7 +32,7 @@ public:
namespace BarakeObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/batqt.cpp b/engines/director/lingo/xlibs/batqt.cpp
index 919cb3c6bb2..3815facb072 100644
--- a/engines/director/lingo/xlibs/batqt.cpp
+++ b/engines/director/lingo/xlibs/batqt.cpp
@@ -67,9 +67,9 @@ namespace Director {
// The name is different from the obj filename.
const char *BatQT::xlibName = "batQT";
-const char *BatQT::fileNames[] = {
- "batQT",
- nullptr
+const XlibFileDesc BatQT::fileNames[] = {
+ { "batQT", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/batqt.h b/engines/director/lingo/xlibs/batqt.h
index d9cf27fea05..4a3bc6bb621 100644
--- a/engines/director/lingo/xlibs/batqt.h
+++ b/engines/director/lingo/xlibs/batqt.h
@@ -42,7 +42,7 @@ public:
namespace BatQT {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/bimxobj.cpp b/engines/director/lingo/xlibs/bimxobj.cpp
index ec1db87b9fa..cb15183f47b 100644
--- a/engines/director/lingo/xlibs/bimxobj.cpp
+++ b/engines/director/lingo/xlibs/bimxobj.cpp
@@ -48,10 +48,10 @@
namespace Director {
const char *BIMXObj::xlibName = "BIM";
-const char *BIMXObj::fileNames[] = {
- "FLC",
- "BIM",
- nullptr
+const XlibFileDesc BIMXObj::fileNames[] = {
+ { "FLC", nullptr },
+ { "BIM", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/bimxobj.h b/engines/director/lingo/xlibs/bimxobj.h
index 543b0342b95..ccbcc799158 100644
--- a/engines/director/lingo/xlibs/bimxobj.h
+++ b/engines/director/lingo/xlibs/bimxobj.h
@@ -32,7 +32,7 @@ public:
namespace BIMXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/blitpict.cpp b/engines/director/lingo/xlibs/blitpict.cpp
index 82dd615be65..d50301d58c6 100644
--- a/engines/director/lingo/xlibs/blitpict.cpp
+++ b/engines/director/lingo/xlibs/blitpict.cpp
@@ -53,9 +53,9 @@ IIIIIIIIIIII mSparkle --Draws a sparkle from a bitmap
namespace Director {
const char *BlitPictXObj::xlibName = "BlitPict";
-const char *BlitPictXObj::fileNames[] = {
- "blitpict",
- nullptr
+const XlibFileDesc BlitPictXObj::fileNames[] = {
+ { "blitpict", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/blitpict.h b/engines/director/lingo/xlibs/blitpict.h
index 0f47021ce92..28def988036 100644
--- a/engines/director/lingo/xlibs/blitpict.h
+++ b/engines/director/lingo/xlibs/blitpict.h
@@ -32,7 +32,7 @@ public:
namespace BlitPictXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/cdromxobj.cpp b/engines/director/lingo/xlibs/cdromxobj.cpp
index 7e00ff87bb5..8d44a4af404 100644
--- a/engines/director/lingo/xlibs/cdromxobj.cpp
+++ b/engines/director/lingo/xlibs/cdromxobj.cpp
@@ -172,10 +172,10 @@
namespace Director {
const char *CDROMXObj::xlibName = "AppleAudioCD";
-const char *CDROMXObj::fileNames[] = {
- "CD-ROM XObj",
- "AppleAudioCD",
- nullptr
+const XlibFileDesc CDROMXObj::fileNames[] = {
+ { "CD-ROM XObj", nullptr },
+ { "AppleAudioCD", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/cdromxobj.h b/engines/director/lingo/xlibs/cdromxobj.h
index 6f41c371e12..7c3f05c5ffb 100644
--- a/engines/director/lingo/xlibs/cdromxobj.h
+++ b/engines/director/lingo/xlibs/cdromxobj.h
@@ -35,7 +35,7 @@ public:
namespace CDROMXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/closebleedwindowxcmd.cpp b/engines/director/lingo/xlibs/closebleedwindowxcmd.cpp
index ab22ef72a02..2b5dc33abac 100644
--- a/engines/director/lingo/xlibs/closebleedwindowxcmd.cpp
+++ b/engines/director/lingo/xlibs/closebleedwindowxcmd.cpp
@@ -37,9 +37,9 @@
namespace Director {
const char *CloseBleedWindowXCMD::xlibName = "CloseBleedWindow";
-const char *CloseBleedWindowXCMD::fileNames[] = {
- "CloseBleedWindow",
- nullptr
+const XlibFileDesc CloseBleedWindowXCMD::fileNames[] = {
+ { "CloseBleedWindow", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
diff --git a/engines/director/lingo/xlibs/closebleedwindowxcmd.h b/engines/director/lingo/xlibs/closebleedwindowxcmd.h
index 6da8dd057fe..4aaa727cb3f 100644
--- a/engines/director/lingo/xlibs/closebleedwindowxcmd.h
+++ b/engines/director/lingo/xlibs/closebleedwindowxcmd.h
@@ -27,7 +27,7 @@ namespace Director {
namespace CloseBleedWindowXCMD {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/colorcursorxobj.cpp b/engines/director/lingo/xlibs/colorcursorxobj.cpp
index b8d7e624261..96e1803a66c 100644
--- a/engines/director/lingo/xlibs/colorcursorxobj.cpp
+++ b/engines/director/lingo/xlibs/colorcursorxobj.cpp
@@ -45,9 +45,9 @@ X mReleaseCursor -- CALL THIS BEFORE DISPOSING OBJECT or using the lingo <cursor
namespace Director {
const char *ColorCursorXObj::xlibName = "colorcursorxobj";
-const char *ColorCursorXObj::fileNames[] = {
- "CCURSOR.XOB",
- nullptr
+const XlibFileDesc ColorCursorXObj::fileNames[] = {
+ { "CCURSOR.XOB", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/colorcursorxobj.h b/engines/director/lingo/xlibs/colorcursorxobj.h
index 9828eafc5f3..d6d6a448d6b 100644
--- a/engines/director/lingo/xlibs/colorcursorxobj.h
+++ b/engines/director/lingo/xlibs/colorcursorxobj.h
@@ -32,7 +32,7 @@ public:
namespace ColorCursorXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/colorxobj.cpp b/engines/director/lingo/xlibs/colorxobj.cpp
index e8dc200d122..ea179d900f5 100644
--- a/engines/director/lingo/xlibs/colorxobj.cpp
+++ b/engines/director/lingo/xlibs/colorxobj.cpp
@@ -60,10 +60,10 @@
namespace Director {
const char *ColorXObj::xlibName = "Color";
-const char *ColorXObj::fileNames[] = {
- "color",
- "color.dll",
- nullptr
+const XlibFileDesc ColorXObj::fileNames[] = {
+ { "color", nullptr },
+ { "color.dll", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/colorxobj.h b/engines/director/lingo/xlibs/colorxobj.h
index 6cf7d5e1ac6..e34b28c9189 100644
--- a/engines/director/lingo/xlibs/colorxobj.h
+++ b/engines/director/lingo/xlibs/colorxobj.h
@@ -27,7 +27,7 @@ namespace Director {
namespace ColorXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/consumer.cpp b/engines/director/lingo/xlibs/consumer.cpp
index 8c0ba340b00..6259d821f0f 100644
--- a/engines/director/lingo/xlibs/consumer.cpp
+++ b/engines/director/lingo/xlibs/consumer.cpp
@@ -53,9 +53,9 @@ I mHackMenu --Hack to destroy menu
namespace Director {
const char *ConsumerXObj::xlibName = "Consumer";
-const char *ConsumerXObj::fileNames[] = {
- "consumer",
- nullptr
+const XlibFileDesc ConsumerXObj::fileNames[] = {
+ { "consumer", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/consumer.h b/engines/director/lingo/xlibs/consumer.h
index 49ade34795b..797ae8fa40e 100644
--- a/engines/director/lingo/xlibs/consumer.h
+++ b/engines/director/lingo/xlibs/consumer.h
@@ -32,7 +32,7 @@ public:
namespace ConsumerXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/cursorxobj.cpp b/engines/director/lingo/xlibs/cursorxobj.cpp
index 6e3323eaccc..bcdae07c6a7 100644
--- a/engines/director/lingo/xlibs/cursorxobj.cpp
+++ b/engines/director/lingo/xlibs/cursorxobj.cpp
@@ -45,9 +45,9 @@ XSS mSetCursor, cursorName, windowName --Sets the window cursor
namespace Director {
const char *CursorXObj::xlibName = "Cursor";
-const char *CursorXObj::fileNames[] = {
- "CURSOR",
- nullptr
+const XlibFileDesc CursorXObj::fileNames[] = {
+ { "CURSOR", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/cursorxobj.h b/engines/director/lingo/xlibs/cursorxobj.h
index 515ca324ab2..596dfb09da3 100644
--- a/engines/director/lingo/xlibs/cursorxobj.h
+++ b/engines/director/lingo/xlibs/cursorxobj.h
@@ -32,7 +32,7 @@ public:
namespace CursorXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/darkenscreen.cpp b/engines/director/lingo/xlibs/darkenscreen.cpp
index 7c2a21a0b5b..06ffd343c3a 100644
--- a/engines/director/lingo/xlibs/darkenscreen.cpp
+++ b/engines/director/lingo/xlibs/darkenscreen.cpp
@@ -40,9 +40,9 @@
namespace Director {
const char *DarkenScreen::xlibName = "darkenScreen";
-const char *DarkenScreen::fileNames[] = {
- "darkenScreen",
- 0
+const XlibFileDesc DarkenScreen::fileNames[] = {
+ { "darkenScreen", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
diff --git a/engines/director/lingo/xlibs/darkenscreen.h b/engines/director/lingo/xlibs/darkenscreen.h
index 6dc3a5e1977..934c2a6db3f 100644
--- a/engines/director/lingo/xlibs/darkenscreen.h
+++ b/engines/director/lingo/xlibs/darkenscreen.h
@@ -27,7 +27,7 @@ namespace Director {
namespace DarkenScreen {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/developerStack.cpp b/engines/director/lingo/xlibs/developerStack.cpp
index 2391a106930..0bc14321cd8 100644
--- a/engines/director/lingo/xlibs/developerStack.cpp
+++ b/engines/director/lingo/xlibs/developerStack.cpp
@@ -23,6 +23,7 @@
#include "director/director.h"
#include "director/lingo/lingo.h"
+#include "director/lingo/lingo-object.h"
#include "director/lingo/xlibs/developerStack.h"
/*************************************
@@ -131,9 +132,9 @@
namespace Director {
const char *DeveloperStack::xlibName = "SetVolume";
-const char *DeveloperStack::fileNames[] = {
- "SetVolume",
- nullptr
+const XlibFileDesc DeveloperStack::fileNames[] = {
+ {"SetVolume", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
diff --git a/engines/director/lingo/xlibs/developerStack.h b/engines/director/lingo/xlibs/developerStack.h
index a3be8cf95cb..c4cab016e38 100644
--- a/engines/director/lingo/xlibs/developerStack.h
+++ b/engines/director/lingo/xlibs/developerStack.h
@@ -27,7 +27,7 @@ namespace Director {
namespace DeveloperStack {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/dialogsxobj.cpp b/engines/director/lingo/xlibs/dialogsxobj.cpp
index 13140aaf278..1c0450bd83c 100644
--- a/engines/director/lingo/xlibs/dialogsxobj.cpp
+++ b/engines/director/lingo/xlibs/dialogsxobj.cpp
@@ -57,10 +57,10 @@ const char *DialogsXObj::xlibNames[] = {
nullptr
};
-const char *DialogsXObj::fileNames[] = {
- "DialogS",
- "shaREQUE", // TD loads this up using openXLib("@:shaREQUE.DLL")
- nullptr
+const XlibFileDesc DialogsXObj::fileNames[] = {
+ { "DialogS", nullptr },
+ { "shaREQUE", nullptr }, // TD loads this up using openXLib("@:shaREQUE.DLL")
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/dialogsxobj.h b/engines/director/lingo/xlibs/dialogsxobj.h
index 094444b27d9..b63e6c397fe 100644
--- a/engines/director/lingo/xlibs/dialogsxobj.h
+++ b/engines/director/lingo/xlibs/dialogsxobj.h
@@ -31,7 +31,7 @@ public:
namespace DialogsXObj {
extern const char *xlibNames[];
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/dirutil.cpp b/engines/director/lingo/xlibs/dirutil.cpp
index 8f80ef9089a..51ae7313fdb 100644
--- a/engines/director/lingo/xlibs/dirutil.cpp
+++ b/engines/director/lingo/xlibs/dirutil.cpp
@@ -49,9 +49,9 @@ XI mSetErrorMode,mode --sets windoze error mode
namespace Director {
const char *DirUtilXObj::xlibName = "DirUtil";
-const char *DirUtilXObj::fileNames[] = {
- "dirutil",
- nullptr
+const XlibFileDesc DirUtilXObj::fileNames[] = {
+ { "dirutil", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/dirutil.h b/engines/director/lingo/xlibs/dirutil.h
index 917f70fba4b..26fb20d4494 100644
--- a/engines/director/lingo/xlibs/dirutil.h
+++ b/engines/director/lingo/xlibs/dirutil.h
@@ -32,7 +32,7 @@ public:
namespace DirUtilXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/dllglue.cpp b/engines/director/lingo/xlibs/dllglue.cpp
index 824af988a40..cb64d0084da 100644
--- a/engines/director/lingo/xlibs/dllglue.cpp
+++ b/engines/director/lingo/xlibs/dllglue.cpp
@@ -51,9 +51,9 @@ X mDebug --write debugging info to message window
namespace Director {
const char *DLLGlueXObj::xlibName = "DLLGlue";
-const char *DLLGlueXObj::fileNames[] = {
- "DLLGLUE",
- nullptr
+const XlibFileDesc DLLGlueXObj::fileNames[] = {
+ { "DLLGLUE", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/dllglue.h b/engines/director/lingo/xlibs/dllglue.h
index d3c0d5794fa..829dcc28dfb 100644
--- a/engines/director/lingo/xlibs/dllglue.h
+++ b/engines/director/lingo/xlibs/dllglue.h
@@ -32,7 +32,7 @@ public:
namespace DLLGlueXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/dpwavi.cpp b/engines/director/lingo/xlibs/dpwavi.cpp
index 2c36fa5adc7..fddf2bea091 100644
--- a/engines/director/lingo/xlibs/dpwavi.cpp
+++ b/engines/director/lingo/xlibs/dpwavi.cpp
@@ -48,9 +48,9 @@ XII mVerb msg, qtPacker -- do something
namespace Director {
const char *DPWAVIXObj::xlibName = "DPWAVI";
-const char *DPWAVIXObj::fileNames[] = {
- "DPWAVI",
- nullptr
+const XlibFileDesc DPWAVIXObj::fileNames[] = {
+ { "DPWAVI", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/dpwavi.h b/engines/director/lingo/xlibs/dpwavi.h
index 5a7f99e01aa..0b07c5f1298 100644
--- a/engines/director/lingo/xlibs/dpwavi.h
+++ b/engines/director/lingo/xlibs/dpwavi.h
@@ -32,7 +32,7 @@ public:
namespace DPWAVIXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/dpwqtw.cpp b/engines/director/lingo/xlibs/dpwqtw.cpp
index eb58e0cfcb1..e3d79bbd691 100644
--- a/engines/director/lingo/xlibs/dpwqtw.cpp
+++ b/engines/director/lingo/xlibs/dpwqtw.cpp
@@ -48,9 +48,9 @@ XII mVerb msg, qtPacker -- do something
namespace Director {
const char *DPWQTWXObj::xlibName = "DPWQTW";
-const char *DPWQTWXObj::fileNames[] = {
- "DPWQTW",
- nullptr
+const XlibFileDesc DPWQTWXObj::fileNames[] = {
+ { "DPWQTW", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/dpwqtw.h b/engines/director/lingo/xlibs/dpwqtw.h
index 43f0811b834..0a3cce85656 100644
--- a/engines/director/lingo/xlibs/dpwqtw.h
+++ b/engines/director/lingo/xlibs/dpwqtw.h
@@ -32,7 +32,7 @@ public:
namespace DPWQTWXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/draw.cpp b/engines/director/lingo/xlibs/draw.cpp
index 13073cb6961..01d55e97c6b 100644
--- a/engines/director/lingo/xlibs/draw.cpp
+++ b/engines/director/lingo/xlibs/draw.cpp
@@ -90,9 +90,9 @@
namespace Director {
const char *DrawXObj::xlibName = "Draw";
-const char *DrawXObj::fileNames[] = {
- "DRAW",
- 0
+const XlibFileDesc DrawXObj::fileNames[] = {
+ { "DRAW", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/draw.h b/engines/director/lingo/xlibs/draw.h
index a8776818fc8..ea9d41d5275 100644
--- a/engines/director/lingo/xlibs/draw.h
+++ b/engines/director/lingo/xlibs/draw.h
@@ -32,7 +32,7 @@ public:
namespace DrawXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/ednox.cpp b/engines/director/lingo/xlibs/ednox.cpp
index 1645bb5124e..80386d5b8ff 100644
--- a/engines/director/lingo/xlibs/ednox.cpp
+++ b/engines/director/lingo/xlibs/ednox.cpp
@@ -65,9 +65,9 @@
namespace Director {
const char *Ednox::xlibName = "Ednox";
-const char *Ednox::fileNames[] = {
- "Ednox",
- 0
+const XlibFileDesc Ednox::fileNames[] = {
+ { "Ednox", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/ednox.h b/engines/director/lingo/xlibs/ednox.h
index 0f17ac264b1..93264ec1628 100644
--- a/engines/director/lingo/xlibs/ednox.h
+++ b/engines/director/lingo/xlibs/ednox.h
@@ -32,7 +32,7 @@ public:
namespace Ednox {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/eventq.cpp b/engines/director/lingo/xlibs/eventq.cpp
index bbef84c263a..7f08e1c304b 100644
--- a/engines/director/lingo/xlibs/eventq.cpp
+++ b/engines/director/lingo/xlibs/eventq.cpp
@@ -54,9 +54,9 @@ const char *EventQXObj::xlibNames[] = {
nullptr
};
-const char *EventQXObj::fileNames[] = {
- "EventQ",
- nullptr
+const XlibFileDesc EventQXObj::fileNames[] = {
+ { "EventQ", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/eventq.h b/engines/director/lingo/xlibs/eventq.h
index 11bae008c50..4e3934d4e09 100644
--- a/engines/director/lingo/xlibs/eventq.h
+++ b/engines/director/lingo/xlibs/eventq.h
@@ -31,7 +31,7 @@ public:
namespace EventQXObj {
extern const char *xlibNames[];
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/fadegammadownxcmd.cpp b/engines/director/lingo/xlibs/fadegammadownxcmd.cpp
index e7345dee394..d90cc41ae55 100644
--- a/engines/director/lingo/xlibs/fadegammadownxcmd.cpp
+++ b/engines/director/lingo/xlibs/fadegammadownxcmd.cpp
@@ -37,9 +37,9 @@
namespace Director {
const char *FadeGammaDownXCMD::xlibName = "FadeGammaDown";
-const char *FadeGammaDownXCMD::fileNames[] = {
- "FadeGammaDown",
- nullptr
+const XlibFileDesc FadeGammaDownXCMD::fileNames[] = {
+ { "FadeGammaDown", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
diff --git a/engines/director/lingo/xlibs/fadegammadownxcmd.h b/engines/director/lingo/xlibs/fadegammadownxcmd.h
index 6b5354fe401..5714b73fbbf 100644
--- a/engines/director/lingo/xlibs/fadegammadownxcmd.h
+++ b/engines/director/lingo/xlibs/fadegammadownxcmd.h
@@ -27,7 +27,7 @@ namespace Director {
namespace FadeGammaDownXCMD {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/fadegammaupxcmd.cpp b/engines/director/lingo/xlibs/fadegammaupxcmd.cpp
index a38cdc79b99..ce6fbdcf103 100644
--- a/engines/director/lingo/xlibs/fadegammaupxcmd.cpp
+++ b/engines/director/lingo/xlibs/fadegammaupxcmd.cpp
@@ -37,9 +37,9 @@
namespace Director {
const char *FadeGammaUpXCMD::xlibName = "FadeGammaUp";
-const char *FadeGammaUpXCMD::fileNames[] = {
- "FadeGammaUp",
- nullptr
+const XlibFileDesc FadeGammaUpXCMD::fileNames[] = {
+ { "FadeGammaUp", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
diff --git a/engines/director/lingo/xlibs/fadegammaupxcmd.h b/engines/director/lingo/xlibs/fadegammaupxcmd.h
index 5dc1ae2c13e..4581f1398f3 100644
--- a/engines/director/lingo/xlibs/fadegammaupxcmd.h
+++ b/engines/director/lingo/xlibs/fadegammaupxcmd.h
@@ -27,7 +27,7 @@ namespace Director {
namespace FadeGammaUpXCMD {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/fadegammaxcmd.cpp b/engines/director/lingo/xlibs/fadegammaxcmd.cpp
index 5b59674ead9..a92bea53b11 100644
--- a/engines/director/lingo/xlibs/fadegammaxcmd.cpp
+++ b/engines/director/lingo/xlibs/fadegammaxcmd.cpp
@@ -37,9 +37,9 @@
namespace Director {
const char *FadeGammaXCMD::xlibName = "FadeGamma";
-const char *FadeGammaXCMD::fileNames[] = {
- "FadeGamma",
- nullptr
+const XlibFileDesc FadeGammaXCMD::fileNames[] = {
+ { "FadeGamma", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
diff --git a/engines/director/lingo/xlibs/fadegammaxcmd.h b/engines/director/lingo/xlibs/fadegammaxcmd.h
index 02bb4453667..8b56ac690c9 100644
--- a/engines/director/lingo/xlibs/fadegammaxcmd.h
+++ b/engines/director/lingo/xlibs/fadegammaxcmd.h
@@ -27,7 +27,7 @@ namespace Director {
namespace FadeGammaXCMD {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/fedracul.cpp b/engines/director/lingo/xlibs/fedracul.cpp
index 2e3578d74cb..65d08e4b4a3 100644
--- a/engines/director/lingo/xlibs/fedracul.cpp
+++ b/engines/director/lingo/xlibs/fedracul.cpp
@@ -52,9 +52,9 @@
namespace Director {
const char *FEDraculXObj::xlibName = "FEDracul";
-const char *FEDraculXObj::fileNames[] = {
- "FEDracul",
- nullptr
+const XlibFileDesc FEDraculXObj::fileNames[] = {
+ { "FEDracul", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/fedracul.h b/engines/director/lingo/xlibs/fedracul.h
index ec0b67bb899..b2d00313f59 100644
--- a/engines/director/lingo/xlibs/fedracul.h
+++ b/engines/director/lingo/xlibs/fedracul.h
@@ -33,7 +33,7 @@ public:
namespace FEDraculXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/feimasks.cpp b/engines/director/lingo/xlibs/feimasks.cpp
index 0338141a081..1ef310d8193 100644
--- a/engines/director/lingo/xlibs/feimasks.cpp
+++ b/engines/director/lingo/xlibs/feimasks.cpp
@@ -44,9 +44,9 @@
namespace Director {
const char *FEIMasksXObj::xlibName = "FEIMasks";
-const char *FEIMasksXObj::fileNames[] = {
- "FEIMasks",
- nullptr
+const XlibFileDesc FEIMasksXObj::fileNames[] = {
+ { "FEIMasks", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/feimasks.h b/engines/director/lingo/xlibs/feimasks.h
index 0bd8377857b..121188385cf 100644
--- a/engines/director/lingo/xlibs/feimasks.h
+++ b/engines/director/lingo/xlibs/feimasks.h
@@ -33,7 +33,7 @@ public:
namespace FEIMasksXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/feiprefs.cpp b/engines/director/lingo/xlibs/feiprefs.cpp
index 0c67068e2cf..1fd3a4aac6f 100644
--- a/engines/director/lingo/xlibs/feiprefs.cpp
+++ b/engines/director/lingo/xlibs/feiprefs.cpp
@@ -48,9 +48,9 @@
namespace Director {
const char *FEIPrefsXObj::xlibName = "FEIPrefs";
-const char *FEIPrefsXObj::fileNames[] = {
- "feiprefs",
- nullptr
+const XlibFileDesc FEIPrefsXObj::fileNames[] = {
+ { "feiprefs", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/feiprefs.h b/engines/director/lingo/xlibs/feiprefs.h
index 4c300b6b376..0c0d158e67e 100644
--- a/engines/director/lingo/xlibs/feiprefs.h
+++ b/engines/director/lingo/xlibs/feiprefs.h
@@ -33,7 +33,7 @@ public:
namespace FEIPrefsXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/fileexists.cpp b/engines/director/lingo/xlibs/fileexists.cpp
index 5505d92b1b1..d86be02fb22 100644
--- a/engines/director/lingo/xlibs/fileexists.cpp
+++ b/engines/director/lingo/xlibs/fileexists.cpp
@@ -43,9 +43,9 @@
namespace Director {
const char *FileExists::xlibName = "FileExists";
-const char *FileExists::fileNames[] = {
- "FileExists",
- 0
+const XlibFileDesc FileExists::fileNames[] = {
+ { "FileExists", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
diff --git a/engines/director/lingo/xlibs/fileexists.h b/engines/director/lingo/xlibs/fileexists.h
index 4a6e8af7b84..45aa292da51 100644
--- a/engines/director/lingo/xlibs/fileexists.h
+++ b/engines/director/lingo/xlibs/fileexists.h
@@ -27,7 +27,7 @@ namespace Director {
namespace FileExists {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/fileio.cpp b/engines/director/lingo/xlibs/fileio.cpp
index 24a0e650ea8..15a5a5ef91c 100644
--- a/engines/director/lingo/xlibs/fileio.cpp
+++ b/engines/director/lingo/xlibs/fileio.cpp
@@ -135,11 +135,11 @@ delete object me -- deletes the open file
namespace Director {
const char *FileIO::xlibName = "FileIO";
-const char *FileIO::fileNames[] = {
- "FileIO",
- "shFILEIO", // TD loads this up using openXLib("@:shFILEIO.DLL")
- "FILE",
- nullptr
+const XlibFileDesc FileIO::fileNames[] = {
+ { "FileIO", nullptr },
+ { "shFILEIO", nullptr }, // TD loads this up using openXLib("@:shFILEIO.DLL")
+ { "FILE", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/fileio.h b/engines/director/lingo/xlibs/fileio.h
index dabc79433ae..777b5d899dc 100644
--- a/engines/director/lingo/xlibs/fileio.h
+++ b/engines/director/lingo/xlibs/fileio.h
@@ -72,7 +72,7 @@ public:
namespace FileIO {
extern const char *xlibName;
- extern const char *fileNames[];
+ extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/findereventsxcmd.cpp b/engines/director/lingo/xlibs/findereventsxcmd.cpp
index e225cf79abc..e957f4ca678 100644
--- a/engines/director/lingo/xlibs/findereventsxcmd.cpp
+++ b/engines/director/lingo/xlibs/findereventsxcmd.cpp
@@ -37,9 +37,9 @@
namespace Director {
const char *FinderEventsXCMD::xlibName = "FinderEvents";
-const char *FinderEventsXCMD::fileNames[] = {
- "FinderEvents",
- nullptr
+const XlibFileDesc FinderEventsXCMD::fileNames[] = {
+ { "FinderEvents", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
diff --git a/engines/director/lingo/xlibs/findereventsxcmd.h b/engines/director/lingo/xlibs/findereventsxcmd.h
index 17892cd8f3f..836f408a828 100644
--- a/engines/director/lingo/xlibs/findereventsxcmd.h
+++ b/engines/director/lingo/xlibs/findereventsxcmd.h
@@ -27,7 +27,7 @@ namespace Director {
namespace FinderEventsXCMD {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/findfolder.cpp b/engines/director/lingo/xlibs/findfolder.cpp
index 49039ec635e..211ba8c4986 100644
--- a/engines/director/lingo/xlibs/findfolder.cpp
+++ b/engines/director/lingo/xlibs/findfolder.cpp
@@ -91,9 +91,9 @@
namespace Director {
const char *FindFolder::xlibName = "FindFolder";
-const char *FindFolder::fileNames[] = {
- "FindFolder",
- 0
+const XlibFileDesc FindFolder::fileNames[] = {
+ { "FindFolder", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
diff --git a/engines/director/lingo/xlibs/findfolder.h b/engines/director/lingo/xlibs/findfolder.h
index 5187efc6ef1..33ee8b689b2 100644
--- a/engines/director/lingo/xlibs/findfolder.h
+++ b/engines/director/lingo/xlibs/findfolder.h
@@ -27,7 +27,7 @@ namespace Director {
namespace FindFolder {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/findsys.cpp b/engines/director/lingo/xlibs/findsys.cpp
index 3c300654095..7fc84e70401 100644
--- a/engines/director/lingo/xlibs/findsys.cpp
+++ b/engines/director/lingo/xlibs/findsys.cpp
@@ -49,9 +49,9 @@ namespace Director {
// The name is different from the obj filename.
const char *FindSys::xlibName = "FindSys";
-const char *FindSys::fileNames[] = {
- "FindSys",
- nullptr
+const XlibFileDesc FindSys::fileNames[] = {
+ { "FindSys", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/findsys.h b/engines/director/lingo/xlibs/findsys.h
index 3c392205c02..ad0070bd916 100644
--- a/engines/director/lingo/xlibs/findsys.h
+++ b/engines/director/lingo/xlibs/findsys.h
@@ -32,7 +32,7 @@ public:
namespace FindSys {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/findwin.cpp b/engines/director/lingo/xlibs/findwin.cpp
index de57e9ef2c8..97865833dd5 100644
--- a/engines/director/lingo/xlibs/findwin.cpp
+++ b/engines/director/lingo/xlibs/findwin.cpp
@@ -46,9 +46,9 @@ namespace Director {
// The name is different from the obj filename.
const char *FindWin::xlibName = "FindWin";
-const char *FindWin::fileNames[] = {
- "FindWin",
- nullptr
+const XlibFileDesc FindWin::fileNames[] = {
+ { "FindWin", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/findwin.h b/engines/director/lingo/xlibs/findwin.h
index 6ba81ce895d..1224b93c2b9 100644
--- a/engines/director/lingo/xlibs/findwin.h
+++ b/engines/director/lingo/xlibs/findwin.h
@@ -32,7 +32,7 @@ public:
namespace FindWin {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/flushxobj.cpp b/engines/director/lingo/xlibs/flushxobj.cpp
index 1ca5ce4413d..2057ffa16c8 100644
--- a/engines/director/lingo/xlibs/flushxobj.cpp
+++ b/engines/director/lingo/xlibs/flushxobj.cpp
@@ -66,13 +66,13 @@ const char *FlushXObj::xlibNames[] = {
"Johnny",
nullptr,
};
-const char *FlushXObj::fileNames[] = {
- "FlushEvents",
- "FlushXObj",
- "Johnny",
- "Johnny.XObj",
- "Toilet",
- nullptr
+const XlibFileDesc FlushXObj::fileNames[] = {
+ { "FlushEvents", nullptr },
+ { "FlushXObj", nullptr },
+ { "Johnny", nullptr },
+ { "Johnny.XObj", nullptr },
+ { "Toilet", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/flushxobj.h b/engines/director/lingo/xlibs/flushxobj.h
index 8a42bc68a95..113227abff2 100644
--- a/engines/director/lingo/xlibs/flushxobj.h
+++ b/engines/director/lingo/xlibs/flushxobj.h
@@ -32,7 +32,7 @@ public:
namespace FlushXObj {
extern const char *xlibNames[];
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/fplayxobj.cpp b/engines/director/lingo/xlibs/fplayxobj.cpp
index f922439e522..766a7621ab0 100644
--- a/engines/director/lingo/xlibs/fplayxobj.cpp
+++ b/engines/director/lingo/xlibs/fplayxobj.cpp
@@ -42,10 +42,10 @@
namespace Director {
const char *FPlayXObj::xlibName = "FPlay";
-const char *FPlayXObj::fileNames[] = {
- "FPlayXObj",
- "FPlay",
- nullptr
+const XlibFileDesc FPlayXObj::fileNames[] = {
+ { "FPlayXObj", nullptr },
+ { "FPlay", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
diff --git a/engines/director/lingo/xlibs/fplayxobj.h b/engines/director/lingo/xlibs/fplayxobj.h
index f7e493748c5..408a16f532d 100644
--- a/engines/director/lingo/xlibs/fplayxobj.h
+++ b/engines/director/lingo/xlibs/fplayxobj.h
@@ -27,7 +27,7 @@ namespace Director {
namespace FPlayXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/genutils.cpp b/engines/director/lingo/xlibs/genutils.cpp
index 189554343bf..1db59bfcdf6 100644
--- a/engines/director/lingo/xlibs/genutils.cpp
+++ b/engines/director/lingo/xlibs/genutils.cpp
@@ -51,9 +51,9 @@ III mClickCursor --Moves the cursor to x,y and clicks it.
namespace Director {
const char *GenUtilsXObj::xlibName = "GenUtils";
-const char *GenUtilsXObj::fileNames[] = {
- "GENUTILS",
- nullptr
+const XlibFileDesc GenUtilsXObj::fileNames[] = {
+ { "GENUTILS", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/genutils.h b/engines/director/lingo/xlibs/genutils.h
index 14647e949d5..af3b60e8aa0 100644
--- a/engines/director/lingo/xlibs/genutils.h
+++ b/engines/director/lingo/xlibs/genutils.h
@@ -32,7 +32,7 @@ public:
namespace GenUtilsXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/getscreenrectsxfcn.cpp b/engines/director/lingo/xlibs/getscreenrectsxfcn.cpp
index 269029a1e8e..4c0b677823e 100644
--- a/engines/director/lingo/xlibs/getscreenrectsxfcn.cpp
+++ b/engines/director/lingo/xlibs/getscreenrectsxfcn.cpp
@@ -37,9 +37,9 @@
namespace Director {
const char *GetScreenRectsXFCN::xlibName = "GetScreenRects";
-const char *GetScreenRectsXFCN::fileNames[] = {
- "GetScreenRects",
- nullptr
+const XlibFileDesc GetScreenRectsXFCN::fileNames[] = {
+ { "GetScreenRects", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
diff --git a/engines/director/lingo/xlibs/getscreenrectsxfcn.h b/engines/director/lingo/xlibs/getscreenrectsxfcn.h
index c19b702b701..e9aecbbb5b5 100644
--- a/engines/director/lingo/xlibs/getscreenrectsxfcn.h
+++ b/engines/director/lingo/xlibs/getscreenrectsxfcn.h
@@ -27,7 +27,7 @@ namespace Director {
namespace GetScreenRectsXFCN {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/getscreensizexfcn.cpp b/engines/director/lingo/xlibs/getscreensizexfcn.cpp
index 64ee65afba4..296cec544fa 100644
--- a/engines/director/lingo/xlibs/getscreensizexfcn.cpp
+++ b/engines/director/lingo/xlibs/getscreensizexfcn.cpp
@@ -37,9 +37,9 @@
namespace Director {
const char *GetScreenSizeXFCN::xlibName = "GetScreenSize";
-const char *GetScreenSizeXFCN::fileNames[] = {
- "GetScreenSize",
- nullptr
+const XlibFileDesc GetScreenSizeXFCN::fileNames[] = {
+ { "GetScreenSize", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
diff --git a/engines/director/lingo/xlibs/getscreensizexfcn.h b/engines/director/lingo/xlibs/getscreensizexfcn.h
index a6160e8d6c2..b77e69a2cfe 100644
--- a/engines/director/lingo/xlibs/getscreensizexfcn.h
+++ b/engines/director/lingo/xlibs/getscreensizexfcn.h
@@ -27,7 +27,7 @@ namespace Director {
namespace GetScreenSizeXFCN {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/gpid.cpp b/engines/director/lingo/xlibs/gpid.cpp
index 9fbbe0cad51..a0e145f10c1 100644
--- a/engines/director/lingo/xlibs/gpid.cpp
+++ b/engines/director/lingo/xlibs/gpid.cpp
@@ -53,9 +53,9 @@
namespace Director {
const char *GpidXObj::xlibName = "gpid";
-const char *GpidXObj::fileNames[] = {
- "GPID",
- nullptr
+const XlibFileDesc GpidXObj::fileNames[] = {
+ { "GPID", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/gpid.h b/engines/director/lingo/xlibs/gpid.h
index b994b8b833b..d2a4942b15a 100644
--- a/engines/director/lingo/xlibs/gpid.h
+++ b/engines/director/lingo/xlibs/gpid.h
@@ -33,7 +33,7 @@ public:
namespace GpidXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/hitmap.cpp b/engines/director/lingo/xlibs/hitmap.cpp
index 6dbf191cf83..a228b2723cc 100644
--- a/engines/director/lingo/xlibs/hitmap.cpp
+++ b/engines/director/lingo/xlibs/hitmap.cpp
@@ -49,10 +49,10 @@ X mDispose --Dispose of memory allocation
namespace Director {
const char *HitMap::xlibName = "HitMap";
-const char *HitMap::fileNames[] = {
- "HitMap",
- "maskXobj",
- 0
+const XlibFileDesc HitMap::fileNames[] = {
+ { "HitMap", nullptr },
+ { "maskXobj", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/hitmap.h b/engines/director/lingo/xlibs/hitmap.h
index 774efc7fa80..507cbb0bd23 100644
--- a/engines/director/lingo/xlibs/hitmap.h
+++ b/engines/director/lingo/xlibs/hitmap.h
@@ -32,7 +32,7 @@ public:
namespace HitMap {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/inixobj.cpp b/engines/director/lingo/xlibs/inixobj.cpp
index af817b46797..09e6da80382 100644
--- a/engines/director/lingo/xlibs/inixobj.cpp
+++ b/engines/director/lingo/xlibs/inixobj.cpp
@@ -46,9 +46,9 @@ I mDispose -- Disposes of XObject instance.
namespace Director {
const char *IniXObj::xlibName = "Ini";
-const char *IniXObj::fileNames[] = {
- "INI",
- nullptr
+cconst XlibFileDesc JourneyWareXINIXObj::fileNames[] = {
+ { "INI", "karma" }, // "Karma: Curse of the 12 Caves" conflicts with JWXIni in "www" gameid
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/inixobj.h b/engines/director/lingo/xlibs/inixobj.h
index 3f59557f378..8565f8d1dc1 100644
--- a/engines/director/lingo/xlibs/inixobj.h
+++ b/engines/director/lingo/xlibs/inixobj.h
@@ -36,7 +36,7 @@ public:
namespace IniXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/instobj.cpp b/engines/director/lingo/xlibs/instobj.cpp
index ee81d29023c..78250f793f2 100644
--- a/engines/director/lingo/xlibs/instobj.cpp
+++ b/engines/director/lingo/xlibs/instobj.cpp
@@ -63,9 +63,9 @@ ISSSS mWriteProfile, File,Section,Item,NewVal --Write an INI profile string
namespace Director {
const char *InstObjXObj::xlibName = "InstObj";
-const char *InstObjXObj::fileNames[] = {
- "INSTOBJ",
- nullptr
+const XlibFileDesc InstObjXObj::fileNames[] = {
+ { "INSTOBJ", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/instobj.h b/engines/director/lingo/xlibs/instobj.h
index 1b5249ff01f..7d86fe41f1a 100644
--- a/engines/director/lingo/xlibs/instobj.h
+++ b/engines/director/lingo/xlibs/instobj.h
@@ -32,7 +32,7 @@ public:
namespace InstObjXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/iscd.cpp b/engines/director/lingo/xlibs/iscd.cpp
index 009a1ae84a7..4a4bf0569ab 100644
--- a/engines/director/lingo/xlibs/iscd.cpp
+++ b/engines/director/lingo/xlibs/iscd.cpp
@@ -35,9 +35,9 @@
namespace Director {
const char *IsCD::xlibName = "isCD";
-const char *IsCD::fileNames[] = {
- "isCD",
- 0
+const XlibFileDesc IsCD::fileNames[] = {
+ { "isCD", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
diff --git a/engines/director/lingo/xlibs/iscd.h b/engines/director/lingo/xlibs/iscd.h
index e57270ba6e8..b207a7cef76 100644
--- a/engines/director/lingo/xlibs/iscd.h
+++ b/engines/director/lingo/xlibs/iscd.h
@@ -27,7 +27,7 @@ namespace Director {
namespace IsCD {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/ispippin.cpp b/engines/director/lingo/xlibs/ispippin.cpp
index 1370e7062fa..525f3302ae1 100644
--- a/engines/director/lingo/xlibs/ispippin.cpp
+++ b/engines/director/lingo/xlibs/ispippin.cpp
@@ -35,9 +35,9 @@
namespace Director {
const char *IsPippin::xlibName = "IsPippin";
-const char *IsPippin::fileNames[] = {
- "IsPippin",
- 0
+const XlibFileDesc IsPippin::fileNames[] = {
+ { "IsPippin", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
diff --git a/engines/director/lingo/xlibs/ispippin.h b/engines/director/lingo/xlibs/ispippin.h
index 9697ad379eb..3a3d200c706 100644
--- a/engines/director/lingo/xlibs/ispippin.h
+++ b/engines/director/lingo/xlibs/ispippin.h
@@ -27,7 +27,7 @@ namespace Director {
namespace IsPippin {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/jitdraw3.cpp b/engines/director/lingo/xlibs/jitdraw3.cpp
index e9e11607f0b..13a7cf45419 100644
--- a/engines/director/lingo/xlibs/jitdraw3.cpp
+++ b/engines/director/lingo/xlibs/jitdraw3.cpp
@@ -72,9 +72,9 @@
namespace Director {
const char *JITDraw3XObj::xlibName = "JITDraw3";
-const char *JITDraw3XObj::fileNames[] = {
- "JITDraw3",
- nullptr
+const XlibFileDesc JITDraw3XObj::fileNames[] = {
+ { "JITDraw3", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/jitdraw3.h b/engines/director/lingo/xlibs/jitdraw3.h
index ca43e278db9..c6c073f858f 100644
--- a/engines/director/lingo/xlibs/jitdraw3.h
+++ b/engines/director/lingo/xlibs/jitdraw3.h
@@ -32,7 +32,7 @@ public:
namespace JITDraw3XObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/jwxini.cpp b/engines/director/lingo/xlibs/jwxini.cpp
index d676e2902a0..0f48aa0e73c 100644
--- a/engines/director/lingo/xlibs/jwxini.cpp
+++ b/engines/director/lingo/xlibs/jwxini.cpp
@@ -60,10 +60,10 @@
namespace Director {
const char *JourneyWareXINIXObj::xlibName = "INI";
-const char *JourneyWareXINIXObj::fileNames[] = {
- "JWXINI",
- "INI",
- nullptr
+const XlibFileDesc JourneyWareXINIXObj::fileNames[] = {
+ { "JWXINI", nullptr },
+ { "INI", "www" }, // "Wellen, Wracks und Wassermaenner" names it INI.DLL
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/jwxini.h b/engines/director/lingo/xlibs/jwxini.h
index 8ceef8040fc..0415d30c086 100644
--- a/engines/director/lingo/xlibs/jwxini.h
+++ b/engines/director/lingo/xlibs/jwxini.h
@@ -33,7 +33,7 @@ public:
namespace JourneyWareXINIXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/labeldrvxobj.cpp b/engines/director/lingo/xlibs/labeldrvxobj.cpp
index 986f6f780e8..79dfbcfeab1 100644
--- a/engines/director/lingo/xlibs/labeldrvxobj.cpp
+++ b/engines/director/lingo/xlibs/labeldrvxobj.cpp
@@ -43,9 +43,9 @@
namespace Director {
const char *LabelDrvXObj::xlibName = "LabelDrv";
-const char *LabelDrvXObj::fileNames[] = {
- "LabelDrv",
- nullptr
+const XlibFileDesc LabelDrvXObj::fileNames[] = {
+ { "LabelDrv", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/labeldrvxobj.h b/engines/director/lingo/xlibs/labeldrvxobj.h
index 6bbeac4baec..5b8752729a2 100644
--- a/engines/director/lingo/xlibs/labeldrvxobj.h
+++ b/engines/director/lingo/xlibs/labeldrvxobj.h
@@ -35,7 +35,7 @@ public:
namespace LabelDrvXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/maniacbg.cpp b/engines/director/lingo/xlibs/maniacbg.cpp
index c35353ac118..6356ed5e0c1 100644
--- a/engines/director/lingo/xlibs/maniacbg.cpp
+++ b/engines/director/lingo/xlibs/maniacbg.cpp
@@ -46,9 +46,9 @@ I mIsForeMost --Is this Application foremost. 1=Yes, 0=No.
namespace Director {
const char *ManiacBgXObj::xlibName = "ForeMost";
-const char *ManiacBgXObj::fileNames[] = {
- "maniacbg",
- nullptr
+const XlibFileDesc ManiacBgXObj::fileNames[] = {
+ { "maniacbg", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/maniacbg.h b/engines/director/lingo/xlibs/maniacbg.h
index 73f28672a7d..338fe910e17 100644
--- a/engines/director/lingo/xlibs/maniacbg.h
+++ b/engines/director/lingo/xlibs/maniacbg.h
@@ -32,7 +32,7 @@ public:
namespace ManiacBgXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/mapnavigatorxobj.cpp b/engines/director/lingo/xlibs/mapnavigatorxobj.cpp
index e38e826132c..3ac18f14729 100644
--- a/engines/director/lingo/xlibs/mapnavigatorxobj.cpp
+++ b/engines/director/lingo/xlibs/mapnavigatorxobj.cpp
@@ -81,10 +81,10 @@ SIIII mGetInstruction, node, hotspot, condition, i -- return ith instruction
namespace Director {
const char *MapNavigatorXObj::xlibName = "MapNav";
-const char *MapNavigatorXObj::fileNames[] = {
- "MAPNAV", // Jewels of the Oracle - Win
- "MapNavigator.XObj", // Jewels of the Oracle - Mac
- nullptr
+const XlibFileDesc MapNavigatorXObj::fileNames[] = {
+ { "MAPNAV", nullptr }, // Jewels of the Oracle - Win
+ { "MapNavigator.XObj", nullptr }, // Jewels of the Oracle - Mac
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/mapnavigatorxobj.h b/engines/director/lingo/xlibs/mapnavigatorxobj.h
index c45c8d50aee..1c013e60aa8 100644
--- a/engines/director/lingo/xlibs/mapnavigatorxobj.h
+++ b/engines/director/lingo/xlibs/mapnavigatorxobj.h
@@ -32,7 +32,7 @@ public:
namespace MapNavigatorXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/memcheckxobj.cpp b/engines/director/lingo/xlibs/memcheckxobj.cpp
index 074548b756f..a2abb3d644c 100644
--- a/engines/director/lingo/xlibs/memcheckxobj.cpp
+++ b/engines/director/lingo/xlibs/memcheckxobj.cpp
@@ -53,10 +53,10 @@ X mMemoryPurge -- Clear chunk o' mem
namespace Director {
const char *MemCheckXObj::xlibName = "MemCheck";
-const char *MemCheckXObj::fileNames[] = {
- "MemCheck", // Jewels of the Oracle - Win
- "MemCheck.XObj", // Jewels of the Oracle - Mac
- nullptr
+const XlibFileDesc MemCheckXObj::fileNames[] = {
+ { "MemCheck", nullptr }, // Jewels of the Oracle - Win
+ { "MemCheck.XObj", nullptr }, // Jewels of the Oracle - Mac
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/memcheckxobj.h b/engines/director/lingo/xlibs/memcheckxobj.h
index 2c7d687572a..14203d4f9d7 100644
--- a/engines/director/lingo/xlibs/memcheckxobj.h
+++ b/engines/director/lingo/xlibs/memcheckxobj.h
@@ -32,7 +32,7 @@ public:
namespace MemCheckXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/memoryxobj.cpp b/engines/director/lingo/xlibs/memoryxobj.cpp
index bca5b00b587..e492ef92e07 100644
--- a/engines/director/lingo/xlibs/memoryxobj.cpp
+++ b/engines/director/lingo/xlibs/memoryxobj.cpp
@@ -66,10 +66,10 @@
namespace Director {
const char *MemoryXObj::xlibName = "Memory";
-const char *MemoryXObj::fileNames[] = {
- "Memory XObj",
- "Memory",
- nullptr
+const XlibFileDesc MemoryXObj::fileNames[] = {
+ { "Memory XObj", nullptr },
+ { "Memory", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/memoryxobj.h b/engines/director/lingo/xlibs/memoryxobj.h
index 56b67aec89a..6f9421a01c1 100644
--- a/engines/director/lingo/xlibs/memoryxobj.h
+++ b/engines/director/lingo/xlibs/memoryxobj.h
@@ -33,7 +33,7 @@ public:
namespace MemoryXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/misc.cpp b/engines/director/lingo/xlibs/misc.cpp
index b2ceda750d9..694f0f14e99 100644
--- a/engines/director/lingo/xlibs/misc.cpp
+++ b/engines/director/lingo/xlibs/misc.cpp
@@ -38,9 +38,9 @@
namespace Director {
const char *Misc::xlibName = "misc";
-const char *Misc::fileNames[] = {
- "misc",
- nullptr
+const XlibFileDesc Misc::fileNames[] = {
+ { "misc", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/misc.h b/engines/director/lingo/xlibs/misc.h
index b51aaeb3fc7..39fc66edac8 100644
--- a/engines/director/lingo/xlibs/misc.h
+++ b/engines/director/lingo/xlibs/misc.h
@@ -32,7 +32,7 @@ public:
namespace Misc {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/miscx.cpp b/engines/director/lingo/xlibs/miscx.cpp
index 52729951bf2..4e1e54a0a23 100644
--- a/engines/director/lingo/xlibs/miscx.cpp
+++ b/engines/director/lingo/xlibs/miscx.cpp
@@ -73,11 +73,11 @@
namespace Director {
const char *MiscX::xlibName = "Misc_X";
-const char *MiscX::fileNames[] = {
- "MISC_X",
- "sharCOPY", // TD loads this up using openXLib("@:sharCOPY.DLL")
- "BPXLIB", // Backpacker
- 0
+const XlibFileDesc MiscX::fileNames[] = {
+ { "MISC_X", nullptr },
+ { "sharCOPY", nullptr }, // TD loads this up using openXLib("@:sharCOPY.DLL")
+ { "BPXLIB", nullptr }, // Backpacker
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/miscx.h b/engines/director/lingo/xlibs/miscx.h
index 9c9aede9a47..ed44a05af6a 100644
--- a/engines/director/lingo/xlibs/miscx.h
+++ b/engines/director/lingo/xlibs/miscx.h
@@ -32,7 +32,7 @@ public:
namespace MiscX {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/mmaskxobj.cpp b/engines/director/lingo/xlibs/mmaskxobj.cpp
index 5c1f1c5ab66..b2c35fd3151 100644
--- a/engines/director/lingo/xlibs/mmaskxobj.cpp
+++ b/engines/director/lingo/xlibs/mmaskxobj.cpp
@@ -43,9 +43,9 @@ II mMask, state
namespace Director {
const char *MMaskXObj::xlibName = "mmaskxobj";
-const char *MMaskXObj::fileNames[] = {
- "MMASK.XOB",
- nullptr
+const XlibFileDesc MMaskXObj::fileNames[] = {
+ { "MMASK.XOB", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/mmaskxobj.h b/engines/director/lingo/xlibs/mmaskxobj.h
index 010dce36866..c2779b362de 100644
--- a/engines/director/lingo/xlibs/mmaskxobj.h
+++ b/engines/director/lingo/xlibs/mmaskxobj.h
@@ -32,7 +32,7 @@ public:
namespace MMaskXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/mmovie.cpp b/engines/director/lingo/xlibs/mmovie.cpp
index 4e2ab870582..c06584cfe68 100644
--- a/engines/director/lingo/xlibs/mmovie.cpp
+++ b/engines/director/lingo/xlibs/mmovie.cpp
@@ -74,9 +74,9 @@ S mVolList
namespace Director {
const char *MMovieXObj::xlibName = "MMovie";
-const char *MMovieXObj::fileNames[] = {
- "MMovie",
- nullptr
+const XlibFileDesc MMovieXObj::fileNames[] = {
+ { "MMovie", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/mmovie.h b/engines/director/lingo/xlibs/mmovie.h
index a704e59bcff..1eed55180c1 100644
--- a/engines/director/lingo/xlibs/mmovie.h
+++ b/engines/director/lingo/xlibs/mmovie.h
@@ -94,7 +94,7 @@ public:
namespace MMovieXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/moovxobj.cpp b/engines/director/lingo/xlibs/moovxobj.cpp
index b31cfb9094b..f1e6dc68d82 100644
--- a/engines/director/lingo/xlibs/moovxobj.cpp
+++ b/engines/director/lingo/xlibs/moovxobj.cpp
@@ -58,9 +58,9 @@
namespace Director {
const char *MoovXObj::xlibName = "moovxobj";
-const char *MoovXObj::fileNames[] = {
- "moovxobj",
- nullptr
+const XlibFileDesc MoovXObj::fileNames[] = {
+ { "moovxobj", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/moovxobj.h b/engines/director/lingo/xlibs/moovxobj.h
index 6eab8d9d750..f35b15ce83a 100644
--- a/engines/director/lingo/xlibs/moovxobj.h
+++ b/engines/director/lingo/xlibs/moovxobj.h
@@ -42,7 +42,7 @@ public:
namespace MoovXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/movemousexobj.cpp b/engines/director/lingo/xlibs/movemousexobj.cpp
index 83c2dcb7c7a..51d7731a5d9 100644
--- a/engines/director/lingo/xlibs/movemousexobj.cpp
+++ b/engines/director/lingo/xlibs/movemousexobj.cpp
@@ -41,11 +41,11 @@
namespace Director {
const char *MoveMouseXObj::xlibName = "MoveMouse";
-const char *MoveMouseXObj::fileNames[] = {
- "MoveMouse",
- "MoveMouse.XObj",
- "MOVEWIN",
- nullptr
+const XlibFileDesc MoveMouseXObj::fileNames[] = {
+ { "MoveMouse", nullptr },
+ { "MoveMouse.XObj", nullptr },
+ { "MOVEWIN", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/movemousexobj.h b/engines/director/lingo/xlibs/movemousexobj.h
index 641e3010ba3..472d24319af 100644
--- a/engines/director/lingo/xlibs/movemousexobj.h
+++ b/engines/director/lingo/xlibs/movemousexobj.h
@@ -32,7 +32,7 @@ public:
namespace MoveMouseXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/movieidxxobj.cpp b/engines/director/lingo/xlibs/movieidxxobj.cpp
index 6c410203f45..24e3f976886 100644
--- a/engines/director/lingo/xlibs/movieidxxobj.cpp
+++ b/engines/director/lingo/xlibs/movieidxxobj.cpp
@@ -51,10 +51,10 @@ SS mMovieInfo -- return info given name
namespace Director {
const char *MovieIdxXObj::xlibName = "MovieIdx";
-const char *MovieIdxXObj::fileNames[] = {
- "MovieIdx", // Jewels of the Oracle - Win
- "MovieIdx.XObj", // Jewels of the Oracle - Mac
- nullptr
+const XlibFileDesc MovieIdxXObj::fileNames[] = {
+ { "MovieIdx", nullptr }, // Jewels of the Oracle - Win
+ { "MovieIdx.XObj", nullptr }, // Jewels of the Oracle - Mac
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/movieidxxobj.h b/engines/director/lingo/xlibs/movieidxxobj.h
index 3d4465c5524..fa45346ac4b 100644
--- a/engines/director/lingo/xlibs/movieidxxobj.h
+++ b/engines/director/lingo/xlibs/movieidxxobj.h
@@ -32,7 +32,7 @@ public:
namespace MovieIdxXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/movutils.cpp b/engines/director/lingo/xlibs/movutils.cpp
index 65314badb3c..26ec03e214d 100644
--- a/engines/director/lingo/xlibs/movutils.cpp
+++ b/engines/director/lingo/xlibs/movutils.cpp
@@ -105,9 +105,9 @@ III mGetMessage --Get mouse/key messages from the application messa
namespace Director {
const char *MovUtilsXObj::xlibName = "MovUtils";
-const char *MovUtilsXObj::fileNames[] = {
- "MOVUTILS",
- nullptr
+const XlibFileDesc MovUtilsXObj::fileNames[] = {
+ { "MOVUTILS", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/movutils.h b/engines/director/lingo/xlibs/movutils.h
index fdc1a86964d..79a1e23a75f 100644
--- a/engines/director/lingo/xlibs/movutils.h
+++ b/engines/director/lingo/xlibs/movutils.h
@@ -32,7 +32,7 @@ public:
namespace MovUtilsXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/openbleedwindowxcmd.cpp b/engines/director/lingo/xlibs/openbleedwindowxcmd.cpp
index 54970cb1e38..b9eff3e148a 100644
--- a/engines/director/lingo/xlibs/openbleedwindowxcmd.cpp
+++ b/engines/director/lingo/xlibs/openbleedwindowxcmd.cpp
@@ -37,9 +37,9 @@
namespace Director {
const char *OpenBleedWindowXCMD::xlibName = "OpenBleedWindow";
-const char *OpenBleedWindowXCMD::fileNames[] = {
- "OpenBleedWindow",
- nullptr
+const XlibFileDesc OpenBleedWindowXCMD::fileNames[] = {
+ { "OpenBleedWindow", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
diff --git a/engines/director/lingo/xlibs/openbleedwindowxcmd.h b/engines/director/lingo/xlibs/openbleedwindowxcmd.h
index cb1d4db7332..5ab41f963e4 100644
--- a/engines/director/lingo/xlibs/openbleedwindowxcmd.h
+++ b/engines/director/lingo/xlibs/openbleedwindowxcmd.h
@@ -27,7 +27,7 @@ namespace Director {
namespace OpenBleedWindowXCMD {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/orthoplayxobj.cpp b/engines/director/lingo/xlibs/orthoplayxobj.cpp
index 90454ec0cb8..ac9a81521f1 100644
--- a/engines/director/lingo/xlibs/orthoplayxobj.cpp
+++ b/engines/director/lingo/xlibs/orthoplayxobj.cpp
@@ -48,9 +48,9 @@
namespace Director {
const char *OrthoPlayXObj::xlibName = "OrthoPlayXObj";
-const char *OrthoPlayXObj::fileNames[] = {
- "OrthoPlay XObj",
- nullptr
+const XlibFileDesc OrthoPlayXObj::fileNames[] = {
+ { "OrthoPlay XObj", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/orthoplayxobj.h b/engines/director/lingo/xlibs/orthoplayxobj.h
index cab7e755fcc..3906394a404 100644
--- a/engines/director/lingo/xlibs/orthoplayxobj.h
+++ b/engines/director/lingo/xlibs/orthoplayxobj.h
@@ -32,7 +32,7 @@ public:
namespace OrthoPlayXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/paco.cpp b/engines/director/lingo/xlibs/paco.cpp
index 92ca52a6562..5611c889fbc 100644
--- a/engines/director/lingo/xlibs/paco.cpp
+++ b/engines/director/lingo/xlibs/paco.cpp
@@ -49,10 +49,10 @@ SSS mPACo, commands, results --Plays Paco movies
namespace Director {
const char *PACoXObj::xlibName = "PACo";
-const char *PACoXObj::fileNames[] = {
- "PACO",
- "PACOW",
- nullptr
+const XlibFileDesc PACoXObj::fileNames[] = {
+ { "PACO", nullptr },
+ { "PACOW", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/paco.h b/engines/director/lingo/xlibs/paco.h
index 98e884ddba0..4fb65b9df5f 100644
--- a/engines/director/lingo/xlibs/paco.h
+++ b/engines/director/lingo/xlibs/paco.h
@@ -32,7 +32,7 @@ public:
namespace PACoXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/palxobj.cpp b/engines/director/lingo/xlibs/palxobj.cpp
index 3c2735b76a1..02f9270bda4 100644
--- a/engines/director/lingo/xlibs/palxobj.cpp
+++ b/engines/director/lingo/xlibs/palxobj.cpp
@@ -56,12 +56,12 @@ namespace Director {
// The name is different from the obj filename.
const char *PalXObj::xlibName = "FixPalette";
-const char *PalXObj::fileNames[] = {
- "PalXObj",
- "FixPalette",
- "FixPaletteXObj",
- "PALETTE.XOB", // Jewels of the Oracle - Mac
- nullptr
+const XlibFileDesc PalXObj::fileNames[] = {
+ { "PalXObj", nullptr },
+ { "FixPalette", nullptr },
+ { "FixPaletteXObj", nullptr },
+ { "PALETTE.XOB", nullptr }, // Jewels of the Oracle - Mac
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/palxobj.h b/engines/director/lingo/xlibs/palxobj.h
index 439a2679235..d46a2aa6fa6 100644
--- a/engines/director/lingo/xlibs/palxobj.h
+++ b/engines/director/lingo/xlibs/palxobj.h
@@ -35,7 +35,7 @@ public:
namespace PalXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/panel.cpp b/engines/director/lingo/xlibs/panel.cpp
index daf49161dc0..4f736fb72e5 100644
--- a/engines/director/lingo/xlibs/panel.cpp
+++ b/engines/director/lingo/xlibs/panel.cpp
@@ -64,9 +64,9 @@ XII mMouseDown, loch, locv --Sends a mousedown at given location in panel.
namespace Director {
const char *PanelXObj::xlibName = "Panel";
-const char *PanelXObj::fileNames[] = {
- "Panel",
- nullptr
+const XlibFileDesc PanelXObj::fileNames[] = {
+ { "Panel", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/panel.h b/engines/director/lingo/xlibs/panel.h
index f59adeb2868..78989aa5696 100644
--- a/engines/director/lingo/xlibs/panel.h
+++ b/engines/director/lingo/xlibs/panel.h
@@ -32,7 +32,7 @@ public:
namespace PanelXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/popupmenuxobj.cpp b/engines/director/lingo/xlibs/popupmenuxobj.cpp
index 4e8cbf976a2..7ab4bcfb7dd 100644
--- a/engines/director/lingo/xlibs/popupmenuxobj.cpp
+++ b/engines/director/lingo/xlibs/popupmenuxobj.cpp
@@ -114,10 +114,10 @@
namespace Director {
const char *PopUpMenuXObj::xlibName = "PopMenu";
-const char *PopUpMenuXObj::fileNames[] = {
- "PopMenu",
- "PopUp Menu XObj",
- nullptr
+const XlibFileDesc PopUpMenuXObj::fileNames[] = {
+ { "PopMenu", nullptr },
+ { "PopUp Menu XObj", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/popupmenuxobj.h b/engines/director/lingo/xlibs/popupmenuxobj.h
index d155ba1fc90..a32634f06f9 100644
--- a/engines/director/lingo/xlibs/popupmenuxobj.h
+++ b/engines/director/lingo/xlibs/popupmenuxobj.h
@@ -33,7 +33,7 @@ public:
namespace PopUpMenuXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/porta.cpp b/engines/director/lingo/xlibs/porta.cpp
index 0a5e1c5fe5f..310cd52ef3a 100644
--- a/engines/director/lingo/xlibs/porta.cpp
+++ b/engines/director/lingo/xlibs/porta.cpp
@@ -21,6 +21,7 @@
#include "director/director.h"
#include "director/lingo/lingo.h"
+#include "director/lingo/lingo-object.h"
#include "director/lingo/xlibs/porta.h"
/*************************************
@@ -37,10 +38,10 @@
namespace Director {
const char *Porta::xlibName = "Porta";
-const char *Porta::fileNames[] = {
- "Porta",
- "PortaXCMD.rsrc",
- nullptr
+const XlibFileDesc Porta::fileNames[] = {
+ { "Porta", nullptr },
+ { "PortaXCMD.rsrc", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
diff --git a/engines/director/lingo/xlibs/porta.h b/engines/director/lingo/xlibs/porta.h
index 9e6a55f9f2a..bef36a5e72d 100644
--- a/engines/director/lingo/xlibs/porta.h
+++ b/engines/director/lingo/xlibs/porta.h
@@ -27,7 +27,7 @@ namespace Director {
namespace Porta {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/portaxcmd.cpp b/engines/director/lingo/xlibs/portaxcmd.cpp
index 9c0d07bfdad..cde39f181c6 100644
--- a/engines/director/lingo/xlibs/portaxcmd.cpp
+++ b/engines/director/lingo/xlibs/portaxcmd.cpp
@@ -37,9 +37,9 @@
namespace Director {
const char *PortaXCMD::xlibName = "Porta";
-const char *PortaXCMD::fileNames[] = {
- "Porta",
- nullptr
+const XlibFileDesc PortaXCMD::fileNames[] = {
+ { "Porta", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
diff --git a/engines/director/lingo/xlibs/portaxcmd.h b/engines/director/lingo/xlibs/portaxcmd.h
index 2efbe1d0c58..9dc89f10f85 100644
--- a/engines/director/lingo/xlibs/portaxcmd.h
+++ b/engines/director/lingo/xlibs/portaxcmd.h
@@ -27,7 +27,7 @@ namespace Director {
namespace PortaXCMD {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/prefpath.cpp b/engines/director/lingo/xlibs/prefpath.cpp
index 7b450c06a39..6a7451cdd63 100644
--- a/engines/director/lingo/xlibs/prefpath.cpp
+++ b/engines/director/lingo/xlibs/prefpath.cpp
@@ -41,9 +41,9 @@ SS mPrefPath
namespace Director {
const char *PrefPath::xlibName = "PrefPath";
-const char *PrefPath::fileNames[] = {
- "PrefPath",
- 0
+const XlibFileDesc PrefPath::fileNames[] = {
+ { "PrefPath", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/prefpath.h b/engines/director/lingo/xlibs/prefpath.h
index bfa49f55185..3c1851e06aa 100644
--- a/engines/director/lingo/xlibs/prefpath.h
+++ b/engines/director/lingo/xlibs/prefpath.h
@@ -32,7 +32,7 @@ public:
namespace PrefPath {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/printomatic.cpp b/engines/director/lingo/xlibs/printomatic.cpp
index 616002a93b2..9c6b9d672fd 100644
--- a/engines/director/lingo/xlibs/printomatic.cpp
+++ b/engines/director/lingo/xlibs/printomatic.cpp
@@ -113,10 +113,10 @@ IS mRegister, serialNumber
namespace Director {
const char *PrintOMaticXObj::xlibName = "PrintOMatic";
-const char *PrintOMaticXObj::fileNames[] = {
- "PMATIC",
- "PrintOMatic",
- 0
+const XlibFileDesc PrintOMaticXObj::fileNames[] = {
+ { "PMATIC", nullptr },
+ { "PrintOMatic", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/printomatic.h b/engines/director/lingo/xlibs/printomatic.h
index 33e653167be..2c3028501cd 100644
--- a/engines/director/lingo/xlibs/printomatic.h
+++ b/engines/director/lingo/xlibs/printomatic.h
@@ -32,7 +32,7 @@ public:
namespace PrintOMaticXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/processxobj.cpp b/engines/director/lingo/xlibs/processxobj.cpp
index 463828d69f7..f73d3c9a229 100644
--- a/engines/director/lingo/xlibs/processxobj.cpp
+++ b/engines/director/lingo/xlibs/processxobj.cpp
@@ -47,9 +47,9 @@ X mKillProcess -- kills this process
namespace Director {
const char *ProcessXObj::xlibName = "ProcessXObj";
-const char *ProcessXObj::fileNames[] = {
- "ProcessXObj",
- nullptr
+const XlibFileDesc ProcessXObj::fileNames[] = {
+ { "ProcessXObj", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/processxobj.h b/engines/director/lingo/xlibs/processxobj.h
index 47288c4c02c..d0170a0d147 100644
--- a/engines/director/lingo/xlibs/processxobj.h
+++ b/engines/director/lingo/xlibs/processxobj.h
@@ -32,7 +32,7 @@ public:
namespace ProcessXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/qtcatmovieplayerxobj.cpp b/engines/director/lingo/xlibs/qtcatmovieplayerxobj.cpp
index fdf482d9605..b906602ba95 100644
--- a/engines/director/lingo/xlibs/qtcatmovieplayerxobj.cpp
+++ b/engines/director/lingo/xlibs/qtcatmovieplayerxobj.cpp
@@ -53,10 +53,10 @@ XIIIIIIIIS mPlay, filesOffset, startTime, duration, interruptable, h, v, hideCur
namespace Director {
const char *QTCatMoviePlayerXObj::xlibName = "CatPlayr";
-const char *QTCatMoviePlayerXObj::fileNames[] = {
- "CATPLAYR", // Jewels of the Oracle - Win
- "QTCatMoviePlayer.XObj", // Jewels of the Oracle - Mac
- nullptr
+const XlibFileDesc QTCatMoviePlayerXObj::fileNames[] = {
+ { "CATPLAYR", nullptr }, // Jewels of the Oracle - Win
+ { "QTCatMoviePlayer.XObj", nullptr }, // Jewels of the Oracle - Mac
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/qtcatmovieplayerxobj.h b/engines/director/lingo/xlibs/qtcatmovieplayerxobj.h
index e7c4023924d..79d7888bdb8 100644
--- a/engines/director/lingo/xlibs/qtcatmovieplayerxobj.h
+++ b/engines/director/lingo/xlibs/qtcatmovieplayerxobj.h
@@ -32,7 +32,7 @@ public:
namespace QTCatMoviePlayerXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/qtmovie.cpp b/engines/director/lingo/xlibs/qtmovie.cpp
index 96ae96761f3..404cd00b75b 100644
--- a/engines/director/lingo/xlibs/qtmovie.cpp
+++ b/engines/director/lingo/xlibs/qtmovie.cpp
@@ -40,9 +40,9 @@
namespace Director {
const char *QTMovie::xlibName = "QTMovie";
-const char *QTMovie::fileNames[] = {
- "QTMovie",
- nullptr
+const XlibFileDesc QTMovie::fileNames[] = {
+ { "QTMovie", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
diff --git a/engines/director/lingo/xlibs/qtmovie.h b/engines/director/lingo/xlibs/qtmovie.h
index f438773e240..58cf41a0b29 100644
--- a/engines/director/lingo/xlibs/qtmovie.h
+++ b/engines/director/lingo/xlibs/qtmovie.h
@@ -27,7 +27,7 @@ namespace Director {
namespace QTMovie {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/qtvr.cpp b/engines/director/lingo/xlibs/qtvr.cpp
index cd885c69ca0..af93d0f9ec3 100644
--- a/engines/director/lingo/xlibs/qtvr.cpp
+++ b/engines/director/lingo/xlibs/qtvr.cpp
@@ -62,10 +62,10 @@
namespace Director {
const char *QTVR::xlibName = "QTVRW";
-const char *QTVR::fileNames[] = {
- "QTVR",
- "QTVR.QTC",
- nullptr
+const XlibFileDesc QTVR::fileNames[] = {
+ { "QTVR", nullptr },
+ { "QTVR.QTC", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/qtvr.h b/engines/director/lingo/xlibs/qtvr.h
index 9d74177e29b..b52d74ac920 100644
--- a/engines/director/lingo/xlibs/qtvr.h
+++ b/engines/director/lingo/xlibs/qtvr.h
@@ -27,7 +27,7 @@ namespace Director {
namespace QTVR {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/quicktime.cpp b/engines/director/lingo/xlibs/quicktime.cpp
index a0d4e8f7784..42b21785be5 100644
--- a/engines/director/lingo/xlibs/quicktime.cpp
+++ b/engines/director/lingo/xlibs/quicktime.cpp
@@ -37,10 +37,10 @@
namespace Director {
const char *Quicktime::xlibName = "quicktime";
-const char *Quicktime::fileNames[] = {
- "quicktime",
- "QuickTime",
- nullptr
+const XlibFileDesc Quicktime::fileNames[] = {
+ { "quicktime", nullptr },
+ { "QuickTime", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/quicktime.h b/engines/director/lingo/xlibs/quicktime.h
index ff888d4eab8..f083fa5330f 100644
--- a/engines/director/lingo/xlibs/quicktime.h
+++ b/engines/director/lingo/xlibs/quicktime.h
@@ -32,7 +32,7 @@ public:
namespace Quicktime {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/registercomponent.cpp b/engines/director/lingo/xlibs/registercomponent.cpp
index 6790330aefb..3fd3712cb6f 100644
--- a/engines/director/lingo/xlibs/registercomponent.cpp
+++ b/engines/director/lingo/xlibs/registercomponent.cpp
@@ -21,6 +21,7 @@
#include "director/director.h"
#include "director/lingo/lingo.h"
+#include "director/lingo/lingo-object.h"
#include "director/lingo/xlibs/registercomponent.h"
/*************************************
@@ -33,9 +34,9 @@
namespace Director {
const char *RegisterComponent::xlibName = "RegisterComponent";
-const char *RegisterComponent::fileNames[] = {
- "RegisterComponent",
- nullptr
+const XlibFileDesc RegisterComponent::fileNames[] = {
+ { "RegisterComponent", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
diff --git a/engines/director/lingo/xlibs/registercomponent.h b/engines/director/lingo/xlibs/registercomponent.h
index 2f7663ff4b7..6e5e22cc52b 100644
--- a/engines/director/lingo/xlibs/registercomponent.h
+++ b/engines/director/lingo/xlibs/registercomponent.h
@@ -39,7 +39,7 @@ namespace Director {
namespace RegisterComponent {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/remixxcmd.cpp b/engines/director/lingo/xlibs/remixxcmd.cpp
index e84a41adbeb..e11deed34d5 100644
--- a/engines/director/lingo/xlibs/remixxcmd.cpp
+++ b/engines/director/lingo/xlibs/remixxcmd.cpp
@@ -42,9 +42,9 @@
namespace Director {
const char *RemixXCMD::xlibName = "Remix";
-const char *RemixXCMD::fileNames[] = {
- "Remix",
- nullptr
+const XlibFileDesc RemixXCMD::fileNames[] = {
+ { "Remix", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
diff --git a/engines/director/lingo/xlibs/remixxcmd.h b/engines/director/lingo/xlibs/remixxcmd.h
index 344bb47c431..88005b566a5 100644
--- a/engines/director/lingo/xlibs/remixxcmd.h
+++ b/engines/director/lingo/xlibs/remixxcmd.h
@@ -27,7 +27,7 @@ namespace Director {
namespace RemixXCMD {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/serialportxobj.cpp b/engines/director/lingo/xlibs/serialportxobj.cpp
index 71deb069c2f..226a9fe2fd6 100644
--- a/engines/director/lingo/xlibs/serialportxobj.cpp
+++ b/engines/director/lingo/xlibs/serialportxobj.cpp
@@ -44,9 +44,9 @@
namespace Director {
const char *SerialPortXObj::xlibName = "SerialPort";
-const char *SerialPortXObj::fileNames[] = {
- "SerialPort",
- nullptr
+const XlibFileDesc SerialPortXObj::fileNames[] = {
+ { "SerialPort", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/serialportxobj.h b/engines/director/lingo/xlibs/serialportxobj.h
index ecd936755fa..1e7f68ba36f 100644
--- a/engines/director/lingo/xlibs/serialportxobj.h
+++ b/engines/director/lingo/xlibs/serialportxobj.h
@@ -32,7 +32,7 @@ public:
namespace SerialPortXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/soundjam.cpp b/engines/director/lingo/xlibs/soundjam.cpp
index 07c6cb9b2bb..119500edc25 100644
--- a/engines/director/lingo/xlibs/soundjam.cpp
+++ b/engines/director/lingo/xlibs/soundjam.cpp
@@ -54,9 +54,9 @@
namespace Director {
const char *SoundJam::xlibName = "SoundJam";
-const char *SoundJam::fileNames[] = {
- "SoundJam",
- nullptr
+const XlibFileDesc SoundJam::fileNames[] = {
+ { "SoundJam", nullptr },
+ { nullptr, nullptr },
};
const int kJamChannel = 3;
diff --git a/engines/director/lingo/xlibs/soundjam.h b/engines/director/lingo/xlibs/soundjam.h
index 231a789241a..e823473641c 100644
--- a/engines/director/lingo/xlibs/soundjam.h
+++ b/engines/director/lingo/xlibs/soundjam.h
@@ -35,7 +35,7 @@ public:
namespace SoundJam {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/spacemgr.cpp b/engines/director/lingo/xlibs/spacemgr.cpp
index 97a0841e1d3..943e96e5df4 100644
--- a/engines/director/lingo/xlibs/spacemgr.cpp
+++ b/engines/director/lingo/xlibs/spacemgr.cpp
@@ -84,10 +84,10 @@
namespace Director {
const char *SpaceMgr::xlibName = "SpaceMgr";
-const char *SpaceMgr::fileNames[] = {
- "SpaceMgr",
- "SPACEMGR",
- nullptr
+const XlibFileDesc SpaceMgr::fileNames[] = {
+ { "SpaceMgr", nullptr },
+ { "SPACEMGR", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/spacemgr.h b/engines/director/lingo/xlibs/spacemgr.h
index 1ef5a4a64da..a971bbd8fde 100644
--- a/engines/director/lingo/xlibs/spacemgr.h
+++ b/engines/director/lingo/xlibs/spacemgr.h
@@ -48,7 +48,7 @@ struct SpaceCollection {
};
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/stagetc.cpp b/engines/director/lingo/xlibs/stagetc.cpp
index 65feb123c66..c2f0d7a5962 100644
--- a/engines/director/lingo/xlibs/stagetc.cpp
+++ b/engines/director/lingo/xlibs/stagetc.cpp
@@ -41,9 +41,9 @@ I mGetHandle --Copies a portion of the stage onto a cast member
namespace Director {
const char *StageTCXObj::xlibName = "StageTC";
-const char *StageTCXObj::fileNames[] = {
- "STAGETC",
- 0
+const XlibFileDesc StageTCXObj::fileNames[] = {
+ { "STAGETC", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/stagetc.h b/engines/director/lingo/xlibs/stagetc.h
index 6c95d8e849e..fa157a517fc 100644
--- a/engines/director/lingo/xlibs/stagetc.h
+++ b/engines/director/lingo/xlibs/stagetc.h
@@ -32,7 +32,7 @@ public:
namespace StageTCXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/unittest.cpp b/engines/director/lingo/xlibs/unittest.cpp
index 24075c86a61..4ac4f2046c8 100644
--- a/engines/director/lingo/xlibs/unittest.cpp
+++ b/engines/director/lingo/xlibs/unittest.cpp
@@ -44,9 +44,9 @@
namespace Director {
const char *UnitTestXObj::xlibName = "UnitTest";
-const char *UnitTestXObj::fileNames[] = {
- "UnitTest",
- 0
+const XlibFileDesc UnitTestXObj::fileNames[] = {
+ { "UnitTest", nullptr },
+ { nullptr, nullptr },
};
/*
-- ScummVM UnitTest XObject.
diff --git a/engines/director/lingo/xlibs/unittest.h b/engines/director/lingo/xlibs/unittest.h
index e848476337d..e90211b6676 100644
--- a/engines/director/lingo/xlibs/unittest.h
+++ b/engines/director/lingo/xlibs/unittest.h
@@ -33,7 +33,7 @@ public:
namespace UnitTestXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/valkyrie.cpp b/engines/director/lingo/xlibs/valkyrie.cpp
index cf2a8ba1fd0..9f4d94487b0 100644
--- a/engines/director/lingo/xlibs/valkyrie.cpp
+++ b/engines/director/lingo/xlibs/valkyrie.cpp
@@ -48,9 +48,9 @@
namespace Director {
const char *ValkyrieXObj::xlibName = "Valkyrie";
-const char *ValkyrieXObj::fileNames[] = {
- "VALKYRIE",
- 0
+const XlibFileDesc ValkyrieXObj::fileNames[] = {
+ { "VALKYRIE", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/valkyrie.h b/engines/director/lingo/xlibs/valkyrie.h
index cb0a02afc11..224f68fbea6 100644
--- a/engines/director/lingo/xlibs/valkyrie.h
+++ b/engines/director/lingo/xlibs/valkyrie.h
@@ -32,7 +32,7 @@ public:
namespace ValkyrieXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/videodiscxobj.cpp b/engines/director/lingo/xlibs/videodiscxobj.cpp
index 6c133f1a3a9..70168a23103 100644
--- a/engines/director/lingo/xlibs/videodiscxobj.cpp
+++ b/engines/director/lingo/xlibs/videodiscxobj.cpp
@@ -116,10 +116,10 @@
namespace Director {
const char *VideodiscXObj::xlibName = "LaserDisc";
-const char *VideodiscXObj::fileNames[] = {
- "Videodisc XObj",
- "LaserDisc",
- nullptr
+const XlibFileDesc VideodiscXObj::fileNames[] = {
+ { "Videodisc XObj", nullptr },
+ { "LaserDisc", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/videodiscxobj.h b/engines/director/lingo/xlibs/videodiscxobj.h
index 49f780334a7..ab6a21f12c8 100644
--- a/engines/director/lingo/xlibs/videodiscxobj.h
+++ b/engines/director/lingo/xlibs/videodiscxobj.h
@@ -32,7 +32,7 @@ public:
namespace VideodiscXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/vmisonxfcn.cpp b/engines/director/lingo/xlibs/vmisonxfcn.cpp
index cd22b3a943e..2131a90b78a 100644
--- a/engines/director/lingo/xlibs/vmisonxfcn.cpp
+++ b/engines/director/lingo/xlibs/vmisonxfcn.cpp
@@ -37,9 +37,9 @@
namespace Director {
const char *VMisOnXFCN::xlibName = "VMisOn";
-const char *VMisOnXFCN::fileNames[] = {
- "VMisOn",
- nullptr
+const XlibFileDesc VMisOnXFCN::fileNames[] = {
+ { "VMisOn", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
diff --git a/engines/director/lingo/xlibs/vmisonxfcn.h b/engines/director/lingo/xlibs/vmisonxfcn.h
index 28ff3cfa3dd..2b0ff038104 100644
--- a/engines/director/lingo/xlibs/vmisonxfcn.h
+++ b/engines/director/lingo/xlibs/vmisonxfcn.h
@@ -27,7 +27,7 @@ namespace Director {
namespace VMisOnXFCN {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/volumelist.cpp b/engines/director/lingo/xlibs/volumelist.cpp
index bed86586f43..1f22001ff2a 100644
--- a/engines/director/lingo/xlibs/volumelist.cpp
+++ b/engines/director/lingo/xlibs/volumelist.cpp
@@ -40,9 +40,9 @@
namespace Director {
const char *VolumeList::xlibName = "VolumeList";
-const char *VolumeList::fileNames[] = {
- "VolumeList",
- 0
+const XlibFileDesc VolumeList::fileNames[] = {
+ { "VolumeList", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
diff --git a/engines/director/lingo/xlibs/volumelist.h b/engines/director/lingo/xlibs/volumelist.h
index 8cb53ffae31..524d2bcb8f3 100644
--- a/engines/director/lingo/xlibs/volumelist.h
+++ b/engines/director/lingo/xlibs/volumelist.h
@@ -27,7 +27,7 @@ namespace Director {
namespace VolumeList {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/widgetxobj.cpp b/engines/director/lingo/xlibs/widgetxobj.cpp
index f0cea08a78c..c7fc8651779 100644
--- a/engines/director/lingo/xlibs/widgetxobj.cpp
+++ b/engines/director/lingo/xlibs/widgetxobj.cpp
@@ -46,9 +46,9 @@ namespace Director {
const char *WidgetXObj::xlibName = "Widget";
-const char *WidgetXObj::fileNames[] = {
- "widget",
- nullptr
+const XlibFileDesc WidgetXObj::fileNames[] = {
+ { "widget", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/widgetxobj.h b/engines/director/lingo/xlibs/widgetxobj.h
index dc9ac3112bc..f9506353d5a 100644
--- a/engines/director/lingo/xlibs/widgetxobj.h
+++ b/engines/director/lingo/xlibs/widgetxobj.h
@@ -32,7 +32,7 @@ public:
namespace WidgetXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/window.cpp b/engines/director/lingo/xlibs/window.cpp
index 5767e1b012a..1f49ebac8f3 100644
--- a/engines/director/lingo/xlibs/window.cpp
+++ b/engines/director/lingo/xlibs/window.cpp
@@ -72,34 +72,34 @@ OI +mNthWindow, n --Returns the n'th window.
namespace Director {
const char *WindowXObj::xlibName = "Window";
-const char *WindowXObj::fileNames[] = {
- "Window",
- nullptr
+const XlibFileDesc WindowXObj::fileNames[] = {
+ { "Window", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
{ "new", WindowXObj::m_new, 2, 2, 200 },
- { "dispose", WindowXObj::m_dispose, 0, 0, 200 },
+ { "dispose", WindowXObj::m_dispose, 0, 0, 200 },
{ "name", WindowXObj::m_name, 0, 0, 200 },
- { "select", WindowXObj::m_select, 0, 0, 200 },
+ { "select", WindowXObj::m_select, 0, 0, 200 },
{ "show", WindowXObj::m_show, 0, 0, 200 },
{ "hide", WindowXObj::m_hide, 0, 0, 200 },
{ "move", WindowXObj::m_move, 2, 2, 200 },
{ "size", WindowXObj::m_size, 2, 2, 200 },
- { "addPanel", WindowXObj::m_addPanel, 2, 2, 200 },
- { "getPanel", WindowXObj::m_getPanel, 1, 1, 200 },
- { "setHandler", WindowXObj::m_setHandler, 1, 1, 200 },
- { "getHandler", WindowXObj::m_getHandler, 0, 0, 200 },
+ { "addPanel", WindowXObj::m_addPanel, 2, 2, 200 },
+ { "getPanel", WindowXObj::m_getPanel, 1, 1, 200 },
+ { "setHandler", WindowXObj::m_setHandler, 1, 1, 200 },
+ { "getHandler", WindowXObj::m_getHandler, 0, 0, 200 },
{ "idle", WindowXObj::m_idle, 0, 0, 200 },
- { "activate", WindowXObj::m_activate, 1, 1, 200 },
- { "update", WindowXObj::m_update, 0, 0, 200 },
- { "mouseUp", WindowXObj::m_mouseUp, 2, 2, 200 },
- { "mouseDown", WindowXObj::m_mouseDown, 2, 2, 200 },
- { "keyDown", WindowXObj::m_keyDown, 1, 1, 200 },
- { "windowPtr", WindowXObj::m_windowPtr, 0, 0, 200 },
- { "setTitle", WindowXObj::m_setTitle, 1, 1, 200 },
- { "disposeAll", WindowXObj::m_disposeAll, 0, 0, 200 },
- { "nthWindow", WindowXObj::m_nthWindow, 1, 1, 200 },
+ { "activate", WindowXObj::m_activate, 1, 1, 200 },
+ { "update", WindowXObj::m_update, 0, 0, 200 },
+ { "mouseUp", WindowXObj::m_mouseUp, 2, 2, 200 },
+ { "mouseDown", WindowXObj::m_mouseDown, 2, 2, 200 },
+ { "keyDown", WindowXObj::m_keyDown, 1, 1, 200 },
+ { "windowPtr", WindowXObj::m_windowPtr, 0, 0, 200 },
+ { "setTitle", WindowXObj::m_setTitle, 1, 1, 200 },
+ { "disposeAll", WindowXObj::m_disposeAll, 0, 0, 200 },
+ { "nthWindow", WindowXObj::m_nthWindow, 1, 1, 200 },
{ nullptr, nullptr, 0, 0, 0 }
};
diff --git a/engines/director/lingo/xlibs/window.h b/engines/director/lingo/xlibs/window.h
index 2cff4bf3dfc..69dcd66e01b 100644
--- a/engines/director/lingo/xlibs/window.h
+++ b/engines/director/lingo/xlibs/window.h
@@ -32,7 +32,7 @@ public:
namespace WindowXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/wininfo.cpp b/engines/director/lingo/xlibs/wininfo.cpp
index 96545acbdaa..9e9d34d3c83 100644
--- a/engines/director/lingo/xlibs/wininfo.cpp
+++ b/engines/director/lingo/xlibs/wininfo.cpp
@@ -46,9 +46,9 @@ SSSS mWinInfo, file, section, entry --Returns Windows information item
namespace Director {
const char *WinInfoXObj::xlibName = "Wininfo";
-const char *WinInfoXObj::fileNames[] = {
- "wininfo",
- nullptr
+const XlibFileDesc WinInfoXObj::fileNames[] = {
+ { "wininfo", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/wininfo.h b/engines/director/lingo/xlibs/wininfo.h
index 6fdea36b3de..bd05a137e85 100644
--- a/engines/director/lingo/xlibs/wininfo.h
+++ b/engines/director/lingo/xlibs/wininfo.h
@@ -32,7 +32,7 @@ public:
namespace WinInfoXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/winxobj.cpp b/engines/director/lingo/xlibs/winxobj.cpp
index 74bbd026ca3..629f57a502d 100644
--- a/engines/director/lingo/xlibs/winxobj.cpp
+++ b/engines/director/lingo/xlibs/winxobj.cpp
@@ -45,13 +45,13 @@
namespace Director {
const char *RearWindowXObj::xlibName = "RearWindow";
-const char *RearWindowXObj::fileNames[] = {
- "RearWindow",
- "RearWindow.Xobj",
- "RearWindow XObj",
- "RW.XOB",
- "winXObj",
- nullptr
+const XlibFileDesc RearWindowXObj::fileNames[] = {
+ { "RearWindow", nullptr },
+ { "RearWindow.Xobj", nullptr },
+ { "RearWindow XObj", nullptr },
+ { "RW.XOB", nullptr },
+ { "winXObj", nullptr },
+ { nullptr, nullptr },
};
/*
diff --git a/engines/director/lingo/xlibs/winxobj.h b/engines/director/lingo/xlibs/winxobj.h
index 515f5ad8bb9..9dd0d0f66b8 100644
--- a/engines/director/lingo/xlibs/winxobj.h
+++ b/engines/director/lingo/xlibs/winxobj.h
@@ -33,7 +33,7 @@ public:
namespace RearWindowXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/xcmdglue.cpp b/engines/director/lingo/xlibs/xcmdglue.cpp
index 97f58cc43f1..b688a827a75 100644
--- a/engines/director/lingo/xlibs/xcmdglue.cpp
+++ b/engines/director/lingo/xlibs/xcmdglue.cpp
@@ -51,9 +51,9 @@ O mGetHandler
namespace Director {
const char *XCMDGlueXObj::xlibName = "XCMDGlue";
-const char *XCMDGlueXObj::fileNames[] = {
- "XCMDGlue",
- nullptr
+const XlibFileDesc XCMDGlueXObj::fileNames[] = {
+ { "XCMDGlue", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/xcmdglue.h b/engines/director/lingo/xlibs/xcmdglue.h
index dff41a061c8..151403d93e0 100644
--- a/engines/director/lingo/xlibs/xcmdglue.h
+++ b/engines/director/lingo/xlibs/xcmdglue.h
@@ -32,7 +32,7 @@ public:
namespace XCMDGlueXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/xio.cpp b/engines/director/lingo/xlibs/xio.cpp
index 43c600ecd61..8b2b55463f1 100644
--- a/engines/director/lingo/xlibs/xio.cpp
+++ b/engines/director/lingo/xlibs/xio.cpp
@@ -46,9 +46,9 @@
namespace Director {
const char *XioXObj::xlibName = "Xio";
-const char *XioXObj::fileNames[] = {
- "XIO",
- 0
+const XlibFileDesc XioXObj::fileNames[] = {
+ { "XIO", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/xio.h b/engines/director/lingo/xlibs/xio.h
index 2e0744b2c70..336480e90f4 100644
--- a/engines/director/lingo/xlibs/xio.h
+++ b/engines/director/lingo/xlibs/xio.h
@@ -32,7 +32,7 @@ public:
namespace XioXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/xplayanim.cpp b/engines/director/lingo/xlibs/xplayanim.cpp
index 213e963aa18..635a3c99f30 100644
--- a/engines/director/lingo/xlibs/xplayanim.cpp
+++ b/engines/director/lingo/xlibs/xplayanim.cpp
@@ -37,9 +37,9 @@
namespace Director {
const char *XPlayAnim::xlibName = "XPlayAnim";
-const char *XPlayAnim::fileNames[] = {
- "XPlayAnim",
- nullptr
+const XlibFileDesc XPlayAnim::fileNames[] = {
+ { "XPlayAnim", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
diff --git a/engines/director/lingo/xlibs/xplayanim.h b/engines/director/lingo/xlibs/xplayanim.h
index 975f7f540da..498c58903db 100644
--- a/engines/director/lingo/xlibs/xplayanim.h
+++ b/engines/director/lingo/xlibs/xplayanim.h
@@ -36,7 +36,7 @@ namespace Director {
namespace XPlayAnim {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/xsoundxfcn.cpp b/engines/director/lingo/xlibs/xsoundxfcn.cpp
index 47feab4dbf0..3d62ba85aa2 100644
--- a/engines/director/lingo/xlibs/xsoundxfcn.cpp
+++ b/engines/director/lingo/xlibs/xsoundxfcn.cpp
@@ -37,9 +37,9 @@
namespace Director {
const char *XSoundXFCN::xlibName = "XSound";
-const char *XSoundXFCN::fileNames[] = {
- "XSound",
- nullptr
+const XlibFileDesc XSoundXFCN::fileNames[] = {
+ { "XSound", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
diff --git a/engines/director/lingo/xlibs/xsoundxfcn.h b/engines/director/lingo/xlibs/xsoundxfcn.h
index d5ffa128aec..b18adafd414 100644
--- a/engines/director/lingo/xlibs/xsoundxfcn.h
+++ b/engines/director/lingo/xlibs/xsoundxfcn.h
@@ -27,7 +27,7 @@ namespace Director {
namespace XSoundXFCN {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/xwin.cpp b/engines/director/lingo/xlibs/xwin.cpp
index f935a8c593d..84b7fba07f9 100644
--- a/engines/director/lingo/xlibs/xwin.cpp
+++ b/engines/director/lingo/xlibs/xwin.cpp
@@ -63,9 +63,9 @@ I mhwnd --window handle
namespace Director {
const char *XWINXObj::xlibName = "XWIN";
-const char *XWINXObj::fileNames[] = {
- "XWIN",
- nullptr
+const XlibFileDesc XWINXObj::fileNames[] = {
+ { "XWIN", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xlibs/xwin.h b/engines/director/lingo/xlibs/xwin.h
index 5c501ab265c..374151a9d6b 100644
--- a/engines/director/lingo/xlibs/xwin.h
+++ b/engines/director/lingo/xlibs/xwin.h
@@ -32,7 +32,7 @@ public:
namespace XWINXObj {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xlibs/yasix.cpp b/engines/director/lingo/xlibs/yasix.cpp
index 20ff032b866..8db34e3bb74 100644
--- a/engines/director/lingo/xlibs/yasix.cpp
+++ b/engines/director/lingo/xlibs/yasix.cpp
@@ -35,13 +35,12 @@
#include "director/lingo/lingo-object.h"
#include "director/lingo/xlibs/yasix.h"
-
namespace Director {
const char *Yasix::xlibName = "YASIX";
-const char *Yasix::fileNames[] = {
- "YASIX",
- 0
+const XlibFileDesc Yasix::fileNames[] = {
+ { "YASIX", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
diff --git a/engines/director/lingo/xlibs/yasix.h b/engines/director/lingo/xlibs/yasix.h
index 0a109d3b5a5..95b48e70c99 100644
--- a/engines/director/lingo/xlibs/yasix.h
+++ b/engines/director/lingo/xlibs/yasix.h
@@ -27,7 +27,7 @@ namespace Director {
namespace Yasix {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
diff --git a/engines/director/lingo/xtras/scrnutil.cpp b/engines/director/lingo/xtras/scrnutil.cpp
index 8ebf24050c5..9a9f7c387a5 100644
--- a/engines/director/lingo/xtras/scrnutil.cpp
+++ b/engines/director/lingo/xtras/scrnutil.cpp
@@ -49,9 +49,9 @@
namespace Director {
const char *ScrnUtilXtra::xlibName = "ScrnUtil";
-const char *ScrnUtilXtra::fileNames[] = {
- "scrnutil",
- nullptr
+const XlibFileDesc ScrnUtilXtra::fileNames[] = {
+ { "scrnutil", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
diff --git a/engines/director/lingo/xtras/scrnutil.h b/engines/director/lingo/xtras/scrnutil.h
index 2987e26c15c..da477901edd 100644
--- a/engines/director/lingo/xtras/scrnutil.h
+++ b/engines/director/lingo/xtras/scrnutil.h
@@ -32,7 +32,7 @@ public:
namespace ScrnUtilXtra {
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
Commit: 1ba0482ca9f83399a80d0a6cc032f3653825f6fb
https://github.com/scummvm/scummvm/commit/1ba0482ca9f83399a80d0a6cc032f3653825f6fb
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-06-17T21:52:46+02:00
Commit Message:
DEVTOOLS: DIRECTOR: Reflect Xlib API changes in XObj stub generator
Changed paths:
devtools/director-generate-xobj-stub.py
diff --git a/devtools/director-generate-xobj-stub.py b/devtools/director-generate-xobj-stub.py
index 9b9d8cd3227..2d7fc028a5d 100755
--- a/devtools/director-generate-xobj-stub.py
+++ b/devtools/director-generate-xobj-stub.py
@@ -73,7 +73,7 @@ public:
namespace {xobj_class} {{
extern const char *xlibName;
-extern const char *fileNames[];
+extern const XlibFileDesc fileNames[];
void open(ObjectType type, const Common::Path &path);
void close(ObjectType type);
@@ -115,9 +115,9 @@ TEMPLATE = (
namespace Director {{
const char *{xobj_class}::xlibName = "{name}";
-const char *{xobj_class}::fileNames[] = {{
- "{filename}",
- nullptr
+const XlibFileDesc {xobj_class}::fileNames[] = {{
+ { "{filename}", nullptr },
+ { nullptr, nullptr },
}};
static MethodProto xlibMethods[] = {{
Commit: 4049cbbf1a22b7bc3c38bf38ca4f4eba116ae0ba
https://github.com/scummvm/scummvm/commit/4049cbbf1a22b7bc3c38bf38ca4f4eba116ae0ba
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-06-17T21:52:46+02:00
Commit Message:
DIRECTOR: LINGO: Remove redundant file entries to Xlibs
We probe .dll suffix and the filenames are case-insensitive
Changed paths:
engines/director/lingo/xlibs/askuser.cpp
engines/director/lingo/xlibs/colorxobj.cpp
engines/director/lingo/xlibs/quicktime.cpp
engines/director/lingo/xlibs/spacemgr.cpp
diff --git a/engines/director/lingo/xlibs/askuser.cpp b/engines/director/lingo/xlibs/askuser.cpp
index 15a49b175af..678fe3dd28f 100644
--- a/engines/director/lingo/xlibs/askuser.cpp
+++ b/engines/director/lingo/xlibs/askuser.cpp
@@ -48,7 +48,6 @@ namespace Director {
const char *AskUser::xlibName = "AskUser";
const XlibFileDesc AskUser::fileNames[] = {
{ "AskUser", nullptr },
- { "ASKUSER", nullptr },
{ nullptr, nullptr },
};
diff --git a/engines/director/lingo/xlibs/colorxobj.cpp b/engines/director/lingo/xlibs/colorxobj.cpp
index ea179d900f5..158db812e88 100644
--- a/engines/director/lingo/xlibs/colorxobj.cpp
+++ b/engines/director/lingo/xlibs/colorxobj.cpp
@@ -62,7 +62,6 @@ namespace Director {
const char *ColorXObj::xlibName = "Color";
const XlibFileDesc ColorXObj::fileNames[] = {
{ "color", nullptr },
- { "color.dll", nullptr },
{ nullptr, nullptr },
};
diff --git a/engines/director/lingo/xlibs/quicktime.cpp b/engines/director/lingo/xlibs/quicktime.cpp
index 42b21785be5..11310bf4647 100644
--- a/engines/director/lingo/xlibs/quicktime.cpp
+++ b/engines/director/lingo/xlibs/quicktime.cpp
@@ -38,7 +38,6 @@ namespace Director {
const char *Quicktime::xlibName = "quicktime";
const XlibFileDesc Quicktime::fileNames[] = {
- { "quicktime", nullptr },
{ "QuickTime", nullptr },
{ nullptr, nullptr },
};
diff --git a/engines/director/lingo/xlibs/spacemgr.cpp b/engines/director/lingo/xlibs/spacemgr.cpp
index 943e96e5df4..a2cde8f0757 100644
--- a/engines/director/lingo/xlibs/spacemgr.cpp
+++ b/engines/director/lingo/xlibs/spacemgr.cpp
@@ -86,7 +86,6 @@ namespace Director {
const char *SpaceMgr::xlibName = "SpaceMgr";
const XlibFileDesc SpaceMgr::fileNames[] = {
{ "SpaceMgr", nullptr },
- { "SPACEMGR", nullptr },
{ nullptr, nullptr },
};
Commit: 605b339ba9b2dcb9e1e2faa9104e5439709de33a
https://github.com/scummvm/scummvm/commit/605b339ba9b2dcb9e1e2faa9104e5439709de33a
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-06-17T21:52:46+02:00
Commit Message:
DIRECTOR: JANITORIAL: FIx whitespaces
Changed paths:
engines/director/lingo/xlibs/developerStack.cpp
engines/director/lingo/xlibs/quicktime.cpp
diff --git a/engines/director/lingo/xlibs/developerStack.cpp b/engines/director/lingo/xlibs/developerStack.cpp
index 0bc14321cd8..7b44c37876d 100644
--- a/engines/director/lingo/xlibs/developerStack.cpp
+++ b/engines/director/lingo/xlibs/developerStack.cpp
@@ -133,12 +133,12 @@ namespace Director {
const char *DeveloperStack::xlibName = "SetVolume";
const XlibFileDesc DeveloperStack::fileNames[] = {
- {"SetVolume", nullptr },
- { nullptr, nullptr },
+ { "SetVolume", nullptr },
+ { nullptr, nullptr },
};
static BuiltinProto builtins[] = {
- { "SetVolume", DeveloperStack::b_setvolume, 2, 2, 300, HBLTIN },
+ { "SetVolume", DeveloperStack::b_setvolume, 2, 2, 300, HBLTIN },
{ nullptr, nullptr, 0, 0, 0, VOIDSYM }
};
diff --git a/engines/director/lingo/xlibs/quicktime.cpp b/engines/director/lingo/xlibs/quicktime.cpp
index 11310bf4647..440d05c166e 100644
--- a/engines/director/lingo/xlibs/quicktime.cpp
+++ b/engines/director/lingo/xlibs/quicktime.cpp
@@ -38,94 +38,94 @@ namespace Director {
const char *Quicktime::xlibName = "quicktime";
const XlibFileDesc Quicktime::fileNames[] = {
- { "QuickTime", nullptr },
- { nullptr, nullptr },
+ { "QuickTime", nullptr },
+ { nullptr, nullptr },
};
static MethodProto xlibMethods[] = {
- { "playStage", Quicktime::m_playStage, 3, 3, 300 },
- // Defined in the xobj itself but never used
- // { "mPlaySmall", Quicktime::m_playSmall, 3, 3, 300 },
- { nullptr, nullptr, 0, 0, 0 }
+ { "playStage", Quicktime::m_playStage, 3, 3, 300 },
+ // Defined in the xobj itself but never used
+ // { "mPlaySmall", Quicktime::m_playSmall, 3, 3, 300 },
+ { nullptr, nullptr, 0, 0, 0 }
};
void Quicktime::open(ObjectType type, const Common::Path &path) {
- if (type == kXObj) {
- QuicktimeObject::initMethods(xlibMethods);
- QuicktimeObject *xobj = new QuicktimeObject(kXObj);
- g_lingo->exposeXObject(xlibName, xobj);
- }
+ if (type == kXObj) {
+ QuicktimeObject::initMethods(xlibMethods);
+ QuicktimeObject *xobj = new QuicktimeObject(kXObj);
+ g_lingo->exposeXObject(xlibName, xobj);
+ }
}
void Quicktime::close(ObjectType type) {
- if (type == kXObj) {
- QuicktimeObject::cleanupMethods();
- g_lingo->_globalvars[xlibName] = Datum();
- }
+ if (type == kXObj) {
+ QuicktimeObject::cleanupMethods();
+ g_lingo->_globalvars[xlibName] = Datum();
+ }
}
QuicktimeObject::QuicktimeObject(ObjectType ObjectType) :Object<QuicktimeObject>("QuickTime") {
- _objType = ObjectType;
+ _objType = ObjectType;
}
void Quicktime::m_playStage(int nargs) {
- int top = g_lingo->pop().asInt();
- int left = g_lingo->pop().asInt();
- Common::String movieTitle = g_lingo->pop().asString();
-
- // Provided file path begins with the volume
- Common::Path filePath = findPath(movieTitle);
-
- Video::QuickTimeDecoder *video = new Video::QuickTimeDecoder();
- if (!video->loadFile(filePath)) {
- delete video;
- g_lingo->push(Datum());
- return;
- }
-
- if (!video->isPlaying()) {
- video->setRate(1);
- video->start();
- }
-
- Graphics::Surface const *frame = nullptr;
- bool keepPlaying = true;
- Common::Event event;
- while (!video->endOfVideo()) {
- if (g_director->pollEvent(event)) {
- switch(event.type) {
- case Common::EVENT_QUIT:
- g_director->processEventQUIT();
- // fallthrough
- case Common::EVENT_RBUTTONDOWN:
- case Common::EVENT_LBUTTONDOWN:
- keepPlaying = false;
- break;
- default:
- break;
- }
- }
- if (!keepPlaying)
- break;
- if (video->needsUpdate()) {
- frame = video->decodeNextFrame();
- if (frame != nullptr)
- g_system->copyRectToScreen(frame->getPixels(), frame->pitch, left, top, frame->w, frame->h);
- }
- g_system->updateScreen();
- g_director->delayMillis(10);
- }
-
- if (frame != nullptr)
- // Display the last frame after the video is done
- g_director->getCurrentWindow()->getSurface()->copyRectToSurface(
- frame->getPixels(), frame->pitch, left, top, frame->w, frame->h
- );
-
- video->close();
- delete video;
-
- g_lingo->push(Datum());
+ int top = g_lingo->pop().asInt();
+ int left = g_lingo->pop().asInt();
+ Common::String movieTitle = g_lingo->pop().asString();
+
+ // Provided file path begins with the volume
+ Common::Path filePath = findPath(movieTitle);
+
+ Video::QuickTimeDecoder *video = new Video::QuickTimeDecoder();
+ if (!video->loadFile(filePath)) {
+ delete video;
+ g_lingo->push(Datum());
+ return;
+ }
+
+ if (!video->isPlaying()) {
+ video->setRate(1);
+ video->start();
+ }
+
+ Graphics::Surface const *frame = nullptr;
+ bool keepPlaying = true;
+ Common::Event event;
+ while (!video->endOfVideo()) {
+ if (g_director->pollEvent(event)) {
+ switch(event.type) {
+ case Common::EVENT_QUIT:
+ g_director->processEventQUIT();
+ // fallthrough
+ case Common::EVENT_RBUTTONDOWN:
+ case Common::EVENT_LBUTTONDOWN:
+ keepPlaying = false;
+ break;
+ default:
+ break;
+ }
+ }
+ if (!keepPlaying)
+ break;
+ if (video->needsUpdate()) {
+ frame = video->decodeNextFrame();
+ if (frame != nullptr)
+ g_system->copyRectToScreen(frame->getPixels(), frame->pitch, left, top, frame->w, frame->h);
+ }
+ g_system->updateScreen();
+ g_director->delayMillis(10);
+ }
+
+ if (frame != nullptr)
+ // Display the last frame after the video is done
+ g_director->getCurrentWindow()->getSurface()->copyRectToSurface(
+ frame->getPixels(), frame->pitch, left, top, frame->w, frame->h
+ );
+
+ video->close();
+ delete video;
+
+ g_lingo->push(Datum());
}
} // End of namespace Director
Commit: ef58fa797b582379910e4b9716e92cb6bec52140
https://github.com/scummvm/scummvm/commit/ef58fa797b582379910e4b9716e92cb6bec52140
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-06-17T21:52:46+02:00
Commit Message:
DIRECTOR: LINGO: Plug in IniXObj
This is a JT's XObj, typically called INI.DLL. So far, we saw only
one game using it, gameid 'karma'. However, another gameid, 'www'
is using JWXINI.DLL renamed to INI.DLL
Thus, we are filtering "INI" by specific gameids
Changed paths:
engines/director/lingo/lingo-object.cpp
engines/director/lingo/xlibs/inixobj.cpp
engines/director/lingo/xlibs/jwxini.cpp
engines/director/lingo/xlibs/jwxini.h
engines/director/module.mk
diff --git a/engines/director/lingo/lingo-object.cpp b/engines/director/lingo/lingo-object.cpp
index d6676c4c70b..b35d66d53bd 100644
--- a/engines/director/lingo/lingo-object.cpp
+++ b/engines/director/lingo/lingo-object.cpp
@@ -73,6 +73,7 @@
#include "director/lingo/xlibs/getscreensizexfcn.h"
#include "director/lingo/xlibs/gpid.h"
#include "director/lingo/xlibs/hitmap.h"
+#include "director/lingo/xlibs/inixobj.h"
#include "director/lingo/xlibs/instobj.h"
#include "director/lingo/xlibs/jwxini.h"
#include "director/lingo/xlibs/iscd.h"
@@ -244,6 +245,7 @@ static struct XLibProto {
XLIBDEF(GetScreenSizeXFCN, kXObj, 300), // D3
XLIBDEF(GpidXObj, kXObj, 400), // D4
XLIBDEF(HitMap, kXObj, 400), // D4
+ XLIBDEF(IniXObj, kXObj, 400), // D4
XLIBDEF(InstObjXObj, kXObj, 400), // D4
XLIBDEF(IsCD, kXObj, 300), // D3
XLIBDEF(IsPippin, kXObj, 400), // D4
diff --git a/engines/director/lingo/xlibs/inixobj.cpp b/engines/director/lingo/xlibs/inixobj.cpp
index 09e6da80382..f5b3d053e3d 100644
--- a/engines/director/lingo/xlibs/inixobj.cpp
+++ b/engines/director/lingo/xlibs/inixobj.cpp
@@ -46,7 +46,7 @@ I mDispose -- Disposes of XObject instance.
namespace Director {
const char *IniXObj::xlibName = "Ini";
-cconst XlibFileDesc JourneyWareXINIXObj::fileNames[] = {
+const XlibFileDesc IniXObj::fileNames[] = {
{ "INI", "karma" }, // "Karma: Curse of the 12 Caves" conflicts with JWXIni in "www" gameid
{ nullptr, nullptr },
};
diff --git a/engines/director/lingo/xlibs/jwxini.cpp b/engines/director/lingo/xlibs/jwxini.cpp
index 0f48aa0e73c..ccd17c7625a 100644
--- a/engines/director/lingo/xlibs/jwxini.cpp
+++ b/engines/director/lingo/xlibs/jwxini.cpp
@@ -41,16 +41,6 @@
* ISSS mWriteProfileString, App, Key, String --WriteProfileString
*/
-/*
- * Duplicated from inixobj
- * TODO: remove when inixobj is properly connected and used
- *
- * -- Ini File External Factory. 9feb93 JT
- * --Ini
- * SSSSS mReadString fileName, SecName, EntryName, DefaultStr -- Read .INI
- * ISSSS mWriteString fileName, SecName, EntryName, String -- Write .INI
- */
-
#include "director/director.h"
#include "director/lingo/lingo.h"
#include "director/lingo/lingo-object.h"
@@ -74,12 +64,6 @@ static MethodProto xlibMethods[] = {
{"GetProfileString", JourneyWareXINIXObj::m_GetProfileString, 4, 4, 400}, // D4
{"WritePrivateProfileString", JourneyWareXINIXObj::m_WritePrivateProfileString, 4, 4, 400}, // D4
{"WriteProfileString", JourneyWareXINIXObj::m_WriteProfileString, 3, 3, 400}, // D4
-
- // Duplicated from inixobj
- // TODO: remove when inixobj is properly connected and used
- {"readString", JourneyWareXINIXObj::m_readString, 4, 4, 400},
- {"writeString", JourneyWareXINIXObj::m_writeString, 4, 4, 400},
- // End
{nullptr, nullptr, 0, 0, 0}
};
@@ -146,9 +130,4 @@ void JourneyWareXINIXObj::m_GetProfileString(int nargs) {
XOBJSTUB(JourneyWareXINIXObj::m_WritePrivateProfileString, 0)
XOBJSTUB(JourneyWareXINIXObj::m_WriteProfileString, 0)
-// TODO: remove when inixobj is properly connected and used
-XOBJSTUB(JourneyWareXINIXObj::m_readString, "")
-XOBJSTUB(JourneyWareXINIXObj::m_writeString, 0)
-// End
-
} // End of namespace Director
diff --git a/engines/director/lingo/xlibs/jwxini.h b/engines/director/lingo/xlibs/jwxini.h
index 0415d30c086..82858c8ce61 100644
--- a/engines/director/lingo/xlibs/jwxini.h
+++ b/engines/director/lingo/xlibs/jwxini.h
@@ -48,11 +48,6 @@ void m_GetProfileString(int nargs);
void m_WritePrivateProfileString(int nargs);
void m_WriteProfileString(int nargs);
-// TODO: remove when inixobj is properly connected and used
-void m_readString(int nargs);
-void m_writeString(int nargs);
-// End
-
} // End of namespace JourneyWareXINIXObj
} // End of namespace Director
diff --git a/engines/director/module.mk b/engines/director/module.mk
index 8ca69db4155..4c91682d0a5 100644
--- a/engines/director/module.mk
+++ b/engines/director/module.mk
@@ -102,6 +102,7 @@ MODULE_OBJS = \
lingo/xlibs/getscreensizexfcn.o \
lingo/xlibs/gpid.o \
lingo/xlibs/hitmap.o \
+ lingo/xlibs/inixobj.o \
lingo/xlibs/instobj.o \
lingo/xlibs/iscd.o \
lingo/xlibs/ispippin.o \
More information about the Scummvm-git-logs
mailing list