mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-11-22 23:48:12 -05:00
Implement/match LegoAnimMMPresenter::StartingTickle (#824)
This commit is contained in:
parent
0b08b0ae69
commit
9cc5df8c40
5 changed files with 23 additions and 5 deletions
|
@ -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; }
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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()
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue