|
Pyrogenesis
13997
|
#include "precompiled.h"#include "simulation2/system/Component.h"#include "ICmpRangeManager.h"#include "ICmpTerrain.h"#include "simulation2/system/EntityMap.h"#include "simulation2/MessageTypes.h"#include "simulation2/components/ICmpPosition.h"#include "simulation2/components/ICmpTerritoryManager.h"#include "simulation2/components/ICmpVision.h"#include "simulation2/components/ICmpWaterManager.h"#include "simulation2/helpers/Render.h"#include "simulation2/helpers/Spatial.h"#include "graphics/Overlay.h"#include "graphics/Terrain.h"#include "lib/timer.h"#include "maths/FixedVector2D.h"#include "ps/CLogger.h"#include "ps/Overlay.h"#include "ps/Profile.h"#include "renderer/Scene.h"#include "lib/ps_stl.h"Go to the source code of this file.
Classes | |
| struct | Query |
| Representation of a range query. More... | |
| struct | EntityParabolicRangeOutline |
| struct | EntityData |
| Representation of an entity, with the data needed for queries. More... | |
| struct | SerializeQuery |
| Serialization helper template for Query. More... | |
| struct | SerializeEntityData |
| Serialization helper template for EntityData. More... | |
| struct | EntityDistanceOrdering |
| Functor for sorting entities by distance from a source point. More... | |
| class | CCmpRangeManager |
| Range manager implementation. More... | |
Macros | |
| #define | DEBUG_RANGE_MANAGER_BOUNDS 0 |
Functions | |
| static u32 | CalcOwnerMask (player_id_t owner) |
| Convert an owner ID (-1 = unowned, 0 = gaia, 1..30 = players) into a 32-bit mask for quick set-membership tests. More... | |
| static u32 | CalcPlayerLosMask (player_id_t player) |
| Returns LOS mask for given player. More... | |
| static u32 | CalcSharedLosMask (std::vector< player_id_t > players) |
| Returns shared LOS mask for given list of players. More... | |
| static bool | InParabolicRange (CFixedVector3D v, fixed range) |
| Checks whether v is in a parabolic range of (0,0,0) The highest point of the paraboloid is (0,range/2,0) and the circle of distance 'range' around (0,0,0) on height y=0 is part of the paraboloid. More... | |
| cassert (sizeof(EntityData)==16) | |
Variables | |
| static std::map< entity_id_t, EntityParabolicRangeOutline > | ParabolicRangesOutlines |
| #define DEBUG_RANGE_MANAGER_BOUNDS 0 |
Definition at line 44 of file CCmpRangeManager.cpp.
|
inlinestatic |
Convert an owner ID (-1 = unowned, 0 = gaia, 1..30 = players) into a 32-bit mask for quick set-membership tests.
Definition at line 67 of file CCmpRangeManager.cpp.
|
inlinestatic |
Returns LOS mask for given player.
Definition at line 78 of file CCmpRangeManager.cpp.
|
static |
Returns shared LOS mask for given list of players.
Definition at line 88 of file CCmpRangeManager.cpp.
| cassert | ( | sizeof(EntityData) | = =16 | ) |
|
static |
Checks whether v is in a parabolic range of (0,0,0) The highest point of the paraboloid is (0,range/2,0) and the circle of distance 'range' around (0,0,0) on height y=0 is part of the paraboloid.
Avoids sqrting and overflowing.
Definition at line 104 of file CCmpRangeManager.cpp.
|
static |
Definition at line 132 of file CCmpRangeManager.cpp.
1.8.5