diff --git a/src/map_name_popup.c b/src/map_name_popup.c index 5cc1f3cfd5..3af55ee4cd 100644 --- a/src/map_name_popup.c +++ b/src/map_name_popup.c @@ -41,6 +41,7 @@ enum MapPopUp_Themes_BW // static functions static void Task_MapNamePopUpWindow(u8 taskId); +static void UpdateSecondaryPopUpWindow(u8 secondaryPopUpWindowId); static void ShowMapNamePopUpWindow(void); static void LoadMapNamePopUpWindowBg(void); @@ -423,6 +424,7 @@ static void Task_MapNamePopUpWindow(u8 taskId) break; case STATE_WAIT: // Wait while the window is fully onscreen. + UpdateSecondaryPopUpWindow(GetSecondaryPopUpWindowId()); if (++task->tOnscreenTimer > 120) { task->tOnscreenTimer = 0; @@ -500,6 +502,20 @@ void HideMapNamePopUpWindow(void) } } +static void UpdateSecondaryPopUpWindow(u8 secondaryPopUpWindowId) +{ + u8 mapDisplayHeader[24]; + u8 *withoutPrefixPtr = &(mapDisplayHeader[0]); + + if (OW_POPUP_BW_TIME_MODE != OW_POPUP_BW_TIME_NONE) + { + RtcCalcLocalTime(); + FormatDecimalTimeWithoutSeconds(withoutPrefixPtr, gLocalTime.hours, gLocalTime.minutes, OW_POPUP_BW_TIME_MODE == OW_POPUP_BW_TIME_24_HR); + AddTextPrinterParameterized(secondaryPopUpWindowId, FONT_SMALL, mapDisplayHeader, GetStringRightAlignXOffset(FONT_SMALL, mapDisplayHeader, DISPLAY_WIDTH) - 5, 8, TEXT_SKIP_DRAW, NULL); + } + CopyWindowToVram(secondaryPopUpWindowId, COPYWIN_FULL); +} + static void ShowMapNamePopUpWindow(void) { u8 mapDisplayHeader[24]; @@ -550,16 +566,8 @@ static void ShowMapNamePopUpWindow(void) if (OW_POPUP_GENERATION == GEN_5) { AddTextPrinterParameterized(mapNamePopUpWindowId, FONT_SHORT, mapDisplayHeader, 8, 2, TEXT_SKIP_DRAW, NULL); - - if (OW_POPUP_BW_TIME_MODE != OW_POPUP_BW_TIME_NONE) - { - RtcCalcLocalTime(); - FormatDecimalTimeWithoutSeconds(withoutPrefixPtr, gLocalTime.hours, gLocalTime.minutes, OW_POPUP_BW_TIME_MODE == OW_POPUP_BW_TIME_24_HR); - AddTextPrinterParameterized(secondaryPopUpWindowId, FONT_SMALL, mapDisplayHeader, GetStringRightAlignXOffset(FONT_SMALL, mapDisplayHeader, DISPLAY_WIDTH) - 5, 8, TEXT_SKIP_DRAW, NULL); - } - CopyWindowToVram(mapNamePopUpWindowId, COPYWIN_FULL); - CopyWindowToVram(secondaryPopUpWindowId, COPYWIN_FULL); + UpdateSecondaryPopUpWindow(secondaryPopUpWindowId); } else {