X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fgame.c;h=a84acfb8f5b90cfe87c819c8e270b4aec70d6e49;hp=e1522b58bb844136786b4113ee247df34506cfdb;hb=0f9fd686e8524b0c87b9444860880d469791ffb0;hpb=6999c82df7c989eb8b2a7cc98f0f1e108df34910 diff --git a/src/game.c b/src/game.c index e1522b58..a84acfb8 100644 --- a/src/game.c +++ b/src/game.c @@ -2224,7 +2224,8 @@ void UpdateGameControlValues() /* update game panel control values */ - game_panel_controls[GAME_PANEL_LEVEL_NUMBER].value = level_nr; + /* use "level.file_info.nr" instead of "level_nr" (for network games) */ + game_panel_controls[GAME_PANEL_LEVEL_NUMBER].value = level.file_info.nr; game_panel_controls[GAME_PANEL_GEMS].value = gems; game_panel_controls[GAME_PANEL_INVENTORY_COUNT].value = 0; @@ -4702,7 +4703,8 @@ void GameEnd() } if (setup.increment_levels && - level_nr < leveldir_current->last_level) + level_nr < leveldir_current->last_level && + !network_playing) { level_nr++; /* advance to next level */ TapeErase(); /* start with empty tape */ @@ -4723,15 +4725,16 @@ void GameEnd() DrawHallOfFame(last_level_nr, hi_pos); } - else if (!setup.auto_play_next_level || !setup.increment_levels) + else if (setup.auto_play_next_level && setup.increment_levels && + !network_playing) { - SetGameStatus(GAME_MODE_MAIN); - - DrawMainMenu(); + StartGameActions(network.enabled, setup.autorecord, level.random_seed); } else { - StartGameActions(network.enabled, setup.autorecord, level.random_seed); + SetGameStatus(GAME_MODE_MAIN); + + DrawMainMenu(); } } @@ -11227,6 +11230,7 @@ void StartGameActions(boolean init_network_game, boolean record_tape, if (init_network_game) { + SendToServer_LevelFile(); SendToServer_StartPlaying(); return;