mirror of
https://github.com/zeldaret/st
synced 2026-08-23 07:09:33 -04:00
Decompile overlay 101 (#118)
* delink the overlay * ItemManager_101 OK * UnkStruct_027e0ce0_40_101 OK * PlayerLinkActor_A0_1C_101 OK * UnkStruct_027e09a4_54_101 OK * UnkStruct_027e0cd8_0C_101 OK and MapObjectProfile_Derived6_101 OK
This commit is contained in:
@@ -27,6 +27,7 @@ typedef u32 ItemFlag;
|
||||
typedef u16 ItemFlag_u16;
|
||||
enum ItemFlag_ {
|
||||
ItemFlag_None = -1,
|
||||
ItemFlag_Nothing = 0,
|
||||
ItemFlag_Whirlwind = FLAG(0, 0),
|
||||
ItemFlag_Boomerang = FLAG(0, 1),
|
||||
ItemFlag_Whip = FLAG(0, 2),
|
||||
|
||||
+180
-22
@@ -4,6 +4,7 @@
|
||||
#include "Save/AdventureFlags.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a4.hpp"
|
||||
#include "Unknown/UnkSystem1.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
@@ -19,25 +20,183 @@ struct UnkStruct_ov000_020afc48 {
|
||||
/* 20 */
|
||||
};
|
||||
|
||||
class UnkStruct_ItemManager_20_14 {
|
||||
class UnkStruct_ItemManager_20_00_08 {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ bool mUnk_08;
|
||||
/* 09 */ bool mUnk_09;
|
||||
/* 0A */ unk16 mUnk_0A;
|
||||
/* 0C */ unk32 mUnk_0C;
|
||||
/* 10 */ unk16 mUnk_10;
|
||||
/* 12 */ unk16 mUnk_12;
|
||||
/* 14 */
|
||||
|
||||
UnkStruct_ItemManager_20_00_08();
|
||||
};
|
||||
|
||||
class UnkStruct_ItemManager_20_00_20 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
// overlay 31
|
||||
void func_ov031_020e096c();
|
||||
};
|
||||
|
||||
class UnkStruct_ItemManager_20_00 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ UnkStruct_ItemManager_20_00_08 mUnk_08;
|
||||
/* 1C */ unk32 mUnk_1C;
|
||||
/* 20 */ UnkStruct_ItemManager_20_00_20 mUnk_20;
|
||||
/* 24 */ STRUCT_PAD(0x24, 0x2C);
|
||||
/* 2C */ unk16 mUnk_2C;
|
||||
/* 2E */ unk16 mUnk_2E; // pad?
|
||||
/* 30 */
|
||||
|
||||
UnkStruct_ItemManager_20_00() :
|
||||
mUnk_00(0),
|
||||
mUnk_04(0),
|
||||
mUnk_2C(0) {
|
||||
this->mUnk_20.func_ov031_020e096c();
|
||||
this->func_ov031_020dba40();
|
||||
}
|
||||
|
||||
// overlay 31
|
||||
void func_ov031_020d9bd0();
|
||||
void func_ov031_020dba40();
|
||||
};
|
||||
|
||||
class UnkStruct_ItemManager_20_04_08_310 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ bool mUnk_0C;
|
||||
/* 0D */ STRUCT_PAD(0x0D, 0x10);
|
||||
/* 10 */
|
||||
|
||||
/* 00 */ virtual void vfunc_00(); //! TODO: name symbol func_ov000_020667d8
|
||||
/* 04 */ virtual void vfunc_04(); //! TODO: name symbol func_ov000_020667f4
|
||||
/* 08 */ virtual void vfunc_08(); //! TODO: name symbol func_ov000_020673c8
|
||||
/* 0C */ virtual void vfunc_0C(); //! TODO: name symbol func_ov000_02067434
|
||||
/* 10 */ virtual void vfunc_10(); //! TODO: name symbol func_ov000_02067474
|
||||
/* 14 */ virtual void vfunc_14(); //! TODO: name symbol func_ov000_02066dfc
|
||||
/* 18 */ virtual void vfunc_18(); //! TODO: name symbol func_ov000_020669d8
|
||||
/* 1C */ virtual void vfunc_1C(); //! TODO: name symbol func_ov000_02067234
|
||||
/* 20 */ virtual void vfunc_20(); //! TODO: name symbol func_ov000_0206723c
|
||||
/* 24 */ virtual ~UnkStruct_ItemManager_20_14(); //! TODO: name symbols func_ov000_020672ac, func_ov000_020672f4
|
||||
UnkStruct_ItemManager_20_04_08_310(); //! TODO: params
|
||||
};
|
||||
|
||||
class UnkStruct_ItemManager_20_04_08 : public LinkList<UnkStruct_ItemManager_20_04_08> {
|
||||
public:
|
||||
/* 000 (vtable) */
|
||||
/* 004 (base) */
|
||||
/* 00C */ unk32 mUnk_00C;
|
||||
/* 010 */ STRUCT_PAD(0x10, 0x310);
|
||||
/* 310 */ UnkStruct_ItemManager_20_04_08_310 mUnk_310;
|
||||
/* 320 */ unk32 mUnk_320;
|
||||
/* 324 */ unk16 mUnk_324;
|
||||
/* 326 */ bool mUnk_326;
|
||||
/* 327 */ bool mUnk_327;
|
||||
/* 328 */ unk32 mUnk_328;
|
||||
/* 32C */ STRUCT_PAD(0x32C, 0x3CC);
|
||||
/* 3CC */ void *mUnk_3CC;
|
||||
/* 3D0 */ unk32 mUnk_3D0;
|
||||
/* 3D4 */
|
||||
|
||||
UnkStruct_ItemManager_20_04_08();
|
||||
~UnkStruct_ItemManager_20_04_08();
|
||||
|
||||
// data_ov031_02112b6c
|
||||
/* 00 */ virtual void vfunc_00();
|
||||
/* 04 */
|
||||
};
|
||||
|
||||
class UnkStruct_ItemManager_20_04 {
|
||||
public:
|
||||
/* 000 */ unk32 mUnk_000;
|
||||
/* 004 */ bool mUnk_004;
|
||||
/* 005 */ unk8 mUnk_005; // pad?
|
||||
/* 006 */ unk8 mUnk_006; // pad?
|
||||
/* 007 */ unk8 mUnk_007; // pad?
|
||||
/* 008 */ UnkStruct_ItemManager_20_04_08 mUnk_008;
|
||||
/* 3DC */
|
||||
|
||||
UnkStruct_ItemManager_20_04();
|
||||
~UnkStruct_ItemManager_20_04();
|
||||
|
||||
// overlay 31
|
||||
void func_ov031_020d9598();
|
||||
void func_ov031_020db338();
|
||||
};
|
||||
|
||||
class UnkStruct_ItemManager_20_08 {
|
||||
public:
|
||||
/* 00 */ unk16 mUnk_00;
|
||||
/* 02 */ unk16 mUnk_02;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ unk32 mUnk_0C;
|
||||
/* 10 */ unk16 mUnk_10;
|
||||
/* 12 */ bool mUnk_12;
|
||||
/* 13 */ bool mUnk_13;
|
||||
/* 14 */
|
||||
|
||||
UnkStruct_ItemManager_20_08() {
|
||||
this->mUnk_10 = 0;
|
||||
this->mUnk_00 = 0;
|
||||
this->mUnk_02 = 0x01;
|
||||
this->func_ov031_020db5b4();
|
||||
}
|
||||
|
||||
// overlay 31
|
||||
void func_ov031_020d9658();
|
||||
void func_ov031_020db5b4();
|
||||
};
|
||||
|
||||
class UnkStruct_ItemManager_20_0C {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk8 mUnk_04;
|
||||
/* 05 */ unk8 mUnk_05;
|
||||
/* 06 */ unk8 mUnk_06;
|
||||
/* 07 */ unk8 mUnk_07;
|
||||
/* 08 */ unk16 mUnk_08;
|
||||
/* 0A */ unk16 mUnk_0A; // pad?
|
||||
/* 0C */
|
||||
|
||||
UnkStruct_ItemManager_20_0C();
|
||||
~UnkStruct_ItemManager_20_0C();
|
||||
|
||||
// overlay 31
|
||||
void func_ov031_020db954();
|
||||
};
|
||||
|
||||
struct UnkStruct_ItemManager_20_10_00 {
|
||||
/* 00 */ unk32 unk_00;
|
||||
/* 04 */
|
||||
|
||||
UnkStruct_ItemManager_20_10_00() :
|
||||
unk_00(0) {}
|
||||
};
|
||||
|
||||
class UnkStruct_ItemManager_20_10 {
|
||||
public:
|
||||
/* 00 */ UnkStruct_ItemManager_20_10_00 mUnk_00[3];
|
||||
|
||||
UnkStruct_ItemManager_20_10() {
|
||||
this->func_ov031_020db2b0();
|
||||
}
|
||||
|
||||
// overlay 31
|
||||
void func_ov031_020db2b0();
|
||||
};
|
||||
|
||||
class UnkStruct_ItemManager_20_14 {
|
||||
public:
|
||||
/* 00 */ UnkSystem1_ov000_Derived1 mUnk_00;
|
||||
/* 14 */ unk32 mUnk_14;
|
||||
/* 18 */
|
||||
|
||||
UnkStruct_ItemManager_20_14();
|
||||
|
||||
~UnkStruct_ItemManager_20_14() {
|
||||
this->func_ov031_020db7d8();
|
||||
}
|
||||
|
||||
// overlay 31
|
||||
void func_ov031_020db7d8();
|
||||
|
||||
@@ -47,13 +206,12 @@ public:
|
||||
|
||||
class UnkStruct_ItemManager_20 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ unk32 mUnk_0C;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 00 */ UnkStruct_ItemManager_20_00 *mUnk_00;
|
||||
/* 04 */ UnkStruct_ItemManager_20_04 *mUnk_04;
|
||||
/* 08 */ UnkStruct_ItemManager_20_08 *mUnk_08;
|
||||
/* 0C */ UnkStruct_ItemManager_20_0C *mUnk_0C;
|
||||
/* 10 */ UnkStruct_ItemManager_20_10 *mUnk_10;
|
||||
/* 14 */ UnkStruct_ItemManager_20_14 mUnk_14;
|
||||
/* 20 */ STRUCT_PAD(0x20, 0x2C);
|
||||
/* 2C */
|
||||
|
||||
UnkStruct_ItemManager_20();
|
||||
@@ -224,10 +382,10 @@ public:
|
||||
bool func_ov000_020a8a0c();
|
||||
void func_ov000_020a8a5c();
|
||||
bool func_ov000_020a8a74();
|
||||
unk32 func_ov000_020a8a90();
|
||||
unk32 func_ov000_020a8aa4();
|
||||
unk32 func_ov000_020a8ab8();
|
||||
unk32 func_ov000_020a8acc();
|
||||
UnkStruct_ItemManager_20_00 *func_ov000_020a8a90();
|
||||
UnkStruct_ItemManager_20_04 *func_ov000_020a8aa4();
|
||||
UnkStruct_ItemManager_20_0C *func_ov000_020a8ab8();
|
||||
UnkStruct_ItemManager_20_10 *func_ov000_020a8acc();
|
||||
|
||||
static UnkStruct_ov000_020afc48 *func_ov000_020a8974(ItemFlag itemFlag);
|
||||
static ItemFlag GetEquippedItemFlag(ItemId itemId);
|
||||
|
||||
@@ -115,4 +115,13 @@ class MapObjectProfile_Derived4 : public MapObjectProfile_Derived2 {
|
||||
/* 0C */ virtual void vfunc_0C() override;
|
||||
};
|
||||
|
||||
class MapObjectProfile_Derived6 : public MapObjectProfile_Derived2 {
|
||||
public:
|
||||
MapObjectProfile_Derived6(MapObjectId mapObjId1, MapObjectId mapObjId2) :
|
||||
MapObjectProfile_Derived2(mapObjId1, mapObjId2) {}
|
||||
~MapObjectProfile_Derived6();
|
||||
|
||||
/* 0C */ virtual void vfunc_10() override;
|
||||
};
|
||||
|
||||
typedef MapObjectProfile *(*GetMapObjectProfile)();
|
||||
|
||||
@@ -33,14 +33,15 @@ public:
|
||||
void func_ov031_0210b34c(void);
|
||||
};
|
||||
|
||||
class MapObjectProfileUnkSAND : public MapObjectProfile {
|
||||
class MapObjectProfileUnkSAND : public MapObjectProfile_Derived6 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
MapObjectProfileUnkSAND();
|
||||
~MapObjectProfileUnkSAND();
|
||||
|
||||
/* 0C */ virtual MapObject *Create();
|
||||
/* 00 */ virtual MapObject *Create();
|
||||
/* 10 */ virtual void vfunc_10() override;
|
||||
|
||||
static MapObjectProfileUnkSAND *GetProfile();
|
||||
};
|
||||
|
||||
@@ -10,6 +10,8 @@
|
||||
#include <nns/g3d/g3d.h>
|
||||
|
||||
class Actor_C4;
|
||||
class UnkStruct_027e0ce0_40_328;
|
||||
class ItemManager;
|
||||
|
||||
struct ActorGrabParams;
|
||||
extern "C" void func_ov000_0205d500(ActorGrabParams *, unk32, unk32);
|
||||
@@ -412,7 +414,7 @@ public:
|
||||
/* 004 */ STRUCT_PAD(0x04, 0x34);
|
||||
/* 034 */ PlayerLinkActor_9C_34 mUnk_34;
|
||||
/* 004 */ STRUCT_PAD(0x50, 0xF4);
|
||||
/* 0F4 */ unk32 mUnk_0F4;
|
||||
/* 0F4 */ UnkStruct_027e0ce0_40_328 *mUnk_0F4;
|
||||
/* 0F8 */ STRUCT_PAD(0xF8, 0x154);
|
||||
/* 154 */
|
||||
|
||||
@@ -440,7 +442,7 @@ public:
|
||||
/* 48 */ PlayerCharacter mCharacter;
|
||||
/* 4C */ unk32 mUnk_4C;
|
||||
/* 50 */ ActorGrabParams mUnk_50;
|
||||
/* 54 */ unk32 mUnk_54;
|
||||
/* 54 */ ItemManager *mUnk_54;
|
||||
/* 58 */ UnkStruct_027e0ce0_40 *mUnk_58;
|
||||
/* 5C */ PlayerActorBase_5C mUnk_5C;
|
||||
/* 70 */ PlayerActorBase_70 *mUnk_70;
|
||||
@@ -451,7 +453,7 @@ public:
|
||||
/* 90 */ PlayerLinkActor_9C *mUnk_90;
|
||||
/* 94 */
|
||||
|
||||
PlayerActorBase(PlayerCharacter character, unk32 param2, unk32 param3, UnkStruct_027e0ce0_40 *param4);
|
||||
PlayerActorBase(PlayerCharacter character, unk32 param2, ItemManager *pItemMgr, UnkStruct_027e0ce0_40 *param4);
|
||||
~PlayerActorBase();
|
||||
|
||||
// overlay 0
|
||||
|
||||
@@ -3,7 +3,10 @@
|
||||
#include "Player/PlayerActorBase.hpp"
|
||||
|
||||
class UnkStruct_027e0ce0_40;
|
||||
class UnkStruct_027e0ce0_40_328;
|
||||
class UnkStruct_027e0ce0_40_150;
|
||||
class PlayerLinkActor_A0_38;
|
||||
class ItemManager;
|
||||
|
||||
class PlayerLinkActor_A0_04 {
|
||||
public:
|
||||
@@ -44,6 +47,13 @@ public:
|
||||
class PlayerLinkActor_A0_1C {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk16 mUnk_04;
|
||||
/* 06 */ bool mUnk_06;
|
||||
/* 07 */ STRUCT_PAD(0x07, 0x0C);
|
||||
/* 0C */ ActorRef mUnk_0C;
|
||||
/* 10 */
|
||||
|
||||
PlayerLinkActor_A0_1C(unk32 param1);
|
||||
|
||||
// overlay 101
|
||||
void func_ov101_02183290();
|
||||
@@ -176,7 +186,8 @@ public:
|
||||
/* 90 */ unk32 mUnk_90;
|
||||
/* 94 */
|
||||
|
||||
PlayerLinkActor_A0(unk32 param1, UnkStruct_027e0ce0_40 *param2, PlayerActorBase *pPlayer, PlayerLinkActor_9C *param4);
|
||||
PlayerLinkActor_A0(ItemManager *pItemMgr, UnkStruct_027e0ce0_40 *param2, PlayerActorBase *pPlayer,
|
||||
PlayerLinkActor_9C *param4);
|
||||
~PlayerLinkActor_A0();
|
||||
|
||||
// overlay 0
|
||||
@@ -241,8 +252,8 @@ public:
|
||||
class PlayerLinkActor : public PlayerActorBase {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 094 */ bool *mUnk_094;
|
||||
/* 098 */ unk32 mUnk_098;
|
||||
/* 094 */ UnkStruct_027e0ce0_40_150 *mUnk_094;
|
||||
/* 098 */ UnkStruct_027e0ce0_40_328 *mUnk_098;
|
||||
/* 09C */ PlayerLinkActor_9C *mUnk_09C;
|
||||
/* 0A0 */ PlayerLinkActor_A0 *mUnk_0A0;
|
||||
/* 0A4 */ PlayerLinkActor_A4 mUnk_0A4;
|
||||
@@ -261,11 +272,11 @@ public:
|
||||
/* 1B0 */ PlayerLinkActor_1B0 mUnk_1B0[3];
|
||||
/* 1D4 */
|
||||
|
||||
PlayerLinkActor(unk32 param1, unk32 param2, UnkStruct_027e0ce0_40 *param3, bool *param4);
|
||||
PlayerLinkActor(unk32 param1, ItemManager *param2, UnkStruct_027e0ce0_40 *param3, UnkStruct_027e0ce0_40_150 *param4);
|
||||
~PlayerLinkActor();
|
||||
|
||||
// overlay 1
|
||||
void func_ov001_020bcb60(unk32 param1);
|
||||
void func_ov001_020bcb60(UnkStruct_027e0ce0_40_328 *param1);
|
||||
void func_ov001_020bcb70();
|
||||
void func_ov001_020bcba8();
|
||||
void func_ov001_020bcbd0(VecFx32 *pVec);
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
struct GameSaveSlot;
|
||||
class UnkStruct_027e09a4;
|
||||
class UnkStruct_StackTitleScreen;
|
||||
|
||||
#define ROOM_INDEX_NONE 0xFF
|
||||
|
||||
@@ -98,6 +99,19 @@ struct EntranceInfo {
|
||||
EntranceInfo(const EntranceInfo &refSource) {
|
||||
MI_CpuCopy32((void *) &refSource, this, sizeof(EntranceInfo));
|
||||
}
|
||||
|
||||
EntranceInfo(s32 sceneIndex, unk32 param2, unk16 param3, u8 roomIndex, u8 spawnIndex, bool isCS, u8 param7) {
|
||||
this->sceneIndex = sceneIndex;
|
||||
this->unk_04 = param2;
|
||||
this->unk_08 = param3;
|
||||
this->roomIndex = roomIndex;
|
||||
this->spawnIndex = spawnIndex;
|
||||
this->isCS = isCS;
|
||||
this->unk_0D = param7;
|
||||
this->csIndex = CutsceneIndex_None;
|
||||
this->unk_0F = 0;
|
||||
this->unk_10 = 0;
|
||||
}
|
||||
};
|
||||
|
||||
class UnkStruct_WarpUnk1_24 : public UnkStruct_0204a060_Base3 {
|
||||
@@ -162,9 +176,14 @@ struct UnkStruct_027e09a4_2C {
|
||||
|
||||
class UnkStruct_027e09a4_54_04 {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x10);
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ unk32 mUnk_0C;
|
||||
/* 10 */
|
||||
|
||||
UnkStruct_027e09a4_54_04() :
|
||||
mUnk_00(-1) {}
|
||||
~UnkStruct_027e09a4_54_04() {}
|
||||
};
|
||||
|
||||
@@ -190,7 +209,20 @@ public:
|
||||
void func_ov001_020b7048();
|
||||
};
|
||||
|
||||
class UnkStruct_027e09a4_54_Type1 : public UnkStruct_027e09a4_54_Base {
|
||||
class UnkStruct_027e09a4_54_Derived1 : public UnkStruct_027e09a4_54_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 34 */
|
||||
|
||||
UnkStruct_027e09a4_54_Derived1(unk32 *param1);
|
||||
|
||||
// data_ov101_02183914
|
||||
/* 0C */ virtual void vfunc_0C() override;
|
||||
/* 10 */ virtual void vfunc_10(UnkStruct_StackTitleScreen *param1);
|
||||
/* 14 */
|
||||
};
|
||||
|
||||
class UnkStruct_027e09a4_54_Type1 : public UnkStruct_027e09a4_54_Derived1 {
|
||||
public:
|
||||
UnkStruct_027e09a4_54_Type1(UnkStruct_027e09a4 *param1);
|
||||
};
|
||||
@@ -205,12 +237,12 @@ public:
|
||||
UnkStruct_027e09a4_54_Type3(UnkStruct_027e09a4 *param1);
|
||||
};
|
||||
|
||||
class UnkStruct_027e09a4_54_Type4 : public UnkStruct_027e09a4_54_Base {
|
||||
class UnkStruct_027e09a4_54_Type4 : public UnkStruct_027e09a4_54_Derived1 {
|
||||
public:
|
||||
UnkStruct_027e09a4_54_Type4(UnkStruct_027e09a4 *param1);
|
||||
};
|
||||
|
||||
class UnkStruct_027e09a4_54_Type5 : public UnkStruct_027e09a4_54_Base {
|
||||
class UnkStruct_027e09a4_54_Type5 : public UnkStruct_027e09a4_54_Derived1 {
|
||||
public:
|
||||
UnkStruct_027e09a4_54_Type5(UnkStruct_027e09a4 *param1);
|
||||
};
|
||||
@@ -248,11 +280,17 @@ public:
|
||||
return this->mUnk_00.sceneIndex <= SceneIndex_t_eviltrain3 && this->mUnk_00.sceneIndex >= SceneIndex_t_eviltrain;
|
||||
}
|
||||
|
||||
const bool IsBossByrne() const { return this->mUnk_00.sceneIndex == SceneIndex_b_deago; }
|
||||
const bool IsDungeonTower() const { return this->mUnk_00.sceneIndex == SceneIndex_d_main; }
|
||||
const bool IsPirate() const { return this->mUnk_00.sceneIndex == SceneIndex_f_pirate; }
|
||||
const bool IsTowerOutsideStairs() const { return this->mUnk_00.sceneIndex == SceneIndex_d_main_s; }
|
||||
const bool IsTowerInsideStairs() const { return this->mUnk_00.sceneIndex == SceneIndex_d_main_w; }
|
||||
const bool IsWater3() const { return this->mUnk_00.sceneIndex == SceneIndex_f_water3; }
|
||||
const bool IsSnowdriftStation() const { return this->mUnk_00.sceneIndex == SceneIndex_f_kakushi1; }
|
||||
const bool IsPirate() const { return this->mUnk_00.sceneIndex == SceneIndex_f_pirate; }
|
||||
const bool IsPassenger() const { return this->mUnk_00.sceneIndex == SceneIndex_f_passenger; }
|
||||
const bool IsHyruleCastle() const { return this->mUnk_00.sceneIndex == SceneIndex_f_hyral; }
|
||||
const bool IsCastleTown() const { return this->mUnk_00.sceneIndex == SceneIndex_f_htown; }
|
||||
const BOOL IsCastleOrTown() const { return this->IsHyruleCastle() || this->IsCastleTown(); }
|
||||
|
||||
const bool IsSceneModeAdventure() const { return this->mSceneMode == SceneMode_AdventureMode; }
|
||||
const bool IsSceneModeBattle() const { return this->mSceneMode == SceneMode_BattleMode; }
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "Unknown/Common.hpp"
|
||||
#include "Unknown/UnkFileSystem.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a4.hpp"
|
||||
#include "profile.hpp"
|
||||
|
||||
#include <algorithm>
|
||||
#include <vector>
|
||||
@@ -52,7 +53,7 @@ public:
|
||||
class UnkStruct_ov001_020c40f4 {
|
||||
public:
|
||||
/* 00 */ VecFx32 mUnk_00;
|
||||
/* 0C */ unk16 mUnk_0C;
|
||||
/* 0C */ s16 mUnk_0C;
|
||||
/* 0E */ u8 mUnk_0E;
|
||||
/* 0F */ u8 mUnk_0F;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
@@ -85,6 +86,8 @@ public:
|
||||
|
||||
class UnkStruct_027e0cd8_0C_160 {
|
||||
public:
|
||||
/* 00 */ UnkSystem3 mUnk_00;
|
||||
|
||||
bool func_ov026_02106aa8();
|
||||
};
|
||||
|
||||
@@ -274,7 +277,7 @@ public:
|
||||
void func_ov001_020b8aec();
|
||||
void func_ov001_020b8b94(ZMBEntryARAB *pARAB);
|
||||
void func_ov001_020b8c30(const EntranceInfo ¶m1);
|
||||
void *func_ov001_020b8c80(unk32 param1);
|
||||
const EntranceInfo *func_ov001_020b8c80(unk32 param1);
|
||||
void func_ov001_020b8c90(ZMBSectionCMPT *pCMPT);
|
||||
void func_ov001_020b8c98(ZMBSectionCAME *pCAME);
|
||||
void func_ov001_020b8db8();
|
||||
@@ -282,27 +285,43 @@ public:
|
||||
void func_ov001_020b8e54();
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8_0C_1D0 {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */
|
||||
|
||||
UnkStruct_027e0cd8_0C_1D0();
|
||||
|
||||
/* ?? */ virtual ~UnkStruct_027e0cd8_0C_1D0();
|
||||
|
||||
// overlay 101
|
||||
void func_ov101_021837a0();
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8_0C : public UnkStruct_027e0cd8_0C_Base {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 160 */ UnkStruct_027e0cd8_0C_160 *mUnk_160;
|
||||
/* 164 */ STRUCT_PAD(0x164, 0x1E0);
|
||||
/* 160 */ UnkStruct_027e0cd8_0C_160 *mUnk_160[4];
|
||||
/* 170 */ ModelRender_UnkSystem1 *mUnk_170[4][5];
|
||||
/* 1C0 */ void *mUnk_1C0[4];
|
||||
/* 1D0 */ UnkStruct_027e0cd8_0C_1D0 *mUnk_1D0;
|
||||
/* 1D4 */ unk32 mUnk_1D4;
|
||||
/* 1D8 */ unk32 mUnk_1D8;
|
||||
/* 1DC */ bool mUnk_1DC;
|
||||
/* 1DD */ bool mUnk_1DD;
|
||||
/* 1E0 */
|
||||
|
||||
UnkStruct_027e0cd8_0C(UnkStruct_027e0cd8 *param1);
|
||||
|
||||
// data_ov031_02112a0c
|
||||
/* 00 */ virtual ~UnkStruct_027e0cd8_0C() override;
|
||||
/* 08 */ virtual void vfunc_08() override;
|
||||
/* 0C */ virtual void vfunc_0C() override;
|
||||
/* 10 */ virtual void vfunc_10() override;
|
||||
/* 14 */ virtual void vfunc_14() override;
|
||||
/* 18 */ virtual void vfunc_18() override;
|
||||
/* 1C */ virtual void vfunc_1C(const EntranceInfo *param1, bool param2, bool param3) override;
|
||||
/* 20 */ virtual void vfunc_20() override;
|
||||
/* 24 */ virtual void vfunc_24() override;
|
||||
/* 28 */ virtual fx32 vfunc_28(VecFx32 *param1, unk32 param2, unk32 param3) override;
|
||||
/* 2C */ virtual void vfunc_2C() override;
|
||||
/* 08 */ virtual void vfunc_08();
|
||||
/* 38 */ virtual void vfunc_38();
|
||||
|
||||
// overlay 31
|
||||
void func_ov031_020d8738();
|
||||
void func_ov031_020d88c0();
|
||||
void func_ov031_020d8ae4();
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8_0C_Derived2 : public UnkStruct_027e0cd8_0C_Base {
|
||||
|
||||
@@ -623,10 +623,10 @@ class UnkStruct_027e0ce0_40_108_Base : public LinkList<UnkStruct_027e0ce0_40_108
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 (base) */
|
||||
/* 0C */
|
||||
/* 0C */ unk32 mUnk_0C;
|
||||
|
||||
UnkStruct_027e0ce0_40_108_Base() {
|
||||
this->SetPrev(NULL);
|
||||
this->mUnk_0C = 0;
|
||||
}
|
||||
|
||||
// data_ov101_02183908
|
||||
@@ -636,34 +636,58 @@ public:
|
||||
class UnkStruct_027e0ce0_40_108 : public UnkStruct_027e0ce0_40_108_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 0C */ STRUCT_PAD(0x0C, 0x40);
|
||||
/* 40 */
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ STRUCT_PAD(0x14, 0x40);
|
||||
/* 40 */ void *mUnk_40;
|
||||
/* 44 */
|
||||
|
||||
UnkStruct_027e0ce0_40_108() {}
|
||||
UnkStruct_027e0ce0_40_108() :
|
||||
mUnk_40(&this->mUnk_10) {}
|
||||
|
||||
// data_ov031_02112b60
|
||||
/* 00 */ virtual void vfunc_00() override;
|
||||
};
|
||||
|
||||
class UnkStruct_027e0ce0_40_14C {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x94);
|
||||
/* 94 */
|
||||
|
||||
UnkStruct_027e0ce0_40_14C();
|
||||
~UnkStruct_027e0ce0_40_14C();
|
||||
|
||||
// overlay 93
|
||||
void func_ov093_02168850();
|
||||
};
|
||||
|
||||
class UnkStruct_027e0ce0_40_150 {
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x0C);
|
||||
public:
|
||||
/* 00 */ bool mUnk_00;
|
||||
/* 01 */ bool mUnk_01;
|
||||
/* 02 */ STRUCT_PAD(0x02, 0x0C);
|
||||
/* 0C */
|
||||
|
||||
UnkStruct_027e0ce0_40_150();
|
||||
|
||||
// overlay 96
|
||||
bool func_ov096_02179c54(bool param1, bool param2);
|
||||
};
|
||||
|
||||
class UnkStruct_027e0ce0_40_328 {
|
||||
/* 000 */ STRUCT_PAD(0x00, 0x154);
|
||||
public:
|
||||
/* 000 */ STRUCT_PAD(0x00, 0x98);
|
||||
/* 098 */ PlayerActorBase *mpPlayer;
|
||||
/* 09C */ STRUCT_PAD(0x9C, 0x154);
|
||||
/* 154 */
|
||||
|
||||
UnkStruct_027e0ce0_40_328();
|
||||
UnkStruct_027e0ce0_40_328(void *param1, UnkStruct_027e0ce0_40 *param2, UnkStruct_027e0ce0_40_150 *param3,
|
||||
ItemFlag *pEquippedItem);
|
||||
~UnkStruct_027e0ce0_40_328();
|
||||
|
||||
// overlay 93
|
||||
void func_ov093_0216d0d4();
|
||||
void func_ov093_0216d160();
|
||||
void func_ov093_0216d1cc(unk32 param1, const UnkStruct_ov001_020c40f4 *param2, bool param3, bool param4);
|
||||
};
|
||||
|
||||
// land player stuff
|
||||
@@ -671,7 +695,6 @@ class UnkStruct_027e0ce0_40 : public UnkStruct_027e0ce0_40_Base {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 108 */ UnkStruct_027e0ce0_40_108 mUnk_108;
|
||||
/* 148 */ void *mUnk_148;
|
||||
/* 14C */ UnkStruct_027e0ce0_40_14C *mUnk_14C;
|
||||
/* 150 */ UnkStruct_027e0ce0_40_150 *mUnk_150;
|
||||
/* 154 */ PlayerLinkActor mPlayer;
|
||||
@@ -679,15 +702,18 @@ public:
|
||||
/* 32C */ PlayerLinkActor *mpPlayer; // set to mPlayer
|
||||
/* 330 */ UnkStruct_027e0ce0_40_328 *mUnk_330; // set to mUnk_328
|
||||
/* 334 */ ItemFlag mEquippedItem;
|
||||
/* 338 */ bool mIsSceneTowerInteriorStairs;
|
||||
/* 339 */ bool mIsSceneTowerExteriorStairs;
|
||||
/* 338 */ bool mIsSceneTowerInsideStairs;
|
||||
/* 339 */ bool mIsSceneTowerOutsideStairs;
|
||||
/* 33A */ bool mIsSceneBossByrne;
|
||||
/* 33B */ unk8 mUnk_33B;
|
||||
/* 33B */ bool mUnk_33B;
|
||||
/* 33C */
|
||||
|
||||
UnkStruct_027e0ce0_40(bool param1, UnkStruct_027e0ce0_20 *param2, unk32 **param3, ItemManager *pItemMgr);
|
||||
UnkStruct_027e0ce0_40(bool param1, UnkStruct_027e0ce0_20 *param2, ItemFlag *pEquippedItem, ItemManager *pItemMgr);
|
||||
~UnkStruct_027e0ce0_40();
|
||||
|
||||
// overlay 0
|
||||
void func_ov000_02088060(bool param1);
|
||||
|
||||
// overlay 101
|
||||
bool func_ov101_02182fb4(bool param1);
|
||||
void func_ov101_02183004();
|
||||
@@ -716,7 +742,7 @@ class UnkStruct_027e0ce0 : public AutoInstance<UnkStruct_027e0ce0>, public UnkSt
|
||||
public:
|
||||
/* 02 */ bool mUnk_02;
|
||||
/* 03 */ bool mUnk_03;
|
||||
/* 04 */ unk32 *mUnk_04;
|
||||
/* 04 */ ItemFlag mEquippedItem;
|
||||
/* 08 */ bool mUnk_08;
|
||||
/* 0C */ UnkStruct_027e0ce0_0C mUnk_0C;
|
||||
/* 1C */ UnkStruct_027e0ce0_1C *mUnk_1C;
|
||||
|
||||
@@ -10,6 +10,9 @@ public:
|
||||
void func_ov031_020d95b4();
|
||||
void func_ov031_020d95c8(ActorRef param1);
|
||||
bool func_ov031_020d962c(VecFx32 *param1, unk32 param2, VecFx32 *param3, ActorRef *param4);
|
||||
|
||||
// overlay 101
|
||||
static void Destroy();
|
||||
};
|
||||
|
||||
extern UnkStruct_027e0d2c *data_027e0d2c;
|
||||
|
||||
@@ -3,9 +3,13 @@
|
||||
#include <math.h>
|
||||
#include <types.h>
|
||||
|
||||
class UnkStruct_027e0d30 {
|
||||
class UnkStruct_027e0d30 : public AutoInstance<UnkStruct_027e0d30> {
|
||||
public:
|
||||
// overlay 31
|
||||
void func_ov031_020d9684(u16 param1, VecFx32 *param2);
|
||||
|
||||
// overlay 101
|
||||
static void Destroy();
|
||||
};
|
||||
|
||||
extern UnkStruct_027e0d30 *data_027e0d30;
|
||||
|
||||
@@ -3,16 +3,19 @@
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_027e0d38 {
|
||||
class UnkStruct_027e0d38 : public AutoInstance<UnkStruct_027e0d38> {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
UnkStruct_027e0d38();
|
||||
~UnkStruct_027e0d38();
|
||||
|
||||
// overlay 31
|
||||
bool func_ov031_020d9bec();
|
||||
bool func_ov031_020d9c04(unk32 param1, unk32 param2, unk32 param3);
|
||||
void func_ov031_020d9c44(unk32 param1);
|
||||
|
||||
// overlay 101
|
||||
static void Destroy();
|
||||
};
|
||||
|
||||
extern UnkStruct_027e0d38 *data_027e0d38;
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
#pragma once
|
||||
|
||||
#include "Message/BMG.hpp"
|
||||
#include "Save/SaveManager.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
struct SaveFile;
|
||||
|
||||
struct UnkStruct5 {
|
||||
unk8 mUnk_00;
|
||||
u8 mUnk_01;
|
||||
|
||||
Reference in New Issue
Block a user