summaryrefslogtreecommitdiff
path: root/include/list_menu.h
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-02-11 20:12:40 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2018-02-11 20:12:40 -0500
commit590c4b500b9dd37d372a935865aa4df0ab0bf43c (patch)
tree5572d76c91e106e74e1401076f130fb902f6b67b /include/list_menu.h
parentbc063b45d05716d1eab283f6d474bcdc601cafde (diff)
parent14a76793e596d612efd273169c4172922c270f13 (diff)
Merge branch 'master' into record_mixing
Diffstat (limited to 'include/list_menu.h')
-rw-r--r--include/list_menu.h53
1 files changed, 30 insertions, 23 deletions
diff --git a/include/list_menu.h b/include/list_menu.h
index 93005e482..8b793c0e4 100644
--- a/include/list_menu.h
+++ b/include/list_menu.h
@@ -1,38 +1,45 @@
#ifndef GUARD_LIST_MENU_H
#define GUARD_LIST_MENU_H
+#define LIST_NOTHING_CHOSEN -1
+#define LIST_B_PRESSED -2
+
// Exported type declarations
// Exported RAM declarations
-struct ListMenuItem {
- const u8 *unk_00;
- s32 unk_04;
+struct ListMenuItem
+{
+ const u8 *name;
+ s32 id;
};
struct ListMenu;
-struct ListMenuTemplate {
- struct ListMenuItem *unk_00;
- void (* unk_04)(u32, bool8, struct ListMenu *);
+struct ListMenuTemplate
+{
+ const struct ListMenuItem *items;
+ void (* moveCursorFunc)(u32, bool8, struct ListMenu *);
void (* unk_08)(u8, s32, u8);
- u16 unk_0c;
- u16 unk_0e;
+ u16 totalItems;
+ u16 maxShowed;
u8 unk_10;
u8 unk_11;
u8 unk_12;
- u8 unk_13;
- u32 unk_14_0:4;
- u32 unk_14_4:4;
- u32 unk_15_0:4;
- u32 unk_15_4:4;
- u32 unk_16_0:1;
- u32 unk_16_1:6;
- u32 unk_16_7:1;
- u32 unk_17_0:6;
+ u8 cursor_Y;
+ u32 upText_Y:4; // x1, x2, x4, x8 = xF
+ u32 cursorColor:4; // x10, x20, x40, x80 = xF0
+ u32 fillColor:4; // x100, x200, x400, x800 = xF00
+ u32 cursorShadowColor:4; // x1000, x2000, x4000, x8000 = xF000
+ u32 unk_16_0:1; // x10000
+ u32 spaceBetweenItems:6; // x20000, x40000, x80000, x100000, x200000, x400000 = x7E0000
+ u32 unk_16_7:1; // x800000
+ u32 unk_17_0:6; // x1000000, x2000000, x4000000, x8000000, x10000000, x20000000 = x3F000000
+ u32 cursorKind:2; // x40000000, x80000000
};
-struct ListMenu {
+struct ListMenu
+{
struct ListMenuTemplate _template;
u16 scrollOffset;
u16 selectedRow;
@@ -42,13 +49,13 @@ struct ListMenu {
u8 unk_1F;
};
-extern struct ListMenuTemplate gUnknown_03006310;
+extern struct ListMenuTemplate gMultiuseListMenuTemplate;
// Exported ROM declarations
-u8 ListMenuInit(struct ListMenuTemplate *template, u16 a1, u16 a2);
-s32 ListMenuHandleInput(u8 id);
-void get_coro_args_x18_x1A(u8 a0, u16 *a1, u16 *a2);
-void sub_81AE6C8(u8 a0, u16 *a1, u16 *a2);
+u8 ListMenuInit(struct ListMenuTemplate *template, u16 cursorPage, u16 cursorPosition);
+s32 ListMenuHandleInputGetItemId(u8 listTaskId);
+void sub_81AE860(u8 listTaskId, u16 *a1, u16 *a2);
+void sub_81AE6C8(u8 listTaskId, u16 *a1, u16 *a2);
#endif //GUARD_LIST_MENU_H