From aed4502ad71ec09155ef46eb4c81a7db415593b9 Mon Sep 17 00:00:00 2001 From: Rachel Date: Fri, 25 Oct 2024 21:49:52 -0700 Subject: [PATCH] Document struct members for Menu[Template] --- include/menu.h | 76 +++--- include/overlay007/struct_ov7_0224D008.h | 2 +- include/overlay023/struct_ov23_02250CD4.h | 4 +- include/overlay065/struct_ov65_0222EBE0_t.h | 2 +- include/overlay076/struct_ov76_0223C398.h | 2 +- include/overlay079/struct_ov79_021D0E1C.h | 2 +- include/overlay084/struct_ov84_0223B5A0.h | 2 +- include/overlay088/ov88_0223E9C4.h | 2 +- include/overlay094/ov94_0223BCB0.h | 2 +- include/overlay094/struct_ov94_0223FD4C.h | 4 +- include/overlay096/ov96_0223B6A0.h | 2 +- include/overlay096/struct_ov96_0223BF40_t.h | 2 +- include/overlay104/struct_ov104_022320B4_t.h | 2 +- include/overlay109/struct_ov109_021D5140.h | 2 +- include/overlay119/struct_ov119_021D17B8.h | 2 +- include/script_manager.h | 2 +- include/struct_defs/struct_020708E0.h | 2 +- include/struct_defs/struct_0207F248.h | 2 +- include/struct_defs/struct_02095E80_t.h | 4 +- include/struct_defs/struct_020961E8_t.h | 2 +- src/choose_starter/choose_starter_app.c | 2 +- src/field_map_change.c | 2 +- src/field_menu.c | 21 +- src/menu.c | 232 +++++++++---------- src/overlay005/ov5_021DC018.c | 52 ++--- src/overlay005/ov5_021EA874.c | 2 +- src/overlay007/communication_club.c | 2 +- src/overlay007/ov7_0224BE9C.c | 2 +- src/overlay007/ov7_0224CD28.c | 18 +- src/overlay010/ov10_0221F800.c | 2 +- src/overlay023/ov23_0223E140.c | 2 +- src/overlay023/ov23_0224B05C.c | 29 +-- src/overlay023/ov23_0224DC40.c | 4 +- src/overlay023/ov23_0224F294.c | 21 +- src/overlay023/ov23_0225128C.c | 2 +- src/overlay061/ov61_0222BF44.c | 6 +- src/overlay064/ov64_0222DCE0.c | 4 +- src/overlay065/ov65_0223648C.c | 2 +- src/overlay067/ov67_0225C700.c | 2 +- src/overlay068/ov68_0225C700.c | 2 +- src/overlay074/ov74_021D0D80.c | 2 +- src/overlay075/ov75_021D0D80.c | 2 +- src/overlay076/ov76_0223B870.c | 18 +- src/overlay084/ov84_0223F040.c | 20 +- src/overlay088/ov88_0223B140.c | 36 +-- src/overlay088/ov88_0223E9C4.c | 2 +- src/overlay091/ov91_021D0D80.c | 2 +- src/overlay092/ov92_021D0D80.c | 2 +- src/overlay094/ov94_0223BCB0.c | 2 +- src/overlay094/ov94_0223D0C4.c | 18 +- src/overlay094/ov94_0223FB48.c | 38 +-- src/overlay096/ov96_0223B6A0.c | 2 +- src/overlay098/ov98_022471C8.c | 8 +- src/overlay104/ov104_02231F74.c | 26 +-- src/overlay105/ov105_02241AE0.c | 50 ++-- src/overlay106/ov106_02241AE0.c | 22 +- src/overlay107/ov107_02241AE0.c | 24 +- src/overlay107/ov107_02245EB0.c | 24 +- src/overlay108/ov108_02241AE0.c | 4 +- src/overlay119/ov119_021D0D80.c | 19 +- src/scrcmd.c | 4 +- src/unk_0206F314.c | 2 +- src/unk_020722AC.c | 2 +- src/unk_020819DC.c | 20 +- src/unk_02083370.c | 37 +-- src/unk_02084B70.c | 21 +- src/unk_02099DFC.c | 2 +- src/unk_0209A2C4.c | 2 +- 68 files changed, 472 insertions(+), 468 deletions(-) diff --git a/include/menu.h b/include/menu.h index d855093c93..43e71829a0 100644 --- a/include/menu.h +++ b/include/menu.h @@ -5,46 +5,46 @@ #include "colored_arrow.h" #include "string_list.h" -typedef struct { - const StringList *unk_00; - Window *unk_04; - u8 unk_08; - u8 unk_09; - u8 unk_0A; - u8 unk_0B_0 : 4; - u8 unk_0B_4 : 2; - u8 unk_0B_6 : 2; -} UnkStruct_02081CF4; +typedef struct MenuTemplate { + const StringList *choices; + Window *window; + u8 fontID; + u8 xSize; + u8 ySize; + u8 lineSpacing : 4; + u8 suppressCursor : 2; + u8 loopAround : 2; +} MenuTemplate; -typedef struct UIControlData_t { - UnkStruct_02081CF4 unk_00; - ColoredArrow *unk_0C; - u32 unk_10; - u8 unk_14; - u8 unk_15; - u8 unk_16; - u8 unk_17; - u8 unk_18; - u8 unk_19; - u8 unk_1A; - u8 unk_1B; - u8 unk_1C; -} UIControlData; +typedef struct Menu { + MenuTemplate template; + ColoredArrow *cursor; + u32 cancelKeys; + u8 dummy14; + u8 cursorPos; + u8 width; + u8 xOffset; + u8 yOffset; + u8 letterWidth; + u8 lineHeight; + u8 lastAction; + u8 heapID; +} Menu; -UIControlData *sub_02001AF4(const UnkStruct_02081CF4 *param0, u8 param1, u8 param2, u8 param3, u8 param4, u32 param5); -UIControlData *sub_02001B7C(const UnkStruct_02081CF4 *param0, u8 param1, u8 param2, u8 param3, u8 param4, u32 param5); -UIControlData *sub_02001B9C(const UnkStruct_02081CF4 *param0, u8 param1, u8 param2); -void sub_02001BC4(UIControlData *param0, u8 *param1); -u32 sub_02001BE0(UIControlData *param0); -u32 sub_02001C94(UIControlData *param0, u16 param1); -u32 sub_02001D44(UIControlData *param0, u8 param1); -u8 sub_02001DC4(UIControlData *param0); -u8 sub_02001DC8(UIControlData *param0); -UIControlData *sub_02002054(BgConfig *param0, const WindowTemplate *param1, u16 param2, u8 param3, u8 param4, u32 param5); -UIControlData *sub_02002100(BgConfig *param0, const WindowTemplate *param1, u16 param2, u8 param3, u32 param4); -u32 sub_02002114(UIControlData *param0, u32 param1); -u32 sub_02002134(UIControlData *param0, u8 param1, u32 param2); -void sub_02002154(UIControlData *param0, u32 param1); +Menu *sub_02001AF4(const MenuTemplate *param0, u8 param1, u8 param2, u8 param3, u8 param4, u32 param5); +Menu *sub_02001B7C(const MenuTemplate *param0, u8 param1, u8 param2, u8 param3, u8 param4, u32 param5); +Menu *sub_02001B9C(const MenuTemplate *param0, u8 param1, u8 param2); +void sub_02001BC4(Menu *param0, u8 *param1); +u32 sub_02001BE0(Menu *param0); +u32 sub_02001C94(Menu *param0, u16 param1); +u32 sub_02001D44(Menu *param0, u8 param1); +u8 sub_02001DC4(Menu *param0); +u8 sub_02001DC8(Menu *param0); +Menu *sub_02002054(BgConfig *param0, const WindowTemplate *param1, u16 param2, u8 param3, u8 param4, u32 param5); +Menu *sub_02002100(BgConfig *param0, const WindowTemplate *param1, u16 param2, u8 param3, u32 param4); +u32 sub_02002114(Menu *param0, u32 param1); +u32 sub_02002134(Menu *param0, u8 param1, u32 param2); +void sub_02002154(Menu *param0, u32 param1); void sub_02002180(Window *param0, u32 param1, u32 param2); #endif // POKEPLATINUM_MENU_H diff --git a/include/overlay007/struct_ov7_0224D008.h b/include/overlay007/struct_ov7_0224D008.h index 0aed49052e..d89e0b7ccc 100644 --- a/include/overlay007/struct_ov7_0224D008.h +++ b/include/overlay007/struct_ov7_0224D008.h @@ -28,7 +28,7 @@ typedef struct { Window unk_68; ListMenu *unk_78; StringList *unk_7C; - UIControlData *unk_80; + Menu *unk_80; StringList *unk_84; MessageLoader *unk_88; StringTemplate *unk_8C; diff --git a/include/overlay023/struct_ov23_02250CD4.h b/include/overlay023/struct_ov23_02250CD4.h index be4e76bd95..0200093de0 100644 --- a/include/overlay023/struct_ov23_02250CD4.h +++ b/include/overlay023/struct_ov23_02250CD4.h @@ -34,9 +34,9 @@ typedef struct { ListMenu *unk_48; UnkStruct_ov23_02248D20 *unk_4C; ListMenu *unk_50; - UIControlData *unk_54; + Menu *unk_54; StringList *unk_58; - UIControlData *unk_5C; + Menu *unk_5C; UnkFuncPtr_ov23_022515D8 unk_60; UnkFuncPtr_ov23_022515D8 unk_64; Strbuf *unk_68; diff --git a/include/overlay065/struct_ov65_0222EBE0_t.h b/include/overlay065/struct_ov65_0222EBE0_t.h index 0b419ae8e4..053985bb13 100644 --- a/include/overlay065/struct_ov65_0222EBE0_t.h +++ b/include/overlay065/struct_ov65_0222EBE0_t.h @@ -46,7 +46,7 @@ struct UnkStruct_ov65_0222EBE0_t { Strbuf *unk_178; Strbuf *unk_17C; int unk_180; - UIControlData *unk_184; + Menu *unk_184; void *unk_188; CellActorCollection *unk_18C; UnkStruct_0200C738 unk_190; diff --git a/include/overlay076/struct_ov76_0223C398.h b/include/overlay076/struct_ov76_0223C398.h index 0c87b7eb27..b17a75c126 100644 --- a/include/overlay076/struct_ov76_0223C398.h +++ b/include/overlay076/struct_ov76_0223C398.h @@ -32,7 +32,7 @@ typedef struct { PaletteData *unk_14; Window unk_18[11]; StringList *unk_C8; - UIControlData *unk_CC; + Menu *unk_CC; UnkStruct_02007768 *unk_D0; Sprite *unk_D4; int unk_D8; diff --git a/include/overlay079/struct_ov79_021D0E1C.h b/include/overlay079/struct_ov79_021D0E1C.h index 1d55747eeb..b154865e34 100644 --- a/include/overlay079/struct_ov79_021D0E1C.h +++ b/include/overlay079/struct_ov79_021D0E1C.h @@ -47,7 +47,7 @@ typedef struct UnkStruct_ov79_021D0E1C_t { ListMenu *unk_C8; StringList *unk_CC; StringList *unk_D0; - UIControlData *unk_D4; + Menu *unk_D4; void *unk_D8; void *unk_DC; NNSG2dScreenData *unk_E0; diff --git a/include/overlay084/struct_ov84_0223B5A0.h b/include/overlay084/struct_ov84_0223B5A0.h index 9af835bee4..5ff0113586 100644 --- a/include/overlay084/struct_ov84_0223B5A0.h +++ b/include/overlay084/struct_ov84_0223B5A0.h @@ -41,7 +41,7 @@ typedef struct { MessageLoader *unk_120; Strbuf *unk_124[12]; StringList *unk_154; - UIControlData *unk_158; + Menu *unk_158; ListMenu *unk_15C; StringList *unk_160; Strbuf *unk_164[165]; diff --git a/include/overlay088/ov88_0223E9C4.h b/include/overlay088/ov88_0223E9C4.h index 567615f469..c40b96a1f1 100644 --- a/include/overlay088/ov88_0223E9C4.h +++ b/include/overlay088/ov88_0223E9C4.h @@ -14,7 +14,7 @@ void ov88_0223E9C4(BgConfig *param0, Window *param1, Options *param2); void ov88_0223EC04(Window *param0); void ov88_0223EC78(Window *param0, Strbuf *param1, int param2, u32 param3, int param4, int param5); int ov88_0223ECBC(Window *param0, int param1, int param2, MessageLoader *param3, StringTemplate *param4); -u32 ov88_0223ED2C(BgConfig *param0, UIControlData **param1, int *param2); +u32 ov88_0223ED2C(BgConfig *param0, Menu **param1, int *param2); void ov88_0223ED80(Window *param0); ListMenu *ov88_0223ED94(StringList *param0, int param1, Window *param2, BgConfig *param3); diff --git a/include/overlay094/ov94_0223BCB0.h b/include/overlay094/ov94_0223BCB0.h index 66b8a2e54d..ee8e66c7df 100644 --- a/include/overlay094/ov94_0223BCB0.h +++ b/include/overlay094/ov94_0223BCB0.h @@ -12,7 +12,7 @@ int ov94_0223BCB0(OverlayManager *param0, int *param1); int ov94_0223BE2C(OverlayManager *param0, int *param1); int ov94_0223BF54(OverlayManager *param0, int *param1); void ov94_0223C300(CellActorInitParamsEx *param0, UnkStruct_ov94_0223FD4C *param1, CellActorResourceData *param2, int param3); -UIControlData *ov94_0223C3C0(BgConfig *param0, int param1, int param2); +Menu *ov94_0223C3C0(BgConfig *param0, int param1, int param2); void ov94_0223C3F4(UnkStruct_ov94_0223FD4C *param0, int param1, int param2); void ov94_0223C3FC(CellActor *param0, int param1, int param2); int ov94_0223C4B4(void); diff --git a/include/overlay094/struct_ov94_0223FD4C.h b/include/overlay094/struct_ov94_0223FD4C.h index 0b40e52656..fd49b44efe 100644 --- a/include/overlay094/struct_ov94_0223FD4C.h +++ b/include/overlay094/struct_ov94_0223FD4C.h @@ -122,8 +122,8 @@ typedef struct UnkStruct_ov94_0223FD4C_t { Window unk_109C; Window unk_10AC[2]; StringList *unk_10CC; - UIControlData *unk_10D0; - UIControlData *unk_10D4; + Menu *unk_10D0; + Menu *unk_10D4; ListMenu *unk_10D8; void *unk_10DC; int unk_10E0; diff --git a/include/overlay096/ov96_0223B6A0.h b/include/overlay096/ov96_0223B6A0.h index 42c9d870ef..c34b66b7e2 100644 --- a/include/overlay096/ov96_0223B6A0.h +++ b/include/overlay096/ov96_0223B6A0.h @@ -12,7 +12,7 @@ int ov96_0223B6A0(OverlayManager *param0, int *param1); int ov96_0223B7F8(OverlayManager *param0, int *param1); int ov96_0223B8CC(OverlayManager *param0, int *param1); void ov96_0223BAE0(CellActorInitParamsEx *param0, UnkStruct_ov96_0223BF40 *param1, CellActorResourceData *param2, int param3); -UIControlData *ov96_0223BBC8(BgConfig *param0, int param1, int param2); +Menu *ov96_0223BBC8(BgConfig *param0, int param1, int param2); void ov96_0223BBFC(UnkStruct_ov96_0223BF40 *param0, int param1, int param2); int ov96_0223BC50(void); void ov96_0223BC5C(UnkStruct_ov96_0223BF40 *param0, int param1, int param2); diff --git a/include/overlay096/struct_ov96_0223BF40_t.h b/include/overlay096/struct_ov96_0223BF40_t.h index 7d8ba48de3..0fe8c7bdc3 100644 --- a/include/overlay096/struct_ov96_0223BF40_t.h +++ b/include/overlay096/struct_ov96_0223BF40_t.h @@ -73,7 +73,7 @@ struct UnkStruct_ov96_0223BF40_t { Window unk_E78; Window unk_E88[3]; Window unk_EB8[11]; - UIControlData *unk_F68; + Menu *unk_F68; void *unk_F6C; int unk_F70; int unk_F74; diff --git a/include/overlay104/struct_ov104_022320B4_t.h b/include/overlay104/struct_ov104_022320B4_t.h index 0d81fcb087..2a26d1fc24 100644 --- a/include/overlay104/struct_ov104_022320B4_t.h +++ b/include/overlay104/struct_ov104_022320B4_t.h @@ -34,7 +34,7 @@ struct UnkStruct_ov104_022320B4_t { BOOL unk_5C; UnkStruct_ov104_02232B5C *unk_60; Window unk_64; - UIControlData *unk_74; + Menu *unk_74; u16 *unk_78; void *unk_7C; void *unk_80; diff --git a/include/overlay109/struct_ov109_021D5140.h b/include/overlay109/struct_ov109_021D5140.h index f4d6528796..e2670778f3 100644 --- a/include/overlay109/struct_ov109_021D5140.h +++ b/include/overlay109/struct_ov109_021D5140.h @@ -52,7 +52,7 @@ typedef struct UnkStruct_ov109_021D5140_t { Window unk_36C; Window unk_37C; Window *unk_38C[2]; - UIControlData *unk_394; + Menu *unk_394; void *unk_398[2]; NNSG2dCharacterData *unk_3A0[2]; void *unk_3A8[2]; diff --git a/include/overlay119/struct_ov119_021D17B8.h b/include/overlay119/struct_ov119_021D17B8.h index 99d041b1da..2b6c839f08 100644 --- a/include/overlay119/struct_ov119_021D17B8.h +++ b/include/overlay119/struct_ov119_021D17B8.h @@ -27,7 +27,7 @@ typedef struct { NARC *unk_3C; UnkStruct_ov119_021D14DC *unk_40; StringList *unk_44; - UIControlData *unk_48; + Menu *unk_48; SpriteGfxHandler *unk_4C; SpriteRenderer *unk_50; PokemonAnimationSys *unk_54; diff --git a/include/script_manager.h b/include/script_manager.h index 926222e505..8b0ba53523 100644 --- a/include/script_manager.h +++ b/include/script_manager.h @@ -117,7 +117,7 @@ typedef struct ScriptManager { BOOL battleResult; UnkStruct_ov5_021DC1A4 *unk_10; // appears to be used for multichoice windows Window window; - UIControlData *ctrlUI; + Menu *ctrlUI; int playerDir; MapObject *targetObject; MapObject *cameraObject; diff --git a/include/struct_defs/struct_020708E0.h b/include/struct_defs/struct_020708E0.h index 0781118dc4..1e655dd7c0 100644 --- a/include/struct_defs/struct_020708E0.h +++ b/include/struct_defs/struct_020708E0.h @@ -15,7 +15,7 @@ typedef struct { Window unk_00; Window unk_10; - UIControlData *unk_20; + Menu *unk_20; StringList *unk_24; u16 unk_28; u16 state; diff --git a/include/struct_defs/struct_0207F248.h b/include/struct_defs/struct_0207F248.h index a60f7504f5..69a24cf8b0 100644 --- a/include/struct_defs/struct_0207F248.h +++ b/include/struct_defs/struct_0207F248.h @@ -44,7 +44,7 @@ typedef struct { Strbuf *unk_6A8; Strbuf *unk_6AC[20]; StringList *unk_6FC; - UIControlData *unk_700; + Menu *unk_700; StrBufWrapper unk_704[6]; const ByteFlagSet *unk_7F4; DualArrayShortData unk_7F8; diff --git a/include/struct_defs/struct_02095E80_t.h b/include/struct_defs/struct_02095E80_t.h index 2631ae852a..ee789c2b2d 100644 --- a/include/struct_defs/struct_02095E80_t.h +++ b/include/struct_defs/struct_02095E80_t.h @@ -83,9 +83,9 @@ struct UnkStruct_02095E80_t { CellActor *unk_47C; SysTask *unk_480[7]; Window unk_49C[34]; - UIControlData *unk_6BC; + Menu *unk_6BC; StringList *unk_6C0; - UIControlData *unk_6C4; + Menu *unk_6C4; int unk_6C8; int unk_6CC; int unk_6D0; diff --git a/include/struct_defs/struct_020961E8_t.h b/include/struct_defs/struct_020961E8_t.h index 6d5d695f73..094854156e 100644 --- a/include/struct_defs/struct_020961E8_t.h +++ b/include/struct_defs/struct_020961E8_t.h @@ -48,7 +48,7 @@ struct UnkStruct_020961E8_t { Window unk_35C; Window unk_36C; Window *unk_37C[2]; - UIControlData *unk_384; + Menu *unk_384; void *unk_388[2]; NNSG2dCharacterData *unk_390[2]; void *unk_398[2]; diff --git a/src/choose_starter/choose_starter_app.c b/src/choose_starter/choose_starter_app.c index c17e0d9706..491a316b8d 100644 --- a/src/choose_starter/choose_starter_app.c +++ b/src/choose_starter/choose_starter_app.c @@ -207,7 +207,7 @@ typedef struct ChooseStarterApp { int unk_A8; Strbuf *unk_AC; WindowTemplate unk_B0; - UIControlData *unk_B8; + Menu *unk_B8; UnkStruct_0200C738 unk_BC; CellActorCollection *unk_248; SpriteResourceCollection *unk_24C[6]; diff --git a/src/field_map_change.c b/src/field_map_change.c index 1e495a71d1..e6e5da5296 100644 --- a/src/field_map_change.c +++ b/src/field_map_change.c @@ -125,7 +125,7 @@ typedef struct MapChangeUndergroundData { Window unk_24; Strbuf *unk_34; u8 unk_38; - UIControlData *unk_3C; + Menu *unk_3C; } MapChangeUndergroundData; typedef struct MapChangeUnionData { diff --git a/src/field_menu.c b/src/field_menu.c index e583b6cc81..a8d301e9d2 100644 --- a/src/field_menu.c +++ b/src/field_menu.c @@ -39,6 +39,7 @@ #include "cell_actor.h" #include "field_overworld_state.h" #include "field_system.h" +#include "font.h" #include "game_records.h" #include "gx_layers.h" #include "heap.h" @@ -519,7 +520,7 @@ static void sub_0203ADFC(TaskManager *taskMan) FieldSystem *fieldSystem; FieldMenu *menu; MessageLoader *v2; - UnkStruct_02081CF4 v3; + MenuTemplate v3; u32 v4, v5; fieldSystem = TaskManager_FieldSystem(taskMan); @@ -565,18 +566,18 @@ static void sub_0203ADFC(TaskManager *taskMan) fieldSystem->unk_90 = menu->unk_30[menu->unk_28]; MessageLoader_Free(v2); - v3.unk_00 = menu->unk_24; - v3.unk_04 = &menu->unk_00; - v3.unk_08 = 1; - v3.unk_09 = 1; - v3.unk_0A = v5; - v3.unk_0B_0 = 8; - v3.unk_0B_4 = 1; + v3.choices = menu->unk_24; + v3.window = &menu->unk_00; + v3.fontID = FONT_MESSAGE; + v3.xSize = 1; + v3.ySize = v5; + v3.lineSpacing = 8; + v3.suppressCursor = TRUE; if (v5 >= 4) { - v3.unk_0B_6 = 1; + v3.loopAround = TRUE; } else { - v3.unk_0B_6 = 0; + v3.loopAround = FALSE; } menu->unk_20 = sub_02001AF4(&v3, 28, 4, menu->unk_28, 11, PAD_BUTTON_B | PAD_BUTTON_X); diff --git a/src/menu.c b/src/menu.c index 71ac367916..c5371c2385 100644 --- a/src/menu.c +++ b/src/menu.c @@ -14,29 +14,27 @@ #include "unk_02005474.h" #include "unk_0200DA60.h" -static void sub_0200DB10(BgConfig *param0, u8 param1, u8 param2, u8 param3, u8 param4, u8 param5, u8 param6, u16 param7); -static void sub_0200DD7C(BgConfig *param0, u8 param1, u8 param2, u8 param3, u8 param4, u8 param5, u8 param6, u16 param7); -static BOOL sub_02001DCC(UIControlData *param0, u8 param1, u16 param2); -static u8 sub_02001E24(UIControlData *param0, u8 param1); -static u8 sub_02001F1C(UIControlData *param0); -static void sub_02001F5C(UIControlData *param0); -static void sub_02001FE8(UIControlData *param0); -static void sub_02002018(UIControlData *param0, u8 *param1, u8 *param2, u8 param3); +static BOOL sub_02001DCC(Menu *param0, u8 param1, u16 param2); +static u8 sub_02001E24(Menu *param0, u8 param1); +static u8 sub_02001F1C(Menu *param0); +static void sub_02001F5C(Menu *param0); +static void sub_02001FE8(Menu *param0); +static void sub_02002018(Menu *param0, u8 *param1, u8 *param2, u8 param3); -UIControlData *sub_02001AF4(const UnkStruct_02081CF4 *param0, u8 param1, u8 param2, u8 param3, u8 param4, u32 param5) +Menu *sub_02001AF4(const MenuTemplate *param0, u8 param1, u8 param2, u8 param3, u8 param4, u32 param5) { - UIControlData *v0 = (UIControlData *)Heap_AllocFromHeap(param4, sizeof(UIControlData)); + Menu *v0 = (Menu *)Heap_AllocFromHeap(param4, sizeof(Menu)); - v0->unk_00 = *param0; - v0->unk_0C = ColoredArrow_New(param4); - v0->unk_10 = param5; - v0->unk_15 = param3; - v0->unk_16 = sub_02001F1C(v0); - v0->unk_1C = param4; - v0->unk_17 = param1; - v0->unk_18 = param2; - v0->unk_19 = Font_GetAttribute(param0->unk_08, 0) + Font_GetAttribute(param0->unk_08, 2); - v0->unk_1A = Font_GetAttribute(param0->unk_08, 1) + Font_GetAttribute(param0->unk_08, 3); + v0->template = *param0; + v0->cursor = ColoredArrow_New(param4); + v0->cancelKeys = param5; + v0->cursorPos = param3; + v0->width = sub_02001F1C(v0); + v0->heapID = param4; + v0->xOffset = param1; + v0->yOffset = param2; + v0->letterWidth = Font_GetAttribute(param0->fontID, 0) + Font_GetAttribute(param0->fontID, 2); + v0->lineHeight = Font_GetAttribute(param0->fontID, 1) + Font_GetAttribute(param0->fontID, 3); sub_02001F5C(v0); sub_02001FE8(v0); @@ -44,46 +42,46 @@ UIControlData *sub_02001AF4(const UnkStruct_02081CF4 *param0, u8 param1, u8 para return v0; } -UIControlData *sub_02001B7C(const UnkStruct_02081CF4 *param0, u8 param1, u8 param2, u8 param3, u8 param4, u32 param5) +Menu *sub_02001B7C(const MenuTemplate *param0, u8 param1, u8 param2, u8 param3, u8 param4, u32 param5) { - UIControlData *v0 = sub_02001AF4(param0, param1, param2, param3, param4, param5); + Menu *v0 = sub_02001AF4(param0, param1, param2, param3, param4, param5); - Window_CopyToVRAM(v0->unk_00.unk_04); + Window_CopyToVRAM(v0->template.window); return v0; } -UIControlData *sub_02001B9C(const UnkStruct_02081CF4 *param0, u8 param1, u8 param2) +Menu *sub_02001B9C(const MenuTemplate *param0, u8 param1, u8 param2) { - return sub_02001B7C(param0, Font_GetAttribute(param0->unk_08, 0), 0, param1, param2, PAD_BUTTON_B); + return sub_02001B7C(param0, Font_GetAttribute(param0->fontID, 0), 0, param1, param2, PAD_BUTTON_B); } -void sub_02001BC4(UIControlData *param0, u8 *param1) +void sub_02001BC4(Menu *param0, u8 *param1) { if (param1 != NULL) { - *param1 = param0->unk_15; + *param1 = param0->cursorPos; } - ColoredArrow_Free(param0->unk_0C); - Heap_FreeToHeapExplicit(param0->unk_1C, param0); + ColoredArrow_Free(param0->cursor); + Heap_FreeToHeapExplicit(param0->heapID, param0); } -u32 sub_02001BE0(UIControlData *param0) +u32 sub_02001BE0(Menu *param0) { - param0->unk_1B = 0; + param0->lastAction = 0; if (gCoreSys.pressedKeys & PAD_BUTTON_A) { Sound_PlayEffect(1500); - return param0->unk_00.unk_00[param0->unk_15].index; + return param0->template.choices[param0->cursorPos].index; } - if (gCoreSys.pressedKeys & param0->unk_10) { + if (gCoreSys.pressedKeys & param0->cancelKeys) { Sound_PlayEffect(1500); return 0xfffffffe; } if (gCoreSys.pressedKeys & PAD_KEY_UP) { if (sub_02001DCC(param0, 0, 1500) == 1) { - param0->unk_1B = 1; + param0->lastAction = 1; } return 0xffffffff; @@ -91,7 +89,7 @@ u32 sub_02001BE0(UIControlData *param0) if (gCoreSys.pressedKeys & PAD_KEY_DOWN) { if (sub_02001DCC(param0, 1, 1500) == 1) { - param0->unk_1B = 2; + param0->lastAction = 2; } return 0xffffffff; @@ -99,7 +97,7 @@ u32 sub_02001BE0(UIControlData *param0) if (gCoreSys.pressedKeys & PAD_KEY_LEFT) { if (sub_02001DCC(param0, 2, 1500) == 1) { - param0->unk_1B = 3; + param0->lastAction = 3; } return 0xffffffff; @@ -107,7 +105,7 @@ u32 sub_02001BE0(UIControlData *param0) if (gCoreSys.pressedKeys & PAD_KEY_RIGHT) { if (sub_02001DCC(param0, 3, 1500) == 1) { - param0->unk_1B = 4; + param0->lastAction = 4; } return 0xffffffff; @@ -116,23 +114,23 @@ u32 sub_02001BE0(UIControlData *param0) return 0xffffffff; } -u32 sub_02001C94(UIControlData *param0, u16 param1) +u32 sub_02001C94(Menu *param0, u16 param1) { - param0->unk_1B = 0; + param0->lastAction = 0; if (gCoreSys.pressedKeys & PAD_BUTTON_A) { Sound_PlayEffect(1500); - return param0->unk_00.unk_00[param0->unk_15].index; + return param0->template.choices[param0->cursorPos].index; } - if (gCoreSys.pressedKeys & param0->unk_10) { + if (gCoreSys.pressedKeys & param0->cancelKeys) { Sound_PlayEffect(1500); return 0xfffffffe; } if (gCoreSys.pressedKeys & PAD_KEY_UP) { if (sub_02001DCC(param0, 0, param1) == 1) { - param0->unk_1B = 1; + param0->lastAction = 1; } return 0xffffffff; @@ -140,7 +138,7 @@ u32 sub_02001C94(UIControlData *param0, u16 param1) if (gCoreSys.pressedKeys & PAD_KEY_DOWN) { if (sub_02001DCC(param0, 1, param1) == 1) { - param0->unk_1B = 2; + param0->lastAction = 2; } return 0xffffffff; @@ -148,7 +146,7 @@ u32 sub_02001C94(UIControlData *param0, u16 param1) if (gCoreSys.pressedKeys & PAD_KEY_LEFT) { if (sub_02001DCC(param0, 2, param1) == 1) { - param0->unk_1B = 3; + param0->lastAction = 3; } return 0xffffffff; @@ -156,7 +154,7 @@ u32 sub_02001C94(UIControlData *param0, u16 param1) if (gCoreSys.pressedKeys & PAD_KEY_RIGHT) { if (sub_02001DCC(param0, 3, param1) == 1) { - param0->unk_1B = 4; + param0->lastAction = 4; } return 0xffffffff; @@ -165,12 +163,12 @@ u32 sub_02001C94(UIControlData *param0, u16 param1) return 0xffffffff; } -u32 sub_02001D44(UIControlData *param0, u8 param1) +u32 sub_02001D44(Menu *param0, u8 param1) { switch (param1) { case 0: Sound_PlayEffect(1500); - return param0->unk_00.unk_00[param0->unk_15].index; + return param0->template.choices[param0->cursorPos].index; case 1: Sound_PlayEffect(1500); return 0xfffffffe; @@ -191,19 +189,19 @@ u32 sub_02001D44(UIControlData *param0, u8 param1) return 0xffffffff; } -u8 sub_02001DC4(UIControlData *param0) +u8 sub_02001DC4(Menu *param0) { - return param0->unk_15; + return param0->cursorPos; } -u8 sub_02001DC8(UIControlData *param0) +u8 sub_02001DC8(Menu *param0) { - return param0->unk_1B; + return param0->lastAction; } -static BOOL sub_02001DCC(UIControlData *param0, u8 param1, u16 param2) +static BOOL sub_02001DCC(Menu *param0, u8 param1, u16 param2) { - u8 v0 = param0->unk_15; + u8 v0 = param0->cursorPos; if (sub_02001E24(param0, param1) == 0) { return 0; @@ -213,10 +211,10 @@ static BOOL sub_02001DCC(UIControlData *param0, u8 param1, u16 param2) u8 v1, v2; u8 v3; - v3 = Font_GetAttribute(param0->unk_00.unk_08, 6); + v3 = Font_GetAttribute(param0->template.fontID, 6); sub_02002018(param0, &v1, &v2, v0); - Window_FillRectWithColor(param0->unk_00.unk_04, v3, v1, v2, 8, param0->unk_1A); + Window_FillRectWithColor(param0->template.window, v3, v1, v2, 8, param0->lineHeight); } sub_02001FE8(param0); @@ -225,83 +223,83 @@ static BOOL sub_02001DCC(UIControlData *param0, u8 param1, u16 param2) return 1; } -static u8 sub_02001E24(UIControlData *param0, u8 param1) +static u8 sub_02001E24(Menu *param0, u8 param1) { s8 v0; if (param1 == 0) { - if (param0->unk_00.unk_0A <= 1) { + if (param0->template.ySize <= 1) { return 0; } - if ((param0->unk_15 % param0->unk_00.unk_0A) == 0) { - if (param0->unk_00.unk_0B_6 == 0) { + if ((param0->cursorPos % param0->template.ySize) == 0) { + if (param0->template.loopAround == FALSE) { return 0; } - v0 = param0->unk_15 + (param0->unk_00.unk_0A - 1); + v0 = param0->cursorPos + (param0->template.ySize - 1); } else { - v0 = param0->unk_15 - 1; + v0 = param0->cursorPos - 1; } } else if (param1 == 1) { - if (param0->unk_00.unk_0A <= 1) { + if (param0->template.ySize <= 1) { return 0; } - if ((param0->unk_15 % param0->unk_00.unk_0A) == (param0->unk_00.unk_0A - 1)) { - if (param0->unk_00.unk_0B_6 == 0) { + if ((param0->cursorPos % param0->template.ySize) == (param0->template.ySize - 1)) { + if (param0->template.loopAround == FALSE) { return 0; } - v0 = param0->unk_15 - (param0->unk_00.unk_0A - 1); + v0 = param0->cursorPos - (param0->template.ySize - 1); } else { - v0 = param0->unk_15 + 1; + v0 = param0->cursorPos + 1; } } else if (param1 == 2) { - if (param0->unk_00.unk_09 <= 1) { + if (param0->template.xSize <= 1) { return 0; } - if (param0->unk_15 < param0->unk_00.unk_0A) { - if (param0->unk_00.unk_0B_6 == 0) { + if (param0->cursorPos < param0->template.ySize) { + if (param0->template.loopAround == FALSE) { return 0; } - v0 = param0->unk_15 + (param0->unk_00.unk_0A * (param0->unk_00.unk_09 - 1)); + v0 = param0->cursorPos + (param0->template.ySize * (param0->template.xSize - 1)); } else { - v0 = param0->unk_15 - param0->unk_00.unk_0A; + v0 = param0->cursorPos - param0->template.ySize; } } else { - if (param0->unk_00.unk_09 <= 1) { + if (param0->template.xSize <= 1) { return 0; } - if (param0->unk_15 >= (param0->unk_00.unk_0A * (param0->unk_00.unk_09 - 1))) { - if (param0->unk_00.unk_0B_6 == 0) { + if (param0->cursorPos >= (param0->template.ySize * (param0->template.xSize - 1))) { + if (param0->template.loopAround == FALSE) { return 0; } - v0 = param0->unk_15 % param0->unk_00.unk_0A; + v0 = param0->cursorPos % param0->template.ySize; } else { - v0 = param0->unk_15 + param0->unk_00.unk_0A; + v0 = param0->cursorPos + param0->template.ySize; } } - if (param0->unk_00.unk_00[v0].index == 0xfffffffd) { + if (param0->template.choices[v0].index == 0xfffffffd) { return 0; } - param0->unk_15 = v0; + param0->cursorPos = v0; return 1; } -static u8 sub_02001F1C(UIControlData *param0) +static u8 sub_02001F1C(Menu *param0) { u8 v0 = 0; u8 v1, v2; - for (v1 = 0; v1 < param0->unk_00.unk_09 * param0->unk_00.unk_0A; v1++) { - v2 = Font_CalcStrbufWidth(param0->unk_00.unk_08, param0->unk_00.unk_00[v1].entry, 0); + for (v1 = 0; v1 < param0->template.xSize * param0->template.ySize; v1++) { + v2 = Font_CalcStrbufWidth(param0->template.fontID, param0->template.choices[v1].entry, 0); if (v0 < v2) { v0 = v2; @@ -311,50 +309,50 @@ static u8 sub_02001F1C(UIControlData *param0) return v0; } -static void sub_02001F5C(UIControlData *param0) +static void sub_02001F5C(Menu *param0) { const void *v0; u8 v1, v2, v3; u8 v4, v5; - Window_FillTilemap(param0->unk_00.unk_04, Font_GetAttribute(param0->unk_00.unk_08, 6)); + Window_FillTilemap(param0->template.window, Font_GetAttribute(param0->template.fontID, 6)); - v1 = param0->unk_17; - v3 = param0->unk_16 + param0->unk_19 * 2; + v1 = param0->xOffset; + v3 = param0->width + param0->letterWidth * 2; - for (v4 = 0; v4 < param0->unk_00.unk_09; v4++) { - for (v5 = 0; v5 < param0->unk_00.unk_0A; v5++) { - v0 = param0->unk_00.unk_00[v4 * param0->unk_00.unk_0A + v5].entry; - v2 = (param0->unk_1A + param0->unk_00.unk_0B_0) * v5 + param0->unk_18; + for (v4 = 0; v4 < param0->template.xSize; v4++) { + for (v5 = 0; v5 < param0->template.ySize; v5++) { + v0 = param0->template.choices[v4 * param0->template.ySize + v5].entry; + v2 = (param0->lineHeight + param0->template.lineSpacing) * v5 + param0->yOffset; - Text_AddPrinterWithParams(param0->unk_00.unk_04, param0->unk_00.unk_08, v0, v1, v2, TEXT_SPEED_NO_TRANSFER, NULL); + Text_AddPrinterWithParams(param0->template.window, param0->template.fontID, v0, v1, v2, TEXT_SPEED_NO_TRANSFER, NULL); } v1 += v3; } } -static void sub_02001FE8(UIControlData *param0) +static void sub_02001FE8(Menu *param0) { u8 v0, v1; - if (param0->unk_00.unk_0B_4 == 1) { + if (param0->template.suppressCursor == TRUE) { return; } - sub_02002018(param0, &v0, &v1, param0->unk_15); - ColoredArrow_Print(param0->unk_0C, param0->unk_00.unk_04, v0, v1); + sub_02002018(param0, &v0, &v1, param0->cursorPos); + ColoredArrow_Print(param0->cursor, param0->template.window, v0, v1); } -static void sub_02002018(UIControlData *param0, u8 *param1, u8 *param2, u8 param3) +static void sub_02002018(Menu *param0, u8 *param1, u8 *param2, u8 param3) { - *param1 = (param3 / param0->unk_00.unk_0A) * (param0->unk_16 + param0->unk_19 * 2); - *param2 = (param3 % param0->unk_00.unk_0A) * (param0->unk_1A + param0->unk_00.unk_0B_0) + param0->unk_18; + *param1 = (param3 / param0->template.ySize) * (param0->width + param0->letterWidth * 2); + *param2 = (param3 % param0->template.ySize) * (param0->lineHeight + param0->template.lineSpacing) + param0->yOffset; } -UIControlData *sub_02002054(BgConfig *param0, const WindowTemplate *param1, u16 param2, u8 param3, u8 param4, u32 param5) +Menu *sub_02002054(BgConfig *param0, const WindowTemplate *param1, u16 param2, u8 param3, u8 param4, u32 param5) { - UnkStruct_02081CF4 v0; + MenuTemplate v0; MessageLoader *v1; StringList *v2; @@ -365,27 +363,27 @@ UIControlData *sub_02002054(BgConfig *param0, const WindowTemplate *param1, u16 StringList_AddFromMessageBank(v2, v1, 42, 0xfffffffe); MessageLoader_Free(v1); - v0.unk_00 = v2; - v0.unk_04 = Window_New(param5, 1); - v0.unk_08 = 0; - v0.unk_09 = 1; - v0.unk_0A = 2; - v0.unk_0B_0 = 0; - v0.unk_0B_4 = 0; - v0.unk_0B_6 = 0; + v0.choices = v2; + v0.window = Window_New(param5, 1); + v0.fontID = 0; + v0.xSize = 1; + v0.ySize = 2; + v0.lineSpacing = 0; + v0.suppressCursor = FALSE; + v0.loopAround = FALSE; - Window_AddFromTemplate(param0, v0.unk_04, param1); - Window_Show(v0.unk_04, 1, param2, param3); + Window_AddFromTemplate(param0, v0.window, param1); + Window_Show(v0.window, 1, param2, param3); return sub_02001B7C(&v0, 8, 0, param4, param5, PAD_BUTTON_B); } -UIControlData *sub_02002100(BgConfig *param0, const WindowTemplate *param1, u16 param2, u8 param3, u32 param4) +Menu *sub_02002100(BgConfig *param0, const WindowTemplate *param1, u16 param2, u8 param3, u32 param4) { return sub_02002054(param0, param1, param2, param3, 0, param4); } -u32 sub_02002114(UIControlData *param0, u32 param1) +u32 sub_02002114(Menu *param0, u32 param1) { u32 v0 = sub_02001BE0(param0); @@ -396,7 +394,7 @@ u32 sub_02002114(UIControlData *param0, u32 param1) return v0; } -u32 sub_02002134(UIControlData *param0, u8 param1, u32 param2) +u32 sub_02002134(Menu *param0, u8 param1, u32 param2) { u32 v0 = sub_02001D44(param0, param1); @@ -407,12 +405,12 @@ u32 sub_02002134(UIControlData *param0, u8 param1, u32 param2) return v0; } -void sub_02002154(UIControlData *param0, u32 param1) +void sub_02002154(Menu *param0, u32 param1) { - Window_Clear(param0->unk_00.unk_04, 0); - Window_Remove(param0->unk_00.unk_04); - Heap_FreeToHeapExplicit(param1, param0->unk_00.unk_04); - StringList_Free((StringList *)param0->unk_00.unk_00); + Window_Clear(param0->template.window, 0); + Window_Remove(param0->template.window); + Heap_FreeToHeapExplicit(param1, param0->template.window); + StringList_Free((StringList *)param0->template.choices); sub_02001BC4(param0, NULL); } diff --git a/src/overlay005/ov5_021DC018.c b/src/overlay005/ov5_021DC018.c index 55e51155a1..c4a46f1da1 100644 --- a/src/overlay005/ov5_021DC018.c +++ b/src/overlay005/ov5_021DC018.c @@ -51,8 +51,8 @@ struct UnkStruct_ov5_021DC1A4_t { u16 *unk_A0; u16 *unk_A4; u16 *unk_A8; - UnkStruct_02081CF4 unk_AC; - UIControlData *unk_B8; + MenuTemplate unk_AC; + Menu *unk_B8; StringList unk_BC[28]; ListMenuTemplate unk_19C; ListMenu *unk_1BC; @@ -245,18 +245,18 @@ static u32 ov5_021DC300(UnkStruct_ov5_021DC1A4 *param0) static void ov5_021DC33C(UnkStruct_ov5_021DC1A4 *param0) { - param0->unk_AC.unk_00 = param0->unk_BC; - param0->unk_AC.unk_04 = ¶m0->unk_08; - param0->unk_AC.unk_08 = 0; - param0->unk_AC.unk_09 = 1; - param0->unk_AC.unk_0A = param0->unk_9B; - param0->unk_AC.unk_0B_0 = 0; - param0->unk_AC.unk_0B_4 = 0; + param0->unk_AC.choices = param0->unk_BC; + param0->unk_AC.window = ¶m0->unk_08; + param0->unk_AC.fontID = FONT_SYSTEM; + param0->unk_AC.xSize = 1; + param0->unk_AC.ySize = param0->unk_9B; + param0->unk_AC.lineSpacing = 0; + param0->unk_AC.suppressCursor = FALSE; if (param0->unk_9B >= 4) { - param0->unk_AC.unk_0B_6 = 1; + param0->unk_AC.loopAround = TRUE; } else { - param0->unk_AC.unk_0B_6 = 0; + param0->unk_AC.loopAround = FALSE; } return; @@ -304,8 +304,8 @@ void ov5_021DC424(UnkStruct_ov5_021DC1A4 *param0) Sound_PlayEffect(1500); sub_02001BC4(param0->unk_B8, NULL); - Window_Clear(param0->unk_AC.unk_04, 0); - Window_Remove(param0->unk_AC.unk_04); + Window_Clear(param0->unk_AC.window, 0); + Window_Remove(param0->unk_AC.window); for (v0 = 0; v0 < 28; v0++) { Strbuf_Free(param0->unk_1C[v0]); @@ -646,7 +646,7 @@ void ov5_021DCB24(FieldSystem *fieldSystem, u8 param1, u8 param2, u16 *param3, S ov5_021DCC00(v3, 15, 0, 0); ov5_021DCC00(v3, 16, (8 * 4), 16); - v3->unk_AC.unk_04 = &v3->unk_08; + v3->unk_AC.window = &v3->unk_08; Window_CopyToVRAM(&v3->unk_08); v3->unk_04 = SysTask_Start(ov5_021DCC64, v3, 0); @@ -675,8 +675,8 @@ static void ov5_021DCC64(SysTask *param0, void *param1) v1 = (UnkStruct_ov5_021DC1A4 *)param1; if (*v1->unk_A0 == 0xffff) { - Window_Clear(v1->unk_AC.unk_04, 0); - Window_Remove(v1->unk_AC.unk_04); + Window_Clear(v1->unk_AC.window, 0); + Window_Remove(v1->unk_AC.window); for (v0 = 0; v0 < 28; v0++) { Strbuf_Free(v1->unk_1C[v0]); @@ -792,13 +792,13 @@ void ov5_021DCD94(UnkStruct_ov5_021DC1A4 *param0, u8 param1) static void ov5_021DCE64(UnkStruct_ov5_021DC1A4 *param0, u8 param1, u8 param2) { - param0->unk_AC.unk_00 = param0->unk_BC; - param0->unk_AC.unk_04 = ¶m0->unk_08; - param0->unk_AC.unk_08 = 0; - param0->unk_AC.unk_09 = param1; - param0->unk_AC.unk_0A = param2; - param0->unk_AC.unk_0B_0 = 0; - param0->unk_AC.unk_0B_4 = 0; + param0->unk_AC.choices = param0->unk_BC; + param0->unk_AC.window = ¶m0->unk_08; + param0->unk_AC.fontID = FONT_SYSTEM; + param0->unk_AC.xSize = param1; + param0->unk_AC.ySize = param2; + param0->unk_AC.lineSpacing = 0; + param0->unk_AC.suppressCursor = FALSE; return; } @@ -984,7 +984,7 @@ UnkStruct_ov5_021DC1A4 *ov5_021DD250(FieldSystem *fieldSystem, u8 param1, u8 par StringTemplate_SetNumber(param4, 0, param8, 3, 1, 1); ov5_021DCC00(v0, 277, 0, (96 + 16)); - v0->unk_AC.unk_04 = &v0->unk_08; + v0->unk_AC.window = &v0->unk_08; Window_CopyToVRAM(&v0->unk_08); return v0; @@ -994,8 +994,8 @@ void ov5_021DD3A8(UnkStruct_ov5_021DC1A4 *param0) { int v0; - Window_Clear(param0->unk_AC.unk_04, 0); - Window_Remove(param0->unk_AC.unk_04); + Window_Clear(param0->unk_AC.window, 0); + Window_Remove(param0->unk_AC.window); for (v0 = 0; v0 < 28; v0++) { Strbuf_Free(param0->unk_1C[v0]); diff --git a/src/overlay005/ov5_021EA874.c b/src/overlay005/ov5_021EA874.c index aa7fe7f04d..66d4edc6d3 100644 --- a/src/overlay005/ov5_021EA874.c +++ b/src/overlay005/ov5_021EA874.c @@ -45,7 +45,7 @@ typedef struct { StringTemplate *unk_38; MessageLoader *unk_3C; int unk_40; - UIControlData *unk_44; + Menu *unk_44; int unk_48; int unk_4C[8]; int unk_6C[8]; diff --git a/src/overlay007/communication_club.c b/src/overlay007/communication_club.c index a43303760a..78ca2470ed 100644 --- a/src/overlay007/communication_club.c +++ b/src/overlay007/communication_club.c @@ -48,7 +48,7 @@ typedef struct CommClubManager { StringTemplate *unk_54; StringTemplate *strTempMsg; ListMenu *unk_5C; - UIControlData *unk_60; + Menu *unk_60; StringList *unk_64; FieldSystem *fieldSystem; CommClubManTaskFunc commClubTask; diff --git a/src/overlay007/ov7_0224BE9C.c b/src/overlay007/ov7_0224BE9C.c index 11a463defa..744d65aa36 100644 --- a/src/overlay007/ov7_0224BE9C.c +++ b/src/overlay007/ov7_0224BE9C.c @@ -102,7 +102,7 @@ typedef void (*UnkFuncPtr_ov7_0224C768)(void *, u32); typedef struct { u32 unk_00; - UIControlData *unk_04; + Menu *unk_04; u32 unk_08; } UnkStruct_ov7_0224CC44; diff --git a/src/overlay007/ov7_0224CD28.c b/src/overlay007/ov7_0224CD28.c index 994f51062a..0fb67a71bf 100644 --- a/src/overlay007/ov7_0224CD28.c +++ b/src/overlay007/ov7_0224CD28.c @@ -320,7 +320,7 @@ static void ov7_0224D018(UnkStruct_ov7_0224D008 *param0) static void ov7_0224D040(UnkStruct_ov7_0224D008 *param0) { - UnkStruct_02081CF4 v0; + MenuTemplate v0; u8 v1; if (param0->unk_2A9 == 0) { @@ -347,14 +347,14 @@ static void ov7_0224D040(UnkStruct_ov7_0224D008 *param0) Window_Add(param0->unk_00, ¶m0->unk_08[0], 3, 1, 1, 13, 4, 13, ((((1024 - (18 + 12) - 9 - (32 * 8)) - (18 + 12 + 24)) - (27 * 4)) - (13 * 6))); } - v0.unk_00 = param0->unk_84; - v0.unk_04 = ¶m0->unk_08[0]; - v0.unk_08 = 0; - v0.unk_09 = 1; - v0.unk_0A = v1; - v0.unk_0B_0 = 0; - v0.unk_0B_4 = 0; - v0.unk_0B_6 = 0; + v0.choices = param0->unk_84; + v0.window = ¶m0->unk_08[0]; + v0.fontID = FONT_SYSTEM; + v0.xSize = 1; + v0.ySize = v1; + v0.lineSpacing = 0; + v0.suppressCursor = FALSE; + v0.loopAround = FALSE; sub_0200DAA4(param0->unk_00, 3, 1024 - (18 + 12) - 9, 11, 0, 11); Window_Show(¶m0->unk_08[0], 1, 1024 - (18 + 12) - 9, 11); diff --git a/src/overlay010/ov10_0221F800.c b/src/overlay010/ov10_0221F800.c index 11476190c1..e78b4312d5 100644 --- a/src/overlay010/ov10_0221F800.c +++ b/src/overlay010/ov10_0221F800.c @@ -133,7 +133,7 @@ typedef struct UnkStruct_ov10_0221FB28_t { Strbuf *unk_BA8; int unk_BAC; int unk_BB0; - UIControlData *unk_BB4; + Menu *unk_BB4; void *unk_BB8; int unk_BBC; int unk_BC0; diff --git a/src/overlay023/ov23_0223E140.c b/src/overlay023/ov23_0223E140.c index ef83511a1b..c20e687652 100644 --- a/src/overlay023/ov23_0223E140.c +++ b/src/overlay023/ov23_0223E140.c @@ -146,7 +146,7 @@ typedef struct { CellActorResourceData unk_204[2]; CellActor *unk_24C[8]; UnkStruct_ov23_0223E6F8 unk_26C[250]; - UIControlData *unk_848; + Menu *unk_848; UnkStruct_ov23_0223E6F8 *unk_84C[8]; u8 unk_86C[8]; UnkStruct_ov23_0223FC9C unk_874[8]; diff --git a/src/overlay023/ov23_0224B05C.c b/src/overlay023/ov23_0224B05C.c index 98302f26bc..43ee6882b6 100644 --- a/src/overlay023/ov23_0224B05C.c +++ b/src/overlay023/ov23_0224B05C.c @@ -35,6 +35,7 @@ #include "core_sys.h" #include "field_map_change.h" #include "field_system.h" +#include "font.h" #include "game_records.h" #include "graphics.h" #include "heap.h" @@ -122,7 +123,7 @@ typedef struct { typedef struct { FieldSystem *fieldSystem; - UIControlData *unk_04; + Menu *unk_04; SysTask *unk_08; int unk_0C; int unk_10; @@ -143,7 +144,7 @@ typedef struct { typedef struct { FieldSystem *fieldSystem; SysTask *unk_04; - UIControlData *unk_08; + Menu *unk_08; int unk_0C; u8 unk_10; u8 unk_11; @@ -1009,9 +1010,9 @@ static int ov23_0224BD1C(int param0, BOOL param1) return v1; } -static UIControlData *ov23_0224BD90(BgConfig *param0, const WindowTemplate *param1, u16 param2, u8 param3, u32 param4) +static Menu *ov23_0224BD90(BgConfig *param0, const WindowTemplate *param1, u16 param2, u8 param3, u32 param4) { - UnkStruct_02081CF4 v0; + MenuTemplate v0; MessageLoader *v1 = ov23_02253E3C(ov23_0224219C()); StringList *v2; @@ -1020,17 +1021,17 @@ static UIControlData *ov23_0224BD90(BgConfig *param0, const WindowTemplate *para StringList_AddFromMessageBank(v2, v1, 38, 0); StringList_AddFromMessageBank(v2, v1, 39, 1); - v0.unk_00 = v2; - v0.unk_04 = Window_New(param4, 1); - v0.unk_08 = 0; - v0.unk_09 = 1; - v0.unk_0A = 2; - v0.unk_0B_0 = 0; - v0.unk_0B_4 = 0; - v0.unk_0B_0 = 0; + v0.choices = v2; + v0.window = Window_New(param4, 1); + v0.fontID = FONT_SYSTEM; + v0.xSize = 1; + v0.ySize = 2; + v0.lineSpacing = 0; + v0.suppressCursor = FALSE; + v0.lineSpacing = 0; - Window_AddFromTemplate(param0, v0.unk_04, param1); - Window_Show(v0.unk_04, 1, param2, param3); + Window_AddFromTemplate(param0, v0.window, param1); + Window_Show(v0.window, 1, param2, param3); return sub_02001B7C(&v0, 8, 0, 0, param4, PAD_BUTTON_B); } diff --git a/src/overlay023/ov23_0224DC40.c b/src/overlay023/ov23_0224DC40.c index edf589fb05..f694179dd8 100644 --- a/src/overlay023/ov23_0224DC40.c +++ b/src/overlay023/ov23_0224DC40.c @@ -60,7 +60,7 @@ typedef struct { Window unk_0C; StringList *unk_1C; ListMenu *unk_20; - UIControlData *unk_24; + Menu *unk_24; UnkStruct_ov23_0224F184 unk_28; UnkFuncPtr_ov23_0224DCB8 unk_2C; u16 unk_30; @@ -82,7 +82,7 @@ typedef struct { Window unk_08; StringList *unk_18; ListMenu *unk_1C; - UIControlData *unk_20; + Menu *unk_20; UnkStruct_ov23_0224F184 unk_24; UnkFuncPtr_ov23_0224DCB8 unk_28; u16 unk_2C; diff --git a/src/overlay023/ov23_0224F294.c b/src/overlay023/ov23_0224F294.c index 7352427eb8..921b0199f6 100644 --- a/src/overlay023/ov23_0224F294.c +++ b/src/overlay023/ov23_0224F294.c @@ -36,6 +36,7 @@ #include "core_sys.h" #include "field_map_change.h" #include "field_system.h" +#include "font.h" #include "gx_layers.h" #include "heap.h" #include "list_menu.h" @@ -469,7 +470,7 @@ static u32 ov23_0224F7D4(u8 *param0) static void ov23_0224F7F4(UnkStruct_ov23_02250CD4 *param0) { - UnkStruct_02081CF4 v0; + MenuTemplate v0; const int v1 = 4; u8 v2[7]; int v3; @@ -501,18 +502,18 @@ static void ov23_0224F7F4(UnkStruct_ov23_02250CD4 *param0) param0->unk_29C = param0->fieldSystem->unk_90; - v0.unk_00 = param0->unk_40; - v0.unk_04 = ¶m0->unk_10; - v0.unk_08 = 1; - v0.unk_09 = 1; - v0.unk_0A = NELEMS(Unk_ov23_02256924); - v0.unk_0B_0 = 8; - v0.unk_0B_4 = 1; + v0.choices = param0->unk_40; + v0.window = ¶m0->unk_10; + v0.fontID = FONT_MESSAGE; + v0.xSize = 1; + v0.ySize = NELEMS(Unk_ov23_02256924); + v0.lineSpacing = 8; + v0.suppressCursor = TRUE; if (NELEMS(Unk_ov23_02256924) >= 4) { - v0.unk_0B_6 = 1; + v0.loopAround = TRUE; } else { - v0.unk_0B_6 = 0; + v0.loopAround = FALSE; } param0->unk_54 = sub_02001AF4(&v0, 28, 4, param0->unk_29C, 11, PAD_BUTTON_B | PAD_BUTTON_X); diff --git a/src/overlay023/ov23_0225128C.c b/src/overlay023/ov23_0225128C.c index d37043059f..f1f8ebbf7b 100644 --- a/src/overlay023/ov23_0225128C.c +++ b/src/overlay023/ov23_0225128C.c @@ -68,7 +68,7 @@ typedef struct { typedef struct { int unk_00; FieldSystem *fieldSystem; - UIControlData *unk_08; + Menu *unk_08; UnkStruct_ov23_022513B0 unk_0C; SysTask *unk_10; } UnkStruct_ov23_02252038; diff --git a/src/overlay061/ov61_0222BF44.c b/src/overlay061/ov61_0222BF44.c index 7814635e54..9bc50e778e 100644 --- a/src/overlay061/ov61_0222BF44.c +++ b/src/overlay061/ov61_0222BF44.c @@ -65,7 +65,7 @@ typedef struct { Window unk_54; Window unk_64; Window unk_74; - UIControlData *unk_84; + Menu *unk_84; void *unk_88; int unk_8C; int unk_90; @@ -92,7 +92,7 @@ static void ov61_0222C7F8(UnkStruct_ov61_0222C664 *param0, int param1, int param static int ov61_0222C834(int param0); static void ov61_0222C850(UnkStruct_ov61_0222C664 *param0); static void ov61_0222C86C(UnkStruct_ov61_0222C664 *param0); -static UIControlData *ov61_0222C884(BgConfig *param0, int param1, int param2); +static Menu *ov61_0222C884(BgConfig *param0, int param1, int param2); static void ov61_0222C8B8(UnkStruct_ov61_0222C664 *param0, MessageLoader *param1, int param2, int param3, u16 param4); static void ov61_0222C920(UnkStruct_ov61_0222C664 *param0, int param1, int param2); static BOOL ov61_0222C928(int param0, int param1); @@ -548,7 +548,7 @@ static void ov61_0222C86C(UnkStruct_ov61_0222C664 *param0) } } -static UIControlData *ov61_0222C884(BgConfig *param0, int param1, int param2) +static Menu *ov61_0222C884(BgConfig *param0, int param1, int param2) { WindowTemplate v0; diff --git a/src/overlay064/ov64_0222DCE0.c b/src/overlay064/ov64_0222DCE0.c index 14f935f9d9..386b7425bc 100644 --- a/src/overlay064/ov64_0222DCE0.c +++ b/src/overlay064/ov64_0222DCE0.c @@ -140,7 +140,7 @@ typedef struct { void * unk_14; NNSG2dScreenData * unk_18; Window unk_1C; - UIControlData * unk_2C; + Menu *unk_2C; u32 unk_30; u32 unk_34; Strbuf* unk_38; @@ -174,7 +174,7 @@ typedef struct { Window unk_E0; StringList *unk_F0[2]; ListMenu *unk_F8; - UIControlData * unk_FC; + Menu *unk_FC; s32 unk_100; CellActor * unk_104; u32 unk_108; diff --git a/src/overlay065/ov65_0223648C.c b/src/overlay065/ov65_0223648C.c index 7fd7f71830..f940134b10 100644 --- a/src/overlay065/ov65_0223648C.c +++ b/src/overlay065/ov65_0223648C.c @@ -114,7 +114,7 @@ typedef struct { Window unk_210; Window unk_220; Window unk_230; - UIControlData *unk_240; + Menu *unk_240; void *unk_244; NNSG2dScreenData *unk_248; void *unk_24C; diff --git a/src/overlay067/ov67_0225C700.c b/src/overlay067/ov67_0225C700.c index 7e85688a08..7e3672dc6c 100644 --- a/src/overlay067/ov67_0225C700.c +++ b/src/overlay067/ov67_0225C700.c @@ -63,7 +63,7 @@ typedef struct { UnkStruct_ov67_0225D210 unk_40; UnkStruct_ov67_0225D210 unk_70; UnkStruct_ov67_0225D210 unk_A0; - UIControlData *unk_D0; + Menu *unk_D0; UnkStruct_ov61_0222C3B0 unk_D4; } UnkStruct_ov67_0225D154; diff --git a/src/overlay068/ov68_0225C700.c b/src/overlay068/ov68_0225C700.c index 47e47439e8..9dcb870327 100644 --- a/src/overlay068/ov68_0225C700.c +++ b/src/overlay068/ov68_0225C700.c @@ -96,7 +96,7 @@ typedef struct { Window unk_08; Strbuf *unk_18; void *unk_1C; - UIControlData *unk_20; + Menu *unk_20; } UnkStruct_ov68_0225D128; typedef struct { diff --git a/src/overlay074/ov74_021D0D80.c b/src/overlay074/ov74_021D0D80.c index b155b54143..53e00dec8d 100644 --- a/src/overlay074/ov74_021D0D80.c +++ b/src/overlay074/ov74_021D0D80.c @@ -57,7 +57,7 @@ typedef struct UnkStruct_ov74_021D0D80_t { NNSG2dScreenData *unk_28; Window unk_2C[3]; UnkStruct_ov74_021D1720 unk_5C[7]; - UIControlData *unk_2A8; + Menu *unk_2A8; u32 unk_2AC; SpriteRenderer *unk_2B0; SpriteGfxHandler *unk_2B4; diff --git a/src/overlay075/ov75_021D0D80.c b/src/overlay075/ov75_021D0D80.c index 5f8ba5ba62..0fda2eebca 100644 --- a/src/overlay075/ov75_021D0D80.c +++ b/src/overlay075/ov75_021D0D80.c @@ -87,7 +87,7 @@ typedef struct { NNSG2dScreenData *unk_3C; NNSG2dScreenData *unk_40; Window unk_44[6]; - UIControlData *unk_A4; + Menu *unk_A4; SpriteRenderer *unk_A8; SpriteGfxHandler *unk_AC; CellActorData *unk_B0[3]; diff --git a/src/overlay076/ov76_0223B870.c b/src/overlay076/ov76_0223B870.c index 69449377a5..c0276fa61d 100644 --- a/src/overlay076/ov76_0223B870.c +++ b/src/overlay076/ov76_0223B870.c @@ -443,7 +443,7 @@ void ov76_0223BF50(void) void ov76_0223BF74(BgConfig *param0, Window *param1, int param2, UnkStruct_ov76_0223DE00 *param3, int param4) { - UnkStruct_02081CF4 v0; + MenuTemplate v0; int v1; int v2, v3, v4, v5, v6, v7; int v8[4]; @@ -509,14 +509,14 @@ void ov76_0223BF74(BgConfig *param0, Window *param1, int param2, UnkStruct_ov76_ MessageLoader_Free(v11); } - v0.unk_00 = param3->unk_D4.unk_C8; - v0.unk_08 = 0; - v0.unk_04 = param1; - v0.unk_09 = 1; - v0.unk_0A = v7; - v0.unk_0B_0 = 0; - v0.unk_0B_4 = 0; - v0.unk_0B_6 = 1; + v0.choices = param3->unk_D4.unk_C8; + v0.fontID = FONT_SYSTEM; + v0.window = param1; + v0.xSize = 1; + v0.ySize = v7; + v0.lineSpacing = 0; + v0.suppressCursor = FALSE; + v0.loopAround = TRUE; Window_Show(param1, 1, (1 + (18 + 12)), 13); param3->unk_D4.unk_CC = sub_02001B7C(&v0, 8, 0, 0, 53, PAD_BUTTON_B); diff --git a/src/overlay084/ov84_0223F040.c b/src/overlay084/ov84_0223F040.c index 8106124790..3bc787a730 100644 --- a/src/overlay084/ov84_0223F040.c +++ b/src/overlay084/ov84_0223F040.c @@ -399,7 +399,7 @@ void ov84_0223FB50(UnkStruct_ov84_0223B5A0 *param0) void ov84_0223FB70(UnkStruct_ov84_0223B5A0 *param0, u8 *param1, u8 param2) { - UnkStruct_02081CF4 v0; + MenuTemplate v0; UnkStruct_ov84_0223BE5C *v1; Strbuf *v2; Strbuf *v3; @@ -420,18 +420,18 @@ void ov84_0223FB70(UnkStruct_ov84_0223B5A0 *param0, u8 *param1, u8 param2) StringList_AddFromStrbuf(param0->unk_154, param0->unk_124[param1[v4]], ov84_0223D84C(param1[v4])); } - v0.unk_00 = param0->unk_154; - v0.unk_04 = ¶m0->unk_B4[0]; - v0.unk_08 = 0; - v0.unk_09 = 1; - v0.unk_0A = param2; - v0.unk_0B_0 = 0; - v0.unk_0B_4 = 0; + v0.choices = param0->unk_154; + v0.window = ¶m0->unk_B4[0]; + v0.fontID = FONT_SYSTEM; + v0.xSize = 1; + v0.ySize = param2; + v0.lineSpacing = 0; + v0.suppressCursor = FALSE; if (param2 >= 4) { - v0.unk_0B_6 = 1; + v0.loopAround = TRUE; } else { - v0.unk_0B_6 = 0; + v0.loopAround = FALSE; } param0->unk_158 = sub_02001AF4(&v0, 8, 0, 0, 6, PAD_BUTTON_B); diff --git a/src/overlay088/ov88_0223B140.c b/src/overlay088/ov88_0223B140.c index 9745787e6b..70a1719410 100644 --- a/src/overlay088/ov88_0223B140.c +++ b/src/overlay088/ov88_0223B140.c @@ -2075,14 +2075,14 @@ static int ov88_0223DA00(UnkStruct_02095E80 *param0) static int ov88_0223DA3C(UnkStruct_02095E80 *param0) { - UnkStruct_02081CF4 v0; + MenuTemplate v0; - v0.unk_08 = 0; - v0.unk_09 = 1; - v0.unk_0A = 3; - v0.unk_0B_0 = 0; - v0.unk_0B_4 = 0; - v0.unk_0B_6 = 0; + v0.fontID = FONT_SYSTEM; + v0.xSize = 1; + v0.ySize = 3; + v0.lineSpacing = 0; + v0.suppressCursor = FALSE; + v0.loopAround = FALSE; StringTemplate_SetNickname(param0->unk_17C, 0, Pokemon_GetBoxPokemon(Party_GetPokemonBySlotIndex(param0->unk_2270, param0->unk_88[0]))); Bg_FillTilemapRect(param0->unk_174, 0, 0, 0, 0, 32, 24, 0); @@ -2094,8 +2094,8 @@ static int ov88_0223DA3C(UnkStruct_02095E80 *param0) StringList_AddFromMessageBank(param0->unk_6C0, param0->unk_184, 18, 1); StringList_AddFromMessageBank(param0->unk_6C0, param0->unk_184, 19, 2); - v0.unk_00 = param0->unk_6C0; - v0.unk_04 = ¶m0->unk_49C[24]; + v0.choices = param0->unk_6C0; + v0.window = ¶m0->unk_49C[24]; ov88_0223ED80(¶m0->unk_49C[24]); @@ -2424,14 +2424,14 @@ static int ov88_0223E478(UnkStruct_02095E80 *param0) static int ov88_0223E4BC(UnkStruct_02095E80 *param0) { - UnkStruct_02081CF4 v0; + MenuTemplate v0; - v0.unk_08 = 0; - v0.unk_09 = 1; - v0.unk_0A = 2; - v0.unk_0B_0 = 0; - v0.unk_0B_4 = 0; - v0.unk_0B_6 = 0; + v0.fontID = FONT_SYSTEM; + v0.xSize = 1; + v0.ySize = 2; + v0.lineSpacing = 0; + v0.suppressCursor = FALSE; + v0.loopAround = FALSE; StringTemplate_SetNickname(param0->unk_17C, 0, Pokemon_GetBoxPokemon(Party_GetPokemonBySlotIndex(param0->unk_2274, param0->unk_88[0] - 6))); Bg_FillTilemapRect(param0->unk_174, 0, 0, 0, 0, 32, 24, 0); @@ -2442,8 +2442,8 @@ static int ov88_0223E4BC(UnkStruct_02095E80 *param0) StringList_AddFromMessageBank(param0->unk_6C0, param0->unk_184, 17, 0); StringList_AddFromMessageBank(param0->unk_6C0, param0->unk_184, 19, 1); - v0.unk_00 = param0->unk_6C0; - v0.unk_04 = ¶m0->unk_49C[25]; + v0.choices = param0->unk_6C0; + v0.window = ¶m0->unk_49C[25]; ov88_0223ED80(¶m0->unk_49C[25]); diff --git a/src/overlay088/ov88_0223E9C4.c b/src/overlay088/ov88_0223E9C4.c index c73bee035e..8ffe928218 100644 --- a/src/overlay088/ov88_0223E9C4.c +++ b/src/overlay088/ov88_0223E9C4.c @@ -154,7 +154,7 @@ static const WindowTemplate Unk_ov88_0223F148 = { 0x112 }; -u32 ov88_0223ED2C(BgConfig *param0, UIControlData **param1, int *param2) +u32 ov88_0223ED2C(BgConfig *param0, Menu **param1, int *param2) { u32 v0 = 0xffffffff; diff --git a/src/overlay091/ov91_021D0D80.c b/src/overlay091/ov91_021D0D80.c index ae3262ef20..4b0800dfe4 100644 --- a/src/overlay091/ov91_021D0D80.c +++ b/src/overlay091/ov91_021D0D80.c @@ -57,7 +57,7 @@ typedef struct { Strbuf *unk_100; ListMenu *unk_104; StringList *unk_108; - UIControlData *unk_10C; + Menu *unk_10C; SpriteRenderer *unk_110; SpriteGfxHandler *unk_114; CellActorData *unk_118[13]; diff --git a/src/overlay092/ov92_021D0D80.c b/src/overlay092/ov92_021D0D80.c index c92f0ea063..68fdd87455 100644 --- a/src/overlay092/ov92_021D0D80.c +++ b/src/overlay092/ov92_021D0D80.c @@ -76,7 +76,7 @@ typedef struct { Window unk_B844; ListMenu *unk_B854; StringList *unk_B858; - UIControlData *unk_B85C; + Menu *unk_B85C; MessageLoader *unk_B860; int unk_B864; int unk_B868; diff --git a/src/overlay094/ov94_0223BCB0.c b/src/overlay094/ov94_0223BCB0.c index 0603b99948..5cc3b7cc65 100644 --- a/src/overlay094/ov94_0223BCB0.c +++ b/src/overlay094/ov94_0223BCB0.c @@ -406,7 +406,7 @@ static const WindowTemplate Unk_ov94_022459F8 = { 0x0 }; -UIControlData *ov94_0223C3C0(BgConfig *param0, int param1, int param2) +Menu *ov94_0223C3C0(BgConfig *param0, int param1, int param2) { WindowTemplate v0; diff --git a/src/overlay094/ov94_0223D0C4.c b/src/overlay094/ov94_0223D0C4.c index cb58c27621..162b54a741 100644 --- a/src/overlay094/ov94_0223D0C4.c +++ b/src/overlay094/ov94_0223D0C4.c @@ -401,22 +401,22 @@ static int ov94_0223D664(UnkStruct_ov94_0223FD4C *param0) static int ov94_0223D6B8(UnkStruct_ov94_0223FD4C *param0) { - UnkStruct_02081CF4 v0; + MenuTemplate v0; - v0.unk_08 = 0; - v0.unk_09 = 1; - v0.unk_0A = 2; - v0.unk_0B_0 = 0; - v0.unk_0B_4 = 0; - v0.unk_0B_6 = 0; + v0.fontID = FONT_SYSTEM; + v0.xSize = 1; + v0.ySize = 2; + v0.lineSpacing = 0; + v0.suppressCursor = FALSE; + v0.loopAround = FALSE; param0->unk_10CC = StringList_New(2, 62); StringList_AddFromMessageBank(param0->unk_10CC, param0->unk_B90, 54, 1); StringList_AddFromMessageBank(param0->unk_10CC, param0->unk_B90, 55, 2); - v0.unk_00 = param0->unk_10CC; - v0.unk_04 = ¶m0->unk_F9C[0]; + v0.choices = param0->unk_10CC; + v0.window = ¶m0->unk_F9C[0]; Window_Show(¶m0->unk_F9C[0], 0, (1 + (18 + 12)), 11); diff --git a/src/overlay094/ov94_0223FB48.c b/src/overlay094/ov94_0223FB48.c index aa6dcf3892..7b3412118c 100644 --- a/src/overlay094/ov94_0223FB48.c +++ b/src/overlay094/ov94_0223FB48.c @@ -674,14 +674,14 @@ static int ov94_022405CC(int param0, int param1, int param2) static int ov94_022405DC(UnkStruct_ov94_0223FD4C *param0) { - UnkStruct_02081CF4 v0; + MenuTemplate v0; - v0.unk_08 = 0; - v0.unk_09 = 1; - v0.unk_0A = 3; - v0.unk_0B_0 = 0; - v0.unk_0B_4 = 0; - v0.unk_0B_6 = 0; + v0.fontID = FONT_SYSTEM; + v0.xSize = 1; + v0.ySize = 3; + v0.lineSpacing = 0; + v0.suppressCursor = FALSE; + v0.loopAround = FALSE; param0->unk_10CC = StringList_New(3, 62); @@ -689,8 +689,8 @@ static int ov94_022405DC(UnkStruct_ov94_0223FD4C *param0) StringList_AddFromMessageBank(param0->unk_10CC, param0->unk_B90, 95, 2); StringList_AddFromMessageBank(param0->unk_10CC, param0->unk_B90, 96, 3); - v0.unk_00 = param0->unk_10CC; - v0.unk_04 = ¶m0->unk_F9C[0]; + v0.choices = param0->unk_10CC; + v0.window = ¶m0->unk_F9C[0]; Window_Show(¶m0->unk_F9C[0], 1, (1 + (18 + 12)), 11); @@ -765,14 +765,14 @@ static int ov94_02240688(UnkStruct_ov94_0223FD4C *param0) static int ov94_02240830(UnkStruct_ov94_0223FD4C *param0) { - UnkStruct_02081CF4 v0; + MenuTemplate v0; - v0.unk_08 = 0; - v0.unk_09 = 1; - v0.unk_0A = 3; - v0.unk_0B_0 = 0; - v0.unk_0B_4 = 0; - v0.unk_0B_6 = 0; + v0.fontID = FONT_SYSTEM; + v0.xSize = 1; + v0.ySize = 3; + v0.lineSpacing = 0; + v0.suppressCursor = FALSE; + v0.loopAround = FALSE; param0->unk_10CC = StringList_New(3, 62); @@ -780,10 +780,10 @@ static int ov94_02240830(UnkStruct_ov94_0223FD4C *param0) StringList_AddFromMessageBank(param0->unk_10CC, param0->unk_B90, 85, 2); StringList_AddFromMessageBank(param0->unk_10CC, param0->unk_B90, 86, 3); - v0.unk_00 = param0->unk_10CC; - v0.unk_04 = ¶m0->unk_F9C[0]; + v0.choices = param0->unk_10CC; + v0.window = ¶m0->unk_F9C[0]; - Window_FillTilemap(v0.unk_04, 0xf0f); + Window_FillTilemap(v0.window, 0xf0f); Window_Show(¶m0->unk_F9C[0], 1, (1 + (18 + 12)), 11); param0->unk_10D4 = sub_02001B7C(&v0, 9, 0, 0, 62, PAD_BUTTON_B); diff --git a/src/overlay096/ov96_0223B6A0.c b/src/overlay096/ov96_0223B6A0.c index 1b007535af..2a84d294a3 100644 --- a/src/overlay096/ov96_0223B6A0.c +++ b/src/overlay096/ov96_0223B6A0.c @@ -330,7 +330,7 @@ static const WindowTemplate Unk_ov96_0223DA78 = { 0x0 }; -UIControlData *ov96_0223BBC8(BgConfig *param0, int param1, int param2) +Menu *ov96_0223BBC8(BgConfig *param0, int param1, int param2) { WindowTemplate v0; diff --git a/src/overlay098/ov98_022471C8.c b/src/overlay098/ov98_022471C8.c index 1ab01869c6..34aff4616b 100644 --- a/src/overlay098/ov98_022471C8.c +++ b/src/overlay098/ov98_022471C8.c @@ -73,7 +73,7 @@ typedef struct { Window unk_58; Window unk_68; Window unk_78; - UIControlData * unk_88; + Menu *unk_88; void * unk_8C; int unk_90; int unk_94; @@ -112,7 +112,7 @@ static void ov98_02247ACC(UnkStruct_ov98_02247704 * param0); static void ov98_02247AE8(UnkStruct_ov98_02247704 * param0, int param1, int param2); static void ov98_02247AF0(UnkStruct_ov98_02247704 * param0); static void ov98_02247B0C(UnkStruct_ov98_02247704 * param0); -static UIControlData *ov98_02247B24(BgConfig *param0, int param1, int param2); +static Menu *ov98_02247B24(BgConfig *param0, int param1, int param2); static int ov98_02247B98(UnkStruct_ov98_02247704 * param0); static int ov98_02247D30(UnkStruct_ov98_02247704 * param0); static int ov98_02247D50(UnkStruct_ov98_02247704 * param0); @@ -694,7 +694,7 @@ static void ov98_02247B0C (UnkStruct_ov98_02247704 * param0) } } -static UIControlData *ov98_02247B24(BgConfig *param0, int param1, int param2) +static Menu *ov98_02247B24(BgConfig *param0, int param1, int param2) { WindowTemplate v0; @@ -705,7 +705,7 @@ static UIControlData *ov98_02247B24(BgConfig *param0, int param1, int param2) return sub_02002100(param0, &v0, (1 + (18 + 12)), 11, 109); } -static UIControlData *ov98_02247B58(BgConfig *param0, int param1, int param2, int param3) +static Menu *ov98_02247B58(BgConfig *param0, int param1, int param2, int param3) { WindowTemplate v0; diff --git a/src/overlay104/ov104_02231F74.c b/src/overlay104/ov104_02231F74.c index 8b658acdc8..d43ed0e695 100644 --- a/src/overlay104/ov104_02231F74.c +++ b/src/overlay104/ov104_02231F74.c @@ -81,8 +81,8 @@ typedef struct UnkStruct_ov104_02232B5C_t { u8 unk_9B; u16 *unk_9C; u16 *unk_A0; - UnkStruct_02081CF4 unk_A4; - UIControlData *unk_B0; + MenuTemplate unk_A4; + Menu *unk_B0; StringList unk_B4[28]; ListMenuTemplate unk_194; ListMenu *unk_1B4; @@ -374,18 +374,18 @@ static u32 ov104_02232414(UnkStruct_ov104_02232B5C *param0) static void ov104_02232454(UnkStruct_ov104_02232B5C *param0) { - param0->unk_A4.unk_00 = param0->unk_B4; - param0->unk_A4.unk_04 = ¶m0->unk_08; - param0->unk_A4.unk_08 = 0; - param0->unk_A4.unk_09 = 1; - param0->unk_A4.unk_0A = param0->unk_9B; - param0->unk_A4.unk_0B_0 = 0; - param0->unk_A4.unk_0B_4 = 0; + param0->unk_A4.choices = param0->unk_B4; + param0->unk_A4.window = ¶m0->unk_08; + param0->unk_A4.fontID = FONT_SYSTEM; + param0->unk_A4.xSize = 1; + param0->unk_A4.ySize = param0->unk_9B; + param0->unk_A4.lineSpacing = 0; + param0->unk_A4.suppressCursor = FALSE; if (param0->unk_9B >= 4) { - param0->unk_A4.unk_0B_6 = 1; + param0->unk_A4.loopAround = TRUE; } else { - param0->unk_A4.unk_0B_6 = 0; + param0->unk_A4.loopAround = FALSE; } return; @@ -440,8 +440,8 @@ static void ov104_02232570(UnkStruct_ov104_02232B5C *param0) Sound_PlayEffect(1500); sub_02001BC4(param0->unk_B0, NULL); - Window_Clear(param0->unk_A4.unk_04, 0); - Window_Remove(param0->unk_A4.unk_04); + Window_Clear(param0->unk_A4.window, 0); + Window_Remove(param0->unk_A4.window); for (v0 = 0; v0 < 28; v0++) { Strbuf_Free(param0->unk_1C[v0]); diff --git a/src/overlay105/ov105_02241AE0.c b/src/overlay105/ov105_02241AE0.c index a76a963b97..a506d9af68 100644 --- a/src/overlay105/ov105_02241AE0.c +++ b/src/overlay105/ov105_02241AE0.c @@ -101,8 +101,8 @@ struct UnkStruct_ov105_02241FF4_t { u16 unk_3C[8]; BgConfig *unk_4C; Window unk_50[10]; - UnkStruct_02081CF4 unk_F0; - UIControlData *unk_FC; + MenuTemplate unk_F0; + Menu *unk_FC; StringList unk_100[4]; PaletteData *unk_120; GenericPointerData *unk_124; @@ -930,7 +930,7 @@ static BOOL ov105_022426E0(UnkStruct_ov105_02241FF4 *param0) break; case 0: sub_02001BC4(param0->unk_FC, NULL); - ov105_02245A98(param0->unk_F0.unk_04); + ov105_02245A98(param0->unk_F0.window); ov105_02246060(param0->unk_310); param0->unk_310 = NULL; param0->unk_13_6 = 1; @@ -940,7 +940,7 @@ static BOOL ov105_022426E0(UnkStruct_ov105_02241FF4 *param0) case 1: sub_02001BC4(param0->unk_FC, NULL); - ov105_02245A98(param0->unk_F0.unk_04); + ov105_02245A98(param0->unk_F0.window); ov105_02242A58(param0); if (ov104_0223AED4(param0->unk_09) == 1) { @@ -951,7 +951,7 @@ static BOOL ov105_022426E0(UnkStruct_ov105_02241FF4 *param0) case 3: sub_02001BC4(param0->unk_FC, NULL); - ov105_02245A98(param0->unk_F0.unk_04); + ov105_02245A98(param0->unk_F0.window); ov105_02242B54(param0); if (ov104_0223AED4(param0->unk_09) == 1) { @@ -963,7 +963,7 @@ static BOOL ov105_022426E0(UnkStruct_ov105_02241FF4 *param0) case 2: default: sub_02001BC4(param0->unk_FC, NULL); - ov105_02245A98(param0->unk_F0.unk_04); + ov105_02245A98(param0->unk_F0.window); ov105_022461A4(param0->unk_30C, 0); ov105_02246060(param0->unk_310); param0->unk_310 = NULL; @@ -1225,7 +1225,7 @@ static BOOL ov105_02242D04(UnkStruct_ov105_02241FF4 *param0) break; case 0: sub_02001BC4(param0->unk_FC, NULL); - ov105_02245A98(param0->unk_F0.unk_04); + ov105_02245A98(param0->unk_F0.window); ov105_02246060(param0->unk_310); param0->unk_310 = NULL; param0->unk_08++; @@ -1236,7 +1236,7 @@ static BOOL ov105_02242D04(UnkStruct_ov105_02241FF4 *param0) ov105_02246074(param0->unk_30C, 1); sub_02001BC4(param0->unk_FC, NULL); - ov105_02245A98(param0->unk_F0.unk_04); + ov105_02245A98(param0->unk_F0.window); ov105_02246060(param0->unk_310); param0->unk_310 = NULL; @@ -1460,7 +1460,7 @@ static BOOL ov105_022434BC(UnkStruct_ov105_02241FF4 *param0) break; case 0: sub_02001BC4(param0->unk_FC, NULL); - ov105_02245A98(param0->unk_F0.unk_04); + ov105_02245A98(param0->unk_F0.window); ov105_02246060(param0->unk_310); param0->unk_310 = NULL; param0->unk_13_6 = 1; @@ -1469,14 +1469,14 @@ static BOOL ov105_022434BC(UnkStruct_ov105_02241FF4 *param0) break; case 4: sub_02001BC4(param0->unk_FC, NULL); - ov105_02245A98(param0->unk_F0.unk_04); + ov105_02245A98(param0->unk_F0.window); ov105_02243738(param0); return 1; case 0xfffffffe: case 2: default: sub_02001BC4(param0->unk_FC, NULL); - ov105_02245A98(param0->unk_F0.unk_04); + ov105_02245A98(param0->unk_F0.window); ov105_022461A4(param0->unk_30C, 0); ov105_02246060(param0->unk_310); param0->unk_310 = NULL; @@ -1563,7 +1563,7 @@ static BOOL ov105_02243818(UnkStruct_ov105_02241FF4 *param0) break; case 0: sub_02001BC4(param0->unk_FC, NULL); - ov105_02245A98(param0->unk_F0.unk_04); + ov105_02245A98(param0->unk_F0.window); ov105_02246060(param0->unk_310); param0->unk_310 = NULL; param0->unk_13_3 = 0; @@ -1578,7 +1578,7 @@ static BOOL ov105_02243818(UnkStruct_ov105_02241FF4 *param0) case 1: default: sub_02001BC4(param0->unk_FC, NULL); - ov105_02245A98(param0->unk_F0.unk_04); + ov105_02245A98(param0->unk_F0.window); ov105_02246060(param0->unk_310); param0->unk_310 = NULL; ov105_0224396C(param0); @@ -1686,7 +1686,7 @@ static BOOL ov105_02243A3C(UnkStruct_ov105_02241FF4 *param0) case 0: sub_02001BC4(param0->unk_FC, NULL); - ov105_02245A98(param0->unk_F0.unk_04); + ov105_02245A98(param0->unk_F0.window); ov105_02243D84(param0); if (ov104_0223AED4(param0->unk_09) == 1) { @@ -1699,7 +1699,7 @@ static BOOL ov105_02243A3C(UnkStruct_ov105_02241FF4 *param0) case 1: default: sub_02001BC4(param0->unk_FC, NULL); - ov105_02245A98(param0->unk_F0.unk_04); + ov105_02245A98(param0->unk_F0.window); ov105_02243DE4(param0); param0->unk_08 = 1; break; @@ -1793,7 +1793,7 @@ static BOOL ov105_02243E84(UnkStruct_ov105_02241FF4 *param0) case 0: sub_02001BC4(param0->unk_FC, NULL); - ov105_02245A98(param0->unk_F0.unk_04); + ov105_02245A98(param0->unk_F0.window); ov105_02246060(param0->unk_310); param0->unk_310 = NULL; @@ -2081,7 +2081,7 @@ static BOOL ov105_02244424(UnkStruct_ov105_02241FF4 *param0) if (param0->unk_310 != NULL) { sub_02001BC4(param0->unk_FC, NULL); - ov105_02245A98(param0->unk_F0.unk_04); + ov105_02245A98(param0->unk_F0.window); ov105_02246060(param0->unk_310); param0->unk_310 = NULL; } @@ -2565,14 +2565,14 @@ static void ov105_02244D48(UnkStruct_ov105_02241FF4 *param0, Window *param1, u8 param0->unk_100[v0].index = 0; } - param0->unk_F0.unk_00 = param0->unk_100; - param0->unk_F0.unk_04 = param1; - param0->unk_F0.unk_08 = 0; - param0->unk_F0.unk_09 = 1; - param0->unk_F0.unk_0A = param2; - param0->unk_F0.unk_0B_0 = 0; - param0->unk_F0.unk_0B_4 = 1; - param0->unk_F0.unk_0B_6 = 1; + param0->unk_F0.choices = param0->unk_100; + param0->unk_F0.window = param1; + param0->unk_F0.fontID = FONT_SYSTEM; + param0->unk_F0.xSize = 1; + param0->unk_F0.ySize = param2; + param0->unk_F0.lineSpacing = 0; + param0->unk_F0.suppressCursor = TRUE; + param0->unk_F0.loopAround = TRUE; return; } diff --git a/src/overlay106/ov106_02241AE0.c b/src/overlay106/ov106_02241AE0.c index 865a74be18..d60fcea6e8 100644 --- a/src/overlay106/ov106_02241AE0.c +++ b/src/overlay106/ov106_02241AE0.c @@ -92,8 +92,8 @@ struct UnkStruct_ov106_02243118_t { u16 unk_38[8]; BgConfig *unk_48; Window unk_4C[4]; - UnkStruct_02081CF4 unk_8C; - UIControlData *unk_98; + MenuTemplate unk_8C; + Menu *unk_98; StringList unk_9C[2]; PaletteData *unk_AC; UnkStruct_0200C440 *unk_B0; @@ -1080,14 +1080,14 @@ static void ov106_022429B0(UnkStruct_ov106_02243118 *param0, Window *param1, u8 param0->unk_9C[v0].index = 0; } - param0->unk_8C.unk_00 = param0->unk_9C; - param0->unk_8C.unk_04 = param1; - param0->unk_8C.unk_08 = 0; - param0->unk_8C.unk_09 = 1; - param0->unk_8C.unk_0A = param2; - param0->unk_8C.unk_0B_0 = 0; - param0->unk_8C.unk_0B_4 = 0; - param0->unk_8C.unk_0B_6 = 1; + param0->unk_8C.choices = param0->unk_9C; + param0->unk_8C.window = param1; + param0->unk_8C.fontID = FONT_SYSTEM; + param0->unk_8C.xSize = 1; + param0->unk_8C.ySize = param2; + param0->unk_8C.lineSpacing = 0; + param0->unk_8C.suppressCursor = FALSE; + param0->unk_8C.loopAround = TRUE; return; } @@ -1617,7 +1617,7 @@ static void ov106_02243200(UnkStruct_ov106_02243118 *param0) if (param0->unk_0F == 1) { param0->unk_0F = 0; sub_02001BC4(param0->unk_98, NULL); - Window_Clear(param0->unk_8C.unk_04, 0); + Window_Clear(param0->unk_8C.window, 0); } return; diff --git a/src/overlay107/ov107_02241AE0.c b/src/overlay107/ov107_02241AE0.c index 34ad878585..c306d38f12 100644 --- a/src/overlay107/ov107_02241AE0.c +++ b/src/overlay107/ov107_02241AE0.c @@ -243,8 +243,8 @@ struct UnkStruct_ov107_02241D6C_t { u16 unk_3C[8]; BgConfig *unk_4C; Window unk_50[18]; - UnkStruct_02081CF4 unk_170; - UIControlData * unk_17C; + MenuTemplate unk_170; + Menu *unk_17C; StringList unk_180[3]; ListMenu *unk_198; StringList *unk_19C; @@ -2395,14 +2395,14 @@ static void ov107_0224414C (UnkStruct_ov107_02241D6C * param0, Window * param1, param0->unk_180[v0].index = 0; } - param0->unk_170.unk_00 = param0->unk_180; - param0->unk_170.unk_04 = param1; - param0->unk_170.unk_08 = 0; - param0->unk_170.unk_09 = 1; - param0->unk_170.unk_0A = param2; - param0->unk_170.unk_0B_0 = 0; - param0->unk_170.unk_0B_4 = 0; - param0->unk_170.unk_0B_6 = 1; + param0->unk_170.choices = param0->unk_180; + param0->unk_170.window = param1; + param0->unk_170.fontID = FONT_SYSTEM; + param0->unk_170.xSize = 1; + param0->unk_170.ySize = param2; + param0->unk_170.lineSpacing = 0; + param0->unk_170.suppressCursor = FALSE; + param0->unk_170.loopAround = TRUE; return; } @@ -3646,8 +3646,8 @@ static void ov107_02245618 (UnkStruct_ov107_02241D6C * param0) if (param0->unk_0E_4 == 1) { param0->unk_0E_4 = 0; sub_02001BC4(param0->unk_17C, NULL); - Window_Clear(param0->unk_170.unk_04, 1); - Window_ClearAndScheduleCopyToVRAM(param0->unk_170.unk_04); + Window_Clear(param0->unk_170.window, 1); + Window_ClearAndScheduleCopyToVRAM(param0->unk_170.window); } return; diff --git a/src/overlay107/ov107_02245EB0.c b/src/overlay107/ov107_02245EB0.c index 2d09c8abe0..e6245fa576 100644 --- a/src/overlay107/ov107_02245EB0.c +++ b/src/overlay107/ov107_02245EB0.c @@ -98,8 +98,8 @@ struct UnkStruct_ov107_02246170_t { u16 unk_3C[8]; BgConfig *unk_4C; Window unk_50[12]; - UnkStruct_02081CF4 unk_110; - UIControlData * unk_11C; + MenuTemplate unk_110; + Menu *unk_11C; StringList unk_120[3]; ListMenu *unk_138; StringList *unk_13C; @@ -1869,14 +1869,14 @@ static void ov107_02247D04 (UnkStruct_ov107_02246170 * param0, Window * param1, param0->unk_120[v0].index = 0; } - param0->unk_110.unk_00 = param0->unk_120; - param0->unk_110.unk_04 = param1; - param0->unk_110.unk_08 = 0; - param0->unk_110.unk_09 = 1; - param0->unk_110.unk_0A = param2; - param0->unk_110.unk_0B_0 = 0; - param0->unk_110.unk_0B_4 = 0; - param0->unk_110.unk_0B_6 = 1; + param0->unk_110.choices = param0->unk_120; + param0->unk_110.window = param1; + param0->unk_110.fontID = FONT_SYSTEM; + param0->unk_110.xSize = 1; + param0->unk_110.ySize = param2; + param0->unk_110.lineSpacing = 0; + param0->unk_110.suppressCursor = FALSE; + param0->unk_110.loopAround = TRUE; return; } @@ -2885,8 +2885,8 @@ static void ov107_02248BB4 (UnkStruct_ov107_02246170 * param0) if (param0->unk_0F_2 == 1) { param0->unk_0F_2 = 0; sub_02001BC4(param0->unk_11C, NULL); - Window_Clear(param0->unk_110.unk_04, 1); - Window_ClearAndScheduleCopyToVRAM(param0->unk_110.unk_04); + Window_Clear(param0->unk_110.window, 1); + Window_ClearAndScheduleCopyToVRAM(param0->unk_110.window); } return; diff --git a/src/overlay108/ov108_02241AE0.c b/src/overlay108/ov108_02241AE0.c index d0bfe50d7e..6f2f36caaa 100644 --- a/src/overlay108/ov108_02241AE0.c +++ b/src/overlay108/ov108_02241AE0.c @@ -192,8 +192,8 @@ struct UnkStruct_ov108_02241DB0_t { u16 unk_80[8]; BgConfig *unk_90; Window unk_94[2]; - UnkStruct_02081CF4 unk_B4; - UIControlData *unk_C0; + MenuTemplate unk_B4; + Menu *unk_C0; StringList unk_C4[2]; PaletteData *unk_D4; Options *unk_D8; diff --git a/src/overlay119/ov119_021D0D80.c b/src/overlay119/ov119_021D0D80.c index 782d384c3c..8906e6bdee 100644 --- a/src/overlay119/ov119_021D0D80.c +++ b/src/overlay119/ov119_021D0D80.c @@ -23,6 +23,7 @@ #include "bg_window.h" #include "camera.h" +#include "font.h" #include "graphics.h" #include "gx_layers.h" #include "heap.h" @@ -328,7 +329,7 @@ int ov119_021D1158(Window *param0, int param1, Pokemon *param2, int param3) void ov119_021D11E4(UnkStruct_ov119_021D0FD0 *param0, BgConfig *param1, Window *param2, int param3, int param4, int param5, int param6, int param7, int param8, int param9) { - UnkStruct_02081CF4 v0; + MenuTemplate v0; Window_Init(param2); Window_Add(param1, param2, param3, param4, param5, param6, param7, param9, param8); @@ -349,14 +350,14 @@ void ov119_021D11E4(UnkStruct_ov119_021D0FD0 *param0, BgConfig *param1, Window * MessageLoader_Free(v3); } - v0.unk_00 = param0->unk_04.unk_44; - v0.unk_08 = 0; - v0.unk_04 = param2; - v0.unk_09 = 1; - v0.unk_0A = 2; - v0.unk_0B_0 = 0; - v0.unk_0B_4 = 0; - v0.unk_0B_6 = 1; + v0.choices = param0->unk_04.unk_44; + v0.fontID = FONT_SYSTEM; + v0.window = param2; + v0.xSize = 1; + v0.ySize = 2; + v0.lineSpacing = 0; + v0.suppressCursor = FALSE; + v0.loopAround = TRUE; Window_Show(param2, 1, (20 + (18 + 12)), 13); param0->unk_04.unk_48 = sub_02001B7C(&v0, 8, 0, 0, 71, PAD_BUTTON_B); diff --git a/src/scrcmd.c b/src/scrcmd.c index 6507e40cce..693f8f9079 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -2657,7 +2657,7 @@ static BOOL ScrCmd_03C(ScriptContext *ctx) static BOOL ScrCmd_03E(ScriptContext *ctx) { FieldSystem *fieldSystem = ctx->fieldSystem; - UIControlData **v1 = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_UI_CONTROL); + Menu **v1 = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_UI_CONTROL); u16 v2 = ScriptContext_ReadHalfWord(ctx); sub_0200DAA4(fieldSystem->unk_08, 3, 1024 - (18 + 12) - 9, 11, 0, 4); @@ -2674,7 +2674,7 @@ static BOOL sub_02040824(ScriptContext *ctx) { u32 v0; FieldSystem *fieldSystem = ctx->fieldSystem; - UIControlData **v2 = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_UI_CONTROL); + Menu **v2 = FieldSystem_GetScriptMemberPtr(fieldSystem, SCRIPT_MANAGER_UI_CONTROL); u16 *v3 = FieldSystem_GetVarPointer(fieldSystem, ctx->data[0]); v0 = sub_02002114(*v2, 4); diff --git a/src/unk_0206F314.c b/src/unk_0206F314.c index 3239abf1c2..f416314707 100644 --- a/src/unk_0206F314.c +++ b/src/unk_0206F314.c @@ -94,7 +94,7 @@ typedef struct { ListMenuTemplate unk_A0; ListMenu *unk_C0; StringList *unk_C4; - UIControlData *unk_C8; + Menu *unk_C8; FieldSystem *fieldSystem; BgConfig *unk_D0; Window unk_D4; diff --git a/src/unk_020722AC.c b/src/unk_020722AC.c index 363e8cf675..ca858182ce 100644 --- a/src/unk_020722AC.c +++ b/src/unk_020722AC.c @@ -99,7 +99,7 @@ typedef struct { ListMenuTemplate unk_140; ListMenu *unk_160; StringList *unk_164; - UIControlData *unk_168; + Menu *unk_168; FieldSystem *fieldSystem; BgConfig *unk_170; Window unk_174; diff --git a/src/unk_020819DC.c b/src/unk_020819DC.c index b5841ae9a8..d3d4fed578 100644 --- a/src/unk_020819DC.c +++ b/src/unk_020819DC.c @@ -194,7 +194,7 @@ void sub_02081CAC(GameWindowLayout *param0, u16 param1, u8 param2) void sub_02081CF4(GameWindowLayout *param0, const u8 *param1, u8 param2) { - UnkStruct_02081CF4 v0; + MenuTemplate v0; u16 v1, v2; Window_Add(param0->unk_00, ¶m0->unk_254[0], 0, 19, 23 - param2 * 2, 12, param2 * 2, 0, (((((((((((((((((((((((((((((((1 + 9) + (18 + 12)) + 9 * 2) + 6 * 2) + 8 * 2) + 6 * 1) + 9 * 2) + 6 * 2) + 8 * 2) + 6 * 1) + 9 * 2) + 6 * 2) + 8 * 2) + 6 * 1) + 9 * 2) + 6 * 2) + 8 * 2) + 6 * 1) + 9 * 2) + 6 * 2) + 8 * 2) + 6 * 1) + 9 * 2) + 6 * 2) + 8 * 2) + 6 * 1) + 5 * 2) + 7 * 2) + 20 * 2) + 13 * 4) + 27 * 4)); @@ -211,18 +211,18 @@ void sub_02081CF4(GameWindowLayout *param0, const u8 *param1, u8 param2) } } - v0.unk_00 = param0->unk_6FC; - v0.unk_04 = ¶m0->unk_254[0]; - v0.unk_08 = 0; - v0.unk_09 = 1; - v0.unk_0A = param2; - v0.unk_0B_0 = 0; - v0.unk_0B_4 = 0; + v0.choices = param0->unk_6FC; + v0.window = ¶m0->unk_254[0]; + v0.fontID = FONT_SYSTEM; + v0.xSize = 1; + v0.ySize = param2; + v0.lineSpacing = 0; + v0.suppressCursor = FALSE; if (param2 >= 4) { - v0.unk_0B_6 = 1; + v0.loopAround = TRUE; } else { - v0.unk_0B_6 = 0; + v0.loopAround = FALSE; } Window_Show(¶m0->unk_254[0], 1, 1, 14); diff --git a/src/unk_02083370.c b/src/unk_02083370.c index 7f358c5799..868c251476 100644 --- a/src/unk_02083370.c +++ b/src/unk_02083370.c @@ -16,6 +16,7 @@ #include "bg_window.h" #include "cell_actor.h" #include "core_sys.h" +#include "font.h" #include "heap.h" #include "menu.h" #include "message.h" @@ -124,7 +125,7 @@ void sub_0208337C(GameWindowLayout *param0) static void sub_020833BC(GameWindowLayout *param0, int *param1) { - UnkStruct_02081CF4 v0; + MenuTemplate v0; sub_0208337C(param0); sub_020826F4(param0, 38, 0); @@ -135,14 +136,14 @@ static void sub_020833BC(GameWindowLayout *param0, int *param1) StringList_AddFromStrbuf(param0->unk_6FC, param0->unk_6AC[4], sub_02083370(4)); StringList_AddFromStrbuf(param0->unk_6FC, param0->unk_6AC[9], sub_02083370(9)); - v0.unk_00 = param0->unk_6FC; - v0.unk_04 = ¶m0->unk_04[35]; - v0.unk_08 = 0; - v0.unk_09 = 1; - v0.unk_0A = 3; - v0.unk_0B_0 = 0; - v0.unk_0B_4 = 0; - v0.unk_0B_6 = 0; + v0.choices = param0->unk_6FC; + v0.window = ¶m0->unk_04[35]; + v0.fontID = FONT_SYSTEM; + v0.xSize = 1; + v0.ySize = 3; + v0.lineSpacing = 0; + v0.suppressCursor = FALSE; + v0.loopAround = FALSE; Window_Show(¶m0->unk_04[35], 1, 1, 14); @@ -252,7 +253,7 @@ int sub_020836E4(GameWindowLayout *param0) static void sub_02083700(GameWindowLayout *param0, int *param1) { - UnkStruct_02081CF4 v0; + MenuTemplate v0; sub_0208337C(param0); sub_020826F4(param0, 39, 0); @@ -263,14 +264,14 @@ static void sub_02083700(GameWindowLayout *param0, int *param1) StringList_AddFromStrbuf(param0->unk_6FC, param0->unk_6AC[7], sub_02083370(7)); StringList_AddFromStrbuf(param0->unk_6FC, param0->unk_6AC[9], sub_02083370(9)); - v0.unk_00 = param0->unk_6FC; - v0.unk_04 = ¶m0->unk_04[35]; - v0.unk_08 = 0; - v0.unk_09 = 1; - v0.unk_0A = 3; - v0.unk_0B_0 = 0; - v0.unk_0B_4 = 0; - v0.unk_0B_6 = 0; + v0.choices = param0->unk_6FC; + v0.window = ¶m0->unk_04[35]; + v0.fontID = FONT_SYSTEM; + v0.xSize = 1; + v0.ySize = 3; + v0.lineSpacing = 0; + v0.suppressCursor = FALSE; + v0.loopAround = FALSE; Window_Show(¶m0->unk_04[35], 1, 1, 14); diff --git a/src/unk_02084B70.c b/src/unk_02084B70.c index b183ead567..ed5dcd91f8 100644 --- a/src/unk_02084B70.c +++ b/src/unk_02084B70.c @@ -10,6 +10,7 @@ #include "bag.h" #include "bg_window.h" #include "core_sys.h" +#include "font.h" #include "heap.h" #include "item.h" #include "map_header.h" @@ -1175,7 +1176,7 @@ static u8 sub_02086614(GameWindowLayout *param0, u8 param1) void sub_020866A0(GameWindowLayout *param0, u8 param1) { - UnkStruct_02081CF4 v0; + MenuTemplate v0; u8 v1; if (param1 == 0) { @@ -1191,18 +1192,18 @@ void sub_020866A0(GameWindowLayout *param0, u8 param1) v1 += sub_02086614(param0, 2); v1 += sub_02086614(param0, 3); - v0.unk_00 = param0->unk_6FC; - v0.unk_04 = ¶m0->unk_04[36]; - v0.unk_08 = 0; - v0.unk_09 = 1; - v0.unk_0A = 4; - v0.unk_0B_0 = 0; - v0.unk_0B_4 = 0; + v0.choices = param0->unk_6FC; + v0.window = ¶m0->unk_04[36]; + v0.fontID = FONT_SYSTEM; + v0.xSize = 1; + v0.ySize = 4; + v0.lineSpacing = 0; + v0.suppressCursor = FALSE; if (v1 == 4) { - v0.unk_0B_6 = 1; + v0.loopAround = TRUE; } else { - v0.unk_0B_6 = 0; + v0.loopAround = FALSE; } Window_Show(¶m0->unk_04[36], 1, 1, 14); diff --git a/src/unk_02099DFC.c b/src/unk_02099DFC.c index f904a7f239..8f7547d20c 100644 --- a/src/unk_02099DFC.c +++ b/src/unk_02099DFC.c @@ -33,7 +33,7 @@ typedef struct { BgConfig *unk_14; MessageLoader *unk_18; Window unk_1C; - UIControlData *unk_2C; + Menu *unk_2C; SaveData *unk_30; void *unk_34; } UnkStruct_02099DFC; diff --git a/src/unk_0209A2C4.c b/src/unk_0209A2C4.c index 8513ff38ff..64c14f2d8c 100644 --- a/src/unk_0209A2C4.c +++ b/src/unk_0209A2C4.c @@ -32,7 +32,7 @@ typedef struct { BgConfig *unk_18; MessageLoader *unk_1C; Window unk_20; - UIControlData *unk_30; + Menu *unk_30; SaveData *unk_34; void *unk_38; u32 unk_3C;