Commit graph

10 commits

Author SHA1 Message Date
VladimirMangos
01f68f4187 [11188] Make sure that all WorldPersistentState objects created before pool system start.
Un-instenceable maps shared pool system state, that initilized once.
For proper initilized pools in like case need have all mon-instanceable maps states created
before it.
2011-02-19 03:47:29 +03:00
VladimirMangos
8feaf211f1 [11168] Use MapPersistentState for access to Pool System dynamic data.
* Direct store pool system dynamic data in sPoolMgr replaced by
  shared pool system data object (for all non instanceable maps)
  into WorldPersistentState, and own copies of pool system data
  object in DungeonPersistentState/BattlegroundPersistentState.
  This let have pools with object at many non-instanceable maps,
  and single map pools with unique state for each instance.

* Avoid direct global grid data modify from pool system, and use for this also
  recently added local for MapPersistentState grid spawn data.

* Implemented proper API for update pool system data in MapPersistentStates
  from GameEvent system.

* Initialize pool system state at MapPersistendState creating.
  For shared pool system state for non-instanceable maps initilized at first map state
  creating.

Now pool system propertly work in instance also!
2011-02-15 14:40:56 +03:00
VladimirMangos
387f8a965a [11161] Implement Map copy local grid spawn data support.
Currently this functionality not used, but soon planned be used
in connection wiht map persistent state specific pool system data.

In different from grid spawn data stored in ObjectMgr and used for global
(comon for all map copies) spawns from DB data or from gameevent system,
map locla spawn data used for independet grid spawns like expected to be
for pool system case when it will work in full power in instances.
Maybe for something other, like script dependent "static" spawns
not dependent from grid load state.
2011-02-14 10:41:30 +03:00
VladimirMangos
cf685da47a [11139] Use for Creature/GameObject local per-map guids
* Creature/GameObject guid generators moved to Map
* For avoid wrong not converted cases generic function in ObjectMgr has been replaced by
  specilized guid generation function like sObjectMgr.GeneratePlayerLowGuid().
  This let catch all cases that need update in custom code or scripts.
* Drop many ObjectAcessor.h now dead code. This is also make mangos more thread safe.
* Restore one more time unix build broken in prev. commits.

Note: many cases when something not wotk in instance but work in continents
possible magicly start work after this commit. For example, some gm commands.
From large systems that need more chnages for start work in full power in instances
can be referecned pool/gamevent system. Last need just small hacks drop changes but
in will addded in independent commit.
2011-02-12 09:52:16 +03:00
VladimirMangos
47060fe4b1 [11137] Fixed crash at reset normal dungeon while map loaded.
* Map Persistent noe have direct pointer back to map if map loaded.
  That let simplify some code and avoid map search.
* Crash showup in result changes in code logic related to reset processing.
* Also fix more old bug with reset normal dungeon with not loaded map.
* Reverse MapPersistentState::HasRespawnTimes and MapPersistentState::HasBounds() results
  to expected for function names and update related calls.

Thanks to Schmoozerd for help in research problem.
2011-02-12 06:44:52 +03:00
rsa
37afce30e0 [11135] Maybe finally fix *nix build.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-02-11 20:40:16 +03:00
VladimirMangos
da1b616312 [11133] Implement template functions for call functor for all Map/MapPersistentState with some map id. 2011-02-11 04:05:18 +03:00
VladimirMangos
d7cf24970a [11130] Make abstract function with body syntax compatible with GCC. 2011-02-10 19:36:07 +03:00
VladimirMangos
6d26ec0e7f [11129] Added WorldMap/WorldPersistentState subclass for non-instanceable maps.
This let have symmetric Map/MapPersistentState (sub)classes hierarchy.
2011-02-10 18:52:23 +03:00
VladimirMangos
108feb993d [11127] Rename src/game/InstanceSaveMgr.* -> src/game/MapPersistentStateMgr.* 2011-02-10 05:35:07 +03:00
Renamed from src/game/InstanceSaveMgr.h (Browse further)