X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fscreens.c;h=127333bcb1408058c3793f57886a78bb8d4e75e7;hp=6dd964f3f3df109cba6f08c22dcb2d8a825a004a;hb=44cbf1a27c4d4ca88eb39dfb3728a5206d97d931;hpb=15166fddf78bff71ddec88fb3e4dda9424953403 diff --git a/src/screens.c b/src/screens.c index 6dd964f3..127333bc 100644 --- a/src/screens.c +++ b/src/screens.c @@ -5953,6 +5953,12 @@ static void execGadgetNetworkServer(void) static void ToggleNetworkModeIfNeeded(void) { + int font_title = FONT_TITLE_1; + int font_foot = FC_BLUE; + int ystart = mSY - SY + 16; + int ybottom = mSY - SY + SYSIZE - 20; + char *text = (setup.network_mode ? "Start Network" : "Stop Network"); + if (setup.network_mode == network.enabled) return; @@ -5962,6 +5968,8 @@ static void ToggleNetworkModeIfNeeded(void) ClearField(); + DrawTextSCentered(ystart, font_title, text); + FadeIn(REDRAW_ALL); if (network.enabled) @@ -5969,6 +5977,11 @@ static void ToggleNetworkModeIfNeeded(void) else DisconnectFromNetworkServer(); + DrawTextSCentered(ybottom, font_foot, + "Press any key or button for setup menu"); + + WaitForEventToContinue(); + DrawSetupScreen(); } @@ -6476,10 +6489,12 @@ static void drawSetupValue(int screen_pos, int setup_info_pos_raw) int ypos = MENU_SCREEN_START_YPOS + screen_pos; int startx = mSX + xpos * 32; int starty = mSY + ypos * 32; - int font_nr, font_nr_default, font_width_default; int type = si->type; void *value = si->value; char *value_string = getSetupValue(type, value); + int font_nr_default = getSetupValueFont(type, value); + int font_width_default = getFontWidth(font_nr_default); + int font_nr = font_nr_default; int i; if (value_string == NULL) @@ -6514,10 +6529,6 @@ static void drawSetupValue(int screen_pos, int setup_info_pos_raw) startx = mSX + xpos * 32; starty = mSY + ypos * 32; - font_nr_default = getSetupValueFont(type, value); - font_width_default = getFontWidth(font_nr_default); - - font_nr = font_nr_default; // special check if right-side setup values moved left due to scrollbar if (scrollbar_needed && xpos > MENU_SCREEN_START_XPOS) @@ -6583,10 +6594,17 @@ static void drawSetupValue(int screen_pos, int setup_info_pos_raw) if (type & TYPE_PLAYER) { + struct FontBitmapInfo *font = getFontBitmapInfo(font_nr); int player_nr = *(int *)value; - int xoff = getFontWidth(font_nr); + int xoff = font->draw_xoffset + getFontWidth(font_nr); + int yoff = font->draw_yoffset + (getFontHeight(font_nr) - TILEY) / 2; + int startx2 = startx + xoff; + int starty2 = starty + yoff; + + if (DrawingOnBackground(startx2, starty2)) + ClearRectangleOnBackground(drawto, startx2, starty2, TILEX, TILEY); - DrawFixedGraphicThruMaskExt(drawto, startx + xoff, starty, + DrawFixedGraphicThruMaskExt(drawto, startx2, starty2, PLAYER_NR_GFX(IMG_PLAYER_1, player_nr), 0); }