initial commit

This commit is contained in:
itsmattkc
2023-04-27 19:19:39 -07:00
commit 37100bf9c1
43 changed files with 1901 additions and 0 deletions

8
lib/define.h Normal file
View File

@@ -0,0 +1,8 @@
#ifndef MX_DEFINE
#define MX_DEFINE
typedef unsigned long MxResult;
const MxResult SUCCESS = 0;
const MxResult FAILURE = 0xFFFFFFFFL;
#endif // MX_DEFINE

137
lib/lego1.def Normal file
View File

@@ -0,0 +1,137 @@
;
; Definition file of Lego1.dll
; Automatic generated by gendef
; written by Kai Tietz 2008
;
LIBRARY "Lego1.dll"
EXPORTS
??0LegoBackgroundColor@@QAE@PBD0@Z ; has WINAPI (@8)
??0LegoGameState@@QAE@XZ
??0LegoWorld@@QAE@XZ
??0MxAtomId@@QAE@PBDW4LookupMode@@@Z ; has WINAPI (@8)
??0MxBitmap@@QAE@XZ
??0MxCore@@QAE@XZ
??0MxCriticalSection@@QAE@XZ
??0MxDSAction@@QAE@XZ
??0MxDSFile@@QAE@PBDK@Z ; has WINAPI (@8)
??0MxOmniCreateFlags@@QAE@XZ
??0MxOmniCreateParam@@QAE@PBDPAUHWND__@@AAVMxVideoParam@@VMxOmniCreateFlags@@@Z ; has WINAPI (@16)
??0MxString@@QAE@ABV0@@Z ; has WINAPI (@4)
??0MxVideoParam@@QAE@AAV0@@Z ; has WINAPI (@4)
??0MxVideoParam@@QAE@AAVMxRect32@@PAVMxPalette@@KAAVMxVideoParamFlags@@@Z ; has WINAPI (@16)
??0MxVideoParam@@QAE@XZ
??0MxVideoParamFlags@@QAE@XZ
??1LegoEntity@@UAE@XZ
??1LegoGameState@@QAE@XZ
??1LegoWorld@@UAE@XZ
??1MXIOINFO@@QAE@XZ
??1MxAtomId@@QAE@XZ
??1MxBitmap@@UAE@XZ
??1MxCore@@UAE@XZ
??1MxCriticalSection@@QAE@XZ
??1MxDSAction@@UAE@XZ
??1MxDSFile@@UAE@XZ
??1MxPresenter@@UAE@XZ
??1MxString@@UAE@XZ
??1MxVideoParam@@QAE@XZ
??4MxAtomId@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
??4MxString@@QAEABV0@PBD@Z ; has WINAPI (@4)
??4MxVideoParam@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
??8MxPalette@@QAEEAAV0@@Z ; has WINAPI (@4)
?BackgroundAudioManager@@YAPAVMxBackgroundAudioManager@@XZ
?Close@MxDSFile@@UAEJXZ
?Close@MxStreamer@@QAEJPBD@Z ; has WINAPI (@4)
?CreateBackgroundAudio@LegoOmni@@QAEXXZ
?CreateInstance@LegoOmni@@SAXXZ
?CreatePalette@MxBitmap@@UAEPAVMxPalette@@XZ
?CreateStreamObject@@YAPAVMxDSObject@@PAVMxDSFile@@F@Z
?DestroyInstance@MxOmni@@SAXXZ
?Detach@MxPalette@@QAEXXZ
?DisableRMDevice@LegoVideoManager@@QAEHXZ
?DoneTickle@MxPresenter@@MAEXXZ
?Enable@MxBackgroundAudioManager@@QAEXE@Z ; has WINAPI (@4)
?Enable@MxPresenter@@UAEXE@Z ; has WINAPI (@4)
?EnableFullScreenMovie@LegoVideoManager@@QAEXEE@Z ; has WINAPI (@8)
?EnableRMDevice@LegoVideoManager@@QAEHXZ
?EndAction@MxPresenter@@UAEXXZ
?EventManager@@YAPAVMxEventManager@@XZ
?FlipToGDISurface@MxDirectDraw@@QAEHXZ
?GameState@@YAPAVLegoGameState@@XZ
?GetBufferSize@MxDSFile@@UAEKXZ
?GetCD@MxOmni@@SAPBDXZ
?GetCurrPathInfo@LegoOmni@@SAHPAPAVLegoPathBoundary@@AAH@Z
?GetDefaults@LegoNavController@@SAXPAHPAM11111111PAE@Z
?GetHD@MxOmni@@SAPBDXZ
?GetInstance@LegoOmni@@SAPAV1@XZ
?GetInstance@MxOmni@@SAPAV1@XZ
?GetInstance@MxScheduler@@SAPAV1@XZ
?GetNoCD_SourceName@@YAPBDXZ
?GetPartsThreshold@RealtimeView@@SAMXZ
?GetPrimaryBitDepth@MxDirectDraw@@SAHXZ
?GetRealTime@MxTimer@@QAEJXZ
?GetStreamBuffersNum@MxDSFile@@UAEKXZ
?GetUserMaxLOD@RealtimeView@@SAMXZ
?GetVariable@MxVariableTable@@QAEPBDPBD@Z ; has WINAPI (@4)
?Init@MxPresenter@@IAEXXZ
?InputManager@@YAPAVLegoInputManager@@XZ
?InvalidateRect@MxVideoManager@@QAEXAAVMxRect32@@@Z ; has WINAPI (@4)
?IsSound3D@MxOmni@@SAEXZ
?Lego@@YAPAVLegoOmni@@XZ
?Load@LegoGameState@@QAEJK@Z ; has WINAPI (@4)
?MSoundManager@@YAPAVMxSoundManager@@XZ
?MakeSourceName@@YAXPADPBD@Z
?MoveCursor@LegoVideoManager@@QAEXHH@Z ; has WINAPI (@8)
?MusicManager@@YAPAVMxMusicManager@@XZ
?NotificationManager@@YAPAVMxNotificationManager@@XZ
?Notify@MxCore@@UAEJAAVMxParam@@@Z ; has WINAPI (@4)
?Open@MxDSFile@@UAEJK@Z ; has WINAPI (@4)
?Open@MxStreamer@@QAEPAVMxStreamController@@PBDG@Z ; has WINAPI (@8)
?ParseExtra@MxPresenter@@MAEXXZ
?Pause@MxDirectDraw@@QAEHH@Z ; has WINAPI (@4)
?PickEntity@@YAPAVLegoEntity@@JJ@Z
?PickROI@@YAPAVLegoROI@@JJ@Z
?QueueEvent@LegoInputManager@@QAEXW4NotificationId@@EJJE@Z ; has WINAPI (@20)
?Read@MxBitmap@@UAEJPBD@Z ; has WINAPI (@4)
?Read@MxDSFile@@UAEJPAEK@Z ; has WINAPI (@8)
?RealizePalette@MxVideoManager@@UAEJPAVMxPalette@@@Z ; has WINAPI (@4)
?Register@LegoInputManager@@QAEXPAVMxCore@@@Z ; has WINAPI (@4)
?RemoveAll@ViewManager@@QAEXPAVViewROI@@@Z ; has WINAPI (@4)
?RemoveWorld@LegoOmni@@QAEXABVMxAtomId@@J@Z ; has WINAPI (@8)
?Save@LegoGameState@@QAEJK@Z ; has WINAPI (@4)
?Seek@MxDSFile@@UAEJJH@Z ; has WINAPI (@8)
?SerializePlayersInfo@LegoGameState@@QAEXF@Z ; has WINAPI (@4)
?SerializeScoreHistory@LegoGameState@@QAEXF@Z ; has WINAPI (@4)
?SetCD@MxOmni@@SAXPBD@Z
?SetDefaults@LegoNavController@@SAXHMMMMMMMMME@Z
?SetDeviceName@MxVideoParam@@QAEXPAD@Z ; has WINAPI (@4)
?SetDisplayBB@LegoROI@@QAEXH@Z ; has WINAPI (@4)
?SetDoMutex@MxCriticalSection@@SAXXZ
?SetHD@MxOmni@@SAXPBD@Z
?SetObjectName@MxDSObject@@QAEXPBD@Z ; has WINAPI (@4)
?SetOmniUserMessage@@YAXP6AXPBDH@Z@Z
?SetPartsThreshold@RealtimeView@@SAXM@Z
?SetSavePath@LegoGameState@@QAEXPAD@Z ; has WINAPI (@4)
?SetSound3D@MxOmni@@SAXE@Z
?SetUserMaxLOD@RealtimeView@@SAXM@Z
?SetVariable@MxVariableTable@@QAEXPAVMxVariable@@@Z ; has WINAPI (@4)
?SetVariable@MxVariableTable@@QAEXPBD0@Z ; has WINAPI (@8)
?SetWaitIndicator@MxTransitionManager@@QAEXPAVMxVideoPresenter@@@Z ; has WINAPI (@4)
?SoundManager@@YAPAVLegoSoundManager@@XZ
?Start@@YAJPAVMxDSAction@@@Z
?StartAction@MxPresenter@@UAEJPAVMxStreamController@@PAVMxDSAction@@@Z ; has WINAPI (@8)
?StartMultiTasking@MxScheduler@@QAEXK@Z ; has WINAPI (@4)
?Streamer@@YAPAVMxStreamer@@XZ
?Tickle@MxPresenter@@UAEJXZ
?TickleManager@@YAPAVMxTickleManager@@XZ
?Timer@@YAPAVMxTimer@@XZ
?TransitionManager@@YAPAVMxTransitionManager@@XZ
?UnRegister@LegoInputManager@@QAEXPAVMxCore@@@Z ; has WINAPI (@4)
?VariableTable@@YAPAVMxVariableTable@@XZ
?VideoManager@@YAPAVLegoVideoManager@@XZ
?configureLegoAnimationManager@LegoAnimationManager@@SAXH@Z
?configureLegoBuildingManager@LegoBuildingManager@@SAXH@Z
?configureLegoModelPresenter@LegoModelPresenter@@SAXH@Z
?configureLegoPartPresenter@LegoPartPresenter@@SAXHH@Z
?configureLegoROI@LegoROI@@SAXH@Z
?configureLegoWorldPresenter@LegoWorldPresenter@@SAXH@Z
_DllMain@12@12

