diff options
author | Shauren <shauren.trinity@gmail.com> | 2025-01-05 20:22:34 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2025-01-05 20:22:34 +0100 |
commit | 401502ea3c5ceca0c6253910035b2949e13746cc (patch) | |
tree | 08171ad987c9afe14719f5cb4c384546389878f8 /src/server/game/Grids/GridDefines.h | |
parent | 04433910424540e42a2270156e7c9a8722c09913 (diff) |
Core/Grids: Modernize TypeContainer with variadic template
Diffstat (limited to 'src/server/game/Grids/GridDefines.h')
-rw-r--r-- | src/server/game/Grids/GridDefines.h | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/server/game/Grids/GridDefines.h b/src/server/game/Grids/GridDefines.h index a40de811a29..821597bf57c 100644 --- a/src/server/game/Grids/GridDefines.h +++ b/src/server/game/Grids/GridDefines.h @@ -62,11 +62,6 @@ class Conversation; #define MAX_FALL_DISTANCE 250000.0f // "unlimited fall" to find VMap ground if it is available, just larger than MAX_HEIGHT - INVALID_HEIGHT #define DEFAULT_HEIGHT_SEARCH 50.0f // default search distance to find height at nearby locations -// Creature used instead pet to simplify *::Visit templates (not required duplicate code for Creature->Pet case) -typedef TYPELIST_4(Player, Creature/*pets*/, Corpse/*resurrectable*/, DynamicObject/*farsight target*/) AllWorldObjectTypes; -typedef TYPELIST_7(GameObject, Creature/*except pets*/, DynamicObject, Corpse/*Bones*/, AreaTrigger, SceneObject, Conversation) AllGridObjectTypes; -typedef TYPELIST_8(Creature, GameObject, DynamicObject, Pet, Corpse, AreaTrigger, SceneObject, Conversation) AllMapStoredObjectTypes; - typedef GridRefManager<Corpse> CorpseMapType; typedef GridRefManager<Creature> CreatureMapType; typedef GridRefManager<DynamicObject> DynamicObjectMapType; @@ -89,11 +84,12 @@ enum GridMapTypeMask GRID_MAP_TYPE_MASK_ALL = 0xFF }; -extern template class TypeMapContainer<AllGridObjectTypes>; -extern template class TypeMapContainer<AllWorldObjectTypes>; +// Creature used instead pet to simplify *::Visit templates (not required duplicate code for Creature->Pet case) +extern template struct TypeListContainer<GridRefManagerContainer, GameObject, Creature/*except pets*/, DynamicObject, Corpse/*Bones*/, AreaTrigger, SceneObject, Conversation>; +extern template struct TypeListContainer<GridRefManagerContainer, Player, Creature/*pets*/, Corpse/*resurrectable*/, DynamicObject/*farsight target*/>; -typedef TypeMapContainer<AllGridObjectTypes> GridTypeMapContainer; -typedef TypeMapContainer<AllWorldObjectTypes> WorldTypeMapContainer; +typedef TypeListContainer<GridRefManagerContainer, GameObject, Creature/*except pets*/, DynamicObject, Corpse/*Bones*/, AreaTrigger, SceneObject, Conversation> GridTypeMapContainer; +typedef TypeListContainer<GridRefManagerContainer, Player, Creature/*pets*/, Corpse/*resurrectable*/, DynamicObject/*farsight target*/> WorldTypeMapContainer; extern template class Grid<Player, WorldTypeMapContainer, GridTypeMapContainer>; extern template class NGrid<MAX_NUMBER_OF_CELLS, Player, WorldTypeMapContainer, GridTypeMapContainer>; |