diff options
Diffstat (limited to 'include/player_pc.h')
-rw-r--r-- | include/player_pc.h | 78 |
1 files changed, 77 insertions, 1 deletions
diff --git a/include/player_pc.h b/include/player_pc.h index b14d1ede3..bd060faa8 100644 --- a/include/player_pc.h +++ b/include/player_pc.h @@ -1,12 +1,88 @@ #ifndef GUARD_PLAYER_PC_H #define GUARD_PLAYER_PC_H +// local task defines +#define PAGE_INDEX data[0] +#define ITEMS_ABOVE_TOP data[1] +#define NUM_ITEMS data[1] +#define NUM_QUANTITY_ROLLER data[3] +#define NUM_PAGE_ITEMS data[4] +// not used +#define CURRENT_ITEM_STORAGE_MENU data[3] +// not used +#define SWAP_ITEM_INDEX data[8] +#define SWITCH_MODE_ACTIVE data[9] + +// this is potentially an ewram access occuring in high ewram. TODO: investigate this further. +#define NEW_GAME_PC_ITEMS(i, type) ((u16)((u16 *)gNewGamePCItems + type)[i * 2]) + +// defined and used in the above macro +enum +{ + PC_ITEM_ID, + PC_QUANTITY +}; + +// player PC menu options +enum +{ + PLAYERPC_MENU_ITEMSTORAGE, + PLAYERPC_MENU_MAILBOX, + PLAYERPC_MENU_DECORATION, + PLAYERPC_MENU_TURNOFF +}; + +// item storage menus +enum +{ + ITEMPC_MENU_WITHDRAW, + ITEMPC_MENU_DEPOSIT, + ITEMPC_MENU_TOSS, + ITEMPC_MENU_EXIT +}; + +// mailbox mail options +enum +{ + MAILBOX_READ, + MAILBOX_MOVE_TO_BAG, + MAILBOX_GIVE, + MAILBOX_CANCEL, +}; + +// special item description handlers +enum +{ + ITEMPC_SWITCH_WHICH_ITEM = 0xFFF7, + ITEMPC_OKAY_TO_THROW_AWAY, + ITEMPC_TOO_IMPORTANT, + ITEMPC_NO_MORE_ROOM, + ITEMPC_THREW_AWAY_ITEM, + ITEMPC_HOW_MANY_TO_TOSS, + ITEMPC_WITHDREW_THING, + ITEMPC_HOW_MANY_TO_WITHDRAW, + ITEMPC_GO_BACK_TO_PREV +}; + +struct PlayerPCItemPageStruct +{ + u16 cursorPos; + u16 itemsAbove; + u8 pageItems; + u8 count; + u8 filler[3]; + u8 scrollIndicatorId; +}; + // Exported type declarations // Exported RAM declarations +extern struct PlayerPCItemPageStruct playerPCItemPageInfo; // Exported ROM declarations +extern const struct MenuAction gMailboxMailOptions[]; -void sub_816B060(u8 taskId); +void ReshowPlayerPC(u8 taskId); +void sub_816B31C(void); #endif //GUARD_PLAYER_PC_H |