summaryrefslogtreecommitdiff
path: root/include/itemtool.h
diff options
context:
space:
mode:
authorCleverking2003 <30466983+Cleverking2003@users.noreply.github.com>2020-06-23 22:48:39 +0300
committerGitHub <noreply@github.com>2020-06-23 22:48:39 +0300
commit291f2d27d36b5c437c6c1908d5217bb954799402 (patch)
treef2bd6bfd6823cc83b8c9dcf7608b264482d0f62e /include/itemtool.h
parentd2710751ca6b1c4cc5399ea7206fb8faa00de5fe (diff)
parent718adb157daf580ff1abba13a192a0da8dc27940 (diff)
Merge pull request #184 from PikalaxALT/pikalax_work
itemtool; replace extensions for NCGR, NCLR from narcs
Diffstat (limited to 'include/itemtool.h')
-rw-r--r--include/itemtool.h104
1 files changed, 104 insertions, 0 deletions
diff --git a/include/itemtool.h b/include/itemtool.h
index d8419c2b..53140128 100644
--- a/include/itemtool.h
+++ b/include/itemtool.h
@@ -2,6 +2,7 @@
#define POKEDIAMOND_ITEMTOOL_H
#include "global.h"
+#include "filesystem.h"
#include "constants/items.h"
// Berries (nutdata)
@@ -21,6 +22,85 @@ struct NutData
u8 unkB;
};
+struct ItemSlot
+{
+ u16 id;
+ u16 quantity;
+};
+
+struct ItemDataSub
+{
+ 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];
+};
+
+struct ItemData
+{
+ u16 price;
+ u8 holdEffect;
+ u8 holdEffectParam;
+ u8 unk4;
+ u8 unk5;
+ u8 unk6;
+ u8 naturalGiftPower;
+ u16 unk8_0:5;
+ u16 unk8_5:1;
+ u16 unk8_6:1;
+ u16 pocket:4;
+ u16 unk8_B:5;
+ u8 unkA;
+ u8 unkB;
+ u8 unkC;
+ u8 padding;
+ union {
+ u8 flat;
+ struct ItemDataSub sub;
+ } unkE;
+};
+
NARC * OpenNutsDataNarc(u32 heap_id);
struct NutData * ReadNutDataFromNarc(NARC * narc, u32 berry_idx, u32 heap_id);
void CloseNutsDataNarc(NARC * narc);
@@ -30,4 +110,28 @@ 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 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);
+u16 TMHMGetMove(u16 a0);
+BOOL MoveIsHM(u16 a0);
+u8 ItemToTMHMId(u16 a0);
+BOOL ItemIdIsMail(u16 a0);
+u8 ItemToMailId(u16 item_id);
+u16 MailToItemId(u8 i);
+BOOL ItemIdIsBerry(u16 item_id);
+u8 ItemToBerryId(u16 item_id);
+u16 BerryToItemId(u8 a0);
+u8 ItemIsBitter(u16 item_id);
+struct ItemData * LoadAllItemData(u32 heap_id);
+struct ItemData * GetItemDataPtrFromArray(struct ItemData * a0, u16 item_id);
+
#endif //POKEDIAMOND_ITEMTOOL_H