mirror of
https://gitea.wildfiregames.com/0ad/0ad.git
synced 2026-09-21 20:06:40 +00:00
Add an 'explore map' option to the game setup.
This was SVN commit r14931.
This commit is contained in:
@@ -1430,6 +1430,21 @@ public:
|
||||
return m_SharedLosMasks[player];
|
||||
}
|
||||
|
||||
void ExploreAllTiles(player_id_t p)
|
||||
{
|
||||
for (u16 j = 0; j < m_TerrainVerticesPerSide; ++j)
|
||||
{
|
||||
for (u16 i = 0; i < m_TerrainVerticesPerSide; ++i)
|
||||
{
|
||||
if (LosIsOffWorld(i,j))
|
||||
continue;
|
||||
u32 &explored = m_ExploredVertices.at(p);
|
||||
explored += !(m_LosState[i + j*m_TerrainVerticesPerSide] & (LOS_EXPLORED << (2*(p-1))));
|
||||
m_LosState[i + j*m_TerrainVerticesPerSide] |= (LOS_EXPLORED << (2*(p-1)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateTerritoriesLos()
|
||||
{
|
||||
CmpPtr<ICmpTerritoryManager> cmpTerritoryManager(GetSystemEntity());
|
||||
|
||||
@@ -46,6 +46,7 @@ DEFINE_INTERFACE_METHOD_3("SetEntityFlag", void, ICmpRangeManager, SetEntityFlag
|
||||
DEFINE_INTERFACE_METHOD_1("GetEntityFlagMask", u8, ICmpRangeManager, GetEntityFlagMask, std::string)
|
||||
DEFINE_INTERFACE_METHOD_1("GetEntitiesByPlayer", std::vector<entity_id_t>, ICmpRangeManager, GetEntitiesByPlayer, player_id_t)
|
||||
DEFINE_INTERFACE_METHOD_1("SetDebugOverlay", void, ICmpRangeManager, SetDebugOverlay, bool)
|
||||
DEFINE_INTERFACE_METHOD_1("ExploreAllTiles", void, ICmpRangeManager, ExploreAllTiles, player_id_t)
|
||||
DEFINE_INTERFACE_METHOD_2("SetLosRevealAll", void, ICmpRangeManager, SetLosRevealAll, player_id_t, bool)
|
||||
DEFINE_INTERFACE_METHOD_1("GetLosRevealAll", bool, ICmpRangeManager, GetLosRevealAll, player_id_t)
|
||||
DEFINE_INTERFACE_METHOD_5("GetElevationAdaptedRange", entity_pos_t, ICmpRangeManager, GetElevationAdaptedRange, CFixedVector3D, CFixedVector3D, entity_pos_t, entity_pos_t, entity_pos_t)
|
||||
|
||||
@@ -332,6 +332,11 @@ public:
|
||||
*/
|
||||
std::string GetLosVisibility_wrapper(entity_id_t ent, player_id_t player, bool forceRetainInFog);
|
||||
|
||||
/**
|
||||
* Explore all tiles (but leave them in the FoW) for player p
|
||||
*/
|
||||
virtual void ExploreAllTiles(player_id_t p) = 0;
|
||||
|
||||
/**
|
||||
* Set whether the whole map should be made visible to the given player.
|
||||
* If player is -1, the map will be made visible to all players.
|
||||
|
||||
Reference in New Issue
Block a user