X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fscreens.c;h=a080e7a841741720ef8da2c24a44706050ca39e9;hb=dbe7aa7335e0e0553b3c123736a703544ef54f71;hp=2f2352cde7798033142a951dc9c2568d96352d8b;hpb=1eed7f41853731cebe89fc85954f444966a0296b;p=rocksndiamonds.git diff --git a/src/screens.c b/src/screens.c index 2f2352cd..a080e7a8 100644 --- a/src/screens.c +++ b/src/screens.c @@ -5436,7 +5436,7 @@ static void DrawScoreInfo_Content(int entry_nr) ClearField(); - // redraw score selection buttons (which have just been erased) + // redraw level selection buttons (which have just been erased) RedrawScreenMenuGadgets(SCREEN_MASK_SCORES); if (score_entries == NULL) @@ -5533,6 +5533,9 @@ static void DrawScoreInfo(int entry_nr) UnmapAllGadgets(); + FreeScreenGadgets(); + CreateScreenGadgets(); + FadeOut(REDRAW_FIELD); // needed if different viewport properties defined after playing score tape @@ -9736,12 +9739,14 @@ static void CreateScreenMenubuttons(void) if (strPrefix(leveldir_current->identifier, "snake_bite")) title_width = strlen(INFOTEXT_SCORE_ENTRY) * 32; + // use "SX" here to center buttons (ignore horizontal draw offset) if (pos->x == -1) x = (id == SCREEN_CTRL_ID_PREV_LEVEL2 ? SX + (SXSIZE - title_width) / 2 - width * 3 / 2 : id == SCREEN_CTRL_ID_NEXT_LEVEL2 ? SX + (SXSIZE + title_width) / 2 + width / 2 : 0); + // use "mSY" here to place buttons (respect vertical draw offset) if (pos->y == -1) y = (id == SCREEN_CTRL_ID_PREV_LEVEL2 || id == SCREEN_CTRL_ID_NEXT_LEVEL2 ? mSY + MENU_TITLE1_YPOS : 0);