[Scummvm-git-logs] scummvm master -> 07aaa9a2634796bd80adafd604732e56098484c0

rvanlaar noreply at scummvm.org
Fri Jul 12 15:20:34 UTC 2024


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
7d08d5710c JANITORIAL: Fix spelling mistake enttry -> entry
07aaa9a263 DIRECTOR: add stubs for Mummy xlibs


Commit: 7d08d5710cc4f06b0ba685917ed78ed5f11e38b6
    https://github.com/scummvm/scummvm/commit/7d08d5710cc4f06b0ba685917ed78ed5f11e38b6
Author: Roland van Laar (roland at rolandvanlaar.nl)
Date: 2024-07-12T15:42:20+02:00

Commit Message:
JANITORIAL: Fix spelling mistake enttry -> entry

Changed paths:
    engines/director/lingo/lingo-object.cpp


diff --git a/engines/director/lingo/lingo-object.cpp b/engines/director/lingo/lingo-object.cpp
index 70eee59f8c5..a6d1561f690 100644
--- a/engines/director/lingo/lingo-object.cpp
+++ b/engines/director/lingo/lingo-object.cpp
@@ -326,7 +326,7 @@ void Lingo::initXLibs() {
 				continue;
 
 			if (_xlibOpeners.contains(lib->names[i].name))
-				warning("Lingo::initXLibs(): Duplicate enttry for %s", lib->names[i].name);
+				warning("Lingo::initXLibs(): Duplicate entry for %s", lib->names[i].name);
 
 			_xlibOpeners[lib->names[i].name] = lib->opener;
 			_xlibClosers[lib->names[i].name] = lib->closer;


Commit: 07aaa9a2634796bd80adafd604732e56098484c0
    https://github.com/scummvm/scummvm/commit/07aaa9a2634796bd80adafd604732e56098484c0
Author: Roland van Laar (roland at rolandvanlaar.nl)
Date: 2024-07-12T16:03:14+02:00

Commit Message:
DIRECTOR: add stubs for Mummy xlibs

Add xlib stubs for Mummy: Tomb of the Pharaoh.
Generated with `director-generate-xobj-stubs.py`.

Changed paths:
  A engines/director/lingo/xlibs/henry.cpp
  A engines/director/lingo/xlibs/henry.h
  A engines/director/lingo/xlibs/syscolor.cpp
  A engines/director/lingo/xlibs/syscolor.h
    engines/director/lingo/lingo-object.cpp
    engines/director/module.mk


diff --git a/engines/director/lingo/lingo-object.cpp b/engines/director/lingo/lingo-object.cpp
index a6d1561f690..dbff72cbb18 100644
--- a/engines/director/lingo/lingo-object.cpp
+++ b/engines/director/lingo/lingo-object.cpp
@@ -72,6 +72,7 @@
 #include "director/lingo/xlibs/getscreenrectsxfcn.h"
 #include "director/lingo/xlibs/getscreensizexfcn.h"
 #include "director/lingo/xlibs/gpid.h"
+#include "director/lingo/xlibs/henry.h"
 #include "director/lingo/xlibs/hitmap.h"
 #include "director/lingo/xlibs/inixobj.h"
 #include "director/lingo/xlibs/instobj.h"
@@ -114,6 +115,7 @@
 #include "director/lingo/xlibs/soundjam.h"
 #include "director/lingo/xlibs/spacemgr.h"
 #include "director/lingo/xlibs/stagetc.h"
+#include "director/lingo/xlibs/syscolor.h"
 #include "director/lingo/xlibs/unittest.h"
 #include "director/lingo/xlibs/valkyrie.h"
 #include "director/lingo/xlibs/videodiscxobj.h"
@@ -250,6 +252,7 @@ static struct XLibProto {
 	XLIBDEF(GetScreenRectsXFCN,	kXObj,			300),	// D3
 	XLIBDEF(GetScreenSizeXFCN,	kXObj,			300),	// D3
 	XLIBDEF(GpidXObj,			kXObj,			400),	// D4
+	XLIBDEF(HenryXObj,			kXObj,					400),	// D4
 	XLIBDEF(HitMap,				kXObj,			400),	// D4
 	XLIBDEF(IniXObj,			kXObj,			400),	// D4
 	XLIBDEF(InstObjXObj,		kXObj,			400),	// D4
@@ -297,6 +300,7 @@ static struct XLibProto {
 	XLIBDEF(SoundJam,			kXObj,			400),	// D4
 	XLIBDEF(SpaceMgr,			kXObj,			400),	// D4
 	XLIBDEF(StageTCXObj,		kXObj,			400),	// D4
+	XLIBDEF(SysColorXObj,			kXObj,					400),	// D4
 	XLIBDEF(TimextraXtra,		kXtraObj,		500),	// D5
 	XLIBDEF(UnitTestXObj,		kXObj,			400),	// D4
 	XLIBDEF(VMisOnXFCN,			kXObj,			400),	// D4
diff --git a/engines/director/lingo/xlibs/henry.cpp b/engines/director/lingo/xlibs/henry.cpp
new file mode 100644
index 00000000000..51eb93212ef
--- /dev/null
+++ b/engines/director/lingo/xlibs/henry.cpp
@@ -0,0 +1,219 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "common/system.h"
+
+#include "director/director.h"
+#include "director/lingo/lingo.h"
+#include "director/lingo/lingo-object.h"
+#include "director/lingo/lingo-utils.h"
+#include "director/lingo/xlibs/henry.h"
+
+/**************************************************
+ *
+ * USED IN:
+ * Mummy: Tomb of the Pharaoh
+ *
+ **************************************************/
+
+/*
+-- Henry XObject. Mar 21, 95 JPY
+--Henry
+ISS    mNew                --Creates a new instance of the XObject
+X      mDispose            --Disposes of XObject instance
+S      mName            
+SIIS           mUserHitMouse                   -- 
+XSSS           mStartNewPosition                       -- 
+XSS            mStartNewPositionSubView -- 
+S                      mCommittNewPosition -- 
+S                      mDoLeftTurn                             -- 
+S              mDoRightTurn            -- 
+SII    mCheckCursor            -- 
+SII    mGetRollOverActions -- 
+S              mGetEntryActions        -- 
+S              mPeekEntryActions       -- 
+S              mGetExitActions         -- 
+S              mSetSavedPosition 
+IS             mGetStateVariable       -- 
+XSI    mSetStateVariable       -- 
+SS             mGetStringVariable      -- 
+XSS    mSetStringVariable      -- 
+XSI    mStartTimer             -- 
+XS             mAbortTimer             -- 
+S              mCheckTimers            -- 
+SS             mGetTimerStatus 
+SS             mPickUpItem 
+XS             mDropItem               -- 
+XS             mDumpItem 
+SS             mReturnItem 
+SS             mIngestItem 
+SSS    mPutItemInContainer 
+SSSSS  mPutItemAtLocation 
+S              mGetCurrentPosition 
+S              mGetPlayerProperties 
+SSS    mSaveGame               -- 
+SS             mLoadGame               -- 
+XI             mShowCursor             -- 
+X              mReleaseCursor          -- 
+S              mGetRoomList            -- 
+SI             mGetItemList -- 
+S              mGetCurrentItem -- 
+S              mGetCurrentContainer -- 
+S              mGetCurrentInteraction -- 
+SS             mGetItemLocation -- 
+SS             mGetContainerContents -- 
+X              mPauseGame -- 
+X              mResumeGame -- 
+ */
+
+namespace Director {
+
+const char *HenryXObj::xlibName = "Henry";
+const XlibFileDesc HenryXObj::fileNames[] = {
+	{ "HENRY",   nullptr },
+	{ nullptr,        nullptr },
+};
+
+static MethodProto xlibMethods[] = {
+	{ "new",				HenryXObj::m_new,		 2, 2,	400 },
+	{ "dispose",				HenryXObj::m_dispose,		 0, 0,	400 },
+	{ "name",				HenryXObj::m_name,		 0, 0,	400 },
+	{ "userHitMouse",				HenryXObj::m_userHitMouse,		 3, 3,	400 },
+	{ "startNewPosition",				HenryXObj::m_startNewPosition,		 3, 3,	400 },
+	{ "startNewPositionSubView",				HenryXObj::m_startNewPositionSubView,		 2, 2,	400 },
+	{ "committNewPosition",				HenryXObj::m_committNewPosition,		 0, 0,	400 },
+	{ "doLeftTurn",				HenryXObj::m_doLeftTurn,		 0, 0,	400 },
+	{ "doRightTurn",				HenryXObj::m_doRightTurn,		 0, 0,	400 },
+	{ "checkCursor",				HenryXObj::m_checkCursor,		 2, 2,	400 },
+	{ "getRollOverActions",				HenryXObj::m_getRollOverActions,		 2, 2,	400 },
+	{ "getEntryActions",				HenryXObj::m_getEntryActions,		 0, 0,	400 },
+	{ "peekEntryActions",				HenryXObj::m_peekEntryActions,		 0, 0,	400 },
+	{ "getExitActions",				HenryXObj::m_getExitActions,		 0, 0,	400 },
+	{ "setSavedPosition",				HenryXObj::m_setSavedPosition,		 0, 0,	400 },
+	{ "getStateVariable",				HenryXObj::m_getStateVariable,		 1, 1,	400 },
+	{ "setStateVariable",				HenryXObj::m_setStateVariable,		 2, 2,	400 },
+	{ "getStringVariable",				HenryXObj::m_getStringVariable,		 1, 1,	400 },
+	{ "setStringVariable",				HenryXObj::m_setStringVariable,		 2, 2,	400 },
+	{ "startTimer",				HenryXObj::m_startTimer,		 2, 2,	400 },
+	{ "abortTimer",				HenryXObj::m_abortTimer,		 1, 1,	400 },
+	{ "checkTimers",				HenryXObj::m_checkTimers,		 0, 0,	400 },
+	{ "getTimerStatus",				HenryXObj::m_getTimerStatus,		 1, 1,	400 },
+	{ "pickUpItem",				HenryXObj::m_pickUpItem,		 1, 1,	400 },
+	{ "dropItem",				HenryXObj::m_dropItem,		 1, 1,	400 },
+	{ "dumpItem",				HenryXObj::m_dumpItem,		 1, 1,	400 },
+	{ "returnItem",				HenryXObj::m_returnItem,		 1, 1,	400 },
+	{ "ingestItem",				HenryXObj::m_ingestItem,		 1, 1,	400 },
+	{ "putItemInContainer",				HenryXObj::m_putItemInContainer,		 2, 2,	400 },
+	{ "putItemAtLocation",				HenryXObj::m_putItemAtLocation,		 4, 4,	400 },
+	{ "getCurrentPosition",				HenryXObj::m_getCurrentPosition,		 0, 0,	400 },
+	{ "getPlayerProperties",				HenryXObj::m_getPlayerProperties,		 0, 0,	400 },
+	{ "saveGame",				HenryXObj::m_saveGame,		 2, 2,	400 },
+	{ "loadGame",				HenryXObj::m_loadGame,		 1, 1,	400 },
+	{ "showCursor",				HenryXObj::m_showCursor,		 1, 1,	400 },
+	{ "releaseCursor",				HenryXObj::m_releaseCursor,		 0, 0,	400 },
+	{ "getRoomList",				HenryXObj::m_getRoomList,		 0, 0,	400 },
+	{ "getItemList",				HenryXObj::m_getItemList,		 1, 1,	400 },
+	{ "getCurrentItem",				HenryXObj::m_getCurrentItem,		 0, 0,	400 },
+	{ "getCurrentContainer",				HenryXObj::m_getCurrentContainer,		 0, 0,	400 },
+	{ "getCurrentInteraction",				HenryXObj::m_getCurrentInteraction,		 0, 0,	400 },
+	{ "getItemLocation",				HenryXObj::m_getItemLocation,		 1, 1,	400 },
+	{ "getContainerContents",				HenryXObj::m_getContainerContents,		 1, 1,	400 },
+	{ "pauseGame",				HenryXObj::m_pauseGame,		 0, 0,	400 },
+	{ "resumeGame",				HenryXObj::m_resumeGame,		 0, 0,	400 },
+	{ nullptr, nullptr, 0, 0, 0 }
+};
+
+static BuiltinProto xlibBuiltins[] = {
+
+	{ nullptr, nullptr, 0, 0, 0, VOIDSYM }
+};
+
+HenryXObject::HenryXObject(ObjectType ObjectType) :Object<HenryXObject>("Henry") {
+	_objType = ObjectType;
+}
+
+void HenryXObj::open(ObjectType type, const Common::Path &path) {
+    HenryXObject::initMethods(xlibMethods);
+    HenryXObject *xobj = new HenryXObject(type);
+    if (type == kXtraObj)
+        g_lingo->_openXtras.push_back(xlibName);
+    g_lingo->exposeXObject(xlibName, xobj);
+    g_lingo->initBuiltIns(xlibBuiltins);
+}
+
+void HenryXObj::close(ObjectType type) {
+    HenryXObject::cleanupMethods();
+    g_lingo->_globalvars[xlibName] = Datum();
+
+}
+
+void HenryXObj::m_new(int nargs) {
+	g_lingo->printSTUBWithArglist("HenryXObj::m_new", nargs);
+	g_lingo->dropStack(nargs);
+	g_lingo->push(g_lingo->_state->me);
+}
+
+XOBJSTUBNR(HenryXObj::m_dispose)
+XOBJSTUB(HenryXObj::m_name, "")
+XOBJSTUB(HenryXObj::m_userHitMouse, "")
+XOBJSTUBNR(HenryXObj::m_startNewPosition)
+XOBJSTUBNR(HenryXObj::m_startNewPositionSubView)
+XOBJSTUB(HenryXObj::m_committNewPosition, "")
+XOBJSTUB(HenryXObj::m_doLeftTurn, "")
+XOBJSTUB(HenryXObj::m_doRightTurn, "")
+XOBJSTUB(HenryXObj::m_checkCursor, "")
+XOBJSTUB(HenryXObj::m_getRollOverActions, "")
+XOBJSTUB(HenryXObj::m_getEntryActions, "")
+XOBJSTUB(HenryXObj::m_peekEntryActions, "")
+XOBJSTUB(HenryXObj::m_getExitActions, "")
+XOBJSTUB(HenryXObj::m_setSavedPosition, "")
+XOBJSTUB(HenryXObj::m_getStateVariable, 0)
+XOBJSTUBNR(HenryXObj::m_setStateVariable)
+XOBJSTUB(HenryXObj::m_getStringVariable, "")
+XOBJSTUBNR(HenryXObj::m_setStringVariable)
+XOBJSTUBNR(HenryXObj::m_startTimer)
+XOBJSTUBNR(HenryXObj::m_abortTimer)
+XOBJSTUB(HenryXObj::m_checkTimers, "")
+XOBJSTUB(HenryXObj::m_getTimerStatus, "")
+XOBJSTUB(HenryXObj::m_pickUpItem, "")
+XOBJSTUBNR(HenryXObj::m_dropItem)
+XOBJSTUBNR(HenryXObj::m_dumpItem)
+XOBJSTUB(HenryXObj::m_returnItem, "")
+XOBJSTUB(HenryXObj::m_ingestItem, "")
+XOBJSTUB(HenryXObj::m_putItemInContainer, "")
+XOBJSTUB(HenryXObj::m_putItemAtLocation, "")
+XOBJSTUB(HenryXObj::m_getCurrentPosition, "")
+XOBJSTUB(HenryXObj::m_getPlayerProperties, "")
+XOBJSTUB(HenryXObj::m_saveGame, "")
+XOBJSTUB(HenryXObj::m_loadGame, "")
+XOBJSTUBNR(HenryXObj::m_showCursor)
+XOBJSTUBNR(HenryXObj::m_releaseCursor)
+XOBJSTUB(HenryXObj::m_getRoomList, "")
+XOBJSTUB(HenryXObj::m_getItemList, "")
+XOBJSTUB(HenryXObj::m_getCurrentItem, "")
+XOBJSTUB(HenryXObj::m_getCurrentContainer, "")
+XOBJSTUB(HenryXObj::m_getCurrentInteraction, "")
+XOBJSTUB(HenryXObj::m_getItemLocation, "")
+XOBJSTUB(HenryXObj::m_getContainerContents, "")
+XOBJSTUBNR(HenryXObj::m_pauseGame)
+XOBJSTUBNR(HenryXObj::m_resumeGame)
+
+}
diff --git a/engines/director/lingo/xlibs/henry.h b/engines/director/lingo/xlibs/henry.h
new file mode 100644
index 00000000000..415490f5d54
--- /dev/null
+++ b/engines/director/lingo/xlibs/henry.h
@@ -0,0 +1,90 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifndef DIRECTOR_LINGO_XLIBS_HENRY_H
+#define DIRECTOR_LINGO_XLIBS_HENRY_H
+
+namespace Director {
+
+class HenryXObject : public Object<HenryXObject> {
+public:
+	HenryXObject(ObjectType objType);
+};
+
+namespace HenryXObj {
+
+extern const char *xlibName;
+extern const XlibFileDesc fileNames[];
+
+void open(ObjectType type, const Common::Path &path);
+void close(ObjectType type);
+
+void m_new(int nargs);
+void m_dispose(int nargs);
+void m_name(int nargs);
+void m_userHitMouse(int nargs);
+void m_startNewPosition(int nargs);
+void m_startNewPositionSubView(int nargs);
+void m_committNewPosition(int nargs);
+void m_doLeftTurn(int nargs);
+void m_doRightTurn(int nargs);
+void m_checkCursor(int nargs);
+void m_getRollOverActions(int nargs);
+void m_getEntryActions(int nargs);
+void m_peekEntryActions(int nargs);
+void m_getExitActions(int nargs);
+void m_setSavedPosition(int nargs);
+void m_getStateVariable(int nargs);
+void m_setStateVariable(int nargs);
+void m_getStringVariable(int nargs);
+void m_setStringVariable(int nargs);
+void m_startTimer(int nargs);
+void m_abortTimer(int nargs);
+void m_checkTimers(int nargs);
+void m_getTimerStatus(int nargs);
+void m_pickUpItem(int nargs);
+void m_dropItem(int nargs);
+void m_dumpItem(int nargs);
+void m_returnItem(int nargs);
+void m_ingestItem(int nargs);
+void m_putItemInContainer(int nargs);
+void m_putItemAtLocation(int nargs);
+void m_getCurrentPosition(int nargs);
+void m_getPlayerProperties(int nargs);
+void m_saveGame(int nargs);
+void m_loadGame(int nargs);
+void m_showCursor(int nargs);
+void m_releaseCursor(int nargs);
+void m_getRoomList(int nargs);
+void m_getItemList(int nargs);
+void m_getCurrentItem(int nargs);
+void m_getCurrentContainer(int nargs);
+void m_getCurrentInteraction(int nargs);
+void m_getItemLocation(int nargs);
+void m_getContainerContents(int nargs);
+void m_pauseGame(int nargs);
+void m_resumeGame(int nargs);
+
+} // End of namespace HenryXObj
+
+} // End of namespace Director
+
+#endif
diff --git a/engines/director/lingo/xlibs/syscolor.cpp b/engines/director/lingo/xlibs/syscolor.cpp
new file mode 100644
index 00000000000..9aaee51518d
--- /dev/null
+++ b/engines/director/lingo/xlibs/syscolor.cpp
@@ -0,0 +1,96 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "common/system.h"
+
+#include "director/director.h"
+#include "director/lingo/lingo.h"
+#include "director/lingo/lingo-object.h"
+#include "director/lingo/lingo-utils.h"
+#include "director/lingo/xlibs/syscolor.h"
+
+/**************************************************
+ *
+ * USED IN:
+ * Mummy: Tomb of the Pharaoh
+ *
+ **************************************************/
+
+/*
+-- System color Save/Restore XObject
+--SysColor
+I      mNew                --Creates a new instance of the XObject
+X      mDispose            --Disposes of XObject instance
+X      mSaveColors         --Saves windows system colors, then sets UI to monochrome
+X      mRestoreColors      --Restores windows system colors
+ */
+
+namespace Director {
+
+const char *SysColorXObj::xlibName = "SysColor";
+const XlibFileDesc SysColorXObj::fileNames[] = {
+	{ "SYSCOLOR",   nullptr },
+	{ nullptr,        nullptr },
+};
+
+static MethodProto xlibMethods[] = {
+	{ "new",				SysColorXObj::m_new,		 0, 0,	400 },
+	{ "dispose",				SysColorXObj::m_dispose,		 0, 0,	400 },
+	{ "saveColors",				SysColorXObj::m_saveColors,		 0, 0,	400 },
+	{ "restoreColors",				SysColorXObj::m_restoreColors,		 0, 0,	400 },
+	{ nullptr, nullptr, 0, 0, 0 }
+};
+
+static BuiltinProto xlibBuiltins[] = {
+
+	{ nullptr, nullptr, 0, 0, 0, VOIDSYM }
+};
+
+SysColorXObject::SysColorXObject(ObjectType ObjectType) :Object<SysColorXObject>("SysColor") {
+	_objType = ObjectType;
+}
+
+void SysColorXObj::open(ObjectType type, const Common::Path &path) {
+    SysColorXObject::initMethods(xlibMethods);
+    SysColorXObject *xobj = new SysColorXObject(type);
+    if (type == kXtraObj)
+        g_lingo->_openXtras.push_back(xlibName);
+    g_lingo->exposeXObject(xlibName, xobj);
+    g_lingo->initBuiltIns(xlibBuiltins);
+}
+
+void SysColorXObj::close(ObjectType type) {
+    SysColorXObject::cleanupMethods();
+    g_lingo->_globalvars[xlibName] = Datum();
+
+}
+
+void SysColorXObj::m_new(int nargs) {
+	g_lingo->printSTUBWithArglist("SysColorXObj::m_new", nargs);
+	g_lingo->dropStack(nargs);
+	g_lingo->push(g_lingo->_state->me);
+}
+
+XOBJSTUBNR(SysColorXObj::m_dispose)
+XOBJSTUBNR(SysColorXObj::m_saveColors)
+XOBJSTUBNR(SysColorXObj::m_restoreColors)
+
+}
diff --git a/engines/director/lingo/xlibs/syscolor.h b/engines/director/lingo/xlibs/syscolor.h
new file mode 100644
index 00000000000..605e9ae92f3
--- /dev/null
+++ b/engines/director/lingo/xlibs/syscolor.h
@@ -0,0 +1,49 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifndef DIRECTOR_LINGO_XLIBS_SYSCOLOR_H
+#define DIRECTOR_LINGO_XLIBS_SYSCOLOR_H
+
+namespace Director {
+
+class SysColorXObject : public Object<SysColorXObject> {
+public:
+	SysColorXObject(ObjectType objType);
+};
+
+namespace SysColorXObj {
+
+extern const char *xlibName;
+extern const XlibFileDesc fileNames[];
+
+void open(ObjectType type, const Common::Path &path);
+void close(ObjectType type);
+
+void m_new(int nargs);
+void m_dispose(int nargs);
+void m_saveColors(int nargs);
+void m_restoreColors(int nargs);
+
+} // End of namespace SysColorXObj
+
+} // End of namespace Director
+
+#endif
diff --git a/engines/director/module.mk b/engines/director/module.mk
index f8445e85cde..5c73c9fd7a9 100644
--- a/engines/director/module.mk
+++ b/engines/director/module.mk
@@ -101,6 +101,7 @@ MODULE_OBJS = \
 	lingo/xlibs/getscreenrectsxfcn.o \
 	lingo/xlibs/getscreensizexfcn.o \
 	lingo/xlibs/gpid.o \
+	lingo/xlibs/henry.o \
 	lingo/xlibs/hitmap.o \
 	lingo/xlibs/inixobj.o \
 	lingo/xlibs/instobj.o \
@@ -143,6 +144,7 @@ MODULE_OBJS = \
 	lingo/xlibs/soundjam.o \
 	lingo/xlibs/spacemgr.o \
 	lingo/xlibs/stagetc.o \
+	lingo/xlibs/syscolor.o \
 	lingo/xlibs/unittest.o \
 	lingo/xlibs/valkyrie.o \
 	lingo/xlibs/videodiscxobj.o \




More information about the Scummvm-git-logs mailing list