BIN
lib/lego1.exp Normal file

Binary file not shown.

BIN
lib/lego1.lib Normal file

Binary file not shown.

View File

@@ -0,0 +1,10 @@
#ifndef LEGOANIMATIONMANAGER_H
#define LEGOANIMATIONMANAGER_H
class LegoAnimationManager
{
public:
__declspec(dllexport) static void configureLegoAnimationManager(int param_1);
};
#endif // LEGOANIMATIONMANAGER_H

10
lib/legobuildingmanager.h Normal file
View File

@@ -0,0 +1,10 @@
#ifndef LEGOBUILDINGMANAGER_H
#define LEGOBUILDINGMANAGER_H
class LegoBuildingManager
{
public:
__declspec(dllexport) static void configureLegoBuildingManager(int param_1);
};
#endif // LEGOBUILDINGMANAGER_H

13
lib/legogamestate.h Normal file
View File

@@ -0,0 +1,13 @@
#ifndef LEGOGAMESTATE_H
#define LEGOGAMESTATE_H
class LegoGameState
{
public:
__declspec(dllexport) long Save(unsigned long p);
__declspec(dllexport) void SerializePlayersInfo(short p);
__declspec(dllexport) void SerializeScoreHistory(short p);
__declspec(dllexport) void SetSavePath(char *p);
};
#endif // LEGOGAMESTATE_H

