50 friend class TestLOSTexture;
53 m_Data(data), m_PlayerMask(playerMask), m_VerticesPerSide(verticesPerSide)
65 if (!(i >= 0 && j >= 0 && i < m_VerticesPerSide && j < m_VerticesPerSide))
69 if ((m_Data.get(i, j) & m_PlayerMask) & 0xAAAAAAAAu)
80 if (!(i >= 0 && j >= 0 && i < m_VerticesPerSide && j < m_VerticesPerSide))
84 if ((m_Data.get(i, j) & m_PlayerMask) & 0x55555555u)
97 ENSURE(i >= 0 && j >= 0 && i < m_VerticesPerSide && j < m_VerticesPerSide);
100 if ((m_Data.get(i, j) & m_PlayerMask) & 0xAAAAAAAAu)
113 ENSURE(i >= 0 && j >= 0 && i < m_VerticesPerSide && j < m_VerticesPerSide);
116 if ((m_Data.get(i, j) & m_PlayerMask) & 0x55555555u)
128 #endif // INCLUDED_LOS static constexpr i32 LOS_TILE_SIZE
Computing LOS data at a very high resolution is not necessary and quite slow.
Definition: Los.h:30
u32 m_PlayerMask
Definition: Los.h:123
uint8_t u8
Definition: types.h:37
Range manager implementation.
Definition: CCmpRangeManager.cpp:352
const Grid< u32 > & m_Data
Definition: Los.h:124
#define ENSURE(expr)
ensure the expression <expr> evaluates to non-zero.
Definition: debug.h:290
uint32_t u32
Definition: types.h:39
ssize_t m_VerticesPerSide
Definition: Los.h:125
bool IsExplored(ssize_t i, ssize_t j) const
Returns whether the given vertex is explored (i.e.
Definition: Los.h:78
CLosQuerier(u32 playerMask, const Grid< u32 > &data, ssize_t verticesPerSide)
Definition: Los.h:52
bool IsVisible_UncheckedRange(ssize_t i, ssize_t j) const
Returns whether the given vertex is visible (i.e.
Definition: Los.h:94
int32_t i32
Definition: types.h:34
intptr_t ssize_t
Definition: wposix_types.h:82
bool IsVisible(ssize_t i, ssize_t j) const
Returns whether the given vertex is visible (i.e.
Definition: Los.h:63
LosState
Definition: Los.h:32
Object providing efficient abstracted access to the LOS state.
Definition: Los.h:46
bool IsExplored_UncheckedRange(ssize_t i, ssize_t j) const
Returns whether the given vertex is explored (i.e.
Definition: Los.h:110