summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/Actor/ActorRef.hpp4
-rw-r--r--include/Actor/Navi/ActorNaviBase.hpp2
-rw-r--r--include/DTCM/UnkStruct_027e05f8.hpp7
-rw-r--r--include/DTCM/UnkStruct_027e077c.hpp20
-rw-r--r--include/DTCM/UnkStruct_027e0c68.hpp27
-rw-r--r--include/DTCM/UnkStruct_027e0d38.hpp10
-rw-r--r--include/DTCM/UnkStruct_027e0e2c.hpp22
-rw-r--r--include/DTCM/UnkStruct_027e0f64.hpp15
-rw-r--r--include/DTCM/UnkStruct_027e0ffc.hpp27
-rw-r--r--include/DTCM/UnkStruct_027e1098.hpp21
-rw-r--r--include/Debug/DebugHierarchyBase.hpp2
-rw-r--r--include/Item/ItemManager.hpp3
-rw-r--r--include/Map/MapManager.hpp10
-rw-r--r--include/Player/PlayerBase.hpp2
-rw-r--r--include/Player/PlayerControl.hpp37
-rw-r--r--include/Player/PlayerControlData.hpp6
-rw-r--r--include/Player/TouchGesture.hpp3
17 files changed, 180 insertions, 38 deletions
diff --git a/include/Actor/ActorRef.hpp b/include/Actor/ActorRef.hpp
index 5ef03f2c..eeace571 100644
--- a/include/Actor/ActorRef.hpp
+++ b/include/Actor/ActorRef.hpp
@@ -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) {}
diff --git a/include/Actor/Navi/ActorNaviBase.hpp b/include/Actor/Navi/ActorNaviBase.hpp
index 4c2a20cf..59db230b 100644
--- a/include/Actor/Navi/ActorNaviBase.hpp
+++ b/include/Actor/Navi/ActorNaviBase.hpp
@@ -21,7 +21,7 @@ class ActorNaviBase_Unk1 {};
class ActorNaviBase : public Actor {
public:
/* 000 (base) */
- /* 158 */ Vec3p mUnk_158;
+ /* 158 */ Vec3p mOffsetPos;
/* 164 */ unk32 mUnk_164;
/* 168 */ ModelRender mUnk_168;
/* 1c4 */ unk8 mUnk_1c4[0xc];
diff --git a/include/DTCM/UnkStruct_027e05f8.hpp b/include/DTCM/UnkStruct_027e05f8.hpp
index 43e83540..a5bc24d6 100644
--- a/include/DTCM/UnkStruct_027e05f8.hpp
+++ b/include/DTCM/UnkStruct_027e05f8.hpp
@@ -4,7 +4,10 @@
#include "types.h"
struct UnkStruct_027e05f8 {
- // TODO: Add fields
+ /* 0 */ u16 mUnk_0;
+ /* 2 */ u16 mUnk_2;
+ /* 4 */ unk16 mUnk_4;
+ /* 6 */
void func_0202adf4(unk32 param1, s32 param2);
~UnkStruct_027e05f8();
@@ -15,3 +18,5 @@ struct UnkStruct_027e05f8 {
void func_02037480();
static unk32 func_02037490(unk32 param1);
};
+
+extern UnkStruct_027e05f8 data_027e05f8;
diff --git a/include/DTCM/UnkStruct_027e077c.hpp b/include/DTCM/UnkStruct_027e077c.hpp
index 3adda2bc..57ef477d 100644
--- a/include/DTCM/UnkStruct_027e077c.hpp
+++ b/include/DTCM/UnkStruct_027e077c.hpp
@@ -4,8 +4,26 @@
#include "types.h"
struct UnkStruct_027e077c {
- // TODO: Add fields
+private:
+ /* 0 */ unk32 mUnk_0;
+ /* 4 */ unk32 mUnk_4;
+
+public:
+ /* 8 */ unk16 mUnk_8;
+ /* a */ unk8 mUnk_a;
+ /* b */
UnkStruct_027e077c(unk32 param1);
bool func_0202e740(unk32 param1);
+
+ inline volatile unk32 GetUnk0() const {
+ return mUnk_0;
+ }
+
+ inline unk32 GetUnk4() const {
+ return mUnk_4;
+ }
};
+
+extern UnkStruct_027e077c data_027e077c;
+extern volatile u8 data_02056be4[];
diff --git a/include/DTCM/UnkStruct_027e0c68.hpp b/include/DTCM/UnkStruct_027e0c68.hpp
new file mode 100644
index 00000000..e172e51e
--- /dev/null
+++ b/include/DTCM/UnkStruct_027e0c68.hpp
@@ -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;
diff --git a/include/DTCM/UnkStruct_027e0d38.hpp b/include/DTCM/UnkStruct_027e0d38.hpp
index a36af0fe..b2e50a89 100644
--- a/include/DTCM/UnkStruct_027e0d38.hpp
+++ b/include/DTCM/UnkStruct_027e0d38.hpp
@@ -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,10 +25,10 @@ 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 */
- unk32 func_ov000_02078b40();
+ s32 func_ov000_02078b40();
unk8 func_ov000_02078b64();
bool func_ov000_02078b88();
};
diff --git a/include/DTCM/UnkStruct_027e0e2c.hpp b/include/DTCM/UnkStruct_027e0e2c.hpp
new file mode 100644
index 00000000..b8923bde
--- /dev/null
+++ b/include/DTCM/UnkStruct_027e0e2c.hpp
@@ -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;
diff --git a/include/DTCM/UnkStruct_027e0f64.hpp b/include/DTCM/UnkStruct_027e0f64.hpp
new file mode 100644
index 00000000..33728a7e
--- /dev/null
+++ b/include/DTCM/UnkStruct_027e0f64.hpp
@@ -0,0 +1,15 @@
+#pragma once
+
+#include "global.h"
+#include "types.h"
+
+struct UnkStruct_027e0f64 {
+ /* 0 */ DebugHierarchyBase *mUnk_0;
+ /* 4 */ void *mUnk_4;
+ /* 8 */ void *mUnk_8;
+ /* c */
+
+ unk32 func_ov000_0208b180();
+};
+
+extern UnkStruct_027e0f64 *data_027e0f64;
diff --git a/include/DTCM/UnkStruct_027e0ffc.hpp b/include/DTCM/UnkStruct_027e0ffc.hpp
new file mode 100644
index 00000000..463d9ec8
--- /dev/null
+++ b/include/DTCM/UnkStruct_027e0ffc.hpp
@@ -0,0 +1,27 @@
+#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, u32 param3);
+ void func_ov000_020ced7c(Vec3p *param1, s32 param2, s32 param3, unk32 param4);
+};
+
+extern UnkStruct_027e0ffc data_027e0ffc;
diff --git a/include/DTCM/UnkStruct_027e1098.hpp b/include/DTCM/UnkStruct_027e1098.hpp
new file mode 100644
index 00000000..043e108a
--- /dev/null
+++ b/include/DTCM/UnkStruct_027e1098.hpp
@@ -0,0 +1,21 @@
+#pragma once
+
+#include "types.h"
+
+struct UnkStruct_027e1098 {
+ /* 00 */ unk8 mUnk_00[0x38];
+ /* 38 */ unk32 mUnk_38;
+ /* 3c */ unk32 mUnk_3c;
+ /* 40 */ unk32 mUnk_40;
+ /* 44 */ unk32 mUnk_44;
+ /* 48 */ unk8 mUnk_48;
+ /* 49 */ unk8 mUnk_49;
+ /* 4a */ unk8 mUnk_4a;
+ /* 4b */ unk8 mUnk_4b;
+ /* 4c */ unk32 mUnk_4c;
+ /* 50 */
+
+ void func_ov014_0211fd04();
+};
+
+extern UnkStruct_027e1098 *data_027e1098;
diff --git a/include/Debug/DebugHierarchyBase.hpp b/include/Debug/DebugHierarchyBase.hpp
index 0e57c9a7..ca1e0eb7 100644
--- a/include/Debug/DebugHierarchyBase.hpp
+++ b/include/Debug/DebugHierarchyBase.hpp
@@ -19,7 +19,7 @@ public:
/* 14 */ virtual void vfunc_14();
/* 18 */ virtual void vfunc_18();
/* 1c */ virtual void vfunc_1c();
- /* 20 */ virtual void vfunc_20();
+ /* 20 */ virtual void vfunc_20(unk32 param1, const char *param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6);
/* 24 */ virtual void vfunc_24();
/* 28 */ virtual void vfunc_28();
/* 2c */ virtual void vfunc_2c();
diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp
index 9e473fc2..37f22457 100644
--- a/include/Item/ItemManager.hpp
+++ b/include/Item/ItemManager.hpp
@@ -51,7 +51,7 @@ enum DungeonItemModelId_ {
};
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
@@ -92,7 +92,6 @@ private:
/* 14e */ unk8 mUnk_14e[0x2]; // padding?
/* 150 */
-public:
static ItemManager *Create();
static void Destroy();
ItemManager();
diff --git a/include/Map/MapManager.hpp b/include/Map/MapManager.hpp
index f6557c07..91e958d8 100644
--- a/include/Map/MapManager.hpp
+++ b/include/Map/MapManager.hpp
@@ -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(Vec2b *param1);
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);
diff --git a/include/Player/PlayerBase.hpp b/include/Player/PlayerBase.hpp
index d2ffea38..744ff464 100644
--- a/include/Player/PlayerBase.hpp
+++ b/include/Player/PlayerBase.hpp
@@ -64,4 +64,4 @@ public:
extern PlayerBase *gPlayer;
extern Vec3p gPlayerPos;
extern Vec3p gPlayerVel;
-extern s16 gPlayerAngle;
+extern u16 gPlayerAngle;
diff --git a/include/Player/PlayerControl.hpp b/include/Player/PlayerControl.hpp
index f2cc23eb..11dd6488 100644
--- a/include/Player/PlayerControl.hpp
+++ b/include/Player/PlayerControl.hpp
@@ -11,7 +11,7 @@
#include "Player/TouchControl.hpp"
#include "Player/TouchGesture.hpp"
-typedef u16 TouchEdge;
+typedef s16 TouchEdge;
enum TouchEdge_ {
TouchEdge_Right = 0,
TouchEdge_Left = 1,
@@ -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
@@ -46,24 +46,23 @@ public:
/* 79 */ bool mUsingEquipItem;
/* 7a */ bool mUnk_7a;
/* 7b */ bool mUnk_7b;
- /* 7c */ s8 mUnk_7c;
+ /* 7c */ u8 mUnk_7c;
/* 7d */ bool mUnk_7d;
- /* 7e */ s8 mUnk_7e;
+ /* 7e */ u8 mUnk_7e;
/* 7f */ bool mUnk_7f;
/* 80 */ bool mUnk_80;
/* 81 */ bool mFollowing;
- /* 82 */ unk8 mUnk_82;
+ /* 82 */ bool mUnk_82;
/* 83 */ bool mUnk_83;
/* 84 */ ActorRef mFollowRef;
/* 8c */ ActorRef mNextFollowRef;
/* 94 */ ActorRef mLastFollowRef;
- /* 9c */ unk8 mUnk_9c;
- /* 9d */ unk8 mUnk_9d;
+ /* 9c */ Vec2b mUnk_9c;
/* 9e */ unk8 mUnk_9e[2];
- /* a0 */ void *mFollowActor;
+ /* a0 */ void *mFollowObject;
/* a4 */ q20 mFollowDist;
- /* a8 */ u16 mFollowStuckTimer;
- /* aa */ u16 mCutsceneEndTimer;
+ /* a8 */ s16 mFollowStuckTimer;
+ /* 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();
- void 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,30 +89,30 @@ 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(Vec3p *param1, unk32 param2);
void func_ov00_020affec(Vec3p *param1, s32 y, s32 param3, Vec3p *param4);
- void func_ov00_020b014c();
- void SetAim();
+ void func_ov00_020b014c(Vec3p *param1);
+ void ResetAim();
bool UpdateAimWorld(Vec3p *param1);
s16 GetTouchAngle();
u32 func_ov00_020b034c();
s32 func_ov00_020b0418();
bool func_ov00_020b049c(Vec3p *param1, bool param2);
bool func_ov00_020b05e8(Vec3p *param1);
- bool func_ov00_020b0778(Vec3p *param1, u32 param2, unk32 param3);
+ bool func_ov00_020b0778(Vec3p *param1, u32 param2, unk32 *param3);
bool CheckNotTouching();
bool func_ov00_020b0ad0(Actor *actor);
bool func_ov00_020b0b0c(s16 *pAngle, ItemFlag *pEquipId, unk32 *pCardinal, bool *pFast);
bool func_ov00_020b0de8(Vec3p *param1);
bool func_ov00_020b0e54(Vec3p *param1, Vec3p *param2);
- bool func_ov00_020b0f88(Vec3p *param1, unk32 param2, Vec3p *param3);
+ bool func_ov00_020b0f88(Vec3p *param1, unk32 scale, Vec3p *param3);
bool func_ov00_020b1058(Vec3p *param1, unk32 param2, Vec3p *param3, Vec3p *param4);
bool IsUntouchedNow();
bool IsNotUntouchedNow();
@@ -138,6 +137,8 @@ public:
void Init();
void func_ov004_0210b1d0();
static void func_ov004_0210b1f0();
+
+ bool func_ov024_02178348(Vec3p *param1);
};
extern PlayerControl *gPlayerControl;
diff --git a/include/Player/PlayerControlData.hpp b/include/Player/PlayerControlData.hpp
index 3527810c..cdcd8db8 100644
--- a/include/Player/PlayerControlData.hpp
+++ b/include/Player/PlayerControlData.hpp
@@ -87,8 +87,8 @@ public:
/* 68 */ virtual void vfunc_68(unk32 param1, unk32 param2);
/* 6c */ virtual void vfunc_6c(s32 param1, Vec3p *param2);
/* 70 */ virtual void vfunc_70(s32 param1);
- /* 74 */ virtual unk32 vfunc_74();
- /* 78 */ virtual unk32 vfunc_78();
+ /* 74 */ virtual unk32 vfunc_74(s32 param1);
+ /* 78 */ virtual unk32 vfunc_78(s32 param1);
/* 7c */ virtual unk32 vfunc_7c();
/* 80 */
@@ -105,3 +105,5 @@ public:
PlayerControlData();
};
+
+extern PlayerControlData *gPlayerControlData;
diff --git a/include/Player/TouchGesture.hpp b/include/Player/TouchGesture.hpp
index 5009525e..0ed897a7 100644
--- a/include/Player/TouchGesture.hpp
+++ b/include/Player/TouchGesture.hpp
@@ -22,7 +22,8 @@ public:
class TouchGesture : public TouchGestureBase {
public:
/* 00 (base) */
- /* 05 */ unk8 mUnk_05[7];
+ /* 05 */ unk8 mUnk_05[3];
+ /* 08 */ s32 mUnk_08;
/* 0c */ u16 mIndex;
/* 0e */ unk16 mUnk_0e;
/* 10 */ u16 mUnk_10[GESTURE_BUFFER_LENGTH];