From: <geo...@us...> - 2012-06-24 20:20:56
|
Revision: 4929 http://freeorion.svn.sourceforge.net/freeorion/revision/?rev=4929&view=rev Author: geoffthemedio Date: 2012-06-24 20:20:50 +0000 (Sun, 24 Jun 2012) Log Message: ----------- Added a ResetDiplomacy function to EmpireManager, and called it from Universe setup, to set all empires' diplomatic statuses to war at the start of the game. Modified Paths: -------------- trunk/FreeOrion/Empire/EmpireManager.cpp trunk/FreeOrion/Empire/EmpireManager.h trunk/FreeOrion/universe/UniverseServer.cpp Modified: trunk/FreeOrion/Empire/EmpireManager.cpp =================================================================== --- trunk/FreeOrion/Empire/EmpireManager.cpp 2012-06-24 01:56:25 UTC (rev 4928) +++ trunk/FreeOrion/Empire/EmpireManager.cpp 2012-06-24 20:20:50 UTC (rev 4929) @@ -129,4 +129,16 @@ void EmpireManager::SetDiplomaticStatus(int empire1, int empire2, DiplomaticStatus status) { std::pair<int, int> key(std::max(empire1, empire2), std::min(empire1, empire2)); m_empire_diplomatic_statuses[key] = status; -} \ No newline at end of file +} + +void EmpireManager::ResetDiplomacy() { + m_empire_diplomatic_statuses.clear(); + for (std::map<int, Empire*>::const_iterator emp1_it = m_empire_map.begin(); emp1_it != m_empire_map.end(); ++emp1_it) { + std::map<int, Empire*>::const_iterator emp2_it = emp1_it; + emp2_it++; + for (; emp2_it != m_empire_map.end(); ++emp2_it) { + std::pair<int, int> key(std::max(emp1_it->first, emp2_it->first), std::min(emp1_it->first, emp2_it->first)); + m_empire_diplomatic_statuses[key] = DIPLO_WAR; + } + } +} Modified: trunk/FreeOrion/Empire/EmpireManager.h =================================================================== --- trunk/FreeOrion/Empire/EmpireManager.h 2012-06-24 01:56:25 UTC (rev 4928) +++ trunk/FreeOrion/Empire/EmpireManager.h 2012-06-24 20:20:50 UTC (rev 4929) @@ -62,6 +62,7 @@ void EliminateEmpire(int id); void SetDiplomaticStatus(int empire1, int empire2, DiplomaticStatus status); + void ResetDiplomacy(); /** Creates and inserts an empire with the specified properties and returns * a pointer to it. This will only set up the data in Empire. It is the Modified: trunk/FreeOrion/universe/UniverseServer.cpp =================================================================== --- trunk/FreeOrion/universe/UniverseServer.cpp 2012-06-24 01:56:25 UTC (rev 4928) +++ trunk/FreeOrion/universe/UniverseServer.cpp 2012-06-24 20:20:50 UTC (rev 4929) @@ -2456,4 +2456,6 @@ } } } + + Empires().ResetDiplomacy(); } |