ImprovementArrayHelpers::Read(FDataStream &, int *)
- Defined in
- CvImprovementClasses.cpp, line 1276
- Hook name
CivHooks::ImprovementArrayHelpers_Read
Hooks
static bool BeforeImprovementArrayHelpers_Read(FDataStream& kStream, int* paiImprovementArray);static void AfterImprovementArrayHelpers_Read(FDataStream& kStream, int* paiImprovementArray);static void ReplaceImprovementArrayHelpers_Read(void (*original)(FDataStream&, int*), FDataStream& kStream, int* paiImprovementArray);CivRegisterBefore<CivHooks::ImprovementArrayHelpers_Read>(host, &BeforeImprovementArrayHelpers_Read);CivRegisterAfter<CivHooks::ImprovementArrayHelpers_Read>(host, &AfterImprovementArrayHelpers_Read);CivRegisterReplace<CivHooks::ImprovementArrayHelpers_Read>(host, &ReplaceImprovementArrayHelpers_Read);
Code
1275/// Helper function to read in an integer array of data sized according to number of building types1276void ImprovementArrayHelpers::Read(FDataStream& kStream, int* paiImprovementArray)1277{1278 int iNumEntries;12791280 kStream >> iNumEntries;12811282 int iArraySize = GC.getNumImprovementInfos();1283 for(int iI = 0; iI < iNumEntries; iI++)1284 {1285 uint uiHash;1286 kStream >> uiHash;1287 if (uiHash != 0 && uiHash != (uint)NO_IMPROVEMENT)1288 {1289 int iType = GC.getInfoTypeForHash(uiHash);1290 if(iType != -1 && iType < iArraySize)1291 {1292 kStream >> paiImprovementArray[iType];1293 }1294 else1295 {1296 CvString szError;1297 szError.Format("LOAD ERROR: Improvement Type not found");1298 GC.LogMessage(szError.GetCString());1299 CvAssertMsg(false, szError);13001301 int iDummy;1302 kStream >> iDummy;1303 }1304 }1305 }1306}
Calls
- CvGlobals::getInfoTypeForHash(uint, bool) const
- CvGlobals::getNumImprovementInfos()
- CvGlobals::LogMessage(const char *)
CvString::CvStringCvString::FormatCvString::GetCStringFDataStream::operator>>FDataStream::operator>>