diff options
author | Revo <projectrevotpp@hotmail.com> | 2020-06-19 11:45:40 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-19 11:45:40 -0400 |
commit | 1c13e2f57b53b3e4e5f9daac42ec4baadbb4c60b (patch) | |
tree | 98d8d64bad4b8bb766e189ac65b22a5b6f8bb6ba /arm9/src/nutdata.c | |
parent | a455bac566535ec559aac9164e05781093653057 (diff) | |
parent | b133ba8cebc5c5dcd6a3aa4b427b65ab438811bb (diff) |
Merge pull request #177 from PikalaxALT/pikalax_work
Cleanup; nutdata
Diffstat (limited to 'arm9/src/nutdata.c')
-rw-r--r-- | arm9/src/nutdata.c | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/arm9/src/nutdata.c b/arm9/src/nutdata.c new file mode 100644 index 00000000..09542052 --- /dev/null +++ b/arm9/src/nutdata.c @@ -0,0 +1,78 @@ +#include "global.h" +#include "filesystem.h" +#include "itemtool.h" +#include "msg_data.h" + +#pragma thumb on + +NARC * OpenNutsDataNarc(u32 heap_id) +{ + return NARC_ctor(NARC_ITEMTOOL_ITEMDATA_NUTS_DATA, heap_id); +} + +struct NutData * ReadNutDataFromNarc(NARC * narc, u32 berry_idx, u32 heap_id) +{ + return NARC_AllocAndReadWholeMember(narc, berry_idx, heap_id); +} + +void CloseNutsDataNarc(NARC * narc) +{ + NARC_dtor(narc); +} + +struct NutData * LoadNutDataSingle(u32 berry_idx, u32 heap_id) +{ + return AllocAndReadWholeNarcMemberByIdPair(NARC_ITEMTOOL_ITEMDATA_NUTS_DATA, berry_idx, heap_id); +} + +struct NutData * LoadNutDataSingleByItemId(u32 item_id, u32 heap_id) +{ + return LoadNutDataSingle(item_id - FIRST_BERRY_IDX, heap_id); +} + +u32 GetNutAttr(struct NutData * nut, u32 attr) +{ + switch (attr) + { + case 0: + return nut->unk0; + case 1: + return nut->unk2; + case 2: + return nut->unk3; + case 3: + return nut->unk4; + case 4: + return nut->unk5; + case 5: + return nut->unk6; + case 6: + return nut->unk7; + case 7: + return nut->unk8; + case 8: + return nut->unk9; + case 9: + return nut->unkA; + case 10: + return nut->unkB; + default: + return 0; + } +} + +u16 * GetNutName(u32 berry_idx, u32 heap_id) +{ + struct MsgData * msgData = NewMsgDataFromNarc(1, NARC_MSGDATA_MSG, 373, heap_id); + u16 * ret = FUN_0200A914(msgData, berry_idx); + DestroyMsgData(msgData); + return ret; +} + +u16 * GetNutDesc(u32 berry_idx, u32 heap_id) +{ + struct MsgData * msgData = NewMsgDataFromNarc(1, NARC_MSGDATA_MSG, 372, heap_id); + u16 * ret = FUN_0200A914(msgData, berry_idx); + DestroyMsgData(msgData); + return ret; +} |