Files
st/include/Player/PlayerLink.hpp
T
Yanis 04d20febb1 Decompile overlay 101 (#118)
* delink the overlay

* ItemManager_101 OK

* UnkStruct_027e0ce0_40_101 OK

* PlayerLinkActor_A0_1C_101 OK

* UnkStruct_027e09a4_54_101 OK

* UnkStruct_027e0cd8_0C_101 OK and MapObjectProfile_Derived6_101 OK
2026-07-20 01:30:08 +02:00

294 lines
7.0 KiB
C++

#pragma once
#include "Player/PlayerActorBase.hpp"
class UnkStruct_027e0ce0_40;
class UnkStruct_027e0ce0_40_328;
class UnkStruct_027e0ce0_40_150;
class PlayerLinkActor_A0_38;
class ItemManager;
class PlayerLinkActor_A0_04 {
public:
/* 00 */ unk32 mUnk_00;
// overlay 0
void func_ov000_02088268();
};
class PlayerLinkActor_A0_10 {
public:
/* 00 */ unk32 mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 00 */ virtual ~PlayerLinkActor_A0_10();
// overlay 31
void func_ov031_020e076c();
};
class PlayerLinkActor_A0_14 {
public:
/* 00 */ unk32 mUnk_00;
/* 00 */ virtual ~PlayerLinkActor_A0_14();
};
class PlayerLinkActor_A0_18 {
public:
/* 00 */ unk32 mUnk_00;
~PlayerLinkActor_A0_18();
// overlay 82
void func_ov082_02157bb8();
};
class PlayerLinkActor_A0_1C {
public:
/* 00 */ unk32 mUnk_00;
/* 04 */ unk16 mUnk_04;
/* 06 */ bool mUnk_06;
/* 07 */ STRUCT_PAD(0x07, 0x0C);
/* 0C */ ActorRef mUnk_0C;
/* 10 */
PlayerLinkActor_A0_1C(unk32 param1);
// overlay 101
void func_ov101_02183290();
};
class PlayerLinkActor_A0_28 {
public:
/* 00 */ unk32 mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0C */
PlayerLinkActor_A0_28(PlayerLinkActor_A0_10 *param1, PlayerLinkActor_A0_14 *param2);
~PlayerLinkActor_A0_28();
};
class PlayerLinkActor_A0_2C {
public:
/* 00 */ unk32 mUnk_00;
PlayerLinkActor_A0_2C();
// overlay 0
void func_ov000_0208e704();
};
class PlayerLinkActor_A0_34 {
public:
/* 00 */ unk32 mUnk_00;
PlayerLinkActor_A0_34();
// overlay 0
void func_ov000_02082748();
};
class PlayerLinkActor_A0_38_04_Base : public LinkList<PlayerLinkActor_A0_38_04_Base> {
public:
/* 00 (vtable) */
/* 04 (base) */
/* 0C */ unk32 mUnk_0C;
/* 10 */ PlayerLinkActor_A0_38 *mUnk_10;
/* 14 */
PlayerLinkActor_A0_38_04_Base(PlayerLinkActor_A0_38 *param1) {
this->mUnk_0C = 0;
this->mUnk_10 = param1;
}
/* 00 */ virtual void vfunc_00();
};
class PlayerLinkActor_A0_38_04 : public PlayerLinkActor_A0_38_04_Base {
public:
/* 00 (vtable) */
/* 04 (base) */
/* 0C */
PlayerLinkActor_A0_38_04(PlayerLinkActor_A0_38 *param1) :
PlayerLinkActor_A0_38_04_Base(param1) {}
// data_ov024_020d8250
/* 00 */ virtual void vfunc_00() override;
};
class PlayerLinkActor_A0_38_18 : public PlayerLinkActor_A0_38_04_Base {
public:
/* 00 (vtable) */
/* 04 (base) */
/* 0C */
PlayerLinkActor_A0_38_18(PlayerLinkActor_A0_38 *param1) :
PlayerLinkActor_A0_38_04_Base(param1) {}
// data_ov024_020d8244
/* 00 */ virtual void vfunc_00() override;
};
class PlayerLinkActor_A0_38 {
public:
/* 00 */ unk16 mUnk_00;
/* 02 */ unk16 mUnk_02;
/* 04 */ PlayerLinkActor_A0_38_04 mUnk_04;
/* 18 */ PlayerLinkActor_A0_38_18 mUnk_18;
/* 2C */ Vec2s mUnk_2C;
/* 30 */ u16 mUnk_30;
/* 32 */ unk16 mUnk_32;
/* 34 */ u16 mUnk_34;
/* 36 */ bool mUnk_36;
/* 37 */ bool mUnk_37;
/* 38 */
PlayerLinkActor_A0_38();
~PlayerLinkActor_A0_38();
void func_ov024_020d19d8();
};
class PlayerLinkActor_A0 {
public:
/* 00 */ unk32 mUnk_00;
/* 04 */ PlayerLinkActor_A0_04 *mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0C */ unk32 mUnk_0C;
/* 10 */ PlayerLinkActor_A0_10 *mUnk_10;
/* 14 */ PlayerLinkActor_A0_14 *mUnk_14;
/* 18 */ PlayerLinkActor_A0_18 *mUnk_18;
/* 1C */ PlayerLinkActor_A0_1C *mUnk_1C;
/* 20 */ PlayerLinkActor_A0_38 *mUnk_20;
/* 24 */ void *mUnk_24;
/* 28 */ PlayerLinkActor_A0_28 *mUnk_28;
/* 2C */ PlayerLinkActor_A0_2C mUnk_2C;
/* 30 */ unk32 mUnk_30;
/* 34 */ PlayerLinkActor_A0_34 mUnk_34;
/* 38 */ PlayerLinkActor_A0_38 *mUnk_38;
/* 3C */ STRUCT_PAD(0x3C, 0x5C);
/* 5C */ UnkStruct_PlayerGet_64 mUnk_5C;
/* 68 */ unk32 mUnk_68;
/* 6C */ unk32 mUnk_6C;
/* 70 */ u32 mUnk_70;
/* 74 */ unk32 mUnk_74;
/* 78 */ bool mUnk_78;
/* 79 */ STRUCT_PAD(0x79, 0x7D);
/* 7D */ bool mUnk_7D;
/* 7E */ bool mUnk_7E;
/* 80 */ void *mUnk_80;
/* 84 */ unk32 mUnk_84;
/* 88 */ unk32 mUnk_88;
/* 8C */ unk32 mUnk_8C;
/* 90 */ unk32 mUnk_90;
/* 94 */
PlayerLinkActor_A0(ItemManager *pItemMgr, UnkStruct_027e0ce0_40 *param2, PlayerActorBase *pPlayer,
PlayerLinkActor_9C *param4);
~PlayerLinkActor_A0();
// overlay 0
bool func_ov000_02091f08(unk32 param1);
void func_ov000_020921e4(unk32 param1);
void func_ov000_02091ea0();
void func_ov000_020936ec();
u32 func_ov000_02093718();
u8 func_ov000_0209378c(); // bool?
void func_ov000_02093a04();
// overlay 1
void func_ov001_020bd2e0();
void func_ov001_020bd358();
void func_ov001_020bd388(bool param1, bool param2);
};
class PlayerLinkActor_A4 {
public:
/* 00 */ unk32 mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 08 */ bool mUnk_08;
/* 09 */ unk8 mUnk_09;
/* 0A */ unk8 mUnk_0A;
/* 0B */ unk8 mUnk_0B;
/* 0C */
PlayerLinkActor_A4(PlayerActorBase *pPlayer, PlayerLinkActor_A0 *param2);
~PlayerLinkActor_A4();
};
class PlayerLinkActor_134 {
public:
/* 00 */ UnkStruct_PlayerGet_ec mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 08 */
PlayerLinkActor_134() :
mUnk_00(NULL) {
this->mUnk_04 = 0;
}
~PlayerLinkActor_134() {
this->func_ov031_020db0fc();
}
// overlay 31
void func_ov031_020db0fc();
};
class PlayerLinkActor_1B0 : public UnkSystem7 {
public:
/* 00 (base) */
/* 04 */ unk32 mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0C */
PlayerLinkActor_1B0();
// ~PlayerLinkActor_1B0() {}
};
class PlayerLinkActor : public PlayerActorBase {
public:
/* 000 (base) */
/* 094 */ UnkStruct_027e0ce0_40_150 *mUnk_094;
/* 098 */ UnkStruct_027e0ce0_40_328 *mUnk_098;
/* 09C */ PlayerLinkActor_9C *mUnk_09C;
/* 0A0 */ PlayerLinkActor_A0 *mUnk_0A0;
/* 0A4 */ PlayerLinkActor_A4 mUnk_0A4;
/* 0B0 */ u32 mUnk_0B0;
/* 0B4 */ bool mUnk_0B4;
/* 0B5 */ bool mUnk_0B5;
/* 0B6 */ bool mUnk_0B6;
/* 0B7 */ bool mUnk_0B7;
/* 0B8 */ bool mUnk_0B8;
/* 0B9 */ bool mUnk_0B9;
/* 0BA */ bool mUnk_0BA;
/* 0BB */ bool mUnk_0BB;
/* 0BC */ CellAnimObject mUnk_0BC;
/* 134 */ PlayerLinkActor_134 *mUnk_134;
/* 138 */ CellAnimObject mUnk_138; // sanctuary link icon animation
/* 1B0 */ PlayerLinkActor_1B0 mUnk_1B0[3];
/* 1D4 */
PlayerLinkActor(unk32 param1, ItemManager *param2, UnkStruct_027e0ce0_40 *param3, UnkStruct_027e0ce0_40_150 *param4);
~PlayerLinkActor();
// overlay 1
void func_ov001_020bcb60(UnkStruct_027e0ce0_40_328 *param1);
void func_ov001_020bcb70();
void func_ov001_020bcba8();
void func_ov001_020bcbd0(VecFx32 *pVec);
// overlay 21
void func_ov021_020ebda0();
void func_ov021_020ebda0(int);
// overlay 31
void func_ov031_020d96a4(PlayerLinkActor_A0 *param1, UnkStruct_027e0ce0_40 *param2);
void func_ov031_020d96a4(int, PlayerLinkActor_A0 *param1, UnkStruct_027e0ce0_40 *param2);
void func_ov031_020dccf0();
void func_ov031_020dccf0(int);
};