diff --git a/LEGO1/islepathactor.h b/LEGO1/islepathactor.h index dce3b3df..6bcf5c50 100644 --- a/LEGO1/islepathactor.h +++ b/LEGO1/islepathactor.h @@ -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 diff --git a/LEGO1/legoactor.cpp b/LEGO1/legoactor.cpp index c67a792f..d6631219 100644 --- a/LEGO1/legoactor.cpp +++ b/LEGO1/legoactor.cpp @@ -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); +} diff --git a/LEGO1/legoactor.h b/LEGO1/legoactor.h index f0223e5b..1f0fddbb 100644 --- a/LEGO1/legoactor.h +++ b/LEGO1/legoactor.h @@ -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; diff --git a/LEGO1/realtime/vector.h b/LEGO1/realtime/vector.h index ebbe35e4..a40039c3 100644 --- a/LEGO1/realtime/vector.h +++ b/LEGO1/realtime/vector.h @@ -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;