From: <geo...@us...> - 2013-03-31 13:11:15
|
Revision: 5923 http://freeorion.svn.sourceforge.net/freeorion/revision/?rev=5923&view=rev Author: geoffthemedio Date: 2013-03-31 13:11:04 +0000 (Sun, 31 Mar 2013) Log Message: ----------- Restore combat logs on first turn after loading game. Modified Paths: -------------- trunk/FreeOrion/client/AI/AIClientApp.cpp trunk/FreeOrion/client/human/HumanClientFSM.cpp trunk/FreeOrion/network/Message.cpp trunk/FreeOrion/network/Message.h trunk/FreeOrion/server/ServerApp.cpp Modified: trunk/FreeOrion/client/AI/AIClientApp.cpp =================================================================== --- trunk/FreeOrion/client/AI/AIClientApp.cpp 2013-03-31 09:57:26 UTC (rev 5922) +++ trunk/FreeOrion/client/AI/AIClientApp.cpp 2013-03-31 13:11:04 UTC (rev 5923) @@ -176,9 +176,9 @@ ExtractMessageData(msg, single_player_game, m_empire_id, m_current_turn, m_empires, m_universe, - GetSpeciesManager(), m_player_info, m_orders, - loaded_game_data, ui_data_available, ui_data, - state_string_available, save_state_string); + GetSpeciesManager(), GetCombatLogManager(), m_player_info, + m_orders, loaded_game_data, ui_data_available, + ui_data, state_string_available, save_state_string); Logger().debugStream() << "Extracted GameStart message for turn: " << m_current_turn << " with empire: " << m_empire_id; Modified: trunk/FreeOrion/client/human/HumanClientFSM.cpp =================================================================== --- trunk/FreeOrion/client/human/HumanClientFSM.cpp 2013-03-31 09:57:26 UTC (rev 5922) +++ trunk/FreeOrion/client/human/HumanClientFSM.cpp 2013-03-31 13:11:04 UTC (rev 5923) @@ -534,11 +534,11 @@ int empire_id = ALL_EMPIRES; int current_turn = INVALID_GAME_TURN; - ExtractMessageData(msg.m_message, single_player_game, empire_id, - current_turn, Empires(), GetUniverse(), - GetSpeciesManager(), Client().Players(), orders, - loaded_game_data, ui_data_available, ui_data, - save_state_string_available, save_state_string); + ExtractMessageData(msg.m_message, single_player_game, empire_id, + current_turn, Empires(), GetUniverse(), + GetSpeciesManager(), GetCombatLogManager(), Client().Players(), + orders, loaded_game_data, ui_data_available, + ui_data, save_state_string_available, save_state_string); Logger().debugStream() << "Extracted GameStart message for turn: " << current_turn << " with empire: " << empire_id; Modified: trunk/FreeOrion/network/Message.cpp =================================================================== --- trunk/FreeOrion/network/Message.cpp 2013-03-31 09:57:26 UTC (rev 5922) +++ trunk/FreeOrion/network/Message.cpp 2013-03-31 13:11:04 UTC (rev 5923) @@ -290,6 +290,7 @@ Message GameStartMessage(int player_id, bool single_player_game, int empire_id, int current_turn, const EmpireManager& empires, const Universe& universe, const SpeciesManager& species, + const CombatLogManager& combat_logs, const std::map<int, PlayerInfo>& players) { std::ostringstream os; @@ -300,7 +301,8 @@ << BOOST_SERIALIZATION_NVP(current_turn); GetUniverse().EncodingEmpire() = empire_id; oa << BOOST_SERIALIZATION_NVP(empires) - << BOOST_SERIALIZATION_NVP(species); + << BOOST_SERIALIZATION_NVP(species) + << BOOST_SERIALIZATION_NVP(combat_logs); Serialize(oa, universe); bool loaded_game_data = false; oa << BOOST_SERIALIZATION_NVP(players) @@ -312,6 +314,7 @@ Message GameStartMessage(int player_id, bool single_player_game, int empire_id, int current_turn, const EmpireManager& empires, const Universe& universe, const SpeciesManager& species, + const CombatLogManager& combat_logs, const std::map<int, PlayerInfo>& players, const OrderSet& orders, const SaveGameUIData* ui_data) { @@ -323,7 +326,8 @@ << BOOST_SERIALIZATION_NVP(current_turn); GetUniverse().EncodingEmpire() = empire_id; oa << BOOST_SERIALIZATION_NVP(empires) - << BOOST_SERIALIZATION_NVP(species); + << BOOST_SERIALIZATION_NVP(species) + << BOOST_SERIALIZATION_NVP(combat_logs); Serialize(oa, universe); bool loaded_game_data = true; oa << BOOST_SERIALIZATION_NVP(players) @@ -342,6 +346,7 @@ Message GameStartMessage(int player_id, bool single_player_game, int empire_id, int current_turn, const EmpireManager& empires, const Universe& universe, const SpeciesManager& species, + const CombatLogManager& combat_logs, const std::map<int, PlayerInfo>& players, const OrderSet& orders, const std::string* save_state_string) { @@ -353,7 +358,8 @@ << BOOST_SERIALIZATION_NVP(current_turn); GetUniverse().EncodingEmpire() = empire_id; oa << BOOST_SERIALIZATION_NVP(empires) - << BOOST_SERIALIZATION_NVP(species); + << BOOST_SERIALIZATION_NVP(species) + << BOOST_SERIALIZATION_NVP(combat_logs); Serialize(oa, universe); bool loaded_game_data = true; oa << BOOST_SERIALIZATION_NVP(players) @@ -671,7 +677,8 @@ void ExtractMessageData(const Message& msg, bool& single_player_game, int& empire_id, int& current_turn, EmpireManager& empires, Universe& universe, - SpeciesManager& species, std::map<int, PlayerInfo>& players, OrderSet& orders, + SpeciesManager& species, CombatLogManager& combat_logs, + std::map<int, PlayerInfo>& players, OrderSet& orders, bool& loaded_game_data, bool& ui_data_available, SaveGameUIData& ui_data, bool& save_state_string_available, std::string& save_state_string) @@ -688,7 +695,8 @@ ia >> BOOST_SERIALIZATION_NVP(empires); Logger().debugStream() << "ExtractMessage empire deserialization time " << (deserialize_timer.elapsed() * 1000.0); - ia >> BOOST_SERIALIZATION_NVP(species); + ia >> BOOST_SERIALIZATION_NVP(species) + >> BOOST_SERIALIZATION_NVP(combat_logs); deserialize_timer.restart(); Deserialize(ia, universe); Modified: trunk/FreeOrion/network/Message.h =================================================================== --- trunk/FreeOrion/network/Message.h 2013-03-31 09:57:26 UTC (rev 5922) +++ trunk/FreeOrion/network/Message.h 2013-03-31 13:11:04 UTC (rev 5923) @@ -199,20 +199,25 @@ /** creates a GAME_START message. Contains the initial game state visible to player \a player_id.*/ Message GameStartMessage(int player_id, bool single_player_game, int empire_id, int current_turn, - const EmpireManager& empires, const Universe& universe, const SpeciesManager& species, + const EmpireManager& empires, const Universe& universe, + const SpeciesManager& species, const CombatLogManager& combat_logs, const std::map<int, PlayerInfo>& players); /** creates a GAME_START message. Contains the initial game state visible to * player \a player_id. Also includes data loaded from a saved game. */ Message GameStartMessage(int player_id, bool single_player_game, int empire_id, int current_turn, - const EmpireManager& empires, const Universe& universe, const SpeciesManager& species, - const std::map<int, PlayerInfo>& players, const OrderSet& orders, const SaveGameUIData* ui_data); + const EmpireManager& empires, const Universe& universe, + const SpeciesManager& species, const CombatLogManager& combat_logs, + const std::map<int, PlayerInfo>& players, const OrderSet& orders, + const SaveGameUIData* ui_data); /** creates a GAME_START message. Contains the initial game state visible to * player \a player_id. Also includes state string loaded from a saved game. */ Message GameStartMessage(int player_id, bool single_player_game, int empire_id, int current_turn, - const EmpireManager& empires, const Universe& universe, const SpeciesManager& species, - const std::map<int, PlayerInfo>& players, const OrderSet& orders, const std::string* save_state_string); + const EmpireManager& empires, const Universe& universe, + const SpeciesManager& species, const CombatLogManager& combat_logs, + const std::map<int, PlayerInfo>& players, const OrderSet& orders, + const std::string* save_state_string); /** creates a HOST_SP_GAME acknowledgement message. The \a player_id is the ID * of the receiving player. This message should only be sent by the server.*/ @@ -366,8 +371,8 @@ void ExtractMessageData(const Message& msg, bool& single_player_game, int& empire_id, int& current_turn, EmpireManager& empires, Universe& universe, SpeciesManager& species, - std::map<int, PlayerInfo>& players, OrderSet& orders, - bool& loaded_game_data, bool& ui_data_available, + CombatLogManager& combat_logs, std::map<int, PlayerInfo>& players, + OrderSet& orders, bool& loaded_game_data, bool& ui_data_available, SaveGameUIData& ui_data, bool& save_state_string_available, std::string& save_state_string); Modified: trunk/FreeOrion/server/ServerApp.cpp =================================================================== --- trunk/FreeOrion/server/ServerApp.cpp 2013-03-31 09:57:26 UTC (rev 5922) +++ trunk/FreeOrion/server/ServerApp.cpp 2013-03-31 13:11:04 UTC (rev 5923) @@ -648,13 +648,10 @@ const PlayerConnectionPtr player_connection = *player_connection_it; int player_id = player_connection->PlayerID(); int empire_id = PlayerEmpireID(player_id); - player_connection->SendMessage(GameStartMessage(player_id, - m_single_player_game, - empire_id, - m_current_turn, - m_empires, - m_universe, - GetSpeciesManager(), + player_connection->SendMessage(GameStartMessage(player_id, m_single_player_game, + empire_id, m_current_turn, + m_empires, m_universe, + GetSpeciesManager(), GetCombatLogManager(), player_info_map)); } } @@ -1072,13 +1069,13 @@ player_connection->SendMessage(GameStartMessage(player_id, m_single_player_game, empire_id, m_current_turn, m_empires, m_universe, - GetSpeciesManager(), + GetSpeciesManager(), GetCombatLogManager(), player_info_map, *orders, sss)); } else if (client_type == Networking::CLIENT_TYPE_HUMAN_PLAYER) { player_connection->SendMessage(GameStartMessage(player_id, m_single_player_game, empire_id, m_current_turn, m_empires, m_universe, - GetSpeciesManager(), + GetSpeciesManager(), GetCombatLogManager(), player_info_map, *orders, psgd.m_ui_data.get())); } else if (client_type == Networking::CLIENT_TYPE_HUMAN_OBSERVER || @@ -1087,7 +1084,7 @@ player_connection->SendMessage(GameStartMessage(player_id, m_single_player_game, ALL_EMPIRES, m_current_turn, m_empires, m_universe, - GetSpeciesManager(), + GetSpeciesManager(), GetCombatLogManager(), player_info_map)); } else { Logger().errorStream() << "ServerApp::CommonGameInit unsupported client type: skipping game start message."; |