PlayerControl: Decomp 5%

This commit is contained in:
Aetias
2025-01-06 22:09:32 +01:00
parent 247d862475
commit 6b9c7701fe
16 changed files with 238 additions and 60 deletions
+13
View File
@@ -0,0 +1,13 @@
#pragma once
#include "global.h"
#include "types.h"
struct UnkStruct_027e05f8 {
/* 0 */ unk16 mUnk_0;
/* 2 */ unk16 mUnk_2;
/* 4 */ unk16 mUnk_4;
/* 6 */
};
extern UnkStruct_027e05f8 data_027e05f8;
+15
View File
@@ -0,0 +1,15 @@
#pragma once
#include "global.h"
#include "types.h"
struct UnkStruct_027e077c {
/* 0 */ unk32 mUnk_0;
/* 4 */ unk32 mUnk_4;
/* 8 */ unk16 mUnk_8;
/* a */ unk8 mUnk_a;
/* b */
};
extern UnkStruct_027e077c data_027e077c;
extern u8 data_02056be4[];
+27
View File
@@ -0,0 +1,27 @@
#pragma once
#include "global.h"
#include "types.h"
#include "Debug/DebugHierarchyBase.hpp"
struct UnkStruct_027e0c68 {
/* 00 */ unk8 mUnk_00[4];
/* 04 */ u8 mUnk_04;
/* 05 */ unk8 mUnk_05[3];
/* 08 */ unk32 mUnk_08;
/* 0c */ unk8 mUnk_0c[4];
/* 10 */ unk16 mUnk_10;
/* 12 */ unk8 mUnk_12[2];
/* 14 */ unk32 mUnk_14;
/* 18 */ s32 mUnk_18;
/* 1c */ s32 mUnk_1c;
/* 20 */ s32 *mUnk_20;
/* 24 */ unk32 mUnk_24;
/* 28 */ s32 *mUnk_28;
/* 2c */ unk8 mUnk_2c[0x1c];
/* 48 */ DebugHierarchyBase *mDebug;
/* 4c */
};
extern UnkStruct_027e0c68 *data_027e0c68;
+28
View File
@@ -0,0 +1,28 @@
#pragma once
#include "global.h"
#include "types.h"
struct UnkStruct_027e0d38 {
/* 00 */ unk8 mUnk_00;
/* 01 */ unk8 mUnk_01[3]; // padding?
/* 04 */ unk32 mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0c */ unk32 mUnk_0c;
/* 10 */ unk32 mUnk_10;
/* 14 */ unk32 mUnk_14;
/* 18 */ unk32 mUnk_18;
/* 1c */ unk16 mUnk_1c;
/* 1e */ unk8 mUnk_1e;
/* 1f */ unk8 mUnk_1f;
/* 20 */ unk8 mUnk_20;
/* 21 */ unk8 mUnk_21;
/* 22 */ unk8 mUnk_22[2]; // padding?
/* 24 */ void *mUnk_24;
/* 28 */ void *mUnk_28;
/* 2c */
s32 func_ov000_02078b40();
};
extern UnkStruct_027e0d38 *data_027e0d38;
+2
View File
@@ -18,6 +18,8 @@ struct UnkStruct_027e103c {
/* 24 */ u8 mUnk_24;
/* 25 */ unk8 mUnk_25[7];
/* 2c */
void func_ov000_020cf2b8();
};
extern UnkStruct_027e103c *data_027e103c;
+12
View File
@@ -6,6 +6,18 @@
#include "Debug/DebugHierarchyBase.hpp"
class DebugHierarchy : public DebugHierarchyBase {
public:
/* 00 (base) */
/* 08 */
/* 00 */ virtual void vfunc_00();
/* 04 */ virtual void vfunc_04();
/* 08 */ virtual void vfunc_08();
/* 0c */ virtual void vfunc_0c();
/* 10 */ virtual void vfunc_10();
/* 14 */ virtual void vfunc_14();
/* 18 */ virtual void vfunc_18();
/* 1c */ virtual void vfunc_1c();
/* 20 */ virtual void vfunc_20(unk32 param1, const char *param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6);
/* 24 */
};
+1 -22
View File
@@ -106,26 +106,6 @@ struct ShipPartPricesShown {
/* c */
};
struct UnkStruct_027e0d38 {
/* 00 */ unk8 mUnk_00;
/* 01 */ unk8 mUnk_01[3]; // padding?
/* 04 */ unk32 mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0c */ unk32 mUnk_0c;
/* 10 */ unk32 mUnk_10;
/* 14 */ unk32 mUnk_14;
/* 18 */ unk32 mUnk_18;
/* 1c */ unk16 mUnk_1c;
/* 1e */ unk8 mUnk_1e;
/* 1f */ unk8 mUnk_1f;
/* 20 */ unk8 mUnk_20;
/* 21 */ unk8 mUnk_21;
/* 22 */ unk8 mUnk_22[2]; // padding?
/* 24 */ void *mUnk_24;
/* 28 */ void *mUnk_28;
/* 2c */
};
typedef u32 ItemModelId;
enum ItemModelId_ {
ItemModelId_OshusSword, // swA
@@ -186,7 +166,7 @@ struct SaveItemManager {
};
class ItemManager : public SysObject {
private:
public:
/* 000 */ ItemFlag mEquippedItem;
/* 004 */ ItemFlag mPrevEquippedItem;
/* 008 */ ItemFlag mForcedItem; // game crashes when any item besides this one is equipped
@@ -227,7 +207,6 @@ private:
/* 14e */ unk8 mUnk_14e[0x2]; // padding?
/* 150 */
public:
static ItemManager *Create();
static void Destroy();
ItemManager();
+10 -3
View File
@@ -57,8 +57,8 @@ public:
/* 84 */ ActorRef mFollowRef;
/* 8c */ ActorRef mNextFollowRef;
/* 94 */ ActorRef mLastFollowRef;
/* 9c */ unk8 mUnk_9c;
/* 9d */ unk8 mUnk_9d;
/* 9c */ u8 mUnk_9c;
/* 9d */ u8 mUnk_9d;
/* 9e */ unk8 mUnk_9e[2];
/* a0 */ void *mFollowActor;
/* a4 */ q20 mFollowDist;
@@ -75,7 +75,7 @@ public:
/* d8 */
static bool func_ov00_020aeeac();
void func_ov00_020aeef8();
bool func_ov00_020aeef8();
void func_ov00_020aef30();
void UpdateAim();
Actor *GetFollowActor();
@@ -124,6 +124,13 @@ public:
bool IsTouchingFast();
bool IsTappedNow();
bool func_ov00_020b13c4();
// More methods starting from 020b78a0, different TU?
void ResetTouchWorld();
void InitTouchMovement();
void func_ov000_020b7924(s32 param1);
void ApplyTouchWorld(Vec3p *result, q20 scale);
bool func_ov000_020b7d6c();
};
extern PlayerControl *gPlayerControl;