Implement/match LegoCharacterManager::FUN_10083f10 (#774)

* Implement LegoCharacterManager::FUN_10083f10

* style

* Match

* Fix naming
This commit is contained in:
Christian Semmler
2024-04-06 11:46:40 -04:00
committed by GitHub
parent 75dc04f40a
commit 3bafe2d3a4
5 changed files with 54 additions and 8 deletions

View File

@@ -25,8 +25,17 @@ struct LegoCharacter {
m_roi = p_roi;
m_refCount = 1;
}
~LegoCharacter() { delete m_roi; }
inline void AddRef() { m_refCount++; }
inline MxU32 RemoveRef()
{
if (m_refCount != 0) {
m_refCount--;
}
return m_refCount;
}
LegoROI* m_roi; // 0x00
MxU32 m_refCount; // 0x04
@@ -65,6 +74,7 @@ public:
private:
LegoROI* CreateROI(const char* p_key);
void RemoveROI(LegoROI* p_roi);
LegoROI* FUN_10084cf0(LegoROI* p_roi, const char* p_name);
MxResult FUN_10085870(LegoROI* p_roi);

View File

@@ -71,6 +71,7 @@ public:
Mx3DPointFloat GetWorldPosition();
inline MxBool GetUnknown0x10IsSet(MxU8 p_flag) { return m_unk0x10 & p_flag; }
inline MxBool GetFlagsIsSet(MxU8 p_flag) { return m_flags & p_flag; }
inline MxU8 GetFlags() { return m_flags; }
inline MxFloat GetWorldSpeed() { return m_worldSpeed; }
inline LegoROI* GetROI() { return m_roi; }

View File

@@ -24,9 +24,9 @@ public:
// LegoUnknown100d5778::`scalar deleting destructor'
private:
undefined m_unk0x4[4]; // 0x04
undefined m_unk0x04[4]; // 0x04
LPDIRECTSOUNDBUFFER m_dsBuffer; // 0x08
LegoROI* m_unk0xc; // 0x0c
LegoROI* m_unk0x0c; // 0x0c
undefined4 m_unk0x10; // 0x10
MxBool m_unk0x14; // 0x14
MxBool m_unk0x15; // 0x15