mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-11-22 15:37:55 -05:00
Implement/match LegoAnimationManager::Reset (#863)
* Implement/match LegoAnimationManager::Init * Rename function * fix hex val
This commit is contained in:
parent
659599b635
commit
ec7df356cf
5 changed files with 32 additions and 8 deletions
|
@ -66,7 +66,7 @@ class LegoAnimationManager : public MxCore {
|
||||||
return !strcmp(p_name, ClassName()) || MxCore::IsA(p_name);
|
return !strcmp(p_name, ClassName()) || MxCore::IsA(p_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
void FUN_1005ee80(MxBool);
|
void Reset(MxBool p_und);
|
||||||
void FUN_1005ef10();
|
void FUN_1005ef10();
|
||||||
void FUN_1005f0b0();
|
void FUN_1005f0b0();
|
||||||
void FUN_1005f6d0(MxBool);
|
void FUN_1005f6d0(MxBool);
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
DECOMP_SIZE_ASSERT(LegoAnimationManager, 0x500)
|
DECOMP_SIZE_ASSERT(LegoAnimationManager, 0x500)
|
||||||
DECOMP_SIZE_ASSERT(Character, 0x18)
|
DECOMP_SIZE_ASSERT(Character, 0x18)
|
||||||
DECOMP_SIZE_ASSERT(Vehicle, 0x8)
|
DECOMP_SIZE_ASSERT(Vehicle, 0x08)
|
||||||
DECOMP_SIZE_ASSERT(Unknown0x3c, 0x18)
|
DECOMP_SIZE_ASSERT(Unknown0x3c, 0x18)
|
||||||
DECOMP_SIZE_ASSERT(LegoTranInfo, 0x78)
|
DECOMP_SIZE_ASSERT(LegoTranInfo, 0x78)
|
||||||
|
|
||||||
|
@ -148,10 +148,34 @@ LegoAnimationManager::~LegoAnimationManager()
|
||||||
NotificationManager()->Unregister(this);
|
NotificationManager()->Unregister(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x1005ee80
|
// FUNCTION: LEGO1 0x1005ee80
|
||||||
void LegoAnimationManager::FUN_1005ee80(MxBool)
|
// FUNCTION: BETA10 0x1003fbc0
|
||||||
|
void LegoAnimationManager::Reset(MxBool p_und)
|
||||||
{
|
{
|
||||||
// TODO
|
m_unk0x402 = 0;
|
||||||
|
|
||||||
|
if (p_und && m_animState != NULL) {
|
||||||
|
m_animState->SetFlag();
|
||||||
|
}
|
||||||
|
|
||||||
|
undefined unk0x42b = m_unk0x42b;
|
||||||
|
FUN_1005ef10();
|
||||||
|
|
||||||
|
if (m_tranInfoList != NULL) {
|
||||||
|
delete m_tranInfoList;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_tranInfoList2 != NULL) {
|
||||||
|
delete m_tranInfoList2;
|
||||||
|
}
|
||||||
|
|
||||||
|
DeleteAnimations();
|
||||||
|
Init();
|
||||||
|
|
||||||
|
m_unk0x42b = unk0x42b;
|
||||||
|
m_unk0x428 = m_unk0x3a;
|
||||||
|
m_unk0x429 = m_unk0x400;
|
||||||
|
m_unk0x42a = m_unk0x402;
|
||||||
}
|
}
|
||||||
|
|
||||||
// STUB: LEGO1 0x1005ef10
|
// STUB: LEGO1 0x1005ef10
|
||||||
|
|
|
@ -1072,7 +1072,7 @@ void LegoGameState::Init()
|
||||||
PlantManager()->Init();
|
PlantManager()->Init();
|
||||||
BuildingManager()->Init();
|
BuildingManager()->Init();
|
||||||
CharacterManager()->Init();
|
CharacterManager()->Init();
|
||||||
AnimationManager()->FUN_1005ee80(TRUE);
|
AnimationManager()->Reset(TRUE);
|
||||||
SetColors();
|
SetColors();
|
||||||
RemoveActor();
|
RemoveActor();
|
||||||
DeleteState();
|
DeleteState();
|
||||||
|
|
|
@ -646,7 +646,7 @@ void LegoWorld::Enable(MxBool p_enable)
|
||||||
FUN_1001fc80(actor);
|
FUN_1001fc80(actor);
|
||||||
}
|
}
|
||||||
|
|
||||||
AnimationManager()->FUN_1005ee80(FALSE);
|
AnimationManager()->Reset(FALSE);
|
||||||
m_set0xd0.insert(this);
|
m_set0xd0.insert(this);
|
||||||
|
|
||||||
if (m_scriptIndex != -1) {
|
if (m_scriptIndex != -1) {
|
||||||
|
|
|
@ -1303,7 +1303,7 @@ void Infocenter::Reset()
|
||||||
|
|
||||||
PlantManager()->FUN_10027120();
|
PlantManager()->FUN_10027120();
|
||||||
BuildingManager()->FUN_10030590();
|
BuildingManager()->FUN_10030590();
|
||||||
AnimationManager()->FUN_1005ee80(FALSE);
|
AnimationManager()->Reset(FALSE);
|
||||||
CharacterManager()->FUN_100832a0();
|
CharacterManager()->FUN_100832a0();
|
||||||
GameState()->SetCurrentAct(LegoGameState::e_act1);
|
GameState()->SetCurrentAct(LegoGameState::e_act1);
|
||||||
GameState()->SetPreviousArea(LegoGameState::e_undefined);
|
GameState()->SetPreviousArea(LegoGameState::e_undefined);
|
||||||
|
|
Loading…
Reference in a new issue