summaryrefslogtreecommitdiff
path: root/include/itemtool.h
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2020-08-27 16:16:56 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2020-08-27 16:16:56 -0400
commit326934766a59d838c7313d2b9445ae548b1f7907 (patch)
tree3897fa8f9eb5ca25fe5063e8dc38b7a590927609 /include/itemtool.h
parent04c7c3de6a47c9952d0fd66f97a19ad10569c0f6 (diff)
use_item_on_mon.c; itemdata to json
Diffstat (limited to 'include/itemtool.h')
-rw-r--r--include/itemtool.h139
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);