mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-23 00:14:22 +00:00
Implement/match LegoWorld::Destroy (and destructor) (#492)
* Implement/match LegoWorld::Destroy * Match * Match
This commit is contained in:

committed by
GitHub

parent
4df7dee037
commit
883f3429a7
@@ -22,6 +22,7 @@ public:
|
||||
static void configureLegoBuildingManager(MxS32);
|
||||
|
||||
void FUN_1002fa00();
|
||||
void FUN_1002fb30();
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1002f940
|
||||
// LegoBuildingManager::`scalar deleting destructor'
|
||||
|
@@ -13,7 +13,8 @@
|
||||
class LegoEntity : public MxEntity {
|
||||
public:
|
||||
enum {
|
||||
c_bit1 = 0x01
|
||||
c_bit1 = 0x01,
|
||||
c_bit2 = 0x02
|
||||
};
|
||||
|
||||
// Inlined at 0x100853f7
|
||||
@@ -58,6 +59,7 @@ public:
|
||||
void SetLocation(Mx3DPointFloat& p_location, Mx3DPointFloat& p_direction, Mx3DPointFloat& p_up, MxBool);
|
||||
|
||||
inline LegoROI* GetROI() { return m_roi; }
|
||||
inline MxU8 GetFlags() { return m_flags; }
|
||||
|
||||
protected:
|
||||
void Init();
|
||||
|
@@ -35,6 +35,14 @@ public:
|
||||
// SYNTHETIC: LEGO1 0x1006cfe0
|
||||
// LegoLocomotionAnimPresenter::`scalar deleting destructor'
|
||||
|
||||
inline void DecrementUnknown0xd4()
|
||||
{
|
||||
if (m_unk0xd4)
|
||||
--m_unk0xd4;
|
||||
}
|
||||
|
||||
inline undefined2 GetUnknown0xd4() { return m_unk0xd4; }
|
||||
|
||||
private:
|
||||
void Init();
|
||||
void Destroy(MxBool p_fromDestructor);
|
||||
|
@@ -21,6 +21,7 @@ public:
|
||||
}
|
||||
|
||||
void FUN_10026360(undefined4 p_world);
|
||||
void FUN_100263a0(undefined4 p_und);
|
||||
|
||||
// SYNTHETIC: LEGO1 0x100262a0
|
||||
// LegoPlantManager::`scalar deleting destructor'
|
||||
|
@@ -1,6 +1,7 @@
|
||||
#ifndef LEGOSOUNDMANAGER_H
|
||||
#define LEGOSOUNDMANAGER_H
|
||||
|
||||
#include "legounknown100d6b4c.h"
|
||||
#include "mxsoundmanager.h"
|
||||
|
||||
// VTABLE: LEGO1 0x100d6b10
|
||||
@@ -17,12 +18,14 @@ public:
|
||||
// SYNTHETIC: LEGO1 0x10029920
|
||||
// LegoSoundManager::`scalar deleting destructor'
|
||||
|
||||
inline LegoUnknown100d6b4c* GetUnknown0x40() { return m_unk0x40; }
|
||||
|
||||
private:
|
||||
void Init();
|
||||
void Destroy(MxBool p_fromDestructor);
|
||||
|
||||
undefined4 m_unk0x3c;
|
||||
undefined4 m_unk0x40;
|
||||
undefined4 m_unk0x3c; // 0x3c
|
||||
LegoUnknown100d6b4c* m_unk0x40; // 0x40
|
||||
};
|
||||
|
||||
#endif // LEGOSOUNDMANAGER_H
|
||||
|
15
LEGO1/lego/legoomni/include/legounknown100d6b4c.h
Normal file
15
LEGO1/lego/legoomni/include/legounknown100d6b4c.h
Normal file
@@ -0,0 +1,15 @@
|
||||
#ifndef LEGOUNKNOWN100D6B4C_H
|
||||
#define LEGOUNKNOWN100D6B4C_H
|
||||
|
||||
#include "decomp.h"
|
||||
|
||||
class LegoCacheSound;
|
||||
|
||||
// VTABLE: LEGO1 0x100d6b4c
|
||||
// SIZE 0x20
|
||||
class LegoUnknown100d6b4c {
|
||||
public:
|
||||
void FUN_1003dc40(LegoCacheSound** p_und);
|
||||
};
|
||||
|
||||
#endif // LEGOUNKNOWN100D6B4C_H
|
@@ -79,7 +79,7 @@ protected:
|
||||
LegoCameraController* m_cameraController; // 0x98
|
||||
LegoEntityList* m_entityList; // 0x9c
|
||||
LegoCacheSoundList* m_cacheSoundList; // 0xa0
|
||||
undefined m_unk0xa4; // 0xa4
|
||||
MxBool m_destroyed; // 0xa4
|
||||
MxCoreSet m_set0xa8; // 0xa8
|
||||
MxPresenterList m_controlPresenters; // 0xb8
|
||||
MxCoreSet m_set0xd0; // 0xd0
|
||||
@@ -122,6 +122,9 @@ protected:
|
||||
// TEMPLATE: LEGO1 0x1001df00
|
||||
// Set<MxCore *,CoreSetCompare>::~Set<MxCore *,CoreSetCompare>
|
||||
|
||||
// TEMPLATE: LEGO1 0x1001f590
|
||||
// list<AutoROI *,allocator<AutoROI *> >::erase
|
||||
|
||||
// TEMPLATE: LEGO1 0x100208b0
|
||||
// _Tree<MxCore *,MxCore *,set<MxCore *,CoreSetCompare,allocator<MxCore *> >::_Kfn,CoreSetCompare,allocator<MxCore *> >::insert
|
||||
|
||||
|
Reference in New Issue
Block a user