diff options
| author | click <none@none> | 2010-12-13 22:37:56 +0100 |
|---|---|---|
| committer | click <none@none> | 2010-12-13 22:37:56 +0100 |
| commit | 26428943423d14e8672682ab1f19925b76c2aa35 (patch) | |
| tree | 1c6d80c03cbf566879e5c899533a2dea5a73dd4c /src/server/game/Maps/Map.cpp | |
| parent | 89a33bbf612fcd0d5cea8e1fc5deff87e53aa67e (diff) | |
Core: Add new system for parallelizing client packet processing. Handle WorldSession updates in Map::Update() where we are safe to proceed. Patch by Ambal.
(And clean up tabs and whitespace while rummaging around in there)
Closes issue 5084.
--HG--
branch : trunk
Diffstat (limited to 'src/server/game/Maps/Map.cpp')
| -rwxr-xr-x | src/server/game/Maps/Map.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index 5e0ec7dd896..0ca4afd2277 100755 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -504,6 +504,18 @@ void Map::VisitNearbyCellsOf(WorldObject* obj, TypeContainerVisitor<Trinity::Obj void Map::Update(const uint32 &t_diff) { + /// update worldsessions for existing players + for(m_mapRefIter = m_mapRefManager.begin(); m_mapRefIter != m_mapRefManager.end(); ++m_mapRefIter) + { + Player* plr = m_mapRefIter->getSource(); + if(plr && plr->IsInWorld()) + { + //plr->Update(t_diff); + WorldSession * pSession = plr->GetSession(); + MapSessionFilter updater(pSession); + pSession->Update(t_diff, updater); + } + } /// update active cells around players and active objects resetMarkedCells(); |
