Fix CWorld::FindObjectsOfTypeInRangeSectorList bug

This commit is contained in:
saml1er 2020-04-17 17:04:09 +05:00
parent 2a4717fa41
commit ac61da3feb
1 changed files with 10 additions and 8 deletions

View File

@ -753,14 +753,16 @@ CWorld::FindObjectsOfTypeInRangeSectorList(uint32 modelId, CPtrList &list, const
CEntity *pEntity = (CEntity *)pNode->item;
if(pEntity->m_scanCode != GetCurrentScanCode()) {
pEntity->m_scanCode = GetCurrentScanCode();
float fMagnitude = 0.0f;
if(bCheck2DOnly)
fMagnitude = (position - pEntity->GetPosition()).MagnitudeSqr2D();
else
fMagnitude = (position - pEntity->GetPosition()).MagnitudeSqr();
if(fMagnitude < radius * radius && *nEntitiesFound < maxEntitiesToFind) {
if(aEntities) aEntities[*nEntitiesFound] = pEntity;
++*nEntitiesFound;
if(modelId == pEntity->m_modelIndex) {
float fMagnitude = 0.0f;
if(bCheck2DOnly)
fMagnitude = (position - pEntity->GetPosition()).MagnitudeSqr2D();
else
fMagnitude = (position - pEntity->GetPosition()).MagnitudeSqr();
if(fMagnitude < radius * radius && *nEntitiesFound < maxEntitiesToFind) {
if(aEntities) aEntities[*nEntitiesFound] = pEntity;
++*nEntitiesFound;
}
}
}
}