mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-23 00:14:22 +00:00
implement various LegoWorldPresenter functions (#621)
* implement LegoWorldPresenterFunctions * fix typo * Fixes/match * Fix * Match * Fixes --------- Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
@@ -7,7 +7,10 @@
|
||||
// SIZE 0x50
|
||||
class LegoActorPresenter : public LegoEntityPresenter {
|
||||
public:
|
||||
~LegoActorPresenter() override{};
|
||||
// LegoActorPresenter() {}
|
||||
|
||||
// FUNCTION: LEGO1 0x100679c0
|
||||
~LegoActorPresenter() override {}
|
||||
|
||||
// FUNCTION: LEGO1 0x1000cb10
|
||||
inline const char* ClassName() const override // vtable+0x0c
|
||||
|
@@ -57,7 +57,7 @@ public:
|
||||
|
||||
void FUN_10010c30();
|
||||
void FUN_100114e0(MxU8 p_unk0x59);
|
||||
void SetLocation(Mx3DPointFloat& p_location, Mx3DPointFloat& p_direction, Mx3DPointFloat& p_up, MxBool);
|
||||
void SetLocation(const Vector3& p_location, const Vector3& p_direction, const Vector3& p_up, MxBool);
|
||||
|
||||
inline LegoROI* GetROI() { return m_roi; }
|
||||
inline MxU8 GetFlags() { return m_flags; }
|
||||
|
@@ -33,9 +33,10 @@ public:
|
||||
virtual void Init(); // vtable+0x68
|
||||
virtual undefined4 SetEntity(LegoEntity* p_entity); // vtable+0x6c
|
||||
|
||||
void SetEntityLocation(Mx3DPointFloat& p_location, Mx3DPointFloat& p_direction, Mx3DPointFloat& p_up);
|
||||
void SetEntityLocation(const Vector3& p_location, const Vector3& p_direction, const Vector3& p_up);
|
||||
|
||||
inline LegoEntity* GetEntity() { return m_entity; }
|
||||
inline LegoEntity* GetInternalEntity() { return m_entity; }
|
||||
inline void SetInternalEntity(LegoEntity* p_entity) { m_entity = p_entity; }
|
||||
|
||||
// SYNTHETIC: LEGO1 0x100535a0
|
||||
// LegoEntityPresenter::`scalar deleting destructor'
|
||||
|
@@ -4,12 +4,17 @@
|
||||
#include "mxvideopresenter.h"
|
||||
|
||||
class LegoROI;
|
||||
class LegoWorld;
|
||||
class LegoEntity;
|
||||
class MxDSChunk;
|
||||
|
||||
// VTABLE: LEGO1 0x100d4e50
|
||||
// SIZE 0x6c (discovered through inline constructor at 0x10009ae6)
|
||||
class LegoModelPresenter : public MxVideoPresenter {
|
||||
public:
|
||||
// inline in scalar dtor
|
||||
LegoModelPresenter() { Reset(); }
|
||||
|
||||
// FUNCTION: LEGO1 0x10067a10
|
||||
~LegoModelPresenter() override { Destroy(TRUE); }
|
||||
|
||||
static void configureLegoModelPresenter(MxS32 p_modelPresenterConfig);
|
||||
@@ -31,6 +36,14 @@ public:
|
||||
void ParseExtra() override; // vtable+0x30
|
||||
void Destroy() override; // vtable+0x38
|
||||
|
||||
void FUN_1007ff70(MxDSChunk& p_chunk, LegoEntity* p_entity, undefined p_modelUnknown0x34, LegoWorld* p_world);
|
||||
|
||||
inline void Reset()
|
||||
{
|
||||
m_roi = NULL;
|
||||
m_addedToView = FALSE;
|
||||
}
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1000cdd0
|
||||
// LegoModelPresenter::`scalar deleting destructor'
|
||||
|
||||
|
@@ -36,7 +36,7 @@ public:
|
||||
|
||||
inline void Reset() { m_partData = NULL; }
|
||||
|
||||
MxResult ParsePart(MxDSChunk& p_chunk);
|
||||
MxResult Read(MxDSChunk& p_chunk);
|
||||
void FUN_1007df20();
|
||||
|
||||
private:
|
||||
|
@@ -30,7 +30,7 @@ public:
|
||||
// SYNTHETIC: LEGO1 0x1000cf40
|
||||
// LegoTexturePresenter::`scalar deleting destructor'
|
||||
|
||||
MxResult ParseTexture(MxDSChunk& p_chunk);
|
||||
MxResult Read(MxDSChunk& p_chunk);
|
||||
void FUN_1004f290();
|
||||
|
||||
private:
|
||||
|
Reference in New Issue
Block a user