fix server not storing replay of mp campaigns.

This commit is contained in:
gfgtdf 2019-10-05 18:52:48 +02:00
parent d7a0fec194
commit de3ef3ee53
2 changed files with 4 additions and 5 deletions

View file

@ -1624,6 +1624,7 @@ void game::new_scenario(const socket_ptr& sender)
players_not_advanced_.insert(user_ptr);
}
}
started_ = false;
}
void game::load_next_scenario(const socket_ptr& user)

View file

@ -1664,8 +1664,9 @@ void server::handle_player_in_game(socket_ptr socket, std::shared_ptr<simple_wml
return;
}
g.new_scenario(socket);
g.save_replay();
g.new_scenario(socket);
g.reset_last_synced_context_id();
// Record the full scenario in g.level()
@ -1757,10 +1758,6 @@ void server::handle_player_in_game(socket_ptr socket, std::shared_ptr<simple_wml
// update the game having changed in the lobby
update_game_in_lobby(g);
return;
} else if(data.child("update_game")) {
g.update_game();
update_game_in_lobby(g);
return;
} else if(data.child("leave_game")) {
// May be better to just let remove_player() figure out when a game ends.
if((g.is_player(socket) && g.nplayers() == 1) || (g.is_owner(socket) && (!g.started() || g.nplayers() == 0))) {
@ -1914,6 +1911,7 @@ void server::handle_player_in_game(socket_ptr socket, std::shared_ptr<simple_wml
} else if(
data.child("error") ||
data.child("side_secured") ||
data.child("update_game") ||
data.root().has_attr("failed") ||
data.root().has_attr("side")
) {