Bazaar developer reference

FeatureArrayHelpers::Read(FDataStream &, int *)

Defined in
CvInfos.cpp, line 7173
Hook name
CivHooks::FeatureArrayHelpers_Read

Hooks

static bool BeforeFeatureArrayHelpers_Read(FDataStream& kStream, int* paiFeatureArray);static void AfterFeatureArrayHelpers_Read(FDataStream& kStream, int* paiFeatureArray);static void ReplaceFeatureArrayHelpers_Read(void (*original)(FDataStream&, int*), FDataStream& kStream, int* paiFeatureArray);CivRegisterBefore<CivHooks::FeatureArrayHelpers_Read>(host, &BeforeFeatureArrayHelpers_Read);CivRegisterAfter<CivHooks::FeatureArrayHelpers_Read>(host, &AfterFeatureArrayHelpers_Read);CivRegisterReplace<CivHooks::FeatureArrayHelpers_Read>(host, &ReplaceFeatureArrayHelpers_Read);

Code

7171#if defined(MOD_API_UNIFIED_YIELDS)7172/// Helper function to read in an integer array of data sized according to number of building types7173void FeatureArrayHelpers::Read(FDataStream& kStream, int* paiFeatureArray)7174{7175	int iNumEntries;71767177	kStream >> iNumEntries;71787179	int iArraySize = GC.getNumFeatureInfos();7180	for(int iI = 0; iI < iNumEntries; iI++)7181	{7182		uint uiHash;7183		kStream >> uiHash;7184		if (uiHash != 0 && uiHash != (uint)NO_FEATURE)7185		{7186			int iType = GC.getInfoTypeForHash(uiHash);7187			if(iType != -1 && iType < iArraySize)7188			{7189				kStream >> paiFeatureArray[iType];7190			}7191			else7192			{7193				CvString szError;7194				szError.Format("LOAD ERROR: Feature Type not found");7195				GC.LogMessage(szError.GetCString());7196				CvAssertMsg(false, szError);71977198				int iDummy;7199				kStream >> iDummy;7200			}7201		}7202	}7203}

Calls