Hooks
static bool BeforeCvMilitaryAI_Read(CvMilitaryAI* self, FDataStream& kStream);static void AfterCvMilitaryAI_Read(CvMilitaryAI* self, FDataStream& kStream);static void ReplaceCvMilitaryAI_Read(void (*original)(CvMilitaryAI*, FDataStream&), CvMilitaryAI* self, FDataStream& kStream);CivRegisterBefore<CivHooks::CvMilitaryAI_Read>(host, &BeforeCvMilitaryAI_Read);CivRegisterAfter<CivHooks::CvMilitaryAI_Read>(host, &AfterCvMilitaryAI_Read);CivRegisterReplace<CivHooks::CvMilitaryAI_Read>(host, &ReplaceCvMilitaryAI_Read);
Code
353/// Serialization read354void CvMilitaryAI::Read(FDataStream& kStream)355{356 // Version number to maintain backwards compatibility357 uint uiVersion;358 kStream >> uiVersion;359 MOD_SERIALIZE_INIT_READ(kStream);360361 FAssertMsg(m_pAIStrategies != NULL && m_pAIStrategies->GetNumMilitaryAIStrategies() > 0, "Number of AIStrategies to serialize is expected to greater than 0");362 kStream >> m_iTotalThreatWeight;363364 int temp;365 kStream >> temp;366 m_eArmyTypeBeingBuilt = (ArmyType)temp;367368 kStream >> m_iNumberOfTimesOpsBuildSkippedOver;369370 int iNumStrategies;371 kStream >> iNumStrategies;372#ifdef _MSC_VER373#pragma warning ( push )374#pragma warning ( disable : 6011 ) // dereferencing null : no recovery during load, go ahead and crash here.375#endif//_MSC_VER376 ArrayWrapper<bool> wrapm_pabUsingStrategy(iNumStrategies, m_pabUsingStrategy);377#ifdef _MSC_VER378#pragma warning ( pop )379#endif//_MSC_VER380 kStream >> wrapm_pabUsingStrategy;381382 ArrayWrapper<int> wrapm_paiTurnStrategyAdopted(iNumStrategies, m_paiTurnStrategyAdopted);383 kStream >> wrapm_paiTurnStrategyAdopted;384385 ArrayWrapper<int> wrapm_paeLastTurnWarState(MAX_CIV_PLAYERS, m_paeLastTurnWarState);386 kStream >> wrapm_paeLastTurnWarState;387388 ArrayWrapper<int> wrapm_paeLastTurnMilitaryThreat(MAX_CIV_PLAYERS, m_paeLastTurnMilitaryThreat);389 kStream >> wrapm_paeLastTurnMilitaryThreat;390391 ArrayWrapper<int> wrapm_paeLastTurnMilitaryStrength(MAX_CIV_PLAYERS, m_paeLastTurnMilitaryStrength);392 kStream >> wrapm_paeLastTurnMilitaryStrength;393394 ArrayWrapper<int> wrapm_paeLastTurnTargetValue(MAX_CIV_PLAYERS, m_paeLastTurnTargetValue);395 kStream >> wrapm_paeLastTurnTargetValue;396}