Merge remote-tracking branch 'zeldaret/main' into decomp-PlayerControl

This commit is contained in:
Aetias
2025-02-04 21:30:00 +01:00
347 changed files with 9795 additions and 5379 deletions
@@ -0,0 +1,51 @@
#pragma once
#include "global.h"
#include "types.h"
#include "Item/ItemModelLoader.hpp"
#include "Player/PlayerControlData.hpp"
#include "Unknown/UnkStruct_02035064.hpp"
class PlayerBattleLinkControlData : public PlayerControlData {
public:
/* 000 (base) */
/* 1a0 */ s32 mUnk_1a0;
/* 1a4 */ unk32 mUnk_1a4;
/* 1a8 */ UnkStruct_02035064 mUnk_1a8;
/* 230 */ unk32 mUnk_230;
/* 234 */ unk32 mUnk_234;
/* 238 */ ItemModelLoader *mUnk_238;
/* 23c */ unk32 mUnk_23c;
/* 240 */ unk32 mUnk_240;
/* 244 */ u8 mUnk_244;
/* 245 */ u8 mUnk_245;
/* 246 */ u8 mUnk_246;
/* 247 */ unk8 mUnk_247;
/* 248 */
/* 04 */ virtual ~PlayerBattleLinkControlData() override;
/* 10 */ virtual unk32 GetCharacterId() override;
/* 14 */ virtual void vfunc_14(s32 param1) override;
/* 18 */ virtual void vfunc_18() override;
/* 20 */ virtual void vfunc_20() override;
/* 2c */ virtual void vfunc_2c() override;
/* 30 */ virtual void vfunc_30() override;
/* 38 */ virtual void vfunc_38(s32 param1, s32 param2) override;
/* 3c */ virtual void vfunc_3c(s32 param1, s32 param2) override;
/* 40 */ virtual void vfunc_40(u16 *param1, Vec3p *param2, unk32 param3, char param4) override;
/* 44 */ virtual void vfunc_44(unk32 param1, unk32 *param2, unk32 param3, unk16 param4) override;
/* 4c */ virtual void vfunc_4c(unk32 param1, Vec3p *param2) override;
/* 60 */ virtual void vfunc_60(unk32 param1, unk32 param2, s32 param3) override;
/* 64 */ virtual void vfunc_64(u32 param1) override;
/* 68 */ virtual void vfunc_68(unk32 param1, unk32 param2) override;
/* 6c */ virtual void vfunc_6c(s32 param1, Vec3p *param2) override;
/* 70 */ virtual void vfunc_70(s32 param1) override;
/* 80 */ virtual void vfunc_80(s32 param1) override;
/* 84 */
PlayerBattleLinkControlData();
void func_ov012_0211af70();
bool func_ov012_0211b9c4(s32 param1, Vec3p *param2);
void func_ov012_0211bb08(s32 param1);
};
+18 -15
View File
@@ -2,32 +2,35 @@
#include "types.h"
#include "Actor/Actor.hpp"
#include "Actor/ActorRef.hpp"
#include "Player/EquipItem.hpp"
#include "Render/ModelRender.hpp"
#define MAX_BOMB_ACTORS 3
class LinkStateItem;
class EquipBomb : public EquipItem {
private:
public:
static ModelRender gModelRender;
/* 00 (base) */
/* 09 */ unk8 mUnk_09[3];
/* 0c */ unk32 mUnk_0c;
/* 10 */ unk8 mUnk_10[0x14];
/* 09 */ unk8 mUnk_09[0x3];
/* 0c */ ActorRef mBombs[MAX_BOMB_ACTORS];
/* 24 */
public:
EquipBomb();
/* 00 */ virtual void vfunc_00() override; // func_ov55_02198d00
/* 00 */ virtual void vfunc_00() override;
/* 04 */ virtual ~EquipBomb() override;
/* 0c */ virtual ItemFlag GetId() const override;
/* 14 */ virtual bool IsUsable(unk32 param1) const override;
/* 18 */ virtual void vfunc_18() override; // func_ov55_02198d8c
/* 30 */ virtual void vfunc_30() override; // func_ov55_02198da4
/* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov55_2198df8
/* 50 */ virtual void vfunc_50(); // func_ov14_0213d228
/* 18 */ virtual void vfunc_18() override;
/* 30 */ virtual void vfunc_30() override;
/* 38 */ virtual void vfunc_38(unk32 param1) override;
/* 50 */ virtual unk32 vfunc_50();
/* 54 */
static void StopUsing(LinkStateItem *param1, unk32 param2);
EquipBomb();
Actor *func_ov055_02198e60();
};
+60 -19
View File
@@ -2,22 +2,51 @@
#include "types.h"
#include "Actor/Actor.hpp"
#include "Player/EquipItem.hpp"
#include "Render/ModelRender.hpp"
#include "Unknown/UnkStruct_ov000_020beba8.hpp"
struct EquipBombchu_Unk1 {
/* 0 */ unk8 mUnk_0;
/* 1 */ unk8 mUnk_1;
/* 2 */
EquipBombchu_Unk1();
};
class EquipBombchu_Unk_02198d00 : public UnkStruct_ov000_020beba8 {
public:
/* 0 (base) */
/* c */
/* 00 */ virtual ~EquipBombchu_Unk_02198d00() override;
/* 08 */ virtual void vfunc_08(unk16 *param1) override;
/* 0c */ virtual void vfunc_0c(unk16 *param1) override;
/* 10 */ virtual void vfunc_10(s32 *param1) override;
/* 14 */ virtual void vfunc_14(u16 *param1) override;
/* 1c */
inline EquipBombchu_Unk_02198d00() :
UnkStruct_ov000_020beba8(3) {}
};
class EquipBombchu : public EquipItem {
private:
public:
static ModelRender gModelRenderBombchu;
static ModelRender gModelRenderBombchuPt;
/* 00 (base) */
/* 09 */ u8 mUnk_09[3];
/* 0c */ u8 mUnk_0c[0x0c];
/* 0c */ ActorRef mUnk_0c;
/* 0c */ u8 mUnk_14[0x4];
/* 18 */ u32 mUnk_18;
/* 1c */ void *mUnk_1c;
/* 20 */ void *mUnk_20;
/* 24 */ u32 mUnk_24;
/* 28 */ u32 mUnk_28;
/* 1c */ EquipBombchu_Unk1 *mUnk_1c;
/* 20 */ Vec3p mUnk_20;
/* 2c */ void *mUnk_2c;
/* 30 */ u32 mUnk_30;
/* 34 */ u32 mUnk_34;
/* 38 */ u8 mUnk_38[0xc];
/* 38 */ Vec3p mUnk_38;
/* 44 */ u16 mUnk_44;
/* 46 */ u8 mUnk_46;
/* 47 */ char mUnk_47;
@@ -25,22 +54,34 @@ private:
/* 49 */ unk8 mUnk_49[3];
/* 4c */
public:
EquipBombchu();
/* 00 */ virtual void vfunc_00() override; // func_ov58_02198fc0
/* 00 */ virtual void vfunc_00() override;
/* 04 */ virtual ~EquipBombchu() override;
/* 0c */ virtual ItemFlag GetId() const override;
bool CheckUsable(unk32 param1) const;
/* 14 */ virtual bool IsUsable(unk32 param1) const override;
/* 18 */ virtual void vfunc_18() override; // func_ov58_0219903c
/* 1c */ virtual void vfunc_1c() override; // func_ov58_02199060
/* 30 */ virtual void vfunc_30() override; // func_ov58_0219906c
/* 34 */ virtual void vfunc_34(unk16 *param1) override; // func_ov58_0213ecb4
/* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov58_02199170
/* 18 */ virtual void vfunc_18() override;
/* 1c */ virtual void vfunc_1c() override;
/* 30 */ virtual void vfunc_30() override;
/* 34 */ virtual void vfunc_34(unk16 *param1) override;
/* 38 */ virtual void vfunc_38(unk32 param1) override;
/* 50 */
EquipBombchu();
void func_ov014_0213eba4();
void func_ov014_0213ec40();
void func_ov014_0213ec64();
Actor *func_ov014_0213ed74();
void *func_ov014_0213ed94(s32 param1);
void func_ov014_0213eda0();
void func_ov058_02199220();
void func_ov058_02199228();
void func_ov058_02199264();
void func_ov058_0219926c();
bool CheckUsable(unk32 param1) const;
Actor *func_ov058_02199400();
bool func_ov058_02199498(Vec3p *vec);
void func_ov058_02199ef0(unk16 param1);
void func_ov058_02199fd8(u32 param1);
unk32 func_ov058_0219a084(unk16 param1);
bool func_ov058_0219a3b4(unk16 param1);
};
+22 -7
View File
@@ -25,15 +25,30 @@ private:
public:
/* 04 */ virtual ~EquipBoomerang() override;
/* 0c */ virtual ItemFlag GetId() const override;
/* 10 */ virtual void vfunc_10() override; // func_ov14_0213d078
/* 10 */ virtual void vfunc_10() override;
/* 14 */ virtual bool IsUsable(unk32 param1) const override;
/* 18 */ virtual void vfunc_18() override; // func_ov53_02199064
/* 1c */ virtual void vfunc_1c() override; // func_ov53_021990d0
/* 30 */ virtual void vfunc_30() override; // func_ov53_0219913c
/* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov53_02199318
/* 18 */ virtual void vfunc_18() override;
/* 1c */ virtual void vfunc_1c() override;
/* 28 */ virtual bool UpdateInUse(unk32 param1) override;
/* 30 */ virtual void vfunc_30() override;
/* 38 */ virtual void vfunc_38(unk32 param1) override;
/* 50 */
EquipBoomerang();
void func_ov014_0213d098();
void func_ov014_0213d0bc(Vec3p *param1);
Actor *GetActor();
void func_ov014_0213d184();
void func_ov014_0213d1b0();
void func_ov053_02199014();
void func_ov053_02199020();
s32 func_ov053_0219902c(s32 param1);
void func_ov053_02199038();
void func_ov053_021990f0(unk16 param1);
bool func_ov053_02199128(s32 *param1);
void func_ov053_02199168();
void func_ov053_021991ec();
bool func_ov053_02199410(s32 param1);
bool func_ov053_021994cc(Vec3p *param1);
};
+15 -10
View File
@@ -3,9 +3,13 @@
#include "types.h"
#include "Player/EquipItem.hpp"
#include "Render/ModelRender.hpp"
class EquipBow : public EquipItem {
private:
public:
static ModelRender gModelRenderBow;
static ModelRender gModelRenderArrow;
/* 00 (base) */
/* 09 */ unk8 mUnk_09;
/* 0a */ unk8 mUnk_0a;
@@ -14,17 +18,18 @@ private:
/* 0d */ unk8 mUnk_0d[3];
/* 10 */
public:
EquipBow();
/* 00 */ virtual void vfunc_00() override; // func_ov56_02198d00
/* 00 */ virtual void vfunc_00() override;
/* 04 */ virtual ~EquipBow() override;
/* 0c */ virtual ItemFlag GetId() const override;
/* 14 */ virtual bool IsUsable(unk32 param1) const override;
/* 18 */ virtual void vfunc_18() override; // func_ov56_02198d84
/* 30 */ virtual void vfunc_30() override; // func_ov56_02198de4
/* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov56_02198df8
/* 18 */ virtual void vfunc_18() override;
/* 30 */ virtual void vfunc_30() override;
/* 38 */ virtual void vfunc_38(unk32 param1) override;
/* 50 */
EquipBow();
bool func_ov056_02198ee8();
void func_ov056_02198f48(u16 param1);
bool func_ov056_021992f8();
};
+17 -14
View File
@@ -10,7 +10,7 @@ class EquipHammer : public EquipItem {
private:
/* 00 (base) */
/* 09 */ unk8 mUnk_09[3];
/* 0c */ unk8 mUnk_0c[0xc];
/* 0c */ Vec3p mUnk_0c;
/* 18 */ unk32 mUnk_18;
/* 1c */ unk8 mUnk_1c;
/* 1d */ unk8 mUnk_1d;
@@ -21,22 +21,25 @@ private:
/* 2c */
public:
EquipHammer();
/* 04 */ virtual ~EquipHammer() override;
/* 0c */ virtual ItemFlag GetId() const override;
/* 10 */ virtual void vfunc_10() override; // func_ov14_0213ee04
/* 10 */ virtual void vfunc_10() override;
/* 14 */ virtual bool IsUsable(unk32 param1) const override;
/* 18 */ virtual void vfunc_18() override; // func_ov59_02198e3c
/* 1c */ virtual void vfunc_1c() override; // func_ov59_02198e58
/* 2c */ virtual u32 vfunc_2c() override; // func_ov59_02198fcc
/* 30 */ virtual void vfunc_30() override; // func_ov59_02198e6c
/* 38 */ virtual void vfunc_38(unk32 param1) override; // func_0v59_02198fc8
/* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const override; // func_ov14_0213ee10
/* 4c */ virtual s32 vfunc_4c() const override; // func_ov14_0213eea8
/* 18 */ virtual void vfunc_18() override;
/* 1c */ virtual void vfunc_1c() override;
/* 2c */ virtual u32 vfunc_2c() override;
/* 30 */ virtual void vfunc_30() override;
/* 38 */ virtual void vfunc_38(unk32 param1) override;
/* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const override;
/* 4c */ virtual s32 vfunc_4c() const override;
/* 50 */
static void StopUsing(LinkStateItem *param1);
EquipHammer();
void func_ov059_02198e90();
bool func_ov059_02198ebc();
bool func_ov059_02198ed4();
void func_ov059_02198f10(Vec3p *vec, unk32 param2, s32 param3);
void func_ov059_02198fa8(unk32 param1);
bool func_ov059_02198fe0();
};
+17 -15
View File
@@ -8,36 +8,38 @@
#include "System/SysNew.hpp"
class EquipItem : public SysObject {
private:
public:
/* 0 (vtable) */
/* 4 */ u16 mUnk_00;
/* 6 */ u16 mUnk_04;
/* 8 */ bool mInUse;
/* 9 */
public:
EquipItem();
/* 00 */ virtual void vfunc_00(); // func_ov00_020be8dc
/* 00 */ virtual void vfunc_00();
/* 04 */ virtual ~EquipItem();
/* 0c */ virtual ItemFlag GetId() const = 0;
/* 10 */ virtual void vfunc_10(); // func_ov04_0210ba88
u16 GetAmmo();
/* 10 */ virtual void vfunc_10();
/* 14 */ virtual bool IsUsable(unk32 param1) const;
/* 18 */ virtual void vfunc_18() = 0;
/* 1c */ virtual void vfunc_1c(); // func_ov00_020be8e0
/* 1c */ virtual void vfunc_1c();
/* 20 */ virtual void GiveAmmo(u32 amount);
/* 24 */ virtual bool IsInUse() const;
/* 28 */ virtual bool UpdateInUse(unk32 param1);
/* 2c */ virtual u32 vfunc_2c(); // func_ov00_020be964
/* 2c */ virtual u32 vfunc_2c();
/* 30 */ virtual void vfunc_30() = 0;
/* 34 */ virtual void vfunc_34(unk16 *param1); // func_ov00_020be96c
/* 34 */ virtual void vfunc_34(unk16 *param1);
/* 38 */ virtual void vfunc_38(unk32 param1) = 0;
/* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const; // func_ov00_020beb90
/* 40 */ virtual unk32 vfunc_40() const; // func_ov00_020be970
/* 44 */ virtual unk32 vfunc_44(unk32 param1) const; // func_ov00_020be978
/* 48 */ virtual unk32 vfunc_48(unk32 param1) const; // func_ov00_020be980
/* 4c */ virtual s32 vfunc_4c() const; // func_ov00_020be988
/* 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;
/* 4c */ virtual s32 vfunc_4c() const;
/* 50 */
Vec3p *GetPlayerPos();
void func_ov000_020be99c(Vec3p *param1);
void func_ov000_020be9e4(s32 param1, s32 param2, s32 param3, s16 param4);
u16 GetAmmo();
};
+11 -13
View File
@@ -12,34 +12,32 @@ private:
/* 10 */
public:
EquipPotion();
/* 00 */ virtual void vfunc_00() override; // func_ov55_021991a8
/* 00 */ virtual void vfunc_00() override;
/* 04 */ virtual ~EquipPotion() override;
/* 14 */ virtual bool IsUsable(unk32 param1) const override;
/* 18 */ virtual void vfunc_18() override; // func_ov55_021991ac
/* 1c */ virtual void vfunc_1c() override; // func_ov55_021991b0
/* 30 */ virtual void vfunc_30() override; // func_ov55_02199274
/* 38 */ virtual void vfunc_38(unk32 param1) override; // func_0v55_02199278
/* 18 */ virtual void vfunc_18() override;
/* 1c */ virtual void vfunc_1c() override;
/* 30 */ virtual void vfunc_30() override;
/* 38 */ virtual void vfunc_38(unk32 param1) override;
/* 50 */
EquipPotion();
};
class EquipPotionA : public EquipPotion {
public:
EquipPotionA();
/* 04 */ virtual ~EquipPotionA() override;
/* 0c */ virtual ItemFlag GetId() const override;
/* 50 */
EquipPotionA();
};
class EquipPotionB : public EquipPotion {
public:
EquipPotionB();
/* 04 */ virtual ~EquipPotionB() override;
/* 0c */ virtual ItemFlag GetId() const override;
/* 50 */
EquipPotionB();
};
+65 -14
View File
@@ -1,10 +1,11 @@
#pragma once
#include "global.h"
#include "lib/math.h"
#include "nds/math.h"
#include "types.h"
#include "Actor/ActorRef.hpp"
#include "Actor/Player/ActorRope.hpp"
#include "Physics/Cylinder.hpp"
#include "Player/EquipItem.hpp"
@@ -12,6 +13,27 @@ struct EquipRope_Unk_18 {
/* 00 */ Vec3p vec;
/* 0c */ unk8 mUnk_0c[0x10];
/* 1c */
bool func_ov057_02198e80();
void func_ov057_02198fc0(u32 param1);
void func_ov057_02199028(s32 param1);
bool func_ov057_02199104(EquipRope_Unk_18 *other);
};
class EquipRope_Unk_02198dd0 {
public:
/* 0 (vtable) */
/* 4 */ unk32 mUnk_4;
/* 8 */
/* 00 */ virtual ~EquipRope_Unk_02198dd0();
/* 08 */ unk32 vfunc_08();
/* 0c */ unk32 vfunc_0c();
/* 10 */ unk32 vfunc_10(s32 *param1);
/* 14 */ unk32 vfunc_14();
/* 18 */
EquipRope_Unk_02198dd0();
};
class Actor;
@@ -23,7 +45,7 @@ public:
/* 09 */ unk8 mUnk_09;
/* 0a */ unk16 mUnk_0a;
/* 0c */ unk8 mUnk_0c[4];
/* 10 */ ActorRef mRef;
/* 10 */ ActorRef mRopeRef;
/* 18 */ EquipRope_Unk_18 mUnk_18[2];
/* 50 */ unk8 mUnk_50[0x1a];
/* 6a */ bool mUnk_6a;
@@ -37,29 +59,58 @@ public:
/* a0 */ unk32 mUnk_a0;
/* a4 */
EquipRope();
/* 04 */ virtual ~EquipRope() override;
/* 0c */ virtual ItemFlag GetId() const override;
/* 10 */ virtual void vfunc_10() override; // func_ov14_0213d3a0
u16 GetAmmo();
/* 10 */ virtual void vfunc_10() override;
/* 14 */ virtual bool IsUsable(unk32 param1) const override;
/* 18 */ virtual void vfunc_18() override; // func_ov57_021992f4
/* 1c */ virtual void vfunc_1c() override; // func_ov57_0219935c
/* 30 */ virtual void vfunc_30() override; // func_ov57_02199744
/* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov57_021998f0
/* 18 */ virtual void vfunc_18() override;
/* 1c */ virtual void vfunc_1c() override;
/* 30 */ virtual void vfunc_30() override;
/* 38 */ virtual void vfunc_38(unk32 param1) override;
/* 50 */
Actor *func_ov14_0213d420();
u16 GetAmmo();
EquipRope();
bool func_ov014_0213d3d4(Vec3p *vec);
void func_ov014_0213d404(unk32 *param1);
ActorRope *GetRopeActor();
s32 func_ov14_0213d440(s32 actorId);
s32 func_ov14_0213d480(s32 actorId);
bool func_ov014_0213d4c8();
bool func_ov014_0213d4ec(unk32 *param1, s32 param2);
s32 func_ov014_0213d594(s32 param1);
bool func_ov014_0213d5d0(unk32 *param1, s32 param2);
s32 func_ov014_0213d63c(s32 param1);
bool func_ov014_0213d684();
bool func_ov014_0213d6e0();
bool func_ov014_0213d71c(s32 param1, ActorRef *param2);
bool func_ov014_0213d788(s32 param1);
bool func_ov14_0213d81c(s32 index, Vec3p *vec);
void func_ov14_0213d91c(s32 index);
bool func_ov014_0213d9ac();
bool func_ov14_0213dadc(s32 index, Cylinder *cylinder);
void func_ov014_0213db34();
void func_ov014_0213db60();
void func_ov014_0213dba4(Vec3p *param1);
s32 func_ov014_0213dda0();
s32 func_ov14_0213ddd4(Actor *actor);
bool func_ov14_0213defc(Actor *actor);
bool func_ov014_0213dfbc(Cylinder *cylinder, s32 param2, Vec3p *vec);
void func_ov014_0213e144(Vec3p *param1, Vec3p *param2, s32 param3);
bool func_ov014_0213e20c(s32 param1, Vec3p *param2);
bool func_ov014_0213e328();
static void StopUsing(LinkStateItem *param1);
void func_ov057_021990ec();
void func_ov057_021990f8();
bool func_ov057_0219922c(u32 param1);
void func_ov057_021992b4(s32 param1);
bool func_ov057_0219939c(s32 *param1, s32 param2);
bool func_ov057_02199454(s32 param1);
bool func_ov057_021994c0(unk32 *param1);
s32 func_ov057_021996b0(Vec3p *param1);
void func_ov057_02199ad8();
void func_ov057_02199c78();
void func_ov057_02199d54();
void func_ov057_02199e24();
};
+15 -12
View File
@@ -3,29 +3,32 @@
#include "types.h"
#include "Player/EquipItem.hpp"
#include "Render/ModelRender.hpp"
class LinkStateItem;
class EquipScoop : public EquipItem {
private:
public:
static ModelRender gModelRender;
/* 0 (base) */
/* 9 */ unk8 mUnk_9[3];
/* c */
public:
/* 00 */ virtual void vfunc_00() override; // func_ov54_02198d00
/* 00 */ virtual void vfunc_00() override;
/* 04 */ virtual ~EquipScoop() override;
/* 0c */ virtual ItemFlag GetId() const override;
/* 14 */ virtual bool IsUsable(unk32 param1) const override;
/* 18 */ virtual void vfunc_18() override; // func_0v54_02198d2c
/* 30 */ virtual void vfunc_30() override; // func_ov54_02198e04
/* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov54_02198e4c
/* 40 */ virtual unk32 vfunc_40() const override; // func_ov54_02198d30
/* 44 */ virtual unk32 vfunc_44(unk32 param1) const override; // func_ov54_02198d38
/* 48 */ virtual unk32 vfunc_48(unk32 param1) const override; // func_ov54_02198d48
/* 18 */ virtual void vfunc_18() override;
/* 30 */ virtual void vfunc_30() override;
/* 38 */ virtual void vfunc_38(unk32 param1) override;
/* 40 */ virtual unk32 vfunc_40() const override;
/* 44 */ virtual unk32 vfunc_44(unk32 param1) const override;
/* 48 */ virtual unk32 vfunc_48(unk32 param1) const override;
/* 50 */
static void StopUsing(LinkStateItem *param1);
EquipScoop();
s32 func_ov054_02198e08(Vec3p *param1);
bool func_ov054_021980e24(Vec3p *param1);
};
+10 -10
View File
@@ -20,17 +20,17 @@ private:
public:
EquipShield();
/* 00 */ virtual void vfunc_00() override; // func_ov00_020c06d4
/* 04 */ virtual ~EquipShield() override; // func_ov04_0210bc94
/* 00 */ virtual void vfunc_00() override;
/* 04 */ virtual ~EquipShield() override;
/* 0c */ virtual ItemFlag GetId() const override;
/* 10 */ virtual void vfunc_10() override; // func_ov00_020c076c
/* 10 */ virtual void vfunc_10() override;
/* 14 */ virtual bool IsUsable(unk32 param1) const override;
/* 18 */ virtual void vfunc_18() override; // func_ov00_020c0770
/* 1c */ virtual void vfunc_1c(); // func_ov00_020c07f8
/* 30 */ virtual void vfunc_30() override; // func_ov00_020c0804
/* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov00_020c086c
/* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const; // func_ov00_020c0a88
/* 18 */ virtual void vfunc_18() override;
/* 1c */ virtual void vfunc_1c();
/* 30 */ virtual void vfunc_30() override;
/* 38 */ virtual void vfunc_38(unk32 param1) override;
/* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const;
/* 50 */
void func_ov000_020c070c(u32 param1, Vec3p *param2, unk32 param3);
};
+19 -8
View File
@@ -43,20 +43,31 @@ private:
public:
EquipSword();
/* 00 */ virtual void vfunc_00() override; // func_ov00_020beffc
/* 00 */ virtual void vfunc_00() override;
/* 04 */ virtual ~EquipSword() override;
/* 0c */ virtual ItemFlag GetId() const override;
/* 10 */ virtual void vfunc_10() override; // func_ov00_020bf18c
/* 10 */ virtual void vfunc_10() override;
/* 18 */ virtual void vfunc_18() override; // func_ov00_020bf270
/* 1c */ virtual void vfunc_1c() override; // func_ov00_020bf2d8
/* 18 */ virtual void vfunc_18() override;
/* 1c */ virtual void vfunc_1c() override;
/* 28 */ virtual bool UpdateInUse(unk32 param1) override;
/* 2c */ virtual u32 vfunc_2c() override; // func_ov00_020c0674
/* 30 */ virtual void vfunc_30() override; // func_ov00_020bf538
/* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov00_020bff94
/* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const override; // func_ov00_020c01dc
/* 2c */ virtual u32 vfunc_2c() override;
/* 30 */ virtual void vfunc_30() override;
/* 38 */ virtual void vfunc_38(unk32 param1) override;
/* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const override;
/* 50 */
void func_ov000_020bf008(unk16 param1, unk16 param2);
bool func_ov000_020bf028();
void func_ov000_020bf088();
void func_ov000_020bf330();
bool func_ov000_020bf4f4();
static EquipRope *GetEquipRope();
void func_ov000_020c024c(Vec3p *param1, s32 param2);
void func_ov000_020c0318(Vec3p *param1, s32 param2);
void func_ov000_020c0550(Vec3p *param1, s32 param2);
void func_ov000_020c05ec(s32 param1);
void func_ov000_020c0648();
void func_ov000_020c06b0(s32 param1);
};
-22
View File
@@ -1,22 +0,0 @@
#pragma once
#include "global.h"
#include "types.h"
#include "System/SysNew.hpp"
class HealthManager : public SysObject {
public:
/* 00 */ u16 mMaxHealth;
/* 02 */ u16 mHealth;
/* 04 */ s16 mMaxShipHealth;
/* 06 */ s16 mShipHealth;
/* 08 */ u16 mSalvageArmHealth;
/* 0a */ s16 mFlags;
/* 0c */ unk16 mUnk_0c;
/* 0e */ unk8 mUnk_0e;
/* 0f */ unk8 mUnk_0f;
/* 10 */
};
extern HealthManager *gHealthManager;
+24 -1
View File
@@ -1,7 +1,7 @@
#pragma once
#include "global.h"
#include "lib/math.h"
#include "nds/math.h"
#include "types.h"
#include "Actor/Actor.hpp"
@@ -127,6 +127,29 @@ public:
s32 Get_PlayerLinkBase_Unk38();
DebugHierarchy *GetDebugHierarchy0();
DebugHierarchy *GetDebugHierarchy1();
LinkStateBase(PlayerLinkBase *link);
void func_ov005_0210f768();
void func_ov005_0210f7b8();
u32 func_ov005_0210f808(u32 param1, Vec3p *param2, s32 param3);
void func_ov005_02110228(s32 param1, s32 param2, s32 param3, char param4, char param5);
bool func_ov005_0211058c(s32 param1);
void func_ov005_021107fc();
void func_ov005_0211086c(s32 param1);
void func_ov005_0211097c(unk32 param1, unk8 param2, unk8 param3);
unk32 func_ov005_021109c0();
void func_ov005_02110b40(s32 param1);
void func_ov005_02110bb4();
void func_ov005_02110be8();
void func_ov005_02110e0c(u16 param1, s32 param2);
void func_ov005_02110e28(u16 param1, s32 param2, s32 param3, char param4);
bool func_ov005_02110f50(s32 param1, s32 param2, s32 param3, u32 *param4);
void func_ov005_021112ec();
bool func_ov005_02111358();
bool func_ov005_0211139c();
bool func_ov005_021113b4();
void func_ov005_021113c4(bool param1);
};
LinkStateBase *GetLinkState(s32 index);
+65 -1
View File
@@ -1,11 +1,25 @@
#pragma once
#include "global.h"
#include "lib/math.h"
#include "nds/math.h"
#include "types.h"
#include "Item/Item.hpp"
#include "Player/LinkStateBase.hpp"
#include "Unknown/UnkStruct_02037750.hpp"
class UnkStruct_ov004_0210abb8 : public UnkStruct_02037750 {
public:
/* 00 (base) */
/* 20 */ unk32 mUnk_20;
/* 24 */
/* 00 */ virtual ~UnkStruct_ov004_0210abb8() override;
/* 08 */ virtual void vfunc_08(unk32 param1) override;
/* 24 */ virtual void vfunc_24(unk32 param1) override;
/* 2c */ virtual unk32 vfunc_2c(s32 param1) override;
/* 34 */
};
class LinkStateCutscene : public LinkStateBase {
public:
@@ -58,4 +72,54 @@ public:
/* 38 */ virtual bool vfunc_38() override;
/* 40 */ virtual bool vfunc_40() override;
/* 44 */
bool func_ov000_020b1e98(s32 param1);
bool func_ov000_020b1eb8();
bool func_ov000_020b1eec();
void StopVerticalVelocity();
void func_ov000_020b2568();
void func_ov000_020b2598();
void func_ov000_020b2ba4();
void func_ov000_020b2ce4(unk32 param1, s16 param2);
void func_ov000_020b2cf0();
void func_ov000_020b2d60();
bool func_ov000_020b2d8c();
void func_ov000_020b2e84();
void func_ov000_020b2f48(unk32 param1, unk32 param2);
void func_ov000_020b2f70(unk32 param1, void *param2, unk32 *param3);
void ChangeToMoveState();
bool func_ov000_020b2fac();
void func_ov000_020b3024(Vec3p *param1, unk32 param2);
void func_ov000_020b305c(Vec3p *param1, Vec3p *param2);
void func_ov000_020b309c(Vec3p *param1);
void func_ov000_020b30e4(u32 param1, unk32 param2, unk32 param3);
void func_ov000_020b3278(s32 param1, s32 *param2);
void func_ov000_020b35d8(s32 param1, s32 param2);
void func_ov000_020b38dc(u32 param1, u32 param2);
LinkStateCutscene(PlayerLinkBase *link);
void func_ov005_021089c0();
void func_ov005_021089f4();
void func_ov005_02108d08();
void func_ov005_02108e08();
void func_ov005_02108e8c();
void func_ov005_02108f38();
void func_ov005_02108f98(unk32 param1, unk32 param2, unk32 param3);
void func_ov005_021092bc();
void func_ov005_0210952c();
void func_ov005_02109588();
void func_ov005_0210960c();
void func_ov005_02109650();
bool PlayItemCutscene(unk32 itemId);
bool func_ov005_02109768();
void func_ov005_021097b0(s32 param1);
void func_ov005_021099dc();
bool func_ov005_02109cd0(s32 *param1, s32 param2, unk32 param3);
void func_ov005_02109e84();
void func_ov005_02109f2c();
void func_ov005_02109f88();
void func_ov005_0210a018();
void func_ov005_0210a06c();
bool func_ov005_0210a0c0(unk16 param1);
};
+3 -1
View File
@@ -1,7 +1,7 @@
#pragma once
#include "global.h"
#include "lib/math.h"
#include "nds/math.h"
#include "types.h"
#include "Player/LinkStateBase.hpp"
@@ -48,4 +48,6 @@ class LinkStateDamage : public LinkStateBase {
void func_ov00_020ace90(Vec3p *param1, unk32 param2);
void func_ov00_020acfe8(bool param1);
LinkStateDamage(PlayerLinkBase *link);
};
+13 -1
View File
@@ -1,7 +1,7 @@
#pragma once
#include "global.h"
#include "lib/math.h"
#include "nds/math.h"
#include "types.h"
#include "Actor/Actor.hpp"
@@ -37,4 +37,16 @@ public:
LinkStateCutscene *GetLinkStateCutscene();
bool func_ov00_020a9180(Vec3p *param1);
bool func_ov00_020a9210(Vec3p *param1, Actor *param2);
LinkStateFollow(PlayerLinkBase *link);
static EquipRope *GetEquipRope();
void func_ov005_0210b9c4();
void func_ov005_0210ba98();
void func_ov005_0210babc();
void func_ov005_0210bb50();
void func_ov005_0210bb98();
void func_ov005_0210bd70();
void func_ov005_0210bf50();
void func_ov005_0210ca80(Vec3p *param1, s32 *param2);
};
+12 -1
View File
@@ -1,7 +1,7 @@
#pragma once
#include "global.h"
#include "lib/math.h"
#include "nds/math.h"
#include "types.h"
#include "Actor/Actor.hpp"
@@ -53,4 +53,15 @@ public:
void func_ov00_020abc18(ActorRef *ref);
bool func_ov00_020abc40();
bool func_ov00_020abc78(ActorRef *ref);
LinkStateInteract(PlayerLinkBase *link);
void func_ov005_0210a690();
bool func_ov005_0210a714();
void func_ov005_0210a774();
void func_ov005_0210a7d4();
void func_ov005_0210ab1c();
void func_ov005_0210ad88();
void func_ov005_0210b2a4();
void func_ov005_0210b4f4(Vec3p *vec, Actor *actor);
};
+43
View File
@@ -50,4 +50,47 @@ public:
static EquipBombchu *GetEquipBombchu();
static LinkStateMove *GetLinkStateMove();
bool func_ov00_020abf70();
LinkStateItem(PlayerLinkBase *link);
void func_ov005_02105850();
void func_ov005_02105c28();
void func_ov005_02105d94();
void func_ov005_02105dac();
void func_ov005_02106644();
void func_ov005_02106700(Vec3p *param1, unk8 *param2);
void func_ov005_02106740(s32 *param1, s32 param2);
bool func_ov005_02106894(s32 param1, s32 param2);
void func_ov005_02106980(unk32 param, s32 param2, s32 *param3);
bool func_ov005_02106a50();
bool func_ov005_02106bbc(Vec3p *param1, unk32 param2, u32 param3);
bool func_ov054_02198efc(s32 param1, unk32 param2, u32 param3);
bool func_ov054_021992c8(unk32 param1, unk32 param2, u32 param3);
void StopUsingScoop();
void func_ov054_02198eec();
void func_ov055_02198f78();
void StopUsingBomb(s32 param1);
void func_ov055_02199020();
void func_ov055_021993b8();
void func_ov055_02199654();
void func_ov056_021990c0();
void func_ov056_0219911c();
bool func_ov056_021992f8();
void func_ov057_02199e64();
void func_ov057_02199edc();
void func_ov057_0219a208();
void StopUsingRope();
bool func_ov057_0219a364();
void func_ov058_0219a454();
void func_ov058_0219a47c();
void func_ov059_02198ffc();
void func_ov059_0219907c();
void func_ov059_021990a4();
void StopUsingHammer();
};
+4
View File
@@ -29,4 +29,8 @@ public:
bool func_ov00_020a8f2c();
bool func_ov00_020a8f4c();
LinkStateMove(PlayerLinkBase *link);
void func_ov005_021113d0();
};
+21 -1
View File
@@ -23,7 +23,7 @@ public:
/* 28 */ unk8 mUnk_28[4];
/* 2c */ unk32 mUnk_2c[5];
/* 40 */ unk32 mUnk_40;
/* 44 */ unk32 mUnk_44[0x10];
/* 44 */ ActorRef mUnk_44[0x8];
/* 84 */ void *mUnk_84;
/* 88 */ unk32 mUnk_88;
/* 8c */ unk8 mUnk_8c[0xc];
@@ -43,4 +43,24 @@ public:
void func_ov00_020aee58(s16 param1, u16 param2);
void func_ov00_020aee84();
bool func_ov00_020aeeac();
LinkStateRoll(PlayerLinkBase *link);
s32 func_ov005_02106c80(u32 param1);
void func_ov005_02106cd0();
void func_ov005_02107208(u32 param1);
void func_ov005_02107214();
void func_ov005_021073b8();
void func_ov005_021075bc();
void func_ov005_02107880();
void func_ov005_02107954(unk32 param1, unk32 param2, unk32 param3);
void func_ov005_02107b74(unk32 *param1, unk16 param2, unk16 param3);
bool func_ov005_02107bd4();
bool func_ov005_02107c8c();
bool func_ov005_02107d74();
unk32 func_ov005_02107e80(u32 param1, unk32 *param2, unk16 param3, unk8 *param4);
void func_ov005_02107fc0();
bool func_ov005_02108094();
void func_ov005_02108188();
void func_ov005_021081a8();
};
+3 -1
View File
@@ -32,7 +32,7 @@ public:
/* 18 */ virtual void vfunc_18() = 0;
/* 1c */ virtual void Init() = 0;
/* 20 */ virtual void vfunc_20() = 0;
/* 24 */ virtual void vfunc_24() = 0;
/* 24 */ virtual void UpdatePos() = 0;
/* 28 */ virtual void vfunc_28(s32 param1) = 0;
/* 2c */ virtual void vfunc_2c(s32 param1, unk8 param2) = 0;
/* 30 */ virtual bool vfunc_30(s32 param1, Vec3p *param2, s32 param3) = 0;
@@ -57,6 +57,8 @@ public:
bool EquipCollidesWith(Cylinder *cylinder, ItemFlag equipId);
s32 EquipItem_vfunc_2c();
void SetHealth(s16 health);
PlayerBase();
};
extern PlayerBase *gPlayer;
+10 -3
View File
@@ -1,7 +1,7 @@
#pragma once
#include "global.h"
#include "lib/math.h"
#include "nds/math.h"
#include "types.h"
#include "Actor/Actor.hpp"
@@ -125,12 +125,19 @@ public:
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);
void ApplyTouchWorld(Vec3p *result, unk32 scale);
bool func_ov000_020b7d6c();
PlayerControl();
~PlayerControl();
static void Create();
static void Destroy();
void Init();
void func_ov004_0210b1d0();
static void func_ov004_0210b1f0();
};
extern PlayerControl *gPlayerControl;
+47 -1
View File
@@ -1,7 +1,7 @@
#pragma once
#include "global.h"
#include "lib/math.h"
#include "nds/math.h"
#include "types.h"
#include "System/SysNew.hpp"
@@ -58,4 +58,50 @@ public:
/* 19c */ unk16 mUnk_19c;
/* 19e */ unk16 mUnk_19e;
/* 1a0 */
/* 00 */ virtual void vfunc_00();
/* 04 */ virtual ~PlayerControlData();
/* 0c */ virtual unk32 vfunc_0c();
/* 10 */ virtual unk32 GetCharacterId() = 0;
/* 14 */ virtual void vfunc_14(s32 param1) = 0;
/* 18 */ virtual void vfunc_18();
/* 1c */ virtual void vfunc_1c();
/* 20 */ virtual void vfunc_20();
/* 24 */ virtual void vfunc_24();
/* 28 */ virtual void vfunc_28();
/* 2c */ virtual void vfunc_2c();
/* 30 */ virtual void vfunc_30();
/* 34 */ virtual void vfunc_34();
/* 38 */ virtual void vfunc_38(s32 param1, s32 param2) = 0;
/* 3c */ virtual void vfunc_3c(s32 param1, s32 param2);
/* 40 */ virtual void vfunc_40(u16 *param1, Vec3p *param2, unk32 param3, char param4);
/* 44 */ virtual void vfunc_44(unk32 param1, unk32 *param2, unk32 param3, unk16 param4);
/* 48 */ virtual void vfunc_48(unk32 param1, unk32 param2, unk32 param3, s16 param4);
/* 4c */ virtual void vfunc_4c(unk32 param1, Vec3p *param2);
/* 50 */ virtual void vfunc_50();
/* 54 */ virtual void vfunc_54();
/* 58 */ virtual void vfunc_58();
/* 5c */ virtual void vfunc_5c();
/* 60 */ virtual void vfunc_60(unk32 param1, unk32 param2, s32 param3);
/* 64 */ virtual void vfunc_64(u32 param1);
/* 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();
/* 7c */ virtual unk32 vfunc_7c();
/* 80 */
void func_ov000_020b4440();
void func_ov000_020b4460(s32 param1);
void func_ov000_020b44d4(s32 param1, u32 param2);
void func_ov000_020b4558(s32 param1, u32 param2);
void func_ov000_020b45e0();
void func_ov000_020b45f8(unk32 *param1, unk8 param2, unk8 param3);
void func_ov000_020b464c(unk32 *param1, unk8 param2, unk8 param3);
void func_ov000_020b484c(s32 param1, s32 param2, s32 param3);
void func_ov000_020b4944(unk32 param1, u32 param2, s32 param3);
void func_ov000_020b4a00(s32 *param1, s32 *param2, s32 *param3, s32 param4);
PlayerControlData();
};
+65
View File
@@ -0,0 +1,65 @@
#pragma once
#include "global.h"
#include "types.h"
#include "DTCM/UnkStruct_027e0fd4.hpp"
#include "Player/EquipBombchu.hpp"
#include "Player/EquipShield.hpp"
#include "Player/LinkStateCutscene.hpp"
#include "Player/LinkStateFollow.hpp"
#include "Player/PlayerLinkBase.hpp"
class PlayerLink : public PlayerLinkBase {
public:
/* 00 (base) */
/* 70 */ s32 mUnk_70;
/* 74 */ unk8 mUnk_74[0x4];
/* 78 */ unk32 mUnk_78;
/* 7c */ unk32 mUnk_7c;
/* 80 */ char mUnk_80;
/* 81 */ unk8 mUnk_81[0x3];
/* 84 */
/* 00 */ virtual s32 GetMaxHealth() override;
/* 04 */ virtual bool vfunc_04() override;
/* 1c */ virtual void Init() override;
/* 24 */ virtual void UpdatePos() override;
/* 2c */ virtual void vfunc_2c(s32 param1, unk8 param2) override;
/* 40 */ virtual void AddHealth(s16 amount) override;
/* 44 */ virtual void vfunc_44() override;
/* 48 */ virtual void vfunc_48() override;
/* 4c */ virtual void vfunc_4c() override;
/* 50 */ virtual ~PlayerLink() override;
/* 68 */ virtual void vfunc_68() override;
/* 6c */ virtual void vfunc_6c() override;
/* 74 */ virtual void vfunc_74() override;
/* 78 */ virtual unk32 vfunc_78() override;
/* 7c */ virtual void vfunc_7c() override;
/* 80 */ virtual void SetUnk_5e() override;
/* 84 */ virtual void ResetUnk_5e() override;
/* 88 */ virtual void OnDeath(bool param1);
/* 8c */
static PlayerLink *Create();
static PlayerLink *GetInstance();
void func_ov014_0213eef0(s32 param1);
static LinkStateCutscene *GetLinkStateCutscene();
PlayerLink();
void func_ov014_0213f37c();
static LinkStateItem *GetLinkStateItem();
static void func_ov014_0213f734(unk32 *param1, UnkStruct_027e0fd4 *param2);
void func_ov014_0213f740();
void func_ov014_0213f97c();
unk32 func_ov023_02177e7c();
unk32 func_ov023_02177e84();
void func_ov023_02177e90();
bool func_ov023_02178058();
static LinkStateFollow *GetLinkStateFollow();
void func_ov023_02178174();
static EquipBombchu *GetEquipBombchu();
static EquipShield *GetEquipShield();
void GiveControlToLink();
void func_ov023_02178630();
};
+100 -23
View File
@@ -1,13 +1,15 @@
#pragma once
#include "global.h"
#include "lib/math.h"
#include "nds/math.h"
#include "types.h"
#include "Actor/ActorManager.hpp"
#include "Debug/DebugHierarchy.hpp"
#include "Item/ItemManager.hpp"
#include "Player/MotionParams.hpp"
#include "Player/PlayerBase.hpp"
#include "Player/PlayerControlData.hpp"
typedef s32 PlayerCharacter;
enum PlayerCharacter_ {
@@ -43,22 +45,22 @@ public:
/* 6c */ DebugHierarchy *mDebugHierarchy_2;
/* 70 */
/* 00 */ s32 GetMaxHealth() override;
/* 08 */ ItemFlag GetEquipId() override;
/* 0c */ bool CanMove() override;
/* 10 */ void vfunc_10(Cylinder *param1) override;
/* 14 */ void vfunc_14(Cylinder *param1) override;
/* 18 */ void vfunc_18(s32 param1) override;
/* 1c */ void Init() override;
/* 20 */ void vfunc_20() override;
/* 24 */ void vfunc_24() override;
/* 28 */ void vfunc_28(s32 param1) override;
/* 2c */ void vfunc_2c(s32 param1, unk8 param2) override;
/* 30 */ bool vfunc_30(s32 param1, Vec3p *param2, s32 param3) override;
/* 34 */ bool Teleport(Vec3p *pos, s16 angle, unk32 param3, bool param4, bool param5) override;
/* 38 */ bool TeleportToEntrance(unk32 entranceId, bool param2) override;
/* 3c */ bool TeleportToLastEntrance(bool param1) override;
/* 50 */ ~PlayerLinkBase() override;
/* 00 */ virtual s32 GetMaxHealth() override;
/* 08 */ virtual ItemFlag GetEquipId() override;
/* 0c */ virtual bool CanMove() override;
/* 10 */ virtual void vfunc_10(Cylinder *param1) override;
/* 14 */ virtual void vfunc_14(Cylinder *param1) override;
/* 18 */ virtual void vfunc_18(s32 param1) override;
/* 1c */ virtual void Init() override;
/* 20 */ virtual void vfunc_20() override;
/* 24 */ virtual void UpdatePos() override;
/* 28 */ virtual void vfunc_28(s32 param1) override;
/* 2c */ virtual void vfunc_2c(s32 param1, unk8 param2) override;
/* 30 */ virtual bool vfunc_30(s32 param1, Vec3p *param2, s32 param3) override;
/* 34 */ virtual bool Teleport(Vec3p *pos, s16 angle, unk32 param3, bool param4, bool param5) override;
/* 38 */ virtual bool TeleportToEntrance(unk32 entranceId, bool param2) override;
/* 3c */ virtual bool TeleportToLastEntrance(bool param1) override;
/* 50 */ virtual ~PlayerLinkBase() override;
/* 58 */ virtual bool vfunc_58();
/* 5c */ virtual bool vfunc_5c();
/* 60 */ virtual bool vfunc_60();
@@ -73,13 +75,88 @@ public:
/* 84 */ virtual void ResetUnk_5e();
/* 88 */
bool func_ov00_020bbd80(s32 param1);
void func_ov00_020bc854(Vec3p *param1);
bool func_ov00_020bce48(ItemId cutsceneItemId); // PlayItemCutscene
bool func_ov00_020bd304();
bool GongoronCollidesWith(Cylinder *hitbox);
s32 GetGrabActorId();
void UnequipPotion();
void ChangeLinkState(s32 index);
void SetLinkSubState(s32 index, unk32 substate);
PlayerControlData *GetPlayerControlData(s32 index);
void GetDistanceTo(Vec3p *vec, q20 *yDist, q20 *xzDist);
bool func_ov000_020bb68c(Vec3p *target);
bool func_ov000_020bb6d4();
void func_ov000_020bb810(Vec3p *target, unk32 param2);
void func_ov000_020bb8c4(Vec3p *param1);
void TurnTo(Vec3p *target);
void func_ov000_020bb9b0();
void func_ov000_020bb9c8();
void func_ov000_020bb9e4();
bool func_ov000_020bba00();
bool func_ov000_020bba14();
bool func_ov000_020bba28();
void func_ov000_020bba48();
bool func_ov000_020bbabc();
bool func_ov000_020bbb18();
bool func_ov000_020bbb64();
bool func_ov000_020bbb78();
void func_ov000_020bbbb8();
bool func_ov000_020bbbd0(s32 param1, s32 param2);
bool func_ov000_020bbc68(s32 param1);
bool func_ov000_020bbd40();
bool func_ov000_020bbd60();
bool func_ov000_020bbd80(s32 param1);
unk32 func_ov000_020bbe94();
void func_ov000_020bc088();
ItemManager *GetItemManager();
void func_ov000_020bc1c8(unk32 param1, unk32 param2, unk32 param3);
bool func_ov000_020bc210();
void SetVelocity(Vec3p *velocity, bool setAngle);
void func_ov000_020bc280(unk16 param1);
unk32 func_ov000_020bc2d4(unk32 param1);
unk32 func_ov000_020bc320(unk32 param1, unk32 param2, unk32 param3);
void func_ov000_020bc398(unk32 param1, s32 param2);
PlayerCharacter GetCurrentCharacter();
s32 GetHealth(PlayerCharacter character);
void AddHealth(s16 amount, PlayerCharacter character);
void func_ov000_020bc4ac();
s32 GetStateId();
s32 func_ov000_020bc520(Vec3p *param1);
unk32 Grab();
void func_ov000_020bc7e0(unk32 param1);
s32 GetGrabActorId();
s32 func_ov000_020bc808();
unk32 func_ov000_020bc84c();
void func_ov000_020bc854(Vec3p *param1);
void UpdateTilePos(Vec3p *param1, PlayerCharacter character);
void func_ov000_020bc90c(unk32 *param1, s32 param2);
bool func_ov000_020bc960(unk32 param1, unk32 param2, unk32 param3);
bool GongoronCollidesWith(Cylinder *hitbox);
bool func_ov000_020bcc78();
void func_ov000_020bccc8();
void func_ov000_020bcdb8();
void func_ov000_020bcdec(Vec3p *param1, unk16 param2);
bool PlayItemCutscene(ItemId cutsceneItemId);
bool func_ov000_020bcec8();
bool func_ov000_020bcefc();
bool func_ov000_020bcf2c();
bool func_ov000_020bcf50(Vec3p *param1, unk32 param2);
bool func_ov000_020bcf84(Vec3p *param1, Vec3p *param2);
bool func_ov000_020bcfb8(s32 param1);
bool func_ov000_020bd030(unk32 param1);
bool func_ov000_020bd070(unk32 param1);
bool func_ov000_020bd0a8();
bool func_ov000_020bd0bc(Vec3p *param1, s32 param2);
bool func_ov000_020bd268();
bool func_ov000_020bd2bc();
bool func_ov000_020bd304();
bool func_ov000_020bd318();
void SetPlayerCharacter(PlayerCharacter character);
bool func_ov000_020bd3b0(unk32 param1, unk32 param2, unk32 param3, unk16 param4);
void SetPosition(Vec3p *position);
void SetAngle(s16 *angle);
bool func_ov000_020bd510(s32 param1, unk32 *param2);
PlayerLinkBase();
void UpdatePos(unk32 param1);
bool func_ov005_0210eba4();
};
extern PlayerLinkBase *gPlayerLink;
+34
View File
@@ -0,0 +1,34 @@
#pragma once
#include "global.h"
#include "types.h"
#include "Save/SaveItemManager.hpp"
#include "System/SysNew.hpp"
class PlayerManager : public SysObject {
public:
/* 00 */ u16 mMaxHealth;
/* 02 */ u16 mHealth;
/* 04 */ s16 mMaxShipHealth;
/* 06 */ s16 mShipHealth;
/* 08 */ u16 mSalvageArmHealth;
/* 0a */ s16 mFlags;
/* 0c */ unk16 mUnk_0c;
/* 0e */ unk8 mUnk_0e;
/* 0f */ unk8 mUnk_0f;
/* 10 */
void Save(SaveItemManager *save);
void IncreaseMaxHealth(s16 amount);
void UpdateShipMaxHealth();
static void Create();
static void Destroy();
PlayerManager();
~PlayerManager();
void Init(bool param1);
void func_ov004_02108008();
};
extern PlayerManager *gPlayerManager;
+1 -1
View File
@@ -1,8 +1,8 @@
#pragma once
#include "global.h"
#include "lib/math.h"
#include "lib/touch.h"
#include "nds/math.h"
#include "types.h"
typedef u16 TouchFlags;