aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2020-04-27 09:06:49 +0200
committerShauren <shauren.trinity@gmail.com>2020-04-27 09:06:49 +0200
commitec87d048b4ebbb326158bc05512d1cc5ecbe8271 (patch)
treee5b2e066c61cb65f1c042ba061b0460f2a7a4dbb
parent6f7ff9a3efd10cd4f776a67540109e7bb774f1c5 (diff)
Core/Misc: Enum flag v3 - allow enabling flag operations directly after enum definition when inside namespaces
-rw-r--r--src/common/Utilities/EnumFlag.h37
-rw-r--r--src/server/game/AuctionHouse/AuctionHouseMgr.cpp2
-rw-r--r--src/server/game/AuctionHouse/AuctionHouseMgr.h4
-rw-r--r--src/server/game/Entities/Object/ObjectGuid.h6
-rw-r--r--src/server/game/Entities/Object/Updates/UpdateField.h4
-rw-r--r--src/server/game/Entities/Object/Updates/UpdateFields.cpp72
-rw-r--r--src/server/game/Entities/Object/Updates/UpdateFields.h72
-rw-r--r--src/server/game/Entities/Player/CollectionMgr.cpp2
-rw-r--r--src/server/game/Entities/Player/CollectionMgr.h4
-rw-r--r--src/server/game/Phasing/PhaseShift.cpp2
-rw-r--r--src/server/game/Phasing/PhaseShift.h11
-rw-r--r--src/server/game/Phasing/PhasingHandler.cpp2
12 files changed, 110 insertions, 108 deletions
diff --git a/src/common/Utilities/EnumFlag.h b/src/common/Utilities/EnumFlag.h
index bd9a991daed..528625c1f08 100644
--- a/src/common/Utilities/EnumFlag.h
+++ b/src/common/Utilities/EnumFlag.h
@@ -20,80 +20,85 @@
#include <type_traits>
-namespace EnumFlag
+template<typename T>
+constexpr bool IsEnumFlag(T) { return false; }
+
+#define DEFINE_ENUM_FLAG(enumType) constexpr bool IsEnumFlag(enumType) { return true; }
+
+namespace EnumTraits
{
template<typename T>
- struct IsFlag : std::false_type { };
+ using IsFlag = std::integral_constant<bool, IsEnumFlag(T{})>;
}
-template<typename T, std::enable_if_t<EnumFlag::IsFlag<T>::value, std::nullptr_t> = nullptr>
+template<typename T, std::enable_if_t<EnumTraits::IsFlag<T>::value, std::nullptr_t> = nullptr>
inline constexpr T operator&(T left, T right)
{
return static_cast<T>(static_cast<std::underlying_type_t<T>>(left) & static_cast<std::underlying_type_t<T>>(right));
}
-template<typename T, std::enable_if_t<EnumFlag::IsFlag<T>::value, std::nullptr_t> = nullptr>
+template<typename T, std::enable_if_t<EnumTraits::IsFlag<T>::value, std::nullptr_t> = nullptr>
inline constexpr T& operator&=(T& left, T right)
{
return left = left & right;
}
-template<typename T, std::enable_if_t<EnumFlag::IsFlag<T>::value, std::nullptr_t> = nullptr>
+template<typename T, std::enable_if_t<EnumTraits::IsFlag<T>::value, std::nullptr_t> = nullptr>
inline constexpr T operator|(T left, T right)
{
return static_cast<T>(static_cast<std::underlying_type_t<T>>(left) | static_cast<std::underlying_type_t<T>>(right));
}
-template<typename T, std::enable_if_t<EnumFlag::IsFlag<T>::value, std::nullptr_t> = nullptr>
+template<typename T, std::enable_if_t<EnumTraits::IsFlag<T>::value, std::nullptr_t> = nullptr>
inline constexpr T& operator|=(T& left, T right)
{
return left = left | right;
}
-template<typename T, std::enable_if_t<EnumFlag::IsFlag<T>::value, std::nullptr_t> = nullptr>
+template<typename T, std::enable_if_t<EnumTraits::IsFlag<T>::value, std::nullptr_t> = nullptr>
inline constexpr T operator~(T value)
{
return static_cast<T>(~static_cast<std::underlying_type_t<T>>(value));
}
template<typename T>
-class EnumFlag_t
+class EnumFlag
{
- static_assert(EnumFlag::IsFlag<T>::value, "EnumFlag_t must be used only with enums that are specify EnumFlag::IsFlag");
+ static_assert(EnumTraits::IsFlag<T>::value, "EnumFlag must be used only with enums that are specify EnumFlag::IsFlag");
public:
- /*implicit*/ constexpr EnumFlag_t(T value) : _value(value)
+ /*implicit*/ constexpr EnumFlag(T value) : _value(value)
{
}
- constexpr EnumFlag_t& operator&=(EnumFlag_t right)
+ constexpr EnumFlag& operator&=(EnumFlag right)
{
_value &= right._value;
return *this;
}
- constexpr friend EnumFlag_t operator&(EnumFlag_t left, EnumFlag_t right)
+ constexpr friend EnumFlag operator&(EnumFlag left, EnumFlag right)
{
return left &= right;
}
- constexpr EnumFlag_t& operator|=(EnumFlag_t right)
+ constexpr EnumFlag& operator|=(EnumFlag right)
{
_value |= right._value;
return *this;
}
- constexpr friend EnumFlag_t operator|(EnumFlag_t left, EnumFlag_t right)
+ constexpr friend EnumFlag operator|(EnumFlag left, EnumFlag right)
{
return left |= right;
}
- constexpr EnumFlag_t operator~() const
+ constexpr EnumFlag operator~() const
{
return static_cast<T>(~static_cast<std::underlying_type_t<T>>(_value));
}
- constexpr void RemoveFlag(EnumFlag_t flag)
+ constexpr void RemoveFlag(EnumFlag flag)
{
_value &= ~flag._value;
}
diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
index 421c701089c..b86ec0a29f3 100644
--- a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
+++ b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
@@ -1147,7 +1147,7 @@ void AuctionHouseObject::Update()
}
void AuctionHouseObject::BuildListBuckets(WorldPackets::AuctionHouse::AuctionListBucketsResult& listBucketsResult, Player* player,
- std::wstring const& name, uint8 minLevel, uint8 maxLevel, EnumFlag_t<AuctionHouseFilterMask> filters, Optional<AuctionSearchClassFilters> const& classFilters,
+ std::wstring const& name, uint8 minLevel, uint8 maxLevel, EnumFlag<AuctionHouseFilterMask> filters, Optional<AuctionSearchClassFilters> const& classFilters,
uint8 const* knownPetBits, std::size_t knownPetBitsCount, uint8 maxKnownPetLevel, uint32 offset, WorldPackets::AuctionHouse::AuctionSortDef const* sorts, std::size_t sortCount)
{
std::unordered_set<uint32> knownAppearanceIds;
diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.h b/src/server/game/AuctionHouse/AuctionHouseMgr.h
index 86e311a67af..308df2083a4 100644
--- a/src/server/game/AuctionHouse/AuctionHouseMgr.h
+++ b/src/server/game/AuctionHouse/AuctionHouseMgr.h
@@ -111,7 +111,7 @@ enum class AuctionHouseFilterMask : uint32
ArtifactQuality = 0x400,
};
-namespace EnumFlag { template<> struct IsFlag<AuctionHouseFilterMask> : std::true_type { }; }
+DEFINE_ENUM_FLAG(AuctionHouseFilterMask);
enum class AuctionHouseSortOrder : uint8
{
@@ -295,7 +295,7 @@ public:
void Update();
void BuildListBuckets(WorldPackets::AuctionHouse::AuctionListBucketsResult& listBucketsResult, Player* player,
- std::wstring const& name, uint8 minLevel, uint8 maxLevel, EnumFlag_t<AuctionHouseFilterMask> filters, Optional<AuctionSearchClassFilters> const& classFilters,
+ std::wstring const& name, uint8 minLevel, uint8 maxLevel, EnumFlag<AuctionHouseFilterMask> filters, Optional<AuctionSearchClassFilters> const& classFilters,
uint8 const* knownPetBits, std::size_t knownPetBitsCount, uint8 maxKnownPetLevel,
uint32 offset, WorldPackets::AuctionHouse::AuctionSortDef const* sorts, std::size_t sortCount);
void BuildListBuckets(WorldPackets::AuctionHouse::AuctionListBucketsResult& listBucketsResult, Player* player,
diff --git a/src/server/game/Entities/Object/ObjectGuid.h b/src/server/game/Entities/Object/ObjectGuid.h
index 0eb5c42c728..f5856bfb7ae 100644
--- a/src/server/game/Entities/Object/ObjectGuid.h
+++ b/src/server/game/Entities/Object/ObjectGuid.h
@@ -131,7 +131,7 @@ enum class ObjectGuidSequenceSource
Map = 0x4
};
-namespace EnumFlag { template<> struct IsFlag<ObjectGuidSequenceSource> : std::true_type { }; }
+DEFINE_ENUM_FLAG(ObjectGuidSequenceSource);
enum class ObjectGuidFormatType
{
@@ -156,14 +156,14 @@ enum class ObjectGuidFormatType
template<HighGuid high>
struct ObjectGuidTraits
{
- static constexpr EnumFlag_t<ObjectGuidSequenceSource> SequenceSource = ObjectGuidSequenceSource::None;
+ static constexpr EnumFlag<ObjectGuidSequenceSource> SequenceSource = ObjectGuidSequenceSource::None;
using Format = std::integral_constant<ObjectGuidFormatType, ObjectGuidFormatType::Null>;
};
#define MAKE_GUID_TRAIT(high, sequence, format) \
template<> struct ObjectGuidTraits<high> \
{ \
- static constexpr EnumFlag_t<ObjectGuidSequenceSource> SequenceSource = sequence; \
+ static constexpr EnumFlag<ObjectGuidSequenceSource> SequenceSource = sequence; \
using Format = std::integral_constant<ObjectGuidFormatType, format>; \
}
diff --git a/src/server/game/Entities/Object/Updates/UpdateField.h b/src/server/game/Entities/Object/Updates/UpdateField.h
index 50a753d76cb..4dd17a01497 100644
--- a/src/server/game/Entities/Object/Updates/UpdateField.h
+++ b/src/server/game/Entities/Object/Updates/UpdateField.h
@@ -38,6 +38,8 @@ namespace UF
Empath = 0x08
};
+ DEFINE_ENUM_FLAG(UpdateFieldFlag);
+
template<typename T, uint32 BlockBit, uint32 Bit>
class UpdateField;
@@ -819,6 +821,4 @@ namespace UF
};
}
-namespace EnumFlag { template<> struct IsFlag<UF::UpdateFieldFlag> : std::true_type { }; }
-
#endif // UpdateField_h__
diff --git a/src/server/game/Entities/Object/Updates/UpdateFields.cpp b/src/server/game/Entities/Object/Updates/UpdateFields.cpp
index 6c8f9e5f462..98e01cbe141 100644
--- a/src/server/game/Entities/Object/Updates/UpdateFields.cpp
+++ b/src/server/game/Entities/Object/Updates/UpdateFields.cpp
@@ -30,14 +30,14 @@
namespace UF
{
-void ObjectData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Object const* owner, Player const* receiver) const
+void ObjectData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Object const* owner, Player const* receiver) const
{
data << int32(EntryID);
data << uint32(ViewerDependentValue<DynamicFlagsTag>::GetValue(DynamicFlags, owner, receiver));
data << float(Scale);
}
-void ObjectData::WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Object const* owner, Player const* receiver) const
+void ObjectData::WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Object const* owner, Player const* receiver) const
{
WriteUpdate(data, _changesMask, false, owner, receiver);
}
@@ -185,7 +185,7 @@ void SocketedGem::ClearChangesMask()
_changesMask.ResetAll();
}
-void ItemData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Item const* owner, Player const* receiver) const
+void ItemData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Item const* owner, Player const* receiver) const
{
data << uint32(BonusListIDs->size());
for (std::size_t i = 0; i < BonusListIDs->size(); ++i)
@@ -247,20 +247,20 @@ void ItemData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVi
}
}
-void ItemData::WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Item const* owner, Player const* receiver) const
+void ItemData::WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Item const* owner, Player const* receiver) const
{
UpdateMask<40> allowedMaskForTarget({ 0xFC0149FFu, 0x000000FFu });
AppendAllowedFieldsMaskForFlag(allowedMaskForTarget, fieldVisibilityFlags);
WriteUpdate(data, _changesMask & allowedMaskForTarget, false, owner, receiver);
}
-void ItemData::AppendAllowedFieldsMaskForFlag(UpdateMask<40>& allowedMaskForTarget, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags) const
+void ItemData::AppendAllowedFieldsMaskForFlag(UpdateMask<40>& allowedMaskForTarget, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags) const
{
if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner))
allowedMaskForTarget |= { 0x03FEB600u, 0x00000000u };
}
-void ItemData::FilterDisallowedFieldsMaskForFlag(UpdateMask<40>& changesMask, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags) const
+void ItemData::FilterDisallowedFieldsMaskForFlag(UpdateMask<40>& changesMask, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags) const
{
if (!fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner))
changesMask &= { 0xFC0149FFu, 0xFFFFFFFFu };
@@ -451,7 +451,7 @@ void ItemData::ClearChangesMask()
_changesMask.ResetAll();
}
-void ContainerData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Bag const* owner, Player const* receiver) const
+void ContainerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Bag const* owner, Player const* receiver) const
{
for (std::size_t i = 0; i < 36; ++i)
{
@@ -460,7 +460,7 @@ void ContainerData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fi
data << uint32(NumSlots);
}
-void ContainerData::WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Bag const* owner, Player const* receiver) const
+void ContainerData::WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Bag const* owner, Player const* receiver) const
{
WriteUpdate(data, _changesMask, false, owner, receiver);
}
@@ -499,7 +499,7 @@ void ContainerData::ClearChangesMask()
_changesMask.ResetAll();
}
-void AzeriteEmpoweredItemData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, AzeriteEmpoweredItem const* owner, Player const* receiver) const
+void AzeriteEmpoweredItemData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, AzeriteEmpoweredItem const* owner, Player const* receiver) const
{
for (std::size_t i = 0; i < 5; ++i)
{
@@ -507,7 +507,7 @@ void AzeriteEmpoweredItemData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFi
}
}
-void AzeriteEmpoweredItemData::WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, AzeriteEmpoweredItem const* owner, Player const* receiver) const
+void AzeriteEmpoweredItemData::WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, AzeriteEmpoweredItem const* owner, Player const* receiver) const
{
WriteUpdate(data, _changesMask, false, owner, receiver);
}
@@ -603,7 +603,7 @@ void SelectedAzeriteEssences::ClearChangesMask()
_changesMask.ResetAll();
}
-void AzeriteItemData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, AzeriteItem const* owner, Player const* receiver) const
+void AzeriteItemData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, AzeriteItem const* owner, Player const* receiver) const
{
if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner))
{
@@ -630,20 +630,20 @@ void AzeriteItemData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag>
}
}
-void AzeriteItemData::WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, AzeriteItem const* owner, Player const* receiver) const
+void AzeriteItemData::WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, AzeriteItem const* owner, Player const* receiver) const
{
UpdateMask<9> allowedMaskForTarget({ 0x0000000Fu });
AppendAllowedFieldsMaskForFlag(allowedMaskForTarget, fieldVisibilityFlags);
WriteUpdate(data, _changesMask & allowedMaskForTarget, false, owner, receiver);
}
-void AzeriteItemData::AppendAllowedFieldsMaskForFlag(UpdateMask<9>& allowedMaskForTarget, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags) const
+void AzeriteItemData::AppendAllowedFieldsMaskForFlag(UpdateMask<9>& allowedMaskForTarget, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags) const
{
if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner))
allowedMaskForTarget |= { 0x000001F0u };
}
-void AzeriteItemData::FilterDisallowedFieldsMaskForFlag(UpdateMask<9>& changesMask, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags) const
+void AzeriteItemData::FilterDisallowedFieldsMaskForFlag(UpdateMask<9>& changesMask, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags) const
{
if (!fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner))
changesMask &= { 0xFFFFFE0Fu };
@@ -811,7 +811,7 @@ void PassiveSpellHistory::WriteUpdate(ByteBuffer& data, bool ignoreChangesMask,
data << int32(AuraSpellID);
}
-void UnitData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Unit const* owner, Player const* receiver) const
+void UnitData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Unit const* owner, Player const* receiver) const
{
data << int32(ViewerDependentValue<DisplayIDTag>::GetValue(DisplayID, owner, receiver));
for (std::size_t i = 0; i < 2; ++i)
@@ -1007,14 +1007,14 @@ void UnitData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVi
}
}
-void UnitData::WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Unit const* owner, Player const* receiver) const
+void UnitData::WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Unit const* owner, Player const* receiver) const
{
UpdateMask<192> allowedMaskForTarget({ 0xFFFFEFFFu, 0xFC3FBFFFu, 0x0001EFFFu, 0xFFBFFFF9u, 0x003F8007u, 0x00000000u });
AppendAllowedFieldsMaskForFlag(allowedMaskForTarget, fieldVisibilityFlags);
WriteUpdate(data, _changesMask & allowedMaskForTarget, false, owner, receiver);
}
-void UnitData::AppendAllowedFieldsMaskForFlag(UpdateMask<192>& allowedMaskForTarget, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags) const
+void UnitData::AppendAllowedFieldsMaskForFlag(UpdateMask<192>& allowedMaskForTarget, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags) const
{
if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner))
allowedMaskForTarget |= { 0x00001000u, 0x03C04000u, 0xFFFE1000u, 0x00400006u, 0xFFC07FF8u, 0xFFFFFFFFu };
@@ -1024,7 +1024,7 @@ void UnitData::AppendAllowedFieldsMaskForFlag(UpdateMask<192>& allowedMaskForTar
allowedMaskForTarget |= { 0x00000000u, 0x03C00000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x000007F8u };
}
-void UnitData::FilterDisallowedFieldsMaskForFlag(UpdateMask<192>& changesMask, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags) const
+void UnitData::FilterDisallowedFieldsMaskForFlag(UpdateMask<192>& changesMask, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags) const
{
if (!fieldVisibilityFlags.HasFlag(UpdateFieldFlag::Owner))
changesMask &= { 0xFFFFEFFFu, 0xFC3FBFFFu, 0x0001EFFFu, 0xFFBFFFF9u, 0x003F8007u, 0x00000000u };
@@ -1907,7 +1907,7 @@ void ArenaCooldown::ClearChangesMask()
_changesMask.ResetAll();
}
-void PlayerData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const
+void PlayerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const
{
data << DuelArbiter;
data << WowAccount;
@@ -1980,20 +1980,20 @@ void PlayerData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> field
data.FlushBits();
}
-void PlayerData::WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const
+void PlayerData::WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const
{
UpdateMask<192> allowedMaskForTarget({ 0xFFFFFFF5u, 0x000001FFu, 0x00000000u, 0x00000000u, 0x00000000u, 0xFFFFFF80u });
AppendAllowedFieldsMaskForFlag(allowedMaskForTarget, fieldVisibilityFlags);
WriteUpdate(data, _changesMask & allowedMaskForTarget, false, owner, receiver);
}
-void PlayerData::AppendAllowedFieldsMaskForFlag(UpdateMask<192>& allowedMaskForTarget, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags) const
+void PlayerData::AppendAllowedFieldsMaskForFlag(UpdateMask<192>& allowedMaskForTarget, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags) const
{
if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag::PartyMember))
allowedMaskForTarget |= { 0x0000000Au, 0xFFFFFE00u, 0xFFFFFFFFu, 0xFFFFFFFFu, 0xFFFFFFFFu, 0x0000007Fu };
}
-void PlayerData::FilterDisallowedFieldsMaskForFlag(UpdateMask<192>& changesMask, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags) const
+void PlayerData::FilterDisallowedFieldsMaskForFlag(UpdateMask<192>& changesMask, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags) const
{
if (!fieldVisibilityFlags.HasFlag(UpdateFieldFlag::PartyMember))
changesMask &= { 0xFFFFFFF5u, 0x000001FFu, 0x00000000u, 0x00000000u, 0x00000000u, 0xFFFFFF80u };
@@ -2604,7 +2604,7 @@ void QuestSession::ClearChangesMask()
_changesMask.ResetAll();
}
-void ActivePlayerData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const
+void ActivePlayerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const
{
for (std::size_t i = 0; i < 199; ++i)
{
@@ -2847,7 +2847,7 @@ void ActivePlayerData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag>
data.FlushBits();
}
-void ActivePlayerData::WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const
+void ActivePlayerData::WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const
{
WriteUpdate(data, _changesMask, false, owner, receiver);
}
@@ -3812,7 +3812,7 @@ void ActivePlayerData::ClearChangesMask()
_changesMask.ResetAll();
}
-void GameObjectData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, GameObject const* owner, Player const* receiver) const
+void GameObjectData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, GameObject const* owner, Player const* receiver) const
{
data << int32(DisplayID);
data << uint32(SpellVisualID);
@@ -3846,7 +3846,7 @@ void GameObjectData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> f
}
}
-void GameObjectData::WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, GameObject const* owner, Player const* receiver) const
+void GameObjectData::WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, GameObject const* owner, Player const* receiver) const
{
WriteUpdate(data, _changesMask, false, owner, receiver);
}
@@ -3988,7 +3988,7 @@ void GameObjectData::ClearChangesMask()
_changesMask.ResetAll();
}
-void DynamicObjectData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, DynamicObject const* owner, Player const* receiver) const
+void DynamicObjectData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, DynamicObject const* owner, Player const* receiver) const
{
data << Caster;
data << int32(SpellXSpellVisualID);
@@ -3998,7 +3998,7 @@ void DynamicObjectData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag
data << uint8(Type);
}
-void DynamicObjectData::WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, DynamicObject const* owner, Player const* receiver) const
+void DynamicObjectData::WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, DynamicObject const* owner, Player const* receiver) const
{
WriteUpdate(data, _changesMask, false, owner, receiver);
}
@@ -4048,7 +4048,7 @@ void DynamicObjectData::ClearChangesMask()
_changesMask.ResetAll();
}
-void CorpseData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Corpse const* owner, Player const* receiver) const
+void CorpseData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Corpse const* owner, Player const* receiver) const
{
data << uint32(DynamicFlags);
data << Owner;
@@ -4075,7 +4075,7 @@ void CorpseData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> field
}
}
-void CorpseData::WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Corpse const* owner, Player const* receiver) const
+void CorpseData::WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Corpse const* owner, Player const* receiver) const
{
WriteUpdate(data, _changesMask, false, owner, receiver);
}
@@ -4256,7 +4256,7 @@ void ScaleCurve::ClearChangesMask()
_changesMask.ResetAll();
}
-void AreaTriggerData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, AreaTrigger const* owner, Player const* receiver) const
+void AreaTriggerData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, AreaTrigger const* owner, Player const* receiver) const
{
OverrideScaleCurve->WriteCreate(data, owner, receiver);
data << Caster;
@@ -4273,7 +4273,7 @@ void AreaTriggerData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag>
ExtraScaleCurve->WriteCreate(data, owner, receiver);
}
-void AreaTriggerData::WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, AreaTrigger const* owner, Player const* receiver) const
+void AreaTriggerData::WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, AreaTrigger const* owner, Player const* receiver) const
{
WriteUpdate(data, _changesMask, false, owner, receiver);
}
@@ -4358,7 +4358,7 @@ void AreaTriggerData::ClearChangesMask()
_changesMask.ResetAll();
}
-void SceneObjectData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Object const* owner, Player const* receiver) const
+void SceneObjectData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Object const* owner, Player const* receiver) const
{
data << int32(ScriptPackageID);
data << uint32(RndSeedVal);
@@ -4366,7 +4366,7 @@ void SceneObjectData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag>
data << uint32(SceneType);
}
-void SceneObjectData::WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Object const* owner, Player const* receiver) const
+void SceneObjectData::WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Object const* owner, Player const* receiver) const
{
WriteUpdate(data, _changesMask, false, owner, receiver);
}
@@ -4444,7 +4444,7 @@ void ConversationActor::WriteUpdate(ByteBuffer& data, bool ignoreChangesMask, Co
data.FlushBits();
}
-void ConversationData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Conversation const* owner, Player const* receiver) const
+void ConversationData::WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Conversation const* owner, Player const* receiver) const
{
data << uint32(Lines->size());
data << int32(LastLineEndTime);
@@ -4460,7 +4460,7 @@ void ConversationData::WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag>
}
}
-void ConversationData::WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Conversation const* owner, Player const* receiver) const
+void ConversationData::WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Conversation const* owner, Player const* receiver) const
{
WriteUpdate(data, _changesMask, false, owner, receiver);
}
diff --git a/src/server/game/Entities/Object/Updates/UpdateFields.h b/src/server/game/Entities/Object/Updates/UpdateFields.h
index 948dee57340..564787bd3fd 100644
--- a/src/server/game/Entities/Object/Updates/UpdateFields.h
+++ b/src/server/game/Entities/Object/Updates/UpdateFields.h
@@ -48,8 +48,8 @@ struct ObjectData : public IsUpdateFieldStructureTag, public HasChangesMask<4>
struct DynamicFlagsTag : ViewerDependentValueTag<uint32> {};
UpdateField<float, 0, 3> Scale;
- void WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Object const* owner, Player const* receiver) const;
- void WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Object const* owner, Player const* receiver) const;
+ void WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Object const* owner, Player const* receiver) const;
+ void WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Object const* owner, Player const* receiver) const;
void WriteUpdate(ByteBuffer& data, UpdateMask<4> const& changesMask, bool ignoreNestedChangesMask, Object const* owner, Player const* receiver) const;
void ClearChangesMask();
};
@@ -111,11 +111,11 @@ struct ItemData : public IsUpdateFieldStructureTag, public HasChangesMask<40>
UpdateFieldArray<int32, 5, 20, 21> SpellCharges;
UpdateFieldArray<UF::ItemEnchantment, 13, 26, 27> Enchantment;
- void WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Item const* owner, Player const* receiver) const;
- void WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Item const* owner, Player const* receiver) const;
+ void WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Item const* owner, Player const* receiver) const;
+ void WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Item const* owner, Player const* receiver) const;
void WriteUpdate(ByteBuffer& data, UpdateMask<40> const& changesMask, bool ignoreNestedChangesMask, Item const* owner, Player const* receiver) const;
- void AppendAllowedFieldsMaskForFlag(UpdateMask<40>& allowedMaskForTarget, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags) const;
- void FilterDisallowedFieldsMaskForFlag(UpdateMask<40>& changesMask, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags) const;
+ void AppendAllowedFieldsMaskForFlag(UpdateMask<40>& allowedMaskForTarget, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags) const;
+ void FilterDisallowedFieldsMaskForFlag(UpdateMask<40>& changesMask, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags) const;
void ClearChangesMask();
};
@@ -124,8 +124,8 @@ struct ContainerData : public IsUpdateFieldStructureTag, public HasChangesMask<3
UpdateField<uint32, 0, 1> NumSlots;
UpdateFieldArray<ObjectGuid, 36, 2, 3> Slots;
- void WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Bag const* owner, Player const* receiver) const;
- void WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Bag const* owner, Player const* receiver) const;
+ void WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Bag const* owner, Player const* receiver) const;
+ void WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Bag const* owner, Player const* receiver) const;
void WriteUpdate(ByteBuffer& data, UpdateMask<39> const& changesMask, bool ignoreNestedChangesMask, Bag const* owner, Player const* receiver) const;
void ClearChangesMask();
};
@@ -134,8 +134,8 @@ struct AzeriteEmpoweredItemData : public IsUpdateFieldStructureTag, public HasCh
{
UpdateFieldArray<int32, 5, 0, 1> Selections;
- void WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, AzeriteEmpoweredItem const* owner, Player const* receiver) const;
- void WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, AzeriteEmpoweredItem const* owner, Player const* receiver) const;
+ void WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, AzeriteEmpoweredItem const* owner, Player const* receiver) const;
+ void WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, AzeriteEmpoweredItem const* owner, Player const* receiver) const;
void WriteUpdate(ByteBuffer& data, UpdateMask<6> const& changesMask, bool ignoreNestedChangesMask, AzeriteEmpoweredItem const* owner, Player const* receiver) const;
void ClearChangesMask();
};
@@ -171,11 +171,11 @@ struct AzeriteItemData : public IsUpdateFieldStructureTag, public HasChangesMask
UpdateField<uint32, 0, 7> KnowledgeLevel;
UpdateField<int32, 0, 8> DEBUGknowledgeWeek;
- void WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, AzeriteItem const* owner, Player const* receiver) const;
- void WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, AzeriteItem const* owner, Player const* receiver) const;
+ void WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, AzeriteItem const* owner, Player const* receiver) const;
+ void WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, AzeriteItem const* owner, Player const* receiver) const;
void WriteUpdate(ByteBuffer& data, UpdateMask<9> const& changesMask, bool ignoreNestedChangesMask, AzeriteItem const* owner, Player const* receiver) const;
- void AppendAllowedFieldsMaskForFlag(UpdateMask<9>& allowedMaskForTarget, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags) const;
- void FilterDisallowedFieldsMaskForFlag(UpdateMask<9>& changesMask, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags) const;
+ void AppendAllowedFieldsMaskForFlag(UpdateMask<9>& allowedMaskForTarget, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags) const;
+ void FilterDisallowedFieldsMaskForFlag(UpdateMask<9>& changesMask, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags) const;
void ClearChangesMask();
};
@@ -342,11 +342,11 @@ struct UnitData : public IsUpdateFieldStructureTag, public HasChangesMask<192>
UpdateFieldArray<int32, 7, 163, 178> PowerCostModifier;
UpdateFieldArray<float, 7, 163, 185> PowerCostMultiplier;
- void WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Unit const* owner, Player const* receiver) const;
- void WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Unit const* owner, Player const* receiver) const;
+ void WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Unit const* owner, Player const* receiver) const;
+ void WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Unit const* owner, Player const* receiver) const;
void WriteUpdate(ByteBuffer& data, UpdateMask<192> const& changesMask, bool ignoreNestedChangesMask, Unit const* owner, Player const* receiver) const;
- void AppendAllowedFieldsMaskForFlag(UpdateMask<192>& allowedMaskForTarget, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags) const;
- void FilterDisallowedFieldsMaskForFlag(UpdateMask<192>& changesMask, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags) const;
+ void AppendAllowedFieldsMaskForFlag(UpdateMask<192>& allowedMaskForTarget, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags) const;
+ void FilterDisallowedFieldsMaskForFlag(UpdateMask<192>& changesMask, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags) const;
void ClearChangesMask();
};
@@ -421,11 +421,11 @@ struct PlayerData : public IsUpdateFieldStructureTag, public HasChangesMask<192>
UpdateFieldArray<UF::VisibleItem, 19, 167, 168> VisibleItems;
UpdateFieldArray<float, 4, 187, 188> AvgItemLevel;
- void WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const;
- void WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const;
+ void WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const;
+ void WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const;
void WriteUpdate(ByteBuffer& data, UpdateMask<192> const& changesMask, bool ignoreNestedChangesMask, Player const* owner, Player const* receiver) const;
- void AppendAllowedFieldsMaskForFlag(UpdateMask<192>& allowedMaskForTarget, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags) const;
- void FilterDisallowedFieldsMaskForFlag(UpdateMask<192>& changesMask, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags) const;
+ void AppendAllowedFieldsMaskForFlag(UpdateMask<192>& allowedMaskForTarget, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags) const;
+ void FilterDisallowedFieldsMaskForFlag(UpdateMask<192>& changesMask, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags) const;
void ClearChangesMask();
bool IsQuestLogChangesMaskSkipped() const { return false; } // bandwidth savings aren't worth the cpu time
};
@@ -651,8 +651,8 @@ struct ActivePlayerData : public IsUpdateFieldStructureTag, public HasChangesMas
UpdateFieldArray<uint32, 7, 610, 611> BankBagSlotFlags;
UpdateFieldArray<uint64, 875, 618, 619> QuestCompleted;
- void WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const;
- void WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const;
+ void WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const;
+ void WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Player const* owner, Player const* receiver) const;
void WriteUpdate(ByteBuffer& data, UpdateMask<1494> const& changesMask, bool ignoreNestedChangesMask, Player const* owner, Player const* receiver) const;
void ClearChangesMask();
};
@@ -682,8 +682,8 @@ struct GameObjectData : public IsUpdateFieldStructureTag, public HasChangesMask<
UpdateField<uint32, 0, 18> ArtKit;
UpdateField<uint32, 0, 19> CustomParam;
- void WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, GameObject const* owner, Player const* receiver) const;
- void WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, GameObject const* owner, Player const* receiver) const;
+ void WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, GameObject const* owner, Player const* receiver) const;
+ void WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, GameObject const* owner, Player const* receiver) const;
void WriteUpdate(ByteBuffer& data, UpdateMask<20> const& changesMask, bool ignoreNestedChangesMask, GameObject const* owner, Player const* receiver) const;
void ClearChangesMask();
};
@@ -697,8 +697,8 @@ struct DynamicObjectData : public IsUpdateFieldStructureTag, public HasChangesMa
UpdateField<uint32, 0, 5> CastTime;
UpdateField<uint8, 0, 6> Type;
- void WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, DynamicObject const* owner, Player const* receiver) const;
- void WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, DynamicObject const* owner, Player const* receiver) const;
+ void WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, DynamicObject const* owner, Player const* receiver) const;
+ void WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, DynamicObject const* owner, Player const* receiver) const;
void WriteUpdate(ByteBuffer& data, UpdateMask<7> const& changesMask, bool ignoreNestedChangesMask, DynamicObject const* owner, Player const* receiver) const;
void ClearChangesMask();
};
@@ -723,8 +723,8 @@ struct CorpseData : public IsUpdateFieldStructureTag, public HasChangesMask<40>
UpdateFieldArray<uint32, 19, 16, 17> Items;
UpdateFieldArray<uint8, 3, 36, 37> CustomDisplayOption;
- void WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Corpse const* owner, Player const* receiver) const;
- void WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Corpse const* owner, Player const* receiver) const;
+ void WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Corpse const* owner, Player const* receiver) const;
+ void WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Corpse const* owner, Player const* receiver) const;
void WriteUpdate(ByteBuffer& data, UpdateMask<40> const& changesMask, bool ignoreNestedChangesMask, Corpse const* owner, Player const* receiver) const;
void ClearChangesMask();
};
@@ -757,8 +757,8 @@ struct AreaTriggerData : public IsUpdateFieldStructureTag, public HasChangesMask
UpdateField<uint32, 0, 12> DecalPropertiesID;
UpdateField<ObjectGuid, 0, 13> CreatingEffectGUID;
- void WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, AreaTrigger const* owner, Player const* receiver) const;
- void WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, AreaTrigger const* owner, Player const* receiver) const;
+ void WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, AreaTrigger const* owner, Player const* receiver) const;
+ void WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, AreaTrigger const* owner, Player const* receiver) const;
void WriteUpdate(ByteBuffer& data, UpdateMask<14> const& changesMask, bool ignoreNestedChangesMask, AreaTrigger const* owner, Player const* receiver) const;
void ClearChangesMask();
};
@@ -770,8 +770,8 @@ struct SceneObjectData : public IsUpdateFieldStructureTag, public HasChangesMask
UpdateField<ObjectGuid, 0, 3> CreatedBy;
UpdateField<uint32, 0, 4> SceneType;
- void WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Object const* owner, Player const* receiver) const;
- void WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Object const* owner, Player const* receiver) const;
+ void WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Object const* owner, Player const* receiver) const;
+ void WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Object const* owner, Player const* receiver) const;
void WriteUpdate(ByteBuffer& data, UpdateMask<5> const& changesMask, bool ignoreNestedChangesMask, Object const* owner, Player const* receiver) const;
void ClearChangesMask();
};
@@ -807,8 +807,8 @@ struct ConversationData : public IsUpdateFieldStructureTag, public HasChangesMas
UpdateField<int32, 0, 3> LastLineEndTime;
UpdateField<uint32, 0, 4> Field_1C;
- void WriteCreate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Conversation const* owner, Player const* receiver) const;
- void WriteUpdate(ByteBuffer& data, EnumFlag_t<UpdateFieldFlag> fieldVisibilityFlags, Conversation const* owner, Player const* receiver) const;
+ void WriteCreate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Conversation const* owner, Player const* receiver) const;
+ void WriteUpdate(ByteBuffer& data, EnumFlag<UpdateFieldFlag> fieldVisibilityFlags, Conversation const* owner, Player const* receiver) const;
void WriteUpdate(ByteBuffer& data, UpdateMask<5> const& changesMask, bool ignoreNestedChangesMask, Conversation const* owner, Player const* receiver) const;
void ClearChangesMask();
};
diff --git a/src/server/game/Entities/Player/CollectionMgr.cpp b/src/server/game/Entities/Player/CollectionMgr.cpp
index e2d434cc85a..a715ea37b6a 100644
--- a/src/server/game/Entities/Player/CollectionMgr.cpp
+++ b/src/server/game/Entities/Player/CollectionMgr.cpp
@@ -72,7 +72,7 @@ void CollectionMgr::LoadMountDefinitions()
namespace
{
- EnumFlag_t<ToyFlags> GetToyFlags(bool isFavourite, bool hasFanfare)
+ EnumFlag<ToyFlags> GetToyFlags(bool isFavourite, bool hasFanfare)
{
ToyFlags flags = ToyFlags::None;
if (isFavourite)
diff --git a/src/server/game/Entities/Player/CollectionMgr.h b/src/server/game/Entities/Player/CollectionMgr.h
index 8c37ca1e666..bd92481fbe1 100644
--- a/src/server/game/Entities/Player/CollectionMgr.h
+++ b/src/server/game/Entities/Player/CollectionMgr.h
@@ -62,9 +62,9 @@ enum class ToyFlags : uint32
HasFanfare = 0x02
};
-namespace EnumFlag { template<> struct IsFlag<ToyFlags> : std::true_type { }; }
+DEFINE_ENUM_FLAG(ToyFlags);
-typedef std::map<uint32, EnumFlag_t<ToyFlags>> ToyBoxContainer;
+typedef std::map<uint32, EnumFlag<ToyFlags>> ToyBoxContainer;
typedef std::map<uint32, HeirloomData> HeirloomContainer;
enum MountStatusFlags : uint8
diff --git a/src/server/game/Phasing/PhaseShift.cpp b/src/server/game/Phasing/PhaseShift.cpp
index a93101c5687..16ed9aaa5e8 100644
--- a/src/server/game/Phasing/PhaseShift.cpp
+++ b/src/server/game/Phasing/PhaseShift.cpp
@@ -169,7 +169,7 @@ void PhaseShift::ModifyPhasesReferences(PhaseContainer::iterator itr, int32 refe
void PhaseShift::UpdateUnphasedFlag()
{
- EnumFlag_t<PhaseShiftFlags> unphasedFlag = !Flags.HasFlag(PhaseShiftFlags::Inverse) ? PhaseShiftFlags::Unphased : PhaseShiftFlags::InverseUnphased;
+ EnumFlag<PhaseShiftFlags> unphasedFlag = !Flags.HasFlag(PhaseShiftFlags::Inverse) ? PhaseShiftFlags::Unphased : PhaseShiftFlags::InverseUnphased;
Flags &= ~(!Flags.HasFlag(PhaseShiftFlags::Inverse) ? PhaseShiftFlags::InverseUnphased : PhaseShiftFlags::Unphased);
if (NonCosmeticReferences && !DefaultReferences)
Flags &= ~unphasedFlag;
diff --git a/src/server/game/Phasing/PhaseShift.h b/src/server/game/Phasing/PhaseShift.h
index dc77665e3e6..0fadbcc42df 100644
--- a/src/server/game/Phasing/PhaseShift.h
+++ b/src/server/game/Phasing/PhaseShift.h
@@ -48,11 +48,8 @@ enum class PhaseFlags : uint16
Personal = 0x2
};
-namespace EnumFlag
-{
- template<> struct IsFlag<PhaseShiftFlags> : std::true_type { };
- template<> struct IsFlag<PhaseFlags> : std::true_type { };
-}
+DEFINE_ENUM_FLAG(PhaseShiftFlags);
+DEFINE_ENUM_FLAG(PhaseFlags);
class TC_GAME_API PhaseShift
{
@@ -63,7 +60,7 @@ public:
: Id(id), Flags(flags), References(0), AreaConditions(conditions) { }
uint16 Id;
- EnumFlag_t<PhaseFlags> Flags;
+ EnumFlag<PhaseFlags> Flags;
int32 References;
std::vector<Condition*> const* AreaConditions;
bool operator<(PhaseRef const& right) const { return Id < right.Id; }
@@ -113,7 +110,7 @@ public:
protected:
friend class PhasingHandler;
- EnumFlag_t<PhaseShiftFlags> Flags;
+ EnumFlag<PhaseShiftFlags> Flags;
ObjectGuid PersonalGuid;
PhaseContainer Phases;
VisibleMapIdContainer VisibleMapIds;
diff --git a/src/server/game/Phasing/PhasingHandler.cpp b/src/server/game/Phasing/PhasingHandler.cpp
index aefaecc57d7..edb176de644 100644
--- a/src/server/game/Phasing/PhasingHandler.cpp
+++ b/src/server/game/Phasing/PhasingHandler.cpp
@@ -438,7 +438,7 @@ void PhasingHandler::InitDbPhaseShift(PhaseShift& phaseShift, uint8 phaseUseFlag
phaseShift.ClearPhases();
phaseShift.IsDbPhaseShift = true;
- EnumFlag_t<PhaseShiftFlags> flags = PhaseShiftFlags::None;
+ EnumFlag<PhaseShiftFlags> flags = PhaseShiftFlags::None;
if (phaseUseFlags & PHASE_USE_FLAGS_ALWAYS_VISIBLE)
flags |= PhaseShiftFlags::AlwaysVisible | PhaseShiftFlags::Unphased;
if (phaseUseFlags & PHASE_USE_FLAGS_INVERSE)