feat(Core/Pool): improve pool manager (#2027)

Use "std::unordered_map" instead of "std::vector" in order to reduce memory usage (not much, perhaps 5-10%)
identify missing pool entries in pool_template via error messages in the server log
Concerning the pool entries I applied the following fixes as they would now cause errors:

Remove pool entry 5217 from pool_gameobject (only 1 game object "Saronite", not needed here)
Remove pool entry 1047 from pool_creature (only 1 creature "Hematos", not needed here)
Add a few missing Saronite nodes to pool_template
This commit is contained in:
Stoabrogga
2019-07-10 02:28:56 +02:00
committed by Poszer
parent 940f4f907a
commit c29c7bd968
3 changed files with 107 additions and 66 deletions

View File

@@ -129,12 +129,11 @@ class PoolMgr
template<typename T>
void SpawnPool(uint32 pool_id, uint32 db_guid_or_pool_id);
uint32 max_pool_id;
typedef std::vector<PoolTemplateData> PoolTemplateDataMap;
typedef std::vector<PoolGroup<Creature> > PoolGroupCreatureMap;
typedef std::vector<PoolGroup<GameObject> > PoolGroupGameObjectMap;
typedef std::vector<PoolGroup<Pool> > PoolGroupPoolMap;
typedef std::vector<PoolGroup<Quest> > PoolGroupQuestMap;
typedef std::unordered_map<uint32, PoolTemplateData> PoolTemplateDataMap;
typedef std::unordered_map<uint32, PoolGroup<Creature>> PoolGroupCreatureMap;
typedef std::unordered_map<uint32, PoolGroup<GameObject>> PoolGroupGameObjectMap;
typedef std::unordered_map<uint32, PoolGroup<Pool>> PoolGroupPoolMap;
typedef std::unordered_map<uint32, PoolGroup<Quest>> PoolGroupQuestMap;
typedef std::pair<uint32, uint32> SearchPair;
typedef std::map<uint32, uint32> SearchMap;