}
}
+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;
+}
+
void CheckGameOver(void)
{
static boolean last_game_over = FALSE;
return;
}
+ // do not ask to play again if this was disabled in setup menu
+ if (!setup.ask_on_game_over)
+ return;
+
if (last_game_over != game_over)
- game.restart_game_message = (hasStartedNetworkGame() ?
- "Game over! Play it again?" :
- "Game over!");
+ game.restart_game_message = getRestartGameMessage();
last_game_over = game_over;
}