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