diff --git a/ISLE/isle.cpp b/ISLE/isle.cpp index e3483cd5..6024b8f6 100644 --- a/ISLE/isle.cpp +++ b/ISLE/isle.cpp @@ -91,7 +91,7 @@ void Isle::close() // (*(ViewManager **)(*(int *)(*(int *)(pLVar4 + 0x68) + 8) + 0x88), NULL); long local_88 = 0; - Lego()->RemoveWorld(ds.m_atomId, local_88); + Lego()->RemoveWorld(ds.GetAtomId(), local_88); Lego()->vtable24(ds); TransitionManager()->SetWaitIndicator(NULL); Lego()->vtable3c(); @@ -595,18 +595,18 @@ void Isle::tick(BOOL sleepIfNotNextFrame) return; } - ds.m_atomId = stream->atom; - ds.m_unk24 = 0xFFFF; - ds.m_unk1c = 0; + ds.SetAtomId(stream->atom); + ds.SetUnknown24(0xFFFF); + ds.SetUnkown1c(0); VideoManager()->EnableFullScreenMovie(TRUE, TRUE); if (Start(&ds) != SUCCESS) { return; } } else { - ds.m_atomId = stream->atom; - ds.m_unk24 = 0xFFFF; - ds.m_unk1c = 0; + ds.SetAtomId(stream->atom); + ds.SetUnknown24(0xFFFF); + ds.SetUnkown1c(0); if (Start(&ds) != SUCCESS) { return; } diff --git a/LEGO1/mxdsaction.h b/LEGO1/mxdsaction.h index d76f6930..8dae8a2e 100644 --- a/LEGO1/mxdsaction.h +++ b/LEGO1/mxdsaction.h @@ -1,25 +1,14 @@ #ifndef MXDSACTION_H #define MXDSACTION_H -#include "mxatomid.h" +#include "mxdsobject.h" -class MxDSAction +class MxDSAction : public MxDSObject { public: __declspec(dllexport) MxDSAction(); __declspec(dllexport) virtual ~MxDSAction(); - 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; diff --git a/LEGO1/mxdsobject.cpp b/LEGO1/mxdsobject.cpp new file mode 100644 index 00000000..cd5fecf4 --- /dev/null +++ b/LEGO1/mxdsobject.cpp @@ -0,0 +1,24 @@ +#include "mxdsobject.h" + +#include +#include + +void MxDSObject::SetObjectName(const char *p_name) +{ + if (p_name != this->m_name) + { + free(this->m_name); + + if (p_name) { + this->m_name = (char *)malloc(strlen(p_name) + 1); + + if (this->m_name) { + strcpy(this->m_name, p_name); + } + } + else { + this->m_name = NULL; + } + } +} + diff --git a/LEGO1/mxdsobject.h b/LEGO1/mxdsobject.h index 05ee1fd0..c1c71643 100644 --- a/LEGO1/mxdsobject.h +++ b/LEGO1/mxdsobject.h @@ -1,10 +1,30 @@ #ifndef MXDSOBJECT_H #define MXDSOBJECT_H -class MxDSObject +#include "mxcore.h" +#include "mxatomid.h" + +class MxDSObject : public MxCore { public: __declspec(dllexport) void SetObjectName(const char *); + + inline const MxAtomId& GetAtomId() { return this->m_atomId; } + inline void SetAtomId(MxAtomId p_atomId) { this->m_atomId = p_atomId; } + inline void SetUnkown1c(int p_unk1c) { this->m_unk1c = p_unk1c; } + inline void SetUnknown24(unsigned short p_unk24) { this->m_unk24 = p_unk24; } + +private: + int m_unk08; + int m_unk0c; + int m_unk10; + int m_unk14; + char *m_name; + int m_unk1c; + MxAtomId m_atomId; + unsigned short m_unk24; + unsigned short m_unk26; + int m_unk28; }; #endif // MXDSOBJECT_H diff --git a/isle.mak b/isle.mak index 2913bc72..fb2e0e1c 100644 --- a/isle.mak +++ b/isle.mak @@ -60,6 +60,7 @@ CLEAN : -@erase "$(INTDIR)\mxautolocker.obj" -@erase "$(INTDIR)\mxcore.obj" -@erase "$(INTDIR)\mxcriticalsection.obj" + -@erase "$(INTDIR)\mxdsobject.obj" -@erase "$(INTDIR)\mxomni.obj" -@erase "$(INTDIR)\mxomnicreateflags.obj" -@erase "$(INTDIR)\mxomnicreateparam.obj" @@ -131,6 +132,7 @@ LINK32_OBJS= \ "$(INTDIR)\mxautolocker.obj" \ "$(INTDIR)\mxcore.obj" \ "$(INTDIR)\mxcriticalsection.obj" \ + "$(INTDIR)\mxdsobject.obj" \ "$(INTDIR)\mxomni.obj" \ "$(INTDIR)\mxomnicreateflags.obj" \ "$(INTDIR)\mxomnicreateparam.obj" \ @@ -169,6 +171,7 @@ CLEAN : -@erase "$(INTDIR)\mxautolocker.obj" -@erase "$(INTDIR)\mxcore.obj" -@erase "$(INTDIR)\mxcriticalsection.obj" + -@erase "$(INTDIR)\mxdsobject.obj" -@erase "$(INTDIR)\mxomni.obj" -@erase "$(INTDIR)\mxomnicreateflags.obj" -@erase "$(INTDIR)\mxomnicreateparam.obj" @@ -244,6 +247,7 @@ LINK32_OBJS= \ "$(INTDIR)\mxautolocker.obj" \ "$(INTDIR)\mxcore.obj" \ "$(INTDIR)\mxcriticalsection.obj" \ + "$(INTDIR)\mxdsobject.obj" \ "$(INTDIR)\mxomni.obj" \ "$(INTDIR)\mxomnicreateflags.obj" \ "$(INTDIR)\mxomnicreateparam.obj" \ @@ -578,10 +582,14 @@ DEP_CPP_MXOMN=\ ".\LEGO1\mxomnicreateflags.h"\ ".\LEGO1\mxomnicreateparam.h"\ ".\LEGO1\mxomnicreateparambase.h"\ + ".\LEGO1\mxpalette.h"\ + ".\LEGO1\mxrect32.h"\ ".\LEGO1\mxresult.h"\ ".\LEGO1\mxstring.h"\ ".\LEGO1\mxtimer.h"\ + ".\LEGO1\mxvariabletable.h"\ ".\LEGO1\mxvideoparam.h"\ + ".\LEGO1\mxvideoparamflags.h"\ "$(INTDIR)\mxomni.obj" : $(SOURCE) $(DEP_CPP_MXOMN) "$(INTDIR)" @@ -594,7 +602,11 @@ DEP_CPP_MXOMN=\ SOURCE=.\LEGO1\mxvideoparam.cpp DEP_CPP_MXVID=\ + ".\LEGO1\mxpalette.h"\ + ".\LEGO1\mxrect32.h"\ + ".\LEGO1\mxvariabletable.h"\ ".\LEGO1\mxvideoparam.h"\ + ".\LEGO1\mxvideoparamflags.h"\ "$(INTDIR)\mxvideoparam.obj" : $(SOURCE) $(DEP_CPP_MXVID) "$(INTDIR)" @@ -625,8 +637,12 @@ DEP_CPP_MXOMNI=\ ".\LEGO1\mxomnicreateflags.h"\ ".\LEGO1\mxomnicreateparam.h"\ ".\LEGO1\mxomnicreateparambase.h"\ + ".\LEGO1\mxpalette.h"\ + ".\LEGO1\mxrect32.h"\ ".\LEGO1\mxstring.h"\ + ".\LEGO1\mxvariabletable.h"\ ".\LEGO1\mxvideoparam.h"\ + ".\LEGO1\mxvideoparamflags.h"\ "$(INTDIR)\mxomnicreateparam.obj" : $(SOURCE) $(DEP_CPP_MXOMNI) "$(INTDIR)" @@ -697,6 +713,22 @@ DEP_CPP_LEGON=\ $(CPP) $(CPP_PROJ) $(SOURCE) +# End Source File +################################################################################ +# Begin Source File + +SOURCE=.\LEGO1\mxdsobject.cpp +DEP_CPP_MXDSO=\ + ".\LEGO1\mxatomid.h"\ + ".\LEGO1\mxbool.h"\ + ".\LEGO1\mxcore.h"\ + ".\LEGO1\mxdsobject.h"\ + + +"$(INTDIR)\mxdsobject.obj" : $(SOURCE) $(DEP_CPP_MXDSO) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + # End Source File # End Target ################################################################################ @@ -728,6 +760,9 @@ DEP_CPP_DEFIN=\ # Begin Source File SOURCE=.\ISLE\isle.cpp + +!IF "$(CFG)" == "ISLE - Win32 Release" + DEP_CPP_ISLE_=\ ".\ISLE\define.h"\ ".\ISLE\isle.h"\ @@ -773,11 +808,48 @@ DEP_CPP_ISLE_=\ $(CPP) $(CPP_PROJ) $(SOURCE) +!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" + +DEP_CPP_ISLE_=\ + ".\ISLE\define.h"\ + ".\ISLE\isle.h"\ + ".\ISLE\res\resource.h"\ + ".\LEGO1\legoomni.h"\ + ".\LEGO1\mxatomid.h"\ + ".\LEGO1\mxbackgroundaudiomanager.h"\ + ".\LEGO1\mxbool.h"\ + ".\LEGO1\mxcore.h"\ + ".\LEGO1\mxdirectdraw.h"\ + ".\LEGO1\mxdsaction.h"\ + ".\LEGO1\mxdsfile.h"\ + ".\LEGO1\mxdsobject.h"\ + ".\LEGO1\mxomni.h"\ + ".\LEGO1\mxomnicreateflags.h"\ + ".\LEGO1\mxomnicreateparam.h"\ + ".\LEGO1\mxomnicreateparambase.h"\ + ".\LEGO1\mxpalette.h"\ + ".\LEGO1\mxrect32.h"\ + ".\LEGO1\mxresult.h"\ + ".\LEGO1\mxtimer.h"\ + ".\LEGO1\mxvariabletable.h"\ + ".\LEGO1\mxvideoparam.h"\ + ".\LEGO1\mxvideoparamflags.h"\ + + +"$(INTDIR)\isle.obj" : $(SOURCE) $(DEP_CPP_ISLE_) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + # End Source File ################################################################################ # Begin Source File SOURCE=.\ISLE\main.cpp + +!IF "$(CFG)" == "ISLE - Win32 Release" + DEP_CPP_MAIN_=\ ".\ISLE\define.h"\ ".\ISLE\isle.h"\ @@ -820,6 +892,36 @@ DEP_CPP_MAIN_=\ $(CPP) $(CPP_PROJ) $(SOURCE) +!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" + +DEP_CPP_MAIN_=\ + ".\ISLE\define.h"\ + ".\ISLE\isle.h"\ + ".\LEGO1\legoomni.h"\ + ".\LEGO1\mxatomid.h"\ + ".\LEGO1\mxbackgroundaudiomanager.h"\ + ".\LEGO1\mxbool.h"\ + ".\LEGO1\mxcore.h"\ + ".\LEGO1\mxdsaction.h"\ + ".\LEGO1\mxdsfile.h"\ + ".\LEGO1\mxdsobject.h"\ + ".\LEGO1\mxomnicreateflags.h"\ + ".\LEGO1\mxomnicreateparam.h"\ + ".\LEGO1\mxomnicreateparambase.h"\ + ".\LEGO1\mxpalette.h"\ + ".\LEGO1\mxrect32.h"\ + ".\LEGO1\mxresult.h"\ + ".\LEGO1\mxvariabletable.h"\ + ".\LEGO1\mxvideoparam.h"\ + ".\LEGO1\mxvideoparamflags.h"\ + + +"$(INTDIR)\main.obj" : $(SOURCE) $(DEP_CPP_MAIN_) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + # End Source File ################################################################################ # Begin Source File diff --git a/isle.mdp b/isle.mdp index 1855de7a..cfe60270 100644 Binary files a/isle.mdp and b/isle.mdp differ