From 905912e2784c116e28dfe22a95b149f7ef00f640 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 25 Jan 2020 21:45:58 -0500 Subject: Refactor weird logic in TypeChatMessage_HandleDPad --- src/union_room_chat.c | 51 +++++++++++++++++++++++++-------------------------- 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/src/union_room_chat.c b/src/union_room_chat.c index d672c6b68..15601c028 100644 --- a/src/union_room_chat.c +++ b/src/union_room_chat.c @@ -4,7 +4,6 @@ #include "help_system.h" #include "link.h" #include "link_rfu.h" -#include "list_menu.h" #include "load_save.h" #include "menu.h" #include "overworld.h" @@ -911,53 +910,53 @@ static void GoToRoutine(u16 routineNo) static bool32 TypeChatMessage_HandleDPad(void) { - if (!(gMain.newAndRepeatedKeys & DPAD_UP)) + do { - if (gMain.newAndRepeatedKeys & DPAD_DOWN) + if (JOY_REPT(DPAD_UP)) + { + if (sWork->currentRow) + sWork->currentRow--; + else + sWork->currentRow = sKeyboardPageMaxRow[sWork->currentPage]; + + break; + } + if (JOY_REPT(DPAD_DOWN)) { if (sWork->currentRow < sKeyboardPageMaxRow[sWork->currentPage]) + { sWork->currentRow++; + } else + { sWork->currentRow = 0; + } - return TRUE; + break; } - if (sWork->currentPage != UNION_ROOM_KB_PAGE_COUNT) { - if (gMain.newAndRepeatedKeys & DPAD_LEFT) + if (JOY_REPT(DPAD_LEFT)) { if (sWork->currentCol) sWork->currentCol--; else sWork->currentCol = 4; + break; } - else if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + if (JOY_REPT(DPAD_RIGHT)) { - if (sWork->currentCol > 3) - sWork->currentCol = 0; - else + if (sWork->currentCol < 4) sWork->currentCol++; + else + sWork->currentCol = 0; + break; } - else - { - return FALSE; - } - - return TRUE; } return FALSE; - } - else - { - if (sWork->currentRow) - sWork->currentRow--; - else - sWork->currentRow = sKeyboardPageMaxRow[sWork->currentPage]; - - return TRUE; - } + } while (0); + return TRUE; } static void AppendCharacterToChatMessageBuffer(void) -- cgit v1.2.3