Fix some missing functions

This commit is contained in:
Nathan 2023-12-07 09:26:20 -05:00
parent 3c95c8be35
commit 22de96d22a
4 changed files with 31 additions and 55 deletions

View File

@ -18,14 +18,14 @@ class IslePathActor : public LegoPathActor {
virtual MxU32 VTable0xcc() { return 0; } // vtable+0xcc
// FUNCTION: LEGO1 0x10002df0
virtual MxU32 VTable0xd0() { return 0; } // vtable+0xd0
// FUNCTION: LEGO1 0x10002e10
inline virtual ~IslePathActor() override { IslePathActor::Destroy(TRUE); }
// FUNCTION: LEGO1 0x10002e80
virtual MxU32 VTable0xd4(MxType17NotificationParam& p) { return 0; } // vtable+0xd4
// FUNCTION: LEGO1 0x10002e90
virtual MxU32 VTable0xd8(MxType18NotificationParam& p) { return 0; } // vtable+0xd8
// FUNCTION: LEGO1 0x10002e00
virtual MxU32 VTable0xdc(MxType19NotificationParam& p) { return 0; } // vtable+0xdc
// FUNCTION: LEGO1 0x10002e10
inline virtual ~IslePathActor() override { IslePathActor::Destroy(TRUE); }
// FUNCTION: LEGO1 0x10002ea0
inline virtual const char* ClassName() const override // vtable+0x0c

View File

@ -2,44 +2,6 @@
DECOMP_SIZE_ASSERT(LegoActor, 0x78)
// Probably in header
// FUNCTION: LEGO1 0x10002cc0
MxFloat LegoActor::VTable0x50()
{
return m_unk68;
}
// FUNCTION: LEGO1 0x10002cd0
void LegoActor::VTable0x54(MxFloat p_unk)
{
m_unk68 = p_unk;
}
// FUNCTION: LEGO1 0x10002ce0
void LegoActor::VTable0x58(MxFloat p_unk)
{
m_unk70 = p_unk;
}
// FUNCTION: LEGO1 0x10002cf0
MxFloat LegoActor::VTable0x5c()
{
return m_unk70;
}
// FUNCTION: LEGO1 0x10002d00
undefined LegoActor::VTable0x60()
{
return m_unk74;
}
// FUNCTION: LEGO1 0x10002d10
void LegoActor::VTable0x64(undefined p_unk)
{
m_unk74 = p_unk;
}
// End header
// FUNCTION: LEGO1 0x1002d110
LegoActor::LegoActor()
{
@ -49,3 +11,16 @@ LegoActor::LegoActor()
m_unk10 = 0;
m_unk74 = 0;
}
// FUNCTION: LEGO1 0x1002d210
inline const char* LegoActor::ClassName() const
{
// GLOBAL: LEGO1 0x100f0124
return "LegoActor";
}
// FUNCTION: LEGO1 0x1002d220
inline MxBool LegoActor::IsA(const char* name) const
{
return !strcmp(name, LegoActor::ClassName()) || LegoEntity::IsA(name);
}

View File

@ -11,24 +11,23 @@ class LegoActor : public LegoEntity {
LegoActor();
// FUNCTION: LEGO1 0x1002d210
inline virtual const char* ClassName() const override // vtable+0x0c
{
// GLOBAL: LEGO1 0x100f0124
return "LegoActor";
}
inline virtual const char* ClassName() const override; // vtable+0x0c
// FUNCTION: LEGO1 0x1002d220
inline virtual MxBool IsA(const char* name) const override // vtable+0x10
{
return !strcmp(name, LegoActor::ClassName()) || LegoEntity::IsA(name);
}
inline virtual MxBool IsA(const char* name) const override; // vtable+0x10
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
// FUNCTION: LEGO1 0x10002cc0
virtual MxFloat VTable0x50() { return m_unk68; }
// FUNCTION: LEGO1 0x10002cd0
virtual void VTable0x54(MxFloat p_unk) { m_unk68 = p_unk; }
// FUNCTION: LEGO1 0x10002ce0
virtual void VTable0x58(MxFloat p_unk) { m_unk70 = p_unk; }
// FUNCTION: LEGO1 0x10002cf0
virtual MxFloat VTable0x5c() { return m_unk70; }
// FUNCTION: LEGO1 0x10002d00
virtual undefined VTable0x60() { return m_unk74; }
// FUNCTION: LEGO1 0x10002d10
virtual void VTable0x64(undefined p_unk) { m_unk74 = p_unk; }
private:
MxFloat m_unk68;

View File

@ -495,6 +495,8 @@ class Vector3Data : public Vector3Impl {
class Vector4Data : public Vector4Impl {
public:
inline Vector4Data() : Vector4Impl(m_vector.elements) {}
// FUNCTION: LEGO1 0x10003200
virtual void operator=(Vector4Data& p_other) { EqualsImpl(p_other.m_data); }
private:
Vector4 m_vector;