/// Write to binary data store void CvArmyAI::Write(FDataStream& kStream) const { // Current version number uint uiVersion = 1; kStream << uiVersion; MOD_SERIALIZE_INIT_WRITE(kStream); kStream << m_iID; kStream << m_eOwner; kStream << m_iCurrentX; kStream << m_iCurrentY; kStream << m_iGoalX; kStream << m_iGoalY; kStream << m_eDomainType; kStream << m_iFormationIndex; kStream << m_eAIState; kStream << m_iOperationID; #if defined(MOD_BALANCE_CORE) kStream << m_bOceanMoves; #endif kStream << (int)m_FormationEntries.size(); for(uint ui = 0; ui < m_FormationEntries.size(); ui++) { kStream << m_FormationEntries[ui]; } }
/// writes out danger plots info void CvDangerPlots::Write(FDataStream& kStream) const { // Current version number uint uiVersion = 1; kStream << uiVersion; MOD_SERIALIZE_INIT_WRITE(kStream); kStream << m_ePlayer; kStream << m_bArrayAllocated; int iGridSize = GC.getMap().getGridWidth() * GC.getMap().getGridHeight(); kStream << iGridSize; for(int i = 0; i < iGridSize; i++) { kStream << m_DangerPlots[i]; } #if defined(MOD_BALANCE_CORE) kStream << m_knownUnits.size(); for (UnitSet::const_iterator it=m_knownUnits.begin(); it!=m_knownUnits.end(); ++it) { kStream << it->first; kStream << it->second; } #endif }
/// Serialization write void CvTreasury::Write(FDataStream& kStream) { // Current version number uint uiVersion = 1; kStream << uiVersion; MOD_SERIALIZE_INIT_WRITE(kStream); kStream << m_iGold; kStream << m_iGoldPerTurnFromDiplomacy; kStream << m_iExpensePerTurnUnitMaintenance; kStream << m_iExpensePerTurnUnitSupply; kStream << m_iCityConnectionGoldTimes100; kStream << m_iCityConnectionTradeRouteGoldModifier; kStream << m_iCityConnectionTradeRouteGoldChange; kStream << m_iBaseBuildingGoldMaintenance; kStream << m_iBaseImprovementGoldMaintenance; kStream << m_GoldBalanceForTurnTimes100; kStream << m_GoldChangeForTurnTimes100; kStream << m_iLifetimeGrossGoldIncome; #if defined(MOD_BALANCE_CORE) kStream << m_iInternalTradeGoldBonus; #endif #if defined(MOD_DIPLOMACY_CIV4_FEATURES) MOD_SERIALIZE_WRITE(kStream, m_iExpensePerTurnFromVassalTax); #endif }
//------------------------------------------------------------------------------ void CvPlayerAchievements::Write(FDataStream& kStream) const { int iVersion = 1; kStream << iVersion; MOD_SERIALIZE_INIT_WRITE(kStream); kStream << m_iAchievement_XP1_32_Progress; kStream << m_iAchievement_XP1_33_Progress; }
// // write object to a stream // void PopupReturn::write(FDataStream& kStream) const { // Current version number uint uiVersion = 1; kStream << uiVersion; MOD_SERIALIZE_INIT_WRITE(kStream); unsigned int iI; //char szString[1024]; kStream << m_aiSelectedRadioButton.size() ; for(iI = 0; iI < m_aiSelectedRadioButton.size(); iI++) { kStream << m_aiSelectedRadioButton[iI] ; } kStream << m_aiBitField.size() ; for(iI = 0; iI < m_aiBitField.size(); iI++) { kStream << m_aiBitField[iI] ; } kStream << m_aszEditBoxString.size() ; for(iI = 0; iI < m_aszEditBoxString.size(); iI++) { kStream << m_aszEditBoxString[iI] ; } kStream << m_aiSpinnerWidgetValues.size() ; for(iI = 0; iI < m_aiSpinnerWidgetValues.size(); iI++) { kStream << m_aiSpinnerWidgetValues[iI] ; } kStream << m_aiPulldownID.size() ; for(iI = 0; iI < m_aiPulldownID.size(); iI++) { kStream << m_aiPulldownID[iI] ; } kStream << m_aiListBoxID.size() ; for(iI = 0; iI < m_aiListBoxID.size(); iI++) { kStream << m_aiListBoxID[iI] ; } kStream << m_aiSpinBoxID.size() ; for(iI = 0; iI < m_aiSpinBoxID.size(); iI++) { kStream << m_aiSpinBoxID[iI] ; } kStream << m_aiButtonID.size() ; for(iI = 0; iI < m_aiButtonID.size(); iI++) { kStream << m_aiButtonID[iI] ; } }
/// Serialization write void CvFlavorManager::Write(FDataStream& kStream) { // Current version number uint uiVersion = 1; kStream << uiVersion; MOD_SERIALIZE_INIT_WRITE(kStream); CvAssertMsg(GC.getNumFlavorTypes() > 0, "Number of flavors to serialize is expected to greater than 0)"); kStream << GC.getNumFlavorTypes(); kStream << ArrayWrapper<int>(GC.getNumFlavorTypes(), m_piPersonalityFlavor); kStream << ArrayWrapper<int>(GC.getNumFlavorTypes(), m_piActiveFlavor); }
/// Serialization write void CvProjectProductionAI::Write(FDataStream& kStream) const { // Current version number uint uiVersion = 1; kStream << uiVersion; MOD_SERIALIZE_INIT_WRITE(kStream); //mod00 // Loop through writing each entry for(int i = 0; i < GC.GetGameProjects()->GetNumProjects(); i++) { kStream << m_ProjectAIWeights.GetWeight(i); } }
void CvRandom::write(FDataStream& kStream) const { // Current version number uint uiVersion = 1; kStream << uiVersion; MOD_SERIALIZE_INIT_WRITE(kStream); kStream << m_ullRandomSeed; kStream << m_ulCallCount; kStream << m_ulResetCount; //dummy kStream << false; }
/// Serialization write void CvProcessProductionAI::Write(FDataStream& kStream) const { // Current version number uint uiVersion = 1; kStream << uiVersion; MOD_SERIALIZE_INIT_WRITE(kStream); // Loop through writing each entry kStream << GC.getNumProcessInfos(); for(int i = 0; i < GC.getNumProcessInfos(); i++) { CvInfosSerializationHelper::WriteHashed(kStream, GC.getProcessInfo((ProcessTypes)i)); kStream << m_ProcessAIWeights.GetWeight(i); } }
/// Serialization write void CvGrandStrategyAI::Write(FDataStream& kStream) { // Current version number uint uiVersion = 1; kStream << uiVersion; MOD_SERIALIZE_INIT_WRITE(kStream); kStream << m_iNumTurnsSinceActiveSet; kStream << m_eActiveGrandStrategy; FAssertMsg(GC.getNumAIGrandStrategyInfos() > 0, "Number of AIStrategies to serialize is expected to greater than 0"); kStream << ArrayWrapper<int>(m_pAIGrandStrategies->GetNumAIGrandStrategies(), m_paiGrandStrategyPriority); kStream << ArrayWrapper<int>(MAX_MAJOR_CIVS, m_eGuessOtherPlayerActiveGrandStrategy); kStream << ArrayWrapper<int>(MAX_MAJOR_CIVS, m_eGuessOtherPlayerActiveGrandStrategyConfidence); }
/// Serialization write void CvPolicyAI::Write(FDataStream& kStream) { // Current version number uint uiVersion = 1; kStream << uiVersion; MOD_SERIALIZE_INIT_WRITE(kStream); //mod00 CvAssertMsg(m_pCurrentPolicies->GetPolicies() != NULL, "Policy AI serialization failure: no policy data"); CvAssertMsg(m_pCurrentPolicies->GetPolicies()->GetNumPolicies() > 0, "Policy AI serialization failure: number of policies not greater than 0"); // Loop through writing each entry uint uiPolicyCount = m_pCurrentPolicies->GetPolicies()->GetNumPolicies(); kStream << uiPolicyCount; for(int i = 0; i < m_pCurrentPolicies->GetPolicies()->GetNumPolicies(); i++) { CvInfosSerializationHelper::WriteHashed(kStream, static_cast<const PolicyTypes>(i)); kStream << m_PolicyAIWeights.GetWeight(i); } }
/// Serialization write void CvTechAI::Write(FDataStream& kStream) const { // Current version number uint uiVersion = 1; kStream << uiVersion; MOD_SERIALIZE_INIT_WRITE(kStream); CvAssertMsg(m_pCurrentTechs->GetTechs() != NULL, "Tech AI serialization failure: no tech data"); CvAssertMsg(m_pCurrentTechs->GetTechs()->GetNumTechs() > 0, "Tech AI serialization failure: number of techs not greater than 0"); uint uiCount = m_pCurrentTechs->GetTechs()->GetNumTechs(); kStream << uiCount; // Loop through writing each entry for(uint i = 0; i < uiCount; i++) { CvInfosSerializationHelper::WriteHashed(kStream, (TechTypes)i); // Write out the hash ID first kStream << m_TechAIWeights.GetWeight(i); } }
FDataStream& operator<<(FDataStream& kStream, const CvPopupInfo& kPopupInfo) { // Current version number uint uiVersion = 1; kStream << uiVersion; MOD_SERIALIZE_INIT_WRITE(kStream); //mod00 kStream << kPopupInfo.iData1; kStream << kPopupInfo.iData2; kStream << kPopupInfo.iData3; kStream << kPopupInfo.iFlags; kStream << kPopupInfo.bOption1; kStream << kPopupInfo.bOption2; kStream << kPopupInfo.eButtonPopupType; CvString strDummy = kPopupInfo.szText; kStream << strDummy; return kStream; }
void CvRandom::write(FDataStream& kStream) const { // Current version number uint uiVersion = 1; kStream << uiVersion; MOD_SERIALIZE_INIT_WRITE(kStream); //mod00 kStream << m_ulRandomSeed; kStream << m_ulCallCount; kStream << m_ulResetCount; #ifdef _DEBUG kStream << m_bExtendedCallStackDebugging; if(m_bExtendedCallStackDebugging) { resolveCallStacks(); kStream << m_seedHistory; kStream << m_resolvedCallStacks; } #else kStream << false; #endif }
void CvReplayInfo::write(FDataStream& kStream) const { kStream << REPLAY_VERSION; MOD_SERIALIZE_INIT_WRITE(kStream); //mod00 kStream << m_iActivePlayer; kStream << m_strMapScriptName; kStream << m_eWorldSize; kStream << m_eClimate; kStream << m_eSeaLevel; kStream << m_eEra; kStream << m_eGameSpeed; kStream << m_listGameOptions; kStream << m_listVictoryTypes; kStream << m_eVictoryType; kStream << m_eGameType; kStream << m_iInitialTurn; kStream << m_iStartYear; kStream << m_iFinalTurn; kStream << m_strFinalDate; kStream << m_eCalendar; kStream << m_iNormalizedScore; kStream << m_listPlayerInfo; kStream << m_dataSetMap; kStream << m_listPlayerDataSets; kStream << CvReplayMessage::Version(); kStream << m_listReplayMessages.size(); for(ReplayMessageList::const_iterator it = m_listReplayMessages.begin(); it != m_listReplayMessages.end(); ++it) { (*it).write(kStream); } kStream << m_iMapWidth; kStream << m_iMapHeight; kStream << m_listPlots; }