X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.c;h=dd9df82c71dd1bbb22e6eb9ae654837531ee6d20;hb=abe3ad50047635122f478f7e18708ff7292edf52;hp=6e0914df5e867453e176780bf7daf1d940a1ee48;hpb=3c036eb0bd76347ddaaf112018512c9f2a357e1f;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index 6e0914df..dd9df82c 100644 --- a/src/game.c +++ b/src/game.c @@ -5836,9 +5836,6 @@ static void Explode(int ex, int ey, int phase, int mode) int last_phase; int border_element; - // !!! eliminate this variable !!! - int delay = (game.emulation == EMU_SUPAPLEX ? 3 : 2); - if (game.explosions_delayed) { ExplodeField[ex][ey] = mode; @@ -6119,7 +6116,7 @@ static void Explode(int ex, int ey, int phase, int mode) int graphic = el_act2img(GfxElement[x][y], ACTION_EXPLODING); int frame = getGraphicAnimationFrameXY(graphic, x, y); - if (phase == delay) + if (phase == 1) TEST_DrawLevelFieldCrumbled(x, y); if (IS_WALKABLE_OVER(Back[x][y]) && Back[x][y] != EL_EMPTY) @@ -13951,7 +13948,7 @@ void KillPlayer(struct PlayerInfo *player) player->killed = TRUE; // remove accessible field at the player's position - Tile[jx][jy] = EL_EMPTY; + RemoveField(jx, jy); // deactivate shield (else Bang()/Explode() would not work right) player->shield_normal_time_left = 0; @@ -15649,8 +15646,9 @@ static char *getRestartGameMessage(void) return message; } -static void RequestRestartGame(char *message) +static void RequestRestartGame(void) { + char *message = getRestartGameMessage(); boolean has_started_game = hasStartedNetworkGame(); int request_mode = (has_started_game ? REQ_ASK : REQ_CONFIRM); int door_state = DOOR_CLOSE_1; @@ -15710,7 +15708,7 @@ boolean CheckRestartGame(void) if (!setup.ask_on_game_over) return FALSE; - RequestRestartGame(getRestartGameMessage()); + RequestRestartGame(); return TRUE; }