Ticket #3334: t3334_floatingpoint_territorry_radius_v1.patch
File t3334_floatingpoint_territorry_radius_v1.patch, 1.0 KB (added by , 9 years ago) |
---|
-
source/simulation2/components/CCmpTerritoryManager.cpp
void CCmpTerritoryManager::CalculateTerr 440 440 if (!cmpPosition || !cmpPosition->IsInWorld()) 441 441 continue; 442 442 443 443 CmpPtr<ICmpTerritoryInfluence> cmpTerritoryInfluence(GetSimContext(), ent); 444 444 u32 weight = cmpTerritoryInfluence->GetWeight(); 445 u32 radius = cmpTerritoryInfluence->GetRadius() / (Pathfinding::NAVCELL_SIZE * NAVCELLS_PER_TERRITORY_TILE).ToInt_RoundToNegInfinity(); 445 double radius = cmpTerritoryInfluence->GetRadius() / (Pathfinding::NAVCELL_SIZE * NAVCELLS_PER_TERRITORY_TILE).ToDouble(); 446 446 447 if (weight == 0 || radius == 0) 447 448 continue; 449 448 450 u32 falloff = weight / radius; 449 451 450 452 CFixedVector2D pos = cmpPosition->GetPosition2D(); 451 453 u16 i, j; 452 454 NearestTerritoryTile(pos.X, pos.Y, i, j, tilesW, tilesH);