Implement/match Act1State::PlaceActors and related (#1142)

* Implement/match Act1State::PlaceActors and related

* Fix naming
This commit is contained in:
Christian Semmler
2024-11-10 13:26:48 -07:00
committed by GitHub
parent 6885abdc78
commit 5d3d66965d
9 changed files with 207 additions and 18 deletions

View File

@@ -54,7 +54,7 @@ public:
void PlayCptClickDialogue();
void StopCptClickDialogue();
void RemoveActors();
void FUN_10034d00();
void PlaceActors();
MxU32 GetUnknown18() { return m_unk0x018; }
ElevatorFloor GetElevatorFloor() { return (ElevatorFloor) m_elevFloor; }
@@ -129,18 +129,18 @@ public:
}
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
void ReadyWorld() override; // vtable+50
void Add(MxCore* p_object) override; // vtable+58
void ReadyWorld() override; // vtable+0x50
void Add(MxCore* p_object) override; // vtable+0x58
// FUNCTION: LEGO1 0x10030900
MxBool VTable0x5c() override { return TRUE; } // vtable+5c
MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c
// FUNCTION: LEGO1 0x10033170
void VTable0x60() override {} // vtable+60
MxBool Escape() override; // vtable+64
void Enable(MxBool p_enable) override; // vtable+68
virtual void VTable0x6c(LegoPathActor* p_actor); // vtable+6c
MxBool Escape() override; // vtable+0x64
void Enable(MxBool p_enable) override; // vtable+0x68
virtual void VTable0x6c(LegoPathActor* p_actor); // vtable+0x6c
void SetDestLocation(LegoGameState::Area p_destLocation) { m_destLocation = p_destLocation; }
MxBool HasHelicopter() { return m_helicopter != NULL; }

View File

@@ -137,6 +137,8 @@ public:
SetState(0);
}
void SetWorld(LegoWorld* p_world) { m_world = p_world; }
static void RegisterSpawnLocations();
protected:

View File

@@ -14,9 +14,12 @@ public:
// FUNCTION: LEGO1 0x10033a70
// LegoNamedPlane::~LegoNamedPlane
void SetName(const char* p_name) { m_name = p_name; }
const MxString* GetName() const { return &m_name; }
const Mx3DPointFloat& GetPosition() { return m_position; }
const Mx3DPointFloat& GetDirection() { return m_direction; }
const Mx3DPointFloat& GetUp() { return m_up; }
void SetName(const char* p_name) { m_name = p_name; }
void SetPosition(const Mx3DPointFloat& p_position) { m_position = p_position; }
void SetDirection(const Mx3DPointFloat& p_direction) { m_direction = p_direction; }
void SetUp(const Mx3DPointFloat& p_up) { m_up = p_up; }

View File

@@ -21,7 +21,7 @@ public:
private:
MxString m_name; // 0x00
LegoTexture* m_texture; // 0x04
LegoTexture* m_texture; // 0x10
};
#endif // LEGONAMEDTEXTURE_H

View File

@@ -142,6 +142,7 @@ public:
void SetController(LegoPathController* p_controller) { m_controller = p_controller; }
void UpdatePlane(LegoNamedPlane& p_namedPlane);
void PlaceActor(LegoNamedPlane& p_namedPlane);
// SYNTHETIC: LEGO1 0x1002d800
// LegoPathActor::`scalar deleting destructor'

View File

@@ -63,7 +63,8 @@ MxS32 UpdateLightPosition(MxS32 p_increase);
void SetLightPosition(MxS32 p_index);
LegoNamedTexture* ReadNamedTexture(LegoFile* p_file);
void FUN_1003f540(LegoFile* p_file, const char* p_filename);
void WriteNamedTexture(LegoFile* p_file, LegoNamedTexture* p_texture);
void WriteNamedTexture(LegoFile* p_file, LegoNamedTexture* p_namedTexture);
void FUN_1003f930(LegoNamedTexture* p_namedTexture);
// FUNCTION: BETA10 0x100260a0
inline void StartIsleAction(IsleScript::Script p_objectId)