22
lib/legoinputmanager.h Normal file
View File

@@ -0,0 +1,22 @@
#ifndef LEGOINPUTMANAGER_H
#define LEGOINPUTMANAGER_H
__declspec(dllexport) enum NotificationId
{
NONE = 0x0,
KEYDOWN = 0x7,
MOUSEUP = 0x8,
MOUSEDOWN = 0x9,
MOUSEMOVE = 0x10,
TIMER = 0xF
};
class LegoInputManager
{
public:
__declspec(dllexport) void QueueEvent(NotificationId id, unsigned char p2, long p3, long p4, unsigned char p5);
int m_unk00[0x400];
};
#endif // LEGOINPUTMANAGER_H

10
lib/legomodelpresenter.h Normal file
View File

@@ -0,0 +1,10 @@
#ifndef LEGOMODELPRESENTER_H
#define LEGOMODELPRESENTER_H
class LegoModelPresenter
{
public:
__declspec(dllexport) static void configureLegoModelPresenter(int param_1);
};
#endif // LEGOMODELPRESENTER_H

99
lib/legoomni.h Normal file
View File

@@ -0,0 +1,99 @@
#ifndef LEGOOMNI_H
#define LEGOOMNI_H
#include "define.h"
#include "mxbackgroundaudiomanager.h"
#include "mxdsaction.h"
#include "mxomnicreateparam.h"
#include "mxstreamer.h"
#include "mxticklemanager.h"
#include "mxtimer.h"
#include "mxtransitionmanager.h"
#include "legoanimationmanager.h"
#include "legobuildingmanager.h"
#include "legogamestate.h"
#include "legoinputmanager.h"
#include "legomodelpresenter.h"
#include "legopartpresenter.h"
#include "legoroi.h"
#include "legoworldpresenter.h"
#include "legovideomanager.h"
class MxBackgroundAudioManager;
class LegoOmni
{
public:
__declspec(dllexport) void CreateBackgroundAudio();
__declspec(dllexport) void RemoveWorld(const MxAtomId &p1, long p2);
__declspec(dllexport) static void CreateInstance();
__declspec(dllexport) static LegoOmni *GetInstance();
virtual ~LegoOmni();
virtual void vtable04();
virtual void vtable08();
virtual void vtable0c();
virtual void vtable10();
virtual void vtable14();
virtual MxResult Create(const MxOmniCreateParam &p);
virtual void vtable1c();
virtual void vtable20();
virtual void vtable24(MxDSAction &ds);
virtual int vtable28(MxDSAction &ds);
virtual void vtable2c();
virtual void vtable30();
virtual void vtable34();
virtual void vtable38();
virtual void vtable3c();
virtual unsigned char vtable40();
LegoInputManager *GetInputManager() { return m_inputMgr; }
private:
int m_unk04;
int m_unk08;
int m_unk0c;
int m_unk10;
int m_unk14;
int m_unk18;
int m_unk1c;
int m_unk20;
int m_unk24;
int m_unk28;
int m_unk2c;
int m_unk30;
int m_unk34;
int m_unk38;
int m_unk3c;
int m_unk40;
int m_unk44;
int m_unk48;
int m_unk4c;
int m_unk50;
int m_unk54;
int m_unk58;
int m_unk5c;
int m_unk60;
int m_unk64;
int m_unk68;
int m_unk6c;
LegoInputManager *m_inputMgr;
};
__declspec(dllexport) LegoOmni *Lego();
__declspec(dllexport) MxBackgroundAudioManager *BackgroundAudioManager();
__declspec(dllexport) MxTickleManager *TickleManager();
__declspec(dllexport) LegoVideoManager *VideoManager();
__declspec(dllexport) MxVariableTable *VariableTable();
__declspec(dllexport) LegoGameState *GameState();
__declspec(dllexport) MxTimer *Timer();
__declspec(dllexport) MxStreamer *Streamer();
__declspec(dllexport) LegoInputManager *InputManager();
__declspec(dllexport) MxTransitionManager *TransitionManager();
__declspec(dllexport) long Start(MxDSAction *a);
#endif // LEGOOMNI_H

