Merge remote-tracking branch 'upstream/main' into displaytext

This commit is contained in:
Yanis002
2025-06-29 21:29:34 +02:00
274 changed files with 6030 additions and 2785 deletions
+12 -11
View File
@@ -35,8 +35,8 @@ struct Actor_UnkStruct_020 {
/* 08 */ u8 mUnk_08[2];
/* 0a */ u8 mUnk_0a[2];
/* 0c */ unk8 mUnk_0c;
/* 0d */ unk8 mUnk_0d;
/* 0e */ unk8 mUnk_0e;
/* 0d */ u8 mUnk_0d;
/* 0e */ u8 mUnk_0e;
/* 0f */ unk8 mUnk_0f;
/* 10 */ unk32 mUnk_10;
/* 14 */
@@ -64,6 +64,7 @@ struct Actor_UnkStruct_0a4 {
/* 14 */
Actor_UnkStruct_0a4(q20 x, q20 y, q20 z, s32 unk_10);
void func_ov000_0207a1c8(unk32 param1, Vec3p *param2);
};
class KillPickupsFilter : FilterActorReturn, public FilterActorBase {
@@ -83,7 +84,8 @@ enum PlayerCollide_ {
PlayerCollide_Gongoron = 0x8,
PlayerCollide_Hammer = 0x10,
PlayerCollide_PickupFlags = PlayerCollide_Hammer | PlayerCollide_Gongoron | PlayerCollide_Sword | PlayerCollide_Player,
/* 0x1b */ PlayerCollide_PickupFlags =
PlayerCollide_Hammer | PlayerCollide_Gongoron | PlayerCollide_Sword | PlayerCollide_Player,
};
struct Knockback {
@@ -108,8 +110,7 @@ public:
/* 012 */ unk16 mUnk_012;
/* 014 */ Vec3p mUnk_014;
/* 020 */ Actor_UnkStruct_020 mUnk_020;
/* 034 */ unk32 mUnk_034;
/* 038 */ unk32 mUnk_038;
/* 034 */ ActorRef mUnk_034;
/* 03c */ unk32 mUnk_03c;
/* 040 */ ActorRef mUnk_040;
/* 048 */ Vec3p mPos;
@@ -136,10 +137,10 @@ public:
/* 108 */ unk8 mUnk_108;
/* 109 */ unk8 mUnk_109;
/* 10a */ unk8 mUnk_10a[0x6];
/* 110 */ unk8 mUnk_110;
/* 110 */ bool mUnk_110;
/* 111 */ bool mUnk_111;
/* 112 */ unk8 mUnk_112;
/* 113 */ unk8 mUnk_113;
/* 112 */ bool mUnk_112;
/* 113 */ bool mUnk_113;
/* 114 */ unk8 mUnk_114;
/* 115 */ unk8 mUnk_115;
/* 116 */ unk8 mUnk_116;
@@ -172,8 +173,8 @@ public:
/* 158 */
/* 00 */ virtual ~Actor();
/* 08 */ virtual bool vfunc_08();
/* 0c */ virtual void vfunc_0c();
/* 08 */ virtual bool Init();
/* 0c */ virtual bool vfunc_0c();
/* 10 */ virtual void vfunc_10(u32 param1);
/* 14 */ virtual void vfunc_14(u32 param1);
/* 18 */ virtual void vfunc_18(u32 param1);
@@ -227,7 +228,7 @@ public:
bool func_ov00_020c195c();
bool func_ov00_020c198c();
void KillPickupItemActors();
void func_Ov00_020c1bfc(s32 param1);
bool func_ov00_020c1bfc(s32 param1);
void func_ov00_020c1c20(s32 param1, unk32 param2);
bool IsNearLink();
void func_ov00_020c1cf8();
+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 -1
View File
@@ -33,7 +33,7 @@ public:
/* 160 */
/* 00 */ virtual ~ActorRupee() override;
/* 08 */ virtual bool vfunc_08() override;
/* 08 */ virtual bool Init() override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 18 */ virtual void vfunc_18(u32 param1) override;
/* 20 */ virtual void vfunc_20(bool param1) override;
+16 -3
View File
@@ -5,10 +5,23 @@
#include "global.h"
#include "types.h"
#include "Actor/Actor.hpp"
#include "Actor/ActorRef.hpp"
#include "Actor/ActorType.hpp"
#include "System/SysNew.hpp"
class ActorSpawner {
struct ActorSpawnOptions {
/* 00 */ Actor_UnkStruct_020 mUnk_00;
/* 14 */ s16 mAngle;
/* 16 */ unk8 mUnk_16[0x2];
/* 18 */ unk32 mUnk_18;
/* 1c */ ActorRef mUnk_1c;
/* 24 */ unk32 mUnk_24;
/* 28 */ unk32 mUnk_28;
/* 2c */
};
class ActorSpawner : public SysObject {
public:
/* 0 (empty) */
@@ -18,8 +31,8 @@ public:
~ActorSpawner();
void func_ov000_020c4014();
void func_ov000_020c4018();
Actor *CreateActor(ActorTypeId type);
s32 Spawn(ActorTypeId type, Vec3p *pos, void *param3, ActorRef *ref);
Actor *CreateActor(ActorTypeId typeId);
s32 Spawn(ActorTypeId type, Vec3p *pos, ActorSpawnOptions *param3, ActorRef *ref);
};
extern ActorSpawner *gActorSpawner;
+8 -2
View File
@@ -25,8 +25,13 @@ enum ActorTypeId_ {
ActorTypeId_ShopItemShield = 'ITSL',
ActorTypeId_ShopItemSoldOut = 'ITSO',
ActorTypeId_Heart = 'HART',
ActorTypeId_Rupee = 'RUPY',
ActorTypeId_RefillArrows = 'FLAL',
ActorTypeId_RefillBombs = 'FLBM',
ActorTypeId_RefillBombchus = 'FLBT',
ActorTypeId_RefillTime = 'FLTM',
ActorTypeId_Heart = 'HART',
ActorTypeId_LSTM = 'LSTM',
ActorTypeId_Rupee = 'RUPY',
ActorTypeId_Arrow = 'ARRW',
ActorTypeId_Blast = 'BLST',
@@ -41,6 +46,7 @@ enum ActorTypeId_ {
ActorTypeId_SmallKey = 'NKEY',
ActorTypeId_SwitchObject = 'SWOB',
ActorTypeId_EventIcon = 'EVIC',
ActorTypeId_ActionObject = 'ACOB',
ActorTypeId_Sandworm = 'MLDW',
ActorTypeId_Tektite = 'TEKT',
@@ -0,0 +1,20 @@
#pragma once
#include "Actor/Actor.hpp"
class ActorActionObject : public Actor {
public:
static ActorType gType;
/* 000 (base) */
/* 158 */
/* 00 */ virtual ~ActorActionObject() override;
/* 08 */ virtual bool Init() override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 18 */ virtual void vfunc_18(u32 param1) override;
/* b4 */
static ActorActionObject *Create();
ActorActionObject();
};
+1 -1
View File
@@ -17,7 +17,7 @@ public:
/* 160 */ UnkStruct_02035064 mUnk_160;
/* 00 */ virtual ~ActorEventIcon() override;
/* 08 */ virtual bool vfunc_08() override;
/* 08 */ virtual bool Init() override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 18 */ virtual void vfunc_18(u32 param1) override;
/* 1c */ virtual void vfunc_1c(u16 *param1) override;
+2 -2
View File
@@ -21,8 +21,8 @@ public:
/* 198 */
/* 00 */ virtual ~ActorSwitchObject() override;
/* 08 */ virtual bool vfunc_08() override;
/* 0c */ virtual void vfunc_0c() override;
/* 08 */ virtual bool Init() override;
/* 0c */ virtual bool vfunc_0c() override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 18 */ virtual void vfunc_18(u32 param1) override;
/* b4 */
+15
View File
@@ -0,0 +1,15 @@
#pragma once
#include "Actor/Navi/ActorNaviBase.hpp"
class ActorForceNavi : public ActorNaviBase {
public:
static ActorType gType;
/* 000 (base) */
/* 294 */
/* b4 */ virtual FairyId GetFairyId() override;
static ActorForceNavi *Create();
};
+63 -1
View File
@@ -1,3 +1,65 @@
#pragma once
class ActorNavi;
#include "Actor/Navi/ActorNaviBase.hpp"
#include "Unknown/UnkStruct_ov000_020beba8.hpp"
class UnkStruct_ov000_020b8110 : public UnkStruct_ov000_020beba8 {
public:
/* 0 (base) */
/* c */
/* 00 */ virtual ~UnkStruct_ov000_020b8110() override;
/* 08 */ virtual void vfunc_08(unk16 *param1) override;
/* 14 */ virtual void vfunc_14(u16 *param1) override;
/* 18 */ virtual void vfunc_18(s32 *param1) override;
/* 1c */
UnkStruct_ov000_020b8110();
};
class ActorNavi : public ActorNaviBase {
public:
static ActorType gType;
/* 000 (base) */
/* 294 */ ModelRender mUnk_294;
/* 2f0 */ void *mUnk_2f0;
/* 2f4 */ unk8 mUnk_2f4[0x40];
/* 334 */ unk32 mUnk_334;
/* 338 */ unk32 mUnk_338;
/* 33c */ unk32 mUnk_33c;
/* 340 */ unk16 mUnk_340;
/* 342 */ unk8 mUnk_342[0x2];
/* 344 */ unk32 mUnk_344;
/* 348 */ unk32 mUnk_348;
/* 34c */ unk8 mUnk_34c[0x68];
/* 3b4 */ EquipHammer *mHammer;
/* 3b8 */ unk32 mUnk_3b8;
/* 3bc */ unk32 mUnk_3bc;
/* 3c0 */ unk8 mUnk_3c0[0x8];
/* 3c8 */
/* 00 */ virtual ~ActorNavi() override;
/* 08 */ virtual bool Init() override;
/* 20 */ virtual void vfunc_20(bool param1) override;
/* 8c */ virtual bool vfunc_8c() override;
/* b4 */ virtual FairyId GetFairyId() override;
/* b8 */ virtual s32 vfunc_b8() override;
/* c0 */ virtual bool vfunc_c0(Vec3p *param1) override;
/* c4 */ virtual void vfunc_c4() override;
/* c8 */ virtual void vfunc_c8() override;
/* cc */ virtual bool vfunc_cc(unk32 *param1) override;
/* d0 */ virtual void vfunc_d0() override;
/* d4 */ virtual void vfunc_d4() override;
/* d8 */ virtual void vfunc_d8() override;
/* dc */ virtual void SetActive(bool active) override;
/* e0 */ virtual void vfunc_e0() override;
/* e8 */ virtual void vfunc_e8() override;
/* ec */ virtual void vfunc_ec() override;
static ActorNavi *Create();
void func_ov000_020b8200();
void func_ov000_020b853c();
ActorNavi();
};
+17 -24
View File
@@ -7,20 +7,30 @@
#include "Player/EquipHammer.hpp"
#include "Render/ModelRender.hpp"
typedef s32 FairyId;
enum FairyId_ {
FairyId_None = -1,
FairyId_Courage = 0,
FairyId_Power = 1,
FairyId_Wisdom = 2,
FairyId_COUNT = 3,
};
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];
/* 1d0 */ void *mUnk_1d0;
/* 1d4 */ unk8 mUnk_1d4[0x30];
/* 1d0 */ unk8 mUnk_1d0[0x24];
/* 1f4 */ unk8 mUnk_1f4[0x20];
/* 214 */ unk16 mUnk_214;
/* 216 */ unk8 mUnk_216[0xc];
/* 222 */ unk16 mUnk_222;
/* 224 */ unk8 mUnk_224[0x18];
/* 224 */ unk8 mUnk_224[0x28];
/* 24c */ unk32 mUnk_24c;
/* 250 */ unk32 mUnk_250;
/* 254 */ unk32 mUnk_254;
@@ -33,25 +43,10 @@ class ActorNaviBase : public Actor {
/* 288 */ unk8 mUnk_288[0x2];
/* 28a */ unk16 mUnk_28a;
/* 28c */ unk8 mUnk_28c[0x8];
/* 294 */ ModelRender mUnk_294;
/* 2f0 */ void *mUnk_2f0;
/* 2f4 */ unk8 mUnk_2f4[0x40];
/* 334 */ unk32 mUnk_334;
/* 338 */ unk32 mUnk_338;
/* 33c */ unk32 mUnk_33c;
/* 340 */ unk16 mUnk_340;
/* 342 */ unk8 mUnk_342[0x2];
/* 344 */ unk32 mUnk_344;
/* 348 */ unk32 mUnk_348;
/* 34c */ unk8 mUnk_34c[0x68];
/* 3b4 */ EquipHammer *mHammer;
/* 3b8 */ unk32 mUnk_3b8;
/* 3bc */ unk32 mUnk_3bc;
/* 3c0 */ unk8 mUnk_3c0[0x8];
/* 3c8 */
/* 294 */
/* 00 */ virtual ~ActorNaviBase() override;
/* 08 */ virtual bool vfunc_08() override;
/* 08 */ virtual bool Init() override;
/* 10 */ virtual void vfunc_10(u32 param1) override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 18 */ virtual void vfunc_18(u32 param1) override;
@@ -65,9 +60,7 @@ class ActorNaviBase : public Actor {
/* 84 */ virtual void vfunc_84() override;
/* 90 */ virtual bool vfunc_90() override;
/* 94 */ virtual void vfunc_94() override;
/* a0 */ virtual bool TrySetTransform(Transform *transform) override;
/* b0 */ virtual void SetTransform(Transform *transform) override;
/* b4 */ virtual void vfunc_b4() = 0;
/* b4 */ virtual FairyId GetFairyId() = 0;
/* b8 */ virtual s32 vfunc_b8();
/* bc */ virtual bool vfunc_bc(unk32 param1, unk8 param2, s32 param3);
/* c0 */ virtual bool vfunc_c0(Vec3p *param1);
+15
View File
@@ -0,0 +1,15 @@
#pragma once
#include "Actor/Navi/ActorNaviBase.hpp"
class ActorWisdomNavi : public ActorNaviBase {
public:
static ActorType gType;
/* 000 (base) */
/* 294 */
/* b4 */ virtual FairyId GetFairyId() override;
static ActorWisdomNavi *Create();
};
+1 -1
View File
@@ -36,7 +36,7 @@ public:
/* 1b8 */
/* 00 */ virtual ~ActorArrow() override;
/* 08 */ virtual bool vfunc_08() override;
/* 08 */ virtual bool Init() override;
/* 10 */ virtual void vfunc_10(u32 param1) override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 18 */ virtual void vfunc_18(u32 param1) override;
+1 -1
View File
@@ -19,7 +19,7 @@ public:
/* 164 */
/* 00 */ virtual ~ActorBlast() override;
/* 08 */ virtual bool vfunc_08() override;
/* 08 */ virtual bool Init() override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 18 */ virtual void vfunc_18(u32 param1) override;
/* b4 */
+1 -1
View File
@@ -54,7 +54,7 @@ public:
/* 26c */
/* 00 */ virtual ~ActorBomb() override;
/* 08 */ virtual bool vfunc_08() override;
/* 08 */ virtual bool Init() override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 18 */ virtual void vfunc_18(u32 param1) override;
/* 20 */ virtual void vfunc_20(bool param1) override;
+113
View File
@@ -0,0 +1,113 @@
#pragma once
#include "global.h"
#include "types.h"
#include "Actor/Actor.hpp"
#include "Actor/ActorType.hpp"
class ActorRefill : public Actor {
public:
/* 000 (base) */
/* 158 */ unk32 mUnk_158;
/* 15c */ unk32 mUnk_15c;
/* 160 */ unk32 mUnk_160;
/* 164 */ u8 mUnk_164;
/* 165 */ unk8 mUnk_165[0x3];
/* 168 */
public:
ActorRefill(unk32 param1);
/* 00 */ virtual ~ActorRefill() override;
/* 08 */ virtual bool Init() override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 20 */ virtual void vfunc_20(bool param1) override;
/* b4 */ virtual ItemFlag GetAmmoItem() = 0;
/* b8 */
bool func_ov014_02135364(unk32 param1);
void func_ov014_02135474();
};
class ActorRefillBombs : public ActorRefill {
public:
static ActorType gType;
/* 000 (base) */
/* 168 */
public:
ActorRefillBombs();
static ActorRefillBombs *Create();
/* 00 */ virtual ~ActorRefillBombs() override;
/* b4 */ virtual ItemFlag GetAmmoItem() override;
/* b8 */
};
class ActorRefillBombchus : public ActorRefill {
public:
static ActorType gType;
/* 000 (base) */
/* 168 */
public:
ActorRefillBombchus();
static ActorRefillBombchus *Create();
/* 00 */ virtual ~ActorRefillBombchus() override;
/* b4 */ virtual ItemFlag GetAmmoItem() override;
/* b8 */
};
class ActorRefillArrows : public ActorRefill {
public:
static ActorType gType;
/* 000 (base) */
/* 168 */
public:
ActorRefillArrows();
static ActorRefillArrows *Create();
/* 00 */ virtual ~ActorRefillArrows() override;
/* b4 */ virtual ItemFlag GetAmmoItem() override;
/* b8 */
};
class ActorRefillTime : public ActorRefill {
public:
static ActorType gType;
/* 000 (base) */
/* 168 */
public:
ActorRefillTime();
static ActorRefillTime *Create();
/* 00 */ virtual ~ActorRefillTime() override;
/* 08 */ virtual bool Init() override;
/* b4 */ virtual ItemFlag GetAmmoItem() override;
/* b8 */
};
class ActorLSTM : public ActorRefill {
public:
static ActorType gType;
/* 000 (base) */
/* 168 */
public:
ActorLSTM();
static ActorLSTM *Create();
/* 00 */ virtual ~ActorLSTM() override;
/* 08 */ virtual bool Init() override;
/* b4 */ virtual ItemFlag GetAmmoItem() override;
/* b8 */
};
+1 -1
View File
@@ -46,7 +46,7 @@ public:
/* 1a0 */
/* 00 */ virtual ~ActorRope() override;
/* 08 */ virtual bool vfunc_08() override;
/* 08 */ virtual bool Init() override;
/* 10 */ virtual void vfunc_10(u32 param1) override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 18 */ virtual void vfunc_18(u32 param1) override;
+4 -3
View File
@@ -4,9 +4,10 @@
#include "types.h"
struct UnkStruct_027e05f8 {
// TODO: Add fields
unk16 mUnk_00;
u16 mUnk_02;
/* 0 */ u16 mUnk_0;
/* 2 */ u16 mUnk_2;
/* 4 */ unk16 mUnk_4;
/* 6 */
void func_0202adf4(unk32 param1, s32 param2);
~UnkStruct_027e05f8();
+19 -1
View File
@@ -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[];
+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;
+8 -2
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,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();
};
+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;
+15
View File
@@ -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;
+27
View File
@@ -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;
+21
View File
@@ -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;
+4 -3
View File
@@ -19,14 +19,15 @@ 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();
/* 30 */ virtual void vfunc_30();
/* 34 */ virtual bool GetChildNode(unk32 param1, const char *description, u32 parent, s32 *param4);
/* 34 */ virtual bool GetChildNode(unk32 param1, const char *description, u32 parent, s32 *param4, unk32 param5,
unk32 param6, unk32 param7, unk32 param8);
/* 38 */ virtual void vfunc_38();
/* 3c */ virtual void vfunc_3c();
/* 3c */ virtual void vfunc_3c(unk32 param1, void *param2);
/* 40 */
DebugHierarchyBase();
+2 -2
View File
@@ -50,7 +50,7 @@ enum ItemFlag_ {
/* 0x2d */ ItemFlag_SwordsmansScroll = 45,
/* 0x2e */ ItemFlag_CycloneSlate = 46,
/* 0x2f */ ItemFlag_Unk_47 = 47,
/* 0x2f */ ItemFlag_BigCatchLure = 47,
/* 0x60 */ ItemFlag_TreasureChart1 = 96,
/* 0x61 */ ItemFlag_TreasureChart2 = 97,
@@ -224,7 +224,7 @@ enum ItemId_ {
/* 0x7d */ ItemId_Unk_125 = 125,
/* 0x7e */ ItemId_Unk_126 = 126,
/* 0x7f */ ItemId_CycloneSlate = 127,
/* 0x80 */ ItemId_Unk_128 = 128,
/* 0x80 */ ItemId_BigCatchLure = 128,
/* 0x81 */ ItemId_Rupoor10 = 129,
/* 0x82 */ ItemId_Rupoor50 = 130,
/* 0x83 */ ItemId_Unk_131 = 131,
+5 -15
View File
@@ -8,7 +8,7 @@ extern "C" {
#include "nds/math.h"
#include "types.h"
#include "Actor/Navi/ActorNavi.hpp"
#include "Actor/Navi/ActorNaviBase.hpp"
#include "Item/Item.hpp"
#include "Player/EquipItem.hpp"
#include "Render/ModelRender.hpp"
@@ -20,15 +20,6 @@ extern "C" {
#define MAX_AMMO_UPGRADE 2
#define MAX_UNK_0BA 9
typedef s32 FairyId;
enum FairyId_ {
FairyId_None = -1,
FairyId_Courage = 0,
FairyId_Power = 1,
FairyId_Wisdom = 2,
FairyId_COUNT = 3,
};
typedef u32 ItemModelId;
enum ItemModelId_ {
ItemModelId_OshusSword, // swA
@@ -60,13 +51,13 @@ 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
/* 00c */ u32 mHourglassSandFrames;
/* 010 */ FairyId mEquippedFairy;
/* 014 */ ActorNavi *mFairies[FairyId_COUNT];
/* 014 */ ActorNaviBase *mFairies[FairyId_COUNT];
/* 020 */ u16 mEquipLoadTimer;
/* 022 */ u16 mNumRupees;
/* 024 */ u8 mNumGems[Gem_COUNT];
@@ -101,7 +92,6 @@ private:
/* 14e */ unk8 mUnk_14e[0x2]; // padding?
/* 150 */
public:
static ItemManager *Create();
static void Destroy();
ItemManager();
@@ -114,7 +104,7 @@ public:
// Fairy
FairyId GetEquippedFairy() const;
ActorNavi *GetFairy(FairyId id) const;
ActorNaviBase *GetFairy(FairyId id) const;
u32 GetActiveFairyLevel(FairyId id) const;
u32 GetFairyLevel(FairyId id) const;
void SpawnFairies();
@@ -144,7 +134,7 @@ public:
// Ammo
u16 GetAmmo(ItemFlag equipId) const;
void GiveAmmo(ItemFlag equipId, u16 amount);
void GiveAmmo(ItemFlag equipId, u32 amount);
u16 GetMaxAmmo(ItemFlag equipId) const;
void UpgradeQuiver();
void UpgradeBombBag();
+2
View File
@@ -27,3 +27,5 @@ public:
static void Create();
static void Destroy();
};
extern ItemModelLoader *gItemModelLoader;
+1 -2
View File
@@ -113,8 +113,7 @@ public:
/* 188 */ unk8 mUnk_188[0x14];
/* 19c */ unk32 mUnk_19c;
/* 1a0 */ unk8 mUnk_1a0[0xc];
/* 1ac */ s16 mUnk_1ac;
/* 1ae */ unk8 mUnk_1ae[2];
/* 1ac */ unk32 mUnk_1ac;
/* 1b0 */
/* 00 */ virtual ~MapBase();
+6 -6
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(Vec2b *param1);
static unk8 func_ov00_020840dc();
static unk8 func_ov00_02084100(unk32 param_1, MapManager *param_2);
unk8 GetMapData_Unk_48();
@@ -210,7 +210,7 @@ public:
unk8 func_ov00_0208499c();
unk8 func_ov00_020849c0();
unk8 func_ov00_020849dc();
static bool func_ov00_020849f8(unk32 param_1);
bool func_ov00_020849f8();
unk8 func_ov00_02084a50();
void SpawnNPC(Vec3p *param_2, unk32 param_3, unk32 param_4);
bool func_ov00_02084ac4(u32 actorId);
@@ -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);
+75
View File
@@ -0,0 +1,75 @@
#pragma once
#include "global.h"
#include "types.h"
#include "Map/MapBase.hpp"
#include "Render/ModelRender.hpp"
#include "Unknown/UnkStruct_ov000_020c0c08.hpp"
class MapOverworld_Unk1 : public UnkStruct_ov000_020c0c08 {
public:
/* 00 (base) */
/* 24 */
MapOverworld_Unk1(u32 param1, u8 *param2, unk32 param3);
};
class MapOverworld : public MapBase {
public:
/* 000 (base) */
/* 1b0 */ void *mUnk_1b0;
/* 1b4 */ unk8 mUnk_1b4;
/* 1b5 */ unk8 mUnk_1b5;
/* 1b6 */ unk8 mUnk_1b6;
/* 1b7 */ unk8 mUnk_1b7;
/* 1b8 */ u8 mUnk_1b8;
/* 1b9 */ unk8 mUnk_1b9;
/* 1ba */ unk8 mUnk_1ba;
/* 1bb */ unk8 mUnk_1bb;
/* 1bc */ s32 mUnk_1bc;
/* 1c0 */ ModelRender *mUnk_1c0;
/* 1c4 */ void *mUnk_1c4;
/* 1c8 */ void *mUnk_1c8;
/* 1cc */ unk8 mUnk_1cc;
/* 1cd */ unk8 mUnk_1cd;
/* 1ce */ unk8 mUnk_1ce[0x2];
/* 1d0 */ unk32 mUnk_1d0;
/* 1d4 */ unk32 mUnk_1d4;
/* 1d8 */ s16 mUnk_1d8;
/* 1da */ s16 mUnk_1da;
/* 1dc */
/* 00 */ virtual ~MapOverworld() override;
/* 08 */ virtual void vfunc_08(u32 param_2, u32 param_3, Course *param_4) override;
/* 14 */ virtual void vfunc_14() override;
/* 1c */ virtual void vfunc_1c(bool param_2) override;
/* 20 */ virtual void vfunc_20(s32 param_2) override;
/* 2c */ virtual void vfunc_2c() override;
/* 4c */ virtual void vfunc_4c() override;
/* 54 */ virtual unk32 vfunc_54() override;
/* 58 */ virtual unk32 vfunc_58() override;
/* 5c */ virtual unk32 vfunc_5c() override;
/* 60 */ virtual unk32 vfunc_60() override;
/* 64 */ virtual unk32 vfunc_64() override;
/* 78 */ virtual unk32 vfunc_78() override;
/* 7c */ virtual unk32 vfunc_7c() override;
/* 80 */ virtual unk32 vfunc_80() override;
/* 94 */ virtual void vfunc_94() override;
/* 98 */ virtual void vfunc_98() override;
/* a4 */ virtual unk32 vfunc_a4() override;
/* b0 */ virtual unk8 vfunc_b0(unk32 param_2, unk32 param_3) override;
/* bc */ virtual void vfunc_bc() override;
/* c0 */ virtual void vfunc_c0() override;
/* c4 */
MapOverworld(u32 width, u32 height);
void func_ov018_0215bfc8();
u32 func_ov018_0215c34c();
u32 func_ov018_0215c368();
s32 func_ov018_0215c380(u8 *param1);
void func_ov018_0215c650();
void func_ov018_0215c6ac();
void func_ov018_0215c6d0();
void func_ov018_0215c9ac();
};
+11 -11
View File
@@ -14,13 +14,13 @@
typedef unk32 LinkStateId;
enum LinkStateId_ {
LinkStateId_Move = 0,
LinkStateId_Item = 1,
LinkStateId_Grab = 2,
LinkStateId_Unk3 = 3,
LinkStateId_Unk4 = 4,
LinkStateId_Damage = 5,
LinkStateId_ItemGet = 6,
LinkStateId_Move = 0,
LinkStateId_Item = 1,
LinkStateId_Interact = 2,
LinkStateId_Follow = 3,
LinkStateId_Roll = 4,
LinkStateId_Damage = 5,
LinkStateId_Cutscene = 6,
LinkStateId_COUNT
};
@@ -60,7 +60,7 @@ public:
void func_ov00_020a81b8(unk32 param1, unk32 param2);
LinkStateItem *GetLinkItemState();
void LookAt(Vec3p *target);
void func_ov00_020a81fc();
void func_ov00_020a81fc(Vec3p *param1, unk32 param2);
void AddHealth(s16 amount);
void func_ov00_020a8224(unk32 param1);
void TurnTo(s16 angle, unk32 param2, unk32 speed);
@@ -82,7 +82,7 @@ public:
void Clear_PlayerLinkBase_Unk48(u16 flags);
void func_ov00_020a8680(unk32 param1, unk16 param2, bool param3);
void PlayerLinkBase_func_ov00_020bccc8();
bool PlayerLinkBase_vfunc_58();
bool PlayerLinkBase_vfunc_58(unk32 param1, ActorRef *param2);
bool func_ov00_020a8704(s16 *pAngle);
bool func_ov00_020a8774(Vec3p *param1, s32 angle);
void func_ov00_020a8844(Vec3p *param1, bool param2, bool param3);
@@ -90,7 +90,7 @@ public:
void func_ov00_020a8994();
void func_ov00_020a89bc(unk32 param1, unk32 param2);
void func_ov00_020a8a08(unk32 param1);
void func_ov00_020a8a4c(unk32 param1, unk32 param2);
void func_ov00_020a8a4c(const void *param1, unk32 param2);
void func_ov00_020a8a90(unk32 param1);
void func_ov00_020a8ab0(unk32 param1);
void func_ov00_020a8ad0(unk32 param1);
@@ -152,6 +152,6 @@ public:
void func_ov005_021113c4(bool param1);
};
LinkStateBase *GetLinkState(s32 index);
LinkStateBase *GetLinkState(LinkStateId index);
extern LinkStateBase **gLinkStates;
+1
View File
@@ -8,6 +8,7 @@
#include "Render/ModelRender.hpp"
class LinkStateDamage : public LinkStateBase {
public:
/* 00 (base) */
/* 0c */ void *mUnk_0c;
/* 10 */ unk32 mUnk_10;
+5 -2
View File
@@ -7,13 +7,16 @@
class LinkStateMove : public LinkStateBase {
public:
static unk32 data_ov000_020e56f0;
/* 00 (base) */
/* 0c */ s32 mUnk_0c;
/* 10 */ unk16 mUnk_10;
/* 12 */ unk16 mUnk_12;
/* 14 */ bool mUnk_14;
/* 14 */ bool mUnk_15;
/* 16 */ unk8 mUnk_16[2];
/* 15 */ bool mUnk_15;
/* 16 */ bool mUnk_16;
/* 17 */ bool mUnk_17;
/* 18 */
/* 00 */ virtual void vfunc_00() override;
+4 -4
View File
@@ -29,7 +29,7 @@ public:
/* 0c */ virtual bool CanMove();
/* 10 */ virtual void vfunc_10(Cylinder *param1) = 0;
/* 14 */ virtual void vfunc_14(Cylinder *param1) = 0;
/* 18 */ virtual void vfunc_18() = 0;
/* 18 */ virtual bool vfunc_18(s32 param1) = 0;
/* 1c */ virtual void Init() = 0;
/* 20 */ virtual void vfunc_20() = 0;
/* 24 */ virtual void UpdatePos() = 0;
@@ -48,8 +48,8 @@ public:
void SetUpdatePos(bool updatePos);
void SetVisible(bool visible);
EquipSword *GetEquipSword();
EquipShield *GetEquipShield();
static EquipSword *GetEquipSword();
static EquipShield *GetEquipShield();
void LookAt(Vec3p *target);
bool func_ov00_020a7c00(s32 param1);
bool CollidesWith(Cylinder *cylinder);
@@ -64,4 +64,4 @@ public:
extern PlayerBase *gPlayer;
extern Vec3p gPlayerPos;
extern Vec3p gPlayerVel;
extern s16 gPlayerAngle;
extern u16 gPlayerAngle;
+19 -18
View File
@@ -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;
+4 -2
View File
@@ -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;
+1 -1
View File
@@ -50,7 +50,7 @@ public:
/* 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;
/* 18 */ virtual bool vfunc_18(s32 param1) override;
/* 1c */ virtual void Init() override;
/* 20 */ virtual void vfunc_20() override;
/* 24 */ virtual void UpdatePos() override;
+5 -1
View File
@@ -5,6 +5,8 @@
#include "nds/math.h"
#include "types.h"
extern u16 *data_0207aecc;
typedef u16 TouchFlags;
enum TouchFlag_ {
TouchFlag_TouchedNow = 0x0001,
@@ -42,9 +44,11 @@ public:
void Update(TouchState *state, u16 speed);
bool func_ov00_0207aeac();
void UpdateConditionally(TouchState *state, u16 speed);
void func_ov00_0207af38(u16 speed, bool param2);
void func_ov00_0207af38(u16 speedIncrease, bool shouldIncrease);
~TouchControl();
static bool func_0202b864(Vec3p *param1, s32 size, unk8 param3);
static bool func_0202b894(Vec3p *param1, s32 size, unk8 param3);
};
void Fill16(int value, unsigned short *dst, int size); // TODO: Replace with header file
+2 -1
View File
@@ -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];
+32 -13
View File
@@ -23,6 +23,10 @@ enum AdventureFlag_ {
/* 0x30 */ AdventureFlag_Cannon = 48,
/* 0x33 */ AdventureFlag_RegalNecklace = 51,
/* 0x7a */ AdventureFlag_CourageCrest = 122,
/* 0x7d */ AdventureFlag_Azurine = 125,
/* 0x7e */ AdventureFlag_Crimsonine = 126,
/* 0x7f */ AdventureFlag_Aquanine = 127,
@@ -30,11 +34,26 @@ enum AdventureFlag_ {
/* 0x8c */ AdventureFlag_SalvageArm = 140,
/* 0xa2 */ AdvantureFlag_HerosNewClothes = 162,
/* 0xa3 */ AdvantureFlag_Kaleidoscope = 163,
/* 0xa4 */ AdventureFlag_GuardNotebook = 164,
/* 0xa7 */ AdventureFlag_WoodHeart = 167,
/* 0xb6 */ AdventureFlag_SpawnFinalPhantoms = 182,
/* 0x126 */ AdventureFlag_ReceivedGoldenChimney = 294,
/* 0x127 */ AdventureFlag_ReceivedGoldenHandrail = 295,
/* 0x128 */ AdventureFlag_ReceivedGoldenCannon = 296,
/* 0x129 */ AdventureFlag_ReceivedGoldenHull = 297,
/* 0x137 */ AdventureFlag_FrogGlyph_MercayIsland = 311,
/* 0x138 */ AdventureFlag_FrogGlyph_MolidaIsland = 312,
/* 0x139 */ AdventureFlag_FrogGlyph_BannanIsland = 313,
/* 0x13a */ AdventureFlag_FrogGlyph_DeeEssIsland = 314,
/* 0x13b */ AdventureFlag_FrogGlyph_IsleOfFrost = 315,
/* 0x13c */ AdventureFlag_FrogGlyph_NorthEast = 316,
/* 0x187 */ AdventureFlag_COUNT = 391,
};
@@ -104,19 +123,19 @@ public:
bool func_ov00_02097bcc();
bool func_ov00_02097bcc(s32 param2);
s32 func_ov00_02097c08();
bool Get_FlagsUnk_30_Flag(int index);
unk8 Get_FlagsUnk_49(int index);
unk8 Get_FlagsUnk_48(int index);
unk8 Get_FlagsUnk_4a(int index);
unk16 Get_FlagsUnk_42(int index);
unk16 Get_FlagsUnk_40(int index);
unk32 Get_FlagsUnk_38(int index);
unk32 Get_FlagsUnk_34(int index);
unk32 Get_FlagsUnk_44(int index);
static unk32 Get_FlagsUnk_30(int index);
static bool Get_FlagsUnk_00(int index, FlagsUnk2 *result);
bool Get_FlagsUnk_18(int index, FlagsUnk2 *result);
FlagsUnk *Get_FlagsUnk(int index);
bool Get_FlagsUnk_30_Flag(s32 index);
u8 Get_FlagsUnk_49(s32 index);
u8 Get_FlagsUnk_48(s32 index);
u8 Get_FlagsUnk_4a(s32 index);
u16 Get_FlagsUnk_42(s32 index);
u16 Get_FlagsUnk_40(s32 index);
unk32 Get_FlagsUnk_38(s32 index);
unk32 Get_FlagsUnk_34(s32 index);
unk32 Get_FlagsUnk_44(s32 index);
static unk32 Get_FlagsUnk_30(s32 index);
static bool Get_FlagsUnk_00(s32 index, FlagsUnk2 *result);
bool Get_FlagsUnk_18(s32 index, FlagsUnk2 *result);
FlagsUnk *Get_FlagsUnk(s32 index);
bool func_ov00_02097e6c();
bool func_ov00_02097e7c();
bool func_ov00_02097ea4();
+128 -64
View File
@@ -2,73 +2,137 @@
#include "types.h"
#include <nds/overlay.h>
#include "Item/Item.hpp"
EXTERN_OVERLAY_ID(0);
EXTERN_OVERLAY_ID(1);
EXTERN_OVERLAY_ID(2);
EXTERN_OVERLAY_ID(3);
EXTERN_OVERLAY_ID(4);
EXTERN_OVERLAY_ID(5);
EXTERN_OVERLAY_ID(6);
EXTERN_OVERLAY_ID(7);
EXTERN_OVERLAY_ID(8);
EXTERN_OVERLAY_ID(9);
EXTERN_OVERLAY_ID(10);
EXTERN_OVERLAY_ID(11);
EXTERN_OVERLAY_ID(12);
EXTERN_OVERLAY_ID(13);
EXTERN_OVERLAY_ID(14);
EXTERN_OVERLAY_ID(15);
EXTERN_OVERLAY_ID(16);
EXTERN_OVERLAY_ID(17);
EXTERN_OVERLAY_ID(18);
EXTERN_OVERLAY_ID(19);
EXTERN_OVERLAY_ID(20);
EXTERN_OVERLAY_ID(21);
EXTERN_OVERLAY_ID(22);
EXTERN_OVERLAY_ID(23);
EXTERN_OVERLAY_ID(24);
EXTERN_OVERLAY_ID(25);
EXTERN_OVERLAY_ID(26);
EXTERN_OVERLAY_ID(27);
EXTERN_OVERLAY_ID(28);
EXTERN_OVERLAY_ID(29);
EXTERN_OVERLAY_ID(30);
EXTERN_OVERLAY_ID(31);
EXTERN_OVERLAY_ID(32);
EXTERN_OVERLAY_ID(33);
EXTERN_OVERLAY_ID(34);
EXTERN_OVERLAY_ID(35);
EXTERN_OVERLAY_ID(36);
EXTERN_OVERLAY_ID(37);
EXTERN_OVERLAY_ID(38);
EXTERN_OVERLAY_ID(39);
EXTERN_OVERLAY_ID(40);
EXTERN_OVERLAY_ID(41);
EXTERN_OVERLAY_ID(42);
EXTERN_OVERLAY_ID(43);
EXTERN_OVERLAY_ID(44);
EXTERN_OVERLAY_ID(45);
EXTERN_OVERLAY_ID(46);
EXTERN_OVERLAY_ID(47);
EXTERN_OVERLAY_ID(48);
EXTERN_OVERLAY_ID(49);
EXTERN_OVERLAY_ID(50);
EXTERN_OVERLAY_ID(51);
EXTERN_OVERLAY_ID(52);
EXTERN_OVERLAY_ID(53);
EXTERN_OVERLAY_ID(54);
EXTERN_OVERLAY_ID(55);
EXTERN_OVERLAY_ID(56);
EXTERN_OVERLAY_ID(57);
EXTERN_OVERLAY_ID(58);
EXTERN_OVERLAY_ID(59);
EXTERN_OVERLAY_ID(60);
EXTERN_OVERLAY_ID(61);
typedef u32 OverlayId;
enum OverlayId_ {
OverlayId_Core,
OverlayId_01,
OverlayId_02,
OverlayId_03,
OverlayId_Memory,
OverlayId_05,
OverlayId_06,
OverlayId_07,
OverlayId_08,
OverlayId_09,
OverlayId_10,
OverlayId_11,
OverlayId_12,
OverlayId_13,
OverlayId_Land,
OverlayId_15,
OverlayId_16,
OverlayId_17,
OverlayId_18,
OverlayId_19,
OverlayId_20,
OverlayId_21,
OverlayId_22,
OverlayId_23,
OverlayId_24,
OverlayId_25,
OverlayId_26,
OverlayId_27,
OverlayId_28,
OverlayId_29,
OverlayId_30,
OverlayId_31,
OverlayId_32,
OverlayId_33,
OverlayId_34,
OverlayId_35,
OverlayId_36,
OverlayId_37,
OverlayId_38,
OverlayId_39,
OverlayId_40,
OverlayId_41,
OverlayId_42,
OverlayId_43,
OverlayId_44,
OverlayId_45,
OverlayId_46,
OverlayId_47,
OverlayId_48,
OverlayId_49,
OverlayId_50,
OverlayId_51,
OverlayId_52,
OverlayId_PlayerBoomerang,
OverlayId_PlayerScoop,
OverlayId_PlayerBomb,
OverlayId_PlayerBow,
OverlayId_PlayerRope,
OverlayId_PlayerBombchu,
OverlayId_PlayerHammer,
OverlayId_60,
OverlayId_61,
};
#define OverlayId_None -1
#define OverlayId_Core OVERLAY_ID(0)
#define OverlayId_01 OVERLAY_ID(1)
#define OverlayId_02 OVERLAY_ID(2)
#define OverlayId_03 OVERLAY_ID(3)
#define OverlayId_Memory OVERLAY_ID(4)
#define OverlayId_05 OVERLAY_ID(5)
#define OverlayId_06 OVERLAY_ID(6)
#define OverlayId_07 OVERLAY_ID(7)
#define OverlayId_08 OVERLAY_ID(8)
#define OverlayId_09 OVERLAY_ID(9)
#define OverlayId_10 OVERLAY_ID(10)
#define OverlayId_11 OVERLAY_ID(11)
#define OverlayId_12 OVERLAY_ID(12)
#define OverlayId_13 OVERLAY_ID(13)
#define OverlayId_Land OVERLAY_ID(14)
#define OverlayId_15 OVERLAY_ID(15)
#define OverlayId_16 OVERLAY_ID(16)
#define OverlayId_17 OVERLAY_ID(17)
#define OverlayId_18 OVERLAY_ID(18)
#define OverlayId_19 OVERLAY_ID(19)
#define OverlayId_20 OVERLAY_ID(20)
#define OverlayId_21 OVERLAY_ID(21)
#define OverlayId_22 OVERLAY_ID(22)
#define OverlayId_23 OVERLAY_ID(23)
#define OverlayId_24 OVERLAY_ID(24)
#define OverlayId_25 OVERLAY_ID(25)
#define OverlayId_26 OVERLAY_ID(26)
#define OverlayId_27 OVERLAY_ID(27)
#define OverlayId_28 OVERLAY_ID(28)
#define OverlayId_29 OVERLAY_ID(29)
#define OverlayId_30 OVERLAY_ID(30)
#define OverlayId_31 OVERLAY_ID(31)
#define OverlayId_32 OVERLAY_ID(32)
#define OverlayId_33 OVERLAY_ID(33)
#define OverlayId_34 OVERLAY_ID(34)
#define OverlayId_35 OVERLAY_ID(35)
#define OverlayId_36 OVERLAY_ID(36)
#define OverlayId_37 OVERLAY_ID(37)
#define OverlayId_38 OVERLAY_ID(38)
#define OverlayId_39 OVERLAY_ID(39)
#define OverlayId_40 OVERLAY_ID(40)
#define OverlayId_41 OVERLAY_ID(41)
#define OverlayId_42 OVERLAY_ID(42)
#define OverlayId_43 OVERLAY_ID(43)
#define OverlayId_44 OVERLAY_ID(44)
#define OverlayId_45 OVERLAY_ID(45)
#define OverlayId_46 OVERLAY_ID(46)
#define OverlayId_47 OVERLAY_ID(47)
#define OverlayId_48 OVERLAY_ID(48)
#define OverlayId_49 OVERLAY_ID(49)
#define OverlayId_50 OVERLAY_ID(50)
#define OverlayId_51 OVERLAY_ID(51)
#define OverlayId_52 OVERLAY_ID(52)
#define OverlayId_PlayerBoomerang OVERLAY_ID(53)
#define OverlayId_PlayerScoop OVERLAY_ID(54)
#define OverlayId_PlayerBomb OVERLAY_ID(55)
#define OverlayId_PlayerBow OVERLAY_ID(56)
#define OverlayId_PlayerRope OVERLAY_ID(57)
#define OverlayId_PlayerBombchu OVERLAY_ID(58)
#define OverlayId_PlayerHammer OVERLAY_ID(59)
#define OverlayId_60 OVERLAY_ID(60)
#define OverlayId_61 OVERLAY_ID(61)
typedef u32 OverlayIndex;
enum OverlayIndex_ {
+1 -1
View File
@@ -19,4 +19,4 @@ struct Random {
}
};
extern Random *gRandom;
extern Random gRandom;
+1 -1
View File
@@ -31,7 +31,7 @@ public:
/* 34 */
UnkStruct_02037750(unk32 param1, unk32 param2);
LinkStateInteract *GetLinkStateInteract();
static LinkStateInteract *GetLinkStateInteract();
void func_020385d0(s32 param1, unk32 *param2);
};
@@ -0,0 +1,21 @@
#pragma once
#include "global.h"
#include "types.h"
#include "System/SysNew.hpp"
#include "Unknown/UnkStruct_0202e1a0.hpp"
class UnkStruct_ov000_020c0c08 : public SysObject {
public:
/* 00 (vtable) */
/* 04 */ unk32 mUnk_04;
/* 08 */ u8 *mUnk_08;
/* 0c */ UnkStruct_0202e1a0 mUnk_0c;
/* 24 */
/* 00 */ virtual ~UnkStruct_ov000_020c0c08();
/* 08 */
UnkStruct_ov000_020c0c08(unk32 param1, u8 *param2);
};