mirror of
https://github.com/zeldaret/ph
synced 2026-07-26 22:41:35 -04:00
Merge branch 'main' into actor-manager
This commit is contained in:
+36
-18
@@ -13,8 +13,25 @@
|
||||
#include "Player/EquipBoomerang.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
struct Actor_UnkStruct_012 {
|
||||
/* 00 */ u16 mUnk_00;
|
||||
/* 02 */ u8 mUnk_02;
|
||||
/* 03 */ u8 mUnk_03;
|
||||
/* 04 */ u32 mUnk_04;
|
||||
/* 08 */ u32 mUnk_08;
|
||||
/* 0c */ u32 mUnk_0c;
|
||||
/* 10 */ u8 mUnk_10;
|
||||
/* 11 */ u8 mUnk_11;
|
||||
/* 12 */ u8 mUnk_12[0x2];
|
||||
/* 14 */ u32 mUnk_14;
|
||||
/* 18 */ u32 mUnk_18;
|
||||
/* 1c */
|
||||
|
||||
Actor_UnkStruct_012();
|
||||
};
|
||||
|
||||
struct Actor_UnkStruct_020 {
|
||||
/* 00 */ unk16 mUnk_00[4];
|
||||
/* 00 */ u16 mUnk_00[4];
|
||||
/* 08 */ u8 mUnk_08[2];
|
||||
/* 0a */ u8 mUnk_0a[2];
|
||||
/* 0c */ unk8 mUnk_0c;
|
||||
@@ -28,7 +45,7 @@ struct Actor_UnkStruct_020 {
|
||||
};
|
||||
|
||||
struct Actor_UnkStruct_09c {
|
||||
/* 0 */ unk16 mUnk_0;
|
||||
/* 0 */ u16 mUnk_0;
|
||||
/* 2 */ unk8 mUnk_2;
|
||||
/* 3 */ unk8 mUnk_3;
|
||||
/* 4 */ unk32 mUnk_4;
|
||||
@@ -40,8 +57,8 @@ struct Actor_UnkStruct_09c {
|
||||
struct Actor_UnkStruct_0a4 {
|
||||
/* 00 */ bool mUnk_00;
|
||||
/* 01 */ bool mUnk_01;
|
||||
/* 01 */ bool mUnk_02;
|
||||
/* 01 */ bool mUnk_03;
|
||||
/* 02 */ bool mUnk_02;
|
||||
/* 03 */ bool mUnk_03;
|
||||
/* 04 */ Vec3p mUnk_04;
|
||||
/* 10 */ s32 mUnk_10;
|
||||
/* 14 */
|
||||
@@ -49,10 +66,10 @@ struct Actor_UnkStruct_0a4 {
|
||||
Actor_UnkStruct_0a4(q20 x, q20 y, q20 z, s32 unk_10);
|
||||
};
|
||||
|
||||
class KillPickupsFilter: FilterActorReturn, public FilterActorBase {
|
||||
class KillPickupsFilter : FilterActorReturn, public FilterActorBase {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 04 */
|
||||
/* 04 */
|
||||
|
||||
/* 0 */ virtual bool Filter(Actor *actor) override;
|
||||
/* 4 */
|
||||
@@ -60,11 +77,13 @@ public:
|
||||
|
||||
typedef u32 PlayerCollide;
|
||||
enum PlayerCollide_ {
|
||||
PlayerCollide_Player = 0x1,
|
||||
PlayerCollide_Sword = 0x2,
|
||||
PlayerCollide_Shield = 0x4,
|
||||
PlayerCollide_Player = 0x1,
|
||||
PlayerCollide_Sword = 0x2,
|
||||
PlayerCollide_Shield = 0x4,
|
||||
PlayerCollide_Gongoron = 0x8,
|
||||
PlayerCollide_Hammer = 0x10,
|
||||
PlayerCollide_Hammer = 0x10,
|
||||
|
||||
PlayerCollide_PickupFlags = PlayerCollide_Hammer | PlayerCollide_Gongoron | PlayerCollide_Sword | PlayerCollide_Player,
|
||||
};
|
||||
|
||||
struct Knockback {
|
||||
@@ -73,11 +92,10 @@ struct Knockback {
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ Actor *actor;
|
||||
|
||||
inline Knockback():
|
||||
inline Knockback() :
|
||||
mUnk_00(0),
|
||||
mUnk_10(0xb),
|
||||
actor(NULL)
|
||||
{}
|
||||
actor(NULL) {}
|
||||
};
|
||||
|
||||
class Actor : public SysObject {
|
||||
@@ -119,7 +137,7 @@ public:
|
||||
/* 109 */ unk8 mUnk_109;
|
||||
/* 10a */ unk8 mUnk_10a[0x6];
|
||||
/* 110 */ unk8 mUnk_110;
|
||||
/* 111 */ unk8 mUnk_111;
|
||||
/* 111 */ bool mUnk_111;
|
||||
/* 112 */ unk8 mUnk_112;
|
||||
/* 113 */ unk8 mUnk_113;
|
||||
/* 114 */ unk8 mUnk_114;
|
||||
@@ -160,7 +178,7 @@ public:
|
||||
/* 14 */ virtual void vfunc_14(u32 param1);
|
||||
/* 18 */ virtual void vfunc_18(u32 param1);
|
||||
/* 1c */ virtual void vfunc_1c(u16 *param1);
|
||||
/* 20 */ virtual void vfunc_20(s32 param1);
|
||||
/* 20 */ virtual void vfunc_20(bool param1);
|
||||
/* 24 */ virtual void vfunc_24();
|
||||
/* 28 */ virtual void vfunc_28();
|
||||
/* 2c */ virtual s32 vfunc_2c();
|
||||
@@ -172,7 +190,7 @@ public:
|
||||
/* 44 */ virtual bool CollidesWith(Actor *other);
|
||||
/* 48 */ virtual bool vfunc_48(Knockback *param1);
|
||||
/* 4c */ virtual bool vfunc_4c(unk32 *param1);
|
||||
/* 50 */ virtual Vec3p* GetPos();
|
||||
/* 50 */ virtual Vec3p *GetPos();
|
||||
/* 54 */ virtual void vfunc_54();
|
||||
/* 58 */ virtual bool SetUnk_11b();
|
||||
/* 5c */ virtual bool SetVelocity(Vec3p *vel);
|
||||
@@ -198,7 +216,7 @@ public:
|
||||
/* ac */ virtual void vfunc_ac();
|
||||
/* b0 */ virtual void vfunc_b0();
|
||||
/* b4 */
|
||||
|
||||
|
||||
Actor();
|
||||
|
||||
bool func_01fffd04(s32 param1);
|
||||
@@ -241,7 +259,7 @@ public:
|
||||
void IncreaseActiveFrames();
|
||||
bool func_ov00_020c2c0c();
|
||||
bool func_ov00_020c2c70();
|
||||
EquipBoomerang* GetEquipBoomerang();
|
||||
EquipBoomerang *GetEquipBoomerang();
|
||||
bool func_ov00_020c2d54();
|
||||
bool func_ov00_020c2de4();
|
||||
bool func_ov00_020c2e7c();
|
||||
|
||||
@@ -80,19 +80,19 @@ public:
|
||||
void DeleteActor(u32 index, bool param2);
|
||||
static void func_ov00_020c3484(ActorRef *ref, Actor *actor, unk32 param3);
|
||||
void Actor_vfunc_10(u32 param1);
|
||||
Actor* FindActorById(s32 id);
|
||||
Actor* GetActor(ActorRef *ref);
|
||||
Actor *FindActorById(s32 id);
|
||||
Actor *GetActor(ActorRef *ref);
|
||||
s32 FilterActors(FilterActorBase *filter, ActorList *filteredActors);
|
||||
static void FindActorByType(ActorRef *ref, ActorManager *manager, ActorTypeId type);
|
||||
static void FindNearestActorOfType(ActorRef *ref, ActorManager *manager, ActorTypeId type, Vec3p *pos);
|
||||
bool func_ov00_020c398c(u32 index);
|
||||
void func_ov00_020c399c(u32 index, Cylinder *cylinder);
|
||||
Actor* func_ov00_020c39ac(u32 index, const ActorTypeId *actorTypes, bool param3);
|
||||
Actor *func_ov00_020c39ac(u32 index, const ActorTypeId *actorTypes, bool param3);
|
||||
s32 func_ov00_020c3b2c(s32 *param1);
|
||||
s32 func_ov00_020c3bb0(unk32 param1, s32 *param2);
|
||||
void func_ov00_020c3ce8(unk32 param1, unk32 param2);
|
||||
void Actor_vfunc_28();
|
||||
static bool ActorTypeIsOneOf(char *type,char **types);
|
||||
static bool ActorTypeIsOneOf(char *type, char **types);
|
||||
};
|
||||
|
||||
extern ActorManager *gActorManager;
|
||||
|
||||
@@ -9,13 +9,12 @@ struct ActorRef {
|
||||
/* 8 */
|
||||
|
||||
inline ActorRef() {}
|
||||
inline ActorRef(s32 id, s32 index):
|
||||
inline ActorRef(s32 id, s32 index) :
|
||||
id(id),
|
||||
index(index)
|
||||
{}
|
||||
index(index) {}
|
||||
|
||||
inline void Reset() {
|
||||
id = -1;
|
||||
id = -1;
|
||||
index = -1;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
#include "lib/math.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Actor/ActorType.hpp"
|
||||
#include "Item/Item.hpp"
|
||||
#include "Item/ItemManager.hpp"
|
||||
#include "Player/PlayerLinkBase.hpp"
|
||||
|
||||
typedef u32 RupeeId;
|
||||
enum RupeeId_ {
|
||||
@@ -27,7 +28,7 @@ public:
|
||||
|
||||
/* 000 (base) */
|
||||
/* 158 */ RupeeId mRupeeId;
|
||||
/* 15c */ unk16 mUnk_15c;
|
||||
/* 15c */ u16 mUnk_15c;
|
||||
/* 15e */ unk16 mUnk_15e;
|
||||
/* 160 */
|
||||
|
||||
@@ -35,18 +36,18 @@ public:
|
||||
/* 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(s32 param1) override;
|
||||
/* 20 */ virtual void vfunc_20(bool param1) override;
|
||||
/* 60 */ virtual bool vfunc_60() override;
|
||||
/* 64 */ virtual void vfunc_64() override;
|
||||
/* b4 */
|
||||
|
||||
static ActorRupee* Create();
|
||||
static ActorRupee *Create();
|
||||
ActorRupee();
|
||||
void Move();
|
||||
ItemId GetRupeeCutsceneItemId();
|
||||
void func_ov14_0213b204(unk32 param1);
|
||||
void Update(bool param1);
|
||||
static void func_ov14_0213b5f4(RupeeId id, unk32 param2, Vec3p *param3, bool param4);
|
||||
static void func_ov14_0213b6a4(RupeeId id, void *param2);
|
||||
static void func_ov14_0213b6a4(RupeeId id, Actor_UnkStruct_012 *param2);
|
||||
static bool func_ov14_0213b70c(RupeeId id);
|
||||
};
|
||||
|
||||
+85
-76
@@ -39,98 +39,107 @@
|
||||
#define __ACTOR_TYPE_7 '7'
|
||||
#define __ACTOR_TYPE_8 '8'
|
||||
#define __ACTOR_TYPE_9 '9'
|
||||
#define __CONCAT(a,b) a ## b
|
||||
#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))) \
|
||||
)
|
||||
#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 = __ACTOR_TYPE_ID(N, U, L, L),
|
||||
|
||||
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 = __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_TreasureMap = __ACTOR_TYPE_ID(T,M,A,P),
|
||||
ActorTypeId_DigSpot = __ACTOR_TYPE_ID(D,G,T,G),
|
||||
ActorTypeId_TreasureMap = __ACTOR_TYPE_ID(T, M, A, P),
|
||||
ActorTypeId_DigSpot = __ACTOR_TYPE_ID(D, G, T, G),
|
||||
|
||||
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 = __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_Heart = __ACTOR_TYPE_ID(H,A,R,T),
|
||||
ActorTypeId_Rupee = __ACTOR_TYPE_ID(R,U,P,Y),
|
||||
ActorTypeId_Heart = __ACTOR_TYPE_ID(H, A, R, T),
|
||||
ActorTypeId_Rupee = __ACTOR_TYPE_ID(R, U, P, Y),
|
||||
|
||||
ActorTypeId_Bomb = __ACTOR_TYPE_ID(B,O,M,B),
|
||||
ActorTypeId_Arrow = __ACTOR_TYPE_ID(A,R,R,W),
|
||||
ActorTypeId_Bomb = __ACTOR_TYPE_ID(B, O, M, B),
|
||||
ActorTypeId_Arrow = __ACTOR_TYPE_ID(A, R, R, W),
|
||||
|
||||
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 = __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_SmallKey = __ACTOR_TYPE_ID(N,K,E,Y),
|
||||
ActorTypeId_SmallKey = __ACTOR_TYPE_ID(N, K, E, Y),
|
||||
|
||||
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 = __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_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 = __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_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 = __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),
|
||||
};
|
||||
|
||||
class ActorType_UnkClass {
|
||||
public:
|
||||
u32 unk_00;
|
||||
u32 unk_04;
|
||||
u32 unk_08;
|
||||
u32 unk_0C;
|
||||
u32 unk_10;
|
||||
ActorType_UnkClass(u32 unk_00, u32 unk_04) :
|
||||
unk_00(unk_00),
|
||||
unk_04(unk_04) {}
|
||||
};
|
||||
|
||||
class Actor;
|
||||
typedef Actor* (*ActorCreateFunc)();
|
||||
typedef Actor *(*ActorCreateFunc)();
|
||||
|
||||
struct ActorType {
|
||||
/* 00 */ ActorTypeId id;
|
||||
@@ -146,7 +155,7 @@ struct ActorType {
|
||||
unk32 func_0203e7c8();
|
||||
void Register();
|
||||
void Unregister();
|
||||
static ActorType* Find(ActorTypeId id);
|
||||
static ActorType *Find(ActorTypeId id);
|
||||
};
|
||||
|
||||
struct ActorTypeList {
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
struct UnkStruct_027e105c {
|
||||
/* 0 */ const char **unk_0;
|
||||
/* 4 */
|
||||
|
||||
|
||||
unk32 LoadTreasureItemFanfare(Treasure);
|
||||
};
|
||||
|
||||
|
||||
+208
-207
@@ -4,235 +4,236 @@
|
||||
|
||||
typedef s32 ItemFlag;
|
||||
enum ItemFlag_ {
|
||||
ItemFlag_None = -1,
|
||||
/* 0x00 */ ItemFlag_OshusSword = 0,
|
||||
/* 0x01 */ ItemFlag_WoodenShield = 1,
|
||||
/* 0x02 */ ItemFlag_Boomerang = 2,
|
||||
/* 0x03 */ ItemFlag_Shovel = 3,
|
||||
/* 0x04 */ ItemFlag_BombBag = 4,
|
||||
/* 0x05 */ ItemFlag_Bow = 5,
|
||||
/* 0x06 */ ItemFlag_GrapplingHook = 6,
|
||||
/* 0x07 */ ItemFlag_BombchuBag = 7,
|
||||
/* 0x08 */ ItemFlag_Hammer = 8,
|
||||
/* 0x09 */ ItemFlag_PotionA = 9,
|
||||
/* 0x0a */ ItemFlag_PotionB = 10,
|
||||
ItemFlag_EQUIP_START = ItemFlag_OshusSword,
|
||||
ItemFlag_EQUIP_END = ItemFlag_PotionB + 1,
|
||||
ItemFlag_EQUIP_COUNT = ItemFlag_EQUIP_END - ItemFlag_EQUIP_START,
|
||||
ItemFlag_None = -1,
|
||||
/* 0x00 */ ItemFlag_OshusSword = 0,
|
||||
/* 0x01 */ ItemFlag_WoodenShield = 1,
|
||||
/* 0x02 */ ItemFlag_Boomerang = 2,
|
||||
/* 0x03 */ ItemFlag_Shovel = 3,
|
||||
/* 0x04 */ ItemFlag_BombBag = 4,
|
||||
/* 0x05 */ ItemFlag_Bow = 5,
|
||||
/* 0x06 */ ItemFlag_GrapplingHook = 6,
|
||||
/* 0x07 */ ItemFlag_BombchuBag = 7,
|
||||
/* 0x08 */ ItemFlag_Hammer = 8,
|
||||
/* 0x09 */ ItemFlag_PotionA = 9,
|
||||
/* 0x0a */ ItemFlag_PotionB = 10,
|
||||
ItemFlag_EQUIP_START = ItemFlag_OshusSword,
|
||||
ItemFlag_EQUIP_END = ItemFlag_PotionB + 1,
|
||||
ItemFlag_EQUIP_COUNT = ItemFlag_EQUIP_END - ItemFlag_EQUIP_START,
|
||||
|
||||
/* 0x14 */ ItemFlag_SpiritOfCourage = 20,
|
||||
/* 0x15 */ ItemFlag_SpiritOfPower = 21,
|
||||
/* 0x16 */ ItemFlag_SpiritOfWisdom = 22,
|
||||
/* 0x17 */ ItemFlag_CourageLv1 = 23,
|
||||
/* 0x18 */ ItemFlag_PowerLv1 = 24,
|
||||
/* 0x19 */ ItemFlag_WisdomLv1 = 25,
|
||||
ItemFlag_FAIRY_LV1 = ItemFlag_CourageLv1,
|
||||
/* 0x1a */ ItemFlag_CourageLv2 = 26,
|
||||
/* 0x1b */ ItemFlag_PowerLv2 = 27,
|
||||
/* 0x1c */ ItemFlag_WisdomLv2 = 28,
|
||||
ItemFlag_FAIRY_LV2 = ItemFlag_CourageLv2,
|
||||
/* 0x14 */ ItemFlag_SpiritOfCourage = 20,
|
||||
/* 0x15 */ ItemFlag_SpiritOfPower = 21,
|
||||
/* 0x16 */ ItemFlag_SpiritOfWisdom = 22,
|
||||
/* 0x17 */ ItemFlag_CourageLv1 = 23,
|
||||
/* 0x18 */ ItemFlag_PowerLv1 = 24,
|
||||
/* 0x19 */ ItemFlag_WisdomLv1 = 25,
|
||||
ItemFlag_FAIRY_LV1 = ItemFlag_CourageLv1,
|
||||
/* 0x1a */ ItemFlag_CourageLv2 = 26,
|
||||
/* 0x1b */ ItemFlag_PowerLv2 = 27,
|
||||
/* 0x1c */ ItemFlag_WisdomLv2 = 28,
|
||||
ItemFlag_FAIRY_LV2 = ItemFlag_CourageLv2,
|
||||
|
||||
/* 0x20 */ ItemFlag_Hourglass = 32,
|
||||
/* 0x21 */ ItemFlag_SeaChartSW = 33,
|
||||
/* 0x22 */ ItemFlag_SeaChartNW = 34,
|
||||
/* 0x23 */ ItemFlag_SeaChartSE = 35,
|
||||
/* 0x24 */ ItemFlag_SeaChartNE = 36,
|
||||
/* 0x25 */ ItemFlag_PhantomSword = 37,
|
||||
/* 0x26 */ ItemFlag_SunKey = 38,
|
||||
/* 0x27 */ ItemFlag_Unk_39 = 39,
|
||||
/* 0x28 */ ItemFlag_FishingRod = 40,
|
||||
/* 0x29 */ ItemFlag_Cannon = 41,
|
||||
/* 0x2a */ ItemFlag_KingsKey = 42,
|
||||
/* 0x2b */ ItemFlag_GhostKey = 43,
|
||||
/* 0x2c */ ItemFlag_SalvageArm = 44,
|
||||
/* 0x20 */ ItemFlag_Hourglass = 32,
|
||||
/* 0x21 */ ItemFlag_SeaChartSW = 33,
|
||||
/* 0x22 */ ItemFlag_SeaChartNW = 34,
|
||||
/* 0x23 */ ItemFlag_SeaChartSE = 35,
|
||||
/* 0x24 */ ItemFlag_SeaChartNE = 36,
|
||||
/* 0x25 */ ItemFlag_PhantomSword = 37,
|
||||
/* 0x26 */ ItemFlag_SunKey = 38,
|
||||
/* 0x27 */ ItemFlag_Unk_39 = 39,
|
||||
/* 0x28 */ ItemFlag_FishingRod = 40,
|
||||
/* 0x29 */ ItemFlag_Cannon = 41,
|
||||
/* 0x2a */ ItemFlag_KingsKey = 42,
|
||||
/* 0x2b */ ItemFlag_GhostKey = 43,
|
||||
/* 0x2c */ ItemFlag_SalvageArm = 44,
|
||||
|
||||
/* 0x2d */ ItemFlag_SwordsmansScroll = 45,
|
||||
/* 0x2e */ ItemFlag_CycloneSlate = 46,
|
||||
/* 0x2f */ ItemFlag_Unk_47 = 47,
|
||||
|
||||
/* 0x60 */ ItemFlag_TreasureChart1 = 96,
|
||||
/* 0x61 */ ItemFlag_TreasureChart2 = 97,
|
||||
/* 0x62 */ ItemFlag_TreasureChart3 = 98,
|
||||
/* 0x63 */ ItemFlag_TreasureChart4 = 99,
|
||||
/* 0x64 */ ItemFlag_TreasureChart5 = 100,
|
||||
/* 0x65 */ ItemFlag_TreasureChart6 = 101,
|
||||
/* 0x66 */ ItemFlag_TreasureChart7 = 102,
|
||||
/* 0x67 */ ItemFlag_TreasureChart8 = 103,
|
||||
/* 0x68 */ ItemFlag_TreasureChart9 = 104,
|
||||
/* 0x69 */ ItemFlag_TreasureChart10 = 105,
|
||||
/* 0x6a */ ItemFlag_TreasureChart11 = 106,
|
||||
/* 0x6b */ ItemFlag_TreasureChart12 = 107,
|
||||
/* 0x6c */ ItemFlag_TreasureChart13 = 108,
|
||||
/* 0x6d */ ItemFlag_TreasureChart14 = 109,
|
||||
/* 0x6e */ ItemFlag_TreasureChart15 = 110,
|
||||
/* 0x6f */ ItemFlag_TreasureChart16 = 111,
|
||||
/* 0x70 */ ItemFlag_TreasureChart17 = 112,
|
||||
/* 0x71 */ ItemFlag_TreasureChart18 = 113,
|
||||
/* 0x72 */ ItemFlag_TreasureChart19 = 114,
|
||||
/* 0x73 */ ItemFlag_TreasureChart20 = 115,
|
||||
/* 0x74 */ ItemFlag_TreasureChart21 = 116,
|
||||
/* 0x75 */ ItemFlag_TreasureChart22 = 117,
|
||||
/* 0x76 */ ItemFlag_TreasureChart23 = 118,
|
||||
/* 0x77 */ ItemFlag_TreasureChart24 = 119,
|
||||
/* 0x78 */ ItemFlag_TreasureChart25 = 120,
|
||||
/* 0x79 */ ItemFlag_TreasureChart26 = 121,
|
||||
/* 0x7a */ ItemFlag_TreasureChart27 = 122,
|
||||
/* 0x7b */ ItemFlag_TreasureChart28 = 123,
|
||||
/* 0x7c */ ItemFlag_TreasureChart29 = 124,
|
||||
/* 0x7d */ ItemFlag_TreasureChart30 = 125,
|
||||
/* 0x7e */ ItemFlag_TreasureChart31 = 126,
|
||||
/* 0x7f */ ItemFlag_TreasureChart32 = 127,
|
||||
ItemFlag_TREASURE_CHART_START = ItemFlag_TreasureChart1,
|
||||
/* 0x60 */ ItemFlag_TreasureChart1 = 96,
|
||||
/* 0x61 */ ItemFlag_TreasureChart2 = 97,
|
||||
/* 0x62 */ ItemFlag_TreasureChart3 = 98,
|
||||
/* 0x63 */ ItemFlag_TreasureChart4 = 99,
|
||||
/* 0x64 */ ItemFlag_TreasureChart5 = 100,
|
||||
/* 0x65 */ ItemFlag_TreasureChart6 = 101,
|
||||
/* 0x66 */ ItemFlag_TreasureChart7 = 102,
|
||||
/* 0x67 */ ItemFlag_TreasureChart8 = 103,
|
||||
/* 0x68 */ ItemFlag_TreasureChart9 = 104,
|
||||
/* 0x69 */ ItemFlag_TreasureChart10 = 105,
|
||||
/* 0x6a */ ItemFlag_TreasureChart11 = 106,
|
||||
/* 0x6b */ ItemFlag_TreasureChart12 = 107,
|
||||
/* 0x6c */ ItemFlag_TreasureChart13 = 108,
|
||||
/* 0x6d */ ItemFlag_TreasureChart14 = 109,
|
||||
/* 0x6e */ ItemFlag_TreasureChart15 = 110,
|
||||
/* 0x6f */ ItemFlag_TreasureChart16 = 111,
|
||||
/* 0x70 */ ItemFlag_TreasureChart17 = 112,
|
||||
/* 0x71 */ ItemFlag_TreasureChart18 = 113,
|
||||
/* 0x72 */ ItemFlag_TreasureChart19 = 114,
|
||||
/* 0x73 */ ItemFlag_TreasureChart20 = 115,
|
||||
/* 0x74 */ ItemFlag_TreasureChart21 = 116,
|
||||
/* 0x75 */ ItemFlag_TreasureChart22 = 117,
|
||||
/* 0x76 */ ItemFlag_TreasureChart23 = 118,
|
||||
/* 0x77 */ ItemFlag_TreasureChart24 = 119,
|
||||
/* 0x78 */ ItemFlag_TreasureChart25 = 120,
|
||||
/* 0x79 */ ItemFlag_TreasureChart26 = 121,
|
||||
/* 0x7a */ ItemFlag_TreasureChart27 = 122,
|
||||
/* 0x7b */ ItemFlag_TreasureChart28 = 123,
|
||||
/* 0x7c */ ItemFlag_TreasureChart29 = 124,
|
||||
/* 0x7d */ ItemFlag_TreasureChart30 = 125,
|
||||
/* 0x7e */ ItemFlag_TreasureChart31 = 126,
|
||||
/* 0x7f */ ItemFlag_TreasureChart32 = 127,
|
||||
ItemFlag_TREASURE_CHART_START = ItemFlag_TreasureChart1,
|
||||
|
||||
ItemFlag_COUNT = 128,
|
||||
};
|
||||
|
||||
typedef s32 ItemId;
|
||||
enum ItemId_ {
|
||||
/* 0x00 */ ItemId_None = 0,
|
||||
/* 0x01 */ ItemId_SmallKey = 1,
|
||||
/* 0x02 */ ItemId_GreenRupee = 2,
|
||||
/* 0x03 */ ItemId_OshusSword = 3,
|
||||
/* 0x04 */ ItemId_WoodenShield = 4,
|
||||
/* 0x05 */ ItemId_Unk_5 = 5,
|
||||
/* 0x06 */ ItemId_Unk_6 = 6,
|
||||
/* 0x07 */ ItemId_BombBag = 7,
|
||||
/* 0x08 */ ItemId_Bow = 8,
|
||||
/* 0x09 */ ItemId_BigGreenRupee = 9,
|
||||
/* 0x0a */ ItemId_HeartContainer = 10,
|
||||
/* 0x0b */ ItemId_Unk_11 = 11,
|
||||
/* 0x0c */ ItemId_Boomerang = 12,
|
||||
/* 0x0d */ ItemId_Scoop = 13,
|
||||
/* 0x0e */ ItemId_BombchuBag = 14,
|
||||
/* 0x0f */ ItemId_BossKey = 15,
|
||||
/* 0x10 */ ItemId_Unk_16 = 16,
|
||||
/* 0x11 */ ItemId_Unk_17 = 17,
|
||||
/* 0x12 */ ItemId_PhantomHourglass = 18,
|
||||
/* 0x13 */ ItemId_SWSeaChart = 19,
|
||||
/* 0x14 */ ItemId_NWSeaChart = 20,
|
||||
/* 0x15 */ ItemId_SESeaChart = 21,
|
||||
/* 0x16 */ ItemId_NESeaChart = 22,
|
||||
/* 0x17 */ ItemId_Unk_23 = 23,
|
||||
/* 0x18 */ ItemId_BlueRupee = 24,
|
||||
/* 0x19 */ ItemId_RedRupee = 25,
|
||||
/* 0x1a */ ItemId_BigRedRupee = 26,
|
||||
/* 0x1b */ ItemId_GoldRupee = 27,
|
||||
/* 0x1c */ ItemId_Unk_28 = 28,
|
||||
/* 0x1d */ ItemId_Unk_29 = 29,
|
||||
/* 0x1e */ ItemId_Unk_30 = 30,
|
||||
/* 0x1f */ ItemId_Hammer = 31,
|
||||
/* 0x20 */ ItemId_Rope = 32,
|
||||
/* 0x21 */ ItemId_SquareCrystal = 33,
|
||||
/* 0x22 */ ItemId_RoundCrystal = 34,
|
||||
/* 0x23 */ ItemId_TriangleCrystal = 35,
|
||||
/* 0x24 */ ItemId_FishingRod = 36,
|
||||
/* 0x25 */ ItemId_Cannon = 37,
|
||||
/* 0x26 */ ItemId_SunKey = 38,
|
||||
/* 0x27 */ ItemId_Unk_39 = 39,
|
||||
/* 0x28 */ ItemId_Quiver = 40,
|
||||
/* 0x29 */ ItemId_BigBombBag = 41,
|
||||
/* 0x2a */ ItemId_BigBombchuBag = 42,
|
||||
/* 0x2b */ ItemId_Unk_43 = 43,
|
||||
/* 0x2c */ ItemId_KingsKey = 44,
|
||||
/* 0x2d */ ItemId_PowerGem = 45,
|
||||
/* 0x2e */ ItemId_WisdomGem = 46,
|
||||
/* 0x2f */ ItemId_CourageGem = 47,
|
||||
/* 0x30 */ ItemId_PinkCoral = 48,
|
||||
/* 0x31 */ ItemId_WhitePearlLoop = 49,
|
||||
/* 0x32 */ ItemId_DarkPearlLoop = 50,
|
||||
/* 0x33 */ ItemId_ZoraScale = 51,
|
||||
/* 0x34 */ ItemId_GoronAmber = 52,
|
||||
/* 0x35 */ ItemId_RutoCrown = 53,
|
||||
/* 0x36 */ ItemId_HelmarocPlume = 54,
|
||||
/* 0x37 */ ItemId_RegalRing = 55,
|
||||
ItemId_TREASURE_START = ItemId_PinkCoral,
|
||||
ItemId_TREASURE_END = ItemId_RegalRing,
|
||||
/* 0x38 */ ItemId_GhostKey = 56,
|
||||
/* 0x39 */ ItemId_FreebieCard = 57,
|
||||
/* 0x3a */ ItemId_ComplimentCard = 58,
|
||||
/* -1 */ ItemId_None = -1,
|
||||
/* 0x00 */ ItemId_Nothing = 0,
|
||||
/* 0x01 */ ItemId_SmallKey = 1,
|
||||
/* 0x02 */ ItemId_GreenRupee = 2,
|
||||
/* 0x03 */ ItemId_OshusSword = 3,
|
||||
/* 0x04 */ ItemId_WoodenShield = 4,
|
||||
/* 0x05 */ ItemId_Unk_5 = 5,
|
||||
/* 0x06 */ ItemId_Unk_6 = 6,
|
||||
/* 0x07 */ ItemId_BombBag = 7,
|
||||
/* 0x08 */ ItemId_Bow = 8,
|
||||
/* 0x09 */ ItemId_BigGreenRupee = 9,
|
||||
/* 0x0a */ ItemId_HeartContainer = 10,
|
||||
/* 0x0b */ ItemId_Unk_11 = 11,
|
||||
/* 0x0c */ ItemId_Boomerang = 12,
|
||||
/* 0x0d */ ItemId_Scoop = 13,
|
||||
/* 0x0e */ ItemId_BombchuBag = 14,
|
||||
/* 0x0f */ ItemId_BossKey = 15,
|
||||
/* 0x10 */ ItemId_Unk_16 = 16,
|
||||
/* 0x11 */ ItemId_Unk_17 = 17,
|
||||
/* 0x12 */ ItemId_PhantomHourglass = 18,
|
||||
/* 0x13 */ ItemId_SWSeaChart = 19,
|
||||
/* 0x14 */ ItemId_NWSeaChart = 20,
|
||||
/* 0x15 */ ItemId_SESeaChart = 21,
|
||||
/* 0x16 */ ItemId_NESeaChart = 22,
|
||||
/* 0x17 */ ItemId_Unk_23 = 23,
|
||||
/* 0x18 */ ItemId_BlueRupee = 24,
|
||||
/* 0x19 */ ItemId_RedRupee = 25,
|
||||
/* 0x1a */ ItemId_BigRedRupee = 26,
|
||||
/* 0x1b */ ItemId_GoldRupee = 27,
|
||||
/* 0x1c */ ItemId_Unk_28 = 28,
|
||||
/* 0x1d */ ItemId_Unk_29 = 29,
|
||||
/* 0x1e */ ItemId_Unk_30 = 30,
|
||||
/* 0x1f */ ItemId_Hammer = 31,
|
||||
/* 0x20 */ ItemId_Rope = 32,
|
||||
/* 0x21 */ ItemId_SquareCrystal = 33,
|
||||
/* 0x22 */ ItemId_RoundCrystal = 34,
|
||||
/* 0x23 */ ItemId_TriangleCrystal = 35,
|
||||
/* 0x24 */ ItemId_FishingRod = 36,
|
||||
/* 0x25 */ ItemId_Cannon = 37,
|
||||
/* 0x26 */ ItemId_SunKey = 38,
|
||||
/* 0x27 */ ItemId_Unk_39 = 39,
|
||||
/* 0x28 */ ItemId_Quiver = 40,
|
||||
/* 0x29 */ ItemId_BigBombBag = 41,
|
||||
/* 0x2a */ ItemId_BigBombchuBag = 42,
|
||||
/* 0x2b */ ItemId_Unk_43 = 43,
|
||||
/* 0x2c */ ItemId_KingsKey = 44,
|
||||
/* 0x2d */ ItemId_PowerGem = 45,
|
||||
/* 0x2e */ ItemId_WisdomGem = 46,
|
||||
/* 0x2f */ ItemId_CourageGem = 47,
|
||||
/* 0x30 */ ItemId_PinkCoral = 48,
|
||||
/* 0x31 */ ItemId_WhitePearlLoop = 49,
|
||||
/* 0x32 */ ItemId_DarkPearlLoop = 50,
|
||||
/* 0x33 */ ItemId_ZoraScale = 51,
|
||||
/* 0x34 */ ItemId_GoronAmber = 52,
|
||||
/* 0x35 */ ItemId_RutoCrown = 53,
|
||||
/* 0x36 */ ItemId_HelmarocPlume = 54,
|
||||
/* 0x37 */ ItemId_RegalRing = 55,
|
||||
ItemId_TREASURE_START = ItemId_PinkCoral,
|
||||
ItemId_TREASURE_END = ItemId_RegalRing,
|
||||
/* 0x38 */ ItemId_GhostKey = 56,
|
||||
/* 0x39 */ ItemId_FreebieCard = 57,
|
||||
/* 0x3a */ ItemId_ComplimentCard = 58,
|
||||
/* 0x3b */ ItemId_ComplimentaryCard = 59,
|
||||
/* 0x3c */ ItemId_RegalNecklace = 60,
|
||||
/* 0x3d */ ItemId_SalvageArm = 61,
|
||||
/* 0x3e */ ItemId_HerosNewClothes = 62,
|
||||
/* 0x3f */ ItemId_Kaleidoscope = 63,
|
||||
/* 0x40 */ ItemId_GuardNotebook = 64,
|
||||
/* 0x41 */ ItemId_JolenesLetter = 65,
|
||||
/* 0x42 */ ItemId_PrizePostcard = 66,
|
||||
/* 0x43 */ ItemId_WoodHeart = 67,
|
||||
/* 0x3c */ ItemId_RegalNecklace = 60,
|
||||
/* 0x3d */ ItemId_SalvageArm = 61,
|
||||
/* 0x3e */ ItemId_HerosNewClothes = 62,
|
||||
/* 0x3f */ ItemId_Kaleidoscope = 63,
|
||||
/* 0x40 */ ItemId_GuardNotebook = 64,
|
||||
/* 0x41 */ ItemId_JolenesLetter = 65,
|
||||
/* 0x42 */ ItemId_PrizePostcard = 66,
|
||||
/* 0x43 */ ItemId_WoodHeart = 67,
|
||||
/* 0x44 */ ItemId_PhantomSwordBlade = 68,
|
||||
/* 0x45 */ ItemId_PhantomSword = 69,
|
||||
/* 0x46 */ ItemId_Unk_70 = 70,
|
||||
/* 0x45 */ ItemId_PhantomSword = 69,
|
||||
/* 0x46 */ ItemId_Unk_70 = 70,
|
||||
|
||||
/* 0x4b */ ItemId_TreasureChart1 = 75,
|
||||
/* 0x4c */ ItemId_TreasureChart2 = 76,
|
||||
/* 0x4d */ ItemId_TreasureChart3 = 77,
|
||||
/* 0x4e */ ItemId_TreasureChart4 = 78,
|
||||
/* 0x4f */ ItemId_TreasureChart5 = 79,
|
||||
/* 0x50 */ ItemId_TreasureChart6 = 80,
|
||||
/* 0x51 */ ItemId_TreasureChart7 = 81,
|
||||
/* 0x52 */ ItemId_TreasureChart8 = 82,
|
||||
/* 0x53 */ ItemId_TreasureChart9 = 83,
|
||||
/* 0x54 */ ItemId_TreasureChart10 = 84,
|
||||
/* 0x55 */ ItemId_TreasureChart11 = 85,
|
||||
/* 0x56 */ ItemId_TreasureChart12 = 86,
|
||||
/* 0x57 */ ItemId_TreasureChart13 = 87,
|
||||
/* 0x58 */ ItemId_TreasureChart14 = 88,
|
||||
/* 0x59 */ ItemId_TreasureChart15 = 89,
|
||||
/* 0x5a */ ItemId_TreasureChart16 = 90,
|
||||
/* 0x5b */ ItemId_TreasureChart17 = 91,
|
||||
/* 0x5c */ ItemId_TreasureChart18 = 92,
|
||||
/* 0x5d */ ItemId_TreasureChart19 = 93,
|
||||
/* 0x5e */ ItemId_TreasureChart20 = 94,
|
||||
/* 0x5f */ ItemId_TreasureChart21 = 95,
|
||||
/* 0x60 */ ItemId_TreasureChart22 = 96,
|
||||
/* 0x61 */ ItemId_TreasureChart23 = 97,
|
||||
/* 0x62 */ ItemId_TreasureChart24 = 98,
|
||||
/* 0x63 */ ItemId_TreasureChart25 = 99,
|
||||
/* 0x64 */ ItemId_TreasureChart26 = 100,
|
||||
/* 0x65 */ ItemId_TreasureChart27 = 101,
|
||||
/* 0x66 */ ItemId_TreasureChart28 = 102,
|
||||
/* 0x67 */ ItemId_TreasureChart29 = 103,
|
||||
/* 0x68 */ ItemId_TreasureChart30 = 104,
|
||||
/* 0x69 */ ItemId_TreasureChart31 = 105,
|
||||
/* 0x6a */ ItemId_TreasureChart32 = 106,
|
||||
ItemId_TREASURE_CHART_START = ItemId_TreasureChart1,
|
||||
ItemId_TREASURE_CHART_END = ItemId_TreasureChart32,
|
||||
/* 0x6b */ ItemId_SpiritOfPowerUpgradeLvl1 = 107,
|
||||
/* 0x6c */ ItemId_SpiritOfWisdomUpgradeLvl1 = 108,
|
||||
/* 0x4b */ ItemId_TreasureChart1 = 75,
|
||||
/* 0x4c */ ItemId_TreasureChart2 = 76,
|
||||
/* 0x4d */ ItemId_TreasureChart3 = 77,
|
||||
/* 0x4e */ ItemId_TreasureChart4 = 78,
|
||||
/* 0x4f */ ItemId_TreasureChart5 = 79,
|
||||
/* 0x50 */ ItemId_TreasureChart6 = 80,
|
||||
/* 0x51 */ ItemId_TreasureChart7 = 81,
|
||||
/* 0x52 */ ItemId_TreasureChart8 = 82,
|
||||
/* 0x53 */ ItemId_TreasureChart9 = 83,
|
||||
/* 0x54 */ ItemId_TreasureChart10 = 84,
|
||||
/* 0x55 */ ItemId_TreasureChart11 = 85,
|
||||
/* 0x56 */ ItemId_TreasureChart12 = 86,
|
||||
/* 0x57 */ ItemId_TreasureChart13 = 87,
|
||||
/* 0x58 */ ItemId_TreasureChart14 = 88,
|
||||
/* 0x59 */ ItemId_TreasureChart15 = 89,
|
||||
/* 0x5a */ ItemId_TreasureChart16 = 90,
|
||||
/* 0x5b */ ItemId_TreasureChart17 = 91,
|
||||
/* 0x5c */ ItemId_TreasureChart18 = 92,
|
||||
/* 0x5d */ ItemId_TreasureChart19 = 93,
|
||||
/* 0x5e */ ItemId_TreasureChart20 = 94,
|
||||
/* 0x5f */ ItemId_TreasureChart21 = 95,
|
||||
/* 0x60 */ ItemId_TreasureChart22 = 96,
|
||||
/* 0x61 */ ItemId_TreasureChart23 = 97,
|
||||
/* 0x62 */ ItemId_TreasureChart24 = 98,
|
||||
/* 0x63 */ ItemId_TreasureChart25 = 99,
|
||||
/* 0x64 */ ItemId_TreasureChart26 = 100,
|
||||
/* 0x65 */ ItemId_TreasureChart27 = 101,
|
||||
/* 0x66 */ ItemId_TreasureChart28 = 102,
|
||||
/* 0x67 */ ItemId_TreasureChart29 = 103,
|
||||
/* 0x68 */ ItemId_TreasureChart30 = 104,
|
||||
/* 0x69 */ ItemId_TreasureChart31 = 105,
|
||||
/* 0x6a */ ItemId_TreasureChart32 = 106,
|
||||
ItemId_TREASURE_CHART_START = ItemId_TreasureChart1,
|
||||
ItemId_TREASURE_CHART_END = ItemId_TreasureChart32,
|
||||
/* 0x6b */ ItemId_SpiritOfPowerUpgradeLvl1 = 107,
|
||||
/* 0x6c */ ItemId_SpiritOfWisdomUpgradeLvl1 = 108,
|
||||
/* 0x6d */ ItemId_SpiritOfCourageUpgradeLvl1 = 109,
|
||||
/* 0x6e */ ItemId_SpiritOfPowerUpgradeLvl2 = 110,
|
||||
/* 0x6f */ ItemId_SpiritOfWisdomUpgradeLvl2 = 111,
|
||||
/* 0x6e */ ItemId_SpiritOfPowerUpgradeLvl2 = 110,
|
||||
/* 0x6f */ ItemId_SpiritOfWisdomUpgradeLvl2 = 111,
|
||||
/* 0x70 */ ItemId_SpiritOfCourageUpgradeLvl2 = 112,
|
||||
/* 0x71 */ ItemId_SwordsmanScroll = 113,
|
||||
/* 0x72 */ ItemId_Crimsonine = 114,
|
||||
/* 0x73 */ ItemId_Azurine = 115,
|
||||
/* 0x74 */ ItemId_Aquanine = 116,
|
||||
/* 0x75 */ ItemId_RedPotion = 117,
|
||||
/* 0x76 */ ItemId_PurplePotion = 118,
|
||||
/* 0x77 */ ItemId_YellowPotion = 119,
|
||||
/* 0x78 */ ItemId_SandOfHours = 120,
|
||||
/* 0x79 */ ItemId_GoldenChimney = 121,
|
||||
/* 0x7a */ ItemId_GoldenHandrail = 122,
|
||||
/* 0x7b */ ItemId_GoldenCannon = 123,
|
||||
/* 0x7c */ ItemId_GoldenHull = 124,
|
||||
ItemId_GOLDEN_SHIP_START = ItemId_GoldenChimney,
|
||||
ItemId_GOLDEN_SHIP_END = ItemId_GoldenHull,
|
||||
/* 0x71 */ ItemId_SwordsmanScroll = 113,
|
||||
/* 0x72 */ ItemId_Crimsonine = 114,
|
||||
/* 0x73 */ ItemId_Azurine = 115,
|
||||
/* 0x74 */ ItemId_Aquanine = 116,
|
||||
/* 0x75 */ ItemId_RedPotion = 117,
|
||||
/* 0x76 */ ItemId_PurplePotion = 118,
|
||||
/* 0x77 */ ItemId_YellowPotion = 119,
|
||||
/* 0x78 */ ItemId_SandOfHours = 120,
|
||||
/* 0x79 */ ItemId_GoldenChimney = 121,
|
||||
/* 0x7a */ ItemId_GoldenHandrail = 122,
|
||||
/* 0x7b */ ItemId_GoldenCannon = 123,
|
||||
/* 0x7c */ ItemId_GoldenHull = 124,
|
||||
ItemId_GOLDEN_SHIP_START = ItemId_GoldenChimney,
|
||||
ItemId_GOLDEN_SHIP_END = ItemId_GoldenHull,
|
||||
|
||||
/* 0x7d */ ItemId_Unk_125 = 125,
|
||||
/* 0x7e */ ItemId_Unk_126 = 126,
|
||||
/* 0x7d */ ItemId_Unk_125 = 125,
|
||||
/* 0x7e */ ItemId_Unk_126 = 126,
|
||||
/* 0x7f */ ItemId_CycloneSlate = 127,
|
||||
/* 0x80 */ ItemId_Unk_128 = 128,
|
||||
/* 0x81 */ ItemId_Rupoor10 = 129,
|
||||
/* 0x82 */ ItemId_Rupoor50 = 130,
|
||||
/* 0x83 */ ItemId_Unk_131 = 131,
|
||||
/* 0x84 */ ItemId_Unk_132 = 132,
|
||||
/* 0x85 */ ItemId_Unk_133 = 133,
|
||||
/* 0x86 */ ItemId_Unk_134 = 134,
|
||||
/* 0x87 */ ItemId_Unk_135 = 135,
|
||||
/* 0x88 */ ItemId_Unk_136 = 136,
|
||||
/* 0x80 */ ItemId_Unk_128 = 128,
|
||||
/* 0x81 */ ItemId_Rupoor10 = 129,
|
||||
/* 0x82 */ ItemId_Rupoor50 = 130,
|
||||
/* 0x83 */ ItemId_Unk_131 = 131,
|
||||
/* 0x84 */ ItemId_Unk_132 = 132,
|
||||
/* 0x85 */ ItemId_Unk_133 = 133,
|
||||
/* 0x86 */ ItemId_Unk_134 = 134,
|
||||
/* 0x87 */ ItemId_Unk_135 = 135,
|
||||
/* 0x88 */ ItemId_Unk_136 = 136,
|
||||
};
|
||||
|
||||
namespace Item {
|
||||
bool func_ov00_020ad020(ItemId item);
|
||||
bool func_ov00_020ad068(ItemId item);
|
||||
}
|
||||
} // namespace Item
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
#pragma once
|
||||
|
||||
extern "C" {
|
||||
#include <string.h>
|
||||
#include <string.h>
|
||||
}
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
#include "lib/math.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Actor/ActorNavi.hpp"
|
||||
#include "DTCM/UnkStruct_027e0f78.hpp"
|
||||
#include "Save/AdventureFlags.hpp"
|
||||
#include "Item/Item.hpp"
|
||||
#include "Map/MapManager.hpp"
|
||||
#include "Player/EquipItem.hpp"
|
||||
#include "Player/HealthManager.hpp"
|
||||
#include "Sound/Sfx.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "System/OverlayManager.hpp"
|
||||
#include "Render/ModelRender.hpp"
|
||||
#include "Save/AdventureFlags.hpp"
|
||||
#include "Sound/Sfx.hpp"
|
||||
#include "System/OverlayManager.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
#define MAX_HOURGLASS_SECONDS 1500 // 25 minutes
|
||||
#define MAX_AMMO_UPGRADE 2
|
||||
@@ -69,7 +69,7 @@ enum ShipType_ {
|
||||
};
|
||||
|
||||
typedef u32 ShipItem;
|
||||
#define SHIP_ITEM(part, ship) (ShipPart_ ## part * ShipPart_COUNT + ShipType_ ## type)
|
||||
#define SHIP_ITEM(part, ship) (ShipPart_##part * ShipPart_COUNT + ShipType_##type)
|
||||
#define ShipItem_COUNT (ShipPart_COUNT * ShipType_COUNT)
|
||||
|
||||
typedef u32 Treasure;
|
||||
@@ -96,7 +96,6 @@ enum Potion_ {
|
||||
Potion_COUNT,
|
||||
};
|
||||
|
||||
|
||||
struct ItemFlags {
|
||||
/* 00 */ u32 flags[CEIL_DIV(ItemFlag_COUNT, 32)];
|
||||
/* 10 */
|
||||
@@ -229,7 +228,7 @@ private:
|
||||
/* 150 */
|
||||
|
||||
public:
|
||||
static ItemManager* Create();
|
||||
static ItemManager *Create();
|
||||
static void Destroy();
|
||||
ItemManager();
|
||||
~ItemManager();
|
||||
@@ -240,7 +239,7 @@ public:
|
||||
|
||||
// Fairy
|
||||
FairyId GetEquippedFairy() const;
|
||||
ActorNavi* GetFairy(FairyId id) const;
|
||||
ActorNavi *GetFairy(FairyId id) const;
|
||||
u32 GetActiveFairyLevel(FairyId id) const;
|
||||
u32 GetFairyLevel(FairyId id) const;
|
||||
|
||||
@@ -253,15 +252,15 @@ public:
|
||||
void EquipItem_vfunc_38(unk32 param1);
|
||||
bool EquipCollidesWith(Cylinder *cylinder, ItemFlag equipId);
|
||||
s32 EquipItem_vfunc_2c(ItemFlag equipId);
|
||||
EquipItem* GetEquipItem(ItemFlag equipId);
|
||||
EquipItem *GetEquipItem(ItemFlag equipId);
|
||||
bool func_ov00_020ad790(unk32 param1);
|
||||
bool SetEquippedItem(ItemFlag equipId);
|
||||
void EquipPreviousItem();
|
||||
void ForceEquipItem(ItemFlag equipId);
|
||||
bool ClearForcedEquipItem();
|
||||
void UpdateSwordShieldInUse();
|
||||
static EquipItem* GetEquipItemUnchecked(ItemFlag equipId);
|
||||
|
||||
static EquipItem *GetEquipItemUnchecked(ItemFlag equipId);
|
||||
|
||||
// Ammo
|
||||
u16 GetAmmo(ItemFlag equipId) const;
|
||||
void GiveAmmo(ItemFlag equipId, u16 amount);
|
||||
@@ -272,10 +271,10 @@ public:
|
||||
|
||||
// Item model
|
||||
void func_ov00_020ad528();
|
||||
ItemModel* GetItemModel(ItemModelId id);
|
||||
ItemModel *GetItemModel(ItemModelId id);
|
||||
void func_ov00_020ad538(unk32 param1) const;
|
||||
void func_ov00_020ad560(unk32 param1) const;
|
||||
ItemModel* GetDungeonItemModel(DungeonItemModelId id);
|
||||
ItemModel *GetDungeonItemModel(DungeonItemModelId id);
|
||||
void func_ov00_020ad594(unk32 param1) const;
|
||||
void LoadFanfareItem(ItemId id);
|
||||
bool GetFanfareItemScale(Vec3p *pScale) const;
|
||||
@@ -299,7 +298,7 @@ public:
|
||||
bool IsTreasureSalvaged(u32 index) const;
|
||||
void SetTreasureSalvaged(u32 index);
|
||||
u8 GetMaxTreasureCount() const;
|
||||
|
||||
|
||||
// mUnk_098, mUnk_09e
|
||||
u8 GetUnk_098(u32 index) const;
|
||||
u16 GetUnk_09e(u32 index) const;
|
||||
@@ -315,7 +314,7 @@ public:
|
||||
|
||||
// Rupees
|
||||
s32 GetMaxRupees() const;
|
||||
void GiveRupees(s16 amount, bool param2);
|
||||
void GiveRupees(s32 amount, bool param2);
|
||||
|
||||
// Potion
|
||||
void SetPotion(u32 index, Potion potion);
|
||||
|
||||
@@ -12,11 +12,11 @@
|
||||
|
||||
typedef unk32 CourseType;
|
||||
enum CourseType_ {
|
||||
CourseType_Normal = 0,
|
||||
CourseType_Dungeon = 1,
|
||||
CourseType_Sea = 2,
|
||||
CourseType_Normal = 0,
|
||||
CourseType_Dungeon = 1,
|
||||
CourseType_Sea = 2,
|
||||
CourseType_TempleOfTheOceanKing = 3,
|
||||
CourseType_Battle = 4,
|
||||
CourseType_Battle = 4,
|
||||
};
|
||||
|
||||
struct CourseProgress {
|
||||
@@ -64,12 +64,12 @@ class Course : public SysObject {
|
||||
|
||||
void GetDungeonProgress(CourseProgress *param_2);
|
||||
void func_ov00_0207ca28(s32 param_2, unk32 param_3, unk32 param_4);
|
||||
char* SetCourseName(char *src);
|
||||
char *SetCourseName(char *src);
|
||||
void func_ov00_0207ca78(unk32 param_2, unk8 param_3, unk32 param_4);
|
||||
bool func_ov00_0207caa8(s32 param_2, unk32 *param_3, unk8 *param_4);
|
||||
unk32 func_ov00_0207cb30(s32 param_2);
|
||||
static void FindMapGridPos(Vec2b *pos, Course *param_2, u32 map);
|
||||
Vec3p* FindMapCenter(unk32 map);
|
||||
Vec3p *FindMapCenter(unk32 map);
|
||||
void func_ov00_0207cbe8(s32 param_2);
|
||||
unk8 func_ov00_0207cc24(s32 param_2);
|
||||
unk32 FindMapData_Unk_08(unk32 map);
|
||||
@@ -109,6 +109,6 @@ class Course : public SysObject {
|
||||
bool GetMapDataFlag3(unk32 param_2);
|
||||
void SetMapDataFlag4(unk32 param_2, unk32 param_3);
|
||||
bool GetMapDataFlag4(unk32 param_2);
|
||||
MapData* FindMapData(u32 map);
|
||||
MapData* FindCurrentMapData();
|
||||
MapData *FindMapData(u32 map);
|
||||
MapData *FindCurrentMapData();
|
||||
};
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
|
||||
#include "lib/math.h"
|
||||
|
||||
#include "Map/CameraViewpoint.hpp"
|
||||
#include "Map/Course.hpp"
|
||||
#include "Map/Entrance.hpp"
|
||||
#include "Map/TriggerBase.hpp"
|
||||
#include "Map/Exit.hpp"
|
||||
#include "Map/CameraViewpoint.hpp"
|
||||
#include "Map/TriggerBase.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
#define MAX_ENTRANCES 0x40
|
||||
@@ -94,10 +94,10 @@ public:
|
||||
/* 0e8 */ Vec3p mUnk_0e8;
|
||||
/* 0f4 */ Vec3p mUnk_0f4;
|
||||
/* 100 */ std::vector<Entrance> mEntrances;
|
||||
/* 10c */ std::vector<TriggerBase*> mTriggers;
|
||||
/* 10c */ std::vector<TriggerBase *> mTriggers;
|
||||
/* 118 */ std::vector<Exit> mExits;
|
||||
/* 124 */ std::vector<CameraViewpoint> mViewpoints;
|
||||
/* 130 */ std::vector<TriggerBase*> mUnk_130;
|
||||
/* 130 */ std::vector<TriggerBase *> mUnk_130;
|
||||
/* 13c */ unk32 mUnk_13c;
|
||||
/* 140 */ unk32 mUnk_140;
|
||||
/* 144 */ void *mUnk_144;
|
||||
@@ -144,7 +144,7 @@ public:
|
||||
/* 68 */ virtual unk8 vfunc_68(unk32 param_2, unk32 param_3);
|
||||
/* 6c */ virtual unk8 vfunc_6c(unk32 param_2, unk32 param_3, unk32 param_4);
|
||||
/* 70 */ virtual unk32 vfunc_70(Vec3p *param_2);
|
||||
/* 74 */ virtual s32* vfunc_74(Vec3p *param_2);
|
||||
/* 74 */ virtual s32 *vfunc_74(Vec3p *param_2);
|
||||
/* 78 */ virtual unk32 vfunc_78();
|
||||
/* 7c */ virtual unk32 vfunc_7c();
|
||||
/* 80 */ virtual unk32 vfunc_80();
|
||||
@@ -206,7 +206,7 @@ public:
|
||||
unk8 GetTriggerBoundingBoxes(unk32 param_2, AABB *param_3, unk32 param_4);
|
||||
unk32 GetOverlappingTrigger(Vec3p *param_2);
|
||||
unk8 FindTrigger(unk32 type);
|
||||
unk8 GetOverlappingTriggers(Vec3p *param_2, TriggerBase * *triggers, unk32 capacity);
|
||||
unk8 GetOverlappingTriggers(Vec3p *param_2, TriggerBase **triggers, unk32 capacity);
|
||||
bool IsTriggerTypeOverlapped(unk32 type, Vec3p *param_3);
|
||||
bool AnyTrigger_func_0c(unk32 type);
|
||||
unk8 Trigger_vfunc_08();
|
||||
|
||||
@@ -57,7 +57,7 @@ public:
|
||||
unk8 func_ov00_02082494(unk32 param_2);
|
||||
unk8 func_ov00_020824cc(unk32 param_2);
|
||||
unk8 func_ov00_02082504();
|
||||
unk8 * func_ov00_02082538();
|
||||
unk8 *func_ov00_02082538();
|
||||
void func_ov00_02082594();
|
||||
void func_ov00_020825ac();
|
||||
s32 GetCourseFilePath(char *courseName, char *buf);
|
||||
@@ -79,7 +79,7 @@ public:
|
||||
unk8 GetCourseData_Unk_b0();
|
||||
s32 func_ov00_02082914(unk32 param_2);
|
||||
unk8 func_ov00_02082acc();
|
||||
unk32 * func_ov00_02082adc();
|
||||
unk32 *func_ov00_02082adc();
|
||||
unk8 func_ov00_02082af4();
|
||||
bool func_ov00_02082b3c(s32 param_2);
|
||||
unk8 func_ov00_02082d08();
|
||||
@@ -171,7 +171,7 @@ public:
|
||||
void func_ov00_02083f44(Vec3p *param_2);
|
||||
unk8 MapData_vfunc_6c();
|
||||
unk8 MapData_vfunc_70();
|
||||
static unk8 func_ov00_02083fb0(unk32 param_1, MapManager *param_2, unk32 param_3);
|
||||
static unk8 func_ov00_02083fb0(u32 *param_1, MapManager *param_2, Vec3p *param_3);
|
||||
void func_ov00_02084024(unk32 param_2, AABB *param_3);
|
||||
unk8 MapData_vfunc_54();
|
||||
unk8 func_ov00_020840a0(unk8 param_2, unk8 param_3, unk32 param_4);
|
||||
@@ -236,8 +236,10 @@ public:
|
||||
s32 func_ov00_02085a34(unk32 param_2, unk32 param_3);
|
||||
unk8 func_ov00_02085c60(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5);
|
||||
unk8 func_ov00_02086044(unk32 param_2, unk32 param_3, unk32 param_4);
|
||||
bool func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, u16 param_6, Vec3p *param_7, Vec3p *param_8);
|
||||
bool func_ov00_02086a84(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, s32 param_6, unk32 param_7, Vec3p *param_8, Vec3p *param_9);
|
||||
bool func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, u16 param_6, Vec3p *param_7,
|
||||
Vec3p *param_8);
|
||||
bool func_ov00_02086a84(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, s32 param_6, unk32 param_7,
|
||||
Vec3p *param_8, Vec3p *param_9);
|
||||
};
|
||||
|
||||
extern MapManager *gMapManager;
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Physics/AABB.hpp"
|
||||
#include "Map/TriggerBase.hpp"
|
||||
#include "Physics/AABB.hpp"
|
||||
|
||||
class TriggerAABB : public TriggerBase {
|
||||
/* 00 (base) */
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Physics/Sphere.hpp"
|
||||
#include "Map/TriggerBase.hpp"
|
||||
#include "Physics/Sphere.hpp"
|
||||
|
||||
class TriggerSphere : public TriggerBase {
|
||||
/* 00 (base) */
|
||||
|
||||
@@ -14,6 +14,7 @@ struct Cylinder {
|
||||
pos.x = 0;
|
||||
pos.y = size;
|
||||
pos.z = 0;
|
||||
|
||||
this->size = size;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#include "Player/EquipItem.hpp"
|
||||
|
||||
class EquipBomb : public EquipItem {
|
||||
@@ -9,7 +10,7 @@ private:
|
||||
/* 09 */ unk8 mUnk_09[3];
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */ unk8 mUnk_10[0x14];
|
||||
/* 24 */
|
||||
/* 24 */
|
||||
|
||||
public:
|
||||
EquipBomb();
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#include "Player/EquipItem.hpp"
|
||||
|
||||
class EquipBombchu : public EquipItem {
|
||||
|
||||
@@ -35,5 +35,5 @@ public:
|
||||
/* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov53_02199318
|
||||
/* 50 */
|
||||
|
||||
Actor* GetActor();
|
||||
Actor *GetActor();
|
||||
};
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#include "Player/EquipItem.hpp"
|
||||
|
||||
class EquipBow : public EquipItem {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#include "Player/EquipItem.hpp"
|
||||
|
||||
class EquipHammer : public EquipItem {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "types.h"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Item/Item.hpp"
|
||||
#include "Physics/Cylinder.hpp"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#include "Player/EquipItem.hpp"
|
||||
|
||||
class EquipPotion : public EquipItem {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
#include "lib/math.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Actor/ActorRef.hpp"
|
||||
#include "Physics/Cylinder.hpp"
|
||||
@@ -45,13 +45,13 @@ public:
|
||||
u16 GetAmmo();
|
||||
/* 14 */ virtual bool IsUsable(unk32 param1) const override;
|
||||
/* 18 */ virtual void vfunc_18() override; // func_ov57_021992f4
|
||||
/* 1c */ virtual void vfunc_1c() override; // func_ov57_0219935c
|
||||
/* 1c */ virtual void vfunc_1c() override; // func_ov57_0219935c
|
||||
|
||||
/* 30 */ virtual void vfunc_30() override; // func_ov57_02199744
|
||||
/* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov57_021998f0
|
||||
/* 50 */
|
||||
|
||||
Actor* func_ov14_0213d420();
|
||||
Actor *func_ov14_0213d420();
|
||||
s32 func_ov14_0213d440(s32 actorId);
|
||||
s32 func_ov14_0213d480(s32 actorId);
|
||||
bool func_ov14_0213d81c(s32 index, Vec3p *vec);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#include "Player/EquipItem.hpp"
|
||||
|
||||
class EquipScoop : public EquipItem {
|
||||
@@ -24,4 +25,3 @@ public:
|
||||
/* 48 */ virtual unk32 vfunc_48(unk32 param1) const override; // func_ov54_02198d48
|
||||
/* 50 */
|
||||
};
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#include "Player/EquipItem.hpp"
|
||||
|
||||
class EquipShield {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#include "Player/EquipItem.hpp"
|
||||
#include "Player/EquipRope.hpp"
|
||||
|
||||
@@ -57,5 +58,5 @@ public:
|
||||
/* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const override; // func_ov00_020c01dc
|
||||
/* 50 */
|
||||
|
||||
static EquipRope* GetEquipRope();
|
||||
static EquipRope *GetEquipRope();
|
||||
};
|
||||
|
||||
@@ -1,26 +1,25 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "lib/math.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "lib/math.h"
|
||||
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Player/PlayerLinkBase.hpp"
|
||||
#include "Player/PlayerControlData.hpp"
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Actor/ActorManager.hpp"
|
||||
#include "Player/EquipItem.hpp"
|
||||
#include "Debug/DebugHierarchy.hpp"
|
||||
#include "Player/EquipItem.hpp"
|
||||
#include "Player/PlayerControlData.hpp"
|
||||
#include "Player/PlayerLinkBase.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
typedef unk32 LinkStateId;
|
||||
enum LinkStateId_ {
|
||||
LinkStateId_Move = 0,
|
||||
LinkStateId_Item = 1,
|
||||
LinkStateId_Grab = 2,
|
||||
LinkStateId_Unk3 = 3,
|
||||
LinkStateId_Unk4 = 4,
|
||||
LinkStateId_Damage = 5,
|
||||
LinkStateId_Move = 0,
|
||||
LinkStateId_Item = 1,
|
||||
LinkStateId_Grab = 2,
|
||||
LinkStateId_Unk3 = 3,
|
||||
LinkStateId_Unk4 = 4,
|
||||
LinkStateId_Damage = 5,
|
||||
LinkStateId_ItemGet = 6,
|
||||
LinkStateId_COUNT
|
||||
};
|
||||
@@ -59,7 +58,7 @@ public:
|
||||
void EquipItem_vfunc_28();
|
||||
void UpdateSwordShieldInUse();
|
||||
void func_ov00_020a81b8(unk32 param1, unk32 param2);
|
||||
LinkStateItem* GetLinkItemState();
|
||||
LinkStateItem *GetLinkItemState();
|
||||
void LookAt(Vec3p *target);
|
||||
void func_ov00_020a81fc();
|
||||
void AddHealth(s16 amount);
|
||||
@@ -102,30 +101,30 @@ public:
|
||||
unk8 Get_PlayerLinkBase_Unk5e();
|
||||
unk32 Get_PlayerControlData_Unk004();
|
||||
PlayerCharacter GetCurrentCharacter();
|
||||
PlayerControlData* GetPlayerControlData();
|
||||
PlayerControlData *GetPlayerControlData();
|
||||
LinkStateId GetStateId();
|
||||
s32 GetHealth();
|
||||
s32 GetCurrentCharacterHealth();
|
||||
bool func_ov00_020a8c34();
|
||||
Vec3p* GetPlayerPos();
|
||||
Vec3p* GetPlayerVel();
|
||||
unk8* func_ov00_020a8c64();
|
||||
s16* GetPlayerAngle();
|
||||
void* GetPlayer_Unk18();
|
||||
Vec3p *GetPlayerPos();
|
||||
Vec3p *GetPlayerVel();
|
||||
unk8 *func_ov00_020a8c64();
|
||||
s16 *GetPlayerAngle();
|
||||
void *GetPlayer_Unk18();
|
||||
s32 Get_PlayerControlData_Unk32();
|
||||
Actor* GetGrabActor();
|
||||
ActorRef* GetGrabActorRef();
|
||||
Actor *GetGrabActor();
|
||||
ActorRef *GetGrabActorRef();
|
||||
unk32 Grab();
|
||||
s32 Get_PlayerLinkBase_Unk44();
|
||||
bool IsEquipBeingUsed(ItemFlag id);
|
||||
EquipItem* GetEquipItem(ItemFlag id);
|
||||
void* func_ov00_020a8d40();
|
||||
EquipItem *GetEquipItem(ItemFlag id);
|
||||
void *func_ov00_020a8d40();
|
||||
unk32 func_ov00_020a8d50();
|
||||
unk32 func_ov00_020a8d6c();
|
||||
s32 PlayerControlData_vfunc_14(s32 param1);
|
||||
unk32 Get_PlayerControlData_Unk100();
|
||||
unk32 Get_PlayerControlData_Unk120();
|
||||
s32 Get_PlayerLinkBase_Unk38();
|
||||
DebugHierarchy* GetDebugHierarchy0();
|
||||
DebugHierarchy* GetDebugHierarchy1();
|
||||
DebugHierarchy *GetDebugHierarchy0();
|
||||
DebugHierarchy *GetDebugHierarchy1();
|
||||
};
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "lib/math.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "lib/math.h"
|
||||
|
||||
#include "Player/LinkStateBase.hpp"
|
||||
#include "Item/Item.hpp"
|
||||
#include "Player/LinkStateBase.hpp"
|
||||
|
||||
class LinkStateCutscene : public LinkStateBase {
|
||||
public:
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "lib/math.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Player/LinkStateBase.hpp"
|
||||
#include "Render/ModelRender.hpp"
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "lib/math.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Player/LinkStateBase.hpp"
|
||||
@@ -35,7 +34,7 @@ public:
|
||||
/* 44 */
|
||||
|
||||
void MoveTowardTarget();
|
||||
LinkStateCutscene* GetLinkStateCutscene();
|
||||
LinkStateCutscene *GetLinkStateCutscene();
|
||||
bool func_ov00_020a9180(Vec3p *param1);
|
||||
bool func_ov00_020a9210(Vec3p *param1, Actor *param2);
|
||||
};
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "lib/math.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "lib/math.h"
|
||||
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Actor/ActorManager.hpp"
|
||||
#include "Player/LinkStateBase.hpp"
|
||||
#include "Player/LinkStateRoll.hpp"
|
||||
#include "Actor/ActorManager.hpp"
|
||||
#include "Actor/Actor.hpp"
|
||||
|
||||
class LinkStateInteract : public LinkStateBase {
|
||||
public:
|
||||
@@ -37,7 +36,7 @@ public:
|
||||
s32 GetGrabActorId();
|
||||
bool func_ov00_020aa818();
|
||||
void func_ov00_020aa844(Actor *param1);
|
||||
LinkStateRoll* GetLinkStateRoll();
|
||||
LinkStateRoll *GetLinkStateRoll();
|
||||
void SetGrabActorVelocity(Vec3p *velocity);
|
||||
void SetBombVelocity(Vec3p *velocity);
|
||||
void func_ov00_020ab6c8();
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Item/Item.hpp"
|
||||
#include "Player/EquipBombchu.hpp"
|
||||
#include "Player/LinkStateBase.hpp"
|
||||
#include "Player/LinkStateMove.hpp"
|
||||
#include "Player/EquipBombchu.hpp"
|
||||
#include "Item/Item.hpp"
|
||||
|
||||
class LinkStateItem : public LinkStateBase {
|
||||
public:
|
||||
@@ -47,7 +47,7 @@ public:
|
||||
/* 44 */
|
||||
|
||||
s32 IsHammerEquipped(); // returns 0 if hammer is equipped, otherwise -1
|
||||
EquipBombchu* GetEquipBombchu();
|
||||
LinkStateMove* GetLinkStateMove();
|
||||
EquipBombchu *GetEquipBombchu();
|
||||
LinkStateMove *GetLinkStateMove();
|
||||
bool func_ov00_020abf70();
|
||||
};
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
#include "lib/files.h"
|
||||
#include "types.h"
|
||||
|
||||
struct MotionParams {
|
||||
/* 00 */ FileEntry motionBhio; // motion.bhio
|
||||
|
||||
@@ -4,10 +4,9 @@
|
||||
#include "types.h"
|
||||
|
||||
#include "Item/Item.hpp"
|
||||
#include "Player/EquipSword.hpp"
|
||||
#include "Player/EquipShield.hpp"
|
||||
|
||||
#include "Physics/Cylinder.hpp"
|
||||
#include "Player/EquipShield.hpp"
|
||||
#include "Player/EquipSword.hpp"
|
||||
#include "Render/FadeControl.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
@@ -28,14 +27,14 @@ public:
|
||||
/* 04 */ virtual bool vfunc_04();
|
||||
/* 08 */ virtual ItemFlag GetEquipId();
|
||||
/* 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;
|
||||
/* 1c */ virtual void Init() = 0;
|
||||
/* 20 */ virtual void vfunc_20() = 0;
|
||||
/* 24 */ virtual void vfunc_24() = 0;
|
||||
/* 28 */ virtual void vfunc_28(s32 param1) = 0;
|
||||
/* 2c */ virtual void vfunc_2c(s32 param1, unk8 param2) = 0;
|
||||
/* 10 */ virtual void vfunc_10(Cylinder *param1) = 0;
|
||||
/* 14 */ virtual void vfunc_14(Cylinder *param1) = 0;
|
||||
/* 18 */ virtual void vfunc_18() = 0;
|
||||
/* 1c */ virtual void Init() = 0;
|
||||
/* 20 */ virtual void vfunc_20() = 0;
|
||||
/* 24 */ virtual void vfunc_24() = 0;
|
||||
/* 28 */ virtual void vfunc_28(s32 param1) = 0;
|
||||
/* 2c */ virtual void vfunc_2c(s32 param1, unk8 param2) = 0;
|
||||
/* 30 */ virtual bool vfunc_30(s32 param1, Vec3p *param2, s32 param3) = 0;
|
||||
/* 34 */ virtual bool Teleport(Vec3p *pos, s16 angle, unk32 param3, bool param4, bool param5);
|
||||
/* 38 */ virtual bool TeleportToEntrance(unk32 entranceId, bool param2);
|
||||
@@ -49,8 +48,8 @@ public:
|
||||
|
||||
void SetUpdatePos(bool updatePos);
|
||||
void SetVisible(bool visible);
|
||||
EquipSword* GetEquipSword();
|
||||
EquipShield* GetEquipShield();
|
||||
EquipSword *GetEquipSword();
|
||||
EquipShield *GetEquipShield();
|
||||
void LookAt(Vec3p *target);
|
||||
bool func_ov00_020a7c00(s32 param1);
|
||||
bool CollidesWith(Cylinder *cylinder);
|
||||
|
||||
@@ -1,23 +1,22 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "lib/math.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "lib/math.h"
|
||||
|
||||
#include "Player/TouchControl.hpp"
|
||||
#include "Player/TouchGesture.hpp"
|
||||
#include "Actor/ActorManager.hpp"
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Actor/ActorManager.hpp"
|
||||
#include "Debug/DebugHierarchy.hpp"
|
||||
#include "Item/Item.hpp"
|
||||
#include "Player/TouchControl.hpp"
|
||||
#include "Player/TouchGesture.hpp"
|
||||
|
||||
typedef u16 TouchEdge;
|
||||
enum TouchEdge_ {
|
||||
TouchEdge_Right = 0,
|
||||
TouchEdge_Left = 1,
|
||||
TouchEdge_Right = 0,
|
||||
TouchEdge_Left = 1,
|
||||
TouchEdge_Bottom = 2,
|
||||
TouchEdge_Top = 3,
|
||||
TouchEdge_Top = 3,
|
||||
TouchEdge_Middle = 4
|
||||
};
|
||||
|
||||
@@ -79,7 +78,7 @@ public:
|
||||
void func_ov00_020aeef8();
|
||||
void func_ov00_020aef30();
|
||||
void UpdateAim();
|
||||
Actor* GetFollowActor();
|
||||
Actor *GetFollowActor();
|
||||
bool func_ov00_020af01c(unk8 *param1);
|
||||
void SetUnk_80();
|
||||
void StopFollowing();
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "lib/math.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
|
||||
@@ -1,24 +1,22 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
#include "lib/math.h"
|
||||
|
||||
#include "Player/PlayerBase.hpp"
|
||||
#include "Player/MotionParams.hpp"
|
||||
#include "types.h"
|
||||
|
||||
#include "Actor/ActorManager.hpp"
|
||||
|
||||
#include "Debug/DebugHierarchy.hpp"
|
||||
#include "Player/MotionParams.hpp"
|
||||
#include "Player/PlayerBase.hpp"
|
||||
|
||||
typedef s32 PlayerCharacter;
|
||||
enum PlayerCharacter_ {
|
||||
PlayerCharacter_Link = 0,
|
||||
PlayerCharacter_Link = 0,
|
||||
PlayerCharacter_Gongoron = 1,
|
||||
PlayerCharacter_COUNT = 2,
|
||||
PlayerCharacter_COUNT = 2,
|
||||
};
|
||||
|
||||
class PlayerLinkBase: public PlayerBase {
|
||||
class PlayerLinkBase : public PlayerBase {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 14 */ Vec3p mPos;
|
||||
@@ -44,7 +42,7 @@ public:
|
||||
/* 68 */ DebugHierarchy *mDebugHierarchy_1;
|
||||
/* 6c */ DebugHierarchy *mDebugHierarchy_2;
|
||||
/* 70 */
|
||||
|
||||
|
||||
/* 00 */ s32 GetMaxHealth() override;
|
||||
/* 08 */ ItemFlag GetEquipId() override;
|
||||
/* 0c */ bool CanMove() override;
|
||||
@@ -77,6 +75,7 @@ public:
|
||||
|
||||
bool func_ov00_020bbd80(s32 param1);
|
||||
void func_ov00_020bc854(Vec3p *param1);
|
||||
bool func_ov00_020bce48(ItemId cutsceneItemId); // PlayItemCutscene
|
||||
bool func_ov00_020bd304();
|
||||
bool GongoronCollidesWith(Cylinder *hitbox);
|
||||
s32 GetGrabActorId();
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
#include "lib/touch.h"
|
||||
#include "lib/math.h"
|
||||
#include "lib/touch.h"
|
||||
#include "types.h"
|
||||
|
||||
typedef u16 TouchFlags;
|
||||
enum TouchFlag_ {
|
||||
TouchFlag_TouchedNow = 0x0001,
|
||||
TouchFlag_TouchedNow = 0x0001,
|
||||
TouchFlag_UntouchedNow = 0x0002,
|
||||
TouchFlag_Repeat = 0x0004,
|
||||
TouchFlag_Repeat = 0x0004,
|
||||
};
|
||||
|
||||
class TouchControl {
|
||||
|
||||
@@ -29,7 +29,7 @@ public:
|
||||
/* 2c */ u16 mTouchX[GESTURE_BUFFER_LENGTH];
|
||||
/* 48 */ u16 mTouchY[GESTURE_BUFFER_LENGTH];
|
||||
/* 64 */
|
||||
|
||||
|
||||
/* 00 */ virtual ~TouchGesture() override;
|
||||
/* 08 */ virtual void ResetTouchHistory() override;
|
||||
/* 0c */ virtual void Update(void *param1) override;
|
||||
|
||||
@@ -22,7 +22,7 @@ public:
|
||||
/* 5c */
|
||||
|
||||
/* 00 */ virtual ~ModelRender();
|
||||
/* 08 */ virtual void* GetLcdcAddress();
|
||||
/* 08 */ virtual void *GetLcdcAddress();
|
||||
/* 0c */ virtual void vfunc_0c(ItemModel *model);
|
||||
/* 10 */ virtual void SetTransform(Vec3p *scale, Mat3p *rotation, Vec3p *translation);
|
||||
/* 14 */ virtual void SetRotationTranslation(Mat3p *rotation, Vec3p *translation);
|
||||
|
||||
@@ -23,17 +23,17 @@ enum AdventureFlag_ {
|
||||
|
||||
/* 0x30 */ AdventureFlag_Cannon = 48,
|
||||
|
||||
/* 0x7d */ AdventureFlag_Azurine = 125,
|
||||
/* 0x7d */ AdventureFlag_Azurine = 125,
|
||||
/* 0x7e */ AdventureFlag_Crimsonine = 126,
|
||||
/* 0x7f */ AdventureFlag_Aquanine = 127,
|
||||
/* 0x80 */ AdventureFlag_Unk_128 = 128,
|
||||
/* 0x7f */ AdventureFlag_Aquanine = 127,
|
||||
/* 0x80 */ AdventureFlag_Unk_128 = 128,
|
||||
|
||||
/* 0x8c */ AdventureFlag_SalvageArm = 140,
|
||||
|
||||
/* 0x126 */ AdventureFlag_ReceivedGoldenChimney = 294,
|
||||
/* 0x126 */ AdventureFlag_ReceivedGoldenChimney = 294,
|
||||
/* 0x127 */ AdventureFlag_ReceivedGoldenHandrail = 295,
|
||||
/* 0x128 */ AdventureFlag_ReceivedGoldenCannon = 296,
|
||||
/* 0x129 */ AdventureFlag_ReceivedGoldenHull = 297,
|
||||
/* 0x128 */ AdventureFlag_ReceivedGoldenCannon = 296,
|
||||
/* 0x129 */ AdventureFlag_ReceivedGoldenHull = 297,
|
||||
|
||||
/* 0x187 */ AdventureFlag_COUNT = 391,
|
||||
};
|
||||
@@ -110,14 +110,14 @@ public:
|
||||
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);
|
||||
FlagsUnk *Get_FlagsUnk(int index);
|
||||
bool func_ov00_02097e6c();
|
||||
bool func_ov00_02097e7c();
|
||||
bool func_ov00_02097ea4();
|
||||
static unk32 func_ov00_02097ecc();
|
||||
void* func_ov00_02097f8c();
|
||||
void* func_ov00_02097fac();
|
||||
void* func_ov00_02097fd0();
|
||||
void *func_ov00_02097f8c();
|
||||
void *func_ov00_02097fac();
|
||||
void *func_ov00_02097fd0();
|
||||
void func_ov00_02097ff4(bool param1, bool param2);
|
||||
unk32 func_ov00_02098058();
|
||||
bool func_ov00_02098064(unk32 param1);
|
||||
|
||||
+138
-138
@@ -7,111 +7,111 @@ typedef u32 SfxId;
|
||||
enum SfxId_ {
|
||||
SfxId_None = 0x0,
|
||||
|
||||
SfxId_Music_StoryIntro = 0x2,
|
||||
SfxId_Music_StoryOutsetIsland = 0x3,
|
||||
SfxId_Music_StoryIntro = 0x2,
|
||||
SfxId_Music_StoryOutsetIsland = 0x3,
|
||||
SfxId_Music_StoryZeldasLullaby = 0x4,
|
||||
SfxId_Music_DarkKingGanon = 0x5,
|
||||
SfxId_Music_TheHeroOfTheWinds = 0x6,
|
||||
SfxId_Music_OffToTheSeas = 0x7,
|
||||
SfxId_Music_ThePirateShip_1 = 0x8,
|
||||
SfxId_Music_DarkKingGanon = 0x5,
|
||||
SfxId_Music_TheHeroOfTheWinds = 0x6,
|
||||
SfxId_Music_OffToTheSeas = 0x7,
|
||||
SfxId_Music_ThePirateShip_1 = 0x8,
|
||||
SfxId_Music_TheKingOfTheOceans = 0x9,
|
||||
SfxId_Music_InTheDarkDungeon_1 = 0xa,
|
||||
SfxId_Music_LinebecksTheme = 0xb,
|
||||
SfxId_Fanfare_KeyDizzy = 0xc,
|
||||
SfxId_Music_MagicInTheAir_1 = 0xd,
|
||||
SfxId_Music_TheSandsOfTime_1 = 0xe,
|
||||
SfxId_Fanfare_Discovery_1 = 0xf,
|
||||
SfxId_Music_MagicInTheAir_2 = 0x10,
|
||||
SfxId_Music_TheSandsOfTime_2 = 0x11,
|
||||
SfxId_Fanfare_Discovery_2 = 0x12,
|
||||
SfxId_Music_MagicInTheAir_3 = 0x13,
|
||||
SfxId_Music_LinebecksTheme = 0xb,
|
||||
SfxId_Fanfare_KeyDizzy = 0xc,
|
||||
SfxId_Music_MagicInTheAir_1 = 0xd,
|
||||
SfxId_Music_TheSandsOfTime_1 = 0xe,
|
||||
SfxId_Fanfare_Discovery_1 = 0xf,
|
||||
SfxId_Music_MagicInTheAir_2 = 0x10,
|
||||
SfxId_Music_TheSandsOfTime_2 = 0x11,
|
||||
SfxId_Fanfare_Discovery_2 = 0x12,
|
||||
SfxId_Music_MagicInTheAir_3 = 0x13,
|
||||
|
||||
SfxId_Music_MagicInTheAir_4 = 0x15,
|
||||
SfxId_Music_Credits = 0x16,
|
||||
SfxId_Music_Credits = 0x16,
|
||||
|
||||
SfxId_Music_DarkMemories = 0x18,
|
||||
SfxId_Music_DarkMemories = 0x18,
|
||||
SfxId_Music_TheSandsOfTime_3 = 0x19,
|
||||
SfxId_Fanfare_Discovery_3 = 0x1a,
|
||||
SfxId_Fanfare_Discovery_3 = 0x1a,
|
||||
|
||||
SfxId_Fanfare_Nothing_1 = 0x1c,
|
||||
SfxId_Fanfare_Nothing_1 = 0x1c,
|
||||
SfxId_Music_TheSandsOfTime_4 = 0x1d,
|
||||
SfxId_Music_ZeldasLullaby = 0x1e,
|
||||
SfxId_Music_ZeldasLullaby = 0x1e,
|
||||
|
||||
SfxId_Music_BellumLoop = 0x21,
|
||||
|
||||
SfxId_Music_ThePirateShip_2 = 0x25,
|
||||
|
||||
SfxId_Music_FairyFountain = 0x27,
|
||||
SfxId_Fanfare_Treasure = 0x28,
|
||||
SfxId_Fanfare_Rupee = 0x29,
|
||||
SfxId_Fanfare_GoldRupee = 0x2a,
|
||||
SfxId_Fanfare_Rupoor = 0x2b,
|
||||
SfxId_Fanfare_Nothing_2 = 0x2c,
|
||||
SfxId_Music_FairyFountain = 0x27,
|
||||
SfxId_Fanfare_Treasure = 0x28,
|
||||
SfxId_Fanfare_Rupee = 0x29,
|
||||
SfxId_Fanfare_GoldRupee = 0x2a,
|
||||
SfxId_Fanfare_Rupoor = 0x2b,
|
||||
SfxId_Fanfare_Nothing_2 = 0x2c,
|
||||
SfxId_Fanfare_HeartContainer = 0x2d,
|
||||
SfxId_Fanfare_Gem = 0x2e,
|
||||
SfxId_Fanfare_Discovery_4 = 0x2f,
|
||||
SfxId_Music_Indoors_1 = 0x30,
|
||||
SfxId_Music_Indoors_2 = 0x31,
|
||||
SfxId_Music_Lithoroves = 0x32,
|
||||
SfxId_Music_Indoors_3 = 0x33,
|
||||
SfxId_Music_AstridsTheme = 0x34,
|
||||
SfxId_Fanfare_Gem = 0x2e,
|
||||
SfxId_Fanfare_Discovery_4 = 0x2f,
|
||||
SfxId_Music_Indoors_1 = 0x30,
|
||||
SfxId_Music_Indoors_2 = 0x31,
|
||||
SfxId_Music_Lithoroves = 0x32,
|
||||
SfxId_Music_Indoors_3 = 0x33,
|
||||
SfxId_Music_AstridsTheme = 0x34,
|
||||
|
||||
SfxId_Music_Indoors_4 = 0x38,
|
||||
SfxId_Music_Indoors_5 = 0x39,
|
||||
SfxId_Music_Indoors_6 = 0x3a,
|
||||
SfxId_Music_Indoors_7 = 0x3b,
|
||||
SfxId_Music_Indoors_8 = 0x3c,
|
||||
|
||||
SfxId_Music_ThePirateShip_3 = 0x3e,
|
||||
|
||||
SfxId_Music_ThePirateShip_3 = 0x3e,
|
||||
SfxId_Music_BeedlesShopShip_1 = 0x3f,
|
||||
SfxId_Music_BeedlesShopShip_2 = 0x40,
|
||||
|
||||
SfxId_Music_Indoors_9 = 0x42,
|
||||
SfxId_Music_Indoors_10 = 0x43,
|
||||
SfxId_Music_Indoors_11 = 0x44,
|
||||
SfxId_Music_Indoors_12 = 0x45,
|
||||
SfxId_Music_Indoors_13 = 0x46,
|
||||
SfxId_Music_Indoors_9 = 0x42,
|
||||
SfxId_Music_Indoors_10 = 0x43,
|
||||
SfxId_Music_Indoors_11 = 0x44,
|
||||
SfxId_Music_Indoors_12 = 0x45,
|
||||
SfxId_Music_Indoors_13 = 0x46,
|
||||
SfxId_Music_DangerInTheGreatBlueSea_1 = 0x47,
|
||||
SfxId_Music_DangerInTheGreatBlueSea_2 = 0x48,
|
||||
SfxId_Music_TheDarkCaves_1 = 0x49,
|
||||
SfxId_Fanfare_OhNo = 0x4a,
|
||||
SfxId_Music_GameOver = 0x4b,
|
||||
SfxId_Fanfare_TempleOfTheOceanKing = 0x4c,
|
||||
SfxId_Music_EnemyBattle_1 = 0x4d,
|
||||
SfxId_Music_MercayIsland_1 = 0x4e,
|
||||
SfxId_Music_UnchartedTerritory_1 = 0x4f,
|
||||
SfxId_Music_MercayIsland_2 = 0x50,
|
||||
SfxId_Music_UnchartedTerritory_2 = 0x51,
|
||||
SfxId_Music_MercayIsland_3 = 0x52,
|
||||
SfxId_Music_UnchartedTerritory_3 = 0x53,
|
||||
SfxId_Music_UnchartedTerritory_4 = 0x54,
|
||||
SfxId_Music_UnchartedTerritory_5 = 0x55,
|
||||
SfxId_Music_MercayIsland_4 = 0x56,
|
||||
SfxId_Music_UnchartedTerritory_6 = 0x57,
|
||||
SfxId_Music_TheGorons = 0x58,
|
||||
SfxId_Music_UnchartedTerritory_7 = 0x59,
|
||||
SfxId_Music_UnchartedTerritory_8 = 0x5a,
|
||||
SfxId_Music_UnchartedTerritory_9 = 0x5b,
|
||||
SfxId_Music_UnchartedTerritory_10 = 0x5c,
|
||||
SfxId_Music_MercayIsland_5 = 0x5d,
|
||||
SfxId_Music_UnchartedTerritory_11 = 0x5e,
|
||||
SfxId_Music_UnchartedTerritory_12 = 0x5f,
|
||||
SfxId_Music_TheDarkCaves_1 = 0x49,
|
||||
SfxId_Fanfare_OhNo = 0x4a,
|
||||
SfxId_Music_GameOver = 0x4b,
|
||||
SfxId_Fanfare_TempleOfTheOceanKing = 0x4c,
|
||||
SfxId_Music_EnemyBattle_1 = 0x4d,
|
||||
SfxId_Music_MercayIsland_1 = 0x4e,
|
||||
SfxId_Music_UnchartedTerritory_1 = 0x4f,
|
||||
SfxId_Music_MercayIsland_2 = 0x50,
|
||||
SfxId_Music_UnchartedTerritory_2 = 0x51,
|
||||
SfxId_Music_MercayIsland_3 = 0x52,
|
||||
SfxId_Music_UnchartedTerritory_3 = 0x53,
|
||||
SfxId_Music_UnchartedTerritory_4 = 0x54,
|
||||
SfxId_Music_UnchartedTerritory_5 = 0x55,
|
||||
SfxId_Music_MercayIsland_4 = 0x56,
|
||||
SfxId_Music_UnchartedTerritory_6 = 0x57,
|
||||
SfxId_Music_TheGorons = 0x58,
|
||||
SfxId_Music_UnchartedTerritory_7 = 0x59,
|
||||
SfxId_Music_UnchartedTerritory_8 = 0x5a,
|
||||
SfxId_Music_UnchartedTerritory_9 = 0x5b,
|
||||
SfxId_Music_UnchartedTerritory_10 = 0x5c,
|
||||
SfxId_Music_MercayIsland_5 = 0x5d,
|
||||
SfxId_Music_UnchartedTerritory_11 = 0x5e,
|
||||
SfxId_Music_UnchartedTerritory_12 = 0x5f,
|
||||
|
||||
SfxId_Music_MercayIsland_6 = 0x61,
|
||||
SfxId_Music_MercayIsland_7 = 0x62,
|
||||
SfxId_Music_MercayIsland_8 = 0x63,
|
||||
SfxId_Music_MercayIsland_6 = 0x61,
|
||||
SfxId_Music_MercayIsland_7 = 0x62,
|
||||
SfxId_Music_MercayIsland_8 = 0x63,
|
||||
SfxId_Music_UnchartedTerritory_13 = 0x64,
|
||||
|
||||
SfxId_Music_GhostShip = 0x66,
|
||||
SfxId_Music_GhostShip = 0x66,
|
||||
SfxId_Music_ChasingTheGhostShip = 0x67,
|
||||
SfxId_Music_EnemyBattle_2 = 0x68,
|
||||
SfxId_Music_JoleneAppears = 0x69,
|
||||
SfxId_Music_JoleneAppearsLoop = 0x6a,
|
||||
SfxId_Music_JoleneVsLink_1 = 0x6b,
|
||||
SfxId_Music_JoleneVsLink_2 = 0x6c,
|
||||
SfxId_Music_JoleneVsLinkEnd = 0x6d,
|
||||
SfxId_Music_InTheDarkDungeon_2 = 0x6e,
|
||||
SfxId_Music_InTheDarkDungeon_3 = 0x6f,
|
||||
SfxId_Music_EnemyBattle_2 = 0x68,
|
||||
SfxId_Music_JoleneAppears = 0x69,
|
||||
SfxId_Music_JoleneAppearsLoop = 0x6a,
|
||||
SfxId_Music_JoleneVsLink_1 = 0x6b,
|
||||
SfxId_Music_JoleneVsLink_2 = 0x6c,
|
||||
SfxId_Music_JoleneVsLinkEnd = 0x6d,
|
||||
SfxId_Music_InTheDarkDungeon_2 = 0x6e,
|
||||
SfxId_Music_InTheDarkDungeon_3 = 0x6f,
|
||||
|
||||
SfxId_Music_InTheDarkDungeon_4 = 0x72,
|
||||
|
||||
@@ -121,16 +121,16 @@ enum SfxId_ {
|
||||
SfxId_Music_InTheDarkDungeon_7 = 0x79,
|
||||
SfxId_Music_InTheDarkDungeon_8 = 0x7a,
|
||||
SfxId_Music_InTheDarkDungeon_9 = 0x7b,
|
||||
SfxId_Music_TheDarkCaves_2 = 0x7c,
|
||||
SfxId_Music_TheDarkCaves_2 = 0x7c,
|
||||
|
||||
SfxId_Music_InTheDarkDungeon_10 = 0x7f,
|
||||
SfxId_Music_TheDarkCaves_3 = 0x80,
|
||||
SfxId_Music_TheDarkCaves_3 = 0x80,
|
||||
|
||||
SfxId_Music_InTheDarkDungeon_11 = 0x83,
|
||||
SfxId_Music_TheDarkCaves_4 = 0x84,
|
||||
SfxId_Music_TheDarkCaves_4 = 0x84,
|
||||
|
||||
SfxId_Music_InTheDarkDungeon_12 = 0x87,
|
||||
SfxId_Music_TheDarkCaves_5 = 0x88,
|
||||
SfxId_Music_TheDarkCaves_5 = 0x88,
|
||||
SfxId_Music_InTheDarkDungeon_13 = 0x89,
|
||||
SfxId_Music_InTheDarkDungeon_14 = 0x8b,
|
||||
SfxId_Music_InTheDarkDungeon_15 = 0x8c,
|
||||
@@ -144,78 +144,78 @@ enum SfxId_ {
|
||||
SfxId_Music_InTheDarkDungeon_23 = 0x94,
|
||||
SfxId_Music_InTheDarkDungeon_24 = 0x95,
|
||||
SfxId_Music_InTheDarkDungeon_25 = 0x96,
|
||||
SfxId_Music_TheDarkCaves_6 = 0x97,
|
||||
SfxId_Music_TheDarkCaves_7 = 0x98,
|
||||
SfxId_Music_TheDarkCaves_8 = 0x99,
|
||||
SfxId_Music_TheDarkCaves_9 = 0x9a,
|
||||
SfxId_Music_TheDarkCaves_10 = 0x9b,
|
||||
SfxId_Music_TheDarkCaves_6 = 0x97,
|
||||
SfxId_Music_TheDarkCaves_7 = 0x98,
|
||||
SfxId_Music_TheDarkCaves_8 = 0x99,
|
||||
SfxId_Music_TheDarkCaves_9 = 0x9a,
|
||||
SfxId_Music_TheDarkCaves_10 = 0x9b,
|
||||
|
||||
SfxId_Music_InTheDarkDungeon_26 = 0x9e,
|
||||
SfxId_Music_InTheDarkDungeon_27 = 0x9f,
|
||||
SfxId_Music_InTheDarkDungeon_28 = 0xa0,
|
||||
SfxId_Music_TheDarkCaves_11 = 0xa1,
|
||||
SfxId_Music_TheDarkCaves_12 = 0xa2,
|
||||
SfxId_Music_TheDarkCaves_11 = 0xa1,
|
||||
SfxId_Music_TheDarkCaves_12 = 0xa2,
|
||||
SfxId_Music_InTheDarkDungeon_29 = 0xa3,
|
||||
SfxId_Music_TheDarkCaves_13 = 0xa4,
|
||||
SfxId_Music_TheDarkCaves_14 = 0xa5,
|
||||
SfxId_Music_TheDarkCaves_13 = 0xa4,
|
||||
SfxId_Music_TheDarkCaves_14 = 0xa5,
|
||||
|
||||
SfxId_Music_PhantomChase_1 = 0xa7,
|
||||
SfxId_Music_FencingPractice_1 = 0xa8,
|
||||
SfxId_Music_FencingPractice_2 = 0xa9,
|
||||
SfxId_Music_FencingPractice_3 = 0xaa,
|
||||
SfxId_Music_FencingPractice_4 = 0xab,
|
||||
SfxId_Music_FencingPractice_5 = 0xac,
|
||||
SfxId_Music_FencingPractice_6 = 0xad,
|
||||
SfxId_Music_FencingPractice_7 = 0xae,
|
||||
SfxId_Music_FencingPractice_8 = 0xaf,
|
||||
SfxId_Music_FencingPractice_9 = 0xb0,
|
||||
SfxId_Music_PhantomChase_1 = 0xa7,
|
||||
SfxId_Music_FencingPractice_1 = 0xa8,
|
||||
SfxId_Music_FencingPractice_2 = 0xa9,
|
||||
SfxId_Music_FencingPractice_3 = 0xaa,
|
||||
SfxId_Music_FencingPractice_4 = 0xab,
|
||||
SfxId_Music_FencingPractice_5 = 0xac,
|
||||
SfxId_Music_FencingPractice_6 = 0xad,
|
||||
SfxId_Music_FencingPractice_7 = 0xae,
|
||||
SfxId_Music_FencingPractice_8 = 0xaf,
|
||||
SfxId_Music_FencingPractice_9 = 0xb0,
|
||||
SfxId_Music_FencingPractice_10 = 0xb1,
|
||||
SfxId_Music_FencingPractice_11 = 0xb2,
|
||||
SfxId_Music_FencingPractice_12 = 0xb3,
|
||||
SfxId_Mandolin_Chord_1 = 0xb4,
|
||||
SfxId_Mandolin_Chord_2 = 0xb5,
|
||||
SfxId_Mandolin_Chord_3 = 0xb6,
|
||||
SfxId_Mandolin_Chord_4 = 0xb7,
|
||||
SfxId_Mandolin_Chord_5 = 0xb8,
|
||||
SfxId_Mandolin_Chord_6 = 0xb9,
|
||||
SfxId_Mandolin_Chord_7 = 0xba,
|
||||
SfxId_Mandolin_Chord_8 = 0xbb,
|
||||
SfxId_Music_BeginContactMode = 0xbc,
|
||||
SfxId_Fanfare_Checkpoint_1 = 0xbd,
|
||||
SfxId_Fanfare_Checkpoint_2 = 0xbe,
|
||||
SfxId_Fanfare_Checkpoint_3 = 0xbf,
|
||||
SfxId_Fanfare_Checkpoint_4 = 0xc0,
|
||||
SfxId_Fanfare_Checkpoint_5 = 0xc1,
|
||||
SfxId_Fanfare_Victory = 0xc2,
|
||||
SfxId_Drumroll = 0xc3,
|
||||
SfxId_Fanfare_Stumble = 0xc4,
|
||||
SfxId_Music_BossBattle_1 = 0xc5,
|
||||
SfxId_Music_BossBattle_2 = 0xc6,
|
||||
SfxId_Music_BossBattle_3 = 0xc7,
|
||||
SfxId_Music_BossBattle_4 = 0xc8,
|
||||
SfxId_Music_BossBattle_5 = 0xc9,
|
||||
SfxId_Music_BossBattle_6 = 0xca,
|
||||
SfxId_Music_BossBattle_7 = 0xcb,
|
||||
SfxId_Mandolin_Chord_1 = 0xb4,
|
||||
SfxId_Mandolin_Chord_2 = 0xb5,
|
||||
SfxId_Mandolin_Chord_3 = 0xb6,
|
||||
SfxId_Mandolin_Chord_4 = 0xb7,
|
||||
SfxId_Mandolin_Chord_5 = 0xb8,
|
||||
SfxId_Mandolin_Chord_6 = 0xb9,
|
||||
SfxId_Mandolin_Chord_7 = 0xba,
|
||||
SfxId_Mandolin_Chord_8 = 0xbb,
|
||||
SfxId_Music_BeginContactMode = 0xbc,
|
||||
SfxId_Fanfare_Checkpoint_1 = 0xbd,
|
||||
SfxId_Fanfare_Checkpoint_2 = 0xbe,
|
||||
SfxId_Fanfare_Checkpoint_3 = 0xbf,
|
||||
SfxId_Fanfare_Checkpoint_4 = 0xc0,
|
||||
SfxId_Fanfare_Checkpoint_5 = 0xc1,
|
||||
SfxId_Fanfare_Victory = 0xc2,
|
||||
SfxId_Drumroll = 0xc3,
|
||||
SfxId_Fanfare_Stumble = 0xc4,
|
||||
SfxId_Music_BossBattle_1 = 0xc5,
|
||||
SfxId_Music_BossBattle_2 = 0xc6,
|
||||
SfxId_Music_BossBattle_3 = 0xc7,
|
||||
SfxId_Music_BossBattle_4 = 0xc8,
|
||||
SfxId_Music_BossBattle_5 = 0xc9,
|
||||
SfxId_Music_BossBattle_6 = 0xca,
|
||||
SfxId_Music_BossBattle_7 = 0xcb,
|
||||
|
||||
SfxId_Music_SpinSpinSpin_1 = 0xcf,
|
||||
|
||||
SfxId_Music_SpinSpinSpin_2 = 0xd2,
|
||||
SfxId_Music_FencingPractice_13 = 0xd3,
|
||||
SfxId_Music_FencingPracticeStart = 0xd4,
|
||||
SfxId_Music_SpinSpinSpin_2 = 0xd2,
|
||||
SfxId_Music_FencingPractice_13 = 0xd3,
|
||||
SfxId_Music_FencingPracticeStart = 0xd4,
|
||||
SfxId_Music_BattleStageSelection_1 = 0xd5,
|
||||
SfxId_Music_FencingPractice_14 = 0xd6,
|
||||
SfxId_Music_FencingPractice_15 = 0xd7,
|
||||
SfxId_Music_FencingPractice_16 = 0xd8,
|
||||
SfxId_Music_FencingPractice_17 = 0xd9,
|
||||
SfxId_Music_IntoTheCrystalBall = 0xe0,
|
||||
SfxId_Music_FencingPractice_14 = 0xd6,
|
||||
SfxId_Music_FencingPractice_15 = 0xd7,
|
||||
SfxId_Music_FencingPractice_16 = 0xd8,
|
||||
SfxId_Music_FencingPractice_17 = 0xd9,
|
||||
SfxId_Music_IntoTheCrystalBall = 0xe0,
|
||||
|
||||
SfxId_Music_PhantomChase_2 = 0xe2,
|
||||
SfxId_Fanfare_GreatLoss = 0xe3,
|
||||
SfxId_Fanfare_Incoming = 0xe4,
|
||||
SfxId_Fanfare_GoalReached = 0xe5,
|
||||
SfxId_Fanfare_LostGame_1 = 0xe6,
|
||||
SfxId_Fanfare_LostGame_2 = 0xe7,
|
||||
SfxId_Fanfare_BattleStart = 0xe8,
|
||||
SfxId_Music_BattleEnd = 0xe9,
|
||||
SfxId_Music_PhantomChase_2 = 0xe2,
|
||||
SfxId_Fanfare_GreatLoss = 0xe3,
|
||||
SfxId_Fanfare_Incoming = 0xe4,
|
||||
SfxId_Fanfare_GoalReached = 0xe5,
|
||||
SfxId_Fanfare_LostGame_1 = 0xe6,
|
||||
SfxId_Fanfare_LostGame_2 = 0xe7,
|
||||
SfxId_Fanfare_BattleStart = 0xe8,
|
||||
SfxId_Music_BattleEnd = 0xe9,
|
||||
SfxId_Music_BattleStageSelection_2 = 0xea,
|
||||
};
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
struct Random {
|
||||
/* 00 */ u64 mRandomValue;
|
||||
/* 08 */ u64 mFactor;
|
||||
/* 10 */ u64 mAddend;
|
||||
/* 18 */
|
||||
|
||||
/**
|
||||
* Generate a random number from 0 (inclusive) to `max` (exclusive)
|
||||
*/
|
||||
inline u32 Next(u32 max) {
|
||||
mRandomValue = mAddend + mFactor * mRandomValue;
|
||||
u64 result = (mRandomValue >> 32) * max;
|
||||
return result >> 32;
|
||||
}
|
||||
};
|
||||
|
||||
extern Random *gRandom;
|
||||
+7
-16
@@ -3,20 +3,9 @@
|
||||
|
||||
#define NULL 0
|
||||
|
||||
#define GET_FLAG(arr, pos) (((1 << ((pos) & 0x1f)) & (arr)[((u32)(pos)) >> 5]) != 0)
|
||||
#define SET_FLAG(arr, pos) ((arr)[((u32)(pos)) >> 5] |= 1 << ((pos) & 0x1f))
|
||||
#define RESET_FLAG(arr, pos) ((arr)[((u32)(pos)) >> 5] &= ~(1 << ((pos) & 0x1f)))
|
||||
|
||||
// NONMATCH(name) marks the function `name` as nonmatching
|
||||
// The reason for the macro is to easily detect it in progress.py
|
||||
#ifdef NONMATCHING
|
||||
#define NONMATCH(name) name
|
||||
#else
|
||||
#define NONMATCH(name) asm name
|
||||
#endif
|
||||
|
||||
// KILL(name) causes a function to be excluded from the output ROM, see elfkill.cpp
|
||||
#define KILL(name)
|
||||
#define GET_FLAG(arr, pos) (((1 << ((pos) & 0x1f)) & (arr)[((u32) (pos)) >> 5]) != 0)
|
||||
#define SET_FLAG(arr, pos) ((arr)[((u32) (pos)) >> 5] |= 1 << ((pos) & 0x1f))
|
||||
#define RESET_FLAG(arr, pos) ((arr)[((u32) (pos)) >> 5] &= ~(1 << ((pos) & 0x1f)))
|
||||
|
||||
// Prevent the IDE from reporting errors that the compiler/linker won't report
|
||||
#ifdef __INTELLISENSE__
|
||||
@@ -29,9 +18,11 @@
|
||||
#define override
|
||||
|
||||
// Define .sbss variables by using #pragma section sbss begin|end
|
||||
#pragma define_section sbss ".data" ".sbss"
|
||||
#pragma define_section sbss ".data" \
|
||||
".sbss"
|
||||
|
||||
// Force variables to be in .data by using #pragma section force_data begin|end
|
||||
#pragma define_section force_data ".data" ".data"
|
||||
#pragma define_section force_data ".data" \
|
||||
".data"
|
||||
|
||||
#endif
|
||||
|
||||
@@ -10,4 +10,3 @@ struct FileEntry {
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */
|
||||
};
|
||||
|
||||
|
||||
+7
-4
@@ -8,10 +8,12 @@ typedef s32 q20;
|
||||
// Q4.12 fixed point number
|
||||
typedef s16 q4;
|
||||
|
||||
#define INT_TO_Q20(n) ((s32)((n) << 12))
|
||||
#define FLOAT_TO_Q20(n) ((s32)(((n) * 8192 + 1) / 2))
|
||||
#define ROUND_Q20(n) (((s32)(n) + 0x800) >> 12)
|
||||
#define MUL_Q20(a,b) (q20)((((s64)(a)) * ((s64)(b)) + 0x800) >> 12)
|
||||
#define INT_TO_Q20(n) ((s32) ((n) << 12))
|
||||
#define FLOAT_TO_Q21(n) ((s32) (((n) * 8192 + 1) / 4))
|
||||
#define FLOAT_TO_Q20(n) ((s32) (((n) * 8192 + 1) / 2))
|
||||
#define FLOAT_TO_Q19(n) ((s32) (((n) * 8192 + 1)))
|
||||
#define ROUND_Q20(n) (((s32) (n) + 0x800) >> 12)
|
||||
#define MUL_Q20(a, b) (q20)((((s64) (a)) * ((s64) (b)) + 0x800) >> 12)
|
||||
|
||||
#define DEG_TO_ANG(n) ((n) * 0x10000 / 360)
|
||||
#define SIN(n) (gSinCosTable[2 * ((n) >> 4)])
|
||||
@@ -60,6 +62,7 @@ inline void Vec3p_Rotate(Vec3p *vec, q20 sin, q20 cos, Vec3p *out) {
|
||||
inline void Vec3p_CopyXZ(Vec3p *vec, Vec3p *out) {
|
||||
q20 z = vec->z;
|
||||
q20 x = vec->x;
|
||||
|
||||
out->x = x;
|
||||
out->y = 0;
|
||||
out->z = z;
|
||||
|
||||
Reference in New Issue
Block a user