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 virtual MxU32 VTable0xcc() { return 0; } // vtable+0xcc
// FUNCTION: LEGO1 0x10002df0 // FUNCTION: LEGO1 0x10002df0
virtual MxU32 VTable0xd0() { return 0; } // vtable+0xd0 virtual MxU32 VTable0xd0() { return 0; } // vtable+0xd0
// FUNCTION: LEGO1 0x10002e10
inline virtual ~IslePathActor() override { IslePathActor::Destroy(TRUE); }
// FUNCTION: LEGO1 0x10002e80 // FUNCTION: LEGO1 0x10002e80
virtual MxU32 VTable0xd4(MxType17NotificationParam& p) { return 0; } // vtable+0xd4 virtual MxU32 VTable0xd4(MxType17NotificationParam& p) { return 0; } // vtable+0xd4
// FUNCTION: LEGO1 0x10002e90 // FUNCTION: LEGO1 0x10002e90
virtual MxU32 VTable0xd8(MxType18NotificationParam& p) { return 0; } // vtable+0xd8 virtual MxU32 VTable0xd8(MxType18NotificationParam& p) { return 0; } // vtable+0xd8
// FUNCTION: LEGO1 0x10002e00 // FUNCTION: LEGO1 0x10002e00
virtual MxU32 VTable0xdc(MxType19NotificationParam& p) { return 0; } // vtable+0xdc virtual MxU32 VTable0xdc(MxType19NotificationParam& p) { return 0; } // vtable+0xdc
// FUNCTION: LEGO1 0x10002e10
inline virtual ~IslePathActor() override { IslePathActor::Destroy(TRUE); }
// FUNCTION: LEGO1 0x10002ea0 // FUNCTION: LEGO1 0x10002ea0
inline virtual const char* ClassName() const override // vtable+0x0c inline virtual const char* ClassName() const override // vtable+0x0c

View File

@ -2,44 +2,6 @@
DECOMP_SIZE_ASSERT(LegoActor, 0x78) 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 // FUNCTION: LEGO1 0x1002d110
LegoActor::LegoActor() LegoActor::LegoActor()
{ {
@ -49,3 +11,16 @@ LegoActor::LegoActor()
m_unk10 = 0; m_unk10 = 0;
m_unk74 = 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(); LegoActor();
// FUNCTION: LEGO1 0x1002d210 // FUNCTION: LEGO1 0x1002d210
inline virtual const char* ClassName() const override // vtable+0x0c inline virtual const char* ClassName() const override; // vtable+0x0c
{
// GLOBAL: LEGO1 0x100f0124
return "LegoActor";
}
// FUNCTION: LEGO1 0x1002d220 // FUNCTION: LEGO1 0x1002d220
inline virtual MxBool IsA(const char* name) const override // vtable+0x10 inline virtual MxBool IsA(const char* name) const override; // vtable+0x10
{
return !strcmp(name, LegoActor::ClassName()) || LegoEntity::IsA(name);
}
virtual MxFloat VTable0x50(); // vtable+0x50 // FUNCTION: LEGO1 0x10002cc0
virtual void VTable0x54(MxFloat p_unk); // vtable+0x54 virtual MxFloat VTable0x50() { return m_unk68; }
virtual void VTable0x58(MxFloat p_unk); // vtable+0x58 // FUNCTION: LEGO1 0x10002cd0
virtual MxFloat VTable0x5c(); // vtable+0x5c virtual void VTable0x54(MxFloat p_unk) { m_unk68 = p_unk; }
virtual undefined VTable0x60(); // vtable+0x60 // FUNCTION: LEGO1 0x10002ce0
virtual void VTable0x64(undefined p_unk); // vtable+0x64 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: private:
MxFloat m_unk68; MxFloat m_unk68;

View File

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