From 2e4a50dad5322fafa31fb2479799c92317995ce8 Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Mon, 19 Jun 2023 14:16:45 +0200 Subject: [PATCH] add addresses and SetAtomId --- LEGO1/mxatomid.cpp | 8 +++ LEGO1/mxdsobject.cpp | 8 +++ LEGO1/mxdsobject.h | 3 +- isle.mak | 153 +++++++++++++++++++++++-------------------- isle.mdp | Bin 49664 -> 50176 bytes 5 files changed, 100 insertions(+), 72 deletions(-) diff --git a/LEGO1/mxatomid.cpp b/LEGO1/mxatomid.cpp index c4413f28..f2171360 100755 --- a/LEGO1/mxatomid.cpp +++ b/LEGO1/mxatomid.cpp @@ -1,6 +1,14 @@ #include "mxatomid.h" +// OFFSET: LEGO1 0x100acfd0 MxAtomId::~MxAtomId() { // TODO +} + +// OFFSET: LEGO1 0x100ad1c0 +MxAtomId &MxAtomId::operator=(const MxAtomId &id) +{ + // TODO + return *this; } \ No newline at end of file diff --git a/LEGO1/mxdsobject.cpp b/LEGO1/mxdsobject.cpp index 93c0febb..e48cd3d4 100644 --- a/LEGO1/mxdsobject.cpp +++ b/LEGO1/mxdsobject.cpp @@ -3,6 +3,7 @@ #include #include +// OFFSET: LEGO1 0x100bf6a0 MxDSObject::MxDSObject() { // The following code yields 100% matching assembly if m_unk24 is declared as (signed) short. @@ -25,6 +26,7 @@ MxDSObject::MxDSObject() this->m_unk28 = 0; } +// OFFSET: LEGO1 0x100bf8e0 void MxDSObject::SetObjectName(const char *p_name) { // TODO: instead of the expected CMP EAX,ESI we get CMP ESI,EAX @@ -45,3 +47,9 @@ void MxDSObject::SetObjectName(const char *p_name) } } +// OFFSET: ISLE 0x00401c40 +// OFFSET: LEGO1 0x10005530 +void MxDSObject::SetAtomId(MxAtomId p_atomId) +{ + this->m_atomId = p_atomId; +} diff --git a/LEGO1/mxdsobject.h b/LEGO1/mxdsobject.h index 31320808..44283107 100644 --- a/LEGO1/mxdsobject.h +++ b/LEGO1/mxdsobject.h @@ -14,10 +14,11 @@ class MxDSObject : public MxCore inline const MxAtomId& GetAtomId() { return this->m_atomId; } inline int GetUnknown1c() { return this->m_unk1c; } - 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; } + void SetAtomId(MxAtomId id); + private: int m_unk08; short m_unk0c; diff --git a/isle.mak b/isle.mak index 517722f5..274849f0 100644 --- a/isle.mak +++ b/isle.mak @@ -288,7 +288,8 @@ CLEAN : -@erase "$(INTDIR)\isle.obj" -@erase "$(INTDIR)\isle.res" -@erase "$(INTDIR)\main.obj" - -@erase "$(INTDIR)\mxatomid.obj" + -@erase "$(INTDIR)\mxcore.obj" + -@erase "$(INTDIR)\mxdsobject.obj" -@erase "$(INTDIR)\vc40.pdb" -@erase ".\Release\ISLE.EXE" -@erase ".\Release\ISLE.PDB" @@ -350,7 +351,8 @@ LINK32_OBJS= \ "$(INTDIR)\isle.obj" \ "$(INTDIR)\isle.res" \ "$(INTDIR)\main.obj" \ - "$(INTDIR)\mxatomid.obj" \ + "$(INTDIR)\mxcore.obj" \ + "$(INTDIR)\mxdsobject.obj" \ ".\Release\LEGO1.LIB" ".\Release\ISLE.EXE" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) @@ -380,7 +382,8 @@ CLEAN : -@erase "$(INTDIR)\isle.obj" -@erase "$(INTDIR)\isle.res" -@erase "$(INTDIR)\main.obj" - -@erase "$(INTDIR)\mxatomid.obj" + -@erase "$(INTDIR)\mxcore.obj" + -@erase "$(INTDIR)\mxdsobject.obj" -@erase "$(INTDIR)\vc40.idb" -@erase "$(INTDIR)\vc40.pdb" -@erase ".\Debug\ISLE.EXE" @@ -444,7 +447,8 @@ LINK32_OBJS= \ "$(INTDIR)\isle.obj" \ "$(INTDIR)\isle.res" \ "$(INTDIR)\main.obj" \ - "$(INTDIR)\mxatomid.obj" \ + "$(INTDIR)\mxcore.obj" \ + "$(INTDIR)\mxdsobject.obj" \ ".\LEGO1\Debug\LEGO1.lib" ".\Debug\ISLE.EXE" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) @@ -852,9 +856,6 @@ DEP_CPP_DEFIN=\ # Begin Source File SOURCE=.\ISLE\isle.cpp - -!IF "$(CFG)" == "ISLE - Win32 Release" - DEP_CPP_ISLE_=\ ".\ISLE\define.h"\ ".\ISLE\isle.h"\ @@ -912,72 +913,14 @@ 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\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\mxeventmanager.h"\ - ".\LEGO1\mxmusicmanager.h"\ - ".\LEGO1\mxnotificationmanager.h"\ - ".\LEGO1\mxobjectfactory.h"\ - ".\LEGO1\mxomni.h"\ - ".\LEGO1\mxomnicreateflags.h"\ - ".\LEGO1\mxomnicreateparam.h"\ - ".\LEGO1\mxomnicreateparambase.h"\ - ".\LEGO1\mxpalette.h"\ - ".\LEGO1\mxrect32.h"\ - ".\LEGO1\mxresult.h"\ - ".\LEGO1\mxsoundmanager.h"\ - ".\LEGO1\mxstreamcontroller.h"\ - ".\LEGO1\mxstreamer.h"\ - ".\LEGO1\mxstring.h"\ - ".\LEGO1\mxticklemanager.h"\ - ".\LEGO1\mxtimer.h"\ - ".\LEGO1\mxtransitionmanager.h"\ - ".\LEGO1\mxvariabletable.h"\ - ".\LEGO1\mxvideomanager.h"\ - ".\LEGO1\mxvideoparam.h"\ - ".\LEGO1\mxvideoparamflags.h"\ - ".\LEGO1\viewmanager.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"\ @@ -1028,6 +971,57 @@ DEP_CPP_MAIN_=\ $(CPP) $(CPP_PROJ) $(SOURCE) +!ELSEIF "$(CFG)" == "ISLE - Win32 Debug" + +DEP_CPP_MAIN_=\ + ".\ISLE\define.h"\ + ".\ISLE\isle.h"\ + ".\LEGO1\lego3dmanager.h"\ + ".\LEGO1\lego3dview.h"\ + ".\LEGO1\legoentity.h"\ + ".\LEGO1\legogamestate.h"\ + ".\LEGO1\legoinc.h"\ + ".\LEGO1\legoinputmanager.h"\ + ".\LEGO1\legonavcontroller.h"\ + ".\LEGO1\legoomni.h"\ + ".\LEGO1\legoroi.h"\ + ".\LEGO1\legovideomanager.h"\ + ".\LEGO1\mxatomid.h"\ + ".\LEGO1\mxbackgroundaudiomanager.h"\ + ".\LEGO1\mxbool.h"\ + ".\LEGO1\mxcore.h"\ + ".\LEGO1\mxcriticalsection.h"\ + ".\LEGO1\mxdsaction.h"\ + ".\LEGO1\mxdsfile.h"\ + ".\LEGO1\mxdsobject.h"\ + ".\LEGO1\mxeventmanager.h"\ + ".\LEGO1\mxmusicmanager.h"\ + ".\LEGO1\mxnotificationmanager.h"\ + ".\LEGO1\mxobjectfactory.h"\ + ".\LEGO1\mxomni.h"\ + ".\LEGO1\mxomnicreateflags.h"\ + ".\LEGO1\mxomnicreateparam.h"\ + ".\LEGO1\mxomnicreateparambase.h"\ + ".\LEGO1\mxpalette.h"\ + ".\LEGO1\mxrect32.h"\ + ".\LEGO1\mxresult.h"\ + ".\LEGO1\mxsoundmanager.h"\ + ".\LEGO1\mxstreamcontroller.h"\ + ".\LEGO1\mxstreamer.h"\ + ".\LEGO1\mxstring.h"\ + ".\LEGO1\mxtimer.h"\ + ".\LEGO1\mxvariabletable.h"\ + ".\LEGO1\mxvideoparam.h"\ + ".\LEGO1\mxvideoparamflags.h"\ + ".\LEGO1\viewmanager.h"\ + + +"$(INTDIR)\main.obj" : $(SOURCE) $(DEP_CPP_MAIN_) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +!ENDIF + # End Source File ################################################################################ # Begin Source File @@ -1468,12 +1462,29 @@ SOURCE=.\LEGO1\mxvideoparamflags.h ################################################################################ # Begin Source File -SOURCE=.\LEGO1\mxatomid.cpp -DEP_CPP_MXATO=\ +SOURCE=.\LEGO1\mxdsobject.cpp +DEP_CPP_MXDSO=\ ".\LEGO1\mxatomid.h"\ + ".\LEGO1\mxbool.h"\ + ".\LEGO1\mxcore.h"\ + ".\LEGO1\mxdsobject.h"\ -"$(INTDIR)\mxatomid.obj" : $(SOURCE) $(DEP_CPP_MXATO) "$(INTDIR)" +"$(INTDIR)\mxdsobject.obj" : $(SOURCE) $(DEP_CPP_MXDSO) "$(INTDIR)" + $(CPP) $(CPP_PROJ) $(SOURCE) + + +# End Source File +################################################################################ +# Begin Source File + +SOURCE=.\LEGO1\mxcore.cpp +DEP_CPP_MXCOR=\ + ".\LEGO1\mxbool.h"\ + ".\LEGO1\mxcore.h"\ + + +"$(INTDIR)\mxcore.obj" : $(SOURCE) $(DEP_CPP_MXCOR) "$(INTDIR)" $(CPP) $(CPP_PROJ) $(SOURCE) diff --git a/isle.mdp b/isle.mdp index bdefa2060fe6f9b99aec01b1a309442400df0c31..98105b6abfb394ba59ac76aa568d781a15f0e214 100644 GIT binary patch delta 500 zcmaKp&nv@m7{{N_XJhMY*7r-+4m-&TlkI>wQIrw~l;6L$m0t&Hi&_~|4wHl0+jnYm zaTC(^xyj6x@CPV|$w3M$E=utwN(=9Ldfrd3p6Bp>LQA?(SZ8YKY!1Whs z`U~{fB_!MqNIo;3ryV$(l92Khp?=gPf}Yd7Y$)cZMr<&wjNu0Dh^}p6Ozp(#Y!2?# zR*Xk4#PE8P9@T4Z)T&iTsb#2(I#IJ;h7{~*2$o|GjsGk^a0Fr{IFD7JWMkp$kP~g% z{1S6uGv>m9TA6h;ms={qd=}iz6yhqJ2e02Iwl|LR188j0w??F0$Lf zy5hb~DBCoQz|^A93Dam$n*>ZLyFrvVzIAsVI; Iq1YbTJ13jFK>z>% delta 2429 zcmeHJ-%Aux7(I7?sMzL?2Bx;gX7!+iE+Ih=J!ngcps4Apt8RB)CsUIhb~jTnb|@o3 z`n7jA$qh2YC@^iCUJ9h3cb~fdLvIQFpoeg~v!jLvJ@l#{e9XOb&-wW7aG39?Q)YG2 zY->1Q=Q6_rKVZ`GbH9;!lST621SrZ-gtUk}XvDNeVmUUlE>>U3>)aeEnkHCZ2w35o zdtgq zBf*I5Z1aZ(I6ha{}|0MtHi&D5z83 z(@~C2W3M-}LdSTG1FFX#8ua&FmMbeOb=X#<=mbZXQUA>=qyA~5KIRYwenz@X`uEvn zOw(EpuR(Ax8HAHtgun5(X+1}`fsZdHtT$)_Zz+a)oi_5RQm8Izd;MFqiKEBBPef1k zoAevE-^|98SHC3=kNV%3?_K;#KM&Ut`n@_RKM3uO0nRYKVmM85rLo78^qDj70lHVaL VN0)E~-C}b0is5=e%XfSszX5>YrBMI?