mirror of
https://github.com/zeldaret/st
synced 2026-10-06 21:18:11 -04:00
205dc5a1ca
* day 1 * delink overlay 17 * UnkStruct_027e0ce0_30_017 & UnkStruct_027e0ce0_40_017 * ItemManager_017 OK * UnkStruct_027e0ce0_40_Base_94_017 95% * UnkStruct_027e0ce0_017 OK * PlayerLinkActor_017 OK * PlayerLinkActor_A0_20_017 OK * code_020be2ec_017 99% * ActorManager_017 OK * Actor_017 OK * ActorEventIcon_017 OK * code_020be2ec_017 OK * MapObjectManager_017 97% * MapObject_017 OK * MapObjectSwitchStep_017 OK * fix build issues * fix other versions build issues
580 lines
16 KiB
C++
580 lines
16 KiB
C++
#pragma once
|
|
|
|
#include "Actor/ActorRef.hpp"
|
|
#include "Render/ModelRender.hpp"
|
|
#include "Unknown/Common.hpp"
|
|
#include "global.h"
|
|
#include "math.hpp"
|
|
|
|
#include "nitro/fx.h"
|
|
#include "types.h"
|
|
|
|
#include <nns/g3d/g3d.h>
|
|
|
|
class Actor_C4;
|
|
class UnkStruct_027e0ce0_30_00;
|
|
class UnkStruct_ov001_020c40f4;
|
|
class PlayerActorBase;
|
|
class PlayerLinkActor_A0_28;
|
|
class ItemManager;
|
|
|
|
struct ActorGrabParams;
|
|
extern "C" void func_ov000_0205d500(ActorGrabParams *, unk32, unk32);
|
|
bool PlayerCharacter_IsNotLink(s32 character);
|
|
|
|
struct ActorGrabParams {
|
|
/* 00 */ ActorRef mUnk_00;
|
|
/* 04 */
|
|
|
|
ActorGrabParams() {}
|
|
|
|
ActorGrabParams(unk32 param2, unk32 param3) {
|
|
ActorGrabParams local_1c;
|
|
func_ov000_0205d500(&local_1c, param3, param2);
|
|
*this = local_1c;
|
|
}
|
|
|
|
void operator=(ActorGrabParams &from) {
|
|
*(u32 *) this = *(u32 *) &from;
|
|
}
|
|
};
|
|
|
|
class UnkStruct_027e0ce0_40;
|
|
class PlayerActorBase_70;
|
|
|
|
typedef s32 PlayerCharacter;
|
|
enum PlayerCharacter_ {
|
|
/* 0 */ PlayerCharacter_Link = 0,
|
|
/* 1 */ PlayerCharacter_Phantom = 1,
|
|
/* 2 */ PlayerCharacter_Zelda = 2,
|
|
/* 3 */ PlayerCharacter_Max,
|
|
};
|
|
|
|
struct UnkStruct_ov000_020ab4dc {
|
|
/* 00 */ const char *mpDirectory;
|
|
/* 04 */ const char mUnk_04[16];
|
|
/* 14 */ const char mUnk_14[16];
|
|
/* 24 */ const char mUnk_24[16];
|
|
/* 34 */ const char mUnk_34[16];
|
|
/* 44 */ const char mUnk_44[16];
|
|
/* 54 */ STRUCT_PAD(0x54, 0x66);
|
|
/* 66 */ s16 mUnk_66;
|
|
/* 66 */ unk16 mUnk_68;
|
|
/* 66 */ unk16 mUnk_6A;
|
|
/* 66 */ unk16 mUnk_6C;
|
|
/* 66 */ unk16 mUnk_6E;
|
|
/* 66 */ unk16 mUnk_70;
|
|
/* 66 */ unk16 mUnk_72;
|
|
/* 74 */ s16 mUnk_74;
|
|
/* 78 */ STRUCT_PAD(0x76, 0x83);
|
|
/* 83 */ u8 mUnk_83;
|
|
/* 83 */ u8 mUnk_84;
|
|
/* 83 */ u8 mUnk_85;
|
|
/* 86 */ u8 mUnk_86[7];
|
|
/* 8D */ STRUCT_PAD(0x8D, 0x98);
|
|
/* 98 */ unk32 mUnk_98;
|
|
/* 9C */
|
|
};
|
|
extern const UnkStruct_ov000_020ab4dc data_ov000_020ab4dc[PlayerCharacter_Max];
|
|
|
|
inline const UnkStruct_ov000_020ab4dc *Get_ov000_020ab4dc(PlayerCharacter index) {
|
|
return &data_ov000_020ab4dc[index];
|
|
}
|
|
|
|
extern "C" G3d_Model *func_ov000_0208eadc(PlayerCharacter, unk32, bool);
|
|
extern "C" G3d_Model *func_ov000_0208eb44(PlayerCharacter, unk32, bool);
|
|
|
|
inline bool PlayerCharacter_IsNotLink(PlayerCharacter character) {
|
|
bool ret = false;
|
|
|
|
if (character != PlayerCharacter_Link) {
|
|
ret = true;
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
|
|
inline bool PlayerCharacter_IsNotLink2(PlayerCharacter character) {
|
|
bool ret = true;
|
|
|
|
if (character == PlayerCharacter_Link) {
|
|
ret = false;
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
|
|
class UnkStruct_PlayerGet_64 {
|
|
public:
|
|
/* 00 */ ActorRef *mUnk_00;
|
|
/* 04 */ unk32 mUnk_04;
|
|
/* 08 */ u16 mUnk_08; // makes link invisible when set
|
|
/* 0A */ unk16 mUnk_0A;
|
|
/* 0C */
|
|
|
|
UnkStruct_PlayerGet_64(void *param1);
|
|
~UnkStruct_PlayerGet_64();
|
|
|
|
void func_ov000_0208a100();
|
|
};
|
|
|
|
class ModelRender_Derived3 : public ModelRender {
|
|
public:
|
|
/* 00 (base) */
|
|
/* 60 */
|
|
|
|
ModelRender_Derived3(PlayerCharacter character, G3d_Model *pModel);
|
|
|
|
// data_ov000_020b2b44
|
|
/* 00 */ virtual ~ModelRender_Derived3() override {}
|
|
|
|
void func_ov000_0208c058(unk32 param1);
|
|
};
|
|
|
|
class ModelRender_Derived4 : public ModelRender_Derived3 {
|
|
public:
|
|
/* 00 (base) */
|
|
/* 60 */ unk32 mUnk_60;
|
|
/* 64 */ unk32 mUnk_64;
|
|
/* 68 */ VecFx32 mUnk_68;
|
|
/* 74 */ unk32 mUnk_74;
|
|
/* 78 */ unk32 mUnk_78;
|
|
/* 7C */ unk32 mUnk_7C[9];
|
|
/* A0 */ unk32 mUnk_A0[7];
|
|
/* BC */ Mat4x3p *mUnk_BC;
|
|
/* C0 */
|
|
|
|
ModelRender_Derived4(PlayerCharacter character, unk32 param2, G3d_Model *pModel, G3d_BoneMtxStruct *pCacheJntAnm);
|
|
|
|
// data_ov000_020b2b70
|
|
/* 1C */ virtual void vfunc_1C(UnkSystem4_vfunc_1C *param1) override;
|
|
|
|
// overlay 0
|
|
void func_ov000_02057fe8(UnkAngleStruct param1, UnkAngleStruct param2, VecFx32 *param3);
|
|
|
|
// overlay 93
|
|
void func_ov093_0216ca38(bool param1, bool param2, bool param3, bool param4);
|
|
};
|
|
|
|
class ModelRender_Derived5 : public ModelRender_Derived3 {
|
|
public:
|
|
/* 00 (base) */
|
|
/* 60 */ STRUCT_PAD(0x60, 0xA8);
|
|
/* A8 */
|
|
|
|
ModelRender_Derived5(PlayerCharacter character, G3d_Model *pModel, G3d_BoneMtxStruct *pCacheJntAnm);
|
|
|
|
// data_ov093_021787e8
|
|
/* 00 */ virtual ~ModelRender_Derived5() override {}
|
|
/* 1C */ virtual void vfunc_1C(UnkSystem4_vfunc_1C *param1) override;
|
|
};
|
|
|
|
class PlayerActorBase_38 {
|
|
public:
|
|
/* 00 */ UnkStruct_PlayerGet_64 mUnk_00;
|
|
|
|
PlayerActorBase_38(void *param1) :
|
|
mUnk_00(param1) {
|
|
this->mUnk_00.mUnk_08 = 0;
|
|
}
|
|
|
|
void Reset() {
|
|
this->mUnk_00.~UnkStruct_PlayerGet_64();
|
|
this->mUnk_00.mUnk_08 = 0;
|
|
}
|
|
};
|
|
|
|
class PlayerActorBase_5C {
|
|
public:
|
|
/* 00 */ unk32 mUnk_00;
|
|
/* 04 */ unk32 mUnk_04;
|
|
/* 08 */ unk32 mUnk_08;
|
|
/* 0C */ unk32 mUnk_0C;
|
|
/* 10 */ void *mUnk_10;
|
|
/* 14 */
|
|
|
|
void func_ov000_02089dc4();
|
|
void func_ov000_02089f0c(bool param1);
|
|
};
|
|
|
|
class PlayerActorBase_70_0C {
|
|
private:
|
|
/* 00 */ G3d_Model *mpModel1;
|
|
/* 04 */ G3d_Model *mpModel2;
|
|
/* 08 */ ModelRender_Derived3 *mUnk_08;
|
|
/* 0C */ ModelRender_Derived3 *mUnk_0C;
|
|
/* 10 */
|
|
|
|
public:
|
|
// clang-format off
|
|
G3d_Model* GetModel1() const { return this->mpModel1; }
|
|
G3d_Model* GetModel2() const { return this->mpModel2; }
|
|
ModelRender_Derived3* GetUnk08() const { return this->mUnk_08; }
|
|
ModelRender_Derived3* GetUnk0C() const { return this->mUnk_0C; }
|
|
// clang-format on
|
|
|
|
ModelRender_Derived4 *GetUnk08OrUnk0C(bool cond) const {
|
|
if (cond) {
|
|
return (ModelRender_Derived4 *) this->GetUnk0C();
|
|
}
|
|
|
|
return (ModelRender_Derived4 *) this->GetUnk08();
|
|
}
|
|
|
|
PlayerActorBase_70_0C(PlayerCharacter character, unk32 param2) :
|
|
mpModel1(func_ov000_0208eadc(character, param2, true)),
|
|
mpModel2(func_ov000_0208eb44(character, param2, true)) {
|
|
ModelRender_Derived3 *unk_08;
|
|
ModelRender_Derived3 *unk_0C;
|
|
G3d_Model *pModel;
|
|
|
|
{
|
|
pModel = mpModel1;
|
|
|
|
if (!PlayerCharacter_IsNotLink2(character)) {
|
|
unk_08 = new(HeapIndex_1) ModelRender_Derived4(character, param2, pModel, NULL);
|
|
} else {
|
|
unk_08 = new(HeapIndex_1) ModelRender_Derived5(character, pModel, NULL);
|
|
}
|
|
|
|
this->mUnk_08 = unk_08;
|
|
}
|
|
|
|
{
|
|
pModel = mpModel2;
|
|
|
|
if (!PlayerCharacter_IsNotLink(character)) {
|
|
unk_0C = new(HeapIndex_1) ModelRender_Derived4(character, param2, pModel, unk_08->mRenderObj.cacheJntAnm);
|
|
} else {
|
|
unk_0C = new(HeapIndex_1) ModelRender_Derived5(character, pModel, unk_08->mRenderObj.cacheJntAnm);
|
|
}
|
|
|
|
this->mUnk_0C = unk_0C;
|
|
}
|
|
}
|
|
};
|
|
|
|
class PlayerActorBase_70_1C : public UnkStruct_PlayerGet_74_base {
|
|
private:
|
|
/* 00 (base) */
|
|
/* 04 */ STRUCT_PAD(0x04, 0x2C);
|
|
/* 2C */
|
|
|
|
public:
|
|
PlayerActorBase_70_1C(PlayerActorBase_70 *pParent);
|
|
|
|
// data_ov000_020b2b9c
|
|
/* 00 */ virtual void vfunc_00(unk32 param1, unk32 param2, unk32 param3) override;
|
|
|
|
// overlay 0
|
|
void func_ov000_0208c7f0();
|
|
void func_ov000_0208c7b0(VecFx32 *param1, UnkAngleStruct param2);
|
|
};
|
|
|
|
class PlayerActorBase_70_30 {
|
|
private:
|
|
/* 00 */ STRUCT_PAD(0x00, 0x1C);
|
|
/* 1C */
|
|
|
|
public:
|
|
PlayerActorBase_70_30(PlayerCharacter character, ModelRender_UnkSystem1 *param2, ModelRender_UnkSystem1 *param3);
|
|
};
|
|
|
|
class PlayerActorBase_70_6C {
|
|
private:
|
|
/* 00 */ UnkSystem5 mUnk_00;
|
|
/* 20 */ STRUCT_PAD(0x20, 0x70);
|
|
/* 70 */
|
|
|
|
public:
|
|
PlayerActorBase_70_6C(PlayerCharacter character, void *pBTX, G3d_Model *pModel);
|
|
~PlayerActorBase_70_6C();
|
|
};
|
|
|
|
class PlayerActorBase_70_DC {
|
|
private:
|
|
/* 00 */ UnkSystem5 mUnk_00;
|
|
/* 20 */ STRUCT_PAD(0x20, 0x60);
|
|
/* 60 */
|
|
|
|
public:
|
|
PlayerActorBase_70_DC(PlayerCharacter character, G3d_Model *pModel);
|
|
~PlayerActorBase_70_DC();
|
|
};
|
|
|
|
class PlayerActorBase_70_E0 {
|
|
private:
|
|
/* 00 */ unk32 mUnk_00;
|
|
|
|
public:
|
|
PlayerActorBase_70_E0(ModelRender_Derived3 *pUnk_08, PlayerCharacter character) {
|
|
unk32 value;
|
|
|
|
if (pUnk_08->mpModel != NULL) {
|
|
value = pUnk_08->func_ov000_02057f18(data_ov000_020ab4dc[character].mUnk_14);
|
|
} else {
|
|
value = -1;
|
|
}
|
|
|
|
this->mUnk_00 = value;
|
|
}
|
|
};
|
|
|
|
class PlayerActorBase_70_E4 {
|
|
public:
|
|
/* 00 */ VecFx32 mUnk_00;
|
|
/* 0C */ VecFx32 mUnk_0C[PlayerCharacter_Max];
|
|
/* 30 */
|
|
|
|
PlayerActorBase_70_E4();
|
|
};
|
|
|
|
class PlayerActorBase_70_134 {
|
|
private:
|
|
/* 00 */ STRUCT_PAD(0x00, 0x28);
|
|
/* 28 */
|
|
|
|
public:
|
|
PlayerActorBase_70_134();
|
|
};
|
|
|
|
struct UnkStruct_func_ov000_020830d4 {
|
|
u16 mUnk_00;
|
|
u16 mUnk_04;
|
|
u8 mUnk_08;
|
|
u32 mUnk_0C;
|
|
};
|
|
|
|
class PlayerActorBase_70 {
|
|
public:
|
|
/* 000 */ BOOL mIsNotLink;
|
|
/* 004 */ PlayerCharacter mCharacter;
|
|
/* 008 */ unk32 mUnk_008;
|
|
/* 014 */ PlayerActorBase_70_0C mUnk_00C;
|
|
/* 01C */ PlayerActorBase_70_1C *mUnk_01C;
|
|
/* 020 */ ModelRender_UnkSystem1 *mUnk_020;
|
|
/* 024 */ ModelRender_UnkSystem1 *mUnk_024;
|
|
/* 028 */ ModelRender_UnkSystem1 *mUnk_028;
|
|
/* 02C */ ModelRender_UnkSystem1 *mUnk_02C;
|
|
/* 030 */ PlayerActorBase_70_30 mUnk_030;
|
|
/* 04C */ PlayerActorBase_70_30 mUnk_04C;
|
|
/* 068 */ unk16 mUnk_068;
|
|
/* 06A */ unk16 mUnk_06A;
|
|
/* 06C */ PlayerActorBase_70_6C mUnk_06C;
|
|
/* 0DC */ PlayerActorBase_70_DC *mUnk_0DC;
|
|
/* 0E0 */ PlayerActorBase_70_E0 mUnk_0E0;
|
|
/* 0E4 */ PlayerActorBase_70_E4 mUnk_0E4;
|
|
/* 114 */ Mat4x3p *mUnk_114; // allocated array, size = PlayerCharacter_Max
|
|
/* 118 */ Vec3p mUnk_118;
|
|
/* 124 */ UnkAngleStruct mUnk_124;
|
|
/* 126 */ s8 mUnk_126;
|
|
/* 127 */ bool mUnk_127;
|
|
/* 128 */ bool mUnk_128;
|
|
/* 129 */ bool mUnk_129;
|
|
/* 12A */ bool mUnk_12A;
|
|
/* 12B */ bool mUnk_12B;
|
|
/* 12C */ bool mUnk_12C;
|
|
/* 12D */ bool mUnk_12D;
|
|
/* 12E */ bool mUnk_12E;
|
|
/* 12F */ bool mUnk_12F;
|
|
/* 130 */ bool mUnk_130;
|
|
/* 131 */ bool mUnk_131;
|
|
/* 132 */ s16 mUnk_132;
|
|
/* 134 */ PlayerActorBase_70_134 mUnk_134;
|
|
/* 15C */ unk32 mUnk_15C;
|
|
/* 160 */
|
|
|
|
PlayerActorBase_70(PlayerCharacter character, unk32 param2);
|
|
~PlayerActorBase_70();
|
|
|
|
// overlay 0
|
|
void func_ov000_02082e54();
|
|
void func_ov000_02082e78(unk32 param1, unk32 param2, unk32 param3, unk32 param4);
|
|
void func_ov000_020830d4(UnkAngleStruct param1, u32 param2, u8 param3, PlayerLinkActor_A0_28 *param4);
|
|
void func_ov000_020830a4(unk32 param1, PlayerCharacter character, unk32 param3, unk32 param4);
|
|
void func_ov000_020830a4(unk32 param1, PlayerCharacter character, unk32 param3, unk32 param4, unk32);
|
|
|
|
// overlay 1
|
|
void func_ov001_020bbe18(unk32 param1, UnkAngleStruct param2, u32 param3, u8 param4);
|
|
|
|
// overlay 17
|
|
void func_ov017_020bbaa8(VecFx32 *param1, UnkAngleStruct param2);
|
|
void func_ov017_020bbcd8(VecFx32 *param1, UnkAngleStruct param2);
|
|
void func_ov017_020bbef4(VecFx32 *param1, UnkAngleStruct param2);
|
|
void func_ov017_020bbf6c();
|
|
};
|
|
|
|
class PlayerActorBase_74 {
|
|
private:
|
|
/* 00 */ unk32 mUnk_00;
|
|
/* 04 */ VecFx32 mUnk_04[2];
|
|
/* 1C */ VecFx32 mUnk_1C[2];
|
|
/* 34 */
|
|
|
|
public:
|
|
PlayerActorBase_74() {
|
|
this->func_ov001_020db190();
|
|
}
|
|
|
|
inline bool UnknownInline1(u32 index, VecFx32 *pVec);
|
|
|
|
// overlay 1
|
|
void func_ov001_020db190();
|
|
|
|
// overlay 102
|
|
void func_ov102_02182c20(unk32 param1, Mat4x3p *param2);
|
|
void func_ov102_02182c84(bool param1, unk32 param2, UnkAngleStruct param3, Mat4x3p *param4, Mat4x3p *param5);
|
|
};
|
|
|
|
struct PlayerActorBase_78_04 {
|
|
STRUCT_PAD(0x00, 0x0C);
|
|
|
|
void func_ov000_0205c584(unk32 param1, unk32 param2);
|
|
};
|
|
|
|
class PlayerActorBase_78 {
|
|
public:
|
|
/* 00 */ unk32 mUnk_00;
|
|
/* 00 */ unk32 mUnk_04;
|
|
/* 00 */ u8 mUnk_08[2]; // bool?
|
|
/* 0C */
|
|
|
|
void func_ov000_0205c584(volatile unk32 param1, volatile unk32 param2);
|
|
void func_ov000_0205c5d0(unk32 param1, PlayerActorBase *pPlayer);
|
|
};
|
|
|
|
class PlayerLinkActor_9C_34 {
|
|
private:
|
|
/* 00 */ unk32 mUnk_00;
|
|
/* 04 */ VecFx32 mUnk_04;
|
|
/* 10 */ VecFx32 mUnk_10;
|
|
/* 1C */
|
|
|
|
public:
|
|
void func_ov000_0208efd0(VecFx32 *pVec);
|
|
};
|
|
|
|
class PlayerLinkActor_9C {
|
|
public:
|
|
/* 000 (vtable) */
|
|
/* 004 */ STRUCT_PAD(0x04, 0x08);
|
|
/* 008 */ ActorRef mUnk_008; //! TODO: confirm type
|
|
/* 00C */ STRUCT_PAD(0x0C, 0x34);
|
|
/* 034 */ PlayerLinkActor_9C_34 mUnk_034;
|
|
/* 004 */ STRUCT_PAD(0x50, 0x5A);
|
|
/* 05A */ UnkAngleStruct mUnk_5A;
|
|
/* 05C */ STRUCT_PAD(0x5C, 0x6C);
|
|
/* 06C */ VecFx32 mUnk_06C;
|
|
/* 078 */ STRUCT_PAD(0x78, 0x90);
|
|
/* 090 */ s16 mUnk_090;
|
|
/* 090 */ unk16 mUnk_092;
|
|
/* 094 */ unk32 mUnk_094;
|
|
/* 098 */ unk16 mUnk_098;
|
|
/* 094 */ STRUCT_PAD(0x9A, 0xDC);
|
|
/* 0DC */ u16 mUnk_0DC;
|
|
/* 0DE */ unk16 mUnk_0DE;
|
|
/* 0E0 */ unk32 mUnk_0E0;
|
|
/* 0E4 */ unk32 mUnk_0E4;
|
|
/* 0E8 */ unk32 mUnk_0E8;
|
|
/* 0EC */ unk32 mUnk_0EC;
|
|
/* 0F0 */ unk32 mUnk_0F0;
|
|
/* 0F4 */ PlayerActorBase *pZelda;
|
|
/* 0F8 */ unk32 mUnk_0F8;
|
|
/* 0FC */ bool mUnk_0FC;
|
|
/* 100 */ unk32 mUnk_100;
|
|
/* 104 */ VecFx32 mUnk_104;
|
|
/* 110 */ STRUCT_PAD(0x110, 0x138);
|
|
/* 138 */ s16 mUnk_138;
|
|
/* 13A */ u16 mUnk_13A;
|
|
/* 13C */ unk16 mUnk_13C;
|
|
/* 13E */ STRUCT_PAD(0x13E, 0x154);
|
|
/* 154 */
|
|
|
|
PlayerLinkActor_9C(UnkStruct_027e0ce0_40 *param1, u32 rawGrabParams, PlayerCharacter character);
|
|
|
|
// data_ov000_020b2a8c
|
|
/* 00 */ virtual ~PlayerLinkActor_9C();
|
|
|
|
// overlay 0
|
|
unk32 func_ov000_02084944();
|
|
unk32 func_ov000_020849d0(VecFx32 *pAccel, VecFx32 *pVel);
|
|
unk32 func_ov000_02084ac8(unk32 param1, VecFx32 *pPos, VecFx32 *pAccel, VecFx32 *pVel);
|
|
void func_ov000_02084c3c(unk32 param1, unk32 param2, VecFx32 *param3, VecFx32 *param4);
|
|
unk32 func_ov000_02084e58(unk32 param1, u8 param2, VecFx32 *param3, VecFx32 *pPos, VecFx32 *pAccel, VecFx32 *pVel,
|
|
unk32 param7);
|
|
void func_ov000_02085274(unk32 param1, unk32 param2, unk32 param3, VecFx32 *param4, VecFx32 *param5, VecFx32 *param6);
|
|
void func_ov000_02085578(unk32 param1, unk32 param2, unk32 param3, unk32 param4, VecFx32 *param5);
|
|
void func_ov000_02085718(VecFx32 *param1);
|
|
void func_ov000_02085840(VecFx32 *param1, VecFx32 *param2, VecFx32 *param3);
|
|
void func_ov000_02086758();
|
|
void func_ov000_020867f4();
|
|
|
|
// overlay 17
|
|
bool func_ov017_020bc640(u32 param1, bool param2, bool param3, u8 param4, u8 param5, VecFx32 *pAccel, VecFx32 *pPos,
|
|
VecFx32 *pVel);
|
|
};
|
|
|
|
class PlayerActorBase {
|
|
public:
|
|
/* 00 */ VecFx32 mPos;
|
|
/* 0C */ VecFx32 mPrevPos;
|
|
/* 18 */ VecFx32 mVel;
|
|
/* 24 */ VecFx32 mAccel;
|
|
/* 30 */ union {
|
|
u16 mAngle;
|
|
UnkAngleStruct mAngleStruct;
|
|
};
|
|
/* 32 */ u8 mInvincibilityTimer;
|
|
/* 33 */ u8 mInvincibilityIconTimer; // the blinking icon on top-screen
|
|
/* 34 */ ActorRef mGrabActor;
|
|
/* 38 */ PlayerActorBase_38 mUnk_38;
|
|
/* 44 */ unk32 mUnk_44;
|
|
/* 48 */ PlayerCharacter mCharacter;
|
|
/* 4C */ unk32 mUnk_4C;
|
|
/* 50 */ ActorGrabParams mUnk_50;
|
|
/* 54 */ ItemManager *mUnk_54;
|
|
/* 58 */ UnkStruct_027e0ce0_40 *mUnk_58;
|
|
/* 5C */ PlayerActorBase_5C mUnk_5C;
|
|
/* 70 */ PlayerActorBase_70 *mUnk_70;
|
|
/* 74 */ PlayerActorBase_74 *mUnk_74;
|
|
/* 78 */ PlayerActorBase_78 mUnk_78;
|
|
/* 84 */ UnkStruct_ov019_020d24c8_28_258_00 mUnk_84;
|
|
/* 8C */ unk32 mUnk_8C;
|
|
/* 90 */ PlayerLinkActor_9C *mUnk_90;
|
|
/* 94 */
|
|
|
|
PlayerActorBase(PlayerCharacter character, unk32 param2, ItemManager *pItemMgr, UnkStruct_027e0ce0_40 *param4);
|
|
~PlayerActorBase();
|
|
|
|
// overlay 0
|
|
void func_ov000_0208c8f8(VecFx32 *pVec);
|
|
void func_ov000_0208c914();
|
|
void func_ov000_0208cbf0();
|
|
void func_ov000_0208cc20(VecFx32 *param1);
|
|
bool func_ov000_0208cc90();
|
|
unk32 func_ov000_0208d3a8();
|
|
void func_ov000_0208d3d0(Vec2s *param1, unk32 param2, void *param3);
|
|
void func_ov000_0208d3fc();
|
|
void func_ov000_0208d60c();
|
|
bool func_ov000_0208d754();
|
|
void func_ov000_0208d7f0(bool param1);
|
|
bool func_ov000_0208db08();
|
|
unk32 func_ov000_0208dc98();
|
|
unk32 func_ov000_0208dd60(UnkStruct_027e0ce0_30_00 *param1);
|
|
|
|
// overlay 1
|
|
void func_ov001_020bc96c(); // ResetState? or just Reset? idk
|
|
|
|
// overlay 93
|
|
//! TODO: move to PlayerZeldaActor?
|
|
unk32 func_ov093_0216e8e4(UnkStruct_027e0ce0_30_00 *param1);
|
|
void func_ov093_0216d0d4();
|
|
void func_ov093_0216d160();
|
|
void func_ov093_0216d1cc(unk32 param1, const UnkStruct_ov001_020c40f4 *param2, bool param3, bool param4);
|
|
void func_ov093_0216d5b8(bool param1);
|
|
void func_ov093_0216f71c(unk32 *param1);
|
|
void func_ov093_0216de30(unk32 param1, unk32 param2);
|
|
void func_ov093_0216dec8(void *param1);
|
|
void func_ov093_0216e1a4(void *param1);
|
|
};
|