Files
ph/include/Inventory.hpp
T
2023-11-13 23:23:03 +01:00

74 lines
1.8 KiB
C++

#pragma once
#include "types.h"
#include "SysNew.hpp"
typedef u32 EquipItem;
enum EquipItem_ {
EquipItem_None = -1,
EquipItem_Boomerang = 2,
EquipItem_Shovel = 3,
EquipItem_Bomb = 4,
EquipItem_Bow = 5,
EquipItem_GrapplingHook = 6,
EquipItem_Bombchu = 7,
EquipItem_Hammer = 8,
EquipItem_COUNT = 11,
};
enum ItemId {
};
class Inventory : public SysObject {
private:
/* 000 */ EquipItem mEquippedItem;
/* 004 */ EquipItem mPrevEquippedItem;
/* 008 */ u32 mUnk_008;
/* 00c */ u32 mUnk_00c;
/* 010 */ u32 mUnk_010;
/* 014 */ void *mUnk_014;
/* 018 */ void *mUnk_018;
/* 01c */ void *mUnk_01c;
/* 020 */ u16 mEquipLoadTimer;
/* 022 */ u16 mNumRupees;
/* 024 */ u8 mNumCourageGems;
/* 025 */ u8 mNumPowerGems;
/* 026 */ u8 mNumWisdomGems;
/* 027 */ u8 mUnk_027;
/* 028 */ u8 mUnk_028[0x20];
/* 048 */ s32 mUnk_048[0x14];
/* 098 */ s32 mUnk_098;
/* 09c */ s32 mUnk_09c;
/* 0a0 */ s32 mUnk_0a0;
/* 0a4 */ s32 mUnk_0a4;
/* 0a8 */ s32 mUnk_0a8;
/* 0ac */ void *(*mItemInfo)[EquipItem_COUNT];
/* 0b0 */ u16 (*mAmmo)[EquipItem_COUNT];
/* 0b4 */ u16 mQuiverSize;
/* 0b6 */ u16 mBombBagSize;
/* 0b8 */ u16 mBombchuBagSize;
/* 0ba */ u16 mUnk_0ba;
/* 0bc */ u8 mUnk_0bc[4];
/* 0c0 */ void *mUnk_0c0[16];
/* 100 */ s32 mUnk_100[5];
/* 114 */ void *mUnk_114;
/* 118 */ s32 mUnk_118;
/* 11c */ s32 mUnk_11c;
/* 120 */ void *mUnk_120;
/* 124 */ void *mUnk_124;
/* 128 */ u32 mItemFlags[4]; // Todo (aetias): Set this to ceil(ItemId::COUNT / 32)
/* 138 */ u8 mUnk_138[0x18];
/* 150 */
public:
static Inventory* Create();
static void Destroy();
Inventory();
~Inventory();
void ClearPrevEquippedItem();
};
extern Inventory *gInventory;