diff --git a/LEGO1/act2brick.h b/LEGO1/act2brick.h index adb3bf2f..de4f29b1 100644 --- a/LEGO1/act2brick.h +++ b/LEGO1/act2brick.h @@ -23,7 +23,7 @@ class Act2Brick : public LegoPathActor { // FUNCTION: LEGO1 0x1007a370 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 { - return !strcmp(Act2Brick::ClassName(), p_name) || LegoEntity::IsA(p_name); + return !strcmp(p_name, Act2Brick::ClassName()) || LegoEntity::IsA(p_name); } }; diff --git a/LEGO1/helicopter.cpp b/LEGO1/helicopter.cpp index 65ad515f..ed75b92d 100644 --- a/LEGO1/helicopter.cpp +++ b/LEGO1/helicopter.cpp @@ -281,7 +281,7 @@ void Helicopter::VTable0x74(Matrix4Impl& p_transform) // FUNCTION: LEGO1 0x10003ee0 void Helicopter::VTable0x70(float p_float) { - int state = m_state->GetUnkown8(); + MxU32 state = m_state->GetUnkown8(); switch (state) { default: LegoPathActor::VTable0x70(p_float); diff --git a/LEGO1/helicopterstate.h b/LEGO1/helicopterstate.h index a39a1f0b..1c43b04f 100644 --- a/LEGO1/helicopterstate.h +++ b/LEGO1/helicopterstate.h @@ -18,7 +18,7 @@ class HelicopterState : public LegoState { // FUNCTION: LEGO1 0x1000e0e0 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 { - return !strcmp(p_name, ClassName()) || LegoState::IsA(p_name); + return !strcmp(p_name, HelicopterState::ClassName()) || LegoState::IsA(p_name); } inline void SetUnknown8(MxU32 p_unk0x8) { m_unk0x8 = p_unk0x8; } diff --git a/LEGO1/legoanimationmanager.h b/LEGO1/legoanimationmanager.h index c13436c9..0a647e8f 100644 --- a/LEGO1/legoanimationmanager.h +++ b/LEGO1/legoanimationmanager.h @@ -23,7 +23,7 @@ class LegoAnimationManager : public MxCore { // FUNCTION: LEGO1 0x1005ec90 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 { - return !strcmp(p_name, LegoAnimationManager::ClassName()) || MxCore::IsA(p_name); + return !strcmp(p_name, ClassName()) || MxCore::IsA(p_name); } void FUN_1005f6d0(MxBool); diff --git a/LEGO1/legocameracontroller.h b/LEGO1/legocameracontroller.h index 73d337c3..7fa9552d 100644 --- a/LEGO1/legocameracontroller.h +++ b/LEGO1/legocameracontroller.h @@ -22,11 +22,11 @@ class LegoCameraController : public MxCore { // FUNCTION: LEGO1 0x10011ed0 inline virtual MxBool IsA(const char* p_name) const override // vtable+0x10 { - return !strcmp(p_name, LegoCameraController::ClassName()) || MxCore::IsA(p_name); + return !strcmp(p_name, ClassName()) || MxCore::IsA(p_name); } - void LegoCameraController::LookAt(Vector3Impl& p_at, Vector3Impl& p_dir, Vector3Impl& p_up); - void LegoCameraController::FUN_100123e0(Matrix4Data& p_transform, MxU32); + void LookAt(Vector3Impl& p_at, Vector3Impl& p_dir, Vector3Impl& p_up); + void FUN_100123e0(Matrix4Data& p_transform, MxU32); Vector3Data& FUN_10012740(); Vector3Data& FUN_100127f0(); Vector3Data& FUN_100128a0(); diff --git a/LEGO1/legoentity.h b/LEGO1/legoentity.h index 73369603..fe013beb 100644 --- a/LEGO1/legoentity.h +++ b/LEGO1/legoentity.h @@ -47,7 +47,7 @@ class LegoEntity : public MxEntity { virtual void VTable0x44(); // vtable+0x44 virtual void VTable0x48(); // vtable+0x48 virtual void VTable0x4c(); // vtable+0x4c - void LegoEntity::FUN_10010c30(); + void FUN_10010c30(); protected: void Init(); diff --git a/LEGO1/legoroi.cpp b/LEGO1/legoroi.cpp index d950e050..f23901ad 100644 --- a/LEGO1/legoroi.cpp +++ b/LEGO1/legoroi.cpp @@ -40,6 +40,7 @@ void LegoROI::FUN_100a46b0(Matrix4Impl& p_transform) { } +// STUB: LEGO1 0x100a58f0 void LegoROI::FUN_100a58f0(Matrix4Impl& p_transform) { } diff --git a/LEGO1/legoutil.cpp b/LEGO1/legoutil.cpp index 9aca429d..e608609b 100644 --- a/LEGO1/legoutil.cpp +++ b/LEGO1/legoutil.cpp @@ -121,5 +121,5 @@ void SetAppCursor(WPARAM p_wparam) // STUB: LEGO1 0x1003ef60 MxBool FUN_1003ef60() { - return true; + return TRUE; } diff --git a/LEGO1/legoworld.cpp b/LEGO1/legoworld.cpp index f665c3b0..2d52b031 100644 --- a/LEGO1/legoworld.cpp +++ b/LEGO1/legoworld.cpp @@ -86,7 +86,7 @@ void LegoWorld::VTable0x54() // TODO } -// FUNCTION: LEGO1 0x1001fc80 +// STUB: LEGO1 0x1001fc80 void LegoWorld::FUN_1001fc80(IslePathActor* p_actor) { } diff --git a/LEGO1/legoworld.h b/LEGO1/legoworld.h index 98e6798e..87508ae1 100644 --- a/LEGO1/legoworld.h +++ b/LEGO1/legoworld.h @@ -17,7 +17,7 @@ class LegoWorld : public LegoEntity { __declspec(dllexport) virtual ~LegoWorld(); // vtable+0x0 virtual MxLong Notify(MxParam& p_param) override; // vtable+0x4 - virtual MxResult Tickle(); // vtable+0x8 + virtual MxResult Tickle() override; // vtable+0x8 // FUNCTION: LEGO1 0x1001d690 inline virtual const char* ClassName() const override // vtable+0x0c diff --git a/LEGO1/realtime/orientableroi.h b/LEGO1/realtime/orientableroi.h index b5bd1a1d..82db8271 100644 --- a/LEGO1/realtime/orientableroi.h +++ b/LEGO1/realtime/orientableroi.h @@ -4,6 +4,8 @@ #include "matrix.h" #include "roi.h" +// VTABLE: LEGO1 0x100dbc08 +// SIZE 0xdc class OrientableROI : public ROI { public: // FUNCTION: LEGO1 0x100a4420 @@ -17,9 +19,10 @@ class OrientableROI : public ROI { IDENTMAT4(m_local2world.GetMatrix()); } - virtual const Vector3& GetWorldVelocity() const; // vtable+0x8 - virtual const BoundingBox& GetWorldBoundingBox() const; // vtable+0xc - virtual const BoundingSphere& GetWorldBoundingSphere() const; // vtable+0x10 + virtual const Vector3& GetWorldVelocity() const override; // vtable+0x8 + virtual const BoundingBox& GetWorldBoundingBox() const override; // vtable+0xc + virtual const BoundingSphere& GetWorldBoundingSphere() const override; // vtable+0x10 + // FUNCTION: LEGO1 0x100a5db0 virtual void VTable0x14() { VTable0x1c(); } // vtable+0x14 virtual void UpdateWorldBoundingVolumes() = 0; // vtable+0x18 virtual void VTable0x1c(); // vtable+0x1c diff --git a/LEGO1/realtime/roi.h b/LEGO1/realtime/roi.h index 223d5326..287407ac 100644 --- a/LEGO1/realtime/roi.h +++ b/LEGO1/realtime/roi.h @@ -49,9 +49,9 @@ class LODObject { public: // LODObject(); virtual ~LODObject() {} - virtual float Cost(float pixels_covered) const = 0; - virtual float AveragePolyArea() const = 0; - virtual int NVerts() const = 0; + virtual float Cost(float pixels_covered) const = 0; // vtable+0x4 + virtual float AveragePolyArea() const = 0; // vtable+0x8 + virtual int NVerts() const = 0; // vtable+0xc }; /* @@ -73,6 +73,8 @@ typedef vector ROIList; */ typedef vector IntList; +// VTABLE: LEGO1 0x100dbc38 +// SIZE 0xc class ROI { public: ROI() @@ -86,10 +88,10 @@ class ROI { assert(!m_comp); assert(!m_lods); } - virtual float IntrinsicImportance() const = 0; - virtual const Vector3& GetWorldVelocity() const = 0; - virtual const BoundingBox& GetWorldBoundingBox() const = 0; - virtual const BoundingSphere& GetWorldBoundingSphere() const = 0; + virtual float IntrinsicImportance() const = 0; // vtable+0x4 + virtual const Vector3& GetWorldVelocity() const = 0; // vtable+0x8 + virtual const BoundingBox& GetWorldBoundingBox() const = 0; // vtable+0xc + virtual const BoundingSphere& GetWorldBoundingSphere() const = 0; // vtable+0x10 const LODListBase* GetLODs() const { return m_lods; } const LODObject* GetLOD(int i) const @@ -101,7 +103,7 @@ class ROI { const CompoundObject* GetComp() const { return m_comp; } protected: - CompoundObject* m_comp; - LODListBase* m_lods; + CompoundObject* m_comp; // 0x4 + LODListBase* m_lods; // 0x8 }; #endif // ROI_H