Merge branch 'main' into decomp/MapManager

This commit is contained in:
SammygoodTunes
2025-04-01 21:25:38 +02:00
committed by GitHub
172 changed files with 1508 additions and 779 deletions
+1 -1
View File
@@ -227,7 +227,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
View File
@@ -41,6 +41,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 vfunc_08() override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 18 */ virtual void vfunc_18(u32 param1) override;
/* b4 */
static ActorActionObject *Create();
ActorActionObject();
};
+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 vfunc_08() 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();
};
+15 -22
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;
/* 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,22 +43,7 @@ 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;
@@ -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();
};
+3 -12
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
@@ -66,7 +57,7 @@ private:
/* 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];
@@ -114,7 +105,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();
+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();
};
+1 -1
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;
+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;
+1
View File
@@ -6,6 +6,7 @@
typedef u32 OverlayId;
enum OverlayId_ {
OverlayId_None = -1,
OverlayId_Core,
OverlayId_01,
OverlayId_02,
@@ -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);
};