ActorNavi (#132)

* Map symbol in Game

* ActorNavi 93%

* ActorNavi_04 96%

* Document Actor fields

* Move MAX_KEYS to ItemManager

* Move gTouchControl to its own header

* Fix missing includes

* Fix regressions

* Fix build

* Update decompiling guide images

* Fix regression
This commit is contained in:
Aetias
2025-08-29 20:01:10 +02:00
committed by GitHub
parent be02098914
commit cb52c8c23f
66 changed files with 778 additions and 346 deletions
+13 -11
View File
@@ -3,10 +3,10 @@
#include "global.h"
#include "types.h"
#include "nds/math.h"
#include <nds/math.h>
#include "Actor/ActorRef.hpp"
#include "Actor/ActorType.hpp"
#include "Actor/ActorTypeId.hpp"
#include "Actor/FilterActorBase.hpp"
#include "Physics/Cylinder.hpp"
#include "Physics/Transform.hpp"
@@ -60,8 +60,7 @@ struct Actor_UnkStruct_0a4 {
/* 01 */ bool mUnk_01;
/* 02 */ bool mUnk_02;
/* 03 */ bool mUnk_03;
/* 04 */ Vec3p mUnk_04;
/* 10 */ s32 mUnk_10;
/* 04 */ Cylinder mUnk_04;
/* 14 */
Actor_UnkStruct_0a4(q20 x, q20 y, q20 z, s32 unk_10);
@@ -126,20 +125,23 @@ public:
/* 08c */ Cylinder mUnk_08c;
/* 09c */ Actor_UnkStruct_09c mUnk_09c;
/* 0a4 */ Actor_UnkStruct_0a4 mUnk_0a4;
/* 0b8 */ unk8 mUnk_0b8[0x24];
/* 0b8 */ Vec3p mUnk_0b8; // same as position for some actors
/* 0c4 */ unk8 mUnk_0c4[0x18];
/* 0dc */ u16 mUnk_0dc;
/* 0de */ u16 mUnk_0de;
/* 0e0 */ u16 mUnk_0e0;
/* 0e2 */ u16 mUnk_0e2;
/* 0e4 */ unk16 mUnk_0e4;
/* 0e6 */ unk8 mUnk_0e6[0x20];
/* 0e6 */ unk8 mUnk_0e6[0x1a];
/* 100 */ void *mUnk_100;
/* 104 */ unk16 mUnk_104;
/* 106 */ unk8 mUnk_106;
/* 107 */ unk8 mUnk_107;
/* 108 */ unk8 mUnk_108;
/* 109 */ unk8 mUnk_109;
/* 10a */ unk8 mUnk_10a[0x6];
/* 110 */ bool mUnk_110;
/* 111 */ bool mUnk_111;
/* 110 */ bool mTouchingWall;
/* 111 */ bool mTouchingFloor;
/* 112 */ bool mUnk_112;
/* 113 */ bool mUnk_113;
/* 114 */ unk8 mUnk_114;
@@ -149,7 +151,7 @@ public:
/* 118 */ bool mAlive;
/* 119 */ u8 mUnk_119;
/* 11a */ bool mVisible;
/* 11b */ bool mUnk_11b;
/* 11b */ bool mGrabbed;
/* 11c */ unk8 mUnk_11c;
/* 11d */ bool mUnk_11d;
/* 11e */ q4 mYOffset;
@@ -194,8 +196,8 @@ public:
/* 4c */ virtual bool vfunc_4c(unk32 *param1);
/* 50 */ virtual Vec3p *GetPos();
/* 54 */ virtual void vfunc_54();
/* 58 */ virtual bool SetUnk_11b();
/* 5c */ virtual bool SetVelocity(Vec3p *vel);
/* 58 */ virtual bool Grab();
/* 5c */ virtual bool Drop(Vec3p *vel);
/* 60 */ virtual bool vfunc_60();
/* 64 */ virtual void vfunc_64();
/* 68 */ virtual void vfunc_68();
+2 -92
View File
@@ -3,97 +3,8 @@
#include "global.h"
#include "types.h"
typedef u32 ActorTypeId;
enum ActorTypeId_ {
ActorTypeId_Null = 'NULL',
ActorTypeId_Navi = 'NAVI',
ActorTypeId_ForceNavi = 'FCNV',
ActorTypeId_WisdomNavi = 'WSNV',
ActorTypeId_TreasureMap = 'TMAP',
ActorTypeId_DigSpot = 'DGTG',
ActorTypeId_ShopItemBombchus = 'ITBT',
ActorTypeId_ShopItemBombs = 'ITBM',
ActorTypeId_ShopItemTreasure = 'ITTR',
ActorTypeId_ShopItemHeartContainer = 'ITHU',
ActorTypeId_ShopItemQuiver = 'ITAP',
ActorTypeId_ShopItemBombBag = 'ITBB',
ActorTypeId_ShopItemRedPotion = 'ITPB',
ActorTypeId_ShopItemCourageGem = 'ITSR',
ActorTypeId_ShopItemShield = 'ITSL',
ActorTypeId_ShopItemSoldOut = 'ITSO',
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',
ActorTypeId_Bomb = 'BOMB',
ActorTypeId_Bombchu = 'BMTY',
ActorTypeId_GrapplingHook = 'ROPE',
ActorTypeId_PlayerDummy = 'PLDM',
ActorTypeId_PushBlock = 'PSBL',
ActorTypeId_WindBlock = 'WBLK',
ActorTypeId_StorageDrum = 'DRUM',
ActorTypeId_SmallKey = 'NKEY',
ActorTypeId_SwitchObject = 'SWOB',
ActorTypeId_EventIcon = 'EVIC',
ActorTypeId_ActionObject = 'ACOB',
ActorTypeId_Sandworm = 'MLDW',
ActorTypeId_Tektite = 'TEKT',
ActorTypeId_PolsVoice = 'PLSV',
ActorTypeId_Yook = 'YETI',
ActorTypeId_Armos = 'AMOS',
ActorTypeId_Stalfos = 'STLF',
ActorTypeId_StalfosWarrior = 'STLW',
ActorTypeId_ChuChu = 'CHUC',
ActorTypeId_Gel = 'GELL',
ActorTypeId_Bee = 'BEE0',
ActorTypeId_BeeHive = 'BEEH',
ActorTypeId_Cucco = 'KOKO',
ActorTypeId_Rope = 'SNAK',
ActorTypeId_Octorok = 'OCTA',
ActorTypeId_Keese = 'KETH',
ActorTypeId_Rat = 'RAT0',
ActorTypeId_Beamos = 'BMOS',
ActorTypeId_LikeLike = 'LKLK',
ActorTypeId_Crow = 'CROW',
ActorTypeId_Linebeck = 'LNBK',
ActorTypeId_Mailbox = 'POST',
ActorTypeId_Postman = 'PSTM',
ActorTypeId_BIGR = 'BIGR',
ActorTypeId_BKEY = 'BKEY',
ActorTypeId_BMRN = 'BMRN',
ActorTypeId_BMTY = 'BMTY',
ActorTypeId_BTRF = 'BTRF',
ActorTypeId_CBLS = 'CBLS',
ActorTypeId_EVIC = 'EVIC',
ActorTypeId_FLAL = 'FLAL',
ActorTypeId_FLBM = 'FLBM',
ActorTypeId_FLBT = 'FLBT',
ActorTypeId_FLTB = 'FLTB',
ActorTypeId_FLTM = 'FLTM',
ActorTypeId_FORC = 'FORC',
ActorTypeId_PWBS = 'PWBS',
ActorTypeId_SBEM = 'SBEM',
ActorTypeId_STNE = 'STNE',
ActorTypeId_TARU = 'TARU',
ActorTypeId_TSBH = 'TSBH',
ActorTypeId_TSUB = 'TSUB',
ActorTypeId_VLR0 = 'VLR0',
};
#include "Actor/Actor.hpp"
#include "Actor/ActorTypeId.hpp"
class ActorType_UnkClass {
public:
@@ -106,7 +17,6 @@ public:
mUnk_4(unk_04) {}
};
class Actor;
typedef Actor *(*ActorCreateFunc)();
struct ActorType {
+96
View File
@@ -0,0 +1,96 @@
#pragma once
#include "global.h"
#include "types.h"
typedef u32 ActorTypeId;
enum ActorTypeId_ {
ActorTypeId_Null = 'NULL',
ActorTypeId_Navi = 'NAVI',
ActorTypeId_ForceNavi = 'FCNV',
ActorTypeId_WisdomNavi = 'WSNV',
ActorTypeId_TreasureMap = 'TMAP',
ActorTypeId_DigSpot = 'DGTG',
ActorTypeId_ShopItemBombchus = 'ITBT',
ActorTypeId_ShopItemBombs = 'ITBM',
ActorTypeId_ShopItemTreasure = 'ITTR',
ActorTypeId_ShopItemHeartContainer = 'ITHU',
ActorTypeId_ShopItemQuiver = 'ITAP',
ActorTypeId_ShopItemBombBag = 'ITBB',
ActorTypeId_ShopItemRedPotion = 'ITPB',
ActorTypeId_ShopItemCourageGem = 'ITSR',
ActorTypeId_ShopItemShield = 'ITSL',
ActorTypeId_ShopItemSoldOut = 'ITSO',
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',
ActorTypeId_Bomb = 'BOMB',
ActorTypeId_Bombchu = 'BMTY',
ActorTypeId_GrapplingHook = 'ROPE',
ActorTypeId_PlayerDummy = 'PLDM',
ActorTypeId_PushBlock = 'PSBL',
ActorTypeId_WindBlock = 'WBLK',
ActorTypeId_StorageDrum = 'DRUM',
ActorTypeId_SmallKey = 'NKEY',
ActorTypeId_SwitchObject = 'SWOB',
ActorTypeId_EventIcon = 'EVIC',
ActorTypeId_ActionObject = 'ACOB',
ActorTypeId_Sandworm = 'MLDW',
ActorTypeId_Tektite = 'TEKT',
ActorTypeId_PolsVoice = 'PLSV',
ActorTypeId_Yook = 'YETI',
ActorTypeId_Armos = 'AMOS',
ActorTypeId_Stalfos = 'STLF',
ActorTypeId_StalfosWarrior = 'STLW',
ActorTypeId_ChuChu = 'CHUC',
ActorTypeId_Gel = 'GELL',
ActorTypeId_Bee = 'BEE0',
ActorTypeId_BeeHive = 'BEEH',
ActorTypeId_Cucco = 'KOKO',
ActorTypeId_Rope = 'SNAK',
ActorTypeId_Octorok = 'OCTA',
ActorTypeId_Keese = 'KETH',
ActorTypeId_Rat = 'RAT0',
ActorTypeId_Beamos = 'BMOS',
ActorTypeId_LikeLike = 'LKLK',
ActorTypeId_Crow = 'CROW',
ActorTypeId_Linebeck = 'LNBK',
ActorTypeId_Mailbox = 'POST',
ActorTypeId_Postman = 'PSTM',
ActorTypeId_BIGR = 'BIGR',
ActorTypeId_BKEY = 'BKEY',
ActorTypeId_BMRN = 'BMRN',
ActorTypeId_BMTY = 'BMTY',
ActorTypeId_BTRF = 'BTRF',
ActorTypeId_CBLS = 'CBLS',
ActorTypeId_EVIC = 'EVIC',
ActorTypeId_FLAL = 'FLAL',
ActorTypeId_FLBM = 'FLBM',
ActorTypeId_FLBT = 'FLBT',
ActorTypeId_FLTB = 'FLTB',
ActorTypeId_FLTM = 'FLTM',
ActorTypeId_FORC = 'FORC',
ActorTypeId_PWBS = 'PWBS',
ActorTypeId_SBEM = 'SBEM',
ActorTypeId_STNE = 'STNE',
ActorTypeId_TARU = 'TARU',
ActorTypeId_TSBH = 'TSBH',
ActorTypeId_TSUB = 'TSUB',
ActorTypeId_VLR0 = 'VLR0',
};
@@ -1,6 +1,7 @@
#pragma once
#include "Actor/Actor.hpp"
#include "Actor/ActorType.hpp"
class ActorActionObject : public Actor {
public:
+1
View File
@@ -1,5 +1,6 @@
#pragma once
#include "Actor/ActorType.hpp"
#include "Actor/Navi/ActorNaviBase.hpp"
class ActorForceNavi : public ActorNaviBase {
+32 -14
View File
@@ -1,6 +1,8 @@
#pragma once
#include "Actor/ActorType.hpp"
#include "Actor/Navi/ActorNaviBase.hpp"
#include "Unknown/UnkStruct_02057200.hpp"
#include "Unknown/UnkStruct_ov000_020beba8.hpp"
#include "Unknown/UnkStruct_ov000_020c0c08.hpp"
@@ -10,34 +12,50 @@ public:
/* c */
/* 00 */ virtual ~UnkStruct_ov000_020b8110() override;
/* 08 */ virtual void vfunc_08(unk16 *param1) override;
/* 08 */ virtual bool vfunc_08(UnkStruct_ov000_020beba8_08 *param1) override;
/* 14 */ virtual bool vfunc_14(u16 *param1) override;
/* 18 */ virtual void vfunc_18(s32 *param1) override;
/* 18 */ virtual bool vfunc_18(s32 *param1) override;
/* 1c */
UnkStruct_ov000_020b8110();
};
class ActorNavi_Unk_334 {
public:
/* 00 */ Vec3p mUnk_00;
/* 0c */
inline ActorNavi_Unk_334() {
mUnk_00.x = 0;
mUnk_00.y = 0;
mUnk_00.z = 0;
}
};
class ActorNavi : public ActorNaviBase {
public:
static ActorType gType;
/* 000 (base) */
/* 294 */ ModelRender mUnk_294;
/* 2f0 */ UnkStruct_ov000_020c0c08 mUnk_2f0;
/* 314 */ UnkStruct_ov000_020c0c08_04 mUnk_314;
/* 334 */ Vec3p mUnk_334;
/* 2f0 */ ActorNaviBase_Unk2 mUnk_2f0;
/* 334 */ ActorNavi_Unk_334 mUnk_334;
/* 340 */ unk16 mUnk_340;
/* 342 */ unk8 mUnk_342[0x2];
/* 344 */ u32 mUnk_344;
/* 342 (padding) */
/* 344 */ q20 mUnk_344;
/* 348 */ unk32 mUnk_348;
/* 34c */ unk8 mUnk_34c[0x38];
/* 34c */ ActorNaviBase_Unk1 mUnk_34c[4];
/* 35c */ unk8 mUnk_35c[0x28];
/* 384 */ Mat3p mUnk_384;
/* 3a8 */ unk8 mUnk_3a8[0xC];
/* 3b4 */ EquipHammer *mHammer;
/* 3b8 */ unk32 mUnk_3b8;
/* 3bc */ unk32 mUnk_3bc;
/* 3c0 */ u8 mUnk_3c0[0x8];
/* 3b8 */ UnkStruct_02057200 mUnk_3b8;
/* 3c0 */ u8 mUnk_3c0;
/* 3c1 */ u8 mUnk_3c1;
/* 3c2 */ u8 mUnk_3c2;
/* 3c2 */ u8 mUnk_3c3;
/* 3c4 */ u16 mUnk_3c4;
/* 3c6 */ u16 mUnk_3c6;
/* 3c8 */
/* 00 */ virtual ~ActorNavi() override;
@@ -47,8 +65,8 @@ public:
/* 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;
/* c4 */ virtual u16 vfunc_c4() override;
/* c8 */ virtual u16 vfunc_c8() override;
/* cc */ virtual bool vfunc_cc(unk32 *param1) override;
/* d0 */ virtual void vfunc_d0() override;
/* d4 */ virtual void vfunc_d4() override;
@@ -64,7 +82,7 @@ public:
bool func_ov059_0219933c(u32 param1);
void func_ov059_0219a0ac();
void func_ov059_0219aa08();
void func_ov059_0219aa08(bool param1);
void func_ov059_0219aba8(u32 param1);
bool func_ov059_0219af14();
bool func_ov059_0219afc4();
+48 -18
View File
@@ -6,6 +6,8 @@
#include "Actor/Actor.hpp"
#include "Player/EquipHammer.hpp"
#include "Render/ModelRender.hpp"
#include "Unknown/UnkStruct_ov000_020b7d74.hpp"
#include "Unknown/UnkStruct_ov000_020d18f4.hpp"
typedef s32 FairyId;
enum FairyId_ {
@@ -16,34 +18,62 @@ enum FairyId_ {
FairyId_COUNT = 3,
};
class ActorNaviBase_Unk1 {};
class ActorNaviBase_Unk1 : public UnkStruct_ov000_020b7d74 {
public:
ActorNaviBase_Unk1();
};
class ActorNaviBase_Unk2 : public UnkStruct_ov000_020c0c08 {
public:
/* 00 (base) */
/* 24 */ UnkStruct_ov000_020c0c08_04 mUnk_24;
/* 44 */
/* 00 */ virtual ~ActorNaviBase_Unk2() override;
/* 08 */
inline ActorNaviBase_Unk2(ItemModel *model) :
UnkStruct_ov000_020c0c08(&mUnk_24, model) {}
inline ActorNaviBase_Unk2(NsAnimation *param2, ItemModel *model) :
UnkStruct_ov000_020c0c08(&mUnk_24, model) {
this->func_ov000_020c0c44(param2);
}
};
class ActorNaviBase_Unk3 : public ModelRender {
public:
/* 00 */ virtual ~ActorNaviBase_Unk3() {}
/* 3c */ virtual void vfunc_3c() override;
/* 40 */
ActorNaviBase_Unk3(ItemModel *param1);
};
class ActorNaviBase : public Actor {
public:
/* 000 (base) */
/* 158 */ Vec3p mOffsetPos;
/* 164 */ unk32 mUnk_164;
/* 168 */ ModelRender mUnk_168;
/* 168 */ ActorNaviBase_Unk3 mUnk_168;
/* 1c4 */ unk8 mUnk_1c4[0xc];
/* 1d0 */ void *mUnk_1d0;
/* 1d4 */ unk8 mUnk_1d4[0x20];
/* 1f4 */ unk8 mUnk_1f4[0x20];
/* 1d0 */ ActorNaviBase_Unk2 mUnk_1d0;
/* 214 */ unk16 mUnk_214;
/* 216 */ unk8 mUnk_216[0xc];
/* 216 */ unk8 mUnk_216[0x2];
/* 218 */ ActorNaviBase_Unk1 mUnk_218[2];
/* 220 */ unk8 mUnk_220[0x2];
/* 222 */ unk16 mUnk_222;
/* 224 */ unk8 mUnk_224[0x28];
/* 24c */ unk32 mUnk_24c;
/* 250 */ unk32 mUnk_250;
/* 254 */ unk32 mUnk_254;
/* 258 */ unk32 mUnk_258;
/* 25c */ unk32 mUnk_25c;
/* 260 */ unk32 mUnk_260;
/* 264 */ unk8 mUnk_264[0x1c];
/* 224 */ UnkStruct_ov000_020d18f4 mUnk_224;
/* 280 */ unk32 mUnk_280;
/* 284 */ unk32 mUnk_284;
/* 288 */ unk8 mUnk_288[0x2];
/* 288 */ unk8 mUnk_288;
/* 288 */ unk8 mUnk_289;
/* 28a */ unk16 mUnk_28a;
/* 28c */ unk8 mUnk_28c[0x8];
/* 28c */ unk8 mUnk_28c;
/* 28d */ unk8 mUnk_28d;
/* 28e */ unk8 mUnk_28e;
/* 28e */ unk8 mUnk_28f;
/* 290 */ unk8 mUnk_290;
/* 291 */ unk8 mUnk_291;
/* 294 */
/* 00 */ virtual ~ActorNaviBase() override;
@@ -65,8 +95,8 @@ public:
/* b8 */ virtual s32 vfunc_b8();
/* bc */ virtual bool vfunc_bc(unk32 param1, unk8 param2, s32 param3);
/* c0 */ virtual bool vfunc_c0(Vec3p *param1);
/* c4 */ virtual void vfunc_c4();
/* c8 */ virtual void vfunc_c8();
/* c4 */ virtual u16 vfunc_c4();
/* c8 */ virtual u16 vfunc_c8();
/* cc */ virtual bool vfunc_cc(unk32 *param1);
/* d0 */ virtual void vfunc_d0();
/* d4 */ virtual void vfunc_d4();
+1
View File
@@ -1,5 +1,6 @@
#pragma once
#include "Actor/ActorType.hpp"
#include "Actor/Navi/ActorNaviBase.hpp"
class ActorWisdomNavi : public ActorNaviBase {
+1 -1
View File
@@ -59,7 +59,7 @@ public:
/* 18 */ virtual void vfunc_18(u32 param1) override;
/* 20 */ virtual void vfunc_20(bool param1) override;
/* 54 */ virtual void vfunc_54() override;
/* 5c */ virtual bool SetVelocity(Vec3p *vel) override;
/* 5c */ virtual bool Drop(Vec3p *vel) override;
/* b4 */
static ActorBomb *Create();
+3
View File
@@ -3,6 +3,8 @@
#include "global.h"
#include "types.h"
#include <nds/math.h>
class UnkStruct_027e0f6c_Unk_1 {
public:
/* 00 */ unk32 mUnk_00;
@@ -49,6 +51,7 @@ struct UnkStruct_027e0f6c {
/* 00 */ unk8 mUnk_00[0x20];
/* 20 */ UnkStruct_027e0f6c_20 *mUnk_20;
static void func_ov000_02093a1c(u32 *param_1, UnkStruct_027e0f6c *param_2, u16 param_3);
void func_ov004_02102770();
};
+1
View File
@@ -20,6 +20,7 @@ extern "C" {
#define MAX_HOURGLASS_SECONDS 1500 // 25 minutes
#define MAX_AMMO_UPGRADE 2
#define MAX_UNK_0BA 9
#define MAX_KEYS 8
typedef u32 ItemModelId;
enum ItemModelId_ {
-2
View File
@@ -9,8 +9,6 @@
#include "Physics/AABB.hpp"
#include "System/SysNew.hpp"
#define MAX_KEYS 8
typedef unk32 CourseType;
enum CourseType_ {
CourseType_Normal = 0,
+1 -1
View File
@@ -142,7 +142,7 @@ public:
/* 64 */ virtual unk32 vfunc_64();
/* 68 */ virtual unk32 vfunc_68(Vec3p *param_1, bool param_2);
/* 6c */ virtual unk8 vfunc_6c(Vec3p *param_2, unk32 *param_3, Vec3p *param_4);
/* 70 */ virtual unk32 vfunc_70(Vec3p *param_2);
/* 70 */ virtual u16 vfunc_70(Vec3p *param_2);
/* 74 */ virtual unk32 *vfunc_74(Vec3p *param_2);
/* 78 */ virtual unk32 *vfunc_78(TilePos *param_1);
/* 7c */ virtual s32 vfunc_7c(s32 param_1, unk32 *param_2, s32 param_3, short param_4[4]);
+1 -1
View File
@@ -268,7 +268,7 @@ public:
s32 func_ov00_02083ef8(Vec3p *param_2, Vec3p *param_3, bool param_4);
unk32 func_ov00_02083f44(Vec3p *param_2, bool param_3);
unk8 MapData_vfunc_6c(Vec3p *param_2, unk32 *param_3, Vec3p *param_4);
unk32 MapData_vfunc_70(Vec3p *param_2);
u16 MapData_vfunc_70(Vec3p *param_2);
static void func_ov00_02083fb0(u32 *param_1, MapManager *param_2, Vec3p *param_3);
void GetTileWorldBounds(TilePos *tile, AABB *tileBounds);
unk32 MapData_vfunc_54(TilePos *a);
-1
View File
@@ -119,7 +119,6 @@ extern "C" void func_020347b0(unk32, unk16, unk32 *, unk32 *, unk32, unk32);
extern THUMB unk32 func_0202ab48(void);
extern "C" void func_02034984(unk32, u8, unk32, unk32);
extern "C" void func_02034698(unk32, unk32, unk32 *, unk32 *);
extern struct TouchControl gTouchControl;
class UnkClass_027e0e28 {
public:
+5
View File
@@ -18,6 +18,11 @@ struct Cylinder {
this->size = size;
}
inline void MakeEmpty() {
pos = gVec3p_ZERO;
size = -1;
}
bool Overlaps(Cylinder *other);
bool func_ov000_0208f030(Vec3p *param1, Vec3p *param2, s32 param3);
};
+1
View File
@@ -53,5 +53,6 @@ public:
static bool func_0202b864(Vec3p *param1, s32 size, unk8 param3);
static bool func_0202b894(Vec3p *param1, s32 size, unk8 param3);
};
extern TouchControl gTouchControl;
extern "C" void Fill16(int value, unsigned short *dst, int size); // TODO: Replace with header file
+2 -2
View File
@@ -41,12 +41,12 @@ public:
/* 3c */ virtual void vfunc_3c();
/* 40 */
ModelRender(unk32 param1);
ModelRender(ItemModel *param1);
void *func_ov000_020a9624(s32 param1);
void func_ov000_020a98e8(unk32 param1);
void func_ov000_020a990c(unk32 param1);
void func_ov000_020a9938(unk32 param1);
void func_ov000_020a9960(unk32 param1);
void func_ov000_020a9960(void *param1);
void func_ov000_020a9998(unk32 param1, unk32 param2);
void func_ov000_020a99c0();
void func_ov000_020b413c(unk16 param1, Vec3p *param2);
+6 -4
View File
@@ -3,9 +3,11 @@
#include "global.h"
#include "types.h"
#include "Player/LinkStateInteract.hpp"
#include <nds/math.h>
#include "System/SysNew.hpp"
class LinkStateInteract;
class UnkStruct_020397f8;
typedef unk32 (*UnkStruct_02037750_Callback1)(unk32);
@@ -43,9 +45,9 @@ public:
class UnkStruct_020386d8_24 {
public:
/* 00 */ u8 mUnk_00;
/* 00 */ u8 mUnk_01;
/* 00 */ u8 mUnk_02;
/* 00 */ u8 mUnk_03;
/* 01 */ u8 mUnk_01;
/* 02 */ u8 mUnk_02;
/* 03 */ u8 mUnk_03;
/* 04 */
void func_020376c0(const Vec3p *param_2);
+10
View File
@@ -0,0 +1,10 @@
#pragma once
#include "global.h"
#include "types.h"
struct UnkStruct_02057200 {
/* 00 */ unk32 mUnk_00;
/* 04 */ unk32 mUnk_04;
};
extern UnkStruct_02057200 data_02057200;
@@ -0,0 +1,14 @@
#pragma once
#include "global.h"
#include "types.h"
class UnkStruct_ov000_020b7d74 {
public:
/* 0 */ unk32 mUnk_0;
/* 4 */
inline UnkStruct_ov000_020b7d74() :
mUnk_0(0) {}
~UnkStruct_ov000_020b7d74();
};
+2 -2
View File
@@ -24,8 +24,8 @@ public:
/* 08 */ virtual bool vfunc_08(UnkStruct_ov000_020beba8_08 *param1);
/* 0c */ virtual void vfunc_0c(unk16 *param1);
/* 10 */ virtual bool vfunc_10(s32 *param1);
/* 14 */ virtual bool vfunc_14(u16 *param1, s32 param2);
/* 18 */ virtual void vfunc_18(s32 *param1);
/* 14 */ virtual bool vfunc_14(u16 *param1);
/* 18 */ virtual bool vfunc_18(s32 *param1);
/* 1c */
UnkStruct_ov000_020beba8(unk32 param1);
@@ -3,6 +3,8 @@
#include "global.h"
#include "types.h"
#include <nds/ns.h>
#include "System/SysNew.hpp"
#include "Unknown/UnkStruct_0202e1a0.hpp"
@@ -0,0 +1,25 @@
#pragma once
#include "global.h"
#include "types.h"
#include "Actor/ActorRef.hpp"
#include "Unknown/UnkStruct_02037750.hpp"
class UnkStruct_ov000_020d18f4 : public UnkStruct_02037750 {
public:
/* 00 (base) */
/* 20 */ ActorRef mUnk_20;
/* 28 */ unk8 mUnk_28[0x18];
/* 40 */ void *mUnk_40;
/* 44 */ unk32 mUnk_44;
/* 48 */ unk32 mUnk_48;
/* 4c */ unk32 mUnk_4c;
/* 50 */ unk32 mUnk_50;
/* 54 */ unk32 mUnk_54;
/* 58 */ unk32 mUnk_58;
/* 5c */
UnkStruct_ov000_020d18f4(unk32 param1);
~UnkStruct_ov000_020d18f4();
};