Hooks
static bool BeforeCvPlayerTechs_Read(CvPlayerTechs* self, FDataStream& kStream);static void AfterCvPlayerTechs_Read(CvPlayerTechs* self, FDataStream& kStream);static void ReplaceCvPlayerTechs_Read(void (*original)(CvPlayerTechs*, FDataStream&), CvPlayerTechs* self, FDataStream& kStream);CivRegisterBefore<CivHooks::CvPlayerTechs_Read>(host, &BeforeCvPlayerTechs_Read);CivRegisterAfter<CivHooks::CvPlayerTechs_Read>(host, &AfterCvPlayerTechs_Read);CivRegisterReplace<CivHooks::CvPlayerTechs_Read>(host, &ReplaceCvPlayerTechs_Read);
Code
816/// Serialization read817void CvPlayerTechs::Read(FDataStream& kStream)818{819 // Version number to maintain backwards compatibility820 uint uiVersion;821 kStream >> uiVersion;822 MOD_SERIALIZE_INIT_READ(kStream);823824 // TODO: If m_pTechs is NULL then the stream will not be advanced causing errors to occur.825 CvAssertMsg(m_pTechs != NULL && m_pTechs->GetNumTechs() > 0, "Number of techs to serialize is expected to greater than 0");826 if(m_pTechs != NULL)827 {828 const int iNumTechs = m_pTechs->GetNumTechs();829830 CvInfosSerializationHelper::ReadHashedDataArray(kStream, m_pabResearchingTech, iNumTechs);831 CvInfosSerializationHelper::ReadHashedDataArray(kStream, m_piCivTechPriority, iNumTechs);832 CvInfosSerializationHelper::ReadHashedDataArray(kStream, m_piLocaleTechPriority, iNumTechs);833 CvInfosSerializationHelper::ReadHashedDataArray(kStream, m_peLocaleTechResources, iNumTechs);834 CvInfosSerializationHelper::ReadHashedDataArray(kStream, m_peCivTechUniqueUnits, iNumTechs);835 CvInfosSerializationHelper::ReadHashedDataArray(kStream, m_peCivTechUniqueBuildings, iNumTechs);836 CvInfosSerializationHelper::ReadHashedDataArray(kStream, m_peCivTechUniqueImprovements, iNumTechs);837 }838839 // Now for AI840 m_pTechAI->Read(kStream);841842 CvAssertMsg(m_piLatestFlavorValues != NULL && GC.getNumFlavorTypes() > 0, "Number of flavor values to serialize is expected to greater than 0");843844 int iNumFlavors;845 kStream >> iNumFlavors;846847 ArrayWrapper<int> kLatestFlavorWrapper(iNumFlavors, m_piLatestFlavorValues);848 kStream >> kLatestFlavorWrapper;849}