Bazaar developer reference

CvPlayer::Write(FDataStream &) const

Defined in
CvPlayer.cpp, line 25371
Class
CvPlayer
Hook name
CivHooks::CvPlayer_Write
Overridden by
CvPlayerAI::Write(FDataStream &) const

Hooks

static bool BeforeCvPlayer_Write(const CvPlayer* self, FDataStream& kStream);static void AfterCvPlayer_Write(const CvPlayer* self, FDataStream& kStream);static void ReplaceCvPlayer_Write(void (*original)(const CvPlayer*, FDataStream&), const CvPlayer* self, FDataStream& kStream);CivRegisterBefore<CivHooks::CvPlayer_Write>(host, &BeforeCvPlayer_Write);CivRegisterAfter<CivHooks::CvPlayer_Write>(host, &AfterCvPlayer_Write);CivRegisterReplace<CivHooks::CvPlayer_Write>(host, &ReplaceCvPlayer_Write);

Code

25367//25368// save object to a stream25369// used during save25370//25371void CvPlayer::Write(FDataStream& kStream) const25372{25373	//Save version number.  THIS MUST BE FIRST!!25374	kStream << g_CurrentCvPlayerVersion;25375	MOD_SERIALIZE_INIT_WRITE(kStream);2537625377	kStream << m_iStartingX;25378	kStream << m_iStartingY;25379	kStream << m_iTotalPopulation;25380	kStream << m_iTotalLand;25381	kStream << m_iTotalLandScored;25382	kStream << m_iJONSCulturePerTurnForFree;25383	kStream << m_iJONSCulturePerTurnFromMinorCivs;25384	kStream << m_iJONSCultureCityModifier;25385	kStream << m_iJONSCulture;25386	kStream << m_iJONSCultureEverGenerated;25387	kStream << m_iCulturePerWonder;25388	kStream << m_iCultureWonderMultiplier;25389	kStream << m_iCulturePerTechResearched;25390	kStream << m_iFaith;25391	kStream << m_iFaithEverGenerated;25392	kStream << m_iHappiness;25393	kStream << m_iUprisingCounter;25394	kStream << m_iExtraHappinessPerLuxury;25395	kStream << m_iUnhappinessFromUnits;25396	kStream << m_iUnhappinessFromUnitsMod;25397	kStream << m_iUnhappinessMod;25398	kStream << m_iCityCountUnhappinessMod;25399	kStream << m_iOccupiedPopulationUnhappinessMod;25400	kStream << m_iCapitalUnhappinessMod;25401	kStream << m_iCityRevoltCounter;25402	kStream << m_iHappinessPerGarrisonedUnitCount;25403	kStream << m_iHappinessPerTradeRouteCount;25404	kStream << m_iHappinessPerXPopulation;25405	kStream << m_iHappinessPerXPolicies;25406	kStream << m_iHappinessFromLeagues;25407	kStream << m_iEspionageModifier;25408	kStream << m_iSpyStartingRank;25409#if defined(MOD_RELIGION_CONVERSION_MODIFIERS)25410	MOD_SERIALIZE_WRITE(kStream, m_iConversionModifier);25411#endif25412	kStream << m_iExtraLeagueVotes;25413	kStream << m_iSpecialPolicyBuildingHappiness;25414	kStream << m_iWoundedUnitDamageMod;25415	kStream << m_iUnitUpgradeCostMod;25416	kStream << m_iBarbarianCombatBonus;25417	kStream << m_iAlwaysSeeBarbCampsCount;25418	kStream << m_iHappinessFromBuildings;25419	kStream << m_iHappinessPerCity;25420	kStream << m_iAdvancedStartPoints;25421	kStream << m_iAttackBonusTurns;25422	kStream << m_iCultureBonusTurns;25423	kStream << m_iTourismBonusTurns;25424	kStream << m_iGoldenAgeProgressMeter;25425	kStream << m_iGoldenAgeMeterMod;25426	kStream << m_iNumGoldenAges;25427	kStream << m_iGoldenAgeTurns;25428	kStream << m_iNumUnitGoldenAges;25429	kStream << m_iStrikeTurns;25430	kStream << m_iGoldenAgeModifier;25431#if defined(MOD_GLOBAL_TRULY_FREE_GP)25432	MOD_SERIALIZE_WRITE(kStream, m_iFreeGreatPeopleCreated);25433	MOD_SERIALIZE_WRITE(kStream, m_iFreeGreatGeneralsCreated);25434	MOD_SERIALIZE_WRITE(kStream, m_iFreeGreatAdmiralsCreated);25435#if defined(MOD_GLOBAL_SEPARATE_GP_COUNTERS)25436	MOD_SERIALIZE_WRITE(kStream, m_iFreeGreatMerchantsCreated);25437	MOD_SERIALIZE_WRITE(kStream, m_iFreeGreatScientistsCreated);25438	MOD_SERIALIZE_WRITE(kStream, m_iFreeGreatEngineersCreated);25439#endif25440	MOD_SERIALIZE_WRITE(kStream, m_iFreeGreatWritersCreated);25441	MOD_SERIALIZE_WRITE(kStream, m_iFreeGreatArtistsCreated);25442	MOD_SERIALIZE_WRITE(kStream, m_iFreeGreatMusiciansCreated);25443#endif25444	kStream << m_iGreatPeopleCreated;25445	kStream << m_iGreatGeneralsCreated;25446	kStream << m_iGreatAdmiralsCreated;25447#if defined(MOD_GLOBAL_SEPARATE_GP_COUNTERS)25448	MOD_SERIALIZE_WRITE(kStream, m_iGreatMerchantsCreated);25449	MOD_SERIALIZE_WRITE(kStream, m_iGreatScientistsCreated);25450	MOD_SERIALIZE_WRITE(kStream, m_iGreatEngineersCreated);25451#endif25452	kStream << m_iGreatWritersCreated;25453	kStream << m_iGreatArtistsCreated;25454	kStream << m_iGreatMusiciansCreated;25455	kStream << m_iMerchantsFromFaith;25456	kStream << m_iScientistsFromFaith;25457	kStream << m_iWritersFromFaith;25458	kStream << m_iArtistsFromFaith;25459	kStream << m_iMusiciansFromFaith;25460	kStream << m_iGeneralsFromFaith;25461	kStream << m_iAdmiralsFromFaith;25462	kStream << m_iEngineersFromFaith;25463	kStream << m_iGreatPeopleThresholdModifier;25464	kStream << m_iGreatGeneralsThresholdModifier;25465	kStream << m_iGreatAdmiralsThresholdModifier;25466	kStream << m_iGreatGeneralCombatBonus;25467	kStream << m_iAnarchyNumTurns;25468	kStream << m_iPolicyCostModifier;25469	kStream << m_iGreatPeopleRateModifier;25470	kStream << m_iGreatPeopleRateModFromBldgs;25471	kStream << m_iGreatGeneralRateModifier;25472	kStream << m_iGreatGeneralRateModFromBldgs;25473	kStream << m_iDomesticGreatGeneralRateModifier;25474	kStream << m_iDomesticGreatGeneralRateModFromBldgs;25475	kStream << m_iGreatAdmiralRateModifier;25476	kStream << m_iGreatWriterRateModifier;25477	kStream << m_iGreatArtistRateModifier;25478	kStream << m_iGreatMusicianRateModifier;25479	kStream << m_iGreatMerchantRateModifier;25480	kStream << m_iGreatScientistRateModifier;25481	kStream << m_iGreatScientistBeakerModifier;25482	kStream << m_iGreatEngineerRateModifier;25483	kStream << m_iGreatPersonExpendGold;25484	kStream << m_iMaxGlobalBuildingProductionModifier;25485	kStream << m_iMaxTeamBuildingProductionModifier;25486	kStream << m_iMaxPlayerBuildingProductionModifier;25487	kStream << m_iFreeExperience;25488	kStream << m_iFreeExperienceFromBldgs;25489	kStream << m_iFreeExperienceFromMinors;25490	kStream << m_iFeatureProductionModifier;25491	kStream << m_iWorkerSpeedModifier;25492	kStream << m_iImprovementCostModifier;25493	kStream << m_iImprovementUpgradeRateModifier;25494	kStream << m_iSpecialistProductionModifier;25495	kStream << m_iMilitaryProductionModifier;25496	kStream << m_iSpaceProductionModifier;25497	kStream << m_iCityDefenseModifier;25498	kStream << m_iUnitFortificationModifier; // Version 4525499	kStream << m_iUnitBaseHealModifier; // Version 4625500	kStream << m_iWonderProductionModifier;25501	kStream << m_iSettlerProductionModifier;25502	kStream << m_iCapitalSettlerProductionModifier;	// Version 1125503	kStream << m_iUnitProductionMaintenanceMod;25504	kStream << m_iPolicyCostBuildingModifier;		// Added in version 325505	kStream << m_iPolicyCostMinorCivModifier;25506	kStream << m_iInfluenceSpreadModifier;25507	kStream << m_iExtraVotesPerDiplomat;25508	kStream << m_iNumNukeUnits;25509	kStream << m_iNumOutsideUnits;25510	kStream << m_iBaseFreeUnits;25511	kStream << m_iBaseFreeMilitaryUnits;25512	kStream << m_iFreeUnitsPopulationPercent;25513	kStream << m_iFreeMilitaryUnitsPopulationPercent;25514	kStream << m_iGoldPerUnit;25515	kStream << m_iGoldPerMilitaryUnit;25516	kStream << m_iRouteGoldMaintenanceMod;25517	kStream << m_iBuildingGoldMaintenanceMod;25518	kStream << m_iUnitGoldMaintenanceMod;25519	kStream << m_iUnitSupplyMod;25520	kStream << m_iExtraUnitCost;25521	kStream << m_iNumMilitaryUnits;25522	kStream << m_iHappyPerMilitaryUnit;25523	kStream << m_iHappinessToCulture;25524	kStream << m_iHappinessToScience;25525	kStream << m_iHalfSpecialistUnhappinessCount;25526	kStream << m_iHalfSpecialistFoodCount;25527	kStream << m_iMilitaryFoodProductionCount;25528	kStream << m_iGoldenAgeCultureBonusDisabledCount;25529	kStream << m_iSecondReligionPantheonCount;25530	kStream << m_iEnablesSSPartHurryCount;25531	kStream << m_iEnablesSSPartPurchaseCount;25532	kStream << m_iConscriptCount;25533	kStream << m_iMaxConscript;25534	kStream << m_iHighestUnitLevel;25535	kStream << m_iOverflowResearch;25536	kStream << m_iExpModifier;25537	kStream << m_iExpInBorderModifier;25538	kStream << m_iLevelExperienceModifier;25539	kStream << m_iMinorQuestFriendshipMod;25540	kStream << m_iMinorGoldFriendshipMod;25541	kStream << m_iMinorFriendshipMinimum;25542	kStream << m_iMinorFriendshipDecayMod;25543	kStream << m_iMinorScienceAlliesCount;25544	kStream << m_iMinorResourceBonusCount;25545	kStream << m_iAbleToAnnexCityStatesCount;25546	kStream << m_iConversionTimer;25547	kStream << m_iCapitalCityID;25548	kStream << m_iCitiesLost;25549	kStream << m_iMilitaryMight;25550	kStream << m_iEconomicMight;25551	kStream << m_iTurnMightRecomputed;25552	kStream << m_iNewCityExtraPopulation;25553	kStream << m_iFreeFoodBox;25554	kStream << m_iScenarioScore1;25555	kStream << m_iScenarioScore2;25556	kStream << m_iScenarioScore3;25557	kStream << m_iScoreFromFutureTech;25558	kStream << m_iScenarioScore4;25559	kStream << m_iCombatExperience;25560	kStream << m_iNavalCombatExperience;25561	kStream << m_iLifetimeCombatExperience;25562#if defined(MOD_UNITS_XP_TIMES_100)25563	MOD_SERIALIZE_WRITE(kStream, m_iCombatExperienceTimes100);25564	MOD_SERIALIZE_WRITE(kStream, m_iNavalCombatExperienceTimes100);25565	MOD_SERIALIZE_WRITE(kStream, m_iLifetimeCombatExperienceTimes100);25566#endif25567	kStream << m_iBorderObstacleCount;25568	kStream << m_iNextOperationID;25569	kStream << m_iCostNextPolicy;25570	kStream << m_iNumBuilders;25571	kStream << m_iMaxNumBuilders;25572	kStream << m_iCityStrengthMod;25573	kStream << m_iCityGrowthMod;25574	kStream << m_iCapitalGrowthMod;25575	kStream << m_iNumPlotsBought;25576	kStream << m_iPlotGoldCostMod;25577#if defined(MOD_TRAITS_CITY_WORKING) || defined(MOD_BUILDINGS_CITY_WORKING) || defined(MOD_POLICIES_CITY_WORKING) || defined(MOD_TECHS_CITY_WORKING)25578	MOD_SERIALIZE_WRITE(kStream, m_iCityWorkingChange);25579#endif25580#if defined(MOD_TRAITS_CITY_AUTOMATON_WORKERS) || defined(MOD_BUILDINGS_CITY_AUTOMATON_WORKERS) || defined(MOD_POLICIES_CITY_AUTOMATON_WORKERS) || defined(MOD_TECHS_CITY_AUTOMATON_WORKERS)25581	MOD_SERIALIZE_WRITE(kStream, m_iCityAutomatonWorkersChange);25582#endif25583	kStream << m_iPlotCultureCostModifier;25584	kStream << m_iPlotCultureExponentModifier;25585	kStream << m_iNumCitiesPolicyCostDiscount;25586	kStream << m_iGarrisonFreeMaintenanceCount;25587	kStream << m_iGarrisonedCityRangeStrikeModifier;25588	kStream << m_iNumCitiesFreeCultureBuilding;25589	kStream << m_iNumCitiesFreeFoodBuilding;25590	kStream << m_iUnitPurchaseCostModifier;25591	kStream << m_iAllFeatureProduction;25592	kStream << m_iCityDistanceHighwaterMark;25593	kStream << m_iOriginalCapitalX;25594	kStream << m_iOriginalCapitalY;25595	kStream << m_iNumWonders;25596	kStream << m_iNumPolicies;25597	kStream << m_iNumGreatPeople;25598	kStream << m_iCityConnectionHappiness;25599	kStream << m_iHolyCityID;25600	kStream << m_iTurnsSinceSettledLastCity;25601	kStream << m_iNumNaturalWondersDiscoveredInArea;25602	kStream << m_iStrategicResourceMod;25603	kStream << m_iSpecialistCultureChange;25604	kStream << m_iGreatPeopleSpawnCounter;25605	kStream << m_iFreeTechCount;25606	kStream << m_iMedianTechPercentage;25607	kStream << m_iNumFreePolicies;25608	kStream << m_iNumFreePoliciesEver;25609	kStream << m_iNumFreeTenets;25610	kStream << m_iNumFreeGreatPeople;25611	kStream << m_iNumMayaBoosts;25612	kStream << m_iNumFaithGreatPeople;25613	kStream << m_iNumArchaeologyChoices;25614	kStream << m_eFaithPurchaseType;25615	kStream << m_iFaithPurchaseIndex;25616	kStream << m_iMaxEffectiveCities;25617	kStream << m_iLastSliceMoved;2561825619	kStream << m_bHasBetrayedMinorCiv;25620	kStream << m_bAlive;25621	kStream << m_bEverAlive;25622	kStream << m_bBeingResurrected;25623	kStream << m_bTurnActive;25624	kStream << m_bAutoMoves;25625	kStream << m_bEndTurn;25626	kStream << m_bDynamicTurnsSimultMode;25627	kStream << static_cast<bool>(m_bPbemNewTurn && GC.getGame().isPbem());25628	kStream << m_bExtendedGame;25629	kStream << m_bFoundedFirstCity;25630	kStream << m_iNumCitiesFounded; // Added V3025631	kStream << m_bStrike;25632	kStream << m_bCramped;25633	kStream << m_bLostCapital;25634	kStream << m_eConqueror;25635	kStream << m_bHasAdoptedStateReligion;25636	kStream << m_bAlliesGreatPersonBiasApplied;2563725638	kStream << m_eID;25639	kStream << m_ePersonalityType;2564025641	kStream << m_aiCityYieldChange;25642	kStream << m_aiCoastalCityYieldChange;25643	kStream << m_aiCapitalYieldChange;25644	kStream << m_aiCapitalYieldPerPopChange;25645	kStream << m_aiSeaPlotYield;25646	kStream << m_aiYieldRateModifier;25647	kStream << m_aiCapitalYieldRateModifier;25648	kStream << m_aiGreatWorkYieldChange;25649	kStream << m_aiExtraYieldThreshold;25650	kStream << m_aiSpecialistExtraYield;25651	kStream << m_aiProximityToPlayer;25652	kStream << m_aiResearchAgreementCounter;   // Added in Version 225653	kStream << m_aiIncomingUnitTypes;25654	kStream << m_aiIncomingUnitCountdowns;25655	kStream << m_aiMinorFriendshipAnchors; // Version 3825656	kStream << m_aiSiphonLuxuryCount;2565725658	//kStream << m_abOptions;2565925660	kStream << m_strReligionKey;25661	kStream << m_strScriptData;2566225663	CvAssertMsg((0 < GC.getNumResourceInfos()), "GC.getNumResourceInfos() is not greater than zero but an array is being allocated in CvPlayer::write");25664	CvInfosSerializationHelper::WriteHashedDataArray<ResourceTypes, int>(kStream, m_paiNumResourceUsed);25665	CvInfosSerializationHelper::WriteHashedDataArray<ResourceTypes, int>(kStream, m_paiNumResourceTotal);25666	CvInfosSerializationHelper::WriteHashedDataArray<ResourceTypes, int>(kStream, m_paiResourceGiftedToMinors);25667	CvInfosSerializationHelper::WriteHashedDataArray<ResourceTypes, int>(kStream, m_paiResourceExport);25668	CvInfosSerializationHelper::WriteHashedDataArray<ResourceTypes, int>(kStream, m_paiResourceImport);25669	CvInfosSerializationHelper::WriteHashedDataArray<ResourceTypes, int>(kStream, m_paiResourceFromMinors);25670	CvInfosSerializationHelper::WriteHashedDataArray<ResourceTypes, int>(kStream, m_paiResourcesSiphoned);2567125672	kStream << m_paiImprovementCount;2567325674	CvInfosSerializationHelper::WriteHashedDataArray<BuildingTypes, int>(kStream, m_paiFreeBuildingCount);2567525676	CvInfosSerializationHelper::WriteHashedDataArray<PromotionTypes, int>(kStream, m_paiFreePromotionCount);2567725678	kStream << m_paiUnitCombatProductionModifiers;25679	kStream << m_paiUnitCombatFreeExperiences;25680	kStream << m_paiUnitClassCount;25681	kStream << m_paiUnitClassMaking;25682	kStream << m_paiBuildingClassCount;25683	kStream << m_paiBuildingClassMaking;25684	kStream << m_paiProjectMaking;25685	kStream << m_paiHurryCount;25686	kStream << m_paiHurryModifier;256872568825689	CvAssertMsg((0 < GC.getNumTechInfos()), "GC.getNumTechInfos() is not greater than zero but it is expected to be in CvPlayer::write");2569025691	kStream << m_pabLoyalMember;2569225693	kStream << m_pabGetsScienceFromPlayer;2569425695	m_pPlayerPolicies->Write(kStream);25696	m_pEconomicAI->Write(kStream);25697	m_pCitySpecializationAI->Write(kStream);25698	m_pWonderProductionAI->Write(kStream);25699	m_pMilitaryAI->Write(kStream);25700	m_pGrandStrategyAI->Write(kStream);25701	m_pDiplomacyAI->Write(kStream);25702	m_pReligions->Write(kStream);25703	m_pReligionAI->Write(kStream);25704	m_pPlayerTechs->Write(kStream);25705	m_pFlavorManager->Write(kStream);25706	m_pTacticalAI->Write(kStream);25707	m_pHomelandAI->Write(kStream);25708	m_pMinorCivAI->Write(kStream);25709	m_pDealAI->Write(kStream);25710	m_pBuilderTaskingAI->Write(kStream);25711	m_pCityConnections->Write(kStream);25712	m_pDangerPlots->Write(kStream);25713	m_pTraits->Write(kStream);25714	kStream << *m_pEspionage;25715	kStream << *m_pEspionageAI;25716	kStream << *m_pTrade;25717	kStream << *m_pTradeAI;25718	m_pLeagueAI->Write(kStream);25719	kStream << *m_pCulture;2572025721	if(m_pNotifications)25722	{25723		kStream << true;25724		m_pNotifications->Write(kStream);25725	}25726	else25727	{25728		kStream << false;25729	}25730#if defined(MOD_API_PLAYER_LOGS)25731	// MOD_SERIALIZE_WRITE - v68 broke the save format  couldn't be helped, but don't make a habit of it!!!25732	if (m_pDiplomacyLog)25733	{25734		kStream << true;25735		m_pDiplomacyLog->Write(kStream);25736	}25737	else25738	{25739		kStream << false;25740	}2574125742	// MOD_SERIALIZE_WRITE - v68 broke the save format  couldn't be helped, but don't make a habit of it!!!25743	if (m_pMilitaryLog)25744	{25745		kStream << true;25746		m_pMilitaryLog->Write(kStream);25747	}25748	else25749	{25750		kStream << false;25751	}25752#endif25753	m_pTreasury->Write(kStream);2575425755	kStream << m_ppaaiSpecialistExtraYield;25756#if defined(MOD_API_UNIFIED_YIELDS) && defined(MOD_API_PLOT_YIELDS)25757	// MOD_SERIALIZE_WRITE - v57/v58/v59 broke the save format  couldn't be helped, but don't make a habit of it!!!25758	kStream << m_ppiPlotYieldChange;25759#endif25760#if defined(MOD_API_UNIFIED_YIELDS)25761	// MOD_SERIALIZE_WRITE - v57/v58/v59 and v61 broke the save format  couldn't be helped, but don't make a habit of it!!!25762	kStream << m_ppiFeatureYieldChange;25763	kStream << m_ppiResourceYieldChange;25764	kStream << m_ppiTerrainYieldChange;25765	kStream << m_ppiTradeRouteYieldChange;25766	kStream << m_ppiSpecialistYieldChange;25767	kStream << m_ppiGreatPersonExpendedYield;25768	kStream << m_piGoldenAgeGreatPersonRateModifier;25769	kStream << m_ppiUnimprovedFeatureYieldChange;25770	kStream << m_ppiCityYieldFromUnimprovedFeature;25771	kStream << m_piYieldFromKills;25772	kStream << m_piYieldFromBarbarianKills;25773	kStream << m_piYieldChangeTradeRoute;25774	kStream << m_piYieldChangesNaturalWonder;25775	kStream << m_piYieldChangeWorldWonder;25776	kStream << m_ppiBuildingClassYieldChange;25777#endif25778	kStream << m_ppaaiImprovementYieldChange;2577925780	kStream << m_UnitCycle;25781	kStream << m_researchQueue;2578225783	kStream << m_bEverPoppedGoody;25784	kStream << m_bEverTrainedBuilder;25785	kStream << m_eEndTurnBlockingType;25786	kStream << m_iEndTurnBlockingNotificationIndex;2578725788	kStream << m_cityNames;25789	kStream << m_cities;25790	kStream << m_units;25791	kStream << m_armyAIs;2579225793	{25794		uint iSize = m_AIOperations.size();25795		kStream << iSize;25796		std::map<int, CvAIOperation*>::const_iterator it;25797		for(it = m_AIOperations.begin(); it != m_AIOperations.end(); ++it)25798		{25799			kStream << it->first;25800			CvAIOperation* pThisOperation = it->second;25801			kStream << pThisOperation->GetOperationType();25802			pThisOperation->Write(kStream);25803		}25804	}2580525806	kStream << m_ReplayDataSets;25807	kStream << m_ReplayDataSetValues;2580825809	kStream << m_aVote;25810	kStream << m_aUnitExtraCosts;2581125812	// writing out plot values25813	{25814		// trying to cut down how big saves are25815		int iSize = -1;25816		for(int i = m_aiPlots.size() - 1; i >= 0; i--)25817		{25818			if(m_aiPlots[i] != -1)25819			{25820				iSize = i + 1;25821				break;25822			}25823		}2582425825		if(iSize < 0)25826		{25827			iSize = 0;25828		}2582925830		kStream << iSize;25831		for(int i = 0; i < iSize; i++)25832		{25833			kStream << m_aiPlots[i];25834		}25835	}2583625837	kStream << m_iPopRushHurryCount;25838	kStream << m_iTotalImprovementsBuilt;2583925840	// writing out25841	{25842		int iSize = MAX_PLAYERS;25843		kStream << iSize;25844		for(int i = 0; i < iSize; i++)25845		{25846			bool bValue = m_bfEverConqueredBy.GetBit(i);25847			kStream << bValue;25848		}25849	}2585025851	kStream << m_strEmbarkedGraphicOverride;2585225853	m_kPlayerAchievements.Write(kStream);25854}

Calls

Called by