Bazaar developer reference

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