Implement/match some LegoHideAnimPresenter functions (#920)

This commit is contained in:
Christian Semmler 2024-05-14 10:15:35 -04:00 committed by GitHub
parent a1be306df7
commit 95ed90aacb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 51 additions and 12 deletions

View file

@ -36,6 +36,8 @@ class LegoHideAnimPresenter : public LegoLoopingAnimPresenter {
private:
void Init();
void Destroy(MxBool p_fromDestructor);
void FUN_1006db40(undefined4);
void FUN_1006dc10();
undefined4* m_unk0xc0; // 0xc0
};

View file

@ -1,5 +1,9 @@
#include "legohideanimpresenter.h"
#include "legomain.h"
#include "legoworld.h"
#include "misc.h"
DECOMP_SIZE_ASSERT(LegoHideAnimPresenter, 0xc4)
// FUNCTION: LEGO1 0x1006d7e0
@ -8,16 +12,14 @@ LegoHideAnimPresenter::LegoHideAnimPresenter()
Init();
}
// STUB: LEGO1 0x1006d860
// FUNCTION: LEGO1 0x1006d860
void LegoHideAnimPresenter::VTable0x8c()
{
// TODO
}
// STUB: LEGO1 0x1006d870
// FUNCTION: LEGO1 0x1006d870
void LegoHideAnimPresenter::VTable0x90()
{
// TODO
}
// FUNCTION: LEGO1 0x1006d9f0
@ -62,26 +64,61 @@ void LegoHideAnimPresenter::Destroy()
Destroy(FALSE);
}
// STUB: LEGO1 0x1006dad0
// FUNCTION: LEGO1 0x1006dad0
void LegoHideAnimPresenter::PutFrame()
{
// TODO
}
// STUB: LEGO1 0x1006dae0
// FUNCTION: LEGO1 0x1006dae0
// FUNCTION: BETA10 0x100530f4
void LegoHideAnimPresenter::ReadyTickle()
{
// TODO
LegoLoopingAnimPresenter::ReadyTickle();
if (m_currentWorld) {
if (m_currentTickleState == e_starting && m_compositePresenter != NULL) {
SendToCompositePresenter(Lego());
}
// STUB: LEGO1 0x1006db20
m_currentWorld->Add(this);
}
}
// FUNCTION: LEGO1 0x1006db20
// FUNCTION: BETA10 0x1005316b
void LegoHideAnimPresenter::StartingTickle()
{
// TODO
LegoLoopingAnimPresenter::StartingTickle();
if (m_currentTickleState == e_streaming) {
FUN_1006dc10();
FUN_1006db40(0);
}
}
// STUB: LEGO1 0x1006e9e0
void LegoHideAnimPresenter::EndAction()
// STUB: LEGO1 0x1006db40
// FUNCTION: BETA10 0x100531ab
void LegoHideAnimPresenter::FUN_1006db40(undefined4)
{
// TODO
}
// STUB: LEGO1 0x1006dc10
// FUNCTION: BETA10 0x100532fd
void LegoHideAnimPresenter::FUN_1006dc10()
{
// TODO
}
// FUNCTION: LEGO1 0x1006e9e0
// FUNCTION: BETA10 0x100535ef
void LegoHideAnimPresenter::EndAction()
{
if (m_action) {
MxVideoPresenter::EndAction();
if (m_currentWorld) {
m_currentWorld->Remove(this);
}
}
}