mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-11-22 15:37:55 -05:00
Implement/match LegoAnimMMPresenter::FUN_1004b5b0 (#830)
This commit is contained in:
parent
3cab989250
commit
a3bd98a04d
4 changed files with 28 additions and 6 deletions
|
@ -2,6 +2,7 @@
|
|||
#define LEGOANIMMMPRESENTER_H
|
||||
|
||||
#include "mxcompositepresenter.h"
|
||||
#include "mxgeometry/mxmatrix.h"
|
||||
|
||||
class LegoAnimPresenter;
|
||||
class LegoWorld;
|
||||
|
@ -74,7 +75,7 @@ class LegoAnimMMPresenter : public MxCompositePresenter {
|
|||
MxU32 m_animmanId; // 0x5c
|
||||
LegoTranInfo* m_tranInfo; // 0x60
|
||||
LegoWorld* m_unk0x64; // 0x64
|
||||
Matrix4* m_unk0x68; // 0x68
|
||||
MxMatrix* m_unk0x68; // 0x68
|
||||
LegoROI** m_roiMap; // 0x6c
|
||||
MxU32 m_roiMapSize; // 0x70
|
||||
};
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
#include "anim/legoanim.h"
|
||||
#include "legoroilist.h"
|
||||
#include "mxgeometry/mxgeometry3d.h"
|
||||
#include "mxgeometry/mxmatrix.h"
|
||||
#include "mxvideopresenter.h"
|
||||
|
||||
class LegoWorld;
|
||||
|
@ -71,7 +72,7 @@ class LegoAnimPresenter : public MxVideoPresenter {
|
|||
|
||||
virtual void VTable0xa0(Matrix4*); // vtable+0xa0
|
||||
|
||||
MxResult FUN_1006afc0(Matrix4*&, undefined4);
|
||||
MxResult FUN_1006afc0(MxMatrix*&, undefined4);
|
||||
MxResult FUN_1006b140(LegoROI* p_roi);
|
||||
void FUN_1006d680(LegoAnimActor* p_actor, MxFloat p_value);
|
||||
|
||||
|
|
|
@ -325,6 +325,7 @@ MxBool LegoAnimMMPresenter::FUN_1004b580(MxLong p_time)
|
|||
m_tranInfo->m_unk0x20[0] > p_time) {
|
||||
return FALSE;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
|
@ -336,12 +337,31 @@ MxBool LegoAnimMMPresenter::FUN_1004b580(MxLong p_time)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x1004b5b0
|
||||
// FUNCTION: LEGO1 0x1004b5b0
|
||||
// FUNCTION: BETA10 0x1004cb09
|
||||
MxBool LegoAnimMMPresenter::FUN_1004b5b0(MxLong p_time)
|
||||
{
|
||||
// TODO
|
||||
return FALSE;
|
||||
switch (m_unk0x59) {
|
||||
case 0:
|
||||
if (m_roiMap != NULL && m_unk0x68 != NULL) {
|
||||
for (MxU32 i = 0; i < m_roiMapSize; i++) {
|
||||
LegoROI* roi = m_roiMap[i];
|
||||
|
||||
if (roi != NULL) {
|
||||
roi->WrappedSetLocalTransform(m_unk0x68[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
break;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x1004b600
|
||||
|
|
|
@ -565,7 +565,7 @@ void LegoAnimPresenter::PutFrame()
|
|||
|
||||
// STUB: LEGO1 0x1006afc0
|
||||
// FUNCTION: BETA10 0x1005059a
|
||||
MxResult LegoAnimPresenter::FUN_1006afc0(Matrix4*&, undefined4)
|
||||
MxResult LegoAnimPresenter::FUN_1006afc0(MxMatrix*&, undefined4)
|
||||
{
|
||||
// TODO
|
||||
return SUCCESS;
|
||||
|
|
Loading…
Reference in a new issue