Implement/match LegoAnimMMPresenter::StartingTickle (#824)

This commit is contained in:
Christian Semmler 2024-04-20 10:07:58 -04:00 committed by GitHub
parent 0b08b0ae69
commit 9cc5df8c40
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 23 additions and 5 deletions

View file

@ -71,6 +71,7 @@ class LegoAnimPresenter : public MxVideoPresenter {
virtual void VTable0xa0(Matrix4*); // vtable+0xa0 virtual void VTable0xa0(Matrix4*); // vtable+0xa0
MxResult FUN_1006b140(LegoROI* p_roi);
void FUN_1006d680(LegoAnimActor* p_actor, MxFloat p_value); void FUN_1006d680(LegoAnimActor* p_actor, MxFloat p_value);
inline LegoAnim* GetAnimation() { return m_anim; } inline LegoAnim* GetAnimation() { return m_anim; }

View file

@ -15,7 +15,7 @@ struct LegoTranInfo {
LegoTranInfo() LegoTranInfo()
{ {
m_index = 0; m_index = 0;
m_unk0x08 = 0; m_unk0x08 = NULL;
m_unk0x0c = NULL; m_unk0x0c = NULL;
m_unk0x10 = FALSE; m_unk0x10 = FALSE;
m_unk0x12 = -1; m_unk0x12 = -1;
@ -32,7 +32,7 @@ struct LegoTranInfo {
undefined4 m_unk0x00; // 0x00 undefined4 m_unk0x00; // 0x00
MxU32 m_index; // 0x04 MxU32 m_index; // 0x04
undefined4 m_unk0x08; // 0x08 LegoROI* m_unk0x08; // 0x08
MxMatrix* m_unk0x0c; // 0x0c MxMatrix* m_unk0x0c; // 0x0c
MxBool m_unk0x10; // 0x10 MxBool m_unk0x10; // 0x10
MxS16 m_unk0x12; // 0x12 MxS16 m_unk0x12; // 0x12

View file

@ -457,7 +457,7 @@ MxResult LegoAnimationManager::FUN_100609f0(MxU32 p_objectId, MxMatrix* p_matrix
info->m_unk0x00 = 0; info->m_unk0x00 = 0;
info->m_index = ++m_unk0x1c; info->m_index = ++m_unk0x1c;
info->m_unk0x10 = FALSE; info->m_unk0x10 = FALSE;
info->m_unk0x08 = 0; info->m_unk0x08 = NULL;
info->m_unk0x12 = -1; info->m_unk0x12 = -1;
info->m_unk0x14 = 0; info->m_unk0x14 = 0;
info->m_objectId = p_objectId; info->m_objectId = p_objectId;

View file

@ -12,6 +12,7 @@
#include "mxmisc.h" #include "mxmisc.h"
#include "mxnotificationmanager.h" #include "mxnotificationmanager.h"
#include "mxobjectfactory.h" #include "mxobjectfactory.h"
#include "mxtimer.h"
#include "mxutilities.h" #include "mxutilities.h"
DECOMP_SIZE_ASSERT(LegoAnimMMPresenter, 0x74) DECOMP_SIZE_ASSERT(LegoAnimMMPresenter, 0x74)
@ -124,10 +125,18 @@ void LegoAnimMMPresenter::ReadyTickle()
ProgressTickleState(e_starting); ProgressTickleState(e_starting);
} }
// STUB: LEGO1 0x1004b1c0 // FUNCTION: LEGO1 0x1004b1c0
// FUNCTION: BETA10 0x1004c2cc
void LegoAnimMMPresenter::StartingTickle() void LegoAnimMMPresenter::StartingTickle()
{ {
// TODO if (m_unk0x4c == NULL || m_unk0x4c->GetCurrentTickleState() == e_idle) {
if (m_tranInfo != NULL && m_tranInfo->m_unk0x08 != NULL) {
m_unk0x4c->FUN_1006b140(m_tranInfo->m_unk0x08);
}
m_unk0x50 = Timer()->GetTime();
ProgressTickleState(e_streaming);
}
} }
// STUB: LEGO1 0x1004b220 // STUB: LEGO1 0x1004b220

View file

@ -563,6 +563,14 @@ void LegoAnimPresenter::PutFrame()
} }
} }
// STUB: LEGO1 0x1006b140
// FUNCTION: BETA10 0x100507e0
MxResult LegoAnimPresenter::FUN_1006b140(LegoROI* p_roi)
{
// TODO
return FAILURE;
}
// FUNCTION: LEGO1 0x1006b550 // FUNCTION: LEGO1 0x1006b550
void LegoAnimPresenter::ReadyTickle() void LegoAnimPresenter::ReadyTickle()
{ {