diff --git a/src/playsingle_controller.cpp b/src/playsingle_controller.cpp index b5f9d5f1720a..a6db58c0741b 100644 --- a/src/playsingle_controller.cpp +++ b/src/playsingle_controller.cpp @@ -173,15 +173,25 @@ void playsingle_controller::play_scenario_main_loop() gamestate_->player_number_ = 1; } catch(const reset_gamestate_exception& ex) { - /** - @TODO: The mp replay feature still doesnt work properly (casues OOS) becasue: - 1) The undo stack is not reset along with the gamestate (fixed). - 2) The server_request_number_ is not reset along with the gamestate (fixed). - 3) chat and other unsynced actions are inserted in the middle of the replay bringing the replay_pos in unorder (fixed). - 4) untracked changes in side controllers are lost when resetting gamestate. (fixed) - 5) The game should have a stricter check for whether the loaded game is actually a parent of this game. - 6) If an action was undone after a game was saved it can casue if teh undone action is in the snapshot of the saved game. (luckyli this is never the case for autosaves) - */ + // + // TODO: + // + // The MP replay feature still doesn't work properly (causes OOS) + // because: + // + // 1) The undo stack is not reset along with the gamestate (fixed). + // 2) The server_request_number_ is not reset along with the + // gamestate (fixed). + // 3) chat and other unsynced actions are inserted in the middle of + // the replay bringing the replay_pos in unorder (fixed). + // 4) untracked changes in side controllers are lost when resetting + // gamestate (fixed). + // 5) The game should have a stricter check for whether the loaded + // game is actually a parent of this game. + // 6) If an action was undone after a game was saved it can cause + // OOS if the undone action is in the snapshot of the saved + // game (luckily this is never the case for autosaves). + // std::vector local_players(gamestate().board_.teams().size(), true); //Preserve side controllers, becasue we won't get the side controoller updates again when replaying. for(size_t i = 0; i < local_players.size(); ++i) {