10
lib/legopartpresenter.h Normal file
View File

@@ -0,0 +1,10 @@
#ifndef LEGOPARTPRESENTER_H
#define LEGOPARTPRESENTER_H
class LegoPartPresenter
{
public:
__declspec(dllexport) static void configureLegoPartPresenter(int param_1, int param_2);
};
#endif // LEGOPARTPRESENTER_H

10
lib/legoroi.h Normal file
View File

@@ -0,0 +1,10 @@
#ifndef LEGOROI_H
#define LEGOROI_H
class LegoROI
{
public:
__declspec(dllexport) static void configureLegoROI(int param_1);
};
#endif // LEGOROI_H

15
lib/legovideomanager.h Normal file
View File

@@ -0,0 +1,15 @@
#ifndef LEGOVIDEOMANAGER_H
#define LEGOVIDEOMANAGER_H
class LegoVideoManager
{
public:
__declspec(dllexport) int EnableRMDevice();
__declspec(dllexport) void EnableFullScreenMovie(unsigned char a, unsigned char b);
__declspec(dllexport) void MoveCursor(int x, int y);
};
#endif // LEGOVIDEOMANAGER_H

10
lib/legoworldpresenter.h Normal file
View File

@@ -0,0 +1,10 @@
#ifndef LEGOWORLDPRESENTER_H
#define LEGOWORLDPRESENTER_H
class LegoWorldPresenter
{
public:
__declspec(dllexport) static void configureLegoWorldPresenter(int param_1);
};
#endif // LEGOWORLDPRESENTER_H

