X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fscreens.c;h=758e536d29a16b17e97e7bdc095e29d094ea8f6e;hb=d71f1c58bdbffaeb7b778bc0fa35b46f17b4b3b7;hp=d545ef304fbc1c979e6abaebb62902f806e0e163;hpb=951e6d0a5b07999e3c919b1c689c71c108e45411;p=rocksndiamonds.git diff --git a/src/screens.c b/src/screens.c index d545ef30..758e536d 100644 --- a/src/screens.c +++ b/src/screens.c @@ -1642,6 +1642,7 @@ void DrawMainMenu() DrawCursorAndText_Main(-1, FALSE, FALSE); DrawPreviewLevelInitial(); + DrawNetworkPlayers(); HandleMainMenu(0, 0, 0, 0, MB_MENU_INITIALIZE); @@ -6445,9 +6446,23 @@ static void changeSetupValue(int screen_pos, int setup_info_pos_raw, int dx) ToggleFullscreenOrChangeWindowScalingIfNeeded(); if (si->value == &setup.network_mode && - setup.network_mode && - !network.enabled) - Request("Please restart game to enable network games!", REQ_CONFIRM); + setup.network_mode != network.enabled) + { + network.enabled = setup.network_mode; + + FadeOut(REDRAW_ALL); + + ClearField(); + + FadeIn(REDRAW_ALL); + + if (network.enabled) + InitNetworkServer(); + else + DisconnectFromNetworkServer(); + + DrawSetupScreen(); + } } static struct TokenInfo *getSetupInfoFinal(struct TokenInfo *setup_info_orig)