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
+1 -1
View File
@@ -3,7 +3,7 @@
#include "global.h"
#include "types.h"
#include "lib/math.h"
#include "nds/math.h"
#include "Actor/ActorRef.hpp"
#include "Actor/ActorType.hpp"
+12
View File
@@ -93,6 +93,18 @@ public:
void func_ov00_020c3ce8(unk32 param1, bool param2);
void Actor_vfunc_28();
static bool ActorTypeIsOneOf(ActorTypeId type, const ActorTypeId *types);
static void Create();
static void Destroy();
ActorManager();
~ActorManager();
void func_ov004_0210532c();
void func_ov004_021053dc();
void func_ov004_021054a4(s32 *param1, s32 param2, unk32 param3);
void func_ov004_0210554c();
bool func_ov004_02105578(unk32 param1);
bool func_ov004_02105608(unk32 param1, unk32 param2, unk32 param3);
void func_ov004_021056b8();
};
extern ActorManager *gActorManager;
-34
View File
@@ -1,34 +0,0 @@
#pragma once
#include "global.h"
#include "types.h"
#include "Actor/Actor.hpp"
#include "Render/ModelRender.hpp"
class ActorNaviBase : public Actor {
public:
/* 000 (base) */
/* 158 */ Vec3p mOffsetPos;
/* 164 */ u32 mUnk_164;
/* 168 */ unk8 mUnk_168[0x68];
/* 1d0 */ void *mUnk_1d0;
/* 164 */ unk8 mUnk_1d4[0x40];
/* 214 */ unk16 mUnk_214;
/* 216 */ unk8 mUnk_216[0xc];
/* 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];
/* 280 */ unk32 mUnk_280;
/* 284 */ unk32 mUnk_284;
/* 288 */ unk8 mUnk_288[0x2];
/* 28a */ unk16 mUnk_28a;
/* 28c */ unk8 mUnk_28c[0x8];
/* 294 */
};
+3 -1
View File
@@ -8,7 +8,9 @@ struct ActorRef {
/* 4 */ s32 index;
/* 8 */
inline ActorRef() {}
inline ActorRef() {
Reset();
}
inline ActorRef(s32 id, s32 index) :
id(id),
index(index) {}
+1 -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"
+25
View File
@@ -0,0 +1,25 @@
#pragma once
#include <nds/math.h>
#include "global.h"
#include "types.h"
#include "Actor/ActorRef.hpp"
#include "Actor/ActorType.hpp"
class ActorSpawner {
public:
/* 0 (empty) */
static ActorSpawner *Create();
static void Destroy();
ActorSpawner();
~ActorSpawner();
void _ZN12ActorSpawner19func_ov000_020c4014Ev();
void _ZN12ActorSpawner19func_ov000_020c4018Ev();
Actor *CreateActor(ActorTypeId type);
s32 Spawn(ActorTypeId type, Vec3p *pos, void *param3, ActorRef *ref);
};
extern ActorSpawner *gActorSpawner;
+69 -109
View File
@@ -3,127 +3,87 @@
#include "global.h"
#include "types.h"
#define __ACTOR_TYPE_A 'A'
#define __ACTOR_TYPE_B 'B'
#define __ACTOR_TYPE_C 'C'
#define __ACTOR_TYPE_D 'D'
#define __ACTOR_TYPE_E 'E'
#define __ACTOR_TYPE_F 'F'
#define __ACTOR_TYPE_G 'G'
#define __ACTOR_TYPE_H 'H'
#define __ACTOR_TYPE_I 'I'
#define __ACTOR_TYPE_J 'J'
#define __ACTOR_TYPE_K 'K'
#define __ACTOR_TYPE_L 'L'
#define __ACTOR_TYPE_M 'M'
#define __ACTOR_TYPE_N 'N'
#define __ACTOR_TYPE_O 'O'
#define __ACTOR_TYPE_P 'P'
#define __ACTOR_TYPE_Q 'Q'
#define __ACTOR_TYPE_R 'R'
#define __ACTOR_TYPE_S 'S'
#define __ACTOR_TYPE_T 'T'
#define __ACTOR_TYPE_U 'U'
#define __ACTOR_TYPE_V 'V'
#define __ACTOR_TYPE_W 'W'
#define __ACTOR_TYPE_X 'X'
#define __ACTOR_TYPE_Y 'Y'
#define __ACTOR_TYPE_Z 'Z'
#define __ACTOR_TYPE_0 '0'
#define __ACTOR_TYPE_1 '1'
#define __ACTOR_TYPE_2 '2'
#define __ACTOR_TYPE_3 '3'
#define __ACTOR_TYPE_4 '4'
#define __ACTOR_TYPE_5 '5'
#define __ACTOR_TYPE_6 '6'
#define __ACTOR_TYPE_7 '7'
#define __ACTOR_TYPE_8 '8'
#define __ACTOR_TYPE_9 '9'
#define __CONCAT(a, b) a##b
#define __EVAL(x) x
#define __ACTOR_TYPE_ID(a, b, c, d) \
((__EVAL(__CONCAT(__ACTOR_TYPE_, a)) << 24) | (__EVAL(__CONCAT(__ACTOR_TYPE_, b)) << 16) | \
(__EVAL(__CONCAT(__ACTOR_TYPE_, c)) << 8) | (__EVAL(__CONCAT(__ACTOR_TYPE_, d))))
typedef u32 ActorTypeId;
enum ActorTypeId_ {
ActorTypeId_Null = __ACTOR_TYPE_ID(N, U, L, L),
ActorTypeId_Null = 'NULL',
ActorTypeId_Navi = __ACTOR_TYPE_ID(N, A, V, I),
ActorTypeId_ForceNavi = __ACTOR_TYPE_ID(F, C, N, V),
ActorTypeId_WisdomNavi = __ACTOR_TYPE_ID(W, S, N, V),
ActorTypeId_Navi = 'NAVI',
ActorTypeId_ForceNavi = 'FCNV',
ActorTypeId_WisdomNavi = 'WSNV',
ActorTypeId_TreasureMap = __ACTOR_TYPE_ID(T, M, A, P),
ActorTypeId_DigSpot = __ACTOR_TYPE_ID(D, G, T, G),
ActorTypeId_TreasureMap = 'TMAP',
ActorTypeId_DigSpot = 'DGTG',
ActorTypeId_ShopItemBombchus = __ACTOR_TYPE_ID(I, T, B, T),
ActorTypeId_ShopItemBombs = __ACTOR_TYPE_ID(I, T, B, M),
ActorTypeId_ShopItemTreasure = __ACTOR_TYPE_ID(I, T, T, R),
ActorTypeId_ShopItemHeartContainer = __ACTOR_TYPE_ID(I, T, H, U),
ActorTypeId_ShopItemQuiver = __ACTOR_TYPE_ID(I, T, A, P),
ActorTypeId_ShopItemBombBag = __ACTOR_TYPE_ID(I, T, B, B),
ActorTypeId_ShopItemRedPotion = __ACTOR_TYPE_ID(I, T, P, B),
ActorTypeId_ShopItemCourageGem = __ACTOR_TYPE_ID(I, T, S, R),
ActorTypeId_ShopItemShield = __ACTOR_TYPE_ID(I, T, S, L),
ActorTypeId_ShopItemSoldOut = __ACTOR_TYPE_ID(I, T, S, O),
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_Heart = __ACTOR_TYPE_ID(H, A, R, T),
ActorTypeId_Rupee = __ACTOR_TYPE_ID(R, U, P, Y),
ActorTypeId_Heart = 'HART',
ActorTypeId_Rupee = 'RUPY',
ActorTypeId_Bomb = __ACTOR_TYPE_ID(B, O, M, B),
ActorTypeId_Arrow = __ACTOR_TYPE_ID(A, R, R, W),
ActorTypeId_Arrow = 'ARRW',
ActorTypeId_Blast = 'BLST',
ActorTypeId_Bomb = 'BOMB',
ActorTypeId_GrapplingHook = 'ROPE',
ActorTypeId_PlayerDummy = __ACTOR_TYPE_ID(P, L, D, M),
ActorTypeId_PushBlock = __ACTOR_TYPE_ID(P, S, B, L),
ActorTypeId_WindBlock = __ACTOR_TYPE_ID(W, B, L, K),
ActorTypeId_StorageDrum = __ACTOR_TYPE_ID(D, R, U, M),
ActorTypeId_PlayerDummy = 'PLDM',
ActorTypeId_PushBlock = 'PSBL',
ActorTypeId_WindBlock = 'WBLK',
ActorTypeId_StorageDrum = 'DRUM',
ActorTypeId_SmallKey = __ACTOR_TYPE_ID(N, K, E, Y),
ActorTypeId_SmallKey = 'NKEY',
ActorTypeId_SwitchObject = 'SWOB',
ActorTypeId_EventIcon = 'EVIC',
ActorTypeId_Sandworm = __ACTOR_TYPE_ID(M, L, D, W),
ActorTypeId_Tektite = __ACTOR_TYPE_ID(T, E, K, T),
ActorTypeId_PolsVoice = __ACTOR_TYPE_ID(P, L, S, V),
ActorTypeId_Yook = __ACTOR_TYPE_ID(Y, E, T, I),
ActorTypeId_Armos = __ACTOR_TYPE_ID(A, M, O, S),
ActorTypeId_Stalfos = __ACTOR_TYPE_ID(S, T, L, F),
ActorTypeId_StalfosWarrior = __ACTOR_TYPE_ID(S, T, L, W),
ActorTypeId_ChuChu = __ACTOR_TYPE_ID(C, H, U, C),
ActorTypeId_Gel = __ACTOR_TYPE_ID(G, E, L, L),
ActorTypeId_Bee = __ACTOR_TYPE_ID(B, E, E, 0),
ActorTypeId_BeeHive = __ACTOR_TYPE_ID(B, E, E, H),
ActorTypeId_Cucco = __ACTOR_TYPE_ID(K, O, K, O),
ActorTypeId_Rope = __ACTOR_TYPE_ID(S, N, A, K),
ActorTypeId_Octorok = __ACTOR_TYPE_ID(O, C, T, A),
ActorTypeId_Keese = __ACTOR_TYPE_ID(K, E, T, H),
ActorTypeId_Rat = __ACTOR_TYPE_ID(R, A, T, 0),
ActorTypeId_Beamos = __ACTOR_TYPE_ID(B, M, O, S),
ActorTypeId_LikeLike = __ACTOR_TYPE_ID(L, K, L, K),
ActorTypeId_Crow = __ACTOR_TYPE_ID(C, R, O, W),
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 = __ACTOR_TYPE_ID(L, N, B, K),
ActorTypeId_Mailbox = __ACTOR_TYPE_ID(P, O, S, T),
ActorTypeId_Postman = __ACTOR_TYPE_ID(P, S, T, M),
ActorTypeId_Linebeck = 'LNBK',
ActorTypeId_Mailbox = 'POST',
ActorTypeId_Postman = 'PSTM',
ActorTypeId_BIGR = __ACTOR_TYPE_ID(B, I, G, R),
ActorTypeId_BKEY = __ACTOR_TYPE_ID(B, K, E, Y),
ActorTypeId_BLST = __ACTOR_TYPE_ID(B, L, S, T),
ActorTypeId_BMRN = __ACTOR_TYPE_ID(B, M, R, N),
ActorTypeId_BMTY = __ACTOR_TYPE_ID(B, M, T, Y),
ActorTypeId_BTRF = __ACTOR_TYPE_ID(B, T, R, F),
ActorTypeId_CBLS = __ACTOR_TYPE_ID(C, B, L, S),
ActorTypeId_FLAL = __ACTOR_TYPE_ID(F, L, A, L),
ActorTypeId_FLBM = __ACTOR_TYPE_ID(F, L, B, M),
ActorTypeId_FLBT = __ACTOR_TYPE_ID(F, L, B, T),
ActorTypeId_FLTB = __ACTOR_TYPE_ID(F, L, T, B),
ActorTypeId_FLTM = __ACTOR_TYPE_ID(F, L, T, M),
ActorTypeId_FORC = __ACTOR_TYPE_ID(F, O, R, C),
ActorTypeId_ROPE = __ACTOR_TYPE_ID(R, O, P, E),
ActorTypeId_SBEM = __ACTOR_TYPE_ID(S, B, E, M),
ActorTypeId_STNE = __ACTOR_TYPE_ID(S, T, N, E),
ActorTypeId_TARU = __ACTOR_TYPE_ID(T, A, R, U),
ActorTypeId_TSBH = __ACTOR_TYPE_ID(T, S, B, H),
ActorTypeId_TSUB = __ACTOR_TYPE_ID(T, S, U, B),
ActorTypeId_VLR0 = __ACTOR_TYPE_ID(V, L, R, 0),
ActorTypeId_BIGR = 'BIGR',
ActorTypeId_BKEY = 'BKEY',
ActorTypeId_BMRN = 'BMRN',
ActorTypeId_BMTY = 'BMTY',
ActorTypeId_BTRF = 'BTRF',
ActorTypeId_CBLS = 'CBLS',
ActorTypeId_FLAL = 'FLAL',
ActorTypeId_FLBM = 'FLBM',
ActorTypeId_FLBT = 'FLBT',
ActorTypeId_FLTB = 'FLTB',
ActorTypeId_FLTM = 'FLTM',
ActorTypeId_FORC = 'FORC',
ActorTypeId_SBEM = 'SBEM',
ActorTypeId_STNE = 'STNE',
ActorTypeId_TARU = 'TARU',
ActorTypeId_TSBH = 'TSBH',
ActorTypeId_TSUB = 'TSUB',
ActorTypeId_VLR0 = 'VLR0',
};
class ActorType_UnkClass {
+30
View File
@@ -0,0 +1,30 @@
#pragma once
#include "global.h"
#include "types.h"
#include "Actor/Actor.hpp"
#include "Actor/ActorType.hpp"
#include "Unknown/UnkStruct_02035064.hpp"
class ActorEventIcon : public Actor {
public:
static ActorType gType;
/* 000 (base) */
/* 158 */ void *mUnk_158;
/* 15c */ u32 mUnk_15c;
/* 160 */ UnkStruct_02035064 mUnk_160;
/* 00 */ virtual ~ActorEventIcon() override;
/* 08 */ virtual bool vfunc_08() 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;
/* b4 */
static ActorEventIcon *Create();
ActorEventIcon();
u32 func_ov000_02090648(u32 param1);
bool func_ov000_02090774(u32 param1);
};
@@ -0,0 +1,36 @@
#pragma once
#include "global.h"
#include "types.h"
#include "Actor/Actor.hpp"
#include "Actor/ActorType.hpp"
class ActorSwitchObject : public Actor {
public:
static ActorType gType;
/* 000 (base) */
/* 158 */ unk32 mUnk_158;
/* 15c */ unk32 mUnk_15c;
/* 160 */ unk32 mUnk_160;
/* 164 */ unk32 mUnk_164;
/* 168 */ unk32 mUnk_168;
/* 16c */ u32 mUnk_16c;
/* 170 */ ActorRef mUnk_170[5];
/* 198 */
/* 00 */ virtual ~ActorSwitchObject() override;
/* 08 */ virtual bool vfunc_08() override;
/* 0c */ virtual void vfunc_0c() override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 18 */ virtual void vfunc_18(u32 param1) override;
/* b4 */
static ActorSwitchObject *Create();
bool func_ov000_0208fc10(s32 param1);
void func_ov000_0208fc7c();
bool func_ov000_0208fcb4();
void func_ov000_0208fef8();
void func_ov000_0209032c();
};
+113
View File
@@ -0,0 +1,113 @@
#pragma once
#include "global.h"
#include "types.h"
#include "Actor/Actor.hpp"
#include "Player/EquipHammer.hpp"
#include "Render/ModelRender.hpp"
class ActorNaviBase_Unk1 {};
class ActorNaviBase : public Actor {
/* 000 (base) */
/* 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];
/* 214 */ unk16 mUnk_214;
/* 216 */ unk8 mUnk_216[0xc];
/* 222 */ unk16 mUnk_222;
/* 224 */ unk8 mUnk_224[0x18];
/* 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];
/* 280 */ unk32 mUnk_280;
/* 284 */ unk32 mUnk_284;
/* 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 */
/* 00 */ virtual ~ActorNaviBase() override;
/* 08 */ virtual bool vfunc_08() 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;
/* 20 */ virtual void vfunc_20(bool param1) override;
/* 30 */ virtual unk32 vfunc_30() override;
/* 34 */ virtual void GetOffsetPos(Vec3p *pos) override;
/* 38 */ virtual unk32 vfunc_38() override;
/* 74 */ virtual void vfunc_74() override;
/* 78 */ virtual bool vfunc_78() override;
/* 80 */ virtual void vfunc_80() override;
/* 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;
/* 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();
/* cc */ virtual bool vfunc_cc(unk32 *param1);
/* d0 */ virtual void vfunc_d0();
/* d4 */ virtual void vfunc_d4();
/* d8 */ virtual void vfunc_d8();
/* dc */ virtual void SetActive(bool active);
/* e0 */ virtual void vfunc_e0();
/* e4 */ virtual void vfunc_e4();
/* e8 */ virtual void vfunc_e8();
/* ec */ virtual void vfunc_ec();
/* f0 */
void func_ov000_020b8c50();
void func_ov000_020b8c98(unk32 param1, unk32 param2, unk32 param3);
void TeleportAboveLink();
void func_ov000_020b9770(s32 param1);
void func_ov000_020b9fdc();
void func_ov000_020b9fe8();
unk32 func_ov000_020ba204(Vec3p *param1, Vec3p *param2, s32 param3);
unk32 func_ov000_020ba3b4();
void func_ov000_020ba414(Vec3p *param1);
bool func_ov000_020ba458();
void func_ov000_020ba4e4();
void func_ov000_020ba53c();
void func_ov000_020baca8(Vec3p *param1, unk32 param2);
void func_ov000_020bad18();
static void func_ov000_020bb0ac();
static void func_ov000_020bb0e0();
ActorNaviBase();
bool func_ov059_0219933c(u32 param1);
void func_ov059_0219a0ac();
void func_ov059_0219aa08();
void func_ov059_0219aba8(u32 param1);
bool func_ov059_0219af14();
bool func_ov059_0219afc4();
void func_ov059_0219b020();
};
+63
View File
@@ -0,0 +1,63 @@
#pragma once
#include "global.h"
#include "nds/math.h"
#include "types.h"
#include "Actor/Actor.hpp"
#include "Actor/ActorType.hpp"
#include "Player/EquipRope.hpp"
class ActorArrow : public Actor {
public:
static ActorType gType;
/* 000 (base) */
/* 158 */ Vec3p mUnk_158;
/* 164 */ ActorRef mUnk_164;
/* 16c */ unk32 mUnk_16c;
/* 170 */ unk8 mUnk_170[0x14];
/* 184 */ void *mUnk_184;
/* 188 */ unk8 mUnk_188[0x4];
/* 18c */ s32 mUnk_18c;
/* 190 */ s32 mUnk_190;
/* 194 */ s32 mUnk_194;
/* 198 */ s32 mUnk_198;
/* 19c */ unk32 mUnk_19c;
/* 1a0 */ unk32 mSpeed;
/* 1a4 */ unk32 mUnk_1a4;
/* 1a8 */ s32 mUnk_1a8;
/* 1ac */ unk16 mUnk_1ac;
/* 1ae */ s16 mUnk_1ae;
/* 1b0 */ s16 mUnk_1b0;
/* 1b2 */ unk16 mUnk_1b2;
/* 1b4 */ unk8 mUnk_1b4[0x3];
/* 1b7 */ bool mUnk_1b7;
/* 1b8 */
/* 00 */ virtual ~ActorArrow() override;
/* 08 */ virtual bool vfunc_08() 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;
/* 20 */ virtual void vfunc_20(bool param1) override;
/* 44 */ virtual bool CollidesWith(Actor *other) override;
/* 48 */ virtual bool vfunc_48(Knockback *param1) override;
/* b4 */
static ActorArrow *Create();
static void func_ov014_0211fd80(unk32 param1);
static void func_ov014_0211fd90();
ActorArrow();
void func_ov014_021200d4();
void func_ov014_02120118();
bool func_ov014_02120180();
static EquipRope *GetEquipRope();
void func_ov014_021207b8(ActorRef *ref, s32 param2, s32 param3);
void func_ov014_02120998(ActorRef *ref, q20 x, q20 y, q20 z, s16 param5);
void func_ov014_02120ac4(unk32 param1, bool param2);
void func_ov014_02120c98(Vec3p *param1);
void func_ov014_02120d58();
void func_ov014_02120da8();
bool func_ov014_02120dec(unk32 param1);
};
+59
View File
@@ -0,0 +1,59 @@
#pragma once
#include "global.h"
#include "nds/math.h"
#include "types.h"
#include "Actor/Actor.hpp"
#include "Actor/ActorType.hpp"
#include "Unknown/UnkStruct_ov000_020beba8.hpp"
class ActorBlast : public Actor {
public:
static ActorType gType;
/* 000 (base) */
/* 158 */ unk8 mUnk_158[0x4];
/* 15c */ s32 mUnk_15c;
/* 160 */ s32 mUnk_160;
/* 164 */
/* 00 */ virtual ~ActorBlast() 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 ActorBlast *Create();
ActorBlast();
};
class ActorBlast_Unk1 : public UnkStruct_ov000_020beba8 {
/* 00 (base) */
/* 0c */ ActorBlast *mBlast;
/* 10 */ Vec3p mUnk_10;
/* 1c */ unk8 mUnk_1c[0x18];
/* 34 */ unk16 mUnk_34;
/* 36 */ unk16 mUnk_36;
/* 38 */ unk16 mUnk_38;
/* 3a */ unk16 mUnk_3a;
/* 3c */ unk16 mUnk_3c;
/* 3e */ unk8 mUnk_3e[0x20];
/* 5e */ unk8 mUnk_5e;
/* 5f */ unk8 mUnk_5f;
/* 60 */ unk8 mUnk_60;
/* 61 */ unk8 mUnk_61;
/* 62 */ unk8 mUnk_62[0x6];
/* 68 */ unk8 mUnk_68;
/* 69 */ unk8 mUnk_69;
/* 6a */ unk8 mUnk_6a;
/* 6b */ unk8 mUnk_6b;
/* 6c */ unk8 mUnk_6c;
/* 6d */ unk8 mUnk_6d;
/* 6e */ unk8 mUnk_6e[0x2];
/* 70 */
/* 00 */ virtual ~ActorBlast_Unk1();
/* 10 */ virtual void vfunc_10(s32 *param1);
/* 18 */
};
+73
View File
@@ -0,0 +1,73 @@
#pragma once
#include "global.h"
#include "nds/math.h"
#include "types.h"
#include "Actor/Actor.hpp"
#include "Actor/ActorType.hpp"
#include "Unknown/UnkStruct_ov000_020beba8.hpp"
class ActorBomb_Unk1 : public UnkStruct_ov000_020beba8 {
public:
/* 00 (base) */
/* 0c */ unk32 mUnk_0c;
/* 10 */
/* 00 */ virtual ~ActorBomb_Unk1() override;
/* 08 */ virtual void vfunc_0c(unk16 *param1) override;
/* 0c */ virtual void vfunc_10(s32 *param1) override;
/* 18 */
};
class ActorBomb_Unk2 {
/* 0 */ unk32 mUnk_0;
/* 4 */ unk32 mUnk_4;
/* 8 */ unk32 mUnk_8;
/* c */
ActorBomb_Unk2();
~ActorBomb_Unk2();
};
class ActorBomb : public Actor {
public:
static ActorType gType;
/* 000 (base) */
/* 158 */ unk8 mUnk_158[0x7c];
/* 1c4 */ unk32 mUnk_1c4;
/* 1c8 */ void *mUnk_1c8;
/* 1cc */ unk8 mUnk_1cc[0x24];
/* 230 */ unk32 mUnk_230;
/* 234 */ unk32 mUnk_234;
/* 238 */ unk8 mUnk_238[0x4];
/* 23c */ unk32 mUnk_23c;
/* 240 */ unk32 mUnk_240;
/* 244 */ unk32 mUnk_244;
/* 248 */ unk8 mUnk_248[0xc];
/* 254 */ unk32 mUnk_254;
/* 258 */ unk32 mUnk_258;
/* 25c */ unk32 mUnk_25c;
/* 260 */ unk32 mUnk_260;
/* 264 */ unk8 mUnk_264[0x8];
/* 26c */
/* 00 */ virtual ~ActorBomb() override;
/* 08 */ virtual bool vfunc_08() 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;
/* 54 */ virtual void vfunc_54() override;
/* 5c */ virtual bool SetVelocity(Vec3p *vel) override;
/* b4 */
static ActorBomb *Create();
ActorBomb();
bool func_ov014_02122bb8(s32 param1);
bool func_ov014_02122e48(unk32 *param1);
bool func_ov014_02122e7c();
bool func_ov014_02122e98();
bool func_ov014_02122eb8();
bool func_ov014_02122ed4();
};
+71
View File
@@ -0,0 +1,71 @@
#pragma once
#include "global.h"
#include "nds/math.h"
#include "types.h"
#include "Actor/Actor.hpp"
#include "Actor/ActorType.hpp"
#include "Unknown/UnkStruct_ov000_020beba8.hpp"
class ActorRope_Unk_0219a3b0 : public UnkStruct_ov000_020beba8 {
public:
/* 0 (base) */
/* c */
/* 00 */ virtual ~ActorRope_Unk_0219a3b0() override;
/* 08 */ virtual void vfunc_08(unk16 *param1) override;
/* 10 */ virtual void vfunc_10(s32 *param1) override;
/* 1c */
inline ActorRope_Unk_0219a3b0() :
UnkStruct_ov000_020beba8(6) {}
};
class ActorRope : public Actor {
public:
static ActorType gType;
/* 000 (base) */
/* 158 */ unk8 mUnk_158[0xc];
/* 164 */ unk16 mUnk_164;
/* 166 */ unk16 mUnk_166;
/* 168 */ s16 mUnk_168;
/* 16a */ unk8 mUnk_16a;
/* 16b */ unk8 mUnk_16b;
/* 16c */ unk8 mUnk_16c;
/* 16d */ unk8 mUnk_16d;
/* 16e */ unk16 mUnk_16e;
/* 170 */ u16 mUnk_170;
/* 172 */ unk8 mUnk_172[0x2];
/* 174 */ Vec3p mUnk_174;
/* 180 */ Vec3p mUnk_180;
/* 18c */ unk8 mUnk_18c[0x4];
/* 190 */ Vec3p mUnk_190;
/* 19c */ u32 mUnk_19c;
/* 1a0 */
/* 00 */ virtual ~ActorRope() override;
/* 08 */ virtual bool vfunc_08() 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;
/* 20 */ virtual void vfunc_20(bool param1) override;
/* b4 */
static ActorRope *Create();
static void func_ov014_0212382c(Vec4p *vec);
static q20 func_ov014_0212384c();
s32 func_ov014_021238f0();
void func_ov014_02123904();
bool func_ov014_02123960();
void func_ov014_02123c54(s32 param1);
bool func_ov014_02123cd0(Vec3p *param1, s32 param2);
bool func_ov014_02123e1c();
bool func_ov014_02123e48(unk32 param1);
ActorRope();
q20 func_ov057_0219a5ac();
void func_ov057_0219a6b8();
void func_ov057_0219a850();
};