mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-17 05:21:15 +00:00
add WIP MxDSObject stuff
This commit is contained in:
parent
96f807443f
commit
73d2782c5e
@ -87,8 +87,7 @@ void Isle::close()
|
|||||||
|
|
||||||
VideoManager()->Get3DManager()->GetLego3DView()->GetViewManager()->RemoveAll(NULL);
|
VideoManager()->Get3DManager()->GetLego3DView()->GetViewManager()->RemoveAll(NULL);
|
||||||
|
|
||||||
long local_88 = 0;
|
Lego()->RemoveWorld(ds.GetAtomId(), ds.GetUnknown1c());
|
||||||
Lego()->RemoveWorld(ds.GetAtomId(), local_88);
|
|
||||||
Lego()->vtable24(ds);
|
Lego()->vtable24(ds);
|
||||||
TransitionManager()->SetWaitIndicator(NULL);
|
TransitionManager()->SetWaitIndicator(NULL);
|
||||||
Lego()->vtable3c();
|
Lego()->vtable3c();
|
||||||
|
|||||||
6
LEGO1/mxatomid.cpp
Executable file
6
LEGO1/mxatomid.cpp
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#include "mxatomid.h"
|
||||||
|
|
||||||
|
MxAtomId::~MxAtomId()
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
@ -10,8 +10,13 @@ class MxAtomId
|
|||||||
__declspec(dllexport) MxAtomId &operator=(const MxAtomId &id);
|
__declspec(dllexport) MxAtomId &operator=(const MxAtomId &id);
|
||||||
__declspec(dllexport) ~MxAtomId();
|
__declspec(dllexport) ~MxAtomId();
|
||||||
|
|
||||||
char *m_internal;
|
MxAtomId()
|
||||||
|
{
|
||||||
|
this->m_internal = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
private:
|
||||||
|
char *m_internal;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // MXATOMID_H
|
#endif // MXATOMID_H
|
||||||
|
|||||||
@ -3,6 +3,28 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
MxDSObject::MxDSObject()
|
||||||
|
{
|
||||||
|
// The following code yields 100% matching assembly if m_unk24 is declared as (signed) short.
|
||||||
|
// However, in other areas m_unk24 (notably, ISLE.EXE) is treated as unsigned short.
|
||||||
|
// this->m_unk0c = 0;
|
||||||
|
// this->m_unk10 = 0;
|
||||||
|
// this->m_unk14 = 0;
|
||||||
|
// this->m_name = NULL;
|
||||||
|
// this->m_unk24 = -1;
|
||||||
|
// this->m_unk1c = -1;
|
||||||
|
// this->m_unk28 = 0;
|
||||||
|
|
||||||
|
// Assembly not matching but m_unk24 is unsigned short (probably correct)
|
||||||
|
this->m_unk0c = 0;
|
||||||
|
this->m_unk10 = 0;
|
||||||
|
this->m_unk14 = 0;
|
||||||
|
this->m_name = NULL;
|
||||||
|
this->m_unk24 = 0xFFFF;
|
||||||
|
this->m_unk1c = -1;
|
||||||
|
this->m_unk28 = 0;
|
||||||
|
}
|
||||||
|
|
||||||
void MxDSObject::SetObjectName(const char *p_name)
|
void MxDSObject::SetObjectName(const char *p_name)
|
||||||
{
|
{
|
||||||
// TODO: instead of the expected CMP EAX,ESI we get CMP ESI,EAX
|
// TODO: instead of the expected CMP EAX,ESI we get CMP ESI,EAX
|
||||||
|
|||||||
@ -9,15 +9,19 @@ class MxDSObject : public MxCore
|
|||||||
public:
|
public:
|
||||||
__declspec(dllexport) void SetObjectName(const char *);
|
__declspec(dllexport) void SetObjectName(const char *);
|
||||||
|
|
||||||
|
MxDSObject();
|
||||||
|
|
||||||
inline const MxAtomId& GetAtomId() { return this->m_atomId; }
|
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 SetAtomId(MxAtomId p_atomId) { this->m_atomId = p_atomId; }
|
||||||
inline void SetUnkown1c(int p_unk1c) { this->m_unk1c = p_unk1c; }
|
inline void SetUnkown1c(int p_unk1c) { this->m_unk1c = p_unk1c; }
|
||||||
inline void SetUnknown24(unsigned short p_unk24) { this->m_unk24 = p_unk24; }
|
inline void SetUnknown24(unsigned short p_unk24) { this->m_unk24 = p_unk24; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int m_unk08;
|
int m_unk08;
|
||||||
int m_unk0c;
|
short m_unk0c;
|
||||||
int m_unk10;
|
char* m_unk10;
|
||||||
int m_unk14;
|
int m_unk14;
|
||||||
char *m_name;
|
char *m_name;
|
||||||
int m_unk1c;
|
int m_unk1c;
|
||||||
|
|||||||
38
isle.mak
38
isle.mak
@ -57,6 +57,7 @@ CLEAN :
|
|||||||
-@erase "$(INTDIR)\dllmain.obj"
|
-@erase "$(INTDIR)\dllmain.obj"
|
||||||
-@erase "$(INTDIR)\legonavcontroller.obj"
|
-@erase "$(INTDIR)\legonavcontroller.obj"
|
||||||
-@erase "$(INTDIR)\legoomni.obj"
|
-@erase "$(INTDIR)\legoomni.obj"
|
||||||
|
-@erase "$(INTDIR)\mxatomid.obj"
|
||||||
-@erase "$(INTDIR)\mxautolocker.obj"
|
-@erase "$(INTDIR)\mxautolocker.obj"
|
||||||
-@erase "$(INTDIR)\mxcore.obj"
|
-@erase "$(INTDIR)\mxcore.obj"
|
||||||
-@erase "$(INTDIR)\mxcriticalsection.obj"
|
-@erase "$(INTDIR)\mxcriticalsection.obj"
|
||||||
@ -129,6 +130,7 @@ LINK32_OBJS= \
|
|||||||
"$(INTDIR)\dllmain.obj" \
|
"$(INTDIR)\dllmain.obj" \
|
||||||
"$(INTDIR)\legonavcontroller.obj" \
|
"$(INTDIR)\legonavcontroller.obj" \
|
||||||
"$(INTDIR)\legoomni.obj" \
|
"$(INTDIR)\legoomni.obj" \
|
||||||
|
"$(INTDIR)\mxatomid.obj" \
|
||||||
"$(INTDIR)\mxautolocker.obj" \
|
"$(INTDIR)\mxautolocker.obj" \
|
||||||
"$(INTDIR)\mxcore.obj" \
|
"$(INTDIR)\mxcore.obj" \
|
||||||
"$(INTDIR)\mxcriticalsection.obj" \
|
"$(INTDIR)\mxcriticalsection.obj" \
|
||||||
@ -168,6 +170,7 @@ CLEAN :
|
|||||||
-@erase "$(INTDIR)\dllmain.obj"
|
-@erase "$(INTDIR)\dllmain.obj"
|
||||||
-@erase "$(INTDIR)\legonavcontroller.obj"
|
-@erase "$(INTDIR)\legonavcontroller.obj"
|
||||||
-@erase "$(INTDIR)\legoomni.obj"
|
-@erase "$(INTDIR)\legoomni.obj"
|
||||||
|
-@erase "$(INTDIR)\mxatomid.obj"
|
||||||
-@erase "$(INTDIR)\mxautolocker.obj"
|
-@erase "$(INTDIR)\mxautolocker.obj"
|
||||||
-@erase "$(INTDIR)\mxcore.obj"
|
-@erase "$(INTDIR)\mxcore.obj"
|
||||||
-@erase "$(INTDIR)\mxcriticalsection.obj"
|
-@erase "$(INTDIR)\mxcriticalsection.obj"
|
||||||
@ -244,6 +247,7 @@ LINK32_OBJS= \
|
|||||||
"$(INTDIR)\dllmain.obj" \
|
"$(INTDIR)\dllmain.obj" \
|
||||||
"$(INTDIR)\legonavcontroller.obj" \
|
"$(INTDIR)\legonavcontroller.obj" \
|
||||||
"$(INTDIR)\legoomni.obj" \
|
"$(INTDIR)\legoomni.obj" \
|
||||||
|
"$(INTDIR)\mxatomid.obj" \
|
||||||
"$(INTDIR)\mxautolocker.obj" \
|
"$(INTDIR)\mxautolocker.obj" \
|
||||||
"$(INTDIR)\mxcore.obj" \
|
"$(INTDIR)\mxcore.obj" \
|
||||||
"$(INTDIR)\mxcriticalsection.obj" \
|
"$(INTDIR)\mxcriticalsection.obj" \
|
||||||
@ -284,6 +288,7 @@ CLEAN :
|
|||||||
-@erase "$(INTDIR)\isle.obj"
|
-@erase "$(INTDIR)\isle.obj"
|
||||||
-@erase "$(INTDIR)\isle.res"
|
-@erase "$(INTDIR)\isle.res"
|
||||||
-@erase "$(INTDIR)\main.obj"
|
-@erase "$(INTDIR)\main.obj"
|
||||||
|
-@erase "$(INTDIR)\mxatomid.obj"
|
||||||
-@erase "$(INTDIR)\mxomnicreateparambase.obj"
|
-@erase "$(INTDIR)\mxomnicreateparambase.obj"
|
||||||
-@erase ".\Release\ISLE.EXE"
|
-@erase ".\Release\ISLE.EXE"
|
||||||
|
|
||||||
@ -344,6 +349,7 @@ LINK32_OBJS= \
|
|||||||
"$(INTDIR)\isle.obj" \
|
"$(INTDIR)\isle.obj" \
|
||||||
"$(INTDIR)\isle.res" \
|
"$(INTDIR)\isle.res" \
|
||||||
"$(INTDIR)\main.obj" \
|
"$(INTDIR)\main.obj" \
|
||||||
|
"$(INTDIR)\mxatomid.obj" \
|
||||||
"$(INTDIR)\mxomnicreateparambase.obj" \
|
"$(INTDIR)\mxomnicreateparambase.obj" \
|
||||||
".\Release\LEGO1.LIB"
|
".\Release\LEGO1.LIB"
|
||||||
|
|
||||||
@ -374,6 +380,7 @@ CLEAN :
|
|||||||
-@erase "$(INTDIR)\isle.obj"
|
-@erase "$(INTDIR)\isle.obj"
|
||||||
-@erase "$(INTDIR)\isle.res"
|
-@erase "$(INTDIR)\isle.res"
|
||||||
-@erase "$(INTDIR)\main.obj"
|
-@erase "$(INTDIR)\main.obj"
|
||||||
|
-@erase "$(INTDIR)\mxatomid.obj"
|
||||||
-@erase "$(INTDIR)\mxomnicreateparambase.obj"
|
-@erase "$(INTDIR)\mxomnicreateparambase.obj"
|
||||||
-@erase "$(INTDIR)\vc40.idb"
|
-@erase "$(INTDIR)\vc40.idb"
|
||||||
-@erase "$(INTDIR)\vc40.pdb"
|
-@erase "$(INTDIR)\vc40.pdb"
|
||||||
@ -438,6 +445,7 @@ LINK32_OBJS= \
|
|||||||
"$(INTDIR)\isle.obj" \
|
"$(INTDIR)\isle.obj" \
|
||||||
"$(INTDIR)\isle.res" \
|
"$(INTDIR)\isle.res" \
|
||||||
"$(INTDIR)\main.obj" \
|
"$(INTDIR)\main.obj" \
|
||||||
|
"$(INTDIR)\mxatomid.obj" \
|
||||||
"$(INTDIR)\mxomnicreateparambase.obj" \
|
"$(INTDIR)\mxomnicreateparambase.obj" \
|
||||||
".\LEGO1\Debug\LEGO1.lib"
|
".\LEGO1\Debug\LEGO1.lib"
|
||||||
|
|
||||||
@ -736,6 +744,19 @@ DEP_CPP_MXDSO=\
|
|||||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||||
|
|
||||||
|
|
||||||
|
# End Source File
|
||||||
|
################################################################################
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\LEGO1\mxatomid.cpp
|
||||||
|
DEP_CPP_MXATO=\
|
||||||
|
".\LEGO1\mxatomid.h"\
|
||||||
|
|
||||||
|
|
||||||
|
"$(INTDIR)\mxatomid.obj" : $(SOURCE) $(DEP_CPP_MXATO) "$(INTDIR)"
|
||||||
|
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||||
|
|
||||||
|
|
||||||
# End Source File
|
# End Source File
|
||||||
# End Target
|
# End Target
|
||||||
################################################################################
|
################################################################################
|
||||||
@ -858,9 +879,7 @@ DEP_CPP_ISLE_=\
|
|||||||
".\LEGO1\mxticklemanager.h"\
|
".\LEGO1\mxticklemanager.h"\
|
||||||
".\LEGO1\mxtimer.h"\
|
".\LEGO1\mxtimer.h"\
|
||||||
".\LEGO1\mxtransitionmanager.h"\
|
".\LEGO1\mxtransitionmanager.h"\
|
||||||
".\LEGO1\mxvariabletable.h"\
|
|
||||||
".\LEGO1\mxvideoparam.h"\
|
".\LEGO1\mxvideoparam.h"\
|
||||||
".\LEGO1\mxvideoparamflags.h"\
|
|
||||||
".\LEGO1\viewmanager.h"\
|
".\LEGO1\viewmanager.h"\
|
||||||
|
|
||||||
|
|
||||||
@ -960,9 +979,7 @@ DEP_CPP_MAIN_=\
|
|||||||
".\LEGO1\mxticklemanager.h"\
|
".\LEGO1\mxticklemanager.h"\
|
||||||
".\LEGO1\mxtimer.h"\
|
".\LEGO1\mxtimer.h"\
|
||||||
".\LEGO1\mxtransitionmanager.h"\
|
".\LEGO1\mxtransitionmanager.h"\
|
||||||
".\LEGO1\mxvariabletable.h"\
|
|
||||||
".\LEGO1\mxvideoparam.h"\
|
".\LEGO1\mxvideoparam.h"\
|
||||||
".\LEGO1\mxvideoparamflags.h"\
|
|
||||||
".\LEGO1\viewmanager.h"\
|
".\LEGO1\viewmanager.h"\
|
||||||
|
|
||||||
|
|
||||||
@ -1445,6 +1462,19 @@ SOURCE=.\LEGO1\mxvideoparamflags.h
|
|||||||
!ENDIF
|
!ENDIF
|
||||||
|
|
||||||
# End Project Dependency
|
# End Project Dependency
|
||||||
|
################################################################################
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\LEGO1\mxatomid.cpp
|
||||||
|
DEP_CPP_MXATO=\
|
||||||
|
".\LEGO1\mxatomid.h"\
|
||||||
|
|
||||||
|
|
||||||
|
"$(INTDIR)\mxatomid.obj" : $(SOURCE) $(DEP_CPP_MXATO) "$(INTDIR)"
|
||||||
|
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||||
|
|
||||||
|
|
||||||
|
# End Source File
|
||||||
# End Target
|
# End Target
|
||||||
# End Project
|
# End Project
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user