Merge branch 'helicopter' of https://github.com/tahg/isletahg into helicopter

This commit is contained in:
Christian Semmler 2023-12-14 11:47:39 -05:00
commit 4e9408e57e
12 changed files with 29 additions and 23 deletions

View File

@ -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);
}
};

View File

@ -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);

View File

@ -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; }

View File

@ -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);

View File

@ -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();

View File

@ -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();

View File

@ -40,6 +40,7 @@ void LegoROI::FUN_100a46b0(Matrix4Impl& p_transform)
{
}
// STUB: LEGO1 0x100a58f0
void LegoROI::FUN_100a58f0(Matrix4Impl& p_transform)
{
}

View File

@ -121,5 +121,5 @@ void SetAppCursor(WPARAM p_wparam)
// STUB: LEGO1 0x1003ef60
MxBool FUN_1003ef60()
{
return true;
return TRUE;
}

View File

@ -86,7 +86,7 @@ void LegoWorld::VTable0x54()
// TODO
}
// FUNCTION: LEGO1 0x1001fc80
// STUB: LEGO1 0x1001fc80
void LegoWorld::FUN_1001fc80(IslePathActor* p_actor)
{
}

View File

@ -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

View File

@ -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

View File

@ -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<const ROI*> ROIList;
*/
typedef vector<int> 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