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;
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)
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;
"Do you really want to quit the game?");
}
-static void RequestRestartGame(char *message)
+static char *getRestartGameMessage(void)
+{
+ boolean play_again = hasStartedNetworkGame();
+ static char message[MAX_OUTPUT_LINESIZE];
+ char *game_over_text = "Game over!";
+ char *play_again_text = " Play it again?";
+
+ if (level.game_engine_type == GAME_ENGINE_TYPE_MM &&
+ game_mm.game_over_message != NULL)
+ game_over_text = game_mm.game_over_message;
+
+ snprintf(message, MAX_OUTPUT_LINESIZE, "%s%s", game_over_text,
+ (play_again ? play_again_text : ""));
+
+ return 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;
}
}
-static char *getRestartGameMessage(void)
-{
- boolean play_again = hasStartedNetworkGame();
- static char message[MAX_OUTPUT_LINESIZE];
- char *game_over_text = "Game over!";
- char *play_again_text = " Play it again?";
-
- if (level.game_engine_type == GAME_ENGINE_TYPE_MM &&
- game_mm.game_over_message != NULL)
- game_over_text = game_mm.game_over_message;
-
- snprintf(message, MAX_OUTPUT_LINESIZE, "%s%s", game_over_text,
- (play_again ? play_again_text : ""));
-
- return message;
-}
-
boolean CheckRestartGame(void)
{
static int game_over_delay = 0;
if (!setup.ask_on_game_over)
return FALSE;
- RequestRestartGame(getRestartGameMessage());
+ RequestRestartGame();
return TRUE;
}