diff --git a/asm/code_803B050.s b/asm/code_803B050.s index 9b530ce55..08d559d63 100644 --- a/asm/code_803B050.s +++ b/asm/code_803B050.s @@ -129,7 +129,7 @@ _0803B140: _0803B144: ldr r0, [r4] movs r1, 0x1 - bl sub_80138B8 + bl MenuCursorUpdate lsls r0, 24 cmp r0, 0 bne _0803B156 @@ -177,7 +177,7 @@ sub_803B18C: ldr r0, [r5] movs r1, 0xE5 strh r1, [r0, 0x22] - bl sub_8013984 + bl MenuUpdatePagesData bl sub_803B204 bl sub_803B284 cmp r4, 0 diff --git a/include/code_801B3C0.h b/include/code_801B3C0.h index 191275b7f..344fe85dd 100644 --- a/include/code_801B3C0.h +++ b/include/code_801B3C0.h @@ -17,7 +17,7 @@ typedef struct unkStruct_203B230 /* 0x20 */ u32 unk20; /* 0x24 */ u32 unk24; /* 0x28 */ WindowTemplates unk28; - /* 0x88 */ MenuInputStructSub unk88; + /* 0x88 */ TouchScreenMenuInput unk88; } unkStruct_203B230; bool8 InitItemDescriptionWindow(Item *item); diff --git a/include/code_802DE84.h b/include/code_802DE84.h index c1492410e..83d39a308 100644 --- a/include/code_802DE84.h +++ b/include/code_802DE84.h @@ -8,7 +8,7 @@ // size: 0x7C struct unkStruct_203B300 { - MenuInputStructSub unk0; + TouchScreenMenuInput unk0; /* 0xC */ unkStruct_802C39C *mail; u32 unk10; WindowTemplate *unk14; diff --git a/include/debug_field_map_window.h b/include/debug_field_map_window.h index 71a692e66..c107cc56a 100644 --- a/include/debug_field_map_window.h +++ b/include/debug_field_map_window.h @@ -1,6 +1,8 @@ #ifndef GUARD_DEBUG_FIELD_MAP_WINDOW_H #define GUARD_DEBUG_FIELD_MAP_WINDOW_H +#define DEBUG_INPUT_NOTHING 0 +#define DEBUG_INPUT_DPAD 1 #define DEBUG_INPUT_B_PRESS 2 #define DEBUG_INPUT_A_PRESS 3 diff --git a/include/dungeon_menu_moves.h b/include/dungeon_menu_moves.h index 2ccb899b4..dd7d1ed84 100644 --- a/include/dungeon_menu_moves.h +++ b/include/dungeon_menu_moves.h @@ -8,7 +8,7 @@ void ShowMovesFromTeamMenu(ActionContainer *a0); bool8 ShowDungeonMovesMenu(Entity * entity, bool8 addLinkOptions, bool8 addUseMove, s32 a3, s32 a4); void ActionShowMoveInfo(ActionContainer *a0); -void ShowStatusDescriptionMenu(const StatusText *status, MenuInputStructSub *menuSub); +void ShowStatusDescriptionMenu(const StatusText *status, TouchScreenMenuInput *menuSub); void ActionSetOrUnsetMove(ActionContainer *a0, bool8 flagToSet); void ActionToggleMoveUsableForAi(ActionContainer *a0); void ActionLinkMoves(ActionContainer *a0); diff --git a/include/iq_skill_info_menu.h b/include/iq_skill_info_menu.h index 524fd49ce..97e929eda 100644 --- a/include/iq_skill_info_menu.h +++ b/include/iq_skill_info_menu.h @@ -16,7 +16,7 @@ struct IQSkillInfoMenu u32 unk20; u32 unk24; WindowTemplates unk28; - MenuInputStructSub unk88; + TouchScreenMenuInput unk88; }; bool8 CreateIQSkillInfoMenu(u8 iqSkill); diff --git a/include/menu_input.h b/include/menu_input.h index 1e12107ba..04a7ab795 100644 --- a/include/menu_input.h +++ b/include/menu_input.h @@ -4,7 +4,7 @@ #include "structs/menu.h" #include "structs/str_text.h" -u32 sub_8012A64(MenuInputStructSub *r0, s32 r1); +u32 sub_8012A64(TouchScreenMenuInput *r0, s32 r1); s32 GetKeyPress(MenuInputStruct *r0); s32 GetMenuInput(void); void sub_8012BC4(u32 x, u32 y, s32 n, s32 len, u32 color, u32 windowId); @@ -19,7 +19,7 @@ void sub_8012EBC(MenuStruct *param_1); bool8 sub_8012FD8(MenuStruct *param_1); bool8 sub_80130A8(MenuStruct *param_1); bool8 sub_8013114(MenuStruct *param_1, s32 *menuAction); -void sub_801317C(MenuInputStructSub *param_1); +void ResetTouchScreenMenuInput(TouchScreenMenuInput *param_1); void AddMenuCursorSprite(MenuInputStruct *param_1); void sub_8013660(MenuInputStruct *param_1); void UpdateMenuCursorSpriteCoords(MenuInputStruct *param_1); @@ -28,18 +28,17 @@ void MoveMenuCursorDownWrapAround(MenuInputStruct *param_1, u8 param_2); void MoveMenuCursorUp(MenuInputStruct *param_1); void MoveMenuCursorUpWrapAround(MenuInputStruct *param_1, u8 param_2); void sub_8013780(MenuInputStruct *param_1, s32 param_2); -s32 sub_80137A8(MenuInputStruct *param_1); void sub_80137B0(MenuInputStruct *param_1, s32 param_2); void sub_80137F8(MenuInputStruct *param_1, u32 param_2); s32 GetMenuEntryYCoord(MenuInputStruct *menu, s32 entryId); void CreateMenuOnWindow(MenuInputStruct *menuInput, s32 totalCount, u32 perPageCount, s32 windowId); -void sub_8013848(MenuInputStruct *menuInput, s32 totalCount, u32 perPageCount, s32 windowId); +void CreateMenuOnWindow2(MenuInputStruct *menuInput, s32 totalCount, u32 perPageCount, s32 windowId); void sub_8013878(MenuInputStruct *param_1, s32 param_2); -bool8 sub_80138B8(MenuInputStruct *param_1, bool8 param_2); -bool8 sub_8013938(MenuInputStruct *param_1); -void sub_8013984(MenuInputStruct * param_1); +bool8 MenuCursorUpdate(MenuInputStruct *param_1, bool8 param_2); +bool8 MenuCursorUpdateOnlyLeftRight(MenuInputStruct *param_1); +void MenuUpdatePagesData(MenuInputStruct * param_1); void AddMenuCursorSprite_(MenuInputStruct *, u8 *); -void nullsub_34(MenuInputStructSub *, s32 a1); +void GetTouchScreenMenuInput(TouchScreenMenuInput *touchScreen, s32 a1); void sub_8013AA0(unkStructFor8013AA0 *); u32 sub_8013BBC(unkStructFor8013AA0 *); @@ -49,5 +48,6 @@ void sub_8013E54(void); void sub_8013F84(void); void sub_80140B4(WindowTemplates *); +#define GET_CURRENT_MENU_ENTRY(menuInput)((menuInput.currPage * menuInput.entriesPerPage) + menuInput.menuIndex) #endif // GUARD_MENU_INPUT_H diff --git a/include/options_menu2.h b/include/options_menu2.h index e0a140ca1..b42307a8b 100644 --- a/include/options_menu2.h +++ b/include/options_menu2.h @@ -8,7 +8,7 @@ struct unkStruct_203B260 { /* 0x0 */ GameOptions *optionsMenu; - /* 0x4 */ MenuInputStructSub unk4; + /* 0x4 */ TouchScreenMenuInput unk4; /* 0x10 */ MenuInputStruct input; u32 unk44; WindowTemplate *unk48; diff --git a/include/personality_test1.h b/include/personality_test1.h index e1f302d8e..d83901d44 100644 --- a/include/personality_test1.h +++ b/include/personality_test1.h @@ -36,7 +36,7 @@ typedef struct PersonalityTestTracker /* 0x44 */ s32 NatureTotals[NUM_PERSONALITIES]; /* 0x78 */ u8 QuestionTracker[NUM_QUIZ_QUESTIONS]; /* 0xB0 */ u32 playerGender; // 0 = Male, 1 = Female - /* 0xB4 */ MenuInputStructSub input; + /* 0xB4 */ TouchScreenMenuInput input; } PersonalityTestTracker; bool8 CreateTestTracker(void); diff --git a/include/pokemon_news2.h b/include/pokemon_news2.h index a3bad811f..6c2398a82 100644 --- a/include/pokemon_news2.h +++ b/include/pokemon_news2.h @@ -15,7 +15,7 @@ struct unkStruct_203B2D4 u32 unk20; u32 unk24; WindowTemplates unk28; - MenuInputStructSub unk88; + TouchScreenMenuInput unk88; }; bool8 sub_802B9FC(u8 mailIndex); diff --git a/include/post_office_guide2.h b/include/post_office_guide2.h index 95f782ac8..41f947314 100644 --- a/include/post_office_guide2.h +++ b/include/post_office_guide2.h @@ -7,7 +7,7 @@ // size: 0x78 typedef struct unkStruct_203B330 { - /* 0x0 */ MenuInputStructSub input; + /* 0x0 */ TouchScreenMenuInput input; u8 unkC; /* 0xD */ u8 dungeonIndex; u32 unk10; diff --git a/include/structs/menu.h b/include/structs/menu.h index df99e16eb..56e23d594 100644 --- a/include/structs/menu.h +++ b/include/structs/menu.h @@ -6,7 +6,7 @@ #include "structs/str_position.h" // size: R=0xC | NDS=0xA? -typedef struct MenuInputStructSub +typedef struct TouchScreenMenuInput { /* R=0x0 | B=0x0 */ u8 unk0; /* R=0x1 | B=0x1 */ u8 a_button; @@ -15,7 +15,7 @@ typedef struct MenuInputStructSub /* R=0x4 | B=0x4 */ u8 dpad_left; /* R=0x5 | B=0x5 */ u8 unk5; /* R=0x8 | B=0x6 */ DungeonPos unk8; -} MenuInputStructSub; +} TouchScreenMenuInput; // size: R=0x34 | NDS=0x32? typedef struct MenuInputStruct @@ -28,14 +28,14 @@ typedef struct MenuInputStruct /* 0x10 */ u32 unk10; /* 0x14 */ DungeonPos unk14; /* 0x18 */ s16 menuIndex; - /* 0x1A */ s16 unk1A; + /* 0x1A */ s16 currPageEntries; /* 0x1C */ s16 entriesPerPage; /* 0x1E */ s16 currPage; - /* 0x20 */ s16 unk20; + /* 0x20 */ s16 pagesCount; /* 0x22 */ s16 totalEntriesCount; /* 0x24 */ u16 unk24; /* 0x26 */ u16 unk26; - /* 0x28 */ MenuInputStructSub unk28; + /* 0x28 */ TouchScreenMenuInput touchScreen; // For obvious reason unused on GBA } MenuInputStruct; // size: 0x8 diff --git a/include/structs/struct_sub80095e4.h b/include/structs/struct_sub80095e4.h index 69ee9c90c..e98539edd 100644 --- a/include/structs/struct_sub80095e4.h +++ b/include/structs/struct_sub80095e4.h @@ -47,13 +47,13 @@ typedef struct struct_Sub80095E4_2 #define SUB_80095E4_CALL(ptr) \ { \ - SUB_8009_MATCH(ptr, sub_80095E4((ptr).input.unk1A, 12) + 2) \ + SUB_8009_MATCH(ptr, sub_80095E4((ptr).input.currPageEntries, 12) + 2) \ } // For sub_801C440 and sub_8023420 where unkE and unk10 are the same. #define SUB_80095E4_CALL_2(ptr) \ { \ - s32 a0 = sub_80095E4((ptr).input.unk1A, 12) + 2; \ + s32 a0 = sub_80095E4((ptr).input.currPageEntries, 12) + 2; \ UNUSED s16 oldE = (ptr).windows.id[(ptr).winId].height; \ s16 newE = a0; \ \ @@ -67,7 +67,7 @@ typedef struct struct_Sub80095E4_2 // sub_802BF30 and sub_802C328 use a different function call, and 24 instead of 12 #define SUB_8009614_CALL(ptr) \ { \ - SUB_8009_MATCH(ptr, sub_8009614((ptr).input.unk1A, 24) + 2) \ + SUB_8009_MATCH(ptr, sub_8009614((ptr).input.currPageEntries, 24) + 2) \ } #endif // GUARD_struct_sub80095e4_H diff --git a/include/wigglytuff_shop2.h b/include/wigglytuff_shop2.h index 402d9fc74..b072e4a13 100644 --- a/include/wigglytuff_shop2.h +++ b/include/wigglytuff_shop2.h @@ -6,7 +6,7 @@ typedef struct WigglytuffShop2Work { - MenuInputStructSub unk0; + TouchScreenMenuInput unk0; /* 0xC */ u8 friendArea; bool8 unkD; s16 friendAreaSpecies[0x10]; diff --git a/src/adventure_log.c b/src/adventure_log.c index 8deb5f17d..a304333d8 100644 --- a/src/adventure_log.c +++ b/src/adventure_log.c @@ -51,7 +51,7 @@ u32 HandleAdventureLogInput(bool8 a0) PlayMenuSoundEffect(0); return 3; default: - if (sub_8013938(&sAdventureLog->s0.input)) { + if (MenuCursorUpdateOnlyLeftRight(&sAdventureLog->s0.input)) { sub_8032084(); DisplayAdventureLog(); return 1; @@ -73,7 +73,7 @@ void CleanAdventureLogScreen(void) static void sub_8032084(void) { - sAdventureLog->header.count = sAdventureLog->s0.input.unk20; + sAdventureLog->header.count = sAdventureLog->s0.input.pagesCount; sAdventureLog->header.currId = sAdventureLog->s0.input.currPage; sAdventureLog->header.width = 11; sAdventureLog->header.f3 = 0; @@ -99,7 +99,7 @@ static void DisplayAdventureLog(void) r6 = r4 + (sAdventureLog->header.width * 8); sub_8012BC4(r6, 0, sAdventureLog->s0.input.currPage + 1, 1, 7, sAdventureLog->s0.winId); - for (i = 0; i < sAdventureLog->s0.input.unk1A; i++) { + for (i = 0; i < sAdventureLog->s0.input.currPageEntries; i++) { aa = (sAdventureLog->s0.input.currPage * sAdventureLog->s0.input.entriesPerPage) + i; if (GetAdventureAchievement(aa)) { diff --git a/src/code_801B3C0.c b/src/code_801B3C0.c index 76258d19d..f821210cd 100644 --- a/src/code_801B3C0.c +++ b/src/code_801B3C0.c @@ -26,7 +26,7 @@ bool8 InitItemDescriptionWindow(Item *item) ResetSprites(TRUE); sUnknown_203B230 = MemoryAlloc(sizeof(unkStruct_203B230), 8); sUnknown_203B230->item = *item; - sub_801317C(&sUnknown_203B230->unk88); + ResetTouchScreenMenuInput(&sUnknown_203B230->unk88); sUnknown_203B230->unk24 = 0; sub_80140B4(&sUnknown_203B230->unk28); ResetUnusedInputStruct(); diff --git a/src/code_801C8C4.c b/src/code_801C8C4.c index 6555226b4..26ea0c2bb 100644 --- a/src/code_801C8C4.c +++ b/src/code_801C8C4.c @@ -46,7 +46,7 @@ bool8 sub_801C8C4(s32 a0, s32 a1, DungeonPos *a2, u32 a3) if (sUnknown_203B248 == sUnknown_203B244->unk0) { sUnknown_203B244->unk4B4.s0.input.menuIndex = sUnknown_203B24C; sUnknown_203B244->unk4B4.s0.input.currPage = sUnknown_203B24E; - sub_8013984(&sUnknown_203B244->unk4B4.s0.input); + MenuUpdatePagesData(&sUnknown_203B244->unk4B4.s0.input); } sub_801CC38(); @@ -83,7 +83,7 @@ u32 sub_801CA08(bool8 a0) if (temp != 0 || (flag = (INVENTORY_SIZE > GetNumberOfFilledInventorySlots() + sub_801CFB8())) || flag) { PlayMenuSoundEffect(6); sUnknown_203B244->unkF4[index] = sUnknown_203B244->unkF4[index] ^ 1; - sub_80138B8(&sUnknown_203B244->unk4B4.s0.input,0); + MenuCursorUpdate(&sUnknown_203B244->unk4B4.s0.input,0); sub_801CCD8(); return 1; } @@ -95,7 +95,7 @@ u32 sub_801CA08(bool8 a0) return 4; default: _0801CAF2: - if (sub_80138B8(&sUnknown_203B244->unk4B4.s0.input, 1)) { + if (MenuCursorUpdate(&sUnknown_203B244->unk4B4.s0.input, 1)) { sub_801CC38(); sub_801CCD8(); return 1; @@ -106,7 +106,7 @@ u32 sub_801CA08(bool8 a0) u8 sub_801CB24(void) { - return sUnknown_203B244->itemIDs[(sUnknown_203B244->unk4B4.s0.input.currPage * sUnknown_203B244->unk4B4.s0.input.entriesPerPage) + sUnknown_203B244->unk4B4.s0.input.menuIndex]; + return sUnknown_203B244->itemIDs[GET_CURRENT_MENU_ENTRY(sUnknown_203B244->unk4B4.s0.input)]; } void sub_801CB5C(bool8 a0) @@ -114,7 +114,7 @@ void sub_801CB5C(bool8 a0) ResetUnusedInputStruct(); ShowWindows(&sUnknown_203B244->unk4B4.s0.windows, FALSE, FALSE); sUnknown_203B244->unk4B4.s0.input.totalEntriesCount = sub_801CE58(); - sub_8013984(&sUnknown_203B244->unk4B4.s0.input); + MenuUpdatePagesData(&sUnknown_203B244->unk4B4.s0.input); sub_801CC38(); sub_801CCD8(); @@ -159,7 +159,7 @@ void sub_801CCD8(void) PrintStringOnWindow(10, 0, sStorage, sUnknown_203B244->unk4B4.s0.winId, 0); sub_8012BC4(sUnknown_203B244->unk4B4.header.width * 8 + 4, 0, sUnknown_203B244->unk4B4.s0.input.currPage + 1, 2, 7, sUnknown_203B244->unk4B4.s0.winId); - for(index = 0; index < sUnknown_203B244->unk4B4.s0.input.unk1A; index++) { + for(index = 0; index < sUnknown_203B244->unk4B4.s0.input.currPageEntries; index++) { itemID = sUnknown_203B244->itemIDs[(sUnknown_203B244->unk4B4.s0.input.currPage * sUnknown_203B244->unk4B4.s0.input.entriesPerPage) + index]; BufferItemName(buffer, itemID, NULL); y = GetMenuEntryYCoord(&sUnknown_203B244->unk4B4.s0.input, index); diff --git a/src/code_801EE10.c b/src/code_801EE10.c index d82659c96..7d13af7ff 100644 --- a/src/code_801EE10.c +++ b/src/code_801EE10.c @@ -253,7 +253,7 @@ void sub_801F1B0(bool8 param_1, bool8 param_2) ResetUnusedInputStruct(); ShowWindows(&gUnknown_203B270->windows, TRUE, TRUE); gUnknown_203B270->input.totalEntriesCount = sub_801F3F8(); - sub_8013984(&gUnknown_203B270->input); + MenuUpdatePagesData(&gUnknown_203B270->input); gUnknown_203B270->input.menuIndex = sub_8092F4C(gUnknown_203B270->moves, gUnknown_203B270->input.menuIndex); sub_801F280(TRUE); if(param_1) @@ -289,7 +289,7 @@ void sub_801F280(bool8 param_1) strcpy(gFormatBuffer_Monsters[0],buffer); PrintFormattedStringOnWindow(0xc,0,gUnknown_80DC28C,gUnknown_203B270->unk50,0); // Move: {COLOR_1 YELLOW}{ARG_POKEMON_0){END_COLOR_TEXT_1} - for (i = 0; i < gUnknown_203B270->input.unk1A; i++) { + for (i = 0; i < gUnknown_203B270->input.currPageEntries; i++) { struct Move *move; bool8 linkChain; s32 x, y; diff --git a/src/code_801F428.c b/src/code_801F428.c index ee237be09..376c43173 100644 --- a/src/code_801F428.c +++ b/src/code_801F428.c @@ -91,7 +91,7 @@ u32 sub_801F520(u8 param_1) default: break; } - if (sub_80138B8(&gUnknown_203B274->s348.s0.input,1) != 0) { + if (MenuCursorUpdate(&gUnknown_203B274->s348.s0.input,1) != 0) { sub_801F690(); sub_801F700(); return 1; @@ -104,14 +104,14 @@ u32 sub_801F520(u8 param_1) u16 sub_801F5B4(void) { - return gUnknown_203B274->unk4->unk0[gUnknown_203B274->s348.s0.input.currPage * gUnknown_203B274->s348.s0.input.entriesPerPage + gUnknown_203B274->s348.s0.input.menuIndex]; + return gUnknown_203B274->unk4->unk0[GET_CURRENT_MENU_ENTRY(gUnknown_203B274->s348.s0.input)]; } void sub_801F5F0(bool8 r0) { ResetUnusedInputStruct(); ShowWindows(&gUnknown_203B274->s348.s0.windows, FALSE, FALSE); - sub_8013984(&gUnknown_203B274->s348.s0.input); + MenuUpdatePagesData(&gUnknown_203B274->s348.s0.input); sub_801F690(); sub_801F700(); if(r0) @@ -144,9 +144,9 @@ void sub_801F700(void) CallPrepareTextbox_8008C54(gUnknown_203B274->s348.s0.winId); sub_80073B8(gUnknown_203B274->s348.s0.winId); - sprintfStatic(buffer1,gUnknown_80DC2DC,gUnknown_203B274->s348.s0.input.currPage + 1,gUnknown_203B274->s348.s0.input.unk20); // Moves Page: %d/%d + sprintfStatic(buffer1,gUnknown_80DC2DC,gUnknown_203B274->s348.s0.input.currPage + 1,gUnknown_203B274->s348.s0.input.pagesCount); // Moves Page: %d/%d PrintStringOnWindow(0x10,0,buffer1,gUnknown_203B274->s348.s0.winId,0); - for(index = 0; index < gUnknown_203B274->s348.s0.input.unk1A; index++) + for(index = 0; index < gUnknown_203B274->s348.s0.input.currPageEntries; index++) { sub_8092C84(buffer2,gUnknown_203B274->unk4->unk0[gUnknown_203B274->s348.s0.input.currPage * gUnknown_203B274->s348.s0.input.entriesPerPage + index]); y = GetMenuEntryYCoord(&gUnknown_203B274->s348.s0.input, index); diff --git a/src/code_801F808.c b/src/code_801F808.c index e56598513..6f49bc69e 100644 --- a/src/code_801F808.c +++ b/src/code_801F808.c @@ -27,7 +27,7 @@ struct unkStruct_203B278 WindowTemplate *unk60; WindowTemplates windows; WindowHeader unkC4; - MenuInputStructSub unkC8; + TouchScreenMenuInput unkC8; }; EWRAM_INIT struct unkStruct_203B278 *gUnknown_203B278 = {NULL}; @@ -67,7 +67,7 @@ bool8 sub_801F808(u16 *moveIDs) if(gUnknown_203B278->moveIDs[index - 1] != 0) break; } CreateMenuOnWindow(&gUnknown_203B278->unk28,index,1,gUnknown_203B278->unk5C); - sub_801317C(&gUnknown_203B278->unkC8); + ResetTouchScreenMenuInput(&gUnknown_203B278->unkC8); sub_801F918(0); return 1; } @@ -116,7 +116,7 @@ void sub_801F930(void) { case 0: gUnknown_203B278->unk60->header = &gUnknown_203B278->unkC4; - gUnknown_203B278->unkC4.count = gUnknown_203B278->unk28.unk20; + gUnknown_203B278->unkC4.count = gUnknown_203B278->unk28.pagesCount; gUnknown_203B278->unkC4.currId = gUnknown_203B278->unk28.currPage; gUnknown_203B278->unkC4.width = 0x10; gUnknown_203B278->unkC4.f3 = 0; @@ -183,7 +183,7 @@ void sub_801FA58(void) sub_801F918(2); break; default: - if(sub_8013938(&gUnknown_203B278->unk28)) + if(MenuCursorUpdateOnlyLeftRight(&gUnknown_203B278->unk28)) { sub_801F918(0); } diff --git a/src/code_8023144.c b/src/code_8023144.c index a4b1f9386..f34ec6916 100644 --- a/src/code_8023144.c +++ b/src/code_8023144.c @@ -63,7 +63,7 @@ bool8 sub_8023144(s32 a0, s32 index, DungeonPos *sub, u32 a3) CreateMenuOnWindow(&gUnknown_3001B5C->s35C.s0.input, sub_80236A4(), a3, index); gUnknown_3001B5C->s35C.s0.input.menuIndex = gUnknown_203B29C; gUnknown_3001B5C->s35C.s0.input.currPage = gUnknown_203B29E; - sub_8013984(&gUnknown_3001B5C->s35C.s0.input); + MenuUpdatePagesData(&gUnknown_3001B5C->s35C.s0.input); sub_8023420(); sub_80234BC(); return TRUE; @@ -95,7 +95,7 @@ u32 sub_8023278(bool8 a0) sub_80236A4(); break; default: - if (sub_80138B8(&gUnknown_3001B5C->s35C.s0.input, 1) == 0) + if (MenuCursorUpdate(&gUnknown_3001B5C->s35C.s0.input, 1) == 0) return 0; break; } @@ -107,14 +107,14 @@ u32 sub_8023278(bool8 a0) s16 sub_802331C(void) { - return gUnknown_3001B5C->unkC[(gUnknown_3001B5C->s35C.s0.input.currPage * gUnknown_3001B5C->s35C.s0.input.entriesPerPage) + gUnknown_3001B5C->s35C.s0.input.menuIndex]; + return gUnknown_3001B5C->unkC[GET_CURRENT_MENU_ENTRY(gUnknown_3001B5C->s35C.s0.input)]; } void sub_8023354(bool8 cursorSprite) { ResetUnusedInputStruct(); ShowWindows(&gUnknown_3001B5C->s35C.s0.windows, FALSE, FALSE); - sub_8013984(&gUnknown_3001B5C->s35C.s0.input); + MenuUpdatePagesData(&gUnknown_3001B5C->s35C.s0.input); sub_8023420(); sub_80234BC(); @@ -165,7 +165,7 @@ static void sub_80234BC(void) sub_8012BC4((gUnknown_3001B5C->s35C.header.width * 8) + 4, 0, gUnknown_3001B5C->s35C.s0.input.currPage + 1, 2, 7, gUnknown_3001B5C->s35C.s0.winId); - for (i = 0; i < gUnknown_3001B5C->s35C.s0.input.unk1A; i++) { + for (i = 0; i < gUnknown_3001B5C->s35C.s0.input.currPageEntries; i++) { y = GetMenuEntryYCoord(&gUnknown_3001B5C->s35C.s0.input, i); species = gUnknown_3001B5C->unkC[(gUnknown_3001B5C->s35C.s0.input.currPage * gUnknown_3001B5C->s35C.s0.input.entriesPerPage) + i]; GetFriendAreaCapacity2(GetFriendArea(species), &auStack_2c, FALSE, FALSE); diff --git a/src/code_8024458.c b/src/code_8024458.c index c9a2f61b8..e812f85cc 100644 --- a/src/code_8024458.c +++ b/src/code_8024458.c @@ -33,7 +33,7 @@ bool8 sub_8024458(s16 speciesNum, s32 a1) sUnknown_203B2AC->unk148.width = 10; sub_8024604(); sub_802452C(); - sub_8013984(&sUnknown_203B2AC->input); + MenuUpdatePagesData(&sUnknown_203B2AC->input); return TRUE; } @@ -47,7 +47,7 @@ u32 sub_80244E4(void) PlayMenuSoundEffect(0); return 3; default: - if (sub_8013938(&sUnknown_203B2AC->input)) { + if (MenuCursorUpdateOnlyLeftRight(&sUnknown_203B2AC->input)) { sub_802452C(); return 1; } @@ -74,7 +74,7 @@ void sub_802453C(void) static void sub_8024588(void) { - sUnknown_203B2AC->unk148.count = sUnknown_203B2AC->input.unk20; + sUnknown_203B2AC->unk148.count = sUnknown_203B2AC->input.pagesCount; sUnknown_203B2AC->unk148.currId = sUnknown_203B2AC->input.currPage; sUnknown_203B2AC->unk148.f3 = 0; ResetUnusedInputStruct(); diff --git a/src/code_802DE84.c b/src/code_802DE84.c index f731d9706..37a799812 100644 --- a/src/code_802DE84.c +++ b/src/code_802DE84.c @@ -20,7 +20,7 @@ bool8 sub_802DE84(unkStruct_802C39C *mail) { sUnknown_203B300 = MemoryAlloc(sizeof(struct unkStruct_203B300), 8); sUnknown_203B300->mail = mail; - sub_801317C(&sUnknown_203B300->unk0); + ResetTouchScreenMenuInput(&sUnknown_203B300->unk0); sUnknown_203B300->unk10 = sUnknown_203B300->mail->unk0[0]; sUnknown_203B300->unk14 = &sUnknown_203B300->unk18.id[sUnknown_203B300->unk10]; RestoreSavedWindows(&sUnknown_203B300->unk18); diff --git a/src/code_8031D70.c b/src/code_8031D70.c index 270bcd092..418ce8b6c 100644 --- a/src/code_8031D70.c +++ b/src/code_8031D70.c @@ -18,7 +18,7 @@ struct unkStruct_203B334 { // size: 0x7C u32 mailIndex; - MenuInputStructSub unk4; + TouchScreenMenuInput unk4; u32 unk10; WindowTemplate *unk14; WindowTemplates unk18; @@ -58,7 +58,7 @@ bool8 sub_8031D70(u32 mailIndex, s32 param_2) { gUnknown_203B334 = MemoryAlloc(sizeof(struct unkStruct_203B334),8); gUnknown_203B334->mailIndex = mailIndex; - sub_801317C(&gUnknown_203B334->unk4); + ResetTouchScreenMenuInput(&gUnknown_203B334->unk4); gUnknown_203B334->unk10 = param_2; gUnknown_203B334->unk14 = &gUnknown_203B334->unk18.id[param_2]; RestoreSavedWindows(&gUnknown_203B334->unk18); diff --git a/src/code_8072F3C.c b/src/code_8072F3C.c index 3f6e56dc6..c7b4037ae 100644 --- a/src/code_8072F3C.c +++ b/src/code_8072F3C.c @@ -135,7 +135,7 @@ u32 sub_802F8A0(u8 r0) PlayMenuSoundEffect(0); return 3; default: - if(sub_80138B8(&gUnknown_203B314->sBC.s0.input, 1) != 0) + if(MenuCursorUpdate(&gUnknown_203B314->sBC.s0.input, 1) != 0) { sub_802F9C0(); sub_802FA50(); @@ -151,13 +151,13 @@ u32 sub_802F8A0(u8 r0) s16 sub_802F90C(void) { - return gUnknown_203B314->unk0[(gUnknown_203B314->sBC.s0.input.currPage * gUnknown_203B314->sBC.s0.input.entriesPerPage) + gUnknown_203B314->sBC.s0.input.menuIndex]; + return gUnknown_203B314->unk0[GET_CURRENT_MENU_ENTRY(gUnknown_203B314->sBC.s0.input)]; } void sub_802F938(u8 r0) { gUnknown_203B314->sBC.s0.input.totalEntriesCount = sub_802FBF4(); - sub_8013984(&gUnknown_203B314->sBC.s0.input); + MenuUpdatePagesData(&gUnknown_203B314->sBC.s0.input); sub_802F9C0(); sub_802FA50(); @@ -201,7 +201,7 @@ void sub_802FA50(void) PrintStringOnWindow(10,0,gUnknown_80E0744,gUnknown_203B314->sBC.s0.winId,0); sub_8012BC4(gUnknown_203B314->sBC.header.width * 8 + 4,0,gUnknown_203B314->sBC.s0.input.currPage + 1,2,7,gUnknown_203B314->sBC.s0.winId); if (gUnknown_203B314->unkB8 != 0) { - for(counter = 0; counter < gUnknown_203B314->sBC.s0.input.unk1A; counter++) + for(counter = 0; counter < gUnknown_203B314->sBC.s0.input.currPageEntries; counter++) { y = GetMenuEntryYCoord(&gUnknown_203B314->sBC.s0.input,counter); index = gUnknown_203B314->sBC.s0.input.currPage * gUnknown_203B314->sBC.s0.input.entriesPerPage + counter; @@ -216,7 +216,7 @@ void sub_802FA50(void) } } else { - for(counter = 0; counter < gUnknown_203B314->sBC.s0.input.unk1A; counter++) + for(counter = 0; counter < gUnknown_203B314->sBC.s0.input.currPageEntries; counter++) { y2 = GetMenuEntryYCoord(&gUnknown_203B314->sBC.s0.input,counter); text = sub_80974A0(gUnknown_203B314->unk0[gUnknown_203B314->sBC.s0.input.currPage * gUnknown_203B314->sBC.s0.input.entriesPerPage + counter]); diff --git a/src/debug_field_map_window.c b/src/debug_field_map_window.c index 3ad71ac58..faf299aa1 100644 --- a/src/debug_field_map_window.c +++ b/src/debug_field_map_window.c @@ -64,24 +64,24 @@ u32 DebugFieldMapWindow_GetInput(void) case INPUT_A_BUTTON: return DEBUG_INPUT_A_PRESS; default: - if (sub_80138B8(&sDebugWindow->s0.input, 1)) { + if (MenuCursorUpdate(&sDebugWindow->s0.input, TRUE)) { sub_801DB54(); sub_801DBD4(); - return 1; + return DEBUG_INPUT_DPAD; } - return 0; + return DEBUG_INPUT_NOTHING; } } s16 DebugFieldMapWindow_GetCurrentIndex(void) { - return (sDebugWindow->s0.input.currPage * sDebugWindow->s0.input.entriesPerPage) + sDebugWindow->s0.input.menuIndex; + return GET_CURRENT_MENU_ENTRY(sDebugWindow->s0.input); } UNUSED static void sub_801DADC(bool8 a0) { sDebugWindow->s0.input.totalEntriesCount = 229; - sub_8013984(&sDebugWindow->s0.input); + MenuUpdatePagesData(&sDebugWindow->s0.input); sub_801DB54(); sub_801DBD4(); if (a0) @@ -130,7 +130,7 @@ static void sub_801DBD4(void) // This line has no real effect. It's a magic 'fakematch' to fool agb into generating the same asm. It can be removed if you don't care about matching. if (x) { counter = 0; } - for (counter = 0; counter < sDebugWindow->s0.input.unk1A; counter++) { + for (counter = 0; counter < sDebugWindow->s0.input.currPageEntries; counter++) { index = (sDebugWindow->s0.input.currPage * sDebugWindow->s0.input.entriesPerPage) + counter; temp = &gGroundConversion_811BAF4[index]; temp2 = &gUnknown_81188F0[temp->unk4]; diff --git a/src/dungeon_8067A80.c b/src/dungeon_8067A80.c index ea82781da..449adafbd 100644 --- a/src/dungeon_8067A80.c +++ b/src/dungeon_8067A80.c @@ -121,18 +121,18 @@ void sub_8067A80(u8 a0, s32 a1, s32 a2, PokemonStruct1 **a3) DungeonShowWindows(&spTxtStruct, 1); sub_8067F00(a0, a3, gUnknown_202F30C, a2, a1); - gDungeonMenu.unk1A = min(a2, 8); + gDungeonMenu.currPageEntries = min(a2, 8); gDungeonMenu.menuIndex = r10; gDungeonMenu.entriesPerPage = 8; gDungeonMenu.currPage = 0; - gDungeonMenu.unk20 = 0; + gDungeonMenu.pagesCount = 0; gDungeonMenu.unk4 = 0; gDungeonMenu.firstEntryY = 18; gDungeonMenu.leftRightArrowsPos.x = 0; gDungeonMenu.leftRightArrowsPos.y = 0; gDungeonMenu.unk14.x = 0; gDungeonMenu.windowId = 0; - sub_801317C(&gDungeonMenu.unk28); + ResetTouchScreenMenuInput(&gDungeonMenu.touchScreen); sub_80137B0(&gDungeonMenu, 0); while (1) { s32 r4; @@ -222,12 +222,12 @@ void sub_8067A80(u8 a0, s32 a1, s32 a2, PokemonStruct1 **a3) r7 = 3; break; } - if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) { + if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.touchScreen.a_button) { PlayDungeonConfirmationSE(); r7 = 1; break; } - if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) { + if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); r7 = 2; break; @@ -296,7 +296,7 @@ void sub_8067A80(u8 a0, s32 a1, s32 a2, PokemonStruct1 **a3) MoveMenuCursorUpWrapAround(&gDungeonMenu, 1); } - if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) { + if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.touchScreen.a_button) { if (CanSubMenuItemBeChosen(gDungeonMenu.menuIndex)) { PlayDungeonConfirmationSE(); r7 = 1; @@ -304,7 +304,7 @@ void sub_8067A80(u8 a0, s32 a1, s32 a2, PokemonStruct1 **a3) } PlayDungeonCancelSE(); } - if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) { + if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); r7 = 0; break; @@ -420,8 +420,8 @@ void sub_806806C(PokemonStruct1 *a0) gUnknown_202F308.f3 = 0; gDungeonMenu.currPage = r7; - gDungeonMenu.unk20 = 4; - gDungeonMenu.unk1A = 0; + gDungeonMenu.pagesCount = 4; + gDungeonMenu.currPageEntries = 0; gDungeonMenu.menuIndex = 0; gDungeonMenu.entriesPerPage = 0; gDungeonMenu.unk4 = 0; @@ -429,7 +429,7 @@ void sub_806806C(PokemonStruct1 *a0) gDungeonMenu.unk14.x = 0; gDungeonMenu.windowId = 0; - sub_801317C(&gDungeonMenu.unk28); + ResetTouchScreenMenuInput(&gDungeonMenu.touchScreen); DungeonShowWindows(&spTxtStruct, 1); SetMonSummaryInfo(&unkStruct, a0, gDungeon->unk644.unk16); ShowPokemonSummaryWindow(spF8[r7], r7, &unkStruct, &var_C8, 0); @@ -452,14 +452,14 @@ void sub_806806C(PokemonStruct1 *a0) r5 = sub_8014140(0, gUnknown_8106DA4); DungeonRunFrameActions(0x1C); - if ((gRealInputs.pressed & DPAD_RIGHT) || gDungeonMenu.unk28.dpad_right) { + if ((gRealInputs.pressed & DPAD_RIGHT) || gDungeonMenu.touchScreen.dpad_right) { PlayDungeonCursorSE(0); if (++r7 == 4) { r7 = 0; } break; } - if ((gRealInputs.pressed & DPAD_LEFT) || gDungeonMenu.unk28.dpad_left) { + if ((gRealInputs.pressed & DPAD_LEFT) || gDungeonMenu.touchScreen.dpad_left) { PlayDungeonCursorSE(0); if (--r7 == -1) { r7 = 3; @@ -496,12 +496,12 @@ void sub_806806C(PokemonStruct1 *a0) continue; } - if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) { + if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.touchScreen.a_button) { PlayDungeonConfirmationSE(); loopBreak = TRUE; break; } - if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) { + if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); loopBreak = TRUE; break; diff --git a/src/dungeon_main.c b/src/dungeon_main.c index e8f8ca028..5e0987c4a 100644 --- a/src/dungeon_main.c +++ b/src/dungeon_main.c @@ -1207,7 +1207,7 @@ static void ShowMainMenu(bool8 fromBPress, bool8 a1) PlayDungeonCursorSE(1); MoveMenuCursorUpWrapAround(&gDungeonMenu, TRUE); } - if ((gRealInputs.pressed & A_BUTTON || gDungeonMenu.unk28.a_button)) { + if ((gRealInputs.pressed & A_BUTTON || gDungeonMenu.touchScreen.a_button)) { if (gUnknown_202749A[gDungeonMenu.menuIndex + 1] == 7) { PlayDungeonConfirmationSE(); chosenOption = gDungeonMenu.menuIndex; @@ -1215,7 +1215,7 @@ static void ShowMainMenu(bool8 fromBPress, bool8 a1) } PlayDungeonCancelSE(); } - if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) { + if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); chosenOption = -1; break; @@ -1533,7 +1533,7 @@ static void PrintOnMainMenu(bool8 printAll) s32 i, x, y, yLoop; gDungeonMenu.menuIndex = 0; - gDungeonMenu.unk1A = 5; + gDungeonMenu.currPageEntries = 5; gDungeonMenu.entriesPerPage = 5; gDungeonMenu.currPage = 0; gDungeonMenu.unk4 = 0; @@ -1542,7 +1542,7 @@ static void PrintOnMainMenu(bool8 printAll) gDungeonMenu.leftRightArrowsPos.y = 0; gDungeonMenu.windowId = 0; gDungeonMenu.unk14.x = 0; - sub_801317C(&gDungeonMenu.unk28); + ResetTouchScreenMenuInput(&gDungeonMenu.touchScreen); sub_80137B0(&gDungeonMenu, 0x38); if (printAll) { sub_803EAF0(7, NULL); diff --git a/src/dungeon_menu_items.c b/src/dungeon_menu_items.c index 2274026d8..b7a76cf8d 100644 --- a/src/dungeon_menu_items.c +++ b/src/dungeon_menu_items.c @@ -192,7 +192,7 @@ bool8 ShowDungeonItemsMenu(Entity * a0, struct UnkMenuBitsStruct *a1) DungeonRunFrameActions(0x14); if (!var_30) { if (sUnknown_202F258 > 1) { - if ((gRealInputs.pressed & DPAD_LEFT) || gDungeonMenu.unk28.dpad_left) { + if ((gRealInputs.pressed & DPAD_LEFT) || gDungeonMenu.touchScreen.dpad_left) { PlayDungeonCursorSE(0); if (--r8 < 0) { r8 = sUnknown_202F258 - 1; @@ -200,7 +200,7 @@ bool8 ShowDungeonItemsMenu(Entity * a0, struct UnkMenuBitsStruct *a1) sUnknown_202F240 = var_30; break; } - if ((gRealInputs.pressed & DPAD_RIGHT) || gDungeonMenu.unk28.dpad_right) { + if ((gRealInputs.pressed & DPAD_RIGHT) || gDungeonMenu.touchScreen.dpad_right) { PlayDungeonCursorSE(0); if (++r8 == sUnknown_202F258) { r8 = 0; @@ -247,7 +247,7 @@ bool8 ShowDungeonItemsMenu(Entity * a0, struct UnkMenuBitsStruct *a1) } break; } - if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) { + if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.touchScreen.a_button) { PlayDungeonConfirmationSE(); sub_8060890(&a0->pos); inputAction = 1; @@ -259,7 +259,7 @@ bool8 ShowDungeonItemsMenu(Entity * a0, struct UnkMenuBitsStruct *a1) inputAction = 3; break; } - if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) { + if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); inputAction = 2; break; @@ -315,7 +315,7 @@ bool8 ShowDungeonItemsMenu(Entity * a0, struct UnkMenuBitsStruct *a1) PlayDungeonCursorSE(1); MoveMenuCursorUpWrapAround(&gDungeonMenu, TRUE); } - if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) { + if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.touchScreen.a_button) { if (CanSubMenuItemBeChosen(gDungeonMenu.menuIndex)) { PlayDungeonConfirmationSE(); ChosenSubMenuToAction(&a0Info->action); @@ -324,7 +324,7 @@ bool8 ShowDungeonItemsMenu(Entity * a0, struct UnkMenuBitsStruct *a1) } PlayDungeonCancelSE(); } - if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) { + if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); inputAction = 1; break; @@ -391,13 +391,13 @@ static void PrintOnDungeonItemsMenu(s32 a0, Entity *a1, bool8 showWhichWindow, b a1Info = GetEntInfo(a1); r10 = sub_8060800(header, a0); gDungeonMenu.menuIndex = sUnknown_202F240; - gDungeonMenu.unk1A = 0; + gDungeonMenu.currPageEntries = 0; gDungeonMenu.currPage = a0; - gDungeonMenu.unk20 = sUnknown_202F258; + gDungeonMenu.pagesCount = sUnknown_202F258; gDungeonMenu.unk4 = 0; gDungeonMenu.windowId = 0; gDungeonMenu.unk14.x = 0; - sub_801317C(&gDungeonMenu.unk28); + ResetTouchScreenMenuInput(&gDungeonMenu.touchScreen); gDungeon->unk181e8.unk18212 = 0; switch (sUnknown_202F248[a0]) { case 0: @@ -449,7 +449,7 @@ static void PrintOnDungeonItemsMenu(s32 a0, Entity *a1, bool8 showWhichWindow, b PrintFormattedStringOnWindow(x, 0, gTeamToolboxAPtr, 0, 0); for (i = 0; i < 10; i++) { if (ItemExists(&gTeamInventoryRef->teamItems[i])) { - gDungeonMenu.unk1A++; + gDungeonMenu.currPageEntries++; sub_8090E14(txtBuff, &gTeamInventoryRef->teamItems[i], &gUnknown_8106B60); y = GetMenuEntryYCoord(&gDungeonMenu, i); PrintFormattedStringOnWindow(8, y, txtBuff, 0, 0); @@ -463,7 +463,7 @@ static void PrintOnDungeonItemsMenu(s32 a0, Entity *a1, bool8 showWhichWindow, b PrintFormattedStringOnWindow(x, 0, gTeamToolboxBPtr, 0, 0); for (i = 0; i < 10; i++) { if (ItemExists(&gTeamInventoryRef->teamItems[i + 10])) { - gDungeonMenu.unk1A++; + gDungeonMenu.currPageEntries++; sub_8090E14(txtBuff, &gTeamInventoryRef->teamItems[i + 10], &gUnknown_8106B60); y = GetMenuEntryYCoord(&gDungeonMenu, i); PrintFormattedStringOnWindow(8, y, txtBuff, 0, 0); @@ -478,7 +478,7 @@ static void PrintOnDungeonItemsMenu(s32 a0, Entity *a1, bool8 showWhichWindow, b Item *item = GetItemData(tile->object); PrintFormattedStringOnWindow(x, 0, gFieldItemMenuGroundTextPtr, 0, 0); if (item->flags & ITEM_FLAG_EXISTS) { - gDungeonMenu.unk1A++; + gDungeonMenu.currPageEntries++; sub_8090E14(txtBuff, item, &gUnknown_8106B60); y = GetMenuEntryYCoord(&gDungeonMenu, 0); PrintFormattedStringOnWindow(8, y, txtBuff, 0, 0); @@ -493,7 +493,7 @@ static void PrintOnDungeonItemsMenu(s32 a0, Entity *a1, bool8 showWhichWindow, b SetMessageArgument_2(gFormatBuffer_Monsters[0], a1Info, 0); PrintFormattedStringOnWindow(x, 0, gUnknown_80FE940, 0, 0); if (item->flags & ITEM_FLAG_EXISTS) { - gDungeonMenu.unk1A++; + gDungeonMenu.currPageEntries++; sub_8090E14(txtBuff, item, &gUnknown_8106B60); y = GetMenuEntryYCoord(&gDungeonMenu, 0); PrintFormattedStringOnWindow(8, y, txtBuff, 0, 0); @@ -508,7 +508,7 @@ static void PrintOnDungeonItemsMenu(s32 a0, Entity *a1, bool8 showWhichWindow, b SetMessageArgument_2(gFormatBuffer_Monsters[0], monInfo, 0); PrintFormattedStringOnWindow(x, 0, gUnknown_80FE940, 0, 0); if (item->flags & ITEM_FLAG_EXISTS) { - gDungeonMenu.unk1A++; + gDungeonMenu.currPageEntries++; sub_8090E14(txtBuff, item, &gUnknown_8106B60); y = GetMenuEntryYCoord(&gDungeonMenu, 0); PrintFormattedStringOnWindow(8, y, txtBuff, 0, 0); @@ -518,7 +518,7 @@ static void PrintOnDungeonItemsMenu(s32 a0, Entity *a1, bool8 showWhichWindow, b break; } - if (gDungeonMenu.menuIndex >= gDungeonMenu.unk1A) { + if (gDungeonMenu.menuIndex >= gDungeonMenu.currPageEntries) { gDungeonMenu.menuIndex = 0; } sub_80073E0(0); @@ -561,7 +561,7 @@ static s32 sub_8060800(WindowHeader *header, s32 a1) static bool8 sub_8060860(s32 a0) { - if (gDungeonMenu.unk1A <= 1 || sUnknown_202F248[a0] > 1) + if (gDungeonMenu.currPageEntries <= 1 || sUnknown_202F248[a0] > 1) return FALSE; else return TRUE; diff --git a/src/dungeon_menu_moves.c b/src/dungeon_menu_moves.c index 69b8ea3e9..5d3b1e70b 100644 --- a/src/dungeon_menu_moves.c +++ b/src/dungeon_menu_moves.c @@ -265,16 +265,16 @@ bool8 ShowDungeonMovesMenu(Entity * entity, bool8 addLinkOptions, bool8 addUseMo } } - if ((gRealInputs.repeated & DPAD_RIGHT) || gDungeonMenu.unk28.dpad_right) { + if ((gRealInputs.repeated & DPAD_RIGHT) || gDungeonMenu.touchScreen.dpad_right) { SetMonsterActionFields(&leaderInfo->action, 6); break; } - if ((gRealInputs.repeated & DPAD_LEFT) || gDungeonMenu.unk28.dpad_left) { + if ((gRealInputs.repeated & DPAD_LEFT) || gDungeonMenu.touchScreen.dpad_left) { SetMonsterActionFields(&leaderInfo->action, 7); break; } - if ((gRealInputs.pressed & GetConfirmationButtons()) || gDungeonMenu.unk28.a_button) { + if ((gRealInputs.pressed & GetConfirmationButtons()) || gDungeonMenu.touchScreen.a_button) { if (addLinkOptions) { bool8 rHeld = (gRealInputs.held & R_BUTTON) != 0; if (rHeld) { @@ -296,7 +296,7 @@ bool8 ShowDungeonMovesMenu(Entity * entity, bool8 addLinkOptions, bool8 addUseMo break; } - if (CheckPressed(B_BUTTON) || gDungeonMenu.unk28.b_button) { + if (CheckPressed(B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); ret = TRUE; break; @@ -379,7 +379,7 @@ bool8 ShowDungeonMovesMenu(Entity * entity, bool8 addLinkOptions, bool8 addUseMo MoveMenuCursorUpWrapAround(&gDungeonMenu, TRUE); } - if ((gRealInputs.pressed & GetConfirmationButtons()) || gDungeonMenu.unk28.a_button) { + if ((gRealInputs.pressed & GetConfirmationButtons()) || gDungeonMenu.touchScreen.a_button) { if (CanSubMenuItemBeChosen(gDungeonMenu.menuIndex)) { MenuChosenOptionToAction(&leaderInfo->action, GetTeamMemberEntityIndex(entity)); if (leaderInfo->action.action != 20 && leaderInfo->action.action != 21) { @@ -390,7 +390,7 @@ bool8 ShowDungeonMovesMenu(Entity * entity, bool8 addLinkOptions, bool8 addUseMo } PlayDungeonCancelSE(); } - if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) { + if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); bPress = TRUE; break; @@ -439,15 +439,15 @@ static void ShowMovesMenuWindows(Entity *entity, EntityInfo *entInfo, bool8 redC } gDungeonMenu.menuIndex = sChosenMoveSlotId; - gDungeonMenu.unk1A = movesCount; + gDungeonMenu.currPageEntries = movesCount; gDungeonMenu.entriesPerPage = 4; gDungeonMenu.currPage = arg6; - gDungeonMenu.unk20 = arg7; + gDungeonMenu.pagesCount = arg7; gDungeonMenu.unk4 = 0; gDungeonMenu.firstEntryY = 16; gDungeonMenu.unk14.x = 0; gDungeonMenu.windowId = 0; - sub_801317C(&gDungeonMenu.unk28); + ResetTouchScreenMenuInput(&gDungeonMenu.touchScreen); windows->id[0].height = windows->id[0].unk10 = sub_80095E4(4, 0xC) + 2; header->width = 13; @@ -627,16 +627,16 @@ static void ShowMovesInfoWindow(Move *moves, s32 firstMoveId, s32 movesCount) header.f3 = 0; gDungeonMenu.currPage = currId; - gDungeonMenu.unk20 = count; + gDungeonMenu.pagesCount = count; gDungeonMenu.leftRightArrowsPos.x = (gWindows[0].x + 23) * 8; gDungeonMenu.leftRightArrowsPos.y = ((gWindows[0].y + 1) * 8) - 2; gDungeonMenu.unk14.x = 0; gDungeonMenu.unk4 = 0; gDungeonMenu.firstEntryY = 16; gDungeonMenu.windowId = 0; - sub_801317C(&gDungeonMenu.unk28); + ResetTouchScreenMenuInput(&gDungeonMenu.touchScreen); gDungeonMenu.menuIndex = 0; - gDungeonMenu.unk1A = 0; + gDungeonMenu.currPageEntries = 0; gDungeonMenu.entriesPerPage = 0; DungeonShowWindows(&windows, TRUE); statusesCount = unk_PrintMoveDescription(currId, &moves[firstMoveId + currId], 0, statuses); @@ -645,21 +645,21 @@ static void ShowMovesInfoWindow(Move *moves, s32 firstMoveId, s32 movesCount) ShowStatusDescriptionMenuArrow(); } - nullsub_34(&gDungeonMenu.unk28, 0); + GetTouchScreenMenuInput(&gDungeonMenu.touchScreen, 0); DungeonRunFrameActions(0x1C); - if ((gRealInputs.pressed & GetConfirmationButtons()) || gDungeonMenu.unk28.a_button) { + if ((gRealInputs.pressed & GetConfirmationButtons()) || gDungeonMenu.touchScreen.a_button) { PlayDungeonConfirmationSE(); inputAction = 1; if (statusesCount != 0) { inputAction = 2; } } - else if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) { + else if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); inputAction = 1; } - else if ((gRealInputs.pressed & DPAD_LEFT) || gDungeonMenu.unk28.dpad_left) { + else if ((gRealInputs.pressed & DPAD_LEFT) || gDungeonMenu.touchScreen.dpad_left) { s32 prevId = currId; if (currId == 0) { currId = count; @@ -669,7 +669,7 @@ static void ShowMovesInfoWindow(Move *moves, s32 firstMoveId, s32 movesCount) PlayDungeonCursorSE(FALSE); } } - else if ((CheckPressed(DPAD_RIGHT)) || gDungeonMenu.unk28.dpad_right) { + else if ((CheckPressed(DPAD_RIGHT)) || gDungeonMenu.touchScreen.dpad_right) { s32 prevId = currId; if (currId == count - 1) { currId = 0; @@ -704,7 +704,7 @@ static const WindowHeader sStatusDescriptionHeader = { .width = 16, }; -void ShowStatusDescriptionMenu(const StatusText *status, MenuInputStructSub *menuSub) +void ShowStatusDescriptionMenu(const StatusText *status, TouchScreenMenuInput *menuSub) { sub_80140B4(&sMovesMenuWindows); sMovesMenuWindows.id[0].header = &sStatusDescriptionHeader; @@ -716,7 +716,7 @@ void ShowStatusDescriptionMenu(const StatusText *status, MenuInputStructSub *men PrintFormattedStringOnWindow(4, 16, status->desc, 0, '\0'); sub_80073E0(0); gDungeonMenu.currPage = 0; - gDungeonMenu.unk20 = 0; + gDungeonMenu.pagesCount = 0; gDungeonMenu.leftRightArrowsPos.x = 0; gDungeonMenu.leftRightArrowsPos.y = 0; gDungeonMenu.unk14.x = 0; @@ -724,9 +724,9 @@ void ShowStatusDescriptionMenu(const StatusText *status, MenuInputStructSub *men gDungeonMenu.firstEntryY = 16; gDungeonMenu.windowId = 0; gDungeonMenu.menuIndex = 0; - gDungeonMenu.unk1A = 0; + gDungeonMenu.currPageEntries = 0; gDungeonMenu.entriesPerPage = 0; - sub_801317C(menuSub); + ResetTouchScreenMenuInput(menuSub); } void ActionSetOrUnsetMove(ActionContainer *a0, bool8 flagToSet) @@ -958,7 +958,7 @@ bool8 sub_8063E70(Entity *entity, Move *moves, bool8 showYesNoBox, bool8 allowBP } } ASM_MATCH_TRICK(sChosenMoveSlotId); - if ((gRealInputs.pressed & GetConfirmationButtons()) || gDungeonMenu.unk28.a_button) { + if ((gRealInputs.pressed & GetConfirmationButtons()) || gDungeonMenu.touchScreen.a_button) { PlayDungeonConfirmationSE(); inputAction = 0; break; @@ -968,7 +968,7 @@ bool8 sub_8063E70(Entity *entity, Move *moves, bool8 showYesNoBox, bool8 allowBP inputAction = 2; break; } - if (allowBPress && (CheckPressed(B_BUTTON) || gDungeonMenu.unk28.b_button)) { + if (allowBPress && (CheckPressed(B_BUTTON) || gDungeonMenu.touchScreen.b_button)) { PlayDungeonCancelSE(); inputAction = 1; break; @@ -1007,7 +1007,7 @@ bool8 sub_8063E70(Entity *entity, Move *moves, bool8 showYesNoBox, bool8 allowBP MoveMenuCursorUpWrapAround(&gDungeonMenu, TRUE); } - if ((gRealInputs.pressed & GetConfirmationButtons()) || gDungeonMenu.unk28.a_button) { + if ((gRealInputs.pressed & GetConfirmationButtons()) || gDungeonMenu.touchScreen.a_button) { if (CanSubMenuItemBeChosen(gDungeonMenu.menuIndex)) { if (gDungeonMenu.menuIndex == 2) { PlayDungeonConfirmationSE(); @@ -1020,7 +1020,7 @@ bool8 sub_8063E70(Entity *entity, Move *moves, bool8 showYesNoBox, bool8 allowBP } PlayDungeonCancelSE(); } - if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) { + if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); inputAction = 1; break; @@ -1114,17 +1114,17 @@ static void sub_8064228(Entity *entity, Move *moves, WindowTemplates *windows, W } gDungeonMenu.menuIndex = sChosenMoveSlotId; - gDungeonMenu.unk1A = count; + gDungeonMenu.currPageEntries = count; gDungeonMenu.entriesPerPage = count; gDungeonMenu.currPage = 0; - gDungeonMenu.unk20 = 0; + gDungeonMenu.pagesCount = 0; gDungeonMenu.unk4 = 0; gDungeonMenu.firstEntryY = 16; gDungeonMenu.leftRightArrowsPos.x = 0; gDungeonMenu.leftRightArrowsPos.y = 0; gDungeonMenu.unk14.x = 0; gDungeonMenu.windowId = 0; - sub_801317C(&gDungeonMenu.unk28); + ResetTouchScreenMenuInput(&gDungeonMenu.touchScreen); windows->id[0].height = windows->id[0].unk10 = sub_80095E4(count, 12) + 2; header->width = 14; windows->id[0].pos.x = 2; diff --git a/src/dungeon_menu_others.c b/src/dungeon_menu_others.c index c5e717459..906ef798f 100644 --- a/src/dungeon_menu_others.c +++ b/src/dungeon_menu_others.c @@ -97,7 +97,7 @@ void ShowDungeonOthersMenu(void) MoveMenuCursorUpWrapAround(&gDungeonMenu, TRUE); } - if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) { + if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.touchScreen.a_button) { if (gDungeonMenu.menuIndex != OTHERS_RECRUITMENT_SEARCH || (gDungeon->unk644.canRecruit && !IsBossFight())) { PlayDungeonConfirmationSE(); } @@ -106,7 +106,7 @@ void ShowDungeonOthersMenu(void) } break; } - else if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) { + else if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); bPress = TRUE; break; @@ -174,11 +174,11 @@ static void ShowGameOptionsMenu(void) MoveMenuCursorUpWrapAround(&gDungeonMenu, TRUE); } - if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) { + if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.touchScreen.a_button) { PlayDungeonConfirmationSE(); break; } - if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) { + if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); bPress = TRUE; break; @@ -256,7 +256,7 @@ static bool8 ShowDungeonOptions(void) break; } - if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.b_button) { + if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonConfirmationSE(); break; } @@ -317,7 +317,7 @@ static bool8 ShowOthersOptions(void) break; } - if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.b_button) { + if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonConfirmationSE(); break; } @@ -390,11 +390,11 @@ static void ShowQuickSaveGiveUpMenu(void) MoveMenuCursorUpWrapAround(&gDungeonMenu, TRUE); } - if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) { + if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.touchScreen.a_button) { PlayDungeonConfirmationSE(); break; } - if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) { + if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); bPress = TRUE; break; @@ -476,17 +476,17 @@ static void PrintOthersMenuOptions(void) header.f3 = 0; gDungeonMenu.menuIndex = sOthersCursorId; optionsCount = (gDungeon->unk644.canRecruit) ? OTHERS_COUNT : OTHERS_COUNT - 1; - gDungeonMenu.unk1A = optionsCount; + gDungeonMenu.currPageEntries = optionsCount; gDungeonMenu.entriesPerPage = optionsCount; gDungeonMenu.currPage = 0; - gDungeonMenu.unk20 = 0; + gDungeonMenu.pagesCount = 0; gDungeonMenu.unk4 = 0; gDungeonMenu.firstEntryY = 16; gDungeonMenu.leftRightArrowsPos.x = 0; gDungeonMenu.leftRightArrowsPos.y = 0; gDungeonMenu.unk14.x = 0; gDungeonMenu.windowId = 0; - sub_801317C(&gDungeonMenu.unk28); + ResetTouchScreenMenuInput(&gDungeonMenu.touchScreen); windows.id[0].width = 18; windows.id[0].height = windows.id[0].unk10 = sub_80095E4(optionsCount, 12) + 2; header.width = 10; @@ -539,17 +539,17 @@ static void PrintQuickSaveMenuOptions(void) header.f3 = 0; gDungeonMenu.menuIndex = 0; optionsCount = 2; - gDungeonMenu.unk1A = optionsCount; + gDungeonMenu.currPageEntries = optionsCount; gDungeonMenu.entriesPerPage = optionsCount; gDungeonMenu.currPage = 0; - gDungeonMenu.unk20 = 0; + gDungeonMenu.pagesCount = 0; gDungeonMenu.unk4 = 0; gDungeonMenu.firstEntryY = 16; gDungeonMenu.leftRightArrowsPos.x = 0; gDungeonMenu.leftRightArrowsPos.y = 0; gDungeonMenu.unk14.x = 0; gDungeonMenu.windowId = 0; - sub_801317C(&gDungeonMenu.unk28); + ResetTouchScreenMenuInput(&gDungeonMenu.touchScreen); windows.id[0].width = 18; windows.id[0].height = windows.id[0].unk10 = sub_80095E4(optionsCount, 12) + 2; header.width = 10; @@ -592,17 +592,17 @@ static void PrintGameOptions(void) header.f3 = 0; gDungeonMenu.menuIndex = 0; optionsCount = 3; - gDungeonMenu.unk1A = optionsCount; + gDungeonMenu.currPageEntries = optionsCount; gDungeonMenu.entriesPerPage = optionsCount; gDungeonMenu.currPage = 0; - gDungeonMenu.unk20 = 0; + gDungeonMenu.pagesCount = 0; gDungeonMenu.unk4 = 0; gDungeonMenu.firstEntryY = 16; gDungeonMenu.leftRightArrowsPos.x = 0; gDungeonMenu.leftRightArrowsPos.y = 0; gDungeonMenu.unk14.x = 0; gDungeonMenu.windowId = 0; - sub_801317C(&gDungeonMenu.unk28); + ResetTouchScreenMenuInput(&gDungeonMenu.touchScreen); windows.id[0].width = 12; windows.id[0].height = windows.id[0].unk10 = sub_80095E4(optionsCount, 12) + 2; header.width = 10; @@ -647,17 +647,17 @@ static void PrintDungeonOptions(void) header.currId = 0; header.f3 = 0; - gDungeonMenu.unk1A = DUNGEON_OPTIONS_COUNT; + gDungeonMenu.currPageEntries = DUNGEON_OPTIONS_COUNT; gDungeonMenu.entriesPerPage = DUNGEON_OPTIONS_COUNT; gDungeonMenu.currPage = 0; - gDungeonMenu.unk20 = 0; + gDungeonMenu.pagesCount = 0; gDungeonMenu.unk4 = 0; gDungeonMenu.firstEntryY = 16; gDungeonMenu.leftRightArrowsPos.x = 0; gDungeonMenu.leftRightArrowsPos.y = 0; gDungeonMenu.unk14.x = 0; gDungeonMenu.windowId = 0; - sub_801317C(&gDungeonMenu.unk28); + ResetTouchScreenMenuInput(&gDungeonMenu.touchScreen); windows.id[0].width = 24; windows.id[0].height = windows.id[0].unk10 = sub_80095E4(DUNGEON_OPTIONS_COUNT, 12) + 2; header.width = 10; @@ -738,17 +738,17 @@ static void PrintOthersOptions(void) header.currId = 0; header.f3 = 0; - gDungeonMenu.unk1A = OTHERS_OPTIONS_COUNT; + gDungeonMenu.currPageEntries = OTHERS_OPTIONS_COUNT; gDungeonMenu.entriesPerPage = OTHERS_OPTIONS_COUNT; gDungeonMenu.currPage = 0; - gDungeonMenu.unk20 = 0; + gDungeonMenu.pagesCount = 0; gDungeonMenu.unk4 = 0; gDungeonMenu.firstEntryY = 16; gDungeonMenu.leftRightArrowsPos.x = 0; gDungeonMenu.leftRightArrowsPos.y = 0; gDungeonMenu.unk14.x = 0; gDungeonMenu.windowId = 0; - sub_801317C(&gDungeonMenu.unk28); + ResetTouchScreenMenuInput(&gDungeonMenu.touchScreen); windows.id[0].width = 24; windows.id[0].height = windows.id[0].unk10 = sub_80095E4(OTHERS_OPTIONS_COUNT, 12) + 2; header.width = 10; @@ -865,11 +865,11 @@ static void ShowHintsMenu(void) MoveMenuCursorUpWrapAround(&gDungeonMenu, TRUE); } - if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) { + if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.touchScreen.a_button) { PlayDungeonConfirmationSE(); break; } - if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) { + if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); bPress = TRUE; break; @@ -910,17 +910,17 @@ static void PrintHintsMenu(void) header.currId = 0; header.f3 = 0; gDungeonMenu.menuIndex = 0; - gDungeonMenu.unk1A = HINTS_COUNT_RED_VERSION; + gDungeonMenu.currPageEntries = HINTS_COUNT_RED_VERSION; gDungeonMenu.entriesPerPage = HINTS_COUNT_RED_VERSION; gDungeonMenu.currPage = 0; - gDungeonMenu.unk20 = 0; + gDungeonMenu.pagesCount = 0; gDungeonMenu.unk4 = 0; gDungeonMenu.firstEntryY = 16; gDungeonMenu.leftRightArrowsPos.x = 0; gDungeonMenu.leftRightArrowsPos.y = 0; gDungeonMenu.unk14.x = 0; gDungeonMenu.windowId = 0; - sub_801317C(&gDungeonMenu.unk28); + ResetTouchScreenMenuInput(&gDungeonMenu.touchScreen); windows.id[0].width = 12; windows.id[0].height = windows.id[0].unk10 = sub_80095E4(HINTS_COUNT_RED_VERSION, 12) + 2; header.width = 10; @@ -963,15 +963,15 @@ static void ShowChosenHintWindow(s32 hintId) header.currId = hintId; header.f3 = 0; gDungeonMenu.currPage = hintId; - gDungeonMenu.unk20 = HINTS_COUNT_RED_VERSION; - gDungeonMenu.unk1A = 0; + gDungeonMenu.pagesCount = HINTS_COUNT_RED_VERSION; + gDungeonMenu.currPageEntries = 0; gDungeonMenu.menuIndex = 0; gDungeonMenu.entriesPerPage = 0; gDungeonMenu.unk4 = 0; gDungeonMenu.firstEntryY = 16; gDungeonMenu.unk14.x = 0; gDungeonMenu.windowId = 0; - sub_801317C(&gDungeonMenu.unk28); + ResetTouchScreenMenuInput(&gDungeonMenu.touchScreen); windows.id[0].width = 24; windows.id[0].height = windows.id[0].unk10 = sub_80095E4(HINTS_COUNT, 12) + 2; header.width = 10; @@ -987,7 +987,7 @@ static void ShowChosenHintWindow(s32 hintId) while (1) { AddMenuCursorSprite(&gDungeonMenu); DungeonRunFrameActions(0x24); - if ((gRealInputs.pressed & DPAD_RIGHT) || gDungeonMenu.unk28.dpad_right) { + if ((gRealInputs.pressed & DPAD_RIGHT) || gDungeonMenu.touchScreen.dpad_right) { PlayDungeonCursorSE(FALSE); if (++hintId == HINTS_COUNT_RED_VERSION) { hintId = 0; @@ -995,7 +995,7 @@ static void ShowChosenHintWindow(s32 hintId) dpadPressed = TRUE; break; } - if ((gRealInputs.pressed & DPAD_LEFT) || gDungeonMenu.unk28.dpad_left) { + if ((gRealInputs.pressed & DPAD_LEFT) || gDungeonMenu.touchScreen.dpad_left) { PlayDungeonCursorSE(FALSE); if (--hintId == -1) { hintId = HINTS_COUNT_RED_VERSION - 1; @@ -1004,11 +1004,11 @@ static void ShowChosenHintWindow(s32 hintId) break; } - if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) { + if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.touchScreen.a_button) { PlayDungeonConfirmationSE(); break; } - if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) { + if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); break; } diff --git a/src/dungeon_menu_recruitment.c b/src/dungeon_menu_recruitment.c index 78643a1e5..46ae7247a 100644 --- a/src/dungeon_menu_recruitment.c +++ b/src/dungeon_menu_recruitment.c @@ -100,16 +100,16 @@ void ShowRecruitmentSearchMenu(void) sRecruitmentWindowHeader.currId = currTabId; DungeonShowWindows(&sRecruitmentSearchWindows, TRUE); - gDungeonMenu.unk1A = 0; + gDungeonMenu.currPageEntries = 0; gDungeonMenu.menuIndex = 0; gDungeonMenu.entriesPerPage = 0; gDungeonMenu.currPage = currTabId; - gDungeonMenu.unk20 = 2; + gDungeonMenu.pagesCount = 2; gDungeonMenu.unk4 = 0; gDungeonMenu.firstEntryY = 16; gDungeonMenu.unk14.x = 0; gDungeonMenu.windowId = 0; - sub_801317C(&gDungeonMenu.unk28); + ResetTouchScreenMenuInput(&gDungeonMenu.touchScreen); sScrollId = 0; sScrollFlags = 0; PrintAvailableMons(currTabData, currTabId); @@ -141,7 +141,7 @@ void ShowRecruitmentSearchMenu(void) CreateScrollingArrow(FALSE, 0x70); } - if ((gRealInputs.pressed & (DPAD_LEFT | DPAD_RIGHT)) || gDungeonMenu.unk28.dpad_left || gDungeonMenu.unk28.dpad_right) { + if ((gRealInputs.pressed & (DPAD_LEFT | DPAD_RIGHT)) || gDungeonMenu.touchScreen.dpad_left || gDungeonMenu.touchScreen.dpad_right) { PlayDungeonCursorSE(FALSE); currTabId = (currTabId == 0) ? 1 : 0; break; @@ -149,7 +149,7 @@ void ShowRecruitmentSearchMenu(void) if (sub_80048C8()) continue; - if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) { + if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); closeWindow = TRUE; break; diff --git a/src/dungeon_menu_stairs.c b/src/dungeon_menu_stairs.c index 39d913a2b..568e141c4 100644 --- a/src/dungeon_menu_stairs.c +++ b/src/dungeon_menu_stairs.c @@ -81,7 +81,7 @@ void ShowDungeonStairsMenu(Entity *mon) MoveMenuCursorUpWrapAround(&gDungeonMenu, TRUE); } - if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) { + if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.touchScreen.a_button) { if (gDungeonMenu.menuIndex == 1) { PlayDungeonConfirmationSE(); ShowStairsDescription(&mon->pos); @@ -104,7 +104,7 @@ void ShowDungeonStairsMenu(Entity *mon) } PlayDungeonCancelSE(); } - if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) { + if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); inputAction = 1; break; @@ -162,7 +162,7 @@ static void ShowStairsDescription(DungeonPos *pos) u8 floorType; bool8 bPress; STATUSTEXTS(statuses); - MenuInputStructSub menuSub; + TouchScreenMenuInput menuSub; WindowHeader header; WindowTemplates windows = { .id = { @@ -182,7 +182,7 @@ static void ShowStairsDescription(DungeonPos *pos) }; s32 i, statusesCount; - sub_801317C(&menuSub); + ResetTouchScreenMenuInput(&menuSub); header.count = 1; header.currId = 0; header.width = 16; @@ -199,7 +199,7 @@ static void ShowStairsDescription(DungeonPos *pos) if (statusesCount != 0) { ShowStatusDescriptionMenuArrow(); } - nullsub_34(&menuSub, 0); + GetTouchScreenMenuInput(&menuSub, 0); DungeonRunFrameActions(0x16); if ((gRealInputs.pressed & A_BUTTON) || menuSub.a_button) { PlayDungeonConfirmationSE(); @@ -221,7 +221,7 @@ static void ShowStairsDescription(DungeonPos *pos) if (i < statusesCount - 1) { ShowStatusDescriptionMenuArrow(); } - nullsub_34(&menuSub, 0); + GetTouchScreenMenuInput(&menuSub, 0); DungeonRunFrameActions(0x16); if ((gRealInputs.pressed & A_BUTTON) || menuSub.a_button) { PlayDungeonConfirmationSE(); diff --git a/src/dungeon_menu_team.c b/src/dungeon_menu_team.c index e1d026a25..c9ff88020 100644 --- a/src/dungeon_menu_team.c +++ b/src/dungeon_menu_team.c @@ -222,7 +222,7 @@ bool8 ShowDungeonTeamMenu(Entity *a0) } PlayDungeonCancelSE(); } - if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) + if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.touchScreen.a_button) { if (sp.unk14[gDungeonMenu.menuIndex] != 0) { PlayDungeonConfirmationSE(); @@ -230,7 +230,7 @@ bool8 ShowDungeonTeamMenu(Entity *a0) } PlayDungeonCancelSE(); } - if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) { + if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); ret = TRUE; break; @@ -274,7 +274,7 @@ bool8 ShowDungeonTeamMenu(Entity *a0) PlayDungeonCursorSE(1); MoveMenuCursorUpWrapAround(&gDungeonMenu, TRUE); } - if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) { + if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.touchScreen.a_button) { if (CanSubMenuItemBeChosen(gDungeonMenu.menuIndex)) { ChosenSubMenuToAction(&GetEntInfo(a0)->action, &sp); PlayDungeonConfirmationSE(); @@ -283,7 +283,7 @@ bool8 ShowDungeonTeamMenu(Entity *a0) } PlayDungeonCancelSE(); } - if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) { + if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); r4 = TRUE; break; @@ -344,17 +344,17 @@ static void PrintOnDungeonTeamMenu(struct UnkFieldTeamMenuStruct *a0, WindowTemp sTeamWindowHeader.currId = 0; sTeamWindowHeader.f3 = 0; gDungeonMenu.menuIndex = gTeamMenuChosenId; - gDungeonMenu.unk1A = count; + gDungeonMenu.currPageEntries = count; gDungeonMenu.entriesPerPage = count; gDungeonMenu.currPage = 0; - gDungeonMenu.unk20 = 0; + gDungeonMenu.pagesCount = 0; gDungeonMenu.unk4 = 0; gDungeonMenu.firstEntryY = (r10 != FALSE) * 16; gDungeonMenu.leftRightArrowsPos.x = 0; gDungeonMenu.leftRightArrowsPos.y = 0; gDungeonMenu.unk14.x = 0; gDungeonMenu.windowId = 0; - sub_801317C(&gDungeonMenu.unk28); + ResetTouchScreenMenuInput(&gDungeonMenu.touchScreen); r0 = sub_80095E4(count, 0); if (r10) { r0 += 2; @@ -533,17 +533,17 @@ void ShowDungeonTacticsMenu(ActionContainer *a0) if (tacticIds[i] == TACTIC_UNUSED) break; } - gDungeonMenu.unk1A = i; + gDungeonMenu.currPageEntries = i; gDungeonMenu.entriesPerPage = 8; gDungeonMenu.currPage = 0; - gDungeonMenu.unk20 = 0; + gDungeonMenu.pagesCount = 0; gDungeonMenu.unk4 = 0; gDungeonMenu.firstEntryY = 16; gDungeonMenu.leftRightArrowsPos.x = 0; gDungeonMenu.leftRightArrowsPos.y = 0; gDungeonMenu.unk14.x = 0; gDungeonMenu.windowId = 0; - sub_801317C(&gDungeonMenu.unk28); + ResetTouchScreenMenuInput(&gDungeonMenu.touchScreen); sub_80137B0(&gDungeonMenu, 0); gDungeonMenu.menuIndex = menuIndex; while (1) { @@ -595,7 +595,7 @@ void ShowDungeonTacticsMenu(ActionContainer *a0) loopBreak = FALSE; break; } - if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) { + if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.touchScreen.a_button) { bool32 changed; u32 tacticId = tacticIds[gDungeonMenu.menuIndex]; @@ -621,14 +621,14 @@ void ShowDungeonTacticsMenu(ActionContainer *a0) PlayDungeonCursorSE(1); MoveMenuCursorUpWrapAround(&gDungeonMenu, TRUE); } - if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) { + if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.touchScreen.a_button) { if (CanSubMenuItemBeChosen(gDungeonMenu.menuIndex)) { changed = TRUE; break; } PlayDungeonCancelSE(); } - if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) { + if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); changed = FALSE; break; @@ -655,7 +655,7 @@ void ShowDungeonTacticsMenu(ActionContainer *a0) loopBreak = FALSE; break; } - if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) { + if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); loopBreak = TRUE; break; @@ -791,16 +791,16 @@ void ShowDungeonSummaryOrIQMenu(ActionContainer *a0, bool8 showIq) SetMonSummaryInfoFromEntity(&monSummaryInfo, entity); ShowPokemonSummaryWindow(subWindowIds[currSubWindowId], currSubWindowId, &monSummaryInfo, &unkInfoTabStruct, 0); gDungeonMenu.currPage = currSubWindowId; - gDungeonMenu.unk20 = totalSubWindows; + gDungeonMenu.pagesCount = totalSubWindows; gDungeonMenu.leftRightArrowsPos.x = (mainWindow->x + 15) * 8; gDungeonMenu.leftRightArrowsPos.y = ((mainWindow->y + 1) * 8) - 2; gDungeonMenu.unk14.x = 0; gDungeonMenu.unk4 = 0; gDungeonMenu.firstEntryY = 16; gDungeonMenu.windowId = 0; - sub_801317C(&gDungeonMenu.unk28); + ResetTouchScreenMenuInput(&gDungeonMenu.touchScreen); gDungeonMenu.menuIndex = 0; - gDungeonMenu.unk1A = 0; + gDungeonMenu.currPageEntries = 0; gDungeonMenu.entriesPerPage = 0; if (subWindowIds[currSubWindowId] == SUB_WINDOW_STATUS) { @@ -814,7 +814,7 @@ void ShowDungeonSummaryOrIQMenu(ActionContainer *a0, bool8 showIq) if (i != 0) { hasStatusProblems = TRUE; - gDungeonMenu.unk1A = i; + gDungeonMenu.currPageEntries = i; gDungeonMenu.entriesPerPage = 8; sub_80137B0(&gDungeonMenu, 0); } @@ -831,7 +831,7 @@ void ShowDungeonSummaryOrIQMenu(ActionContainer *a0, bool8 showIq) if (i != 0) { hasIqSkills = TRUE; - gDungeonMenu.unk1A = i; + gDungeonMenu.currPageEntries = i; gDungeonMenu.entriesPerPage = 8; sub_80137B0(&gDungeonMenu, 0); } @@ -869,7 +869,7 @@ void ShowDungeonSummaryOrIQMenu(ActionContainer *a0, bool8 showIq) DungeonRunFrameActions(0x1C); if (sTeamWindowHeader.count > 1 && !sub_80048C8()) { - if ((gRealInputs.pressed & DPAD_RIGHT) || gDungeonMenu.unk28.dpad_right) { + if ((gRealInputs.pressed & DPAD_RIGHT) || gDungeonMenu.touchScreen.dpad_right) { PlayDungeonCursorSE(0); currSubWindowId++; if (subWindowIds[currSubWindowId] == SUB_WINDOW_NONE) { @@ -877,7 +877,7 @@ void ShowDungeonSummaryOrIQMenu(ActionContainer *a0, bool8 showIq) } break; } - if ((gRealInputs.pressed & DPAD_LEFT) || gDungeonMenu.unk28.dpad_left) { + if ((gRealInputs.pressed & DPAD_LEFT) || gDungeonMenu.touchScreen.dpad_left) { PlayDungeonCursorSE(0); currSubWindowId--; if (currSubWindowId == -1) { @@ -1044,7 +1044,7 @@ void ShowDungeonSummaryOrIQMenu(ActionContainer *a0, bool8 showIq) } } - if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) { + if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.touchScreen.a_button) { if (hasStatusProblems) { s32 var = unkInfoTabStruct.unkC[gDungeonMenu.menuIndex]; @@ -1066,14 +1066,14 @@ void ShowDungeonSummaryOrIQMenu(ActionContainer *a0, bool8 showIq) MoveMenuCursorUpWrapAround(&gDungeonMenu, TRUE); } - if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) { + if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.touchScreen.a_button) { PlayDungeonConfirmationSE(); ShowStatusInfoWindow(var); addCursorSprite = FALSE; loopBreak = FALSE; break; } - if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) { + if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); loopBreak = FALSE; break; @@ -1106,7 +1106,7 @@ void ShowDungeonSummaryOrIQMenu(ActionContainer *a0, bool8 showIq) MoveMenuCursorUpWrapAround(&gDungeonMenu, TRUE); } - if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) { + if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.touchScreen.a_button) { if (CanSubMenuItemBeChosen(gDungeonMenu.menuIndex)) { PlayDungeonConfirmationSE(); aPress = TRUE; @@ -1114,7 +1114,7 @@ void ShowDungeonSummaryOrIQMenu(ActionContainer *a0, bool8 showIq) } PlayDungeonCancelSE(); } - if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) { + if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); loopBreak = FALSE; aPress = FALSE; @@ -1141,7 +1141,7 @@ void ShowDungeonSummaryOrIQMenu(ActionContainer *a0, bool8 showIq) } break; } - if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) { + if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); loopBreak = TRUE; break; @@ -1238,16 +1238,16 @@ void ShowStatusDescriptionMenuArrow(void) void ShowStatusesDescriptionMenu(s32 count, STATUSTEXTS(statuses)) { s32 i; - MenuInputStructSub menuSub; + TouchScreenMenuInput menuSub; - sub_801317C(&menuSub); + ResetTouchScreenMenuInput(&menuSub); for (i = 0; i < count; i++) { ShowStatusDescriptionMenu(statuses[i], &menuSub); while (1) { if (i < count - 1) { ShowStatusDescriptionMenuArrow(); } - nullsub_34(&menuSub, 0); + GetTouchScreenMenuInput(&menuSub, 0); DungeonRunFrameActions(0x16); if ((gRealInputs.pressed & A_BUTTON) || menuSub.a_button) { PlayDungeonConfirmationSE(); @@ -1263,7 +1263,7 @@ void ShowStatusesDescriptionMenu(s32 count, STATUSTEXTS(statuses)) static void ShowIqDescriptionWindow(u8 iqSkillId) { - MenuInputStructSub menuSub; + TouchScreenMenuInput menuSub; WindowTemplates windows; WindowHeader header; STATUSTEXTS(result); @@ -1272,7 +1272,7 @@ static void ShowIqDescriptionWindow(u8 iqSkillId) s32 count; bool8 bPress; - sub_801317C(&menuSub); + ResetTouchScreenMenuInput(&menuSub); sub_80140B4(&windows); windows.id[0].header = &header; header.count = 1; @@ -1291,7 +1291,7 @@ static void ShowIqDescriptionWindow(u8 iqSkillId) if (count != 0) { ShowStatusDescriptionMenuArrow(); } - nullsub_34(&menuSub, 0); + GetTouchScreenMenuInput(&menuSub, 0); DungeonRunFrameActions(0x16); if ((gRealInputs.pressed & A_BUTTON) || menuSub.a_button) { bPress = FALSE; @@ -1316,7 +1316,7 @@ static void ShowIqDescriptionWindow(u8 iqSkillId) static void ShowTacticDescriptionWindow(u8 tacticId) { - MenuInputStructSub menuSub; + TouchScreenMenuInput menuSub; WindowTemplates windows; WindowHeader header; STATUSTEXTS(result); @@ -1325,7 +1325,7 @@ static void ShowTacticDescriptionWindow(u8 tacticId) s32 count; bool8 bPress; - sub_801317C(&menuSub); + ResetTouchScreenMenuInput(&menuSub); sub_80140B4(&windows); windows.id[0].header = &header; header.count = 1; @@ -1344,7 +1344,7 @@ static void ShowTacticDescriptionWindow(u8 tacticId) if (count != 0) { ShowStatusDescriptionMenuArrow(); } - nullsub_34(&menuSub, 0); + GetTouchScreenMenuInput(&menuSub, 0); DungeonRunFrameActions(62); if ((gRealInputs.pressed & A_BUTTON) || menuSub.a_button) { bPress = FALSE; @@ -1370,7 +1370,7 @@ static void ShowTacticDescriptionWindow(u8 tacticId) static void ShowStatusInfoWindow(s32 statusId) { const u8 *str; - MenuInputStructSub menuSub; + TouchScreenMenuInput menuSub; WindowHeader header; WindowTemplates windows = { .id = { @@ -1389,7 +1389,7 @@ static void ShowStatusInfoWindow(s32 statusId) } }; - sub_801317C(&menuSub); + ResetTouchScreenMenuInput(&menuSub); header.count = 1; header.currId = 0; header.width = 16; @@ -1403,7 +1403,7 @@ static void ShowStatusInfoWindow(s32 statusId) sub_80073E0(0); while (1) { - nullsub_34(&menuSub, 0); + GetTouchScreenMenuInput(&menuSub, 0); DungeonRunFrameActions(22); if ((gRealInputs.pressed & A_BUTTON) || menuSub.a_button) { PlayDungeonConfirmationSE(); @@ -1515,14 +1515,14 @@ Entity *ShowDungeonToWhichMonMenu(s32 *teamId, s32 caseId) MoveMenuCursorUpWrapAround(&gDungeonMenu, TRUE); } - if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) { + if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.touchScreen.a_button) { if (unkStruct.unk14[gDungeonMenu.menuIndex] != 0) { PlayDungeonConfirmationSE(); break; } PlayDungeonCancelSE(); } - if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) { + if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); bPress = TRUE; break; @@ -1631,9 +1631,9 @@ static void PrintItemNameOnBottomWindow(Entity *entity) static void ResetDungeonMenu(void) { gDungeonMenu.currPage = 0; - gDungeonMenu.unk20 = 0; + gDungeonMenu.pagesCount = 0; gDungeonMenu.leftRightArrowsPos.x = 0; gDungeonMenu.leftRightArrowsPos.y = 0; gDungeonMenu.unk14.x = 0; - sub_801317C(&gDungeonMenu.unk28); + ResetTouchScreenMenuInput(&gDungeonMenu.touchScreen); } diff --git a/src/dungeon_menu_tile.c b/src/dungeon_menu_tile.c index e41efe35b..80ebd200e 100644 --- a/src/dungeon_menu_tile.c +++ b/src/dungeon_menu_tile.c @@ -76,7 +76,7 @@ void ShowDungeonTileMenu(Entity *mon) MoveMenuCursorUpWrapAround(&gDungeonMenu, TRUE); } - if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) { + if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.touchScreen.a_button) { if (gDungeonMenu.menuIndex == 1) { PlayDungeonConfirmationSE(); ShowTileDescription(&mon->pos); @@ -99,7 +99,7 @@ void ShowDungeonTileMenu(Entity *mon) } PlayDungeonCancelSE(); } - if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) { + if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.touchScreen.b_button) { PlayDungeonCancelSE(); inputAction = 1; break; @@ -152,7 +152,7 @@ static void ShowTileDescription(DungeonPos *pos) Trap *trap; bool8 bPress = FALSE; STATUSTEXTS(statuses); - MenuInputStructSub menuSub; + TouchScreenMenuInput menuSub; WindowHeader header; WindowTemplates windows = { .id = { @@ -173,7 +173,7 @@ static void ShowTileDescription(DungeonPos *pos) u8 trapName[0x60]; s32 i, statusesCount; - sub_801317C(&menuSub); + ResetTouchScreenMenuInput(&menuSub); header.count = 1; header.currId = 0; header.width = 16; @@ -198,7 +198,7 @@ static void ShowTileDescription(DungeonPos *pos) if (statusesCount != 0) { ShowStatusDescriptionMenuArrow(); } - nullsub_34(&menuSub, 0); + GetTouchScreenMenuInput(&menuSub, 0); DungeonRunFrameActions(0x16); if ((gRealInputs.pressed & A_BUTTON) || menuSub.a_button) { PlayDungeonConfirmationSE(); @@ -220,7 +220,7 @@ static void ShowTileDescription(DungeonPos *pos) if (i < statusesCount - 1) { ShowStatusDescriptionMenuArrow(); } - nullsub_34(&menuSub, 0); + GetTouchScreenMenuInput(&menuSub, 0); DungeonRunFrameActions(0x16); if ((gRealInputs.pressed & A_BUTTON) || menuSub.a_button) { PlayDungeonConfirmationSE(); diff --git a/src/dungeon_message_log.c b/src/dungeon_message_log.c index fcdc6b9c3..98687cd9d 100644 --- a/src/dungeon_message_log.c +++ b/src/dungeon_message_log.c @@ -90,9 +90,9 @@ static const u8 sUnknownMessageLogData[] = bool32 DisplayMessageLog(void) { bool8 unkRet; - MenuInputStructSub menuInput; + TouchScreenMenuInput menuInput; - sub_801317C(&menuInput); + ResetTouchScreenMenuInput(&menuInput); sub_803EAF0(9, NULL); do { DungeonRunFrameActions(13); @@ -108,7 +108,7 @@ bool32 DisplayMessageLog(void) bool32 scroll = FALSE; sMessageLogFlags = 0; - nullsub_34(&menuInput, 0); + GetTouchScreenMenuInput(&menuInput, 0); unkVar = sub_8014140(0, sUnknownMessageLogData); if (TryScrollLogUp(unkVar)) diff --git a/src/dungeon_music.c b/src/dungeon_music.c index 277184324..1aeb5f0b7 100644 --- a/src/dungeon_music.c +++ b/src/dungeon_music.c @@ -16,7 +16,7 @@ extern MenuInputStruct gDungeonMenu; void PlayDungeonCursorSE(bool8 checkMenuEntriesCount) { - if (!checkMenuEntriesCount || gDungeonMenu.unk1A > 1) + if (!checkMenuEntriesCount || gDungeonMenu.currPageEntries > 1) PlayFanfareSE(0x12d,MAX_VOLUME); } diff --git a/src/dungeon_submenu.c b/src/dungeon_submenu.c index d8b439308..02a87036e 100644 --- a/src/dungeon_submenu.c +++ b/src/dungeon_submenu.c @@ -38,9 +38,9 @@ void CreateDungeonMenuSubWindow(WindowTemplate *mainWindow, s32 subWindowX) gDungeonMenu.menuIndex = 0; gDungeonMenu.entriesPerPage = gDungeonSubMenuItemsCount; - gDungeonMenu.unk1A = gDungeonSubMenuItemsCount; + gDungeonMenu.currPageEntries = gDungeonSubMenuItemsCount; gDungeonMenu.currPage = 0; - gDungeonMenu.unk20 = 0; + gDungeonMenu.pagesCount = 0; gDungeonMenu.unk4 = 0; gDungeonMenu.firstEntryY = 0; gDungeonMenu.windowId = 1; @@ -48,7 +48,7 @@ void CreateDungeonMenuSubWindow(WindowTemplate *mainWindow, s32 subWindowX) gDungeonMenu.leftRightArrowsPos.y = 0; gDungeonMenu.unk14 = gDungeonMenu.cursorArrowPos; - sub_801317C(&gDungeonMenu.unk28); + ResetTouchScreenMenuInput(&gDungeonMenu.touchScreen); windows.id[1].pos.x = subWindowX; windows.id[1].width = 28 - subWindowX; diff --git a/src/dungeon_vram.c b/src/dungeon_vram.c index 824f22845..918ce8ef9 100644 --- a/src/dungeon_vram.c +++ b/src/dungeon_vram.c @@ -649,11 +649,11 @@ void sub_803EAF0(u32 kind, u8 *name) static void sub_803EC94(void) { gDungeonMenu.currPage = 0; - gDungeonMenu.unk20 = 0; + gDungeonMenu.pagesCount = 0; gDungeonMenu.leftRightArrowsPos.x = 0; gDungeonMenu.leftRightArrowsPos.y = 0; gDungeonMenu.unk14.x = 0; - sub_801317C(&gDungeonMenu.unk28); + ResetTouchScreenMenuInput(&gDungeonMenu.touchScreen); } void DungeonShowWindows(const WindowTemplates *winTemplates, bool8 a1) diff --git a/src/friend_areas_map.c b/src/friend_areas_map.c index 0f6c38187..cd7aa1104 100644 --- a/src/friend_areas_map.c +++ b/src/friend_areas_map.c @@ -143,13 +143,13 @@ static bool8 ChooseAreaInLocation_Async(void) PlayCursorUpDownSoundEffect(); } - if ((gRealInputs.pressed & A_BUTTON) || menuPtr->unk28.a_button) { + if ((gRealInputs.pressed & A_BUTTON) || menuPtr->touchScreen.a_button) { PlayAcceptSoundEffect(); gFriendAreasMapPtr->chosenFriendAreaId = gFriendAreasMapPtr->displayedAreas[menuPtr->menuIndex]; ret = TRUE; break; } - if ((gRealInputs.pressed & B_BUTTON) || menuPtr->unk28.b_button) { + if ((gRealInputs.pressed & B_BUTTON) || menuPtr->touchScreen.b_button) { PlayCancelSoundEffect(); break; } diff --git a/src/friend_areas_map_util.c b/src/friend_areas_map_util.c index 50cc9bbfb..afa64bcf5 100644 --- a/src/friend_areas_map_util.c +++ b/src/friend_areas_map_util.c @@ -324,10 +324,10 @@ void FriendAreasMap_PrintAvailableSubAreas(void) header.width = 18; header.f3 = 0; menuInput->menuIndex = 0; - menuInput->unk1A = count; + menuInput->currPageEntries = count; menuInput->entriesPerPage = count; menuInput->currPage = 0; - menuInput->unk20 = 0; + menuInput->pagesCount = 0; menuInput->unk4 = 0; menuInput->firstEntryY = 16; menuInput->windowId = 0; @@ -337,7 +337,7 @@ void FriendAreasMap_PrintAvailableSubAreas(void) menuInput->unk14.y = 0; menuInput->cursorArrowPos.x = 8; menuInput->cursorArrowPos.y = 8; - sub_801317C(&menuInput->unk28); + ResetTouchScreenMenuInput(&menuInput->touchScreen); var = sub_80095E4(menuInput->entriesPerPage, 0); windows.id[0].unk10 = windows.id[0].height = var + 2; sub_80137B0(menuInput, var * 8); diff --git a/src/friend_list.c b/src/friend_list.c index 12878e04c..764ba1938 100644 --- a/src/friend_list.c +++ b/src/friend_list.c @@ -116,7 +116,7 @@ bool8 FriendList_Init(u32 r5, u32 windowId, DungeonPos *pos, u32 r10) if (gUnknown_203B2A0 == sFriendList->unk0) { sFriendList->unk358.s0.input.menuIndex = gUnknown_203B2A8; sFriendList->unk358.s0.input.currPage = gUnknown_203B2AA; - sub_8013984(&sFriendList->unk358.s0.input); + MenuUpdatePagesData(&sFriendList->unk358.s0.input); } SetUpWindowHeader(); FriendList_ShowWindow(); @@ -148,7 +148,7 @@ u32 FriendList_HandleInput(bool8 a0) FriendList_ShowWindow(); return 1; default: - if (sub_80138B8(&sFriendList->unk358.s0.input, TRUE)) { + if (MenuCursorUpdate(&sFriendList->unk358.s0.input, TRUE)) { SetUpWindowHeader(); FriendList_ShowWindow(); return 1; @@ -159,7 +159,7 @@ u32 FriendList_HandleInput(bool8 a0) s32 FriendList_GetCurrId(void) { - return sFriendList->unk1A[(sFriendList->unk358.s0.input.currPage * sFriendList->unk358.s0.input.entriesPerPage) + sFriendList->unk358.s0.input.menuIndex]; + return sFriendList->unk1A[GET_CURRENT_MENU_ENTRY(sFriendList->unk358.s0.input)]; } void sub_8023B7C(bool8 addCursor) @@ -167,7 +167,7 @@ void sub_8023B7C(bool8 addCursor) ResetUnusedInputStruct(); ShowWindows(&sFriendList->unk358.s0.windows, FALSE, FALSE); sFriendList->unk358.s0.input.totalEntriesCount = sub_8023BD8(); - sub_8013984(&sFriendList->unk358.s0.input); + MenuUpdatePagesData(&sFriendList->unk358.s0.input); SetUpWindowHeader(); FriendList_ShowWindow(); if (addCursor) { @@ -258,7 +258,7 @@ void FriendList_ShowWindow(void) break; } - for (i = 0; i < sFriendList->unk358.s0.input.unk1A; i++) { + for (i = 0; i < sFriendList->unk358.s0.input.currPageEntries; i++) { s32 id = sFriendList->unk1A[(sFriendList->unk358.s0.input.currPage * sFriendList->unk358.s0.input.entriesPerPage) + i]; PokemonStruct1 *pokePtr = &gRecruitedPokemonRef->pokemon[id]; u8 color = 7; @@ -468,7 +468,7 @@ UNUSED static PokemonStruct1 *sub_80243E8(void) { u8 buffer[40]; u8 nameBuffer[20]; - PokemonStruct1 *pokeStruct = &gRecruitedPokemonRef->pokemon[sFriendList->unk1A[(sFriendList->unk358.s0.input.currPage * sFriendList->unk358.s0.input.entriesPerPage) + sFriendList->unk358.s0.input.menuIndex]]; + PokemonStruct1 *pokeStruct = &gRecruitedPokemonRef->pokemon[sFriendList->unk1A[GET_CURRENT_MENU_ENTRY(sFriendList->unk358.s0.input)]]; StrncpyCustom(nameBuffer, pokeStruct->name, POKEMON_NAME_LENGTH); sprintfStatic(buffer, "%s", nameBuffer); diff --git a/src/hints_menu1.c b/src/hints_menu1.c index f012c1b89..5848f207b 100644 --- a/src/hints_menu1.c +++ b/src/hints_menu1.c @@ -55,7 +55,7 @@ u32 sub_801E474(bool8 a0) PlayMenuSoundEffect(4); return 4; default: - if(sub_80138B8(&sUnknown_203B264->input, 1)) + if(MenuCursorUpdate(&sUnknown_203B264->input, 1)) { sub_801E594(); DrawHintSelectionMenu(); @@ -68,14 +68,14 @@ u32 sub_801E474(bool8 a0) s32 GetChosenHintIndex(void) { - return (sUnknown_203B264->input.currPage * sUnknown_203B264->input.entriesPerPage) + sUnknown_203B264->input.menuIndex; + return GET_CURRENT_MENU_ENTRY(sUnknown_203B264->input); } void CreateHintSelectionScreen(bool8 cursorSprite) { ResetUnusedInputStruct(); ShowWindows(&sUnknown_203B264->windows, FALSE, FALSE); - sub_8013984(&sUnknown_203B264->input); + MenuUpdatePagesData(&sUnknown_203B264->input); sub_801E594(); DrawHintSelectionMenu(); diff --git a/src/hints_menu2.c b/src/hints_menu2.c index 77e0914ee..d1ef1c5bc 100644 --- a/src/hints_menu2.c +++ b/src/hints_menu2.c @@ -45,7 +45,7 @@ u32 HandleHintDisplayScreenInput(void) PlayMenuSoundEffect(0); return 3; default: - if (sub_8013938(&sUnknown_203B268->s0.input)) { + if (MenuCursorUpdateOnlyLeftRight(&sUnknown_203B268->s0.input)) { sub_801E714(); return 1; } @@ -72,7 +72,7 @@ void DestroyHintDisplayScreen(void) static void sub_801E76C(void) { - sUnknown_203B268->header.count = sUnknown_203B268->s0.input.unk20; + sUnknown_203B268->header.count = sUnknown_203B268->s0.input.pagesCount; sUnknown_203B268->header.currId = sUnknown_203B268->s0.input.currPage; sUnknown_203B268->header.width = 15; sUnknown_203B268->header.f3 = 0; diff --git a/src/iq_skill_info_menu.c b/src/iq_skill_info_menu.c index 97a4d4b1d..e88bc73ad 100644 --- a/src/iq_skill_info_menu.c +++ b/src/iq_skill_info_menu.c @@ -34,7 +34,7 @@ bool8 CreateIQSkillInfoMenu(u8 iqSkill) sIQSkillInfoMenu = MemoryAlloc(sizeof(struct IQSkillInfoMenu), 8); sIQSkillInfoMenu->chosenIQSkill = iqSkill; - sub_801317C(&sIQSkillInfoMenu->unk88); + ResetTouchScreenMenuInput(&sIQSkillInfoMenu->unk88); sIQSkillInfoMenu->unk24 = 0; sub_80140B4(&sIQSkillInfoMenu->unk28); ResetUnusedInputStruct(); diff --git a/src/iq_skill_list_menu.c b/src/iq_skill_list_menu.c index 635dc9e8d..32e002e99 100644 --- a/src/iq_skill_list_menu.c +++ b/src/iq_skill_list_menu.c @@ -62,7 +62,7 @@ u32 HandleIQSkillListMenuInput(bool8 a0) PlayMenuSoundEffect(4); return 4; default: - if (sub_80138B8(&sIQSkillListMenu->s24.s0.input, 1) != 0) { + if (MenuCursorUpdate(&sIQSkillListMenu->s24.s0.input, 1) != 0) { sub_801C440(); BuildIQSkillList(); return 1; @@ -73,7 +73,7 @@ u32 HandleIQSkillListMenuInput(bool8 a0) s32 GetIQSkillSelection(void) { - return (sIQSkillListMenu->s24.s0.input.currPage * sIQSkillListMenu->s24.s0.input.entriesPerPage) + sIQSkillListMenu->s24.s0.input.menuIndex; + return GET_CURRENT_MENU_ENTRY(sIQSkillListMenu->s24.s0.input); } void RedrawIQSkillListMenu(bool8 addCursor) @@ -81,7 +81,7 @@ void RedrawIQSkillListMenu(bool8 addCursor) ResetUnusedInputStruct(); ShowWindows(&sIQSkillListMenu->s24.s0.windows, FALSE, FALSE); sIQSkillListMenu->s24.s0.input.totalEntriesCount = sIQSkillListMenu->numIQSkills; - sub_8013984(&sIQSkillListMenu->s24.s0.input); + MenuUpdatePagesData(&sIQSkillListMenu->s24.s0.input); sub_801C440(); BuildIQSkillList(); @@ -102,7 +102,7 @@ void CleanIQSkillListMenu(void) static void sub_801C440(void) { - sIQSkillListMenu->s24.header.count = sIQSkillListMenu->s24.s0.input.unk20; + sIQSkillListMenu->s24.header.count = sIQSkillListMenu->s24.s0.input.pagesCount; sIQSkillListMenu->s24.header.currId = sIQSkillListMenu->s24.s0.input.currPage; sIQSkillListMenu->s24.header.width = 10; sIQSkillListMenu->s24.header.f3 = 0; @@ -130,7 +130,7 @@ void BuildIQSkillList(void) x2 = x + sIQSkillListMenu->s24.header.width * 8; sub_8012BC4(x2, 0, sIQSkillListMenu->s24.s0.input.currPage + 1, 1, 7, sIQSkillListMenu->s24.s0.winId); - for (counter = 0; counter < sIQSkillListMenu->s24.s0.input.unk1A; counter++) { + for (counter = 0; counter < sIQSkillListMenu->s24.s0.input.currPageEntries; counter++) { skillIndex = sIQSkillListMenu->iqSkills[(sIQSkillListMenu->s24.s0.input.currPage * sIQSkillListMenu->s24.s0.input.entriesPerPage) + counter]; y = GetMenuEntryYCoord(&sIQSkillListMenu->s24.s0.input, counter); diff --git a/src/kecleon_bros2.c b/src/kecleon_bros2.c index 5c0f5e1b1..ed0e6473a 100644 --- a/src/kecleon_bros2.c +++ b/src/kecleon_bros2.c @@ -35,7 +35,7 @@ bool8 sub_8019E40(u32 r0) ShowWindows(&gUnknown_203B214->s0.windows, TRUE, TRUE); CreateMenuOnWindow(&gUnknown_203B214->s0.input, CountKecleonShopItems(), 10, r0); gUnknown_203B214->s0.input.menuIndex = gUnknown_203B218; - sub_8013984(&gUnknown_203B214->s0.input); + MenuUpdatePagesData(&gUnknown_203B214->s0.input); sub_801A064(); sub_801A0D8(); return TRUE; @@ -70,7 +70,7 @@ u32 sub_8019EDC(bool8 r0) PlayMenuSoundEffect(4); return 4; default: - if (sub_80138B8(&gUnknown_203B214->s0.input, 1) != FALSE) { + if (MenuCursorUpdate(&gUnknown_203B214->s0.input, 1) != FALSE) { sub_801A064(); sub_801A0D8(); return 1; @@ -82,7 +82,7 @@ u32 sub_8019EDC(bool8 r0) // arm9.bin::02025798 u8 sub_8019FB0(void) { - return (gUnknown_203B214->s0.input.currPage * gUnknown_203B214->s0.input.entriesPerPage) + (u8)gUnknown_203B214->s0.input.menuIndex; + return GET_CURRENT_MENU_ENTRY(gUnknown_203B214->s0.input); } // arm9.bin::02025738 @@ -91,7 +91,7 @@ void sub_8019FCC(bool8 r0) ResetUnusedInputStruct(); ShowWindows(&gUnknown_203B214->s0.windows, FALSE, FALSE); gUnknown_203B214->s0.input.totalEntriesCount = CountKecleonShopItems(); - sub_8013984(&gUnknown_203B214->s0.input); + MenuUpdatePagesData(&gUnknown_203B214->s0.input); sub_801A064(); sub_801A0D8(); if (r0) @@ -113,7 +113,7 @@ void sub_801A010(void) static void sub_801A064(void) { - gUnknown_203B214->header.count = gUnknown_203B214->s0.input.unk20; + gUnknown_203B214->header.count = gUnknown_203B214->s0.input.pagesCount; gUnknown_203B214->header.currId = gUnknown_203B214->s0.input.currPage; gUnknown_203B214->header.width = 10; gUnknown_203B214->header.f3 = 0; @@ -138,7 +138,7 @@ void sub_801A0D8(void) sub_80073B8(gUnknown_203B214->s0.winId); PrintStringOnWindow((gUnknown_203B214->s0.input.currPage * 8) + 10, 0, sGoods, gUnknown_203B214->s0.winId, 0); - for (index = 0; index < gUnknown_203B214->s0.input.unk1A; index++) { + for (index = 0; index < gUnknown_203B214->s0.input.currPageEntries; index++) { temp_calc = (gUnknown_203B214->s0.input.currPage * gUnknown_203B214->s0.input.entriesPerPage) + index; heldItem = GetKecleonShopItem(temp_calc); item.id = heldItem->id; diff --git a/src/kecleon_bros3.c b/src/kecleon_bros3.c index c2fd6beb9..b72b70b29 100644 --- a/src/kecleon_bros3.c +++ b/src/kecleon_bros3.c @@ -35,7 +35,7 @@ bool8 sub_801A20C(u32 r0) ShowWindows(&gUnknown_203B21C->s0.windows, TRUE, TRUE); CreateMenuOnWindow(&gUnknown_203B21C->s0.input, CountKecleonWareItems(), 10, r0); gUnknown_203B21C->s0.input.menuIndex = gUnknown_203B220; - sub_8013984(&gUnknown_203B21C->s0.input); + MenuUpdatePagesData(&gUnknown_203B21C->s0.input); sub_801A430(); sub_801A4A4(); return TRUE; @@ -70,7 +70,7 @@ u32 sub_801A2A8(bool8 r0) PlayMenuSoundEffect(4); return 4; default: - if (sub_80138B8(&gUnknown_203B21C->s0.input, 1) != 0) { + if (MenuCursorUpdate(&gUnknown_203B21C->s0.input, 1) != 0) { sub_801A430(); sub_801A4A4(); return 1; @@ -82,7 +82,7 @@ u32 sub_801A2A8(bool8 r0) // arm9.bin::02025CC4 u8 sub_801A37C(void) { - return (gUnknown_203B21C->s0.input.currPage * gUnknown_203B21C->s0.input.entriesPerPage) + gUnknown_203B21C->s0.input.menuIndex; + return GET_CURRENT_MENU_ENTRY(gUnknown_203B21C->s0.input); } // arm9.bin::02025C64 @@ -91,7 +91,7 @@ void sub_801A398(bool8 r0) ResetUnusedInputStruct(); ShowWindows(&gUnknown_203B21C->s0.windows, FALSE, FALSE); gUnknown_203B21C->s0.input.totalEntriesCount = CountKecleonWareItems(); - sub_8013984(&gUnknown_203B21C->s0.input); + MenuUpdatePagesData(&gUnknown_203B21C->s0.input); sub_801A430(); sub_801A4A4(); if (r0) @@ -113,7 +113,7 @@ void sub_801A3DC(void) static void sub_801A430(void) { - gUnknown_203B21C->header.count = gUnknown_203B21C->s0.input.unk20; + gUnknown_203B21C->header.count = gUnknown_203B21C->s0.input.pagesCount; gUnknown_203B21C->header.currId = gUnknown_203B21C->s0.input.currPage; gUnknown_203B21C->header.width = 10; gUnknown_203B21C->header.f3 = 0; @@ -138,7 +138,7 @@ void sub_801A4A4(void) sub_80073B8(gUnknown_203B21C->s0.winId); PrintStringOnWindow(gUnknown_203B21C->s0.input.currPage * 8 + 10, 0, sGoods, gUnknown_203B21C->s0.winId, 0); - for (index = 0; index < gUnknown_203B21C->s0.input.unk1A; index++) { + for (index = 0; index < gUnknown_203B21C->s0.input.currPageEntries; index++) { temp_calc = (gUnknown_203B21C->s0.input.currPage * gUnknown_203B21C->s0.input.entriesPerPage) + index; heldItem = GetKecleonWareItem(temp_calc); item.id = heldItem->id; diff --git a/src/kecleon_bros4.c b/src/kecleon_bros4.c index 0cf0a7c7d..e6a346d91 100644 --- a/src/kecleon_bros4.c +++ b/src/kecleon_bros4.c @@ -63,7 +63,7 @@ bool8 sub_801A5D8(u32 param_1, s32 param_2, DungeonPos *param_3, u32 param_4) CreateMenuOnWindow(&gUnknown_203B224->unk54.s0.input, GetNumberOfFilledInventorySlots(), param_4, param_2); gUnknown_203B224->unk54.s0.input.menuIndex = gUnknown_203B228; gUnknown_203B224->unk54.s0.input.currPage = gUnknown_203B22A; - sub_8013984(&gUnknown_203B224->unk54.s0.input); + MenuUpdatePagesData(&gUnknown_203B224->unk54.s0.input); sub_801A998(); sub_801A9E0(); return TRUE; @@ -125,7 +125,7 @@ u32 sub_801A6E8(bool8 param_1) if (gUnknown_203B224->unk4[index] != 0 || sub_801ADA0(index)) { PlayMenuSoundEffect(6); gUnknown_203B224->unk4[index] ^= 1; - sub_80138B8(&gUnknown_203B224->unk54.s0.input, 0); + MenuCursorUpdate(&gUnknown_203B224->unk54.s0.input, 0); sub_801A9E0(); return 1; } @@ -141,7 +141,7 @@ u32 sub_801A6E8(bool8 param_1) // NOTE: fallthrough needed here default: _0801A87C: - if (sub_80138B8(&gUnknown_203B224->unk54.s0.input, 1) != FALSE) { + if (MenuCursorUpdate(&gUnknown_203B224->unk54.s0.input, 1) != FALSE) { sub_801A998(); sub_801A9E0(); return 1; @@ -155,7 +155,7 @@ u32 sub_801A6E8(bool8 param_1) // arm9.bin::02026934 s32 sub_801A8AC(void) { - return (gUnknown_203B224->unk54.s0.input.currPage * gUnknown_203B224->unk54.s0.input.entriesPerPage) + gUnknown_203B224->unk54.s0.input.menuIndex; + return GET_CURRENT_MENU_ENTRY(gUnknown_203B224->unk54.s0.input); } // arm9.bin::020268C0 @@ -166,7 +166,7 @@ void sub_801A8D0(bool8 r0) ShowWindows(&gUnknown_203B224->unk54.s0.windows, FALSE, FALSE); FillInventoryGaps(); gUnknown_203B224->unk54.s0.input.totalEntriesCount = GetNumberOfFilledInventorySlots(); - sub_8013984(&gUnknown_203B224->unk54.s0.input); + MenuUpdatePagesData(&gUnknown_203B224->unk54.s0.input); sub_801A998(); sub_801A9E0(); if (r0) @@ -190,7 +190,7 @@ void sub_801A928(void) static void sub_801A998(void) { - gUnknown_203B224->unk54.header.count = gUnknown_203B224->unk54.s0.input.unk20; + gUnknown_203B224->unk54.header.count = gUnknown_203B224->unk54.s0.input.pagesCount; gUnknown_203B224->unk54.header.currId = gUnknown_203B224->unk54.s0.input.currPage; gUnknown_203B224->unk54.header.width = 11; gUnknown_203B224->unk54.header.f3 = 0; @@ -216,7 +216,7 @@ void sub_801A9E0(void) else PrintStringOnWindow(x, 0, sTeamToolboxB, gUnknown_203B224->unk54.s0.winId, 0); - for (r7 = 0; r7 < gUnknown_203B224->unk54.s0.input.unk1A; r7++) { + for (r7 = 0; r7 < gUnknown_203B224->unk54.s0.input.currPageEntries; r7++) { teamItemIndex = (gUnknown_203B224->unk54.s0.input.currPage * gUnknown_203B224->unk54.s0.input.entriesPerPage) + r7; item = gTeamInventoryRef->teamItems[teamItemIndex]; diff --git a/src/makuhita_dojo2.c b/src/makuhita_dojo2.c index 1c8231782..10d6bd53a 100644 --- a/src/makuhita_dojo2.c +++ b/src/makuhita_dojo2.c @@ -64,7 +64,7 @@ u32 sub_80303AC(bool8 param_1) PlayMenuSoundEffect(0); return 3; default: - if (sub_80138B8(&sMakuhitaDojoWork2->s30.s0.input, 1)) { + if (MenuCursorUpdate(&sMakuhitaDojoWork2->s30.s0.input, 1)) { sub_80304C8(); MakuhitaDojo_DrawCourseList(); return 1; @@ -76,13 +76,13 @@ u32 sub_80303AC(bool8 param_1) s16 sub_8030418(void) { - return sMakuhitaDojoWork2->unk0[(sMakuhitaDojoWork2->s30.s0.input.currPage * sMakuhitaDojoWork2->s30.s0.input.entriesPerPage) + sMakuhitaDojoWork2->s30.s0.input.menuIndex]; + return sMakuhitaDojoWork2->unk0[GET_CURRENT_MENU_ENTRY(sMakuhitaDojoWork2->s30.s0.input)]; } UNUSED static void sub_8030444(bool8 a0) { sMakuhitaDojoWork2->s30.s0.input.totalEntriesCount = sub_8030668(); - sub_8013984(&sMakuhitaDojoWork2->s30.s0.input); + MenuUpdatePagesData(&sMakuhitaDojoWork2->s30.s0.input); sub_80304C8(); MakuhitaDojo_DrawCourseList(); if (a0) @@ -125,7 +125,7 @@ static void MakuhitaDojo_DrawCourseList(void) PrintStringOnWindow(10, 0, sCourses, sMakuhitaDojoWork2->s30.s0.winId, 0); sub_8012BC4((sMakuhitaDojoWork2->s30.header.width * 8) + 4, 0, sMakuhitaDojoWork2->s30.s0.input.currPage + 1, 2, 7, sMakuhitaDojoWork2->s30.s0.winId); - for (i = 0; i < sMakuhitaDojoWork2->s30.s0.input.unk1A; i++) { + for (i = 0; i < sMakuhitaDojoWork2->s30.s0.input.currPageEntries; i++) { iVar6 = sMakuhitaDojoWork2->unk0[sMakuhitaDojoWork2->s30.s0.input.currPage * sMakuhitaDojoWork2->s30.s0.input.entriesPerPage + i]; dungeonIndex = sub_80A2740(iVar6); diff --git a/src/menu_input.c b/src/menu_input.c index ca8cb0a02..ce155842e 100644 --- a/src/menu_input.c +++ b/src/menu_input.c @@ -48,60 +48,47 @@ const WindowTemplate gUnknown_80D47C8[MAX_WINDOWS] = { NULL, }; -ALIGNED(4) const u8 gUnknown_80D4828[] = _("{COLOR}%c%s"); - -const s32 gUnknown_80D4830[9] = { - 1, - 10, - 100, - 1000, - 10000, - 100000, - 1000000, - 10000000, - 100000000 -}; - static void sub_8013134(MenuInputStruct *, u32, u32); -static void sub_801332C(DungeonPos *a0); +static void ShowDarkerArrow(DungeonPos *a0); static void ShowLeftRightArrows(MenuInputStruct *); static bool8 sub_8013DD0(unkStructFor8013AA0 *); static void MenuScrollLeft(MenuInputStruct *menuInput); static void MenuScrollRight(MenuInputStruct *menuInput); +static s32 GetCurrMenuIndex(MenuInputStruct *menuInput); -u32 sub_8012A64(MenuInputStructSub *r0, s32 r1) +u32 sub_8012A64(TouchScreenMenuInput *touchScreen, s32 r1) { - if (r0 == NULL) + if (touchScreen == NULL) return GetMenuInput(); if (r1 != -1) - nullsub_34(r0, r1); + GetTouchScreenMenuInput(touchScreen, r1); - if (r0->a_button != 0) { - r0->a_button = 0; + if (touchScreen->a_button != 0) { + touchScreen->a_button = 0; return INPUT_A_BUTTON; } - if (r0->b_button == 0) + if (touchScreen->b_button == 0) return GetMenuInput(); - r0->b_button = 0; + touchScreen->b_button = 0; return INPUT_B_BUTTON; } -s32 GetKeyPress(MenuInputStruct *r0) +s32 GetKeyPress(MenuInputStruct *menuInput) { - if (r0 != NULL) { - if (r0->unk28.a_button != 0) + if (menuInput != NULL) { + if (menuInput->touchScreen.a_button != 0) return INPUT_A_BUTTON; - if (r0->unk28.b_button != 0) + if (menuInput->touchScreen.b_button != 0) return INPUT_B_BUTTON; - if (r0->unk28.dpad_left != 0) + if (menuInput->touchScreen.dpad_left != 0) return INPUT_DPAD_LEFT; - if (r0->unk28.dpad_right != 0) + if (menuInput->touchScreen.dpad_right != 0) return INPUT_DPAD_RIGHT; } @@ -422,7 +409,7 @@ void sub_8012EBC(MenuStruct *menu) else color = colorArray[0]; // Use the default white - sprintfStatic(buffer,gUnknown_80D4828, color, textPtr); + sprintfStatic(buffer,_("{COLOR}%c%s"), color, textPtr); y = GetMenuEntryYCoord(&menu->input, counter); PrintFormattedStringOnWindow(8, y, buffer, menu->index, 0); menuItemsPtr++; @@ -463,7 +450,7 @@ bool8 sub_8012FD8(MenuStruct *menu) PlayMenuSoundEffect(3); break; case INPUT_A_BUTTON: - index = sub_80137A8(&menu->input); + index = GetCurrMenuIndex(&menu->input); item = &menu->menuItems[index]; if (item->menuAction > -1 && (menu->unkC == NULL || menu->unkC[index] != 1)) { @@ -483,8 +470,8 @@ bool8 sub_8012FD8(MenuStruct *menu) PlayMenuSoundEffect(0); break; case INPUT_B_BUTTON: - if (menu->menuItems[menu->input.unk1A].menuAction > -1) { - menu->menuAction = menu->menuItems[menu->input.unk1A].menuAction; + if (menu->menuItems[menu->input.currPageEntries].menuAction > -1) { + menu->menuAction = menu->menuItems[menu->input.currPageEntries].menuAction; menu->unk4C = FALSE; PlayMenuSoundEffect(1); } @@ -505,7 +492,7 @@ bool8 sub_80130A8(MenuStruct *menu) switch (GetKeyPress(&menu->input)) { case INPUT_A_BUTTON: - index = sub_80137A8(&menu->input); + index = GetCurrMenuIndex(&menu->input); menuItem = &menu->menuItems[index]; menu->menuAction = menuItem->menuAction; menu->unk4C = FALSE; @@ -513,8 +500,8 @@ bool8 sub_80130A8(MenuStruct *menu) PlayMenuSoundEffect(0); break; case INPUT_B_BUTTON: - if (menu->menuItems[menu->input.unk1A].menuAction > -1) { - menu->menuAction = menu->menuItems[menu->input.unk1A].menuAction; + if (menu->menuItems[menu->input.currPageEntries].menuAction > -1) { + menu->menuAction = menu->menuItems[menu->input.currPageEntries].menuAction; menu->unk4C = FALSE; PlayMenuSoundEffect(0); } @@ -543,7 +530,7 @@ static void sub_8013134(MenuInputStruct *menuInput, u32 menuItemCounter, u32 win menuInput->windowId = windowId; menuInput->menuIndex = 0; - menuInput->unk1A = menuItemCounter; + menuInput->currPageEntries = menuItemCounter; menuInput->entriesPerPage = menuItemCounter; menuInput->currPage = 0; menuInput->unk4 = 0; @@ -557,11 +544,11 @@ static void sub_8013134(MenuInputStruct *menuInput, u32 menuItemCounter, u32 win menuInput->leftRightArrowsPos.y = 0; menuInput->unk14.x = 0; menuInput->unk24 = 0; - sub_801317C(&menuInput->unk28); + ResetTouchScreenMenuInput(&menuInput->touchScreen); } // arm9.bin::0201BD28 -void sub_801317C(MenuInputStructSub *param_1) +void ResetTouchScreenMenuInput(TouchScreenMenuInput *param_1) { param_1->unk0 = 0; param_1->a_button = 0; @@ -585,7 +572,7 @@ void AddMenuCursorSprite_(MenuInputStruct *menuInput, u8 *a1) { struct SpriteOAM sp = {0}; - if (menuInput->unk1A > 0) { + if (menuInput->currPageEntries > 0) { UpdateMenuCursorSpriteCoords(menuInput); if (!(menuInput->unk24 & 8)) { @@ -611,19 +598,19 @@ void AddMenuCursorSprite_(MenuInputStruct *menuInput, u8 *a1) ShowLeftRightArrows(menuInput); if (menuInput->unk14.x != 0) - sub_801332C(&menuInput->unk14); + ShowDarkerArrow(&menuInput->unk14); menuInput->unk24++; // More here in NDS } -void nullsub_34(MenuInputStructSub *a0, s32 a1) +void GetTouchScreenMenuInput(TouchScreenMenuInput *touchScreen, s32 a1) { } // arm9.bin::0201B490 -static void sub_801332C(DungeonPos *a0) +static void ShowDarkerArrow(DungeonPos *pos) { struct SpriteOAM sp = {0}; @@ -640,8 +627,8 @@ static void sub_801332C(DungeonPos *a0) SpriteSetPalNum(&sp, 15); SpriteSetUnk6_0(&sp, 0); SpriteSetUnk6_1(&sp, 0); - SpriteSetX(&sp, a0->x); - SpriteSetY(&sp, a0->y + 1); + SpriteSetX(&sp, pos->x); + SpriteSetY(&sp, pos->y + 1); AddSprite(&sp, 0xFF, NULL, NULL); } @@ -671,7 +658,7 @@ static void ShowLeftRightArrows(MenuInputStruct *menuInput) AddSprite(&sp, 0xFF, NULL, NULL); } - if (menuInput->unk20 != 0 && menuInput->unk20 != menuInput->currPage + 1) { // Right arrow + if (menuInput->pagesCount != 0 && menuInput->pagesCount != menuInput->currPage + 1) { // Right arrow SpriteSetAffine1(&sp, 0); SpriteSetAffine2(&sp, 0); SpriteSetObjMode(&sp, 0); @@ -695,9 +682,9 @@ static void ShowLeftRightArrows(MenuInputStruct *menuInput) void sub_8013660(MenuInputStruct *menuInput) { - if (0 < menuInput->unk1A) { + if (menuInput->currPageEntries > 0) { UpdateMenuCursorSpriteCoords(menuInput); - sub_801332C(&menuInput->cursorArrowPos); + ShowDarkerArrow(&menuInput->cursorArrowPos); } } @@ -713,12 +700,12 @@ void MoveMenuCursorDown(MenuInputStruct *menuInput) { menuInput->unk24 = 0; - if (menuInput->unk1A < 1) + if (menuInput->currPageEntries < 1) menuInput->menuIndex = 0; else { menuInput->menuIndex++; - if (menuInput->menuIndex >= menuInput->unk1A) + if (menuInput->menuIndex >= menuInput->currPageEntries) menuInput->menuIndex = 0; } } @@ -727,16 +714,16 @@ void MoveMenuCursorDownWrapAround(MenuInputStruct *menuInput, u8 param_2) { menuInput->unk24 = 0; - if (menuInput->unk1A < 1) + if (menuInput->currPageEntries < 1) menuInput->menuIndex = 0; else { menuInput->menuIndex++; - if (menuInput->menuIndex >= menuInput->unk1A) { + if (menuInput->menuIndex >= menuInput->currPageEntries) { if (param_2 != 0) menuInput->menuIndex = 0; else - menuInput->menuIndex = menuInput->unk1A - 1; + menuInput->menuIndex = menuInput->currPageEntries - 1; } } } @@ -745,13 +732,13 @@ void MoveMenuCursorUp(MenuInputStruct *menuInput) { menuInput->unk24 = 0; - if (menuInput->unk1A < 1) + if (menuInput->currPageEntries < 1) menuInput->menuIndex = 0; else { menuInput->menuIndex--; if (menuInput->menuIndex < 0) - menuInput->menuIndex = menuInput->unk1A - 1; + menuInput->menuIndex = menuInput->currPageEntries - 1; } } @@ -759,14 +746,14 @@ void MoveMenuCursorUpWrapAround(MenuInputStruct *menuInput, u8 param_2) { menuInput->unk24 = 0; - if (menuInput->unk1A < 1) + if (menuInput->currPageEntries < 1) menuInput->menuIndex = 0; else { menuInput->menuIndex--; if (menuInput->menuIndex < 0) { if (param_2 != 0) - menuInput->menuIndex = menuInput->unk1A - 1; + menuInput->menuIndex = menuInput->currPageEntries - 1; else menuInput->menuIndex = 0; } @@ -777,15 +764,15 @@ void sub_8013780(MenuInputStruct *menuInput, s32 param_2) { if (param_2 < 0) menuInput->menuIndex = 0; - else if (param_2 >= menuInput->unk1A) - menuInput->menuIndex = menuInput->unk1A - 1; + else if (param_2 >= menuInput->currPageEntries) + menuInput->menuIndex = menuInput->currPageEntries - 1; else menuInput->menuIndex = param_2; menuInput->unk24 = 0; } -s32 sub_80137A8(MenuInputStruct *menuInput) +static s32 GetCurrMenuIndex(MenuInputStruct *menuInput) { return menuInput->menuIndex; } @@ -834,12 +821,12 @@ void CreateMenuOnWindow(MenuInputStruct *menuInput, s32 totalCount, u32 perPageC menuInput->menuIndex = 0; menuInput->currPage = 0; - sub_801317C(&menuInput->unk28); - sub_8013984(menuInput); + ResetTouchScreenMenuInput(&menuInput->touchScreen); + MenuUpdatePagesData(menuInput); sub_80137F8(menuInput, 12); } -void sub_8013848(MenuInputStruct *menuInput, s32 totalCount, u32 perPageCount, s32 windowId) +void CreateMenuOnWindow2(MenuInputStruct *menuInput, s32 totalCount, u32 perPageCount, s32 windowId) { menuInput->windowId = windowId; menuInput->totalEntriesCount = totalCount; @@ -849,8 +836,8 @@ void sub_8013848(MenuInputStruct *menuInput, s32 totalCount, u32 perPageCount, s menuInput->menuIndex = 0; menuInput->currPage = 0; - sub_801317C(&menuInput->unk28); - sub_8013984(menuInput); + ResetTouchScreenMenuInput(&menuInput->touchScreen); + MenuUpdatePagesData(menuInput); sub_80137F8(menuInput, 24); } @@ -864,19 +851,16 @@ void sub_8013878(MenuInputStruct *menuInput, s32 param_2) menuInput->currPage = param_2 / menuInput->entriesPerPage; menuInput->menuIndex = param_2 % menuInput->entriesPerPage; menuInput->unk24 = 0; - sub_8013984(menuInput); + MenuUpdatePagesData(menuInput); } -bool8 sub_80138B8(MenuInputStruct *menuInput, bool8 param_2) +bool8 MenuCursorUpdate(MenuInputStruct *menuInput, bool8 allowDpadPress) { - s32 sVar1; - s32 oldIndex; + s32 pageBefore = menuInput->currPage; + s32 oldIndex = menuInput->menuIndex; - sVar1 = menuInput->currPage; - oldIndex = menuInput->menuIndex; AddMenuCursorSprite(menuInput); - - if (param_2) { + if (allowDpadPress) { switch (GetKeyPress(menuInput)) { case INPUT_DPAD_UP: MoveMenuCursorUp(menuInput); @@ -897,19 +881,18 @@ bool8 sub_80138B8(MenuInputStruct *menuInput, bool8 param_2) } } - if (sVar1 != menuInput->currPage) { + if (pageBefore != menuInput->currPage) { PlayMenuSoundEffect(4); return TRUE; } return FALSE; } -bool8 sub_8013938(MenuInputStruct *menuInput) +bool8 MenuCursorUpdateOnlyLeftRight(MenuInputStruct *menuInput) { - s32 sVar1; + s32 pageBefore = menuInput->currPage; - sVar1 = menuInput->currPage; - menuInput->unk1A = 0; + menuInput->currPageEntries = 0; menuInput->unk14.x = 0; AddMenuCursorSprite(menuInput); @@ -922,38 +905,35 @@ bool8 sub_8013938(MenuInputStruct *menuInput) break; } - if (sVar1 != menuInput->currPage) { + if (pageBefore != menuInput->currPage) { PlayMenuSoundEffect(4); return TRUE; } return FALSE; } -void sub_8013984(MenuInputStruct *menuInput) +void MenuUpdatePagesData(MenuInputStruct *menuInput) { - s32 iVar2; - Window *window; - - window = &gWindows[menuInput->windowId]; + Window *window = &gWindows[menuInput->windowId]; if (menuInput->entriesPerPage == 0) menuInput->entriesPerPage++; - menuInput->unk20 = menuInput->totalEntriesCount / menuInput->entriesPerPage; - iVar2 = menuInput->totalEntriesCount % menuInput->entriesPerPage; - if (iVar2 != 0) - menuInput->unk20++; + menuInput->pagesCount = menuInput->totalEntriesCount / menuInput->entriesPerPage; + if (menuInput->totalEntriesCount % menuInput->entriesPerPage != 0) + menuInput->pagesCount++; - if (menuInput->currPage > menuInput->unk20 - 1) - menuInput->currPage = menuInput->unk20 - 1; + if (menuInput->currPage > menuInput->pagesCount - 1) + menuInput->currPage = menuInput->pagesCount - 1; - if (menuInput->currPage != menuInput->unk20 - 1 || menuInput->totalEntriesCount % menuInput->entriesPerPage == 0) - menuInput->unk1A = menuInput->entriesPerPage; + // Only last page can have less entries than all the other pages. + if (menuInput->currPage == menuInput->pagesCount - 1 && menuInput->totalEntriesCount % menuInput->entriesPerPage) + menuInput->currPageEntries = menuInput->totalEntriesCount % menuInput->entriesPerPage; else - menuInput->unk1A = menuInput->totalEntriesCount % menuInput->entriesPerPage; + menuInput->currPageEntries = menuInput->entriesPerPage; - if (menuInput->menuIndex > menuInput->unk1A - 1) - menuInput->menuIndex = menuInput->unk1A - 1; + if (menuInput->menuIndex > menuInput->currPageEntries - 1) + menuInput->menuIndex = menuInput->currPageEntries - 1; menuInput->unk4 = 0; @@ -962,7 +942,7 @@ void sub_8013984(MenuInputStruct *menuInput) else menuInput->firstEntryY = 0; - if (menuInput->unk20 < 2) + if (menuInput->pagesCount < 2) menuInput->leftRightArrowsPos.x = 0; else menuInput->leftRightArrowsPos.x = (window->x + window->width - 2) * 8; @@ -972,22 +952,22 @@ void sub_8013984(MenuInputStruct *menuInput) void MenuScrollRight(MenuInputStruct *menuInput) { - if (menuInput->currPage < menuInput->unk20 - 1) + if (menuInput->currPage < menuInput->pagesCount - 1) menuInput->currPage++; else menuInput->currPage = 0; - sub_8013984(menuInput); + MenuUpdatePagesData(menuInput); } static void MenuScrollLeft(MenuInputStruct *menuInput) { if (menuInput->currPage < 1) - menuInput->currPage = menuInput->unk20 - 1; + menuInput->currPage = menuInput->pagesCount - 1; else menuInput->currPage--; - sub_8013984(menuInput); + MenuUpdatePagesData(menuInput); } void sub_8013AA0(unkStructFor8013AA0 *a0) @@ -1112,6 +1092,18 @@ void sub_8013D10(unkStructFor8013AA0 *a0) SpriteSetY(&a0->unk28, y); } +static const s32 sTenPowers[9] = { + 1, + 10, + 100, + 1000, + 10000, + 100000, + 1000000, + 10000000, + 100000000 +}; + static bool8 sub_8013DD0(unkStructFor8013AA0 *a0) { s32 iVar2; @@ -1123,7 +1115,7 @@ static bool8 sub_8013DD0(unkStructFor8013AA0 *a0) return FALSE; } - iVar2 = a0->unk0 + gUnknown_80D4830[a0->unk24]; + iVar2 = a0->unk0 + sTenPowers[a0->unk24]; PlayMenuSoundEffect(3); if (iVar2 > a0->unkC) @@ -1137,7 +1129,7 @@ static bool8 sub_8013DD0(unkStructFor8013AA0 *a0) return FALSE; } - iVar2 = a0->unk0 - gUnknown_80D4830[a0->unk24]; + iVar2 = a0->unk0 - sTenPowers[a0->unk24]; PlayMenuSoundEffect(3); if (iVar2 < a0->unk8) diff --git a/src/options_menu2.c b/src/options_menu2.c index 7bf785a97..9e49faf2c 100644 --- a/src/options_menu2.c +++ b/src/options_menu2.c @@ -22,7 +22,7 @@ bool8 sub_801E198(GameOptions *optionsMenu) { sUnknown_203B260 = MemoryAlloc(sizeof(struct unkStruct_203B260), 8); sUnknown_203B260->optionsMenu = optionsMenu; - sub_801317C(&sUnknown_203B260->unk4); + ResetTouchScreenMenuInput(&sUnknown_203B260->unk4); sUnknown_203B260->unk44 = 0; sUnknown_203B260->unk48 = &sUnknown_203B260->unk4C.id[0]; RestoreSavedWindows(&sUnknown_203B260->unk4C); @@ -74,7 +74,7 @@ u32 sub_801E218(void) } // == TRUE is needed for matching - if (sub_80138B8(&sUnknown_203B260->input, 1) || flag == TRUE) { + if (MenuCursorUpdate(&sUnknown_203B260->input, 1) || flag == TRUE) { nullsub_38(); CreateOptionsMenu(); return 1; diff --git a/src/personality_test1.c b/src/personality_test1.c index 381720bb4..e3feade09 100644 --- a/src/personality_test1.c +++ b/src/personality_test1.c @@ -66,7 +66,7 @@ static void UpdateNatureTotals(void); bool8 CreateTestTracker(void) { sPersonalityTestTracker = MemoryAlloc(sizeof(PersonalityTestTracker), 8); - sub_801317C(&sPersonalityTestTracker->input); + ResetTouchScreenMenuInput(&sPersonalityTestTracker->input); InitializeTestStats(); sub_8099690(1); return TRUE; diff --git a/src/personality_test2.c b/src/personality_test2.c index b8a066e0f..817b7f673 100644 --- a/src/personality_test2.c +++ b/src/personality_test2.c @@ -66,7 +66,7 @@ u16 HandlePartnerSelectionInput(void) return gUnknown_203B404->PartnerArray[gUnknown_203B404->s18.s0.input.menuIndex]; } - if (sub_80138B8(&gUnknown_203B404->s18.s0.input, TRUE)) + if (MenuCursorUpdate(&gUnknown_203B404->s18.s0.input, TRUE)) RedrawPartnerSelectionMenu(); if (partnerID != gUnknown_203B404->s18.s0.input.menuIndex) @@ -81,7 +81,7 @@ u16 HandlePartnerSelectionInput(void) UNUSED static void sub_803CE34(bool8 cursorSprite) { gUnknown_203B404->s18.s0.input.totalEntriesCount = GetValidPartners(); - sub_8013984(&gUnknown_203B404->s18.s0.input); + MenuUpdatePagesData(&gUnknown_203B404->s18.s0.input); RedrawPartnerSelectionMenu(); PersonalityTest_DisplayPartnerSprite(); @@ -129,7 +129,7 @@ static void RedrawPartnerSelectionMenu(void) PrintStringOnWindow(12, 0, gPartnerSelectionHeaderText, gUnknown_203B404->s18.s0.winId, 0); monCounter = 0; - while (monCounter < gUnknown_203B404->s18.s0.input.unk1A) { + while (monCounter < gUnknown_203B404->s18.s0.input.currPageEntries) { yCoord = GetMenuEntryYCoord(&gUnknown_203B404->s18.s0.input, monCounter); monName = GetMonSpecies(gUnknown_203B404->PartnerArray[monCounter]); PrintStringOnWindow(8, yCoord, monName, gUnknown_203B404->s18.s0.winId, 0); diff --git a/src/pokemon_news1.c b/src/pokemon_news1.c index a0ecd7feb..1926093d0 100644 --- a/src/pokemon_news1.c +++ b/src/pokemon_news1.c @@ -51,7 +51,7 @@ bool8 sub_802B640(u32 a0, DungeonPos *a1, u32 a2) sUnknown_203B2CC->s38.input.menuIndex = sUnknown_203B2D0; sUnknown_203B2CC->s38.input.currPage = sUnknown_203B2D2; - sub_8013984(&sUnknown_203B2CC->s38.input); + MenuUpdatePagesData(&sUnknown_203B2CC->s38.input); sub_802B880(); CreatePKMNNewsMenu(); @@ -77,7 +77,7 @@ u32 sub_802B720(bool8 a0) return 4; } - if (sub_80138B8(&sUnknown_203B2CC->s38.input, 1)) { + if (MenuCursorUpdate(&sUnknown_203B2CC->s38.input, 1)) { sub_802B880(); CreatePKMNNewsMenu(); return 1; @@ -87,7 +87,7 @@ u32 sub_802B720(bool8 a0) u8 GetPokemonNewsIndex(void) { - return sUnknown_203B2CC->receivedNewsletters[(sUnknown_203B2CC->s38.input.currPage * sUnknown_203B2CC->s38.input.entriesPerPage) + sUnknown_203B2CC->s38.input.menuIndex]; + return sUnknown_203B2CC->receivedNewsletters[GET_CURRENT_MENU_ENTRY(sUnknown_203B2CC->s38.input)]; } void sub_802B7D0(bool8 cursorSprite) @@ -96,7 +96,7 @@ void sub_802B7D0(bool8 cursorSprite) ShowWindows(&sUnknown_203B2CC->s38.windows, FALSE, FALSE); sUnknown_203B2CC->s38.input.totalEntriesCount = GetNumPKMNNews(); - sub_8013984(&sUnknown_203B2CC->s38.input); + MenuUpdatePagesData(&sUnknown_203B2CC->s38.input); sub_802B880(); CreatePKMNNewsMenu(); @@ -139,7 +139,7 @@ static void CreatePKMNNewsMenu(void) sub_8012BC4((sUnknown_80DFBE8.width * 8) + 4, 0, sUnknown_203B2CC->s38.input.currPage + 1, 2, 7, sUnknown_203B2CC->s38.winId); - for (index = 0; index < sUnknown_203B2CC->s38.input.unk1A; index++) { + for (index = 0; index < sUnknown_203B2CC->s38.input.currPageEntries; index++) { y = GetMenuEntryYCoord(&sUnknown_203B2CC->s38.input, index); new_index = (sUnknown_203B2CC->s38.input.currPage * sUnknown_203B2CC->s38.input.entriesPerPage) + index; mailIndex = sUnknown_203B2CC->receivedNewsletters[new_index]; diff --git a/src/pokemon_news2.c b/src/pokemon_news2.c index b0770797b..1c7a5e12a 100644 --- a/src/pokemon_news2.c +++ b/src/pokemon_news2.c @@ -26,7 +26,7 @@ bool8 sub_802B9FC(u8 mailIndex) { sUnknown_203B2D4 = MemoryAlloc(sizeof(struct unkStruct_203B2D4), 8); sUnknown_203B2D4->currMailIndex = mailIndex; - sub_801317C(&sUnknown_203B2D4->unk88); + ResetTouchScreenMenuInput(&sUnknown_203B2D4->unk88); sUnknown_203B2D4->unk24 = 0; sUnknown_203B2D4->unk28.id[0] = sUnknown_80DFC34; sUnknown_203B2D4->unk28.id[1] = sUnknown_80DFC18; diff --git a/src/pokemon_news3.c b/src/pokemon_news3.c index ab8b4945a..db428c6f4 100644 --- a/src/pokemon_news3.c +++ b/src/pokemon_news3.c @@ -46,9 +46,9 @@ bool8 sub_802BD14(s32 a0, DungeonPos *a1, u32 a2) sub_8012D34(sUnknown_203B2D8->unk4.s0.unk38, a2); ResetUnusedInputStruct(); ShowWindows(&sUnknown_203B2D8->unk4.s0.windows, TRUE, TRUE); - sub_8013848(&sUnknown_203B2D8->unk4.s0.input, CountEmptyMailSlots(), a2, a0); + CreateMenuOnWindow2(&sUnknown_203B2D8->unk4.s0.input, CountEmptyMailSlots(), a2, a0); sUnknown_203B2D8->unk4.s0.input.menuIndex = sUnknown_203B2DC; - sub_8013984(&sUnknown_203B2D8->unk4.s0.input); + MenuUpdatePagesData(&sUnknown_203B2D8->unk4.s0.input); sub_802BF30(); CreateMailMenu(); return TRUE; @@ -72,7 +72,7 @@ u32 sub_802BDEC(bool8 a0) PlayMenuSoundEffect(4); return 4; default: - if (sub_80138B8(&sUnknown_203B2D8->unk4.s0.input, 1)) { + if (MenuCursorUpdate(&sUnknown_203B2D8->unk4.s0.input, 1)) { sub_802BF30(); CreateMailMenu(); return 1; @@ -83,7 +83,7 @@ u32 sub_802BDEC(bool8 a0) u8 sub_802BE74(void) { - return sUnknown_203B2D8->unk0[(sUnknown_203B2D8->unk4.s0.input.currPage * sUnknown_203B2D8->unk4.s0.input.entriesPerPage) + sUnknown_203B2D8->unk4.s0.input.menuIndex]; + return sUnknown_203B2D8->unk0[GET_CURRENT_MENU_ENTRY(sUnknown_203B2D8->unk4.s0.input)]; } void sub_802BE94(bool8 cursorSprite) @@ -92,7 +92,7 @@ void sub_802BE94(bool8 cursorSprite) ShowWindows(&sUnknown_203B2D8->unk4.s0.windows, FALSE, FALSE); sUnknown_203B2D8->unk4.s0.input.totalEntriesCount = CountEmptyMailSlots(); - sub_8013984(&sUnknown_203B2D8->unk4.s0.input); + MenuUpdatePagesData(&sUnknown_203B2D8->unk4.s0.input); sub_802BF30(); CreateMailMenu(); @@ -133,7 +133,7 @@ void CreateMailMenu(void) sub_80073B8(sUnknown_203B2D8->unk4.s0.winId); PrintStringOnWindow((sUnknown_203B2D8->unk4.s0.input.currPage * 8) + 10, 0, sMailbox, sUnknown_203B2D8->unk4.s0.winId, 0); - for (i = 0; i < sUnknown_203B2D8->unk4.s0.input.unk1A; i++) { + for (i = 0; i < sUnknown_203B2D8->unk4.s0.input.currPageEntries; i++) { mail = GetMailboxSlotInfo(sUnknown_203B2D8->unk0[(sUnknown_203B2D8->unk4.s0.input.currPage * sUnknown_203B2D8->unk4.s0.input.entriesPerPage) + i]); local.unk0[0] = sUnknown_203B2D8->unk4.s0.winId; local.y = GetMenuEntryYCoord(&sUnknown_203B2D8->unk4.s0.input, i); diff --git a/src/post_office_guide2.c b/src/post_office_guide2.c index 56524260b..cfb4808d3 100644 --- a/src/post_office_guide2.c +++ b/src/post_office_guide2.c @@ -34,7 +34,7 @@ bool8 sub_80319A4(u8 param_1, u8 dungeon, s32 param_3) sUnknown_203B330 = MemoryAlloc(sizeof(unkStruct_203B330), 8); sUnknown_203B330->unkC = param_1; sUnknown_203B330->dungeonIndex = dungeon; - sub_801317C(&sUnknown_203B330->input); + ResetTouchScreenMenuInput(&sUnknown_203B330->input); sUnknown_203B330->unk10 = param_3; sUnknown_203B330->unk14 = &sUnknown_203B330->unk18.id[param_3]; sub_8031A2C(); diff --git a/src/string_format.c b/src/string_format.c index 2bd036f22..0029b02eb 100644 --- a/src/string_format.c +++ b/src/string_format.c @@ -146,7 +146,7 @@ struct NeverWrittenToStruct202EC20 static EWRAM_DATA struct NeverWrittenToStruct202EC20 *sNeverWrittenToUnknownStructPtr = NULL; static UNUSED EWRAM_DATA u8 sUnusedEwram1[4] = {0}; -static EWRAM_DATA MenuInputStructSub gUnknown_202EC28 = {0}; +static EWRAM_DATA TouchScreenMenuInput gUnknown_202EC28 = {0}; static EWRAM_INIT WindowTemplates sUnknown_203B198 = { .id = { @@ -223,7 +223,7 @@ void CreateMenuDialogueBoxAndPortrait(const u8 *text, void *a1, u32 r9, const Me sDialogueMenuItems = menuItems; gUnknown_202EC18 = arg_0; gUnknown_202EC1C = r9; - sub_801317C(&gUnknown_202EC28); + ResetTouchScreenMenuInput(&gUnknown_202EC28); if (flags & 0x10) { sUnknown_203B198.id[0] = gUnknown_80D48DC; } @@ -388,7 +388,7 @@ void DrawDialogueBoxString(void) } sub_80073E0(0); gUnknown_202E794 = str; - sub_801317C(&gUnknown_202EC28); + ResetTouchScreenMenuInput(&gUnknown_202EC28); if (gUnknown_202E794[0] == '\0') { if (sDialogueMenuItems != NULL) { gUnknown_202E744 = 3; @@ -459,7 +459,7 @@ void DrawDialogueBoxString(void) case 9: { bool8 buttonPress = FALSE; gUnknown_202E748.unk20 = 0; - nullsub_34(&gUnknown_202EC28, 0); + GetTouchScreenMenuInput(&gUnknown_202EC28, 0); if (!(sUnknownTextFlags & 1)) { buttonPress = TRUE; } diff --git a/src/wigglytuff_shop1.c b/src/wigglytuff_shop1.c index 3dacb6b78..6f08d936e 100644 --- a/src/wigglytuff_shop1.c +++ b/src/wigglytuff_shop1.c @@ -42,7 +42,7 @@ bool8 sub_80211AC(u32 mode, u32 a1) if (sUnknown_203B284 == sWigglytuffShop1Work->mode) { sWigglytuffShop1Work->s40.s0.input.menuIndex = sUnknown_203B288; sWigglytuffShop1Work->s40.s0.input.currPage = sUnknown_203B28A; - sub_8013984(&sWigglytuffShop1Work->s40.s0.input); + MenuUpdatePagesData(&sWigglytuffShop1Work->s40.s0.input); } sub_8021410(); @@ -71,7 +71,7 @@ u32 sub_8021274(bool8 a0) PlayMenuSoundEffect(4); return 4; default: - if (sub_80138B8(&sWigglytuffShop1Work->s40.s0.input, 1) != 0) { + if (MenuCursorUpdate(&sWigglytuffShop1Work->s40.s0.input, 1) != 0) { sub_8021410(); sub_8021494(); return 1; @@ -82,7 +82,7 @@ u32 sub_8021274(bool8 a0) u8 sub_802132C(void) { - return sWigglytuffShop1Work->friendAreas[(sWigglytuffShop1Work->s40.s0.input.currPage * sWigglytuffShop1Work->s40.s0.input.entriesPerPage) + sWigglytuffShop1Work->s40.s0.input.menuIndex]; + return sWigglytuffShop1Work->friendAreas[GET_CURRENT_MENU_ENTRY(sWigglytuffShop1Work->s40.s0.input)]; } void sub_8021354(bool8 cursorSprite) @@ -90,7 +90,7 @@ void sub_8021354(bool8 cursorSprite) ResetUnusedInputStruct(); ShowWindows(&sWigglytuffShop1Work->s40.s0.windows, FALSE, FALSE); sWigglytuffShop1Work->s40.s0.input.totalEntriesCount = sub_8021664(); - sub_8013984(&sWigglytuffShop1Work->s40.s0.input); + MenuUpdatePagesData(&sWigglytuffShop1Work->s40.s0.input); sub_8021410(); sub_8021494(); @@ -137,7 +137,7 @@ void sub_8021494(void) sub_8012BC4((sWigglytuffShop1Work->s40.header.width * 8) + 4, 0, sWigglytuffShop1Work->s40.s0.input.currPage + 1, 1, 7, sWigglytuffShop1Work->s40.s0.winId); - for (i = 0; i < sWigglytuffShop1Work->s40.s0.input.unk1A; i++) { + for (i = 0; i < sWigglytuffShop1Work->s40.s0.input.currPageEntries; i++) { friendAreaIndex = sWigglytuffShop1Work->friendAreas[(sWigglytuffShop1Work->s40.s0.input.currPage * sWigglytuffShop1Work->s40.s0.input.entriesPerPage) + i]; if (sWigglytuffShop1Work->mode == 2) { diff --git a/src/wigglytuff_shop2.c b/src/wigglytuff_shop2.c index dd17df216..d031215eb 100644 --- a/src/wigglytuff_shop2.c +++ b/src/wigglytuff_shop2.c @@ -30,7 +30,7 @@ bool8 CreateWigglytuffShopFriendAreaMenu(u8 friendArea, bool8 a1, s32 a2) sWigglytuffShop2Work = MemoryAlloc(sizeof(WigglytuffShop2Work), 8); sWigglytuffShop2Work->friendArea = friendArea; sWigglytuffShop2Work->unkD = a1; - sub_801317C(&sWigglytuffShop2Work->unk0); + ResetTouchScreenMenuInput(&sWigglytuffShop2Work->unk0); sub_8021A60(); sWigglytuffShop2Work->unk74 = a2; sWigglytuffShop2Work->unk78 = &sWigglytuffShop2Work->unk7C.id[a2]; diff --git a/src/wonder_mail_4.c b/src/wonder_mail_4.c index 449eceb11..1b11e160d 100644 --- a/src/wonder_mail_4.c +++ b/src/wonder_mail_4.c @@ -124,7 +124,7 @@ u32 sub_8030768(u8 r0) PlayMenuSoundEffect(0); return 3; default: - if(sub_80138B8(&gUnknown_203B320->s28.s0.input, TRUE) != 0) + if(MenuCursorUpdate(&gUnknown_203B320->s28.s0.input, TRUE) != 0) { sub_80308A0(); sub_803092C(); @@ -137,13 +137,13 @@ u32 sub_8030768(u8 r0) u8 sub_80307EC(void) { - return gUnknown_203B320->unk0[(gUnknown_203B320->s28.s0.input.currPage * gUnknown_203B320->s28.s0.input.entriesPerPage) + gUnknown_203B320->s28.s0.input.menuIndex]; + return gUnknown_203B320->unk0[GET_CURRENT_MENU_ENTRY(gUnknown_203B320->s28.s0.input)]; } void sub_8030810(u8 r0) { gUnknown_203B320->s28.s0.input.totalEntriesCount = sub_8030A74(); - sub_8013984(&gUnknown_203B320->s28.s0.input); + MenuUpdatePagesData(&gUnknown_203B320->s28.s0.input); sub_80308A0(); sub_803092C(); @@ -170,7 +170,7 @@ u8 *sub_8030894(void) void sub_80308A0(void) { - gUnknown_203B320->s28.header.count = gUnknown_203B320->s28.s0.input.unk20; + gUnknown_203B320->s28.header.count = gUnknown_203B320->s28.s0.input.pagesCount; gUnknown_203B320->s28.header.currId = gUnknown_203B320->s28.s0.input.currPage; gUnknown_203B320->s28.header.width = 12; gUnknown_203B320->s28.header.f3 = 0; @@ -198,7 +198,7 @@ void sub_803092C(void) r5 = r4 + gUnknown_203B320->s28.header.width * 8; sub_8012BC4(r5,0,gUnknown_203B320->s28.s0.input.currPage + 1,1,7,gUnknown_203B320->s28.s0.winId); - for (index = 0; index < gUnknown_203B320->s28.s0.input.unk1A; index++) { + for (index = 0; index < gUnknown_203B320->s28.s0.input.currPageEntries; index++) { mail = GetMailatIndex(gUnknown_203B320->unk0[(gUnknown_203B320->s28.s0.input.currPage * gUnknown_203B320->s28.s0.input.entriesPerPage) + index]); local.unk0[0] = gUnknown_203B320->s28.s0.winId; local.y = GetMenuEntryYCoord(&gUnknown_203B320->s28.s0.input,index); diff --git a/src/wonder_mail_5.c b/src/wonder_mail_5.c index edb472e4b..46b3f036f 100644 --- a/src/wonder_mail_5.c +++ b/src/wonder_mail_5.c @@ -18,7 +18,7 @@ struct unkStruct_203B324 { // size: 0x78 - MenuInputStructSub unk0; + TouchScreenMenuInput unk0; u8 mailIndex; u32 windowID; WindowTemplate *unk14; @@ -62,7 +62,7 @@ bool8 sub_8030D40(u8 mailIndex, s32 windowID) { gUnknown_203B324 = MemoryAlloc(sizeof(struct unkStruct_203B324), 8); gUnknown_203B324->mailIndex = mailIndex; - sub_801317C(&gUnknown_203B324->unk0); + ResetTouchScreenMenuInput(&gUnknown_203B324->unk0); gUnknown_203B324->windowID = windowID; gUnknown_203B324->unk14 = &gUnknown_203B324->unk18.id[windowID]; RestoreSavedWindows(&gUnknown_203B324->unk18); diff --git a/src/wonder_mail_802C10C.c b/src/wonder_mail_802C10C.c index d6a6d47b9..390e45ccb 100644 --- a/src/wonder_mail_802C10C.c +++ b/src/wonder_mail_802C10C.c @@ -41,9 +41,9 @@ bool8 sub_802C10C(s32 a0, DungeonPos *a1, s32 a2) sub_8012D34(gUnknown_203B2E0->unk8.s0.unk38, a2); ResetUnusedInputStruct(); ShowWindows(&gUnknown_203B2E0->unk8.s0.windows, TRUE, TRUE); - sub_8013848(&gUnknown_203B2E0->unk8.s0.input, CountPelipperBoardSlots(), a2, a0); + CreateMenuOnWindow2(&gUnknown_203B2E0->unk8.s0.input, CountPelipperBoardSlots(), a2, a0); gUnknown_203B2E0->unk8.s0.input.menuIndex = gUnknown_203B2E4; - sub_8013984(&gUnknown_203B2E0->unk8.s0.input); + MenuUpdatePagesData(&gUnknown_203B2E0->unk8.s0.input); sub_802C328(); DrawPelipperBoardJobMenu(); return TRUE; @@ -67,7 +67,7 @@ u32 sub_802C1E4(bool8 a0) PlayMenuSoundEffect(4); return 4; default: - if (sub_80138B8(&gUnknown_203B2E0->unk8.s0.input, 1)) { + if (MenuCursorUpdate(&gUnknown_203B2E0->unk8.s0.input, 1)) { sub_802C328(); DrawPelipperBoardJobMenu(); return 1; @@ -78,7 +78,7 @@ u32 sub_802C1E4(bool8 a0) u8 sub_802C26C(void) { - return gUnknown_203B2E0->pelipperBoardSlots[(gUnknown_203B2E0->unk8.s0.input.currPage * gUnknown_203B2E0->unk8.s0.input.entriesPerPage) + gUnknown_203B2E0->unk8.s0.input.menuIndex]; + return gUnknown_203B2E0->pelipperBoardSlots[GET_CURRENT_MENU_ENTRY(gUnknown_203B2E0->unk8.s0.input)]; } void sub_802C28C(bool8 cursorSprite) @@ -86,7 +86,7 @@ void sub_802C28C(bool8 cursorSprite) ResetUnusedInputStruct(); ShowWindows(&gUnknown_203B2E0->unk8.s0.windows, FALSE, FALSE); gUnknown_203B2E0->unk8.s0.input.totalEntriesCount = CountPelipperBoardSlots(); - sub_8013984(&gUnknown_203B2E0->unk8.s0.input); + MenuUpdatePagesData(&gUnknown_203B2E0->unk8.s0.input); sub_802C328(); DrawPelipperBoardJobMenu(); @@ -108,7 +108,7 @@ void sub_802C2D4(void) static void sub_802C328(void) { - gUnknown_203B2E0->unk8.header.count = gUnknown_203B2E0->unk8.s0.input.unk20; + gUnknown_203B2E0->unk8.header.count = gUnknown_203B2E0->unk8.s0.input.pagesCount; gUnknown_203B2E0->unk8.header.currId = gUnknown_203B2E0->unk8.s0.input.currPage; gUnknown_203B2E0->unk8.header.width = 12; gUnknown_203B2E0->unk8.header.f3 = 0; @@ -136,7 +136,7 @@ void DrawPelipperBoardJobMenu(void) x = iVar4 + (gUnknown_203B2E0->unk8.header.width * 8); sub_8012BC4(x, 0, gUnknown_203B2E0->unk8.s0.input.currPage + 1, 2, 7, gUnknown_203B2E0->unk8.s0.winId); - for (i = 0; i < gUnknown_203B2E0->unk8.s0.input.unk1A; i++) { + for (i = 0; i < gUnknown_203B2E0->unk8.s0.input.currPageEntries; i++) { slotIndex = (gUnknown_203B2E0->pelipperBoardSlots[(gUnknown_203B2E0->unk8.s0.input.currPage * gUnknown_203B2E0->unk8.s0.input.entriesPerPage) + i]); mail = GetPelipperBoardSlotInfo(slotIndex); local.unk0[0] = gUnknown_203B2E0->unk8.s0.winId; diff --git a/src/wonder_mail_802C4C8.c b/src/wonder_mail_802C4C8.c index 7de78b7e4..664b2f94f 100644 --- a/src/wonder_mail_802C4C8.c +++ b/src/wonder_mail_802C4C8.c @@ -43,9 +43,9 @@ bool8 sub_802C4C8(s32 a0, DungeonPos *a1, u32 a2) sub_8012D34(gUnknown_203B2E8->unk8.s0.unk38, a2); ResetUnusedInputStruct(); ShowWindows(&gUnknown_203B2E8->unk8.s0.windows, TRUE, TRUE); - sub_8013848(&gUnknown_203B2E8->unk8.s0.input, CountAcceptedJobs(), a2, a0); + CreateMenuOnWindow2(&gUnknown_203B2E8->unk8.s0.input, CountAcceptedJobs(), a2, a0); gUnknown_203B2E8->unk8.s0.input.menuIndex = gUnknown_203B2EC; - sub_8013984(&gUnknown_203B2E8->unk8.s0.input); + MenuUpdatePagesData(&gUnknown_203B2E8->unk8.s0.input); sub_802C6DC(); DrawJobListMenu(); return TRUE; @@ -70,7 +70,7 @@ u32 sub_802C598(bool8 a0) return 4; } - if (sub_80138B8(&gUnknown_203B2E8->unk8.s0.input, 1)) { + if (MenuCursorUpdate(&gUnknown_203B2E8->unk8.s0.input, 1)) { sub_802C6DC(); DrawJobListMenu(); return 1; @@ -80,7 +80,7 @@ u32 sub_802C598(bool8 a0) u8 GetPelipperBoardSlotIndex(void) { - return gUnknown_203B2E8->pelipperBoardSlots[(gUnknown_203B2E8->unk8.s0.input.currPage * gUnknown_203B2E8->unk8.s0.input.entriesPerPage) + gUnknown_203B2E8->unk8.s0.input.menuIndex]; + return gUnknown_203B2E8->pelipperBoardSlots[GET_CURRENT_MENU_ENTRY(gUnknown_203B2E8->unk8.s0.input)]; } void sub_802C640(bool8 cursorSprite) @@ -88,7 +88,7 @@ void sub_802C640(bool8 cursorSprite) ResetUnusedInputStruct(); ShowWindows(&gUnknown_203B2E8->unk8.s0.windows, FALSE, FALSE); gUnknown_203B2E8->unk8.s0.input.totalEntriesCount = CountAcceptedJobs(); - sub_8013984(&gUnknown_203B2E8->unk8.s0.input); + MenuUpdatePagesData(&gUnknown_203B2E8->unk8.s0.input); sub_802C6DC(); DrawJobListMenu(); @@ -110,7 +110,7 @@ void sub_802C688(void) static void sub_802C6DC(void) { - gUnknown_203B2E8->unk8.header.count = gUnknown_203B2E8->unk8.s0.input.unk20; + gUnknown_203B2E8->unk8.header.count = gUnknown_203B2E8->unk8.s0.input.pagesCount; gUnknown_203B2E8->unk8.header.currId = gUnknown_203B2E8->unk8.s0.input.currPage; gUnknown_203B2E8->unk8.header.width = 12; gUnknown_203B2E8->unk8.header.f3 = 0; @@ -137,7 +137,7 @@ void DrawJobListMenu(void) x = r4 + (gUnknown_203B2E8->unk8.header.width * 8); sub_8012BC4(x, 0, gUnknown_203B2E8->unk8.s0.input.currPage + 1, 2, 7, gUnknown_203B2E8->unk8.s0.winId); - for (i = 0; i < gUnknown_203B2E8->unk8.s0.input.unk1A; i++) { + for (i = 0; i < gUnknown_203B2E8->unk8.s0.input.currPageEntries; i++) { mail = GetJobSlotInfo(gUnknown_203B2E8->pelipperBoardSlots[(gUnknown_203B2E8->unk8.s0.input.currPage * gUnknown_203B2E8->unk8.s0.input.entriesPerPage) + i]); local.unk0[0] = gUnknown_203B2E8->unk8.s0.winId; local.y = GetMenuEntryYCoord(&gUnknown_203B2E8->unk8.s0.input, i); diff --git a/src/wonder_mail_802CDD4.c b/src/wonder_mail_802CDD4.c index ed9df278e..f608aa422 100644 --- a/src/wonder_mail_802CDD4.c +++ b/src/wonder_mail_802CDD4.c @@ -33,7 +33,7 @@ bool8 sub_802CDD4(u32 a0) sub_8012D34(sUnknown_203B2F4->s0.unk38, 4); ResetUnusedInputStruct(); ShowWindows(&sUnknown_203B2F4->s0.windows, TRUE, TRUE); - sub_8013848(&sUnknown_203B2F4->s0.input, 5, 4, a0); + CreateMenuOnWindow2(&sUnknown_203B2F4->s0.input, 5, 4, a0); sub_802CF5C(); sub_802CFD0(); return TRUE; @@ -53,7 +53,7 @@ u32 sub_802CE5C(bool8 a0) case INPUT_A_BUTTON: return 3; default: - if (sub_80138B8(&sUnknown_203B2F4->s0.input, TRUE)) { + if (MenuCursorUpdate(&sUnknown_203B2F4->s0.input, TRUE)) { sub_802CF5C(); sub_802CFD0(); return 1; @@ -64,14 +64,14 @@ u32 sub_802CE5C(bool8 a0) u8 sub_802CEBC(void) { - return (sUnknown_203B2F4->s0.input.currPage * sUnknown_203B2F4->s0.input.entriesPerPage) + sUnknown_203B2F4->s0.input.menuIndex; + return GET_CURRENT_MENU_ENTRY(sUnknown_203B2F4->s0.input); } void sub_802CED8(bool8 cursorSprite) { ResetUnusedInputStruct(); ShowWindows(&sUnknown_203B2F4->s0.windows, FALSE, FALSE); - sub_8013984(&sUnknown_203B2F4->s0.input); + MenuUpdatePagesData(&sUnknown_203B2F4->s0.input); sub_802CF5C(); sub_802CFD0(); @@ -92,7 +92,7 @@ void sub_802CF14(void) static void sub_802CF5C(void) { - sUnknown_203B2F4->header.count = sUnknown_203B2F4->s0.input.unk20; + sUnknown_203B2F4->header.count = sUnknown_203B2F4->s0.input.pagesCount; sUnknown_203B2F4->header.currId = sUnknown_203B2F4->s0.input.currPage; sUnknown_203B2F4->header.width = 12; sUnknown_203B2F4->header.f3 = 0; @@ -117,7 +117,7 @@ void sub_802CFD0(void) r5 = r4 + (sUnknown_203B2F4->header.width * 8); sub_8012BC4(r5, 0, sUnknown_203B2F4->s0.input.currPage + 1, 2, 7, sUnknown_203B2F4->s0.winId); - for (r5 = 0; r5 < sUnknown_203B2F4->s0.input.unk1A; r5++) { + for (r5 = 0; r5 < sUnknown_203B2F4->s0.input.currPageEntries; r5++) { iVar1 = sub_803B344((sUnknown_203B2F4->s0.input.currPage * sUnknown_203B2F4->s0.input.entriesPerPage) + r5); local.unk0[0] = sUnknown_203B2F4->s0.winId; diff --git a/src/world_map.c b/src/world_map.c index 749220cd5..387f4b173 100644 --- a/src/world_map.c +++ b/src/world_map.c @@ -551,10 +551,10 @@ static bool8 PlayerEnterDungeonPrompt_Async(u8 *str) sub_80073E0(1); menuInput.menuIndex = 1; - menuInput.unk1A = 2; + menuInput.currPageEntries = 2; menuInput.entriesPerPage = 2; menuInput.currPage = 0; - menuInput.unk20 = 0; + menuInput.pagesCount = 0; menuInput.unk4 = 0; menuInput.firstEntryY = 0; menuInput.windowId = 1; @@ -565,7 +565,7 @@ static bool8 PlayerEnterDungeonPrompt_Async(u8 *str) menuInput.cursorArrowPos.x = 8; menuInput.cursorArrowPos.y = 8; sub_80137B0(&menuInput, 24); - sub_801317C(&menuInput.unk28); + ResetTouchScreenMenuInput(&menuInput.touchScreen); while (TRUE) { AddMenuCursorSprite(&menuInput); @@ -579,7 +579,7 @@ static bool8 PlayerEnterDungeonPrompt_Async(u8 *str) MoveMenuCursorUp(&menuInput); PlayCursorUpDownSoundEffect(); } - if ((gRealInputs.pressed & A_BUTTON) || menuInput.unk28.a_button) { + if ((gRealInputs.pressed & A_BUTTON) || menuInput.touchScreen.a_button) { PlayAcceptSoundEffect(); break; }