FSerialization::SyncCities()
- Defined in
- CvCity.cpp, line 61
- Hook name
CivHooks::FSerialization_SyncCities
Hooks
static bool BeforeFSerialization_SyncCities();static void AfterFSerialization_SyncCities();static void ReplaceFSerialization_SyncCities(void (*original)());CivRegisterBefore<CivHooks::FSerialization_SyncCities>(host, &BeforeFSerialization_SyncCities);CivRegisterAfter<CivHooks::FSerialization_SyncCities>(host, &AfterFSerialization_SyncCities);CivRegisterReplace<CivHooks::FSerialization_SyncCities>(host, &ReplaceFSerialization_SyncCities);
Code
61void SyncCities()62{63 if(GC.getGame().isNetworkMultiPlayer())64 {65 PlayerTypes authoritativePlayer = GC.getGame().getActivePlayer();6667 std::set<CvCity*>::const_iterator i;68 for(i = citiesToCheck.begin(); i != citiesToCheck.end(); ++i)69 {70 const CvCity* city = *i;7172 if(city)73 {74 const CvPlayer& player = GET_PLAYER(city->getOwner());75 if(city->getOwner() == authoritativePlayer || (gDLL->IsHost() && !player.isHuman() && player.isAlive()))76 {77 const FAutoArchive& archive = city->getSyncArchive();78 if(archive.hasDeltas())79 {80 FMemoryStream memoryStream;81 std::vector<std::pair<std::string, std::string> > callStacks;82 archive.saveDelta(memoryStream, callStacks);83 gDLL->sendCitySyncCheck(city->getOwner(), city->GetID(), memoryStream, callStacks);84 }85 }86 }87 }88 }89}
Calls
- CvCity::GetID() const
- CvCity::getOwner() const
- CvCity::getSyncArchive() const
- CvGame::getActivePlayer() const
- CvGame::isNetworkMultiPlayer() const
- CvGlobals::getDLLIFace()
- CvGlobals::getGame()
- CvPlayer::isAlive() const
- CvPlayer::isHuman() const
- CvPlayerAI::getPlayer(PlayerTypes)
FAutoArchive::hasDeltasFAutoArchive::saveDeltaFMemoryStream::FMemoryStreamICvEngineUtility1::IsHostICvEngineUtility1::sendCitySyncCheckstd::_Tree::beginstd::_Tree::const_iterator::const_iteratorstd::_Tree::const_iterator::operator!=std::_Tree::const_iterator::operator*std::_Tree::const_iterator::operator++std::_Tree::const_iterator::operator=std::_Tree::endstd::vector::vector