Code
315/// Helper function to read in an two dimensional array of T data that has a string'ized type ID before each primary array entry316template<typename TData>317void ReadHashedDataArray(FDataStream& kStream, TData** ppaArray, int iSubArraySize, int iArraySize)318{319 uint uiNumEntries;320321 kStream >> uiNumEntries;322323 for(uint iI = 0; iI < uiNumEntries; iI++)324 {325 bool bValid;326 int iType = ReadHashed(kStream, &bValid);327 TData tValue;328 if(iType != -1)329 {330 if((int)iType < iArraySize)331 {332 int* paArray = ppaArray[iType];333 for(int iJ = 0; iJ < iSubArraySize; ++iJ)334 {335 kStream >> tValue;336 paArray[iJ] = tValue;337 }338 }339 else340 {341 CvString szError;342 szError.Format("LOAD ERROR: Type mapping outside the supplied array bounds: %d", iType);343 GC.LogMessage(szError.GetCString());344 CvAssertMsg(false, szError);345 bValid = false;346 }347 }348349 if(!bValid)350 {351 for(int iJ = 0; iJ < iSubArraySize; ++iJ)352 kStream >> tValue;353 }354 }355}