PlayerControl: Decomp 27%

This commit is contained in:
Aetias
2025-02-09 09:38:23 +01:00
parent bbc7382bdf
commit 57de079397
14 changed files with 366 additions and 50 deletions
+1 -3
View File
@@ -8,9 +8,7 @@ struct ActorRef {
/* 4 */ s32 index;
/* 8 */
inline ActorRef() {
Reset();
}
inline ActorRef() {}
inline ActorRef(s32 id, s32 index) :
id(id),
index(index) {}
+1
View File
@@ -10,6 +10,7 @@
class ActorNaviBase_Unk1 {};
class ActorNaviBase : public Actor {
public:
/* 000 (base) */
/* 158 */ Vec3p mOffsetPos;
/* 164 */ unk32 mUnk_164;
+7 -1
View File
@@ -3,6 +3,12 @@
#include "global.h"
#include "types.h"
struct UnkStruct_027e0d38_Unk28 {
/* 00 */ unk8 mUnk_00[0x34];
/* 34 */ bool mUnk_34;
/* 35 */
};
struct UnkStruct_027e0d38 {
/* 00 */ unk8 mUnk_00;
/* 01 */ unk8 mUnk_01[3]; // padding?
@@ -19,7 +25,7 @@ struct UnkStruct_027e0d38 {
/* 21 */ unk8 mUnk_21;
/* 22 */ unk8 mUnk_22[2]; // padding?
/* 24 */ void *mUnk_24;
/* 28 */ void *mUnk_28;
/* 28 */ UnkStruct_027e0d38_Unk28 *mUnk_28;
/* 2c */
s32 func_ov000_02078b40();
+22
View File
@@ -0,0 +1,22 @@
#pragma once
#include "global.h"
#include "types.h"
struct UnkStruct_027e0e2c {
/* 00 */ unk32 mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0c */ unk32 mUnk_0c;
/* 10 */ unk32 mUnk_10;
/* 14 */ unk16 mUnk_14;
/* 16 */ unk16 mUnk_16;
/* 18 */ unk32 mUnk_18;
/* 1c */ unk32 mUnk_1c;
/* 20 */ unk32 mUnk_20;
/* 24 */ unk32 mUnk_24;
/* 28 */ unk32 mUnk_28;
/* 2c */
};
extern UnkStruct_027e0e2c data_027e0e2c;
+26
View File
@@ -0,0 +1,26 @@
#pragma once
#include "global.h"
#include "types.h"
struct UnkStruct_027e0ffc {
/* 00 */ unk32 mUnk_00;
/* 04 */ unk32 mUnk_04[0x4];
/* 14 */ unk32 mUnk_14;
/* 18 */ unk32 mUnk_18;
/* 1c */ unk32 mUnk_1c;
/* 20 */ unk32 mUnk_20;
/* 24 */ unk8 mUnk_24;
/* 25 */ unk8 mUnk_25[0x3];
/* 28 */ unk32 mUnk_28;
/* 2c */ unk32 mUnk_2c;
/* 30 */ unk32 mUnk_30;
/* 34 */ unk32 mUnk_34;
/* 38 */ unk8 mUnk_38;
/* 39 */
void func_ov000_020cebcc(u32 param1, unk16 param2, unk32 param3);
void func_ov000_020ced64(Cylinder *param1, u32 param2);
};
extern UnkStruct_027e0ffc data_027e0ffc;
+5 -5
View File
@@ -158,7 +158,7 @@ public:
bool func_ov00_020839c4(s32 param_2);
static unk8 func_ov00_020839d4();
static unk8 func_ov00_020839f8();
static void func_ov00_02083a1c(unk32 param_1, MapManager *param_2, Vec3p *param_3);
static void func_ov00_02083a1c(Vec2b *param_1, MapManager *param_2, Vec3p *param_3);
static unk8 func_ov00_02083a54(unk32 param_1, MapManager *param_2, unk32 param_3, unk32 param_4, unk32 param_5);
static unk8 func_ov00_02083b84();
static unk8 func_ov00_02083bac();
@@ -166,7 +166,7 @@ public:
static unk8 func_ov00_02083bfc();
unk8 func_ov00_02083c24(unk32 param_2);
unk8 func_ov00_02083c50(unk32 param_2);
unk8 func_ov00_02083c7c(Vec3p *param_2, unk32 param_3);
unk8 func_ov00_02083c7c(Vec3p *param_2, Vec2b param_3);
static unk8 func_ov00_02083ce8(unk8 param_1, unk8 param_2, unk8 param_3, unk8 param_4, unk32 param_5);
unk8 func_ov00_02083e34(unk8 param_2, unk8 param_3, unk32 param_4);
unk8 MapData_vfunc_60();
@@ -180,7 +180,7 @@ public:
void GetTileWorldBounds(Vec2b *tile, AABB *tileBounds);
unk8 MapData_vfunc_54();
unk8 func_ov00_020840a0(unk8 param_2, unk8 param_3, unk32 param_4);
unk8 MapData_vfunc_78();
unk32 MapData_vfunc_78();
static unk8 func_ov00_020840dc();
static unk8 func_ov00_02084100(unk32 param_1, MapManager *param_2);
unk8 GetMapData_Unk_48();
@@ -232,10 +232,10 @@ public:
unk8 func_ov00_02084d24(unk8 param_2, unk8 param_3, unk32 param_4);
s32 func_ov00_02084d4c(unk32 param_2, unk32 param_3, Vec3p *param_4);
unk8 func_ov00_02084ebc(unk32 param_2);
s32 func_ov00_02085108(s32 *param_2);
s32 func_ov00_02085108(Vec3p *param_2);
static unk8 func_ov00_0208527c();
static unk8 func_ov00_020853fc();
static unk8 func_ov00_02085594();
unk8 func_ov00_02085594(Vec3p *param_1);
static void func_ov00_0208583c(unk32 param_1, Vec3p *param_2, unk32 param_3);
static unk8 func_ov00_020858b0();
s32 func_ov00_02085a34(unk32 param_2, unk32 param_3);
+1 -1
View File
@@ -34,7 +34,7 @@ public:
/* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const;
/* 40 */ virtual unk32 vfunc_40() const;
/* 44 */ virtual unk32 vfunc_44(unk32 param1) const;
/* 48 */ virtual unk32 vfunc_48(unk32 param1) const;
/* 48 */ virtual unk32 vfunc_48() const;
/* 4c */ virtual s32 vfunc_4c() const;
/* 50 */
+7 -8
View File
@@ -28,7 +28,7 @@ public:
/* 50 */ q20 mTouchSpeedX; // how fast the stylus moves
/* 54 */ q20 mTouchSpeedY;
/* 58 */ q20 mTouchDist; // pixel distance from touch to link, deadzone is 20 pixels
/* 5c */ unk32 mUnk_5c;
/* 5c */ q20 mTouchSpeed;
/* 60 */ s16 mTouchDuration;
/* 62 */ s16 mTouchSlowDuration; // resets to 0 if stylus is fast enough
/* 64 */ s16 mTouchFastTime; // gets set to mTouchDuration if stylus is fast enough
@@ -57,13 +57,12 @@ public:
/* 84 */ ActorRef mFollowRef;
/* 8c */ ActorRef mNextFollowRef;
/* 94 */ ActorRef mLastFollowRef;
/* 9c */ u8 mUnk_9c;
/* 9d */ u8 mUnk_9d;
/* 9c */ Vec2b mUnk_9c;
/* 9e */ unk8 mUnk_9e[2];
/* a0 */ void *mFollowActor;
/* a4 */ q20 mFollowDist;
/* a8 */ u16 mFollowStuckTimer;
/* aa */ u16 mCutsceneEndTimer;
/* aa */ s16 mCutsceneEndTimer;
/* ac */ s16 mUnk_ac;
/* ae */ unk16 mUnk_ae;
/* b0 */ Vec3p mAim; // used by boomerang, bow and rope
@@ -75,11 +74,11 @@ public:
/* d8 */
static bool func_ov00_020aeeac();
bool func_ov00_020aeef8();
static bool func_ov00_020aeef8();
void func_ov00_020aef30();
void UpdateAim();
Actor *GetFollowActor();
bool func_ov00_020af01c(unk8 *param1);
bool func_ov00_020af01c(Vec2b *param1);
void SetUnk_80();
void StopFollowing();
void func_ov00_020af06c();
@@ -90,14 +89,14 @@ public:
bool CheckTouching(u32 param1);
bool CheckTouchFast(u32 param1);
bool func_ov00_020af4a4();
void func_ov00_020af538();
void func_ov00_020af538(bool param1, u8 param2);
void func_ov00_020af6e4(Vec3p *param1, s32 param3, s32 param4);
bool func_ov00_020af778();
bool func_ov00_020afad8(Vec3p *param1);
void func_ov00_020afb6c();
bool func_ov00_020afe88(s32 param1, bool param2);
bool func_ov00_020afeec(unk32 param1, bool param2);
void func_ov00_020aff90(unk32 param1, unk32 param2);
void func_ov00_020aff90(Cylinder *param1, unk32 param2);
void func_ov00_020affec(Vec3p *param1, s32 y, s32 param3, Vec3p *param4);
void func_ov00_020b014c();
void SetAim();