Implement/match LegoOmni::Create (#556)

* Implement/match LegoOmni::Create

* Fix var

* Rename

* Fix style
This commit is contained in:
Christian Semmler
2024-02-10 20:52:16 -05:00
committed by GitHub
parent c69cd4d818
commit a29c0aca3f
17 changed files with 208 additions and 50 deletions

View File

@@ -64,6 +64,8 @@ public:
return NULL;
}
inline void SetOwnership(MxBool p_ownership) { m_ownership = p_ownership; }
// SYNTHETIC: LEGO1 0x1005a310
// GifManagerBase::`scalar deleting destructor'

View File

@@ -42,6 +42,8 @@ public:
private:
void Init();
undefined m_unk0x08[0x4f8]; // 0x08
};
#endif // LEGOANIMATIONMANAGER_H

View File

@@ -1,6 +1,7 @@
#ifndef LEGOBUILDINGMANAGER_H
#define LEGOBUILDINGMANAGER_H
#include "decomp.h"
#include "mxcore.h"
// VTABLE: LEGO1 0x100d6f50
@@ -30,6 +31,8 @@ public:
private:
void Init();
undefined m_unk0x08[0x28]; // 0x08
};
#endif // LEGOBUILDINGMANAGER_H

View File

@@ -104,6 +104,7 @@ public:
void FUN_1005b4f0(MxBool p_disable, MxU16 p_flags);
void CreateBackgroundAudio();
void RemoveWorld(const MxAtomId&, MxLong);
MxResult FUN_1005a5f0();
undefined4 FUN_1005b490(char* p_worldName);
static MxS32 GetCurrPathInfo(LegoPathBoundary**, MxS32&);

View File

@@ -29,6 +29,8 @@ public:
private:
void Init();
undefined m_unk0x08[0x24]; // 0x08
};
#endif // LEGOPLANTMANAGER_H

View File

@@ -33,12 +33,18 @@ struct LegoSaveDataEntry3 {
MxU8 m_savePart10; // 0x104
};
// SIZE 0x08
class LegoUnkSaveDataWriter {
public:
LegoUnkSaveDataWriter();
MxResult WriteSaveData3(LegoStorage* p_stream);
AutoROI* FUN_10083500(undefined4, undefined4);
void FUN_100832a0();
void FUN_10083db0(LegoROI* p_roi);
private:
undefined m_unk0x00[0x08]; // 0x00
};
#endif // LEGOUNKSAVEDATAWRITER_H

View File

@@ -0,0 +1,47 @@
#ifndef LEGOVARIABLES_H
#define LEGOVARIABLES_H
#include "mxvariable.h"
extern const char* g_varVISIBILITY;
extern const char* g_varCAMERALOCATION;
extern const char* g_varCURSOR;
extern const char* g_varWHOAMI;
// VTABLE: LEGO1 0x100d86c8
// SIZE 0x24
class VisibilityVariable : public MxVariable {
public:
VisibilityVariable() { m_key = g_varVISIBILITY; }
void SetValue(const char* p_value) override; // vtable+0x04
};
// VTABLE: LEGO1 0x100d86b8
// SIZE 0x24
class CameraLocationVariable : public MxVariable {
public:
CameraLocationVariable() { m_key = g_varCAMERALOCATION; }
void SetValue(const char* p_value) override; // vtable+0x04
};
// VTABLE: LEGO1 0x100d86a8
// SIZE 0x24
class CursorVariable : public MxVariable {
public:
CursorVariable() { m_key = g_varCURSOR; }
void SetValue(const char* p_value) override; // vtable+0x04
};
// VTABLE: LEGO1 0x100d8698
// SIZE 0x24
class WhoAmIVariable : public MxVariable {
public:
WhoAmIVariable() { m_key = g_varWHOAMI; }
void SetValue(const char* p_value) override; // vtable+0x04
};
#endif // LEGOVARIABLES_H

View File

@@ -74,6 +74,9 @@ public:
// TEMPLATE: LEGO1 0x100599f0
// MxPtrList<LegoWorld>::Destroy
// TEMPLATE: LEGO1 0x10059a70
// MxPtrList<LegoWorld>::~MxPtrList<LegoWorld>
// SYNTHETIC: LEGO1 0x10059ac0
// MxCollection<LegoWorld *>::`scalar deleting destructor'