Implement/match LegoPathController::ReadBoundaries (#908)

* Implement/match LegoPathController::ReadBoundaries

* Allow spawn
This commit is contained in:
Christian Semmler
2024-05-11 13:55:28 -04:00
committed by GitHub
parent 1f0a2a50ce
commit f88f7b115e
7 changed files with 152 additions and 17 deletions

View File

@@ -9,7 +9,7 @@
#include "mxstl/stlcompat.h"
class LegoAnimPresenter;
class LegoPathStruct;
struct LegoPathStruct;
class LegoWorld;
class MxAtomId;
class Vector3;
@@ -75,8 +75,9 @@ private:
MxResult Read(LegoStorage* p_storage);
MxResult ReadStructs(LegoStorage* p_storage);
MxResult ReadEdges(LegoStorage* p_storage);
MxResult FUN_10047e90(LegoStorage* p_storage);
static MxResult ReadVector(LegoStorage* p_storage, Mx3DPointFloat&);
MxResult ReadBoundaries(LegoStorage* p_storage);
static MxResult ReadVector(LegoStorage* p_storage, Mx3DPointFloat& p_vec);
static MxResult ReadVector(LegoStorage* p_storage, Mx4DPointFloat& p_vec);
LegoPathBoundary* m_unk0x08; // 0x08
LegoPathCtrlEdge* m_unk0x0c; // 0x0c

View File

@@ -5,11 +5,9 @@
#include "mxatom.h"
#include "mxtypes.h"
class LegoPathController;
// VTABLE: LEGO1 0x100d7d9c
// SIZE 0x0c
class LegoPathStructBase {
struct LegoPathStructBase {
public:
LegoPathStructBase() : m_name(NULL), m_unk0x08(0) {}
@@ -21,16 +19,13 @@ public:
}
}
friend class LegoPathController;
private:
char* m_name; // 0x04
undefined4 m_unk0x08; // 0x08
};
// VTABLE: LEGO1 0x100d7da0
// SIZE 0x14
class LegoPathStruct : public LegoPathStructBase {
struct LegoPathStruct : public LegoPathStructBase {
public:
// FUNCTION: LEGO1 0x100473a0
LegoPathStruct() : m_unk0x0c(0) {}
@@ -40,7 +35,6 @@ public:
void VTable0x04(undefined4, undefined4, undefined4); // vtable+0x04
private:
undefined4 m_unk0x0c; // 0x0c
MxAtomId m_atomId; // 0x10
};