aboutsummaryrefslogtreecommitdiff
path: root/src/game/Map.h
diff options
context:
space:
mode:
authorn0n4m3 <none@none>2009-12-19 10:12:40 +0100
committern0n4m3 <none@none>2009-12-19 10:12:40 +0100
commit243f33b5eae4e5dc96e8134c650ea74daa07ee35 (patch)
tree39d943868b1bbe0116000f748bd72b7b76087683 /src/game/Map.h
parent7a3e524df2c57cb8625f08f3b8bef5befe641142 (diff)
Implement new visibility system, based on Silverice patch for mangos
--HG-- branch : trunk
Diffstat (limited to 'src/game/Map.h')
-rw-r--r--src/game/Map.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/game/Map.h b/src/game/Map.h
index 981a48bbbb6..9144624b23d 100644
--- a/src/game/Map.h
+++ b/src/game/Map.h
@@ -405,6 +405,8 @@ class MANGOS_DLL_SPEC Map : public GridRefManager<NGridType>, public MaNGOS::Obj
virtual bool RemoveBones(uint64 guid, float x, float y);
void UpdateObjectVisibility(WorldObject* obj, Cell cell, CellPair cellpair);
+ void UpdatePlayerVisibility( Player* player, Cell cell, CellPair cellpair );
+ void UpdateObjectsVisibilityFor(Player* player, Cell cell, CellPair cellpair );
void resetMarkedCells() { marked_cells.reset(); }
bool isCellMarked(uint32 pCellId) { return marked_cells.test(pCellId); }
@@ -517,6 +519,10 @@ class MANGOS_DLL_SPEC Map : public GridRefManager<NGridType>, public MaNGOS::Obj
MapRefManager m_mapRefManager;
MapRefManager::iterator m_mapRefIter;
+ PeriodicTimer m_ObjectVisibilityNotifyTimer;
+ PeriodicTimer m_PlayerVisibilityNotifyTimer;
+ PeriodicTimer m_RelocationNotifyTimer;
+
typedef std::set<WorldObject*> ActiveNonPlayers;
ActiveNonPlayers m_activeNonPlayers;
ActiveNonPlayers::iterator m_activeNonPlayersIter;
@@ -537,6 +543,11 @@ class MANGOS_DLL_SPEC Map : public GridRefManager<NGridType>, public MaNGOS::Obj
IntervalTimer m_notifyTimer;
+ void ProcessObjectsVisibility();
+ void ProcesssPlayersVisibility();
+ void ProcessRelocationNotifies();
+ void ResetNotifies(uint16 notify_mask);
+
bool i_notifyLock, i_scriptLock;
std::vector<Unit*> i_unitsToNotifyBacklog;
std::vector<Unit*> i_unitsToNotify;