mirror of
https://github.com/isledecomp/isle-portable.git
synced 2025-02-16 19:50:52 -05:00
LegoActor implementation (#253)
* LegoActor * LegoEntity * Replace float with MxFloat --------- Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
parent
f4646a7075
commit
787d932825
4 changed files with 38 additions and 31 deletions
|
@ -3,43 +3,49 @@
|
|||
DECOMP_SIZE_ASSERT(LegoActor, 0x78)
|
||||
|
||||
// Probably in header
|
||||
// OFFSET: LEGO1 0x10002cc0 STUB
|
||||
void LegoActor::VTable0x50()
|
||||
// OFFSET: LEGO1 0x10002cc0
|
||||
MxFloat LegoActor::VTable0x50()
|
||||
{
|
||||
// TODO
|
||||
return m_unk68;
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10002cd0 STUB
|
||||
void LegoActor::VTable0x54()
|
||||
// OFFSET: LEGO1 0x10002cd0
|
||||
void LegoActor::VTable0x54(MxFloat p_unk)
|
||||
{
|
||||
// TODO
|
||||
m_unk68 = p_unk;
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10002ce0 STUB
|
||||
void LegoActor::VTable0x58()
|
||||
// OFFSET: LEGO1 0x10002ce0
|
||||
void LegoActor::VTable0x58(MxFloat p_unk)
|
||||
{
|
||||
// TODO
|
||||
m_unk70 = p_unk;
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10002cf0 STUB
|
||||
void LegoActor::VTable0x5c()
|
||||
// OFFSET: LEGO1 0x10002cf0
|
||||
MxFloat LegoActor::VTable0x5c()
|
||||
{
|
||||
// TODO
|
||||
return m_unk70;
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10002d00 STUB
|
||||
void LegoActor::VTable0x60()
|
||||
// OFFSET: LEGO1 0x10002d00
|
||||
undefined LegoActor::VTable0x60()
|
||||
{
|
||||
// TODO
|
||||
return m_unk74;
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10002d10 STUB
|
||||
void LegoActor::VTable0x64()
|
||||
// OFFSET: LEGO1 0x10002d10
|
||||
void LegoActor::VTable0x64(undefined p_unk)
|
||||
{
|
||||
// TODO
|
||||
m_unk74 = p_unk;
|
||||
}
|
||||
// End header
|
||||
|
||||
// OFFSET: LEGO1 0x1002d110
|
||||
LegoActor::LegoActor()
|
||||
{
|
||||
m_unk68 = 0.0f;
|
||||
m_unk6c = 0;
|
||||
m_unk70 = 0.0f;
|
||||
m_unk10 = 0;
|
||||
m_unk74 = 0;
|
||||
}
|
||||
|
|
|
@ -23,15 +23,18 @@ public:
|
|||
return !strcmp(name, LegoActor::ClassName()) || LegoEntity::IsA(name);
|
||||
}
|
||||
|
||||
virtual void VTable0x50(); // vtable+0x50
|
||||
virtual void VTable0x54(); // vtable+0x54
|
||||
virtual void VTable0x58(); // vtable+0x58
|
||||
virtual void VTable0x5c(); // vtable+0x5c
|
||||
virtual void VTable0x60(); // vtable+0x60
|
||||
virtual void VTable0x64(); // vtable+0x64
|
||||
virtual MxFloat VTable0x50(); // vtable+0x50
|
||||
virtual void VTable0x54(MxFloat p_unk); // vtable+0x54
|
||||
virtual void VTable0x58(MxFloat p_unk); // vtable+0x58
|
||||
virtual MxFloat VTable0x5c(); // vtable+0x5c
|
||||
virtual undefined VTable0x60(); // vtable+0x60
|
||||
virtual void VTable0x64(undefined p_unk); // vtable+0x64
|
||||
|
||||
private:
|
||||
undefined unk68[0x10];
|
||||
MxFloat m_unk68;
|
||||
undefined4 m_unk6c;
|
||||
MxFloat m_unk70;
|
||||
undefined m_unk74;
|
||||
};
|
||||
|
||||
#endif // LEGOACTOR_H
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include "define.h"
|
||||
#include "legoomni.h"
|
||||
#include "legoutil.h"
|
||||
#include "legoworld.h"
|
||||
|
||||
DECOMP_SIZE_ASSERT(LegoEntity, 0x68)
|
||||
|
||||
|
@ -60,12 +61,12 @@ void LegoEntity::Destroy(MxBool p_fromDestructor)
|
|||
Init();
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x10010880 STUB
|
||||
// OFFSET: LEGO1 0x10010880
|
||||
void LegoEntity::SetWorld()
|
||||
{
|
||||
LegoWorld* world = GetCurrentWorld();
|
||||
if (world != NULL && world != (LegoWorld*) this) {
|
||||
// TODO: world->AddEntity(this);
|
||||
world->VTable0x58(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -13,10 +13,7 @@
|
|||
class LegoEntity : public MxEntity {
|
||||
public:
|
||||
// Inlined at 0x100853f7
|
||||
inline LegoEntity()
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
inline LegoEntity() { Init(); }
|
||||
|
||||
__declspec(dllexport) virtual ~LegoEntity() override; // vtable+0x0
|
||||
|
||||
|
|
Loading…
Reference in a new issue