Bazaar developer reference

CvPlot::write(FDataStream &) const

Defined in
CvPlot.cpp, line 10768
Class
CvPlot
Hook name
CivHooks::CvPlot_write

Hooks

static bool BeforeCvPlot_write(const CvPlot* self, FDataStream& kStream);static void AfterCvPlot_write(const CvPlot* self, FDataStream& kStream);static void ReplaceCvPlot_write(void (*original)(const CvPlot*, FDataStream&), const CvPlot* self, FDataStream& kStream);CivRegisterBefore<CivHooks::CvPlot_write>(host, &BeforeCvPlot_write);CivRegisterAfter<CivHooks::CvPlot_write>(host, &AfterCvPlot_write);CivRegisterReplace<CivHooks::CvPlot_write>(host, &ReplaceCvPlot_write);

Code

10764//10765// write object to a stream10766// used during save10767//10768void CvPlot::write(FDataStream& kStream) const10769{10770	// Current version number10771	uint uiVersion = g_CurrentCvPlotVersion;10772	kStream << uiVersion;10773	MOD_SERIALIZE_INIT_WRITE(kStream);1077410775	kStream << m_iX;10776	kStream << m_iY;10777	kStream << m_iArea;10778	kStream << m_iFeatureVariety;10779	kStream << m_iOwnershipDuration;10780	kStream << m_iImprovementDuration;10781	kStream << m_iUpgradeProgress;10782	kStream << m_iCulture;10783	kStream << m_iNumMajorCivsRevealed;10784	kStream << m_iCityRadiusCount;10785	kStream << m_iReconCount;10786	kStream << m_iRiverCrossingCount;10787	kStream << m_iResourceNum;10788	kStream << m_cBuilderAIScratchPadPlayer;10789	kStream << m_sBuilderAIScratchPadTurn;10790	kStream << m_sBuilderAIScratchPadValue;10791	kStream << m_eBuilderAIScratchPadRoute;10792	kStream << m_iLandmass;10793	kStream << m_uiTradeRouteBitFlags;1079410795	kStream << m_bStartingPlot;10796	kStream << m_bHills;10797	kStream << m_bNEOfRiver;10798	kStream << m_bWOfRiver;10799	kStream << m_bNWOfRiver;10800	kStream << m_bPotentialCityWork;10801	kStream << m_bImprovementPillaged;10802	kStream << m_bRoutePillaged;10803	kStream << m_bBarbCampNotConverting;10804	kStream << m_bRoughFeature;10805	kStream << m_bResourceLinkedCityActive;10806	kStream << m_bImprovedByGiftFromMajor;10807	// m_bPlotLayoutDirty not saved10808	// m_bLayoutStateWorked not saved1080910810	kStream << m_eOwner;10811	kStream << m_ePlotType;10812	kStream << m_eTerrainType;10813	CvInfosSerializationHelper::WriteHashed(kStream, (const FeatureTypes)m_eFeatureType.get());10814	CvInfosSerializationHelper::WriteHashed(kStream, (const ResourceTypes)m_eResourceType);10815	CvInfosSerializationHelper::WriteHashed(kStream, (const ImprovementTypes)m_eImprovementType);10816	CvInfosSerializationHelper::WriteHashed(kStream, (const ImprovementTypes)m_eImprovementTypeUnderConstruction);10817	kStream << m_ePlayerBuiltImprovement;10818	kStream << m_ePlayerResponsibleForImprovement;10819	kStream << m_ePlayerResponsibleForRoute;10820	kStream << m_ePlayerThatClearedBarbCampHere;10821	kStream << m_eRouteType;10822#if defined(MOD_GLOBAL_STACKING_RULES)10823	MOD_SERIALIZE_WRITE(kStream, m_eUnitIncrement);10824#endif10825	kStream << m_eWorldAnchor;10826	kStream << m_cWorldAnchorData;10827	kStream << m_eRiverEFlowDirection;10828	kStream << m_eRiverSEFlowDirection;10829	kStream << m_eRiverSWFlowDirection;1083010831	kStream << m_plotCity.eOwner;10832	kStream << m_plotCity.iID;10833	kStream << m_workingCity.eOwner;10834	kStream << m_workingCity.iID;10835	kStream << m_workingCityOverride.eOwner;10836	kStream << m_workingCityOverride.iID;10837	kStream << m_ResourceLinkedCity.eOwner;10838	kStream << m_ResourceLinkedCity.iID;10839	kStream << m_purchaseCity.eOwner;10840	kStream << m_purchaseCity.iID;1084110842	for(uint i = 0; i < NUM_YIELD_TYPES; i++)10843		kStream << m_aiYield[i];1084410845	for(uint i = 0; i < REALLY_MAX_PLAYERS; i++)10846		kStream << m_aiFoundValue[i];1084710848	for(uint i = 0; i < REALLY_MAX_PLAYERS; i++)10849		kStream << m_aiPlayerCityRadiusCount[i];1085010851	for(uint i = 0; i < REALLY_MAX_TEAMS; i++)10852		kStream << m_aiVisibilityCount[i];1085310854	for(uint i = 0; i < REALLY_MAX_TEAMS; i++)10855		kStream << m_aiRevealedOwner[i];1085610857	kStream << m_cRiverCrossing;1085810859	//for(uint i = 0; i < REALLY_MAX_TEAMS;i++)10860	//	kStream << m_abRevealed[i];1086110862	for(uint i = 0; i<PlotBoolField::eCount; ++i)10863	{10864		kStream << m_bfRevealed.m_dwBits[i];10865	}1086610867	for(uint i = 0; i < REALLY_MAX_TEAMS; i++)10868		kStream << m_abResourceForceReveal[i];1086910870	for(uint i = 0; i < REALLY_MAX_TEAMS; i++)10871	{10872		CvInfosSerializationHelper::WriteHashed(kStream, (const ImprovementTypes)m_aeRevealedImprovementType[i]);10873	}1087410875	for(uint i = 0; i < REALLY_MAX_TEAMS; i++)10876		kStream << m_aeRevealedRouteType[i];1087710878	for(uint i = 0; i < MAX_MAJOR_CIVS; i++)10879		kStream << m_abNoSettling[i];1088010881	// char * should have died in 1989...10882	bool hasScriptData = (m_szScriptData != NULL);10883	kStream << hasScriptData;10884	if(hasScriptData)10885	{10886		const std::string scriptData(m_szScriptData);10887		kStream << scriptData;10888	}1088910890	if(NULL == m_paiBuildProgress)10891	{10892		kStream << (int)0;10893	}10894	else10895	{10896		kStream << (int)GC.getNumBuildInfos();10897		BuildArrayHelpers::Write(kStream, m_paiBuildProgress, GC.getNumBuildInfos());10898	}1089910900	kStream << m_apaiInvisibleVisibilityCount;1090110902	//  Write m_units.Write(kStream);10903	UINT uLength = (UINT)m_units.getLength();10904	kStream << uLength;10905	for(UINT uIdx = 0; uIdx < uLength; ++uIdx)10906	{10907		const IDInfo* pData = m_units.getAt(uIdx);1090810909		kStream << pData->eOwner;10910		kStream << pData->iID;10911	}1091210913	kStream << m_cContinentType;10914	kStream << m_kArchaeologyData;10915}

Calls

Called by