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
- CvGlobals::getInfoTypeForHash(uint, bool) const
- CvGlobals::LogMessage(const char *)
CvString::CvStringCvString::FormatCvString::GetCStringFDataStream::operator>>