mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-23 00:14:22 +00:00
100% Match of MxDSFile (#51)
* 100% Match of MxDSFile * ...almost, MxDSFile::Open is still not quite matching but all of the other methods are 100% matching. * Turns out that most of the virtual methods and some of the members are actually on the MxDSSource base class, which I've pulled out as part of this. * In order to implement the methods I added the MXIOINFO class, which seems to be a thin wrapper around the MMIOINFO windows structure. We can tell this because MMIOINFO::~MMIOINFO was included in the DLL exports, and calls down to a function which deconstructs something looking exactly like MMIOINFO. * Add mxdssource.cpp * mattkc feedback * some accuracy improvements * Use FOURCC macro * Tirival solve in mxioinfo.cpp * Update mxdsfile.cpp 0xFFFFFFFF -> -1 --------- Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
83
isle.mak
83
isle.mak
@@ -61,7 +61,10 @@ CLEAN :
|
||||
-@erase "$(INTDIR)\mxautolocker.obj"
|
||||
-@erase "$(INTDIR)\mxcore.obj"
|
||||
-@erase "$(INTDIR)\mxcriticalsection.obj"
|
||||
-@erase "$(INTDIR)\mxdsfile.obj"
|
||||
-@erase "$(INTDIR)\mxdsobject.obj"
|
||||
-@erase "$(INTDIR)\mxdssource.obj"
|
||||
-@erase "$(INTDIR)\mxioinfo.obj"
|
||||
-@erase "$(INTDIR)\mxomni.obj"
|
||||
-@erase "$(INTDIR)\mxomnicreateflags.obj"
|
||||
-@erase "$(INTDIR)\mxomnicreateparam.obj"
|
||||
@@ -138,7 +141,10 @@ LINK32_OBJS= \
|
||||
"$(INTDIR)\mxautolocker.obj" \
|
||||
"$(INTDIR)\mxcore.obj" \
|
||||
"$(INTDIR)\mxcriticalsection.obj" \
|
||||
"$(INTDIR)\mxdsfile.obj" \
|
||||
"$(INTDIR)\mxdsobject.obj" \
|
||||
"$(INTDIR)\mxdssource.obj" \
|
||||
"$(INTDIR)\mxioinfo.obj" \
|
||||
"$(INTDIR)\mxomni.obj" \
|
||||
"$(INTDIR)\mxomnicreateflags.obj" \
|
||||
"$(INTDIR)\mxomnicreateparam.obj" \
|
||||
@@ -181,7 +187,10 @@ CLEAN :
|
||||
-@erase "$(INTDIR)\mxautolocker.obj"
|
||||
-@erase "$(INTDIR)\mxcore.obj"
|
||||
-@erase "$(INTDIR)\mxcriticalsection.obj"
|
||||
-@erase "$(INTDIR)\mxdsfile.obj"
|
||||
-@erase "$(INTDIR)\mxdsobject.obj"
|
||||
-@erase "$(INTDIR)\mxdssource.obj"
|
||||
-@erase "$(INTDIR)\mxioinfo.obj"
|
||||
-@erase "$(INTDIR)\mxomni.obj"
|
||||
-@erase "$(INTDIR)\mxomnicreateflags.obj"
|
||||
-@erase "$(INTDIR)\mxomnicreateparam.obj"
|
||||
@@ -260,7 +269,10 @@ LINK32_OBJS= \
|
||||
"$(INTDIR)\mxautolocker.obj" \
|
||||
"$(INTDIR)\mxcore.obj" \
|
||||
"$(INTDIR)\mxcriticalsection.obj" \
|
||||
"$(INTDIR)\mxdsfile.obj" \
|
||||
"$(INTDIR)\mxdsobject.obj" \
|
||||
"$(INTDIR)\mxdssource.obj" \
|
||||
"$(INTDIR)\mxioinfo.obj" \
|
||||
"$(INTDIR)\mxomni.obj" \
|
||||
"$(INTDIR)\mxomnicreateflags.obj" \
|
||||
"$(INTDIR)\mxomnicreateparam.obj" \
|
||||
@@ -524,7 +536,9 @@ DEP_CPP_LEGOO=\
|
||||
".\LEGO1\mxdsaction.h"\
|
||||
".\LEGO1\mxdsfile.h"\
|
||||
".\LEGO1\mxdsobject.h"\
|
||||
".\LEGO1\mxdssource.h"\
|
||||
".\LEGO1\mxeventmanager.h"\
|
||||
".\LEGO1\mxioinfo.h"\
|
||||
".\LEGO1\mxmusicmanager.h"\
|
||||
".\LEGO1\mxnotificationmanager.h"\
|
||||
".\LEGO1\mxobjectfactory.h"\
|
||||
@@ -645,8 +659,11 @@ DEP_CPP_MXOMN=\
|
||||
SOURCE=.\LEGO1\mxvideoparam.cpp
|
||||
DEP_CPP_MXVID=\
|
||||
".\LEGO1\legoinc.h"\
|
||||
".\LEGO1\mxbool.h"\
|
||||
".\LEGO1\mxcore.h"\
|
||||
".\LEGO1\mxpalette.h"\
|
||||
".\LEGO1\mxrect32.h"\
|
||||
".\LEGO1\mxresult.h"\
|
||||
".\LEGO1\mxvariabletable.h"\
|
||||
".\LEGO1\mxvideoparam.h"\
|
||||
".\LEGO1\mxvideoparamflags.h"\
|
||||
@@ -684,6 +701,7 @@ DEP_CPP_MXOMNI=\
|
||||
".\LEGO1\mxomnicreateparambase.h"\
|
||||
".\LEGO1\mxpalette.h"\
|
||||
".\LEGO1\mxrect32.h"\
|
||||
".\LEGO1\mxresult.h"\
|
||||
".\LEGO1\mxstring.h"\
|
||||
".\LEGO1\mxvariabletable.h"\
|
||||
".\LEGO1\mxvideoparam.h"\
|
||||
@@ -708,6 +726,7 @@ DEP_CPP_MXOMNIC=\
|
||||
".\LEGO1\mxomnicreateparambase.h"\
|
||||
".\LEGO1\mxpalette.h"\
|
||||
".\LEGO1\mxrect32.h"\
|
||||
".\LEGO1\mxresult.h"\
|
||||
".\LEGO1\mxstring.h"\
|
||||
".\LEGO1\mxvariabletable.h"\
|
||||
".\LEGO1\mxvideoparam.h"\
|
||||
@@ -773,7 +792,9 @@ DEP_CPP_LEGON=\
|
||||
".\LEGO1\mxdsaction.h"\
|
||||
".\LEGO1\mxdsfile.h"\
|
||||
".\LEGO1\mxdsobject.h"\
|
||||
".\LEGO1\mxdssource.h"\
|
||||
".\LEGO1\mxeventmanager.h"\
|
||||
".\LEGO1\mxioinfo.h"\
|
||||
".\LEGO1\mxmusicmanager.h"\
|
||||
".\LEGO1\mxnotificationmanager.h"\
|
||||
".\LEGO1\mxobjectfactory.h"\
|
||||
@@ -842,6 +863,7 @@ DEP_CPP_MXUNK=\
|
||||
".\LEGO1\mxbool.h"\
|
||||
".\LEGO1\mxcore.h"\
|
||||
".\LEGO1\mxcriticalsection.h"\
|
||||
".\LEGO1\mxresult.h"\
|
||||
".\LEGO1\mxunknown100dc6b0.h"\
|
||||
|
||||
|
||||
@@ -861,6 +883,7 @@ DEP_CPP_MXVIDEO=\
|
||||
".\LEGO1\mxcriticalsection.h"\
|
||||
".\LEGO1\mxpalette.h"\
|
||||
".\LEGO1\mxrect32.h"\
|
||||
".\LEGO1\mxresult.h"\
|
||||
".\LEGO1\mxunknown100dc6b0.h"\
|
||||
".\LEGO1\mxvariabletable.h"\
|
||||
".\LEGO1\mxvideomanager.h"\
|
||||
@@ -878,13 +901,62 @@ DEP_CPP_MXVIDEO=\
|
||||
|
||||
SOURCE=.\LEGO1\mxpalette.cpp
|
||||
DEP_CPP_MXPAL=\
|
||||
".\LEGO1\mxbool.h"\
|
||||
".\LEGO1\mxcore.h"\
|
||||
".\LEGO1\mxpalette.h"\
|
||||
".\LEGO1\mxresult.h"\
|
||||
|
||||
|
||||
"$(INTDIR)\mxpalette.obj" : $(SOURCE) $(DEP_CPP_MXPAL) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\LEGO1\mxioinfo.cpp
|
||||
DEP_CPP_MXIOI=\
|
||||
".\LEGO1\mxioinfo.h"\
|
||||
|
||||
|
||||
"$(INTDIR)\mxioinfo.obj" : $(SOURCE) $(DEP_CPP_MXIOI) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\LEGO1\mxdsfile.cpp
|
||||
DEP_CPP_MXDSF=\
|
||||
".\LEGO1\mxbool.h"\
|
||||
".\LEGO1\mxcore.h"\
|
||||
".\LEGO1\mxdsfile.h"\
|
||||
".\LEGO1\mxdssource.h"\
|
||||
".\LEGO1\mxioinfo.h"\
|
||||
".\LEGO1\mxstring.h"\
|
||||
|
||||
|
||||
"$(INTDIR)\mxdsfile.obj" : $(SOURCE) $(DEP_CPP_MXDSF) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
# End Source File
|
||||
################################################################################
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\LEGO1\mxdssource.cpp
|
||||
DEP_CPP_MXDSS=\
|
||||
".\LEGO1\mxbool.h"\
|
||||
".\LEGO1\mxcore.h"\
|
||||
".\LEGO1\mxdssource.h"\
|
||||
|
||||
|
||||
"$(INTDIR)\mxdssource.obj" : $(SOURCE) $(DEP_CPP_MXDSS) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
# End Source File
|
||||
# End Target
|
||||
################################################################################
|
||||
@@ -944,7 +1016,9 @@ DEP_CPP_ISLE_=\
|
||||
".\LEGO1\mxdsaction.h"\
|
||||
".\LEGO1\mxdsfile.h"\
|
||||
".\LEGO1\mxdsobject.h"\
|
||||
".\LEGO1\mxdssource.h"\
|
||||
".\LEGO1\mxeventmanager.h"\
|
||||
".\LEGO1\mxioinfo.h"\
|
||||
".\LEGO1\mxmusicmanager.h"\
|
||||
".\LEGO1\mxnotificationmanager.h"\
|
||||
".\LEGO1\mxobjectfactory.h"\
|
||||
@@ -982,25 +1056,34 @@ SOURCE=.\ISLE\main.cpp
|
||||
DEP_CPP_MAIN_=\
|
||||
".\ISLE\define.h"\
|
||||
".\ISLE\isle.h"\
|
||||
".\ISLE\res\resource.h"\
|
||||
".\LEGO1\lego3dmanager.h"\
|
||||
".\LEGO1\lego3dview.h"\
|
||||
".\LEGO1\legoanimationmanager.h"\
|
||||
".\LEGO1\legobuildingmanager.h"\
|
||||
".\LEGO1\legoentity.h"\
|
||||
".\LEGO1\legogamestate.h"\
|
||||
".\LEGO1\legoinc.h"\
|
||||
".\LEGO1\legoinputmanager.h"\
|
||||
".\LEGO1\legomodelpresenter.h"\
|
||||
".\LEGO1\legonavcontroller.h"\
|
||||
".\LEGO1\legoomni.h"\
|
||||
".\LEGO1\legopartpresenter.h"\
|
||||
".\LEGO1\legoroi.h"\
|
||||
".\LEGO1\legovideomanager.h"\
|
||||
".\LEGO1\legoworldpresenter.h"\
|
||||
".\LEGO1\mxatomid.h"\
|
||||
".\LEGO1\mxbackgroundaudiomanager.h"\
|
||||
".\LEGO1\mxbool.h"\
|
||||
".\LEGO1\mxcore.h"\
|
||||
".\LEGO1\mxcriticalsection.h"\
|
||||
".\LEGO1\mxdirectdraw.h"\
|
||||
".\LEGO1\mxdsaction.h"\
|
||||
".\LEGO1\mxdsfile.h"\
|
||||
".\LEGO1\mxdsobject.h"\
|
||||
".\LEGO1\mxdssource.h"\
|
||||
".\LEGO1\mxeventmanager.h"\
|
||||
".\LEGO1\mxioinfo.h"\
|
||||
".\LEGO1\mxmusicmanager.h"\
|
||||
".\LEGO1\mxnotificationmanager.h"\
|
||||
".\LEGO1\mxobjectfactory.h"\
|
||||
|
Reference in New Issue
Block a user