Actually depending on what comes next, that could be a memory error. If the next line uses the getInfoTypeFor to place an item into an array, then you have a memory overflow, if it is set up intelligently to IGNORE a negative result though, there is no actual issue and the Assert is just information for the modder (though if it was set up with such an IF statement, you would imagine the Assert to be placed in the ELSE section, not on a line for itself)
EDIT: To be Clear:
Good:
Code:
FAssertMsg(GC.getInfoTypeForString(m_aszPrereqAndCivicsforPas s3[iI]) >= 0, "Warning, about to leak memory in CvBuildingInfo::readPass3");
int iTempIndex = GC.getInfoTypeForString(m_aszPrereqAndCivicsforPas s3[iI]);
if (iTempIndex >= 0 && iTempIndex < GC.getNumCivicInfos())
PrereqAndCivic[iTempIndex] = true;
Bad:
Code:
FAssertMsg(GC.getInfoTypeForString(m_aszPrereqAndCivicsforPas s3[iI]) >= 0, "Warning, about to leak memory in CvBuildingInfo::readPass3");
PrereqAndCivic[GC.getInfoTypeForString(m_aszPrereqAndCivicsforPas s3[iI])] = true;