Author: cazfi Date: Sun Aug 9 19:30:42 2015 New Revision: 29429 URL: http://svn.gna.org/viewcvs/freeciv?rev=29429&view=rev Log: Save player phase_done information. Use it after loading the savegame if game is in turnblock mode.
See patch #6192 Modified: trunk/common/player.c trunk/server/savegame.c trunk/server/savegame2.c trunk/server/savegame3.c trunk/server/srv_main.c Modified: trunk/common/player.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/common/player.c?rev=29429&r1=29428&r2=29429&view=diff ============================================================================== --- trunk/common/player.c (original) +++ trunk/common/player.c Sun Aug 9 19:30:42 2015 @@ -534,6 +534,7 @@ pplayer->turns_alive = 0; pplayer->is_winner = FALSE; pplayer->last_war_action = -1; + pplayer->phase_done = FALSE; pplayer->revolution_finishes = -1; Modified: trunk/server/savegame.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/savegame.c?rev=29429&r1=29428&r2=29429&view=diff ============================================================================== --- trunk/server/savegame.c (original) +++ trunk/server/savegame.c Sun Aug 9 19:30:42 2015 @@ -1797,6 +1797,7 @@ fc_assert_exit_msg(secfile_lookup_bool(file, &plr->ai_controlled, "player%d.ai.control", plrno), "%s", secfile_error()); + plr->phase_done = FALSE; /* Backwards-compatibility: the tech goal value is still stored in the * "ai" section even though it was moved into the research struct. */ Modified: trunk/server/savegame2.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/savegame2.c?rev=29429&r1=29428&r2=29429&view=diff ============================================================================== --- trunk/server/savegame2.c (original) +++ trunk/server/savegame2.c Sun Aug 9 19:30:42 2015 @@ -2720,6 +2720,8 @@ "player%d.turns_alive", plrno); plr->last_war_action = secfile_lookup_int_default(loading->file, -1, "player%d.last_war", plrno); + plr->phase_done = secfile_lookup_bool_default(loading->file, FALSE, + "player%d.phase_done", plrno); sg_failure_ret(secfile_lookup_int(loading->file, &plr->economic.gold, "player%d.gold", plrno), "%s", secfile_error()); Modified: trunk/server/savegame3.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/savegame3.c?rev=29429&r1=29428&r2=29429&view=diff ============================================================================== --- trunk/server/savegame3.c (original) +++ trunk/server/savegame3.c Sun Aug 9 19:30:42 2015 @@ -3635,6 +3635,8 @@ "%s", secfile_error()); plr->last_war_action = secfile_lookup_int_default(loading->file, -1, "player%d.last_war", plrno); + plr->phase_done = secfile_lookup_bool_default(loading->file, FALSE, + "player%d.phase_done", plrno); sg_failure_ret(secfile_lookup_int(loading->file, &plr->economic.gold, "player%d.gold", plrno), "%s", secfile_error()); @@ -3872,6 +3874,8 @@ "player%d.last_war", plrno); secfile_insert_bool(saving->file, plr->ai_controlled, "player%d.ai.control", plrno); + secfile_insert_bool(saving->file, plr->phase_done, + "player%d.phase_done", plrno); players_iterate(pplayer) { char buf[32]; Modified: trunk/server/srv_main.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/srv_main.c?rev=29429&r1=29428&r2=29429&view=diff ============================================================================== --- trunk/server/srv_main.c (original) +++ trunk/server/srv_main.c Sun Aug 9 19:30:42 2015 @@ -971,7 +971,10 @@ conn_list_do_buffer(game.est_connections); phase_players_iterate(pplayer) { - pplayer->phase_done = FALSE; + if (is_new_phase || !game.server.turnblock) { + /* Otherwise respect what was loaded from the savegame. */ + pplayer->phase_done = FALSE; + } pplayer->ai_phase_done = FALSE; } phase_players_iterate_end; send_player_all_c(NULL, NULL); _______________________________________________ Freeciv-commits mailing list Freeciv-commits@gna.org https://mail.gna.org/listinfo/freeciv-commits