diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/constants/items.h | 11 | ||||
-rw-r--r-- | include/heap.h | 1 | ||||
-rw-r--r-- | include/itemtool.h | 104 |
3 files changed, 113 insertions, 3 deletions
diff --git a/include/constants/items.h b/include/constants/items.h index a7fcc32f..3320ce25 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -35,10 +35,12 @@ #define ITEM_SODA_POP 31 #define ITEM_LEMONADE 32 #define ITEM_MOOMOO_MILK 33 + #define ITEM_ENERGYPOWDER 34 #define ITEM_ENERGY_ROOT 35 #define ITEM_HEAL_POWDER 36 #define ITEM_REVIVAL_HERB 37 + #define ITEM_ETHER 38 #define ITEM_MAX_ETHER 39 #define ITEM_ELIXIR 40 @@ -130,7 +132,6 @@ #define ITEM_BRICK_MAIL 148 #define ITEM_CHERI_BERRY 149 -#define FIRST_BERRY_IDX ITEM_CHERI_BERRY #define ITEM_CHESTO_BERRY 150 #define ITEM_PECHA_BERRY 151 #define ITEM_RAWST_BERRY 152 @@ -194,6 +195,11 @@ #define ITEM_CUSTAP_BERRY 210 #define ITEM_JABOCA_BERRY 211 #define ITEM_ROWAP_BERRY 212 + +#define FIRST_BERRY_IDX ITEM_CHERI_BERRY +#define LAST_BERRY_IDX ITEM_ROWAP_BERRY +#define NUM_BERRIES (LAST_BERRY_IDX - FIRST_BERRY_IDX + 1) + #define ITEM_BRIGHTPOWDER 213 #define ITEM_WHITE_HERB 214 #define ITEM_MACHO_BRACE 215 @@ -468,7 +474,7 @@ #define TM_GIGA_DRAIN ITEM_TM19 #define TM_SAFEGUARD ITEM_TM20 #define TM_FRUSTRATION ITEM_TM21 -#define TM_SOLARBEAM ITEM_TM22 +#define TM_SOLAR_BEAM ITEM_TM22 #define TM_IRON_TAIL ITEM_TM23 #define TM_THUNDERBOLT ITEM_TM24 #define TM_THUNDER ITEM_TM25 @@ -544,7 +550,6 @@ #define HM_SURF ITEM_HM03 #define HM_STRENGTH ITEM_HM04 #define HM_DEFOG ITEM_HM05 -#define HM_WHIRLPOOL ITEM_HM05 #define HM_ROCK_SMASH ITEM_HM06 #define HM_WATERFALL ITEM_HM07 #define HM_ROCK_CLIMB ITEM_HM08 diff --git a/include/heap.h b/include/heap.h index 49c54d22..6f04c5bc 100644 --- a/include/heap.h +++ b/include/heap.h @@ -4,5 +4,6 @@ void * AllocFromHeap(u32 heap_id, u32 size); void * AllocFromHeapAtEnd(u32 heap_id, u32 size); void FreeToHeap(void * ptr); +void FUN_02016A8C(u32 heap_id, void * ptr); #endif //POKEDIAMOND_HEAP_H diff --git a/include/itemtool.h b/include/itemtool.h index d8419c2b..84046a4a 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 unk0; + u8 unk2; + u8 unk3; + u8 unk4; + u8 unk5; + u8 unk6; + u8 unk7; + u16 unk8_0:5; + u16 unk8_5:1; + u16 unk8_6:1; + u16 unk8_7:4; + u16 unk8_11:5; + u8 unkA; + u8 unkB; + u8 unkC; + u8 unkD; + 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 FUN_0206E5B4(struct ItemSlot * itemSlots, u16 from, u16 to); +u16 FUN_0206E640(u16 a0, u16 a1); +u16 FUN_0206E6D8(u16 a0); +int FUN_0206E708(); +int FUN_0206E70C(); +void * FUN_0206E710(u16 a0, u16 a1, u32 heap_id); +void FUN_0206E768(struct String * dest, u16 item_id, u32 heap_no); +void FUN_0206E790(struct String * dest, u16 item_id, u32 heap_no); +u32 FUN_0206E7B8(u16 item, u32 attr, u32 heap_id); +u32 FUN_0206E7DC(struct ItemData * itemData, u32 attr); +u32 FUN_0206E878(struct ItemDataSub * sub, u32 attr); +u16 FUN_0206EA30(u16 a0); +BOOL FUN_0206EA54(u16 a0); +u8 FUN_0206EA7C(u16 a0); +BOOL FUN_0206EA98(u16 a0); +u8 FUN_0206EAB8(u16 a0); +u16 FUN_0206EAD8(u8 i); +BOOL FUN_0206EAEC(u16 a0); +u8 FUN_0206EB0C(u16 a0); +u16 FUN_0206EB1C(u8 a0); +u8 FUN_0206EB34(u16 a0); +struct ItemData * FUN_0206EB50(u16 a0); +struct ItemData * FUN_0206EB78(struct ItemData * a0, u16 a1); + #endif //POKEDIAMOND_ITEMTOOL_H |