Bazaar developer reference

FeatureArrayHelpers::ReadYieldArray(FDataStream &, int **, int)

Defined in
CvInfos.cpp, line 7227
Hook name
CivHooks::FeatureArrayHelpers_ReadYieldArray

Hooks

static bool BeforeFeatureArrayHelpers_ReadYieldArray(FDataStream& kStream, int** ppaaiFeatureYieldArray, int iNumYields);static void AfterFeatureArrayHelpers_ReadYieldArray(FDataStream& kStream, int** ppaaiFeatureYieldArray, int iNumYields);static void ReplaceFeatureArrayHelpers_ReadYieldArray(void (*original)(FDataStream&, int**, int), FDataStream& kStream, int** ppaaiFeatureYieldArray, int iNumYields);CivRegisterBefore<CivHooks::FeatureArrayHelpers_ReadYieldArray>(host, &BeforeFeatureArrayHelpers_ReadYieldArray);CivRegisterAfter<CivHooks::FeatureArrayHelpers_ReadYieldArray>(host, &AfterFeatureArrayHelpers_ReadYieldArray);CivRegisterReplace<CivHooks::FeatureArrayHelpers_ReadYieldArray>(host, &ReplaceFeatureArrayHelpers_ReadYieldArray);

Code

7226/// Helper function to read in an integer array of data sized according to number of building types7227void FeatureArrayHelpers::ReadYieldArray(FDataStream& kStream, int** ppaaiFeatureYieldArray, int iNumYields)7228{7229	int iNumEntries;72307231	kStream >> iNumEntries;72327233	for(int iI = 0; iI < iNumEntries; iI++)7234	{7235		int iHash;7236		kStream >> iHash;7237		if(iHash != (int)0)7238		{7239			int iType = GC.getInfoTypeForHash(iHash);7240			if(iType != -1)7241			{7242				for(int jJ = 0; jJ < iNumYields; jJ++)7243				{7244					kStream >> ppaaiFeatureYieldArray[iType][jJ];7245				}7246			}7247			else7248			{7249				CvString szError;7250				szError.Format("LOAD ERROR: Feature Type not found: %08x", iHash);7251				GC.LogMessage(szError.GetCString());7252				CvAssertMsg(false, szError);72537254				for(int jJ = 0; jJ < iNumYields; jJ++)7255				{7256					int iDummy;7257					kStream >> iDummy;7258				}7259			}7260		}7261	}7262}

Calls

Called by