summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rwxr-xr-xinclude/decoration.h2
-rw-r--r--include/menu_helpers.h2
-rwxr-xr-xinclude/player_pc.h87
3 files changed, 89 insertions, 2 deletions
diff --git a/include/decoration.h b/include/decoration.h
index 01a00ee91..2e83a9414 100755
--- a/include/decoration.h
+++ b/include/decoration.h
@@ -262,7 +262,7 @@ extern u8 gUnknown_020391A8;
extern u8 gUnknown_020391A9;
extern u8 gUnknown_020391AA;
extern u8 gUnknown_02039234;
-extern void (*gUnknown_0300485C)(void);
+extern void (*gFieldCallback)(void);
extern const struct YesNoFuncTable gUnknown_083EC96C[];
extern struct UnkStruct_020391B4 gUnknown_020391B4[16];
diff --git a/include/menu_helpers.h b/include/menu_helpers.h
index f55a90615..74248e85a 100644
--- a/include/menu_helpers.h
+++ b/include/menu_helpers.h
@@ -7,6 +7,6 @@ struct YesNoFuncTable
void (*noFunc)(u8);
};
-void sub_80F914C(u8, const struct YesNoFuncTable *);
+void DoYesNoFuncWithChoice(u8, const struct YesNoFuncTable *);
#endif // GUARD_MENU_HELPERS_H
diff --git a/include/player_pc.h b/include/player_pc.h
new file mode 100755
index 000000000..5f53d80ac
--- /dev/null
+++ b/include/player_pc.h
@@ -0,0 +1,87 @@
+#ifndef GUARD_PLAYERPC_H
+#define GUARD_PLAYERPC_H
+
+// general task defines
+#define TASK gTasks[taskId]
+#define FUNC func
+
+// local task defines
+#define PAGE_INDEX data[0]
+#define ITEMS_ABOVE_TOP data[1]
+#define NUM_ITEMS data[2]
+#define NUM_QUANTITY_ROLLER data[3]
+#define NUM_PAGE_ITEMS data[4]
+// not used
+#define CURRENT_ITEM_STORAGE_MENU data[6]
+// not used
+#define SWAP_ITEM_INDEX data[8]
+#define SWITCH_MODE_ACTIVE data[9]
+
+#define NEW_GAME_PC_ITEMS(i, type) ((u16)((u16 *)gNewGamePCItems + type)[i * 2])
+
+// defined and used in the above macro
+enum
+{
+ ITEM_ID,
+ 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 MailboxStruct
+{
+ /*0x00*/ u8 cursorPos;
+ /*0x01*/ u8 pageItems; // number of items (not including Cancel) on the current page.
+ /*0x02*/ u8 itemsAbove; // number of items above the top item on the page.
+ /*0x03*/ u8 count; // total number of items in mailbox storage.
+};
+
+extern struct MailboxStruct gMailboxInfo;
+
+void ReshowPlayerPC(u8 var);
+void NewGameInitPCItems(void);
+void BedroomPC(void);
+void PlayerPC(void);
+void ItemStorage_ReturnToMenuAfterDeposit(void);
+void Mailbox_ReturnToMailListAfterDeposit(void);
+
+#endif