mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-23 00:14:22 +00:00
Implement/match LegoAnimationManager::Notify (#875)
* Implement/match LegoAnimationManager::Notify * Rename notification type
This commit is contained in:

committed by
GitHub

parent
6c89cd3315
commit
cd39e71597
@@ -25,13 +25,13 @@ public:
|
||||
return !strcmp(p_name, Helicopter::ClassName()) || IslePathActor::IsA(p_name);
|
||||
}
|
||||
|
||||
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
|
||||
void VTable0x70(float p_float) override; // vtable+0x70
|
||||
void VTable0x74(Matrix4& p_transform) override; // vtable+0x74
|
||||
MxU32 VTable0xcc() override; // vtable+0xcc
|
||||
MxU32 VTable0xd4(LegoControlManagerEvent& p_param) override; // vtable+0xd4
|
||||
MxU32 VTable0xd8(MxType18NotificationParam& p_param) override; // vtable+0xd8
|
||||
void VTable0xe4() override; // vtable+0xe4
|
||||
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
|
||||
void VTable0x70(float p_float) override; // vtable+0x70
|
||||
void VTable0x74(Matrix4& p_transform) override; // vtable+0x74
|
||||
MxU32 VTable0xcc() override; // vtable+0xcc
|
||||
MxU32 VTable0xd4(LegoControlManagerEvent& p_param) override; // vtable+0xd4
|
||||
MxU32 VTable0xd8(LegoEndAnimNotificationParam& p_param) override; // vtable+0xd8
|
||||
void VTable0xe4() override; // vtable+0xe4
|
||||
|
||||
// SYNTHETIC: LEGO1 0x10003210
|
||||
// Helicopter::`scalar deleting destructor'
|
||||
|
@@ -2,10 +2,10 @@
|
||||
#define ISLEPATHACTOR_H
|
||||
|
||||
#include "legocontrolmanager.h"
|
||||
#include "legoendanimnotificationparam.h"
|
||||
#include "legogamestate.h"
|
||||
#include "legopathactor.h"
|
||||
#include "legoworld.h"
|
||||
#include "mxtype18notificationparam.h"
|
||||
#include "mxtype19notificationparam.h"
|
||||
#include "mxtypes.h"
|
||||
|
||||
@@ -46,7 +46,7 @@ public:
|
||||
virtual MxU32 VTable0xd4(LegoControlManagerEvent&) { return 0; } // vtable+0xd4
|
||||
|
||||
// FUNCTION: LEGO1 0x10002e90
|
||||
virtual MxU32 VTable0xd8(MxType18NotificationParam&) { return 0; } // vtable+0xd8
|
||||
virtual MxU32 VTable0xd8(LegoEndAnimNotificationParam&) { return 0; } // vtable+0xd8
|
||||
|
||||
// FUNCTION: LEGO1 0x10002e00
|
||||
virtual MxU32 VTable0xdc(MxType19NotificationParam&) { return 0; } // vtable+0xdc
|
||||
|
@@ -125,6 +125,7 @@ private:
|
||||
MxBool FUN_10062710(AnimInfo& p_info);
|
||||
void FUN_10063aa0();
|
||||
void FUN_100648f0(LegoTranInfo*, MxLong);
|
||||
void FUN_10064b50(undefined4);
|
||||
|
||||
MxS32 m_scriptIndex; // 0x08
|
||||
MxU16 m_animCount; // 0x0c
|
||||
@@ -132,7 +133,7 @@ private:
|
||||
MxU16 m_unk0x10; // 0x10
|
||||
AnimInfo* m_anims; // 0x14
|
||||
undefined2 m_unk0x18; // 0x18
|
||||
undefined m_unk0x1a; // 0x1a
|
||||
MxBool m_unk0x1a; // 0x1a
|
||||
MxU32 m_unk0x1c; // 0x1c
|
||||
LegoTranInfoList* m_tranInfoList; // 0x20
|
||||
LegoTranInfoList* m_tranInfoList2; // 0x24
|
||||
@@ -159,8 +160,8 @@ private:
|
||||
MxBool m_unk0x429; // 0x429
|
||||
undefined m_unk0x42a; // 0x42a
|
||||
MxBool m_suspended; // 0x42b
|
||||
undefined4 m_unk0x42c; // 0x42c
|
||||
undefined m_unk0x430; // 0x430
|
||||
LegoTranInfo* m_unk0x42c; // 0x42c
|
||||
MxBool m_unk0x430; // 0x430
|
||||
undefined4 m_unk0x434[2]; // 0x434
|
||||
MxMatrix m_unk0x43c; // 0x43c
|
||||
MxMatrix m_unk0x484; // 0x484
|
||||
|
34
LEGO1/lego/legoomni/include/legoendanimnotificationparam.h
Normal file
34
LEGO1/lego/legoomni/include/legoendanimnotificationparam.h
Normal file
@@ -0,0 +1,34 @@
|
||||
#ifndef LEGOENDANIMNOTIFICATIONPARAM_H
|
||||
#define LEGOENDANIMNOTIFICATIONPARAM_H
|
||||
|
||||
#include "decomp.h"
|
||||
#include "mxnotificationparam.h"
|
||||
|
||||
// VTABLE: LEGO1 0x100d7e80
|
||||
// SIZE 0x10
|
||||
class LegoEndAnimNotificationParam : public MxNotificationParam {
|
||||
public:
|
||||
LegoEndAnimNotificationParam(NotificationId p_type, MxCore* p_sender, MxU32 p_index)
|
||||
: MxNotificationParam(p_type, p_sender), m_index(p_index)
|
||||
{
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x1004afd0
|
||||
MxNotificationParam* Clone() const override
|
||||
{
|
||||
return new LegoEndAnimNotificationParam(m_type, m_sender, m_index);
|
||||
} // vtable+0x04
|
||||
|
||||
inline MxU32 GetIndex() { return m_index; }
|
||||
|
||||
protected:
|
||||
MxU32 m_index; // 0x0c
|
||||
};
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1004b080
|
||||
// LegoEndAnimNotificationParam::`scalar deleting destructor'
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1004b0f0
|
||||
// LegoEndAnimNotificationParam::~LegoEndAnimNotificationParam
|
||||
|
||||
#endif // LEGOENDANIMNOTIFICATIONPARAM_H
|
@@ -31,6 +31,8 @@ struct LegoTranInfo {
|
||||
m_unk0x2c.SetIdentity();
|
||||
}
|
||||
|
||||
~LegoTranInfo() { delete m_unk0x0c; }
|
||||
|
||||
AnimInfo* m_animInfo; // 0x00
|
||||
MxU32 m_index; // 0x04
|
||||
LegoROI* m_unk0x08; // 0x08
|
||||
|
@@ -23,14 +23,14 @@ public:
|
||||
return !strcmp(p_name, TowTrack::ClassName()) || IslePathActor::IsA(p_name);
|
||||
}
|
||||
|
||||
MxLong Notify(MxParam& p_param) override; // vtable+0x04
|
||||
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
|
||||
void VTable0x70(float p_float) override; // vtable+0x70
|
||||
MxU32 VTable0xcc() override; // vtable+0xcc
|
||||
MxU32 VTable0xd4(LegoControlManagerEvent& p_param) override; // vtable+0xd4
|
||||
MxU32 VTable0xd8(MxType18NotificationParam& p_param) override; // vtable+0xd8
|
||||
MxU32 VTable0xdc(MxType19NotificationParam& p_param) override; // vtable+0xdc
|
||||
void VTable0xe4() override; // vtable+0xe4
|
||||
MxLong Notify(MxParam& p_param) override; // vtable+0x04
|
||||
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
|
||||
void VTable0x70(float p_float) override; // vtable+0x70
|
||||
MxU32 VTable0xcc() override; // vtable+0xcc
|
||||
MxU32 VTable0xd4(LegoControlManagerEvent& p_param) override; // vtable+0xd4
|
||||
MxU32 VTable0xd8(LegoEndAnimNotificationParam& p_param) override; // vtable+0xd8
|
||||
MxU32 VTable0xdc(MxType19NotificationParam& p_param) override; // vtable+0xdc
|
||||
void VTable0xe4() override; // vtable+0xe4
|
||||
|
||||
void FUN_1004dab0();
|
||||
void FUN_1004dad0();
|
||||
|
Reference in New Issue
Block a user