}
game.restart_level = FALSE;
- game.restart_game_message = NULL;
game.request_active = FALSE;
game.request_active_or_moving = FALSE;
"Do you really want to quit the game?");
}
-void RequestRestartGame(char *message)
+static char *getRestartGameMessage(void)
{
- game.restart_game_message = NULL;
+ 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;
- game.restart_game_message = getRestartGameMessage();
-
- RequestRestartGame(game.restart_game_message);
+ RequestRestartGame();
return TRUE;
}