X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.c;h=e0f9c8781c8f199311028141fe57aee066ad09b1;hb=41831f337ebfff25c7138785efe20af5c2b0a2a8;hp=4c9c56e8f81825e57bebbd3e92dd0f3bb6c3adaa;hpb=39fb4fecfb8d4647d3563bdb18ce0065f6129522;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index 4c9c56e8..e0f9c878 100644 --- a/src/game.c +++ b/src/game.c @@ -3573,6 +3573,8 @@ void InitGame() game.ball_state = level.ball_state_initial; game.ball_content_nr = 0; + game.explosions_delayed = TRUE; + game.envelope_active = FALSE; for (i = 0; i < NUM_BELTS; i++) @@ -3954,6 +3956,9 @@ void InitGame() if (stored_player[i].active) local_player->players_still_needed++; + if (level.solved_by_one_player) + local_player->players_still_needed = 1; + /* when recording the game, store which players take part in the game */ if (tape.recording) { @@ -13423,7 +13428,8 @@ void ExitPlayer(struct PlayerInfo *player) DrawPlayer(player); /* needed here only to cleanup last field */ RemovePlayer(player); - local_player->players_still_needed--; + if (local_player->players_still_needed > 0) + local_player->players_still_needed--; } static void setFieldForSnapping(int x, int y, int element, int direction)