14
lib/mxatomid.h Normal file
View File

@@ -0,0 +1,14 @@
#ifndef MXATOMID_H
#define MXATOMID_H
class MxAtomId
{
public:
__declspec(dllexport) MxAtomId &operator=(const MxAtomId &id);
__declspec(dllexport) ~MxAtomId();
char *m_internal;
};
#endif // MXATOMID_H

View File

@@ -0,0 +1,10 @@
#ifndef MXBACKGROUNDAUDIOMANAGER_H
#define MXBACKGROUNDAUDIOMANAGER_H
class MxBackgroundAudioManager
{
public:
__declspec(dllexport) void Enable(unsigned char p);
};
#endif // MXBACKGROUNDAUDIOMANAGER_H

10
lib/mxbitmap.h Normal file
View File

@@ -0,0 +1,10 @@
#ifndef MXBITMAP_H
#define MXBITMAP_H
class MxBitmap
{
public:
__declspec(dllexport) MxPalette *CreatePalette();
};
#endif // MXBITMAP_H

10
lib/mxdirectdraw.h Normal file
View File

@@ -0,0 +1,10 @@
#ifndef MXDIRECTDRAW_H
#define MXDIRECTDRAW_H
class MxDirectDraw
{
public:
__declspec(dllexport) static int GetPrimaryBitDepth();
};
#endif // MXDIRECTDRAW_H

52
lib/mxdsaction.h Normal file
View File

@@ -0,0 +1,52 @@
#ifndef MXDSACTION_H
#define MXDSACTION_H
#include "mxatomid.h"
class MxDSAction
{
public:
__declspec(dllexport) MxDSAction();
int m_unk00;
int m_unk04;
int m_unk08;
int m_unk0c;
int m_unk10;
int m_unk14;
int m_unk18;
int m_unk1c;
MxAtomId m_atomId;
unsigned short m_unk24;
unsigned short m_unk26;
int m_unk28;
int m_unk2c;
int m_unk30;
int m_unk34;
int m_unk38;
int m_unk3c;
int m_unk40;
int m_unk44;
int m_unk48;
int m_unk4c;
int m_unk50;
int m_unk54;
int m_unk58;
int m_unk5c;
int m_unk60;
int m_unk64;
int m_unk68;
int m_unk6c;
int m_unk70;
int m_unk74;
int m_unk78;
int m_unk7c;
int m_unk80;
int m_unk84;
int m_unk88;
int m_unk8c;
int m_unk90;
};
#endif // MXDSACTION_H

10
lib/mxdsfile.h Normal file
View File

@@ -0,0 +1,10 @@
#ifndef MXDSFILE_H
#define MXDSFILE_H
class MxDSFile
{
public:
__declspec(dllexport) long Close();
};
#endif // MXDSFILE_H

15
lib/mxomni.h Normal file
View File

@@ -0,0 +1,15 @@
#ifndef MXOMNI_H
#define MXOMNI_H
class MxOmni
{
public:
__declspec(dllexport) static const char *GetHD();
__declspec(dllexport) static const char *GetCD();
__declspec(dllexport) static void SetHD(const char *s);
__declspec(dllexport) static void SetCD(const char *s);
__declspec(dllexport) static void SetSound3D(unsigned char param_1);
__declspec(dllexport) static void DestroyInstance();
};
#endif // MXOMNI_H

14
lib/mxomnicreateflags.h Normal file
View File

@@ -0,0 +1,14 @@
#ifndef MXOMNICREATEFLAGS_H
#define MXOMNICREATEFLAGS_H
class MxOmniCreateFlags
{
public:
__declspec(dllexport) MxOmniCreateFlags();
private:
unsigned short m_flags;
};
#endif // MXOMNICREATEFLAGS_H

25
lib/mxomnicreateparam.h Normal file
View File

@@ -0,0 +1,25 @@
#ifndef MXOMNICREATEPARAM_H
#define MXOMNICREATEPARAM_H
#include <Windows.h>
#include "mxomnicreateflags.h"
#include "mxstring.h"
#include "mxvideoparam.h"
class MxOmniCreateParam
{
public:
__declspec(dllexport) MxOmniCreateParam(const char *mediaPath, struct HWND__ *windowHandle, MxVideoParam &vparam, MxOmniCreateFlags flags);
virtual void vtable00();
private:
MxString m_mediaPath;
HWND m_windowHandle;
MxVideoParam m_videoParam;
MxOmniCreateFlags m_createFlags;
};
#endif // MXOMNICREATEPARAM_H

9
lib/mxpalette.h Normal file
View File

@@ -0,0 +1,9 @@
#ifndef MXPALETTE_H
#define MXPALETTE_H
class MxPalette
{
public:
};
#endif // MXPALETTE_H

13
lib/mxrect32.h Normal file
View File

@@ -0,0 +1,13 @@
#ifndef MXRECT32_H
#define MXRECT32_H
class MxRect32
{
public:
int m_left;
int m_top;
int m_right;
int m_bottom;
};
#endif // MXRECT32_H

21
lib/mxstreamcontroller.h Normal file
View File

@@ -0,0 +1,21 @@
#ifndef MXSTREAMCONTROLLER_H
#define MXSTREAMCONTROLLER_H
class MxStreamController
{
public:
int m_unk00;
int m_unk04;
int m_unk08;
int m_unk0c;
int m_unk10;
int m_unk14;
int m_unk18;
int m_unk1c;
int m_unk20;
MxAtomId atom;
int m_unk28;
int m_unk2c;
};
#endif // MXSTREAMCONTROLLER_H

14
lib/mxstreamer.h Normal file
View File

@@ -0,0 +1,14 @@
#ifndef MXSTREAMER_H
#define MXSTREAMER_H
#include "mxstreamcontroller.h"
class MxStreamer
{
public:
__declspec(dllexport) MxStreamController *Open(const char *name, unsigned short p);
__declspec(dllexport) long Close(const char *p);
};
#endif // MXSTREAMER_H

16
lib/mxstring.h Normal file
View File

@@ -0,0 +1,16 @@
#ifndef MXSTRING_H
#define MXSTRING_H
class MxString
{
public:
private:
int m_unk00;
int m_unk04;
int m_unk08;
int m_unk0c;
};
#endif // MXSTRING_H

19
lib/mxticklemanager.h Normal file
View File

@@ -0,0 +1,19 @@
#ifndef MXTICKLEMANAGER_H
#define MXTICKLEMANAGER_H
class MxTickleManager
{
public:
virtual ~MxTickleManager();
virtual void vtable04();
virtual void vtable08();
virtual void vtable0c();
virtual void vtable10();
virtual void vtable14();
virtual void vtable18();
virtual void vtable1c(void *v, int p);
virtual void vtable20();
};
#endif // MXTICKLEMANAGER_H

10
lib/mxtimer.h Normal file
View File

@@ -0,0 +1,10 @@
#ifndef MXTIMER_H
#define MXTIMER_H
class MxTimer
{
public:
__declspec(dllexport) long GetRealTime();
};
#endif // MXTIMER_H

12
lib/mxtransitionmanager.h Normal file
View File

@@ -0,0 +1,12 @@
#ifndef MXTRANSITIONMANAGER_H
#define MXTRANSITIONMANAGER_H
class MxVideoPresenter;
class MxTransitionManager
{
public:
void SetWaitIndicator(MxVideoPresenter *videoPresenter);
};
#endif // MXTRANSITIONMANAGER_H

10
lib/mxvariabletable.h Normal file
View File

@@ -0,0 +1,10 @@
#ifndef MXVARIABLETABLE_H
#define MXVARIABLETABLE_H
class MxVariableTable
{
public:
__declspec(dllexport) void SetVariable(const char *key, const char *value);
};
#endif // MXVARIABLETABLE_H

32
lib/mxvideoparam.h Normal file
View File

@@ -0,0 +1,32 @@
#ifndef MXVIDEOPARAM_H
#define MXVIDEOPARAM_H
#include "mxpalette.h"
#include "mxrect32.h"
#include "mxvariabletable.h"
#include "mxvideoparamflags.h"
class MxVideoParam
{
public:
__declspec(dllexport) MxVideoParam();
__declspec(dllexport) MxVideoParam(MxRect32 &rect, MxPalette *pal, unsigned long p3, MxVideoParamFlags &flags);
__declspec(dllexport) void SetDeviceName(char *id);
inline MxVideoParamFlags &flags() { return m_flags; }
private:
int m_left;
int m_top;
int m_right;
int m_bottom;
MxPalette *m_palette;
BOOL m_backBuffers;
MxVideoParamFlags m_flags;
int m_unk1c;
char *m_deviceId;
};
#endif // MXVIDEOPARAM_H

93
lib/mxvideoparamflags.h Normal file
View File

@@ -0,0 +1,93 @@
#ifndef MXVIDEOPARAMFLAGS_H
#define MXVIDEOPARAMFLAGS_H
class MxVideoParamFlags
{
public:
enum LowFlags
{
FULL_SCREEN = 0x1,
FLIP_SURFACES = 0x2,
BACK_BUFFERS = 0x4,
ENABLE_16BIT = 0x20,
WIDE_VIEW_ANGLE = 0x40
};
enum HighFlags
{
UNKNOWN1 = 0x1,
UNKNOWN2 = 0x2
};
__declspec(dllexport) MxVideoParamFlags();
inline void EnableFullScreen(BOOL e)
{
if (e) {
m_flags1 |= FULL_SCREEN;
} else {
m_flags1 &= ~FULL_SCREEN;
}
}
inline void EnableFlipSurfaces(BOOL e)
{
if (e) {
m_flags1 |= FLIP_SURFACES;
} else {
m_flags1 &= ~FLIP_SURFACES;
}
}
inline void EnableBackBuffers(BOOL e)
{
if (e) {
m_flags1 |= BACK_BUFFERS;
} else {
m_flags1 &= ~BACK_BUFFERS;
}
}
inline void Enable16Bit(BOOL e)
{
if (e) {
m_flags1 |= ENABLE_16BIT;
} else {
m_flags1 &= ~ENABLE_16BIT;
}
}
inline void EnableWideViewAngle(BOOL e)
{
if (e) {
m_flags1 |= WIDE_VIEW_ANGLE;
} else {
m_flags1 &= ~WIDE_VIEW_ANGLE;
}
}
inline void EnableUnknown1(BOOL e)
{
if (e) {
m_flags2 |= UNKNOWN1;
} else {
m_flags2 &= ~UNKNOWN1;
}
}
inline void EnableUnknown2(BOOL e)
{
if (e) {
m_flags2 |= UNKNOWN2;
} else {
m_flags2 &= ~UNKNOWN2;
}
}
private:
unsigned char m_flags1;
unsigned char m_flags2;
};
#endif // MXVIDEOPARAMFLAGS_H