X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fscreens.c;h=1450e51818557cb9c5e6d937dc289ba3cd2277be;hb=19368085952eb82c094767bf6d356963aaee50a0;hp=6378dbb469e0cad970a5f391c06729e16122e0cb;hpb=a42f3002eab95f9abd9797ed43dbf271ecd53033;p=rocksndiamonds.git diff --git a/src/screens.c b/src/screens.c index 6378dbb4..1450e518 100644 --- a/src/screens.c +++ b/src/screens.c @@ -4007,7 +4007,7 @@ static int getPlayerNameColor(char *name) } static void drawTypeNameText(char *name, struct TextPosInfo *pos, - boolean active) + boolean active) { char text[MAX_PLAYER_NAME_LEN + 2] = { 0 }; boolean multiple_users = (game_status == GAME_MODE_PSEUDO_TYPENAMES); @@ -4015,8 +4015,12 @@ static void drawTypeNameText(char *name, struct TextPosInfo *pos, int sy = (multiple_users ? amSY + pos->y : mSY + ALIGNED_TEXT_YPOS(pos)); int font_nr = (active ? FONT_ACTIVE(pos->font) : pos->font); int font_width = getFontWidth(font_nr); + int font_xoffset = getFontDrawOffsetX(font_nr); + int font_yoffset = getFontDrawOffsetY(font_nr); + int font_sx = sx + font_xoffset; + int font_sy = sy + font_yoffset; - DrawBackgroundForFont(sx, sy, pos->width, pos->height, font_nr); + DrawBackgroundForFont(font_sx, font_sy, pos->width, pos->height, font_nr); sprintf(text, "%s%c", name, (active ? '_' : '\0')); @@ -4338,7 +4342,7 @@ static void DrawChooseTree(TreeInfo **ti_ptr) boolean restart_music = (game_status != game_status_last_screen && game_status_last_screen != GAME_MODE_SCOREINFO); - scores.was_just_playing = (game_status == GAME_MODE_SCORES && + scores.continue_playing = (game_status == GAME_MODE_SCORES && game_status_last_screen == GAME_MODE_PLAYING); if (CheckFadeAll()) @@ -4795,7 +4799,7 @@ static void HandleChooseTree(int mx, int my, int dx, int dy, int button, #if defined(PLATFORM_ANDROID) // touching the screen anywhere continues playing the next level - if ((mx || my) && scores.was_just_playing) + if ((mx || my) && scores.continue_playing) { mx = my = 0; button = MB_MENU_CHOICE; @@ -4803,9 +4807,9 @@ static void HandleChooseTree(int mx, int my, int dx, int dy, int button, #endif // any mouse click or direction input stops playing the next level - if ((mx || my || dx || dy) && scores.was_just_playing) + if ((mx || my || dx || dy) && scores.continue_playing) { - scores.was_just_playing = FALSE; + scores.continue_playing = FALSE; level_nr = scores.last_level_nr; LoadLevel(level_nr); } @@ -5090,14 +5094,14 @@ static void HandleChooseTree(int mx, int my, int dx, int dy, int button, { if (setup.auto_play_next_level && setup.increment_levels && scores.last_level_nr < leveldir_current->last_level && - scores.was_just_playing && + scores.continue_playing && !network_playing) { StartGameActions(network.enabled, setup.autorecord, level.random_seed); return; } - else if (!scores.was_just_playing) + else if (!scores.continue_playing) { SetGameStatus(GAME_MODE_SCOREINFO); @@ -5161,6 +5165,9 @@ void DrawChoosePlayerName(void) if (player_name_current == NULL) player_name_current = player_name; + // set text size for main name input (also used on name selection screen) + InitializeMainControls(); + DrawChooseTree(&player_name_current); } @@ -5294,9 +5301,9 @@ static void DrawHallOfFame_setScoreEntries(void) // ("score_entries" and "score_entry_current" may be NULL here) } -void DrawHallOfFame(int level_nr) +void DrawHallOfFame(int nr) { - scores.last_level_nr = level_nr; + scores.last_level_nr = nr; // (this is needed when called from GameEnd() after winning a game) KeyboardAutoRepeatOn(); @@ -5305,7 +5312,7 @@ void DrawHallOfFame(int level_nr) SetDrawDeactivationMask(REDRAW_NONE); SetDrawBackgroundMask(REDRAW_FIELD); - LoadLocalAndServerScore(level_nr, TRUE); + LoadLocalAndServerScore(scores.last_level_nr, TRUE); DrawHallOfFame_setScoreEntries();