diff options
Diffstat (limited to 'include/itemtool.h')
-rw-r--r-- | include/itemtool.h | 139 |
1 files changed, 61 insertions, 78 deletions
diff --git a/include/itemtool.h b/include/itemtool.h index 53140128..4dca94bc 100644 --- a/include/itemtool.h +++ b/include/itemtool.h @@ -3,24 +3,15 @@ #include "global.h" #include "filesystem.h" +#include "string16.h" #include "constants/items.h" -// Berries (nutdata) +#define ITEMDATA_DATA 0 +#define ITEMDATA_NCGR 1 +#define ITEMDATA_NCLR 2 +#define ITEMDATA_3TO4 3 -struct NutData -{ - u16 unk0; - u8 unk2; - u8 unk3; - u8 unk4; - u8 unk5; - u8 unk6; - u8 unk7; - u8 unk8; - u8 unk9; - u8 unkA; - u8 unkB; -}; +// Berries (nutdata) struct ItemSlot { @@ -28,53 +19,53 @@ struct ItemSlot u16 quantity; }; -struct ItemDataSub +struct ItemPartyUseParam { - u8 unk0_0:1; - u8 unk0_1:1; - u8 unk0_2:1; - u8 unk0_3:1; - u8 unk0_4:1; - u8 unk0_5:1; - u8 unk0_6:1; - u8 unk0_7:1; - u8 unk1_0:1; - u8 unk1_1:1; - u8 unk1_2:1; - u8 unk1_3:1; - u8 unk1_4:4; - u8 unk2_0:4; - u8 unk2_4:4; - u8 unk3_0:4; - u8 unk3_4:4; - u8 unk4_0:4; - u8 unk4_4:2; - u8 unk4_6:1; - u8 unk4_7:1; - u8 unk5_0:1; - u8 unk5_1:1; - u8 unk5_2:1; - u8 unk5_3:1; - u8 unk5_4:1; - u8 unk5_5:1; - u8 unk5_6:1; - u8 unk5_7:1; - u8 unk6_0:1; - u8 unk6_1:1; - u8 unk6_2:1; - u8 unk6_3:1; - s8 unk7; - s8 unk8; - s8 unk9; - s8 unkA; - s8 unkB; - s8 unkC; - u8 unkD; - u8 unkE; - s8 unkF; - s8 unk10; - s8 unk11; - u8 paddding[4]; + u8 slp_heal:1; + u8 psn_heal:1; + u8 brn_heal:1; + u8 frz_heal:1; + u8 prz_heal:1; + u8 cfs_heal:1; + u8 inf_heal:1; + u8 guard_spec:1; + u8 revive:1; + u8 revive_all:1; + u8 level_up:1; + u8 evolve:1; + u8 atk_stages:4; + u8 def_stages:4; + u8 spatk_stages:4; + u8 spdef_stages:4; + u8 speed_stages:4; + u8 accuracy_stages:4; + u8 critrate_stages:2; + u8 pp_up:1; + u8 pp_max:1; + u8 pp_restore:1; + u8 pp_restore_all:1; + u8 hp_restore:1; + u8 hp_ev_up:1; + u8 atk_ev_up:1; + u8 def_ev_up:1; + u8 speed_ev_up:1; + u8 spatk_ev_up:1; + u8 spdef_ev_up:1; + u8 friendship_mod_lo:1; + u8 friendship_mod_med:1; + u8 friendship_mod_hi:1; + s8 hp_ev_up_param; + s8 atk_ev_up_param; + s8 def_ev_up_param; + s8 speed_ev_up_param; + s8 spatk_ev_up_param; + s8 spdef_ev_up_param; + u8 hp_restore_param; + u8 pp_restore_param; + s8 friendship_mod_lo_param; + s8 friendship_mod_med_param; + s8 friendship_mod_hi_param; + u8 paddding[2]; }; struct ItemData @@ -87,40 +78,32 @@ struct ItemData u8 unk6; u8 naturalGiftPower; u16 unk8_0:5; - u16 unk8_5:1; - u16 unk8_6:1; + u16 prevent_toss:1; + u16 selectable:1; u16 pocket:4; u16 unk8_B:5; u8 unkA; u8 unkB; - u8 unkC; - u8 padding; + u8 partyUse; + u8 padding_0D; union { u8 flat; - struct ItemDataSub sub; - } unkE; + struct ItemPartyUseParam sub; + } partyUseParam; + u8 padding_22[2]; }; -NARC * OpenNutsDataNarc(u32 heap_id); -struct NutData * ReadNutDataFromNarc(NARC * narc, u32 berry_idx, u32 heap_id); -void CloseNutsDataNarc(NARC * narc); -struct NutData * LoadNutDataSingle(s32 berry_idx, u32 heap_id); -struct NutData * LoadNutDataSingleByItemId(s32 item_id, u32 heap_id); -u32 GetNutAttr(struct NutData * nut, u32 attr); -struct String * GetNutName(u32 berry_idx, u32 heap_id); -struct String * GetNutDesc(u32 berry_idx, u32 heap_id); - void MoveItemSlotInList(struct ItemSlot * itemSlots, u16 from, u16 to); u16 GetItemIndexMapping(u16 a0, u16 a1); u16 UpConvertItemId_Gen3to4(u16 a0); int FUN_0206E708(); int FUN_0206E70C(); -void * LoadItemDataOrGfx(u16 a0, u16 a1, u32 heap_id); +void * LoadItemDataOrGfx(u16 itemId, u16 which, u32 heap_id); void GetItemNameIntoString(struct String * dest, u16 item_id, u32 heap_no); void GetItemDescIntoString(struct String * dest, u16 item_id, u32 heap_no); u32 GetItemAttr(u16 item, u32 attr, u32 heap_id); u32 GetItemAttr_PreloadedItemData(struct ItemData * itemData, u32 attr); -u32 GetItemAttrSub(struct ItemDataSub * sub, u32 attr); +u32 GetItemAttrSub(struct ItemPartyUseParam * sub, u32 attr); u16 TMHMGetMove(u16 a0); BOOL MoveIsHM(u16 a0); u8 ItemToTMHMId(u16 a0); |