Bazaar developer reference

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

Called by