Untangle menuitemdata structs

This commit is contained in:
Ryan Dwyer
2023-08-16 18:34:08 +10:00
parent f020543599
commit fb5b505bab
5 changed files with 119 additions and 135 deletions
+1 -1
View File
@@ -32,7 +32,7 @@ void func0f0f1494(void);
char *menuResolveText(uintptr_t thing, void *dialogoritem);
char *menuResolveParam2Text(struct menuitem *item);
char *menuResolveDialogTitle(struct menudialogdef *dialogdef);
void func0f0f15a4(struct menuitem *item, s32 *arg1);
void menuGetItemBlocksRequired(struct menuitem *item, s32 *arg1);
void menuCalculateItemSize(struct menuitem *item, s16 *width, s16 *height, struct menudialog *dialog);
void func0f0f1d6c(struct menudialogdef *dialogdef, struct menudialog *dialog, struct menu *menu);
void dialog0f0f1ef4(struct menudialog *dialog);
+1 -1
View File
@@ -5,7 +5,7 @@
#include "types.h"
s32 menuitem0f0e5d2c(s32 arg0, struct menuitem *item);
s16 menuitem0f0e5ef8(s16 arg0, struct menuitem *item);
s16 menuitemListGetOffsetY(s16 optionindex, struct menuitem *item);
Gfx *menuitemListRenderHeader(Gfx *gdl, s16 x1, s16 y1, s16 width, s16 arg4, s16 height, char *text, struct menudialog *dialog);
Gfx *menuitemListOverlay(Gfx *gdl, s16 x, s16 y, s16 x2, s16 y2);
Gfx *menuitemListRender(Gfx *gdl, struct menurendercontext *context);
+23 -39
View File
@@ -3247,15 +3247,19 @@ struct menuitemdata_controller {
s8 prevmode;
};
struct menuitemdata_list {
s16 curoffsety;
s16 index;
s16 targetoffsety;
s16 viewheight;
};
struct menuitemdata_dropdown {
u16 unk00;
u16 unk02;
s16 unk04;
u16 unk06;
u16 unk08;
u16 unk0a;
struct menuitemdata_list list;
u16 unk08; // unused
u16 unk0a; // unused
s16 scrolloffset;
u16 unk0e;
u16 unk0e; // unused
};
struct menuitemdata_keyboard {
@@ -3266,18 +3270,11 @@ struct menuitemdata_keyboard {
u8 capseffective : 1; // Same as above, but inverted if holding L or R
};
struct menuitemdata_list {
s16 unk00;
s16 unk02;
s16 unk04;
s16 unk06;
};
struct menuitemdata_marquee {
u16 totalmoved;
u16 sum;
u16 unk04;
u16 unk06;
u16 texthash;
u16 viewwidth;
u16 unk06; // unused
};
struct menuitemdata_ranking {
@@ -3285,15 +3282,17 @@ struct menuitemdata_ranking {
};
struct menuitemdata_scrollable {
s16 unk00;
s16 unk02;
s16 unk04;
s16 unk06;
s16 unk08;
s16 scrolloffset;
s16 unk02; // unused
s16 maxscrolloffset;
s16 dialogheight;
#if VERSION >= VERSION_PAL_BETA
s16 language;
#endif
};
struct menuitemdata_slider {
s16 unk00;
s16 multiplier;
};
union menuitemdata {
@@ -3343,22 +3342,8 @@ struct handlerdata_list {
s32 unk0c;
};
struct handlerdata_list2 {
s16 unk00;
s16 unk02;
u32 unk04;
u32 unk08;
u32 unk0c;
};
struct handlerdata_slider {
union {
u32 value;
struct {
u16 unk00;
s16 unk02;
};
};
u32 value;
char *label;
};
@@ -3392,7 +3377,6 @@ union handlerdata {
struct handlerdata_carousel carousel;
struct handlerdata_checkbox checkbox;
struct handlerdata_list list;
struct handlerdata_list2 list2;
struct handlerdata_dropdown dropdown;
struct handlerdata_keyboard keyboard;
struct handlerdata_label label;