diff --git a/isle.mak b/isle.mak index b066ca73..90ce7420 100644 --- a/isle.mak +++ b/isle.mak @@ -32,8 +32,8 @@ NULL=nul # Begin Project # PROP Target_Last_Scanned "isle - Win32 Debug" CPP=cl.exe -RSC=rc.exe MTL=mktyplib.exe +RSC=rc.exe !IF "$(CFG)" == "isle - Win32 Release" @@ -57,6 +57,7 @@ CLEAN : -@erase "$(INTDIR)\isle.obj" -@erase "$(INTDIR)\isle.res" -@erase "$(INTDIR)\main.obj" + -@erase "$(INTDIR)\mxomnicreateparambase.obj" -@erase "$(OUTDIR)\isle.exe" "$(OUTDIR)" : @@ -92,7 +93,8 @@ LINK32_OBJS= \ "$(INTDIR)\define.obj" \ "$(INTDIR)\isle.obj" \ "$(INTDIR)\isle.res" \ - "$(INTDIR)\main.obj" + "$(INTDIR)\main.obj" \ + "$(INTDIR)\mxomnicreateparambase.obj" "$(OUTDIR)\isle.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) $(LINK32) @<< @@ -121,6 +123,7 @@ CLEAN : -@erase "$(INTDIR)\isle.obj" -@erase "$(INTDIR)\isle.res" -@erase "$(INTDIR)\main.obj" + -@erase "$(INTDIR)\mxomnicreateparambase.obj" -@erase "$(INTDIR)\vc40.idb" -@erase "$(INTDIR)\vc40.pdb" -@erase "$(OUTDIR)\isle.exe" @@ -160,7 +163,8 @@ LINK32_OBJS= \ "$(INTDIR)\define.obj" \ "$(INTDIR)\isle.obj" \ "$(INTDIR)\isle.res" \ - "$(INTDIR)\main.obj" + "$(INTDIR)\main.obj" \ + "$(INTDIR)\mxomnicreateparambase.obj" "$(OUTDIR)\isle.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) $(LINK32) @<< @@ -233,11 +237,13 @@ DEP_CPP_ISLE_=\ ".\lib\legoworldpresenter.h"\ ".\lib\mxatomid.h"\ ".\lib\mxbackgroundaudiomanager.h"\ + ".\lib\mxcore.h"\ ".\lib\mxdirectdraw.h"\ ".\lib\mxdsaction.h"\ ".\lib\mxomni.h"\ ".\lib\mxomnicreateflags.h"\ ".\lib\mxomnicreateparam.h"\ + ".\lib\mxomnicreateparambase.h"\ ".\lib\mxpalette.h"\ ".\lib\mxrect32.h"\ ".\lib\mxstreamcontroller.h"\ @@ -260,8 +266,39 @@ DEP_CPP_ISLE_=\ # Begin Source File SOURCE=.\app\main.cpp +DEP_CPP_MAIN_=\ + ".\app\define.h"\ + ".\app\isle.h"\ + ".\lib\define.h"\ + ".\lib\legoanimationmanager.h"\ + ".\lib\legobuildingmanager.h"\ + ".\lib\legogamestate.h"\ + ".\lib\legoinputmanager.h"\ + ".\lib\legomodelpresenter.h"\ + ".\lib\legoomni.h"\ + ".\lib\legopartpresenter.h"\ + ".\lib\legoroi.h"\ + ".\lib\legovideomanager.h"\ + ".\lib\legoworldpresenter.h"\ + ".\lib\mxatomid.h"\ + ".\lib\mxbackgroundaudiomanager.h"\ + ".\lib\mxdsaction.h"\ + ".\lib\mxomnicreateflags.h"\ + ".\lib\mxomnicreateparam.h"\ + ".\lib\mxpalette.h"\ + ".\lib\mxrect32.h"\ + ".\lib\mxstreamcontroller.h"\ + ".\lib\mxstreamer.h"\ + ".\lib\mxstring.h"\ + ".\lib\mxticklemanager.h"\ + ".\lib\mxtimer.h"\ + ".\lib\mxtransitionmanager.h"\ + ".\lib\mxvariabletable.h"\ + ".\lib\mxvideoparam.h"\ + ".\lib\mxvideoparamflags.h"\ + -"$(INTDIR)\main.obj" : $(SOURCE) "$(INTDIR)" +"$(INTDIR)\main.obj" : $(SOURCE) $(DEP_CPP_MAIN_) "$(INTDIR)" $(CPP) $(CPP_PROJ) $(SOURCE) @@ -287,6 +324,27 @@ SOURCE=.\app\res\isle.rc !ENDIF +# End Source File +################################################################################ +# Begin Source File + +SOURCE=.\lib\mxomnicreateparambase.cpp +DEP_CPP_MXOMN=\ + ".\lib\mxomnicreateflags.h"\ + ".\lib\mxomnicreateparam.h"\ + ".\lib\mxomnicreateparambase.h"\ + ".\lib\mxpalette.h"\ + ".\lib\mxrect32.h"\ + ".\lib\mxstring.h"\ + ".\lib\mxvariabletable.h"\ + ".\lib\mxvideoparam.h"\ + ".\lib\mxvideoparamflags.h"\ + + +"$(INTDIR)\mxomnicreateparambase.obj" : $(SOURCE) $(DEP_CPP_MXOMN) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + # End Source File # End Target # End Project diff --git a/isle.mdp b/isle.mdp index 23728fd5..f6af68b7 100644 Binary files a/isle.mdp and b/isle.mdp differ diff --git a/lib/mxcore.h b/lib/mxcore.h new file mode 100644 index 00000000..a3ec87c7 --- /dev/null +++ b/lib/mxcore.h @@ -0,0 +1,14 @@ +#ifndef MXCORE_H +#define MXCORE_H + +class MxCore +{ +public: + virtual ~MxCore(); + +private: + unsigned int m_id; + +}; + +#endif // MXCORE_H diff --git a/lib/mxomnicreateparam.h b/lib/mxomnicreateparam.h index 52a3a2bd..f72623aa 100644 --- a/lib/mxomnicreateparam.h +++ b/lib/mxomnicreateparam.h @@ -4,14 +4,14 @@ #include #include "mxomnicreateflags.h" +#include "mxomnicreateparambase.h" #include "mxstring.h" #include "mxvideoparam.h" -class MxOmniCreateParam +class MxOmniCreateParam : public MxOmniCreateParamBase { public: __declspec(dllexport) MxOmniCreateParam(const char *mediaPath, struct HWND__ *windowHandle, MxVideoParam &vparam, MxOmniCreateFlags flags); - virtual void vtable00(); private: diff --git a/lib/mxomnicreateparambase.cpp b/lib/mxomnicreateparambase.cpp new file mode 100644 index 00000000..fe7c5836 --- /dev/null +++ b/lib/mxomnicreateparambase.cpp @@ -0,0 +1,6 @@ +#include "mxomnicreateparam.h" + +MxOmniCreateParamBase::~MxOmniCreateParamBase() +{ + +} diff --git a/lib/mxomnicreateparambase.h b/lib/mxomnicreateparambase.h new file mode 100644 index 00000000..fee0a488 --- /dev/null +++ b/lib/mxomnicreateparambase.h @@ -0,0 +1,13 @@ +#ifndef MXOMNICREATEPARAMBASE_H +#define MXOMNICREATEPARAMBASE_H + +// FIXME: Clearly not its real name +class MxOmniCreateParamBase +{ +public: + ~MxOmniCreateParamBase(); + virtual void vtable00(){} + +}; + +#endif // MXOMNICREATEPARAMBASE_H diff --git a/lib/mxstring.h b/lib/mxstring.h index a28e446c..16878e94 100644 --- a/lib/mxstring.h +++ b/lib/mxstring.h @@ -1,15 +1,16 @@ #ifndef MXSTRING_H #define MXSTRING_H -class MxString +#include "mxcore.h" + +class MxString : public MxCore { public: + __declspec(dllexport) virtual ~MxString(); private: - int m_unk00; - int m_unk04; - int m_unk08; - int m_unk0c; + char *m_data; + unsigned short m_length; }; diff --git a/lib/mxvideoparam.h b/lib/mxvideoparam.h index c5b7199f..836b7a9d 100644 --- a/lib/mxvideoparam.h +++ b/lib/mxvideoparam.h @@ -11,6 +11,7 @@ class MxVideoParam public: __declspec(dllexport) MxVideoParam(); __declspec(dllexport) MxVideoParam(MxRect32 &rect, MxPalette *pal, unsigned long p3, MxVideoParamFlags &flags); + __declspec(dllexport) ~MxVideoParam(); __declspec(dllexport) void SetDeviceName(char *id);