diff options
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.h')
-rw-r--r-- | src/server/game/Globals/ObjectMgr.h | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h index 5b13a4daf0d..0a5b878e8fa 100644 --- a/src/server/game/Globals/ObjectMgr.h +++ b/src/server/game/Globals/ObjectMgr.h @@ -63,6 +63,26 @@ struct PageText uint16 NextPage; }; +/// Key for storing temp summon data in TempSummonDataContainer +struct TempSummonGroupKey +{ + TempSummonGroupKey(uint32 summonerEntry, SummonerType summonerType, uint8 group) + : _summonerEntry(summonerEntry), _summonerType(summonerType), _summonGroup(group) + { + } + + bool operator<(TempSummonGroupKey const& rhs) const + { + // memcmp is only reliable if struct doesn't have any padding (packed) + return memcmp(this, &rhs, sizeof(TempSummonGroupKey)) < 0; + } + +private: + uint32 _summonerEntry; ///< Summoner's entry + SummonerType _summonerType; ///< Summoner's type, see SummonerType for available types + uint8 _summonGroup; ///< Summon's group id +}; + // GCC have alternative #pragma pack() syntax and old gcc version not support pack(pop), also any gcc version not support it at some platform #if defined(__GNUC__) #pragma pack() @@ -417,25 +437,6 @@ struct TrinityStringLocale StringVector Content; }; -/// Key for storing temp summon data in TempSummonDataContainer -struct TempSummonGroupKey -{ - TempSummonGroupKey(uint32 summonerEntry, SummonerType summonerType, uint8 group) - : _summonerEntry(summonerEntry), _summonerType(summonerType), _summonGroup(group) - { - } - - bool operator<(TempSummonGroupKey const& rhs) const - { - return memcmp(this, &rhs, sizeof(TempSummonGroupKey)) < 0; - } - -private: - uint32 _summonerEntry; ///< Summoner's entry - SummonerType _summonerType; ///< Summoner's type, see SummonerType for available types - uint8 _summonGroup; ///< Summon's group id -}; - typedef std::map<uint64, uint64> LinkedRespawnContainer; typedef UNORDERED_MAP<uint32, CreatureData> CreatureDataContainer; typedef UNORDERED_MAP<uint32, GameObjectData> GameObjectDataContainer; |