CvPreGame::writeCivilizations(FDataStream &)
- Defined in
- CvPreGame.cpp, line 404
- Hook name
CivHooks::CvPreGame_writeCivilizations
Hooks
static bool BeforeCvPreGame_writeCivilizations(FDataStream& saveTo);static void AfterCvPreGame_writeCivilizations(FDataStream& saveTo);static void ReplaceCvPreGame_writeCivilizations(void (*original)(FDataStream&), FDataStream& saveTo);CivRegisterBefore<CivHooks::CvPreGame_writeCivilizations>(host, &BeforeCvPreGame_writeCivilizations);CivRegisterAfter<CivHooks::CvPreGame_writeCivilizations>(host, &AfterCvPreGame_writeCivilizations);CivRegisterReplace<CivHooks::CvPreGame_writeCivilizations>(host, &ReplaceCvPreGame_writeCivilizations);
Code
404void writeCivilizations(FDataStream& saveTo)405{406 if(s_gameStarted || !isNetworkMultiplayerGame()){407 //full save, preserve everything.408 saveTo << s_civilizations;409 }410 else{411 //game cfg save only. Scrub player specific data from our save output.412 //reset all non-AI players to random civ.413 int i = 0;414 std::vector<CivilizationTypes> civsTemp = s_civilizations;415 for(std::vector<CivilizationTypes>::iterator civIter = civsTemp.begin(); civIter != civsTemp.end(); ++civIter, ++i){416 if(slotStatus((PlayerTypes)i) != SS_COMPUTER){417 *civIter = NO_CIVILIZATION;418 }419 }420 saveTo << civsTemp;421 }422}
Calls
- CvPreGame::isNetworkMultiplayerGame()
- CvPreGame::slotStatus(PlayerTypes)
FAutoVariable::operator const bool &FAutoVariable::operator const std::vector<CivilizationTypes> &operator<<operator<<std::_Vector_const_iterator::operator!=std::_Vector_iterator::operator*std::_Vector_iterator::operator++std::vector::beginstd::vector::endstd::vector::vector