mirror of
https://github.com/isledecomp/isle.git
synced 2024-11-22 15:48:09 -05:00
Implement/match LegoEntity::VTable0x3c (#680)
This commit is contained in:
parent
bf6765b575
commit
70e8796af3
7 changed files with 43 additions and 2 deletions
|
@ -5,6 +5,7 @@
|
||||||
#include "misc/legostorage.h"
|
#include "misc/legostorage.h"
|
||||||
#include "mxcore.h"
|
#include "mxcore.h"
|
||||||
|
|
||||||
|
class LegoEntity;
|
||||||
class LegoROI;
|
class LegoROI;
|
||||||
|
|
||||||
// VTABLE: LEGO1 0x100d6f50
|
// VTABLE: LEGO1 0x100d6f50
|
||||||
|
@ -31,6 +32,7 @@ class LegoBuildingManager : public MxCore {
|
||||||
void FUN_1002fb30();
|
void FUN_1002fb30();
|
||||||
MxResult Save(LegoStorage* p_storage);
|
MxResult Save(LegoStorage* p_storage);
|
||||||
MxResult Load(LegoStorage* p_storage);
|
MxResult Load(LegoStorage* p_storage);
|
||||||
|
MxBool FUN_1002fdb0(LegoEntity* p_entity);
|
||||||
MxU32 FUN_1002ff40(LegoROI*, MxBool);
|
MxU32 FUN_1002ff40(LegoROI*, MxBool);
|
||||||
void FUN_10030590();
|
void FUN_10030590();
|
||||||
|
|
||||||
|
|
|
@ -66,6 +66,7 @@ class LegoCharacterManager {
|
||||||
void FUN_100832a0();
|
void FUN_100832a0();
|
||||||
void FUN_10083db0(LegoROI* p_roi);
|
void FUN_10083db0(LegoROI* p_roi);
|
||||||
void FUN_10083f10(LegoROI* p_roi);
|
void FUN_10083f10(LegoROI* p_roi);
|
||||||
|
MxBool FUN_10084ec0(LegoROI* p_roi);
|
||||||
MxU32 FUN_10085140(LegoROI*, MxBool);
|
MxU32 FUN_10085140(LegoROI*, MxBool);
|
||||||
LegoROI* FUN_10085210(const LegoChar*, LegoChar*, undefined);
|
LegoROI* FUN_10085210(const LegoChar*, LegoChar*, undefined);
|
||||||
LegoROI* FUN_10085a80(LegoChar* p_und1, LegoChar* p_und2, undefined p_und3);
|
LegoROI* FUN_10085a80(LegoChar* p_und1, LegoChar* p_und2, undefined p_und3);
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
#include "misc/legostorage.h"
|
#include "misc/legostorage.h"
|
||||||
#include "mxcore.h"
|
#include "mxcore.h"
|
||||||
|
|
||||||
|
class LegoEntity;
|
||||||
class LegoROI;
|
class LegoROI;
|
||||||
|
|
||||||
// VTABLE: LEGO1 0x100d6758
|
// VTABLE: LEGO1 0x100d6758
|
||||||
|
@ -28,6 +29,7 @@ class LegoPlantManager : public MxCore {
|
||||||
void FUN_100263a0(undefined4 p_und);
|
void FUN_100263a0(undefined4 p_und);
|
||||||
void Save(LegoStorage* p_storage);
|
void Save(LegoStorage* p_storage);
|
||||||
MxResult Load(LegoStorage* p_storage);
|
MxResult Load(LegoStorage* p_storage);
|
||||||
|
MxBool FUN_100269e0(LegoEntity* p_entity);
|
||||||
MxU32 FUN_10026ba0(LegoROI*, MxBool);
|
MxU32 FUN_10026ba0(LegoROI*, MxBool);
|
||||||
void FUN_10027120();
|
void FUN_10027120();
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,13 @@ MxResult LegoBuildingManager::Load(LegoStorage* p_storage)
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// STUB: LEGO1 0x1002fdb0
|
||||||
|
MxBool LegoBuildingManager::FUN_1002fdb0(LegoEntity* p_entity)
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x1002ff40
|
// STUB: LEGO1 0x1002ff40
|
||||||
MxU32 LegoBuildingManager::FUN_1002ff40(LegoROI*, MxBool)
|
MxU32 LegoBuildingManager::FUN_1002ff40(LegoROI*, MxBool)
|
||||||
{
|
{
|
||||||
|
|
|
@ -123,6 +123,13 @@ MxBool LegoCharacterManager::FUN_10084c00(const LegoChar*)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// STUB: LEGO1 0x10084ec0
|
||||||
|
MxBool LegoCharacterManager::FUN_10084ec0(LegoROI* p_roi)
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x10085140
|
// STUB: LEGO1 0x10085140
|
||||||
MxU32 LegoCharacterManager::FUN_10085140(LegoROI*, MxBool)
|
MxU32 LegoCharacterManager::FUN_10085140(LegoROI*, MxBool)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
#include "legoplantmanager.h"
|
#include "legoplantmanager.h"
|
||||||
|
|
||||||
|
#include "legoentity.h"
|
||||||
|
|
||||||
DECOMP_SIZE_ASSERT(LegoPlantManager, 0x2c)
|
DECOMP_SIZE_ASSERT(LegoPlantManager, 0x2c)
|
||||||
|
|
||||||
// GLOBAL: LEGO1 0x100f3188
|
// GLOBAL: LEGO1 0x100f3188
|
||||||
|
@ -47,6 +49,13 @@ MxResult LegoPlantManager::Load(LegoStorage* p_storage)
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// STUB: LEGO1 0x100269e0
|
||||||
|
MxBool LegoPlantManager::FUN_100269e0(LegoEntity* p_entity)
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x10026ba0
|
// STUB: LEGO1 0x10026ba0
|
||||||
MxU32 LegoPlantManager::FUN_10026ba0(LegoROI*, MxBool)
|
MxU32 LegoPlantManager::FUN_10026ba0(LegoROI*, MxBool)
|
||||||
{
|
{
|
||||||
|
|
|
@ -276,10 +276,23 @@ void LegoEntity::VTable0x38()
|
||||||
// TODO
|
// TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x10011300
|
// FUNCTION: LEGO1 0x10011300
|
||||||
void LegoEntity::VTable0x3c()
|
void LegoEntity::VTable0x3c()
|
||||||
{
|
{
|
||||||
// TODO
|
switch (m_unk0x59) {
|
||||||
|
case 0:
|
||||||
|
CharacterManager()->FUN_10084ec0(m_roi);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
PlantManager()->FUN_100269e0(this);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
BuildingManager()->FUN_1002fdb0(this);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
VTable0x34(FALSE);
|
||||||
|
VTable0x38();
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x10011360
|
// STUB: LEGO1 0x10011360
|
||||||
|
|
Loading…
Reference in a new issue