Decompile overlay 1 (Part 5) (#100)

* start PlayerActorBase_70_001

* PlayerActorBase_70_001 OK

* PlayerActor -> PlayerLinkActor

* Player_001 35%

* fix regressions

* organise files better

* PlayerLinkActor_001 40%

* PlayerLinkActor_001 OK

* tiny self-review
This commit is contained in:
Yanis
2026-07-05 13:44:41 +02:00
committed by GitHub
parent 9987fee73a
commit bf559e183d
42 changed files with 1224 additions and 428 deletions
+175
View File
@@ -0,0 +1,175 @@
#pragma once
#include "Player/PlayerActorBase.hpp"
class UnkStruct_027e0ce0_40;
class PlayerLinkActor_A0_38;
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 */ STRUCT_PAD(0x00, 0x38);
/* 38 */ PlayerLinkActor_A0_38 *mUnk_38;
/* 3C */ STRUCT_PAD(0x3C, 0x94);
/* 94 */
PlayerLinkActor_A0(unk32 param1, UnkStruct_027e0ce0_40 *param2, PlayerActorBase *pPlayer, PlayerLinkActor_9C *param4);
~PlayerLinkActor_A0();
// overlay 0
u32 func_ov000_02093718();
u8 func_ov000_0209378c(); // bool?
// 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 */ bool *mUnk_094;
/* 098 */ unk32 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, unk32 param2, UnkStruct_027e0ce0_40 *param3, bool *param4);
~PlayerLinkActor();
// overlay 1
void func_ov001_020bcb60(unk32 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);
};