TerrainArrayHelpers::Read(FDataStream &, int *)
- Defined in
- CvInfos.cpp, line 7290
- Hook name
CivHooks::TerrainArrayHelpers_Read
Hooks
static bool BeforeTerrainArrayHelpers_Read(FDataStream& kStream, int* paiTerrainArray);static void AfterTerrainArrayHelpers_Read(FDataStream& kStream, int* paiTerrainArray);static void ReplaceTerrainArrayHelpers_Read(void (*original)(FDataStream&, int*), FDataStream& kStream, int* paiTerrainArray);CivRegisterBefore<CivHooks::TerrainArrayHelpers_Read>(host, &BeforeTerrainArrayHelpers_Read);CivRegisterAfter<CivHooks::TerrainArrayHelpers_Read>(host, &AfterTerrainArrayHelpers_Read);CivRegisterReplace<CivHooks::TerrainArrayHelpers_Read>(host, &ReplaceTerrainArrayHelpers_Read);
Code
7289/// Helper function to read in an integer array of data sized according to number of building types7290void TerrainArrayHelpers::Read(FDataStream& kStream, int* paiTerrainArray)7291{7292 int iNumEntries;72937294 kStream >> iNumEntries;72957296 int iArraySize = GC.getNumTerrainInfos();7297 for(int iI = 0; iI < iNumEntries; iI++)7298 {7299 uint uiHash;7300 kStream >> uiHash;7301 if (uiHash != 0 && uiHash != (uint)NO_TERRAIN)7302 {7303 int iType = GC.getInfoTypeForHash(uiHash);7304 if(iType != -1 && iType < iArraySize)7305 {7306 kStream >> paiTerrainArray[iType];7307 }7308 else7309 {7310 CvString szError;7311 szError.Format("LOAD ERROR: Terrain Type not found");7312 GC.LogMessage(szError.GetCString());7313 CvAssertMsg(false, szError);73147315 int iDummy;7316 kStream >> iDummy;7317 }7318 }7319 }7320}
Calls
- CvGlobals::getInfoTypeForHash(uint, bool) const
- CvGlobals::getNumTerrainInfos()
- CvGlobals::LogMessage(const char *)
CvString::CvStringCvString::FormatCvString::GetCStringFDataStream::operator>>FDataStream::operator>>