mirror of
https://github.com/zeldaret/st
synced 2026-08-22 06:44:36 -04:00
Overlay 110 - PlayerGet (#2)
* delink overlay 110 * mangled functions names in symbols * improve how versions are defined in the compiler's command * add version-exclusive function + fix data_ov110_021861ec size * match .rodata * dsd sig apply * progress * vfunc_18 & func_ov110_02185d3c + format * symbols renames * remove force_data pragma * started func_ov110_02184a40 * improve vfunc_18 match thanks to nepecam * fixed relocs issues * match func_ov110_02186b8c * continue the awful function (and rename the folder) * format * build issues * almost match func_ov110_02184a40!!! * start vfunc_10 + misc * vfunc_10 progress (91%) * symbol fix * vfunc_10 big switch fix * turn some structs into a class * update symbols * vfunc_10 prog, move func_ov110_02185da4 to itemmanaager and some docs/cleanup * progress on playerget and itemmanager * fix build issues * remove accidental header from merge and name mUnk_60 * add hex value comment in item id enum * random stuff * started vfunc_0c * move externs around * match/docs stuff related to item usage in PlayerGet * format * vfunc_10 version diff * improve func_ov110_02186b8c handling and fix broken matches * vfunc_0c small improvements * progress on item manager * complete item manager and add upgrade capacities * some cleanup * header cleanup * match data (kind of) * symbol naming * name more symbols 1 * name more symbols 2 * name more symbols 3 * more jp syncing * mystery actor stuff * rename the file and fix build errors
This commit is contained in:
@@ -39,6 +39,14 @@ public:
|
||||
void func_02028cdc(Actor_5c *param1, unk32 param2);
|
||||
};
|
||||
|
||||
class Actor_34 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 00 */ unk32 mUnk_04;
|
||||
/* 00 */ unk32 mUnk_08;
|
||||
/* 00 */ unk32 mUnk_0c;
|
||||
};
|
||||
|
||||
class Actor : public SysObject {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
@@ -49,7 +57,7 @@ public:
|
||||
/* 2a */ unk16 mUnk_2a;
|
||||
/* 2c */ unk32 mUnk_2c; // gravity?
|
||||
/* 30 */ unk32 *mUnk_30;
|
||||
/* 34 */ unk32 *mUnk_34;
|
||||
/* 34 */ Actor_34 *mUnk_34;
|
||||
/* 38 */ unk32 *mUnk_38;
|
||||
/* 3c */ unk32 mUnk_3c;
|
||||
/* 40 */ void *mUnk_40; // pointer to `Actor_c4`
|
||||
|
||||
+523
-523
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,123 @@
|
||||
#pragma once
|
||||
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "types.h"
|
||||
|
||||
class ActorUnk_ov000_020a8bb0_94 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk16 mUnk_08;
|
||||
/* 08 */ unk16 mUnk_0a;
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ unk16 mUnk_14;
|
||||
/* 14 */ unk16 mUnk_16;
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 1c */
|
||||
|
||||
ActorUnk_ov000_020a8bb0_94();
|
||||
~ActorUnk_ov000_020a8bb0_94();
|
||||
};
|
||||
|
||||
class ActorUnk_ov000_020a8bb0_ec {
|
||||
public:
|
||||
void func_ov024_020d6668();
|
||||
};
|
||||
|
||||
class ActorUnk_ov000_020a8bb0 : public Actor {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 094 */ ActorUnk_ov000_020a8bb0_94 mUnk_094;
|
||||
/* 0b0 */ u16 mUnk_0b0;
|
||||
/* 0b4 */ unk32 mUnk_0b4;
|
||||
/* 0b8 */ unk32 mUnk_0b8;
|
||||
/* 0bc */ unk32 mUnk_0bc;
|
||||
/* 0c0 */ unk32 mUnk_0c0;
|
||||
/* 0c4 */ unk32 mUnk_0c4;
|
||||
/* 0c8 */ unk32 mUnk_0c8;
|
||||
/* 0cc */ unk16 mUnk_0cc;
|
||||
/* 0cc */ unk16 mUnk_0ce;
|
||||
/* 0d0 */ unk32 mUnk_0d0;
|
||||
/* 0d4 */ unk32 mUnk_0d4;
|
||||
/* 0d8 */ unk16 mUnk_0d8;
|
||||
/* 0d8 */ unk16 mUnk_0da;
|
||||
/* 0dc */ unk16 mUnk_0dc;
|
||||
/* 0dc */ unk16 mUnk_0de;
|
||||
/* 0e0 */ unk16 mUnk_0e0;
|
||||
/* 0e0 */ unk16 mUnk_0e2;
|
||||
/* 0e4 */ unk32 mUnk_0e4;
|
||||
/* 0e8 */ unk16 mUnk_0e8;
|
||||
/* 0e8 */ unk16 mUnk_0ea;
|
||||
/* 0ec */ ActorUnk_ov000_020a8bb0_ec mUnk_0ec;
|
||||
/* 0f0 */ unk32 mUnk_0f0;
|
||||
/* 0f4 */ unk32 mUnk_0f4;
|
||||
/* 0f8 */ unk32 mUnk_0f8;
|
||||
/* 0fc */ unk32 mUnk_0fc;
|
||||
/* 100 */ unk32 mUnk_100;
|
||||
/* 104 */ unk32 mUnk_104;
|
||||
/* 108 */ unk32 mUnk_108;
|
||||
/* 10c */ unk32 mUnk_10c;
|
||||
/* 110 */ unk32 mUnk_110;
|
||||
/* 114 */ unk32 mUnk_114;
|
||||
/* 118 */ unk32 mUnk_118;
|
||||
/* 11c */ unk32 mUnk_11c;
|
||||
|
||||
/* 14 */ virtual void vfunc_14() override;
|
||||
/* 18 */ virtual unk32 vfunc_18() override;
|
||||
/* 1c */ virtual void vfunc_1c() override;
|
||||
/* 20 */ virtual void vfunc_20() override;
|
||||
/* 24 */ virtual void vfunc_24() override;
|
||||
/* 2c */ virtual void vfunc_2c() override;
|
||||
/* 40 */ virtual void vfunc_40() override;
|
||||
/* 44 */ virtual void vfunc_44() override;
|
||||
/* 48 */ virtual void vfunc_48() override;
|
||||
/* 4c */ virtual ~ActorUnk_ov000_020a8bb0();
|
||||
/* 54 */ virtual void vfunc_54();
|
||||
/* 54 */ virtual void vfunc_58() = 0;
|
||||
/* 5c */ virtual void vfunc_5c();
|
||||
/* 60 */ virtual void vfunc_60();
|
||||
/* 64 */ virtual void vfunc_64();
|
||||
/* 68 */ virtual void vfunc_68();
|
||||
/* 6c */ virtual void vfunc_6c();
|
||||
/* 70 */ virtual void vfunc_70();
|
||||
/* 74 */ virtual void vfunc_74();
|
||||
/* 78 */ virtual void vfunc_78();
|
||||
/* 7c */ virtual unk32 vfunc_7c();
|
||||
/* 80 */ virtual unk32 vfunc_80();
|
||||
/* 84 */ virtual unk32 vfunc_84();
|
||||
/* 88 */ virtual unk32 vfunc_88();
|
||||
/* 8c */ virtual unk32 vfunc_8c();
|
||||
/* 90 */ virtual unk32 vfunc_90();
|
||||
/* 94 */ virtual void vfunc_94();
|
||||
/* 98 */ virtual void vfunc_98();
|
||||
/* 9c */ virtual void vfunc_9c();
|
||||
/* a0 */ virtual void vfunc_a0();
|
||||
/* a4 */ virtual void vfunc_a4();
|
||||
/* a8 */ virtual unk32 vfunc_a8();
|
||||
/* ac */ virtual void vfunc_ac();
|
||||
/* b0 */ virtual void vfunc_b0();
|
||||
/* b4 */ virtual void vfunc_b4();
|
||||
/* b8 */ virtual void vfunc_b8();
|
||||
/* bc */
|
||||
|
||||
ActorUnk_ov000_020a8bb0(unk32 param1, unk32 param2);
|
||||
void func_ov000_020a8db0();
|
||||
void func_ov000_020a8dd0();
|
||||
void func_ov000_020a8df0();
|
||||
void func_ov000_020a8e9c();
|
||||
void func_ov000_020a8ff4();
|
||||
void func_ov000_020a91b8();
|
||||
void func_ov000_020a9200();
|
||||
void func_ov000_020a9248();
|
||||
void func_ov000_020a94b0();
|
||||
void func_ov000_020a95d8();
|
||||
void func_ov000_020a9804();
|
||||
void func_ov000_020a9a20();
|
||||
void func_ov000_020a9a34();
|
||||
void func_ov000_020a9a50();
|
||||
void func_ov000_020a9a94();
|
||||
void func_ov000_020a9abc();
|
||||
void func_ov000_020a9ae0();
|
||||
void func_ov000_020a9afc();
|
||||
};
|
||||
+141
-110
@@ -4,9 +4,28 @@
|
||||
#include "types.h"
|
||||
|
||||
#define MAX_KEYS 8
|
||||
#define MAX_TEARS_OF_LIGHT 3
|
||||
|
||||
#define CAPACITY_QUIVER_TIER_1 20
|
||||
#define CAPACITY_QUIVER_TIER_2 30
|
||||
#define CAPACITY_QUIVER_TIER_3 50
|
||||
|
||||
#define CAPACITY_BOMB_BAG_TIER_1 10
|
||||
#define CAPACITY_BOMB_BAG_TIER_2 20
|
||||
#define CAPACITY_BOMB_BAG_TIER_3 30
|
||||
|
||||
typedef u8 UpgradeCapacity;
|
||||
enum UpgradeCapacity_ {
|
||||
UpgradeCapacity_Tier1,
|
||||
UpgradeCapacity_Tier2,
|
||||
UpgradeCapacity_Tier3,
|
||||
UpgradeCapacity_Max
|
||||
};
|
||||
|
||||
typedef u32 ItemFlag;
|
||||
typedef u16 ItemFlag_u16;
|
||||
enum ItemFlag_ {
|
||||
ItemFlag_None = -1,
|
||||
ItemFlag_Whirlwind = FLAG(0, 0),
|
||||
ItemFlag_Boomerang = FLAG(0, 1),
|
||||
ItemFlag_Whip = FLAG(0, 2),
|
||||
@@ -78,116 +97,127 @@ enum ItemFlag_ {
|
||||
ItemFlag_Max
|
||||
};
|
||||
|
||||
typedef u32 ItemId;
|
||||
typedef s32 ItemId;
|
||||
typedef s16 ItemId_s16;
|
||||
enum ItemId_ {
|
||||
ItemId_None = -1,
|
||||
ItemId_Nothing = 0,
|
||||
ItemId_NormalShield = 1,
|
||||
ItemId_NormalSword = 2,
|
||||
ItemId_Whirlwind = 3,
|
||||
ItemId_BombBag = 4,
|
||||
ItemId_NormalBow = 5,
|
||||
ItemId_Boomerang = 6,
|
||||
ItemId_Whip = 7,
|
||||
ItemId_SandRod = 8,
|
||||
ItemId_NormalKey = 10,
|
||||
ItemId_BossKey = 11,
|
||||
ItemId_GreenRupee = 12,
|
||||
ItemId_BlueRupee = 13,
|
||||
ItemId_RedRupee = 14,
|
||||
ItemId_BigGreenRupee = 15,
|
||||
ItemId_BigRedRupee = 16,
|
||||
ItemId_BigGoldRupee = 17,
|
||||
ItemId_ForceGem_18 = 18, // kidnapped papuchia man
|
||||
ItemId_ForceGem_19 = 19, // ice for fish seller
|
||||
ItemId_ForceGem_20 = 20, // goron lava house ice
|
||||
ItemId_ForestGlyph = 21,
|
||||
ItemId_SnowGlyph = 22,
|
||||
ItemId_OceanGlyph = 23,
|
||||
ItemId_FireGlyph = 24,
|
||||
ItemId_FinalTrack = 30, // unlocks the endgame portal
|
||||
ItemId_ForceGem_35 = 35, // rightmost fire gem
|
||||
ItemId_ForceGem_36 = 36, // right snow gem
|
||||
ItemId_ForceGem_37 = 37, // top fire gem
|
||||
ItemId_RecruitUniform = 38,
|
||||
ItemId_PostmasterLetter = 39,
|
||||
ItemId_HeartContainer = 40,
|
||||
ItemId_QuiverMedium = 41,
|
||||
ItemId_BombBagMedium = 42,
|
||||
ItemId_ForceGem_43 = 43, // one of rightmost forest
|
||||
ItemId_ForceGem_44 = 44, // the other rightmost forest, but more middle than top
|
||||
ItemId_ForceGem_45 = 45, // the bottom-rightmost forest
|
||||
ItemId_ForceGem_46 = 46, // the top-rightmost fire
|
||||
ItemId_ForceGem_47 = 47, // the center forest
|
||||
ItemId_ForceGem_48 = 48, // the middle-left forest
|
||||
ItemId_ForceGem_49 = 49, // the below middle-left forest
|
||||
ItemId_ForceGem_50 = 50,
|
||||
ItemId_ForceGem_51 = 51,
|
||||
ItemId_ForceGem_52 = 52,
|
||||
ItemId_ForceGem_53 = 53,
|
||||
ItemId_ForceGem_54 = 54,
|
||||
ItemId_ForceGem_55 = 55,
|
||||
ItemId_ForceGem_56 = 56,
|
||||
ItemId_ForceGem_57 = 57,
|
||||
ItemId_ForceGem_58 = 58,
|
||||
ItemId_ForceGem_59 = 59,
|
||||
ItemId_ForceGem_60 = 60,
|
||||
ItemId_ForceGem_61 = 61,
|
||||
ItemId_PanFlute = 62,
|
||||
ItemId_StampBook = 63,
|
||||
ItemId_LightBow = 64,
|
||||
ItemId_LocomoSword = 65,
|
||||
ItemId_TenPriceCard = 66,
|
||||
ItemId_RedPotion = 67,
|
||||
ItemId_PurplePotion = 68,
|
||||
ItemId_YellowPotion = 69,
|
||||
ItemId_DemonFossil = 70,
|
||||
ItemId_StalfosSkull = 71,
|
||||
ItemId_StarFragment = 72,
|
||||
ItemId_BeeLarvae = 73,
|
||||
ItemId_WoodHeart = 74,
|
||||
ItemId_DarkPearlLoop = 75,
|
||||
ItemId_WhitePearlLoop = 76,
|
||||
ItemId_RutoCrown = 77,
|
||||
ItemId_DragonScale = 78,
|
||||
ItemId_PirateNecklace = 79,
|
||||
ItemId_PalaceDish = 80,
|
||||
ItemId_GoronAmber = 81,
|
||||
ItemId_MysticJade = 82,
|
||||
ItemId_AncientCoin = 83,
|
||||
ItemId_PricelessStone = 84,
|
||||
ItemId_RegalRing = 85,
|
||||
ItemId_ArrowsRefill = 86,
|
||||
ItemId_BombsRefill = 87,
|
||||
ItemId_SoldOutSign = 88,
|
||||
ItemId_AncientShield = 89,
|
||||
ItemId_QuiverLarge = 90,
|
||||
ItemId_BombBagLarge = 91,
|
||||
ItemId_RandCommonTreasure = 92,
|
||||
ItemId_RandUncommonTreasure = 93,
|
||||
ItemId_RandRareTreasure = 94,
|
||||
ItemId_RandLegendaryTreasure = 95,
|
||||
ItemId_TearLight = 96,
|
||||
ItemId_LightCompass = 97,
|
||||
ItemId_SuperSpinScroll = 98,
|
||||
ItemId_BeamScroll = 99,
|
||||
ItemId_LinebeckLetter = 100,
|
||||
ItemId_PanFluteSong_101 = 101,
|
||||
ItemId_PanFluteSong_102 = 102,
|
||||
ItemId_PanFluteSong_103 = 103,
|
||||
ItemId_PanFluteSong_104 = 104,
|
||||
ItemId_PanFluteSong_105 = 105,
|
||||
ItemId_RabbitNet = 106,
|
||||
ItemId_BeedleCard = 107,
|
||||
ItemId_SilverCard = 108,
|
||||
ItemId_GoldCard = 109,
|
||||
ItemId_PlatinumCard = 110,
|
||||
ItemId_DiamondCard = 111,
|
||||
ItemId_FreebieCard = 112,
|
||||
ItemId_QuintupleCard = 113,
|
||||
ItemId_CarbenLetter = 114,
|
||||
ItemId_RecruitUniform2 = 115,
|
||||
ItemId_EngineerUniform = 116,
|
||||
/* 0xFF */ ItemId_None = -1,
|
||||
/* 0x00 */ ItemId_Nothing = 0,
|
||||
/* 0x01 */ ItemId_NormalShield = 1,
|
||||
/* 0x02 */ ItemId_NormalSword = 2,
|
||||
/* 0x03 */ ItemId_Whirlwind = 3,
|
||||
/* 0x04 */ ItemId_BombBag = 4,
|
||||
/* 0x05 */ ItemId_NormalBow = 5,
|
||||
/* 0x06 */ ItemId_Boomerang = 6,
|
||||
/* 0x07 */ ItemId_Whip = 7,
|
||||
/* 0x08 */ ItemId_SandRod = 8,
|
||||
/* 0x09 */ ItemId_9 = 9,
|
||||
/* 0x0A */ ItemId_NormalKey = 10,
|
||||
/* 0x0B */ ItemId_BossKey = 11,
|
||||
/* 0x0C */ ItemId_GreenRupee = 12,
|
||||
/* 0x0D */ ItemId_BlueRupee = 13,
|
||||
/* 0x0E */ ItemId_RedRupee = 14,
|
||||
/* 0x0F */ ItemId_BigGreenRupee = 15,
|
||||
/* 0x10 */ ItemId_BigRedRupee = 16,
|
||||
/* 0x11 */ ItemId_BigGoldRupee = 17,
|
||||
/* 0x12 */ ItemId_ForceGem_18 = 18, // kidnapped papuchia man
|
||||
/* 0x13 */ ItemId_ForceGem_19 = 19, // ice for fish seller
|
||||
/* 0x14 */ ItemId_ForceGem_20 = 20, // goron lava house ice
|
||||
/* 0x15 */ ItemId_ForestGlyph = 21,
|
||||
/* 0x16 */ ItemId_SnowGlyph = 22,
|
||||
/* 0x17 */ ItemId_OceanGlyph = 23,
|
||||
/* 0x18 */ ItemId_FireGlyph = 24,
|
||||
/* 0x19 */ ItemId_25 = 25,
|
||||
/* 0x1A */ ItemId_26 = 26,
|
||||
/* 0x1B */ ItemId_27 = 27,
|
||||
/* 0x1C */ ItemId_28 = 28,
|
||||
/* 0x1D */ ItemId_29 = 29,
|
||||
/* 0x1E */ ItemId_FinalTrack = 30, // unlocks the endgame portal
|
||||
/* 0x1F */ ItemId_31 = 31,
|
||||
/* 0x20 */ ItemId_32 = 32,
|
||||
/* 0x21 */ ItemId_33 = 33,
|
||||
/* 0x22 */ ItemId_34 = 34,
|
||||
/* 0x23 */ ItemId_ForceGem_35 = 35, // rightmost fire gem
|
||||
/* 0x24 */ ItemId_ForceGem_36 = 36, // right snow gem
|
||||
/* 0x25 */ ItemId_ForceGem_37 = 37, // top fire gem
|
||||
/* 0x26 */ ItemId_RecruitUniform = 38,
|
||||
/* 0x27 */ ItemId_PostmasterLetter = 39,
|
||||
/* 0x28 */ ItemId_HeartContainer = 40,
|
||||
/* 0x29 */ ItemId_QuiverMedium = 41,
|
||||
/* 0x2A */ ItemId_BombBagMedium = 42,
|
||||
/* 0x2B */ ItemId_ForceGem_43 = 43, // one of rightmost forest
|
||||
/* 0x2C */ ItemId_ForceGem_44 = 44, // the other rightmost forest, but more middle than top
|
||||
/* 0x2D */ ItemId_ForceGem_45 = 45, // the bottom-rightmost forest
|
||||
/* 0x2E */ ItemId_ForceGem_46 = 46, // the top-rightmost fire
|
||||
/* 0x2F */ ItemId_ForceGem_47 = 47, // the center forest
|
||||
/* 0x30 */ ItemId_ForceGem_48 = 48, // the middle-left forest
|
||||
/* 0x31 */ ItemId_ForceGem_49 = 49, // the below middle-left forest
|
||||
/* 0x32 */ ItemId_ForceGem_50 = 50,
|
||||
/* 0x33 */ ItemId_ForceGem_51 = 51,
|
||||
/* 0x34 */ ItemId_ForceGem_52 = 52,
|
||||
/* 0x35 */ ItemId_ForceGem_53 = 53,
|
||||
/* 0x36 */ ItemId_ForceGem_54 = 54,
|
||||
/* 0x37 */ ItemId_ForceGem_55 = 55,
|
||||
/* 0x38 */ ItemId_ForceGem_56 = 56,
|
||||
/* 0x39 */ ItemId_ForceGem_57 = 57,
|
||||
/* 0x3A */ ItemId_ForceGem_58 = 58,
|
||||
/* 0x3B */ ItemId_ForceGem_59 = 59,
|
||||
/* 0x3C */ ItemId_ForceGem_60 = 60,
|
||||
/* 0x3D */ ItemId_ForceGem_61 = 61,
|
||||
/* 0x3E */ ItemId_PanFlute = 62,
|
||||
/* 0x3F */ ItemId_StampBook = 63,
|
||||
/* 0x40 */ ItemId_LightBow = 64,
|
||||
/* 0x41 */ ItemId_LokomoSword = 65,
|
||||
/* 0x42 */ ItemId_TenPriceCard = 66,
|
||||
/* 0x43 */ ItemId_RedPotion = 67,
|
||||
/* 0x44 */ ItemId_PurplePotion = 68,
|
||||
/* 0x45 */ ItemId_YellowPotion = 69,
|
||||
/* 0x46 */ ItemId_DemonFossil = 70,
|
||||
/* 0x47 */ ItemId_StalfosSkull = 71,
|
||||
/* 0x48 */ ItemId_StarFragment = 72,
|
||||
/* 0x49 */ ItemId_BeeLarvae = 73,
|
||||
/* 0x4A */ ItemId_WoodHeart = 74,
|
||||
/* 0x4B */ ItemId_DarkPearlLoop = 75,
|
||||
/* 0x4C */ ItemId_WhitePearlLoop = 76,
|
||||
/* 0x4D */ ItemId_RutoCrown = 77,
|
||||
/* 0x4E */ ItemId_DragonScale = 78,
|
||||
/* 0x4F */ ItemId_PirateNecklace = 79,
|
||||
/* 0x50 */ ItemId_PalaceDish = 80,
|
||||
/* 0x51 */ ItemId_GoronAmber = 81,
|
||||
/* 0x52 */ ItemId_MysticJade = 82,
|
||||
/* 0x53 */ ItemId_AncientCoin = 83,
|
||||
/* 0x54 */ ItemId_PricelessStone = 84,
|
||||
/* 0x55 */ ItemId_RegalRing = 85,
|
||||
/* 0x56 */ ItemId_ArrowsRefill = 86,
|
||||
/* 0x57 */ ItemId_BombsRefill = 87,
|
||||
/* 0x58 */ ItemId_SoldOutSign = 88,
|
||||
/* 0x59 */ ItemId_AncientShield = 89,
|
||||
/* 0x5A */ ItemId_QuiverLarge = 90,
|
||||
/* 0x5B */ ItemId_BombBagLarge = 91,
|
||||
/* 0x5C */ ItemId_RandCommonTreasure = 92,
|
||||
/* 0x5D */ ItemId_RandUncommonTreasure = 93,
|
||||
/* 0x5E */ ItemId_RandRareTreasure = 94,
|
||||
/* 0x5F */ ItemId_RandLegendaryTreasure = 95,
|
||||
/* 0x60 */ ItemId_TearLight = 96,
|
||||
/* 0x61 */ ItemId_LightCompass = 97,
|
||||
/* 0x62 */ ItemId_ScrollSpinAttack = 98,
|
||||
/* 0x63 */ ItemId_ScrollBeam = 99,
|
||||
/* 0x64 */ ItemId_LinebeckLetter = 100,
|
||||
/* 0x65 */ ItemId_PanFluteSong_101 = 101,
|
||||
/* 0x66 */ ItemId_PanFluteSong_102 = 102,
|
||||
/* 0x67 */ ItemId_PanFluteSong_103 = 103,
|
||||
/* 0x68 */ ItemId_PanFluteSong_104 = 104,
|
||||
/* 0x69 */ ItemId_PanFluteSong_105 = 105,
|
||||
/* 0x6A */ ItemId_RabbitNet = 106,
|
||||
/* 0x6B */ ItemId_BeedleCard = 107,
|
||||
/* 0x6C */ ItemId_SilverCard = 108,
|
||||
/* 0x6D */ ItemId_GoldCard = 109,
|
||||
/* 0x6E */ ItemId_PlatinumCard = 110,
|
||||
/* 0x6F */ ItemId_DiamondCard = 111,
|
||||
/* 0x70 */ ItemId_FreebieCard = 112,
|
||||
/* 0x71 */ ItemId_QuintupleCard = 113,
|
||||
/* 0x72 */ ItemId_CarbenLetter = 114,
|
||||
/* 0x73 */ ItemId_RecruitUniform2 = 115,
|
||||
/* 0x74 */ ItemId_EngineerUniform = 116,
|
||||
};
|
||||
|
||||
#define MAX_TREASURE 99
|
||||
@@ -209,7 +239,8 @@ enum TreasureType_ {
|
||||
TreasureType_MysticJade = 12,
|
||||
TreasureType_AncientCoin = 13,
|
||||
TreasureType_PricelessStone = 14,
|
||||
TreasureType_RegalRing = 15
|
||||
TreasureType_RegalRing = 15,
|
||||
TreasureType_Max = 16
|
||||
};
|
||||
|
||||
#define MAX_POTIONS 2
|
||||
|
||||
+104
-89
@@ -4,46 +4,129 @@
|
||||
#include "System/SysNew.hpp"
|
||||
#include "types.h"
|
||||
|
||||
#define IS_ITEM_RESTRICTED(restrictions, itemFlag) (((restrictions) & (1 << (itemFlag))) != 0)
|
||||
|
||||
struct UnkStruct_ov000_020afc48 {
|
||||
/* 00 */ ItemId_s16 mItemId;
|
||||
/* 02 */ unk16 mUnk_02;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */ char mUnk_10[16];
|
||||
/* 20 */
|
||||
};
|
||||
|
||||
class UnkStruct_ItemManager_20_14 {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
|
||||
virtual void vfunc_00(); //! TODO: name symbol func_ov000_020667d8
|
||||
virtual void vfunc_04(); //! TODO: name symbol func_ov000_020667f4
|
||||
virtual void vfunc_08(); //! TODO: name symbol func_ov000_020673c8
|
||||
virtual void vfunc_0c(); //! TODO: name symbol func_ov000_02067434
|
||||
virtual void vfunc_10(); //! TODO: name symbol func_ov000_02067474
|
||||
virtual void vfunc_14(); //! TODO: name symbol func_ov000_02066dfc
|
||||
virtual void vfunc_18(); //! TODO: name symbol func_ov000_020669d8
|
||||
virtual void vfunc_1c(); //! TODO: name symbol func_ov000_02067234
|
||||
virtual void vfunc_20(); //! TODO: name symbol func_ov000_0206723c
|
||||
virtual ~UnkStruct_ItemManager_20_14(); //! TODO: name symbols func_ov000_020672ac, func_ov000_020672f4
|
||||
|
||||
UnkStruct_ItemManager_20_14();
|
||||
|
||||
unk32 func_ov053_0213caf0();
|
||||
};
|
||||
|
||||
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;
|
||||
/* 14 */ UnkStruct_ItemManager_20_14 mUnk_14;
|
||||
|
||||
bool func_ov031_020db874(ItemFlag itemFlag);
|
||||
void func_ov031_020db8cc();
|
||||
bool func_ov031_020db8f8();
|
||||
};
|
||||
|
||||
class ItemManager : public SysObject {
|
||||
public:
|
||||
/* 00 */ unk32 mEquippedItem;
|
||||
/* 04 */ unk32 mForcedItem;
|
||||
/* 00 */ ItemFlag mEquippedItem;
|
||||
/* 04 */ ItemFlag mForcedItem;
|
||||
/* 08 */ u32 mUnk_08[2]; // inventory items bitfield & collection/equipment bitfield
|
||||
/* 10 */ unk16 mNumRupees;
|
||||
/* 10 */ u16 mNumRupees;
|
||||
/* 12 */ u16 mUnk_12; // "toggle bitfield"
|
||||
/* 14 */ unk16 mItemRestrictions; // bitfield
|
||||
/* 16 */ unk8 mTearsAmount; // number of tears of light
|
||||
/* 14 */ u16 mItemRestrictions; // bitfield
|
||||
/* 16 */ u8 mTearsAmount; // number of tears of light
|
||||
/* 17 */ u8 mKeyAmount; // number of small keys
|
||||
/* 18 */ u8 mQuiverCapacity;
|
||||
/* 19 */ u8 mBombBagCapacity;
|
||||
/* 18 */ UpgradeCapacity mQuiverCapacity;
|
||||
/* 19 */ UpgradeCapacity mBombBagCapacity;
|
||||
/* 1a */ u8 mArrowAmount;
|
||||
/* 1b */ u8 mBombAmount;
|
||||
/* 1c */ u8 mPotions[MAX_POTIONS];
|
||||
/* 1e */ unk16 mUnk_1e;
|
||||
/* 20 */ unk32 *mUnk_20;
|
||||
/* 24 */ unk32 mUnk_24;
|
||||
/* 28 */ unk8 mUnk_28[0x3C - 0x28];
|
||||
/* 3c */ TreasureType mUnk_3c[16]; // treasures
|
||||
/* 5c */
|
||||
/* 20 */ UnkStruct_ItemManager_20 *mUnk_20;
|
||||
/* 24 */ unk8 mUnk_24;
|
||||
/* 24 */ unk8 mUnk_25;
|
||||
/* 24 */ unk8 mUnk_26;
|
||||
/* 24 */ unk8 mUnk_27;
|
||||
/* 28 */
|
||||
|
||||
ItemManager();
|
||||
~ItemManager();
|
||||
|
||||
void func_ov000_020a863c(ItemFlag itemFlag);
|
||||
void func_ov000_020a865c(ItemFlag itemFlag);
|
||||
bool func_ov000_020a8680();
|
||||
unk32 func_ov000_020a86a4();
|
||||
u32 func_ov000_020a86d0(ItemFlag itemFlag);
|
||||
u8 func_ov000_020a8728();
|
||||
void func_ov000_020a8768(unk32 param1, unk32 param2, unk32 param3);
|
||||
u8 func_ov000_020a8748();
|
||||
void GiveRupees(s32 amount, bool param2, bool param3);
|
||||
void func_ov000_020a87c8(s32 amount);
|
||||
void func_ov000_020a87ec(s32 amount);
|
||||
void func_ov000_020a8820(s32 amount);
|
||||
bool func_ov000_020a8854();
|
||||
void func_ov000_020a888c(PotionType type);
|
||||
bool func_ov000_020a88c8();
|
||||
bool func_ov000_020a88f4();
|
||||
void func_ov000_020a8920();
|
||||
bool func_ov000_020a8948();
|
||||
static UnkStruct_ov000_020afc48 *func_ov000_020a8974(ItemFlag itemFlag);
|
||||
static ItemFlag func_ov000_020a8984(ItemId itemId);
|
||||
void func_ov000_020a89bc();
|
||||
bool func_ov000_020a89d4();
|
||||
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();
|
||||
void func_ov000_020a8ae0();
|
||||
|
||||
bool func_ov110_02184a40(ItemId itemId);
|
||||
static ItemId func_ov110_02185da4(ItemId itemId);
|
||||
static ItemFlag func_ov110_02185db4(ItemId itemId);
|
||||
};
|
||||
|
||||
class TreasureManager : public ItemManager {
|
||||
public:
|
||||
/* 28 */ unk8 mUnk_28[0x3C - 0x28];
|
||||
/* 3c */ s16 mUnk_3c[TreasureType_Max]; // treasures
|
||||
/* 5c */
|
||||
|
||||
TreasureManager();
|
||||
~TreasureManager();
|
||||
|
||||
void func_ov000_020a9b10();
|
||||
void func_ov000_020a9b2c();
|
||||
void func_ov000_020a9b3c();
|
||||
void func_ov000_020a9b4c();
|
||||
bool func_ov000_020a9c4c(TreasureType type);
|
||||
bool func_ov000_020a9c64();
|
||||
unk32 func_ov000_020a9c90(TreasureType type);
|
||||
bool func_ov000_020a9ca4(TreasureType type);
|
||||
@@ -52,81 +135,13 @@ public:
|
||||
static unk32 func_ov000_020a9e14(unk32 param1);
|
||||
static unk32 func_ov000_020a9eb0(unk32 param1);
|
||||
static unk32 func_ov000_020a9f4c(unk32 param1);
|
||||
unk32 func_ov000_020aa02c(ItemId itemId);
|
||||
ItemId func_ov000_020aa02c(ItemId itemId);
|
||||
void func_ov000_020aa0ac(ItemId itemId);
|
||||
|
||||
//! TODO: find out if it belongs here (some of them are (derived) Actor vfuncs?)
|
||||
void func_ov000_020a8974();
|
||||
void func_ov000_020a8984();
|
||||
void func_ov000_020a89bc();
|
||||
void func_ov000_020a89d4();
|
||||
void func_ov000_020a8a0c();
|
||||
void func_ov000_020a8a5c();
|
||||
void func_ov000_020a8a74();
|
||||
void func_ov000_020a8a90();
|
||||
void func_ov000_020a8aa4();
|
||||
void func_ov000_020a8ab8();
|
||||
void func_ov000_020a8acc();
|
||||
void func_ov000_020a8ae0();
|
||||
void func_ov000_020a8af4();
|
||||
void func_ov000_020a8b48();
|
||||
void func_ov000_020a8b7c();
|
||||
void func_ov000_020a8bb0();
|
||||
void func_ov000_020a8cc0();
|
||||
void func_ov000_020a8ce0();
|
||||
void func_ov000_020a8d08();
|
||||
void func_ov000_020a8d28();
|
||||
void func_ov000_020a8da0();
|
||||
void func_ov000_020a8da4();
|
||||
void func_ov000_020a8db0();
|
||||
void func_ov000_020a8dd0();
|
||||
void func_ov000_020a8df0();
|
||||
void func_ov000_020a8e84();
|
||||
void func_ov000_020a8e9c();
|
||||
void func_ov000_020a8ec0();
|
||||
unk32 func_ov000_020a8f54();
|
||||
unk32 func_ov000_020a8f5c();
|
||||
unk32 func_ov000_020a8f64();
|
||||
void func_ov000_020a8f6c();
|
||||
void func_ov000_020a8f78();
|
||||
void func_ov000_020a8fe0();
|
||||
void func_ov000_020a8ff4();
|
||||
void func_ov000_020a914c();
|
||||
void func_ov000_020a9150();
|
||||
unk32 func_ov000_020a91a0();
|
||||
unk32 func_ov000_020a91a8();
|
||||
unk32 func_ov000_020a91b0();
|
||||
void func_ov000_020a91b8();
|
||||
void func_ov000_020a9200();
|
||||
void func_ov000_020a921c();
|
||||
void func_ov000_020a9240();
|
||||
void func_ov000_020a9244();
|
||||
void func_ov000_020a9248();
|
||||
void func_ov000_020a92d0();
|
||||
void func_ov000_020a9448();
|
||||
void func_ov000_020a94b0();
|
||||
void func_ov000_020a9598();
|
||||
void func_ov000_020a95c4();
|
||||
void func_ov000_020a95d4();
|
||||
void func_ov000_020a95d8();
|
||||
void func_ov000_020a95e4();
|
||||
unk32 func_ov000_020a97fc();
|
||||
void func_ov000_020a9804();
|
||||
void func_ov000_020a98f0();
|
||||
void func_ov000_020a98f4();
|
||||
void func_ov000_020a995c();
|
||||
void func_ov000_020a99a4();
|
||||
void func_ov000_020a99d8();
|
||||
void func_ov000_020a9a20();
|
||||
void func_ov000_020a9a34();
|
||||
void func_ov000_020a9a50();
|
||||
void func_ov000_020a9a94();
|
||||
void func_ov000_020a9abc();
|
||||
void func_ov000_020a9ae0();
|
||||
void func_ov000_020a9afc();
|
||||
void func_ov000_020a9b10();
|
||||
void func_ov000_020a9b2c();
|
||||
void func_ov000_020a9b3c();
|
||||
void func_ov000_020a9b4c();
|
||||
void func_ov000_020a9c4c();
|
||||
void func_ov000_020aa200();
|
||||
void func_ov000_020aa210();
|
||||
};
|
||||
|
||||
extern TreasureManager *data_ov000_020b6510;
|
||||
extern UnkStruct_ov000_020afc48 data_ov000_020afc48[ItemFlag_EQUIP_COUNT];
|
||||
extern const u8 gQuiverCapacities[UpgradeCapacity_Max];
|
||||
extern const u8 gBombBagCapacities[UpgradeCapacity_Max];
|
||||
|
||||
+108
-73
@@ -2,16 +2,21 @@
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
#include "versions.h"
|
||||
|
||||
#include "Unknown/UnkStruct_027e0ce0.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_0208f820.hpp"
|
||||
#include "nitro/math.h"
|
||||
|
||||
struct UnkStruct_ov110_02185dc8 {
|
||||
u16 mItemId;
|
||||
u16 mItemFlag;
|
||||
};
|
||||
|
||||
class UnkStruct_ov110_021861ec {
|
||||
public:
|
||||
/* 00 */ Vec3p mUnk_00;
|
||||
/* 08 */ unk32 mUnk_0c;
|
||||
/* 08 */ unk32 mUnk_10;
|
||||
/* 14 */
|
||||
/* 0c */
|
||||
|
||||
ARM UnkStruct_ov110_021861ec(q20 x, q20 y, q20 z) {
|
||||
this->mUnk_00.x = x;
|
||||
@@ -20,24 +25,11 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
struct UnkStruct_PlayerGet_64 {
|
||||
UnkStruct_PlayerGet_64(unk32 param1, unk32 param2);
|
||||
};
|
||||
|
||||
class UnkStruct_PlayerGet_74_base : public SysObject {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
|
||||
/* 00 */ virtual void vfunc_00();
|
||||
/* 04 */ virtual void vfunc_04() /* = 0 */;
|
||||
/* 08 */ virtual void vfunc_08() /* = 0 */;
|
||||
/* 0c */ virtual void vfunc_0c() /* = 0 */;
|
||||
/* 10 */ virtual void vfunc_10() /* = 0 */;
|
||||
/* 14 */ virtual void vfunc_14() /* = 0 */;
|
||||
/* 18 */ virtual void vfunc_18() /* = 0 */;
|
||||
/* 1c */ virtual void vfunc_1c() /* = 0 */;
|
||||
/* 20 */ virtual void vfunc_20() /* = 0 */;
|
||||
/* 24 */
|
||||
/* 00 */ virtual void vfunc_00(unk32 param1, unk32 param2, unk32 param3);
|
||||
|
||||
UnkStruct_PlayerGet_74_base();
|
||||
};
|
||||
@@ -45,90 +37,133 @@ public:
|
||||
class UnkStruct_PlayerGet_74 : public UnkStruct_PlayerGet_74_base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ UnkStruct_ov000_0208f820 *mUnk_14;
|
||||
|
||||
/* 00 */ virtual void vfunc_00() override;
|
||||
/* 00 */ virtual void vfunc_00(unk32 param1, unk32 param2, unk32 param3) override;
|
||||
|
||||
UnkStruct_PlayerGet_74() {}
|
||||
UnkStruct_PlayerGet_74(UnkStruct_ov000_0208f820 *param1) {
|
||||
this->mUnk_14 = param1;
|
||||
}
|
||||
};
|
||||
|
||||
class UnkStruct_PlayerGet_8c {
|
||||
public:
|
||||
// /* 00 */ unk32 *mUnk_00;
|
||||
|
||||
virtual ~UnkStruct_PlayerGet_8c();
|
||||
virtual void vfunc_08(unk32 param1); //! TODO: name symbol func_ov000_02057bf4
|
||||
virtual void vfunc_0c(); //! TODO: name symbol func_01ffc57c
|
||||
virtual void vfunc_10(); //! TODO: name symbol func_ov000_02057dc8
|
||||
virtual void vfunc_14(); //! TODO: name symbol func_ov000_02057e44
|
||||
virtual void vfunc_18(); //! TODO: name symbol func_ov000_02057ea8
|
||||
virtual void vfunc_1c(); //! TODO: name symbol func_ov000_02057c34
|
||||
virtual void vfunc_20(); //! TODO: name symbol func_ov000_02057d84
|
||||
|
||||
UnkStruct_PlayerGet_8c(unk32 param1);
|
||||
};
|
||||
|
||||
class UnkStruct_PlayerGet_ec {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 00 */ unk32 *mUnk_00;
|
||||
/* 04 */
|
||||
|
||||
UnkStruct_PlayerGet_ec(unk32 param1) {
|
||||
UnkStruct_PlayerGet_ec(unk32 *param1) {
|
||||
this->mUnk_00 = param1;
|
||||
}
|
||||
|
||||
UnkStruct_PlayerGet_ec();
|
||||
~UnkStruct_PlayerGet_ec();
|
||||
};
|
||||
|
||||
class UnkStruct_PlayerGet_50 {
|
||||
public:
|
||||
unk32 func_01ff8fa8();
|
||||
unk32 func_02015080(unk32 param1);
|
||||
};
|
||||
|
||||
class UnkStruct_PlayerGet_fc {
|
||||
public:
|
||||
/* 00 */ UnkStruct_PlayerGet_ec *mUnk_00;
|
||||
};
|
||||
|
||||
class UnkStruct_PlayerGet_48 {
|
||||
public:
|
||||
/* 00 */ unk8 mUnk_00[0x40];
|
||||
/* 40 */ unk16 mUnk_40;
|
||||
/* 42 */ unk16 mUnk_42;
|
||||
/* 43 */ unk8 mUnk_43;
|
||||
/* 44 */ unk8 mUnk_44;
|
||||
/* 45 */ unk8 mUnk_45;
|
||||
/* 46 */ unk8 mUnk_46;
|
||||
/* 47 */ unk8 mUnk_47;
|
||||
/* 48 */ unk8 mUnk_48[0x5E - 0x48];
|
||||
/* 5e */ unk16 mUnk_5e;
|
||||
/* 60 */ unk8 mUnk_60;
|
||||
/* 61 */ unk8 mUnk_61;
|
||||
/* 62 */ unk8 mUnk_62;
|
||||
/* 63 */ unk8 mUnk_63;
|
||||
};
|
||||
|
||||
class PlayerGet : public UnkStruct_ov000_0208f820 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 48 */ unk32 mUnk_48;
|
||||
/* 4c */ unk32 mUnk_4c;
|
||||
/* 50 */ unk32 mUnk_50;
|
||||
/* 54 */ unk32 mUnk_54;
|
||||
/* 58 */ unk32 mUnk_58;
|
||||
/* 5c */ unk32 mUnk_5c;
|
||||
/* 60 */ unk32 mUnk_60;
|
||||
/* 64 */ UnkStruct_PlayerGet_64 mUnk_64;
|
||||
/* 68 */ unk32 mUnk_68;
|
||||
/* 6c */ unk32 mUnk_6c;
|
||||
/* 70 */ unk16 mUnk_70;
|
||||
/* 70 */ unk8 mUnk_72;
|
||||
/* 70 */ unk8 mUnk_73;
|
||||
/* 74 */ UnkStruct_PlayerGet_74 mUnk_74;
|
||||
/* 78 */ unk32 mUnk_78;
|
||||
/* 7c */ unk32 mUnk_7c;
|
||||
/* 80 */ unk32 mUnk_80;
|
||||
/* 84 */ unk32 mUnk_84;
|
||||
/* 88 */ UnkStruct_ov000_0208f820 *mUnk_88;
|
||||
/* 8c */ UnkStruct_PlayerGet_8c mUnk_8c;
|
||||
/* 90 */ unk32 mUnk_90;
|
||||
/* 94 */ unk32 mUnk_94;
|
||||
/* 98 */ unk32 mUnk_98;
|
||||
/* 9c */ unk32 mUnk_9c;
|
||||
/* a0 */ unk32 mUnk_a0;
|
||||
/* a4 */ unk32 mUnk_a4;
|
||||
/* a8 */ unk32 mUnk_a8;
|
||||
/* ac */ unk32 mUnk_ac;
|
||||
/* b0 */ unk32 mUnk_b0;
|
||||
/* b4 */ unk32 mUnk_b4;
|
||||
/* b8 */ unk32 mUnk_b8;
|
||||
/* bc */ unk32 mUnk_bc;
|
||||
/* c0 */ unk32 mUnk_c0;
|
||||
/* c4 */ unk32 mUnk_c4;
|
||||
/* c8 */ unk32 mUnk_c8;
|
||||
/* cc */ unk32 mUnk_cc;
|
||||
/* d0 */ unk32 mUnk_d0;
|
||||
/* d4 */ unk32 mUnk_d4;
|
||||
/* d8 */ unk32 mUnk_d8;
|
||||
/* dc */ unk32 mUnk_dc;
|
||||
/* e0 */ unk32 mUnk_e0;
|
||||
/* e4 */ unk32 mUnk_e4;
|
||||
/* e8 */ unk32 mUnk_e8;
|
||||
/* ec */ UnkStruct_PlayerGet_ec mUnk_ec[4];
|
||||
/* f0 */
|
||||
/* 000 (base) */
|
||||
/* 048 */ UnkStruct_PlayerGet_48 *mUnk_48;
|
||||
/* 04c */ unk32 *mUnk_4c;
|
||||
/* 050 */ UnkStruct_PlayerGet_50 *mUnk_50;
|
||||
/* 054 */ UnkStruct_ov000_0208f820_04 mUnk_54;
|
||||
/* 064 */ UnkStruct_PlayerGet_64 mUnk_64;
|
||||
/* 068 */ unk32 mUnk_68;
|
||||
/* 06c */ unk32 mUnk_6c; // scale
|
||||
/* 070 */ unk16 mUnk_70; // angle/rotation
|
||||
/* 070 */ u8 mUnk_72; // probably bools
|
||||
/* 070 */ u8 mUnk_73; // probably bools
|
||||
/* 074 */ UnkStruct_PlayerGet_74 mUnk_74;
|
||||
/* 08c */ UnkStruct_PlayerGet_8c mUnk_8c;
|
||||
/* 090 */ unk32 *mUnk_90;
|
||||
/* 094 */ unk32 mUnk_94;
|
||||
/* 098 */ unk32 *mUnk_98;
|
||||
/* 09c */ unk32 mUnk_9c;
|
||||
/* 0a0 */ unk32 *mUnk_a0;
|
||||
/* 0a4 */ unk32 mUnk_a4;
|
||||
/* 0a8 */ unk32 *mUnk_a8;
|
||||
/* 0ac */ unk32 mUnk_ac;
|
||||
/* 0b0 */ unk32 *mUnk_b0;
|
||||
/* 0b4 */ unk32 mUnk_b4;
|
||||
/* 0b8 */ unk32 mUnk_b8;
|
||||
/* 0bc */ unk32 mUnk_bc;
|
||||
/* 0c0 */ unk32 mUnk_c0;
|
||||
/* 0c4 */ unk32 mUnk_c4;
|
||||
/* 0c8 */ unk32 mUnk_c8;
|
||||
/* 0cc */ unk32 mUnk_cc;
|
||||
/* 0d0 */ unk32 mUnk_d0;
|
||||
/* 0d4 */ unk32 mUnk_d4;
|
||||
/* 0d8 */ unk32 mUnk_d8;
|
||||
/* 0dc */ unk32 mUnk_dc;
|
||||
/* 0e0 */ unk32 mUnk_e0;
|
||||
/* 0e4 */ unk32 mUnk_e4;
|
||||
/* 0e8 */ unk32 mUnk_e8;
|
||||
/* 0ec */ UnkStruct_PlayerGet_ec mUnk_ec[4];
|
||||
/* 0fc */ void *mUnk_fc;
|
||||
/* 100 */
|
||||
|
||||
/* 04 */ virtual ~PlayerGet() override;
|
||||
/* 0c */ virtual void vfunc_0c() override;
|
||||
/* 10 */ virtual void vfunc_10() override;
|
||||
/* 0c */ virtual void vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1) override;
|
||||
/* 10 */ virtual void vfunc_10(unk32 param1) override;
|
||||
/* 18 */ virtual void vfunc_18(unk32 param1, unk32 param2, unk32 param3) override;
|
||||
|
||||
void func_ov110_02184dac(unk32 param1, unk32 param2, unk32 param3);
|
||||
PlayerGet();
|
||||
|
||||
static unk32 func_ov110_02185da4(unk32 param1);
|
||||
|
||||
// Japanese version only
|
||||
#if IS_JP
|
||||
bool func_ov110_02186b8c();
|
||||
#else
|
||||
bool func_ov110_02186b8c() {
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
};
|
||||
|
||||
extern const UnkStruct_ov110_021861ec data_ov110_021861ec;
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
#pragma once
|
||||
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_020d8698 {
|
||||
public:
|
||||
void func_ov024_020cd458(ItemFlag itemFlag, unk32 param2);
|
||||
void func_ov024_020cd368(bool param1, bool param2);
|
||||
};
|
||||
|
||||
extern UnkStruct_020d8698 *data_ov024_020d8698;
|
||||
@@ -0,0 +1,12 @@
|
||||
#pragma once
|
||||
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_027e09a4 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
unk8 func_ov000_02070bd0(unk32, unk32);
|
||||
};
|
||||
|
||||
extern UnkStruct_027e09a4 *data_027e09a4;
|
||||
@@ -0,0 +1,17 @@
|
||||
#pragma once
|
||||
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_027e09b8 {
|
||||
public:
|
||||
/* 00 */ unk8 mUnk_00[0x14];
|
||||
/* 14 */ u32 mUnk_14[1]; //! TODO
|
||||
|
||||
unk32 func_01ffd420();
|
||||
|
||||
unk32 func_ov000_020732ec(unk32 param1);
|
||||
unk32 func_ov000_020732fc(unk32 param1);
|
||||
unk32 func_ov000_020732dc(unk32 param1);
|
||||
};
|
||||
|
||||
extern UnkStruct_027e09b8 *data_027e09b8;
|
||||
@@ -0,0 +1,19 @@
|
||||
#pragma once
|
||||
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_027e09bc_0c {
|
||||
public:
|
||||
void func_ov000_02078230(unk32 param1);
|
||||
void func_ov000_0207834c(Vec3p *param1, unk32 param2, unk32 param3);
|
||||
};
|
||||
|
||||
class UnkStruct_027e09bc {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ UnkStruct_027e09bc_0c *mUnk_0c;
|
||||
};
|
||||
|
||||
extern UnkStruct_027e09bc *data_027e09bc;
|
||||
@@ -17,6 +17,8 @@ public:
|
||||
/* 24 */ virtual void vfunc_24();
|
||||
/* 28 */ virtual q20 vfunc_28(Vec3p *param1, unk32 param2, unk32 param3);
|
||||
/* 2c */ virtual void vfunc_2c();
|
||||
|
||||
unk32 func_ov000_02080a44();
|
||||
};
|
||||
|
||||
class UnkStruct_027e0cd8 {
|
||||
|
||||
@@ -6,6 +6,28 @@
|
||||
#include "Item/ItemManager.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
class UnkStruct_027e0ce0_34 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ unk32 mUnk_14;
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 1c */ unk32 mUnk_1c;
|
||||
/* 20 */ unk32 mUnk_20;
|
||||
/* 24 */ unk32 mUnk_24;
|
||||
/* 28 */ unk32 mUnk_28;
|
||||
/* 2c */ unk32 mUnk_2c;
|
||||
/* 30 */
|
||||
|
||||
void func_ov024_020d3d98(unk32 param1, unk32 param2);
|
||||
void func_ov024_020d3ee8(unk32 param1, u16 param2, unk32 param3);
|
||||
|
||||
void func_ov110_02185d3c(ItemId itemId);
|
||||
};
|
||||
|
||||
// PlayerManager?
|
||||
class UnkStruct_027e0ce0 {
|
||||
public:
|
||||
@@ -25,7 +47,7 @@ public:
|
||||
/* 28 */ ItemManager *mUnk_28;
|
||||
/* 2c */ ItemManager *mUnk_2c; // same as above
|
||||
/* 30 */ unk32 *mUnk_30; // ?
|
||||
/* 34 */ unk32 *mUnk_34;
|
||||
/* 34 */ UnkStruct_027e0ce0_34 *mUnk_34;
|
||||
/* 38 */ unk32 *mUnk_38; // pointer to data_027e0478 when on the train
|
||||
/* 3c */ unk32 mUnk_3c;
|
||||
/* 40 */ unk32 *mUnk_40; // pointer to data_027e0478 when not on the train
|
||||
@@ -34,11 +56,6 @@ public:
|
||||
void func_01fff148();
|
||||
|
||||
void func_ov000_0208a318(unk32 param1, unk32 param2, unk32 param3);
|
||||
|
||||
void func_ov024_020d3d98(unk32 param1, unk32 param2);
|
||||
void func_ov024_020d3ee8(unk32, u16, unk32);
|
||||
|
||||
void func_ov110_02185d3c(unk32 param1);
|
||||
};
|
||||
|
||||
extern UnkStruct_027e0ce0 *data_027e0ce0;
|
||||
|
||||
@@ -3,9 +3,19 @@
|
||||
#include "nitro/math.h"
|
||||
#include "types.h"
|
||||
|
||||
struct UnkStruct_func_01fff3b4_ret {
|
||||
/* 00 */ unk8 mUnk_00[0xE8];
|
||||
class UnkStruct_func_01fff3b4_ret {
|
||||
public:
|
||||
/* 00 */ unk8 mUnk_00[0x48];
|
||||
/* 48 */ unk8 mUnk_48;
|
||||
/* 48 */ unk8 mUnk_49;
|
||||
/* 48 */ unk8 mUnk_4a;
|
||||
/* 48 */ unk8 mUnk_4b;
|
||||
/* 48 */ unk8 mUnk_4c[0x58 - 0x4C];
|
||||
/* 58 */ unk32 mUnk_58;
|
||||
/* 5c */ unk8 mUnk_5c[0xE8 - 0x5C];
|
||||
/* e8 */ Vec3p mPos;
|
||||
|
||||
void func_ov062_02158ce8();
|
||||
};
|
||||
|
||||
class UnkStruct_027e0ce4 {
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
#pragma once
|
||||
|
||||
#include "Unknown/UnkStruct_ov000_020b34c4.hpp"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_func_01fff520_ret {
|
||||
public:
|
||||
void func_ov031_02103878();
|
||||
};
|
||||
|
||||
class UnkStruct_027e0ce8 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ UnkStruct_func_01fff520_ret **mUnk_08;
|
||||
|
||||
UnkStruct_func_01fff520_ret **func_01fff520(UnkStruct_ov000_020b34c4 *param1, unk32);
|
||||
unk32 func_01fff498(UnkStruct_ov000_0208f820_04 param1);
|
||||
};
|
||||
|
||||
extern UnkStruct_027e0ce8 *data_027e0ce8;
|
||||
@@ -7,6 +7,7 @@
|
||||
class UnkStruct_027e0cec {
|
||||
public:
|
||||
void func_ov000_0209ff8c(UnkStruct_PlayerGet_ec *param1, unk32 param2, Vec3p *param3, unk32 param4);
|
||||
void func_ov000_020a0000(UnkStruct_PlayerGet_ec *param1, void *param2, unk32 *param3, Vec3p *param4, unk32 param5);
|
||||
void func_ov000_020a0110(UnkStruct_PlayerGet_ec *param1);
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
#pragma once
|
||||
|
||||
#include "Item/Item.hpp"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_ov000_02067bc4 {
|
||||
public:
|
||||
/* 00 */ virtual unk32 vfunc_00();
|
||||
/* 04 */ virtual unk32 vfunc_04();
|
||||
/* 08 */ virtual unk32 vfunc_08();
|
||||
|
||||
UnkStruct_ov000_02067bc4 *func_ov000_02067bc4(unk32);
|
||||
void func_ov000_02067cf8(ItemId itemId, unk32 param2, unk32 *param3);
|
||||
};
|
||||
|
||||
extern UnkStruct_ov000_02067bc4 data_ov000_020b504c;
|
||||
@@ -6,7 +6,8 @@
|
||||
#include "System/SysNew.hpp"
|
||||
#include "nitro/math.h"
|
||||
|
||||
struct UnkStruct_ov000_0208f820_14 {
|
||||
class UnkStruct_ov000_0208f820_14 {
|
||||
public:
|
||||
/* 00 */ unk8 mUnk_00[0x6C];
|
||||
/* 6c */ unk32 mUnk_6c;
|
||||
/* 70 */ u16 mUnk_70;
|
||||
@@ -21,48 +22,152 @@ struct UnkStruct_ov000_0208f820_14 {
|
||||
/* 90 */
|
||||
};
|
||||
|
||||
struct UnkStruct_ov000_0208f820_28_54 {
|
||||
/* 00 */ unk8 mUnk_00[0x12];
|
||||
/* 12 */ u16 mUnk_12;
|
||||
class UnkStruct_PlayerGet_64 {
|
||||
public:
|
||||
UnkStruct_PlayerGet_64(unk32 *param1, unk32 param2);
|
||||
~UnkStruct_PlayerGet_64();
|
||||
|
||||
void func_ov000_0208a100();
|
||||
};
|
||||
|
||||
struct UnkStruct_ov000_0208f820_28 {
|
||||
class UnkStruct_ov000_0208f820_28_98 {
|
||||
public:
|
||||
/* 00 */ unk8 mUnk_00[0x38];
|
||||
/* 38 */ UnkStruct_PlayerGet_64 mUnk_38;
|
||||
/* 3c */ unk32 mUnk_3c;
|
||||
/* 40 */ u16 mUnk_40;
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_0208f820_28 {
|
||||
public:
|
||||
/* 00 */ unk8 mUnk_00[0x54];
|
||||
/* 54 */ UnkStruct_ov000_0208f820_28_54 *mUnk_54;
|
||||
/* 58 */
|
||||
/* 54 */ ItemManager *pItemManager;
|
||||
/* 58 */ unk8 mUnk_58[0x98 - 0x58];
|
||||
/* 98 */ UnkStruct_ov000_0208f820_28_98 *mUnk_98;
|
||||
|
||||
void func_ov058_02152a24();
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_0208f820_2c {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ unk8 mUnk_14[0x58 - 0x14];
|
||||
/* 58 */ unk16 mUnk_58;
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_0208f820_30_10 {
|
||||
public:
|
||||
void func_ov031_020e076c();
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_0208f820_30 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */ UnkStruct_ov000_0208f820_30_10 *mUnk_10;
|
||||
/* 14 */ unk32 mUnk_14;
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 1c */ unk32 mUnk_1c;
|
||||
/* 20 */ unk32 mUnk_20;
|
||||
/* 24 */ unk32 mUnk_24;
|
||||
/* 28 */ unk8 mUnk_28[0x70 - 0x28];
|
||||
/* 70 */ u32 mUnk_70;
|
||||
|
||||
void func_ov000_020921e4(unk32 param1);
|
||||
void func_ov000_020936ec();
|
||||
void func_ov000_02093a04();
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_0208f820_38 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_0208f820_3c {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_0208f820_40 {
|
||||
public:
|
||||
/* 00 */ unk16 mUnk_00;
|
||||
};
|
||||
|
||||
class UnkStruct_PlayerGet_vfunc_0c_param1 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ unk32 mUnk_14;
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 1c */ ItemId mUnk_1c;
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_0208f820_24 {
|
||||
public:
|
||||
/* 00 */ unk8 mUnk_00[0x24];
|
||||
/* 24 */ unk8 mUnk_24;
|
||||
/* 25 */ unk8 mUnk_25;
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_0208f820_04 {
|
||||
public:
|
||||
/* 00 */ u8 mUnk_00[4];
|
||||
/* 04 */ u8 mUnk_04[4];
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ ItemId mItemId;
|
||||
/* 14 */
|
||||
|
||||
UnkStruct_ov000_0208f820_04(unk32 param1, unk32 param2, unk32 param3, ItemId itemId) {
|
||||
*(u32 *) this->mUnk_00 = param1;
|
||||
*(u32 *) this->mUnk_04 = param2;
|
||||
this->mUnk_08 = param3;
|
||||
this->mItemId = itemId;
|
||||
}
|
||||
|
||||
UnkStruct_ov000_0208f820_04() {};
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_0208f820 : public SysObject {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 04 */ UnkStruct_ov000_0208f820_04 mUnk_04;
|
||||
/* 14 */ UnkStruct_ov000_0208f820_14 *mUnk_14;
|
||||
/* 18 */ unk8 mUnk_18;
|
||||
/* 18 */ unk8 mUnk_19;
|
||||
/* 18 */ unk8 mUnk_1a;
|
||||
/* 18 */ unk8 mUnk_1b;
|
||||
/* 19 */ unk8 mUnk_19;
|
||||
/* 1a */ unk8 mUnk_1a;
|
||||
/* 1b */ unk8 mUnk_1b;
|
||||
/* 1c */ unk32 mUnk_1c;
|
||||
/* 20 */ unk32 mUnk_20;
|
||||
/* 24 */ unk32 mUnk_24;
|
||||
/* 24 */ UnkStruct_ov000_0208f820_24 *mUnk_24;
|
||||
/* 28 */ UnkStruct_ov000_0208f820_28 *mUnk_28;
|
||||
/* 2c */ unk32 mUnk_2c;
|
||||
/* 30 */ unk32 mUnk_30;
|
||||
/* 2c */ UnkStruct_ov000_0208f820_2c *mUnk_2c;
|
||||
/* 30 */ UnkStruct_ov000_0208f820_30 *mUnk_30;
|
||||
/* 34 */ Vec3p *mUnk_34;
|
||||
/* 38 */ unk32 mUnk_38;
|
||||
/* 3c */ unk32 mUnk_3c;
|
||||
/* 40 */ unk32 mUnk_40;
|
||||
/* 44 */ unk32 mUnk_44;
|
||||
/* 38 */ UnkStruct_ov000_0208f820_38 *mUnk_38;
|
||||
/* 3c */ UnkStruct_ov000_0208f820_3c *mUnk_3c;
|
||||
/* 40 */ UnkStruct_ov000_0208f820_40 *mUnk_40;
|
||||
/* 44 */ unk32 *mUnk_44;
|
||||
/* 48 */
|
||||
|
||||
/* 00 */ virtual void vfunc_00();
|
||||
/* 04 */ virtual ~UnkStruct_ov000_0208f820();
|
||||
/* 0c */ virtual void vfunc_0c();
|
||||
/* 10 */ virtual void vfunc_10();
|
||||
/* 0c */ virtual void vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1);
|
||||
/* 10 */ virtual void vfunc_10(unk32 param1);
|
||||
/* 14 */ virtual void vfunc_14();
|
||||
/* 18 */ virtual void vfunc_18();
|
||||
/* 18 */ virtual void vfunc_18(unk32 param1, unk32 param2, unk32 param3);
|
||||
/* 1c */ virtual void vfunc_1c();
|
||||
/* 20 */
|
||||
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
#pragma once
|
||||
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_ov000_020b34c4 {
|
||||
public:
|
||||
/* 00 */ void *mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
};
|
||||
|
||||
extern UnkStruct_ov000_020b34c4 data_ov000_020b34c4;
|
||||
@@ -0,0 +1,18 @@
|
||||
#pragma once
|
||||
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_ov000_020b51b8 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
|
||||
void func_ov000_0206d274(unk32 param1);
|
||||
void func_ov000_0206c96c(unk32 param1);
|
||||
void func_ov000_0206c9a8(unk32 param1, unk32 param2, unk32 param3, unk32 param4);
|
||||
};
|
||||
|
||||
extern UnkStruct_ov000_020b51b8 data_ov000_020b51b8;
|
||||
@@ -0,0 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_ov000_020b51c0 {
|
||||
public:
|
||||
unk32 func_02002f04();
|
||||
};
|
||||
|
||||
extern UnkStruct_ov000_020b51c0 data_ov000_020b51c0;
|
||||
@@ -114,7 +114,7 @@ typedef struct {
|
||||
|
||||
extern const Vec3p gVec3p_ZERO;
|
||||
|
||||
void Vec3p_Add(Vec3p *a, Vec3p *b, Vec3p *out);
|
||||
void Vec3p_Add(Vec3p *a, const Vec3p *b, Vec3p *out);
|
||||
void Vec3p_Sub(Vec3p *a, Vec3p *b, Vec3p *out);
|
||||
q20 Vec3p_Dot(Vec3p *a, Vec3p *b);
|
||||
void Vec3p_Cross(Vec3p *a, Vec3p *b, Vec3p *out);
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
#define EUR 0
|
||||
#define JP 1
|
||||
#define USA 2
|
||||
|
||||
#ifndef VERSION
|
||||
#warning "VERSION is not defined, check configure.py!"
|
||||
#define VERSION EUR
|
||||
#endif
|
||||
|
||||
#define IS_EUR (VERSION == EUR)
|
||||
#define IS_JP (VERSION == JP)
|
||||
#define IS_USA (VERSION == USA)
|
||||
Reference in New Issue
Block a user