X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fscreens.c;h=3ffcb48493dcb0b11ae1bd0b2196b08d2b2fc8c2;hb=41165ff0a84cf7c0391f6b56520a1f7f97ccf496;hp=6d29aec8e1ace3e32b27251a1fd38d512ce7600b;hpb=9e08928735ed2195ecceb20747e705cfd3c7c5d2;p=rocksndiamonds.git diff --git a/src/screens.c b/src/screens.c index 6d29aec8..3ffcb484 100644 --- a/src/screens.c +++ b/src/screens.c @@ -5887,6 +5887,7 @@ static struct TokenInfo setup_info_game[] = { TYPE_SWITCH, &setup.skip_levels, "Skip Unsolved Levels:" }, { TYPE_SWITCH, &setup.increment_levels,"Increment Solved Levels:" }, { TYPE_SWITCH, &setup.auto_play_next_level,"Auto-play Next Level:" }, + { TYPE_SWITCH, &setup.skip_scores_after_game,"Skip Scores After Game:" }, { TYPE_SWITCH, &setup.autorecord, "Auto-Record Tapes:" }, { TYPE_ENTER_LIST, execSetupChooseGameSpeed, "Game Speed:" }, { TYPE_STRING, &game_speed_text, "" }, @@ -6444,9 +6445,31 @@ 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; + + SetGameStatus(GAME_MODE_LOADING); + SetDrawBackgroundMask(REDRAW_NONE); + + FadeOut(REDRAW_ALL); + + ClearRectangle(drawto, 0, 0, WIN_XSIZE, WIN_YSIZE); + + FadeIn(REDRAW_ALL); + + if (network.enabled) + InitNetworkServer(); + else + DisconnectFromNetworkServer(); + + SetGameStatus(GAME_MODE_SETUP); + SetDrawBackgroundMask(REDRAW_FIELD); + + redraw_mask = REDRAW_ALL; + + DrawSetupScreen(); + } } static struct TokenInfo *getSetupInfoFinal(struct TokenInfo *setup_info_orig)