diff options
Diffstat (limited to 'src')
37 files changed, 517 insertions, 497 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 8abce2b017a..35427df1cbf 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -640,7 +640,10 @@ void Object::BuildMovementUpdate(ByteBuffer* data, CreateObjectBits flags, Playe // *data << *areaTrigger->GetMovementScript(); // AreaTriggerMovementScriptInfo if (hasOrbit) + { + using WorldPackets::AreaTrigger::operator<<; *data << areaTrigger->GetOrbit(); + } } if (flags.GameObject) diff --git a/src/server/game/Server/Packets/AchievementPackets.cpp b/src/server/game/Server/Packets/AchievementPackets.cpp index b41120dbe9f..d56d900c250 100644 --- a/src/server/game/Server/Packets/AchievementPackets.cpp +++ b/src/server/game/Server/Packets/AchievementPackets.cpp @@ -39,7 +39,7 @@ ByteBuffer& operator<<(ByteBuffer& data, CriteriaProgress const& criteria) data << criteria.Date; data << criteria.TimeFromStart; data << criteria.TimeFromCreate; - data.WriteBit(criteria.DynamicID.has_value()); + data << OptionalInit(criteria.DynamicID); data.FlushBits(); if (criteria.DynamicID) @@ -96,7 +96,7 @@ WorldPacket const* CriteriaUpdate::Write() _worldPacket << CurrentTime; _worldPacket << ElapsedTime; _worldPacket << CreationTime; - _worldPacket.WriteBit(DynamicID.has_value()); + _worldPacket << OptionalInit(DynamicID); _worldPacket.FlushBits(); if (DynamicID) @@ -135,7 +135,7 @@ WorldPacket const* AchievementEarned::Write() _worldPacket << Time; _worldPacket << uint32(EarnerNativeRealm); _worldPacket << uint32(EarnerVirtualRealm); - _worldPacket.WriteBit(Initial); + _worldPacket << Bits<1>(Initial); _worldPacket.FlushBits(); return &_worldPacket; @@ -143,11 +143,11 @@ WorldPacket const* AchievementEarned::Write() WorldPacket const* BroadcastAchievement::Write() { - _worldPacket.WriteBits(Name.length(), 7); - _worldPacket.WriteBit(GuildAchievement); + _worldPacket << SizedString::BitsSize<7>(Name); + _worldPacket << Bits<1>(GuildAchievement); _worldPacket << PlayerGUID; _worldPacket << AchievementID; - _worldPacket.WriteString(Name); + _worldPacket << SizedString::Data(Name); return &_worldPacket; } diff --git a/src/server/game/Server/Packets/AchievementPackets.h b/src/server/game/Server/Packets/AchievementPackets.h index 59be0a424d4..0c1dbd63fda 100644 --- a/src/server/game/Server/Packets/AchievementPackets.h +++ b/src/server/game/Server/Packets/AchievementPackets.h @@ -15,12 +15,12 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef game_AchievementPackets_h__ -#define game_AchievementPackets_h__ +#ifndef TRINITYCORE_ACHIEVEMENT_PACKETS_H +#define TRINITYCORE_ACHIEVEMENT_PACKETS_H -#include "Packet.h" #include "ObjectGuid.h" #include "Optional.h" +#include "Packet.h" #include "PacketUtilities.h" #include "WowTime.h" @@ -59,7 +59,7 @@ namespace WorldPackets class AllAchievementData final : public ServerPacket { public: - AllAchievementData() : ServerPacket(SMSG_ALL_ACHIEVEMENT_DATA) { } + explicit AllAchievementData() : ServerPacket(SMSG_ALL_ACHIEVEMENT_DATA) { } WorldPacket const* Write() override; @@ -69,7 +69,7 @@ namespace WorldPackets class AllAccountCriteria final : public ServerPacket { public: - AllAccountCriteria() : ServerPacket(SMSG_ALL_ACCOUNT_CRITERIA) { } + explicit AllAccountCriteria() : ServerPacket(SMSG_ALL_ACCOUNT_CRITERIA) { } WorldPacket const* Write() override; @@ -79,7 +79,7 @@ namespace WorldPackets class RespondInspectAchievements final : public ServerPacket { public: - RespondInspectAchievements() : ServerPacket(SMSG_RESPOND_INSPECT_ACHIEVEMENTS) { } + explicit RespondInspectAchievements() : ServerPacket(SMSG_RESPOND_INSPECT_ACHIEVEMENTS) { } WorldPacket const* Write() override; @@ -90,7 +90,7 @@ namespace WorldPackets class CriteriaUpdate final : public ServerPacket { public: - CriteriaUpdate() : ServerPacket(SMSG_CRITERIA_UPDATE, 4 + 8 + 16 + 4 + 4 + 4 + 4) { } + explicit CriteriaUpdate() : ServerPacket(SMSG_CRITERIA_UPDATE, 4 + 8 + 16 + 4 + 4 + 4 + 4) { } WorldPacket const* Write() override; @@ -108,7 +108,7 @@ namespace WorldPackets class AccountCriteriaUpdate final : public ServerPacket { public: - AccountCriteriaUpdate() : ServerPacket(SMSG_ACCOUNT_CRITERIA_UPDATE) { } + explicit AccountCriteriaUpdate() : ServerPacket(SMSG_ACCOUNT_CRITERIA_UPDATE) { } WorldPacket const* Write() override; @@ -118,7 +118,7 @@ namespace WorldPackets class CriteriaDeleted final : public ServerPacket { public: - CriteriaDeleted() : ServerPacket(SMSG_CRITERIA_DELETED, 4) { } + explicit CriteriaDeleted() : ServerPacket(SMSG_CRITERIA_DELETED, 4) { } WorldPacket const* Write() override; @@ -128,7 +128,7 @@ namespace WorldPackets class AchievementDeleted final : public ServerPacket { public: - AchievementDeleted() : ServerPacket(SMSG_ACHIEVEMENT_DELETED, 8) { } + explicit AchievementDeleted() : ServerPacket(SMSG_ACHIEVEMENT_DELETED, 8) { } WorldPacket const* Write() override; @@ -139,7 +139,7 @@ namespace WorldPackets class AchievementEarned final : public ServerPacket { public: - AchievementEarned() : ServerPacket(SMSG_ACHIEVEMENT_EARNED, 16 + 4 + 4 + 4 + 4 + 1 + 16) { } + explicit AchievementEarned() : ServerPacket(SMSG_ACHIEVEMENT_EARNED, 16 + 4 + 4 + 4 + 4 + 1 + 16) { } WorldPacket const* Write() override; @@ -155,7 +155,7 @@ namespace WorldPackets class BroadcastAchievement final : public ServerPacket { public: - BroadcastAchievement() : ServerPacket(SMSG_BROADCAST_ACHIEVEMENT) { } + explicit BroadcastAchievement() : ServerPacket(SMSG_BROADCAST_ACHIEVEMENT) { } WorldPacket const* Write() override; @@ -180,7 +180,7 @@ namespace WorldPackets class GuildCriteriaUpdate final : public ServerPacket { public: - GuildCriteriaUpdate() : ServerPacket(SMSG_GUILD_CRITERIA_UPDATE) { } + explicit GuildCriteriaUpdate() : ServerPacket(SMSG_GUILD_CRITERIA_UPDATE) { } WorldPacket const* Write() override; @@ -190,7 +190,7 @@ namespace WorldPackets class GuildCriteriaDeleted final : public ServerPacket { public: - GuildCriteriaDeleted() : ServerPacket(SMSG_GUILD_CRITERIA_DELETED, 16 + 4) { } + explicit GuildCriteriaDeleted() : ServerPacket(SMSG_GUILD_CRITERIA_DELETED, 16 + 4) { } WorldPacket const* Write() override; @@ -201,7 +201,7 @@ namespace WorldPackets class GuildSetFocusedAchievement final : public ClientPacket { public: - GuildSetFocusedAchievement(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_SET_FOCUSED_ACHIEVEMENT, std::move(packet)) { } + explicit GuildSetFocusedAchievement(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_SET_FOCUSED_ACHIEVEMENT, std::move(packet)) { } void Read() override; @@ -211,7 +211,7 @@ namespace WorldPackets class GuildAchievementDeleted final : public ServerPacket { public: - GuildAchievementDeleted() : ServerPacket(SMSG_GUILD_ACHIEVEMENT_DELETED, 16 + 4 + 4) { } + explicit GuildAchievementDeleted() : ServerPacket(SMSG_GUILD_ACHIEVEMENT_DELETED, 16 + 4 + 4) { } WorldPacket const* Write() override; @@ -223,7 +223,7 @@ namespace WorldPackets class GuildAchievementEarned final : public ServerPacket { public: - GuildAchievementEarned() : ServerPacket(SMSG_GUILD_ACHIEVEMENT_EARNED, 16 + 4 + 4) { } + explicit GuildAchievementEarned() : ServerPacket(SMSG_GUILD_ACHIEVEMENT_EARNED, 16 + 4 + 4) { } WorldPacket const* Write() override; @@ -235,7 +235,7 @@ namespace WorldPackets class AllGuildAchievements final : public ServerPacket { public: - AllGuildAchievements() : ServerPacket(SMSG_ALL_GUILD_ACHIEVEMENTS) { } + explicit AllGuildAchievements() : ServerPacket(SMSG_ALL_GUILD_ACHIEVEMENTS) { } WorldPacket const* Write() override; @@ -245,7 +245,7 @@ namespace WorldPackets class GuildGetAchievementMembers final : public ClientPacket { public: - GuildGetAchievementMembers(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_GET_ACHIEVEMENT_MEMBERS, std::move(packet)) { } + explicit GuildGetAchievementMembers(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_GET_ACHIEVEMENT_MEMBERS, std::move(packet)) { } void Read() override; @@ -265,7 +265,7 @@ namespace WorldPackets class GuildAchievementMembers final : public ServerPacket { public: - GuildAchievementMembers() : ServerPacket(SMSG_GUILD_ACHIEVEMENT_MEMBERS) { } + explicit GuildAchievementMembers() : ServerPacket(SMSG_GUILD_ACHIEVEMENT_MEMBERS) { } WorldPacket const* Write() override; @@ -278,4 +278,4 @@ namespace WorldPackets } } -#endif // game_AchievementPackets_h__ +#endif // TRINITYCORE_ACHIEVEMENT_PACKETS_H diff --git a/src/server/game/Server/Packets/AddonPackets.cpp b/src/server/game/Server/Packets/AddonPackets.cpp index cf1fdb80457..090f785cf5a 100644 --- a/src/server/game/Server/Packets/AddonPackets.cpp +++ b/src/server/game/Server/Packets/AddonPackets.cpp @@ -17,25 +17,22 @@ #include "AddonPackets.h" #include "ByteBuffer.h" +#include "PacketUtilities.h" -ByteBuffer& WorldPackets::Addon::operator>>(ByteBuffer& data, AddOnInfo& addonInfo) +namespace WorldPackets::Addon +{ +ByteBuffer& operator>>(ByteBuffer& data, AddOnInfo& addonInfo) { data.ResetBitPos(); - uint32 nameLength = data.ReadBits(10); - uint32 versionLength = data.ReadBits(10); - addonInfo.Loaded = data.ReadBit(); - addonInfo.Disabled = data.ReadBit(); - if (nameLength > 1) - { - addonInfo.Name = data.ReadString(nameLength - 1); - data.read_skip<uint8>(); // null terminator - } - if (versionLength > 1) - { - addonInfo.Version = data.ReadString(versionLength - 1); - data.read_skip<uint8>(); // null terminator - } + data >> SizedCString::BitsSize<10>(addonInfo.Name); + data >> SizedCString::BitsSize<10>(addonInfo.Version); + data >> Bits<1>(addonInfo.Loaded); + data >> Bits<1>(addonInfo.Disabled); + + data >> SizedCString::Data(addonInfo.Name); + data >> SizedCString::Data(addonInfo.Version); return data; } +} diff --git a/src/server/game/Server/Packets/AddonPackets.h b/src/server/game/Server/Packets/AddonPackets.h index cb9ed03ba7f..471bb517838 100644 --- a/src/server/game/Server/Packets/AddonPackets.h +++ b/src/server/game/Server/Packets/AddonPackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef AddonPackets_h__ -#define AddonPackets_h__ +#ifndef TRINITYCORE_ADDON_PACKETS_H +#define TRINITYCORE_ADDON_PACKETS_H #include <string> @@ -38,4 +38,4 @@ namespace WorldPackets } } -#endif // AddonPackets_h__ +#endif // TRINITYCORE_ADDON_PACKETS_H diff --git a/src/server/game/Server/Packets/AdventureJournalPackets.cpp b/src/server/game/Server/Packets/AdventureJournalPackets.cpp index 49f4b9e785d..055da2f56bd 100644 --- a/src/server/game/Server/Packets/AdventureJournalPackets.cpp +++ b/src/server/game/Server/Packets/AdventureJournalPackets.cpp @@ -16,10 +16,9 @@ */ #include "AdventureJournalPackets.h" +#include "PacketUtilities.h" -namespace WorldPackets -{ -namespace AdventureJournal +namespace WorldPackets::AdventureJournal { void AdventureJournalOpenQuest::Read() { @@ -28,7 +27,7 @@ void AdventureJournalOpenQuest::Read() void AdventureJournalUpdateSuggestions::Read() { - OnLevelUp = _worldPacket.ReadBit(); + _worldPacket >> Bits<1>(OnLevelUp); } ByteBuffer& operator<<(ByteBuffer& data, AdventureJournalEntry const& adventureJournalEntry) @@ -41,8 +40,7 @@ ByteBuffer& operator<<(ByteBuffer& data, AdventureJournalEntry const& adventureJ WorldPacket const* AdventureJournalDataResponse::Write() { - _worldPacket.WriteBit(OnLevelUp); - _worldPacket.FlushBits(); + _worldPacket << Bits<1>(OnLevelUp); _worldPacket << uint32(Entries.size()); for (AdventureJournalEntry const& adventureJournalEntry : Entries) @@ -51,4 +49,3 @@ WorldPacket const* AdventureJournalDataResponse::Write() return &_worldPacket; } } -} diff --git a/src/server/game/Server/Packets/AdventureJournalPackets.h b/src/server/game/Server/Packets/AdventureJournalPackets.h index b87638b929c..a4a938ab55f 100644 --- a/src/server/game/Server/Packets/AdventureJournalPackets.h +++ b/src/server/game/Server/Packets/AdventureJournalPackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef AdventureJournalPackets_h__ -#define AdventureJournalPackets_h__ +#ifndef TRINITYCORE_ADVENTURE_JOURNAL_PACKETS_H +#define TRINITYCORE_ADVENTURE_JOURNAL_PACKETS_H #include "Packet.h" @@ -27,7 +27,7 @@ namespace WorldPackets class AdventureJournalOpenQuest final : public ClientPacket { public: - AdventureJournalOpenQuest(WorldPacket&& packet) : ClientPacket(CMSG_ADVENTURE_JOURNAL_OPEN_QUEST, std::move(packet)) { } + explicit AdventureJournalOpenQuest(WorldPacket&& packet) : ClientPacket(CMSG_ADVENTURE_JOURNAL_OPEN_QUEST, std::move(packet)) { } void Read() override; @@ -37,7 +37,7 @@ namespace WorldPackets class AdventureJournalUpdateSuggestions final : public ClientPacket { public: - AdventureJournalUpdateSuggestions(WorldPacket&& packet) : ClientPacket(CMSG_ADVENTURE_JOURNAL_UPDATE_SUGGESTIONS, std::move(packet)) { } + explicit AdventureJournalUpdateSuggestions(WorldPacket&& packet) : ClientPacket(CMSG_ADVENTURE_JOURNAL_UPDATE_SUGGESTIONS, std::move(packet)) { } void Read() override; @@ -53,7 +53,7 @@ namespace WorldPackets class AdventureJournalDataResponse final : public ServerPacket { public: - AdventureJournalDataResponse() : ServerPacket(SMSG_ADVENTURE_JOURNAL_DATA_RESPONSE, 7) { } + explicit AdventureJournalDataResponse() : ServerPacket(SMSG_ADVENTURE_JOURNAL_DATA_RESPONSE, 7) { } WorldPacket const* Write() override; @@ -63,4 +63,4 @@ namespace WorldPackets } } -#endif // AdventureJournalPackets_h__ +#endif // TRINITYCORE_ADVENTURE_JOURNAL_PACKETS_H diff --git a/src/server/game/Server/Packets/AdventureMapPackets.cpp b/src/server/game/Server/Packets/AdventureMapPackets.cpp index 01c1867f492..c0d798abecd 100644 --- a/src/server/game/Server/Packets/AdventureMapPackets.cpp +++ b/src/server/game/Server/Packets/AdventureMapPackets.cpp @@ -16,10 +16,9 @@ */ #include "AdventureMapPackets.h" +#include "PacketUtilities.h" -namespace WorldPackets -{ -namespace AdventureMap +namespace WorldPackets::AdventureMap { void CheckIsAdventureMapPoiValid::Read() { @@ -29,7 +28,7 @@ void CheckIsAdventureMapPoiValid::Read() WorldPacket const* PlayerIsAdventureMapPoiValid::Write() { _worldPacket << AdventureMapPoiID; - _worldPacket.WriteBit(IsVisible); + _worldPacket << Bits<1>(IsVisible); _worldPacket.FlushBits(); return &_worldPacket; @@ -40,4 +39,3 @@ void AdventureMapStartQuest::Read() _worldPacket >> QuestID; } } -} diff --git a/src/server/game/Server/Packets/AdventureMapPackets.h b/src/server/game/Server/Packets/AdventureMapPackets.h index e5226f6aa4e..da8c8cbae3b 100644 --- a/src/server/game/Server/Packets/AdventureMapPackets.h +++ b/src/server/game/Server/Packets/AdventureMapPackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef AdventureMapPackets_h__ -#define AdventureMapPackets_h__ +#ifndef TRINITYCORE_ADVENTURE_MAP_PACKETS_H +#define TRINITYCORE_ADVENTURE_MAP_PACKETS_H #include "Packet.h" @@ -27,7 +27,7 @@ namespace WorldPackets class CheckIsAdventureMapPoiValid final : public ClientPacket { public: - CheckIsAdventureMapPoiValid(WorldPacket&& packet) : ClientPacket(CMSG_CHECK_IS_ADVENTURE_MAP_POI_VALID, std::move(packet)) { } + explicit CheckIsAdventureMapPoiValid(WorldPacket&& packet) : ClientPacket(CMSG_CHECK_IS_ADVENTURE_MAP_POI_VALID, std::move(packet)) { } void Read() override; @@ -37,7 +37,7 @@ namespace WorldPackets class PlayerIsAdventureMapPoiValid final : public ServerPacket { public: - PlayerIsAdventureMapPoiValid() : ServerPacket(SMSG_PLAYER_IS_ADVENTURE_MAP_POI_VALID) { } + explicit PlayerIsAdventureMapPoiValid() : ServerPacket(SMSG_PLAYER_IS_ADVENTURE_MAP_POI_VALID) { } WorldPacket const* Write() override; @@ -48,7 +48,7 @@ namespace WorldPackets class AdventureMapStartQuest final : public ClientPacket { public: - AdventureMapStartQuest(WorldPacket&& packet) : ClientPacket(CMSG_ADVENTURE_MAP_START_QUEST, std::move(packet)) { } + explicit AdventureMapStartQuest(WorldPacket&& packet) : ClientPacket(CMSG_ADVENTURE_MAP_START_QUEST, std::move(packet)) { } void Read() override; @@ -57,4 +57,4 @@ namespace WorldPackets } } -#endif // AdventureMapPackets_h__ +#endif // TRINITYCORE_ADVENTURE_MAP_PACKETS_H diff --git a/src/server/game/Server/Packets/AllPackets.h b/src/server/game/Server/Packets/AllPackets.h index a9658aec4eb..211c1bcb38b 100644 --- a/src/server/game/Server/Packets/AllPackets.h +++ b/src/server/game/Server/Packets/AllPackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef AllPackets_h__ -#define AllPackets_h__ +#ifndef TRINITYCORE_ALL_PACKETS_H +#define TRINITYCORE_ALL_PACKETS_H #include "AchievementPackets.h" #include "AddonPackets.h" @@ -28,10 +28,9 @@ #include "AuthenticationPackets.h" #include "AzeritePackets.h" #include "BankPackets.h" -#include "BlackMarketPackets.h" +#include "BattlePetPackets.h" #include "BattlegroundPackets.h" #include "BattlenetPackets.h" -#include "BattlePetPackets.h" #include "BlackMarketPackets.h" #include "CalendarPackets.h" #include "ChannelPackets.h" @@ -60,7 +59,6 @@ #include "PartyPackets.h" #include "PetPackets.h" #include "PetitionPackets.h" -#include "PetPackets.h" #include "QueryPackets.h" #include "QuestPackets.h" #include "ReferAFriendPackets.h" @@ -80,9 +78,10 @@ #include "TraitPackets.h" #include "TransmogrificationPackets.h" #include "VehiclePackets.h" +#include "VignettePackets.h" #include "VoidStoragePackets.h" #include "WardenPackets.h" #include "WhoPackets.h" #include "WorldStatePackets.h" -#endif // AllPackets_h__ +#endif // TRINITYCORE_ALL_PACKETS_H diff --git a/src/server/game/Server/Packets/AreaTriggerPackets.cpp b/src/server/game/Server/Packets/AreaTriggerPackets.cpp index c03ddb7d058..0bc53ff4cfc 100644 --- a/src/server/game/Server/Packets/AreaTriggerPackets.cpp +++ b/src/server/game/Server/Packets/AreaTriggerPackets.cpp @@ -16,13 +16,16 @@ */ #include "AreaTriggerPackets.h" +#include "PacketUtilities.h" -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::AreaTrigger::AreaTriggerSplineInfo const& areaTriggerSpline) +namespace WorldPackets::AreaTrigger +{ +ByteBuffer& operator<<(ByteBuffer& data, AreaTriggerSplineInfo const& areaTriggerSpline) { data << uint32(areaTriggerSpline.TimeToTarget); data << uint32(areaTriggerSpline.ElapsedTimeForMovement); - data.WriteBits(areaTriggerSpline.Points.size(), 16); + data << BitsSize<16>(areaTriggerSpline.Points); data.FlushBits(); for (TaggedPosition<Position::XYZ> const& point : areaTriggerSpline.Points) @@ -33,10 +36,10 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::AreaTrigger::AreaTriggerS ByteBuffer& operator<<(ByteBuffer& data, AreaTriggerOrbitInfo const& areaTriggerCircularMovement) { - data.WriteBit(areaTriggerCircularMovement.PathTarget.has_value()); - data.WriteBit(areaTriggerCircularMovement.Center.has_value()); - data.WriteBit(areaTriggerCircularMovement.CounterClockwise); - data.WriteBit(areaTriggerCircularMovement.CanLoop); + data << OptionalInit(areaTriggerCircularMovement.PathTarget); + data << OptionalInit(areaTriggerCircularMovement.Center); + data << Bits<1>(areaTriggerCircularMovement.CounterClockwise); + data << Bits<1>(areaTriggerCircularMovement.CanLoop); data << uint32(areaTriggerCircularMovement.TimeToTarget); data << int32(areaTriggerCircularMovement.ElapsedTimeForMovement); @@ -55,7 +58,7 @@ ByteBuffer& operator<<(ByteBuffer& data, AreaTriggerOrbitInfo const& areaTrigger return data; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::AreaTrigger::AreaTriggerMovementScriptInfo const& areaTriggerMovementScript) +ByteBuffer& operator<<(ByteBuffer& data, AreaTriggerMovementScriptInfo const& areaTriggerMovementScript) { data << int32(areaTriggerMovementScript.SpellScriptID); data << areaTriggerMovementScript.Center; @@ -63,30 +66,30 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::AreaTrigger::AreaTriggerM return data; } -void WorldPackets::AreaTrigger::AreaTrigger::Read() +void AreaTrigger::Read() { _worldPacket >> AreaTriggerID; - Entered = _worldPacket.ReadBit(); - FromClient = _worldPacket.ReadBit(); + _worldPacket >> Bits<1>(Entered); + _worldPacket >> Bits<1>(FromClient); } -WorldPacket const* WorldPackets::AreaTrigger::AreaTriggerDenied::Write() +WorldPacket const* AreaTriggerDenied::Write() { _worldPacket << int32(AreaTriggerID); - _worldPacket.WriteBit(Entered); + _worldPacket << Bits<1>(Entered); _worldPacket.FlushBits(); return &_worldPacket; } -WorldPacket const* WorldPackets::AreaTrigger::AreaTriggerRePath::Write() +WorldPacket const* AreaTriggerRePath::Write() { _worldPacket << TriggerGUID; _worldPacket << Unused_1100; - _worldPacket.WriteBit(AreaTriggerSpline.has_value()); - _worldPacket.WriteBit(AreaTriggerOrbit.has_value()); - _worldPacket.WriteBit(AreaTriggerMovementScript.has_value()); + _worldPacket << OptionalInit(AreaTriggerSpline); + _worldPacket << OptionalInit(AreaTriggerOrbit); + _worldPacket << OptionalInit(AreaTriggerMovementScript); _worldPacket.FlushBits(); if (AreaTriggerSpline) @@ -101,10 +104,11 @@ WorldPacket const* WorldPackets::AreaTrigger::AreaTriggerRePath::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::AreaTrigger::AreaTriggerPlaySpellVisual::Write() +WorldPacket const* AreaTriggerPlaySpellVisual::Write() { _worldPacket << AreaTriggerGUID; _worldPacket << uint32(SpellVisualID); return &_worldPacket; } +} diff --git a/src/server/game/Server/Packets/AreaTriggerPackets.h b/src/server/game/Server/Packets/AreaTriggerPackets.h index 1186b772b60..3c770295a81 100644 --- a/src/server/game/Server/Packets/AreaTriggerPackets.h +++ b/src/server/game/Server/Packets/AreaTriggerPackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef AreaTriggerPackets_h__ -#define AreaTriggerPackets_h__ +#ifndef TRINITYCORE_AREA_TRIGGER_PACKETS_H +#define TRINITYCORE_AREA_TRIGGER_PACKETS_H #include "Packet.h" #include "AreaTriggerTemplate.h" @@ -43,7 +43,7 @@ namespace WorldPackets class AreaTrigger final : public ClientPacket { public: - AreaTrigger(WorldPacket&& packet) : ClientPacket(CMSG_AREA_TRIGGER, std::move(packet)) { } + explicit AreaTrigger(WorldPacket&& packet) : ClientPacket(CMSG_AREA_TRIGGER, std::move(packet)) { } void Read() override; @@ -55,7 +55,7 @@ namespace WorldPackets class AreaTriggerDenied final : public ServerPacket { public: - AreaTriggerDenied() : ServerPacket(SMSG_AREA_TRIGGER_DENIED, 5) { } + explicit AreaTriggerDenied() : ServerPacket(SMSG_AREA_TRIGGER_DENIED, 5) { } int32 AreaTriggerID = 0; bool Entered = false; @@ -66,7 +66,7 @@ namespace WorldPackets class AreaTriggerNoCorpse final : public ServerPacket { public: - AreaTriggerNoCorpse() : ServerPacket(SMSG_AREA_TRIGGER_NO_CORPSE, 0) { } + explicit AreaTriggerNoCorpse() : ServerPacket(SMSG_AREA_TRIGGER_NO_CORPSE, 0) { } WorldPacket const* Write() override { return &_worldPacket; } }; @@ -74,7 +74,7 @@ namespace WorldPackets class AreaTriggerRePath final : public ServerPacket { public: - AreaTriggerRePath() : ServerPacket(SMSG_AREA_TRIGGER_RE_PATH, 17) { } + explicit AreaTriggerRePath() : ServerPacket(SMSG_AREA_TRIGGER_RE_PATH, 17) { } WorldPacket const* Write() override; @@ -88,16 +88,16 @@ namespace WorldPackets class AreaTriggerPlaySpellVisual final : public ServerPacket { public: - AreaTriggerPlaySpellVisual() : ServerPacket(SMSG_AREA_TRIGGER_PLAY_SPELL_VISUAL, 16 + 4) { } + explicit AreaTriggerPlaySpellVisual() : ServerPacket(SMSG_AREA_TRIGGER_PLAY_SPELL_VISUAL, 16 + 4) { } WorldPacket const* Write() override; ObjectGuid AreaTriggerGUID; uint32 SpellVisualID = 0; }; + + ByteBuffer& operator<<(ByteBuffer& data, AreaTriggerOrbitInfo const& areaTriggerCircularMovement); } } -ByteBuffer& operator<<(ByteBuffer& data, AreaTriggerOrbitInfo const& areaTriggerCircularMovement); - -#endif // AreaTriggerPackets_h__ +#endif // TRINITYCORE_AREA_TRIGGER_PACKETS_H diff --git a/src/server/game/Server/Packets/ArtifactPackets.cpp b/src/server/game/Server/Packets/ArtifactPackets.cpp index fad4218fc27..8e8a25f5360 100644 --- a/src/server/game/Server/Packets/ArtifactPackets.cpp +++ b/src/server/game/Server/Packets/ArtifactPackets.cpp @@ -17,14 +17,16 @@ #include "ArtifactPackets.h" -ByteBuffer& operator>>(ByteBuffer& data, WorldPackets::Artifact::ArtifactAddPower::ArtifactPowerChoice& artifactPowerChoice) +namespace WorldPackets::Artifact +{ +ByteBuffer& operator>>(ByteBuffer& data, ArtifactPowerChoice& artifactPowerChoice) { data >> artifactPowerChoice.ArtifactPowerID; data >> artifactPowerChoice.Rank; return data; } -void WorldPackets::Artifact::ArtifactAddPower::Read() +void ArtifactAddPower::Read() { _worldPacket >> ArtifactGUID; _worldPacket >> ForgeGUID; @@ -33,20 +35,20 @@ void WorldPackets::Artifact::ArtifactAddPower::Read() _worldPacket >> artifactPowerChoice; } -void WorldPackets::Artifact::ArtifactSetAppearance::Read() +void ArtifactSetAppearance::Read() { _worldPacket >> ArtifactGUID; _worldPacket >> ForgeGUID; _worldPacket >> ArtifactAppearanceID; } -void WorldPackets::Artifact::ConfirmArtifactRespec::Read() +void ConfirmArtifactRespec::Read() { _worldPacket >> ArtifactGUID; _worldPacket >> NpcGUID; } -WorldPacket const* WorldPackets::Artifact::OpenArtifactForge::Write() +WorldPacket const* OpenArtifactForge::Write() { _worldPacket << ArtifactGUID; _worldPacket << ForgeGUID; @@ -54,7 +56,7 @@ WorldPacket const* WorldPackets::Artifact::OpenArtifactForge::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Artifact::ArtifactRespecPrompt::Write() +WorldPacket const* ArtifactRespecPrompt::Write() { _worldPacket << ArtifactGUID; _worldPacket << NpcGUID; @@ -62,10 +64,11 @@ WorldPacket const* WorldPackets::Artifact::ArtifactRespecPrompt::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Artifact::ArtifactXpGain::Write() +WorldPacket const* ArtifactXpGain::Write() { _worldPacket << ArtifactGUID; _worldPacket << uint64(Amount); return &_worldPacket; } +} diff --git a/src/server/game/Server/Packets/ArtifactPackets.h b/src/server/game/Server/Packets/ArtifactPackets.h index d72b54c8ba8..b45140d957f 100644 --- a/src/server/game/Server/Packets/ArtifactPackets.h +++ b/src/server/game/Server/Packets/ArtifactPackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef ArtifactPackets_h__ -#define ArtifactPackets_h__ +#ifndef TRINITYCORE_ARTIFACT_PACKETS_H +#define TRINITYCORE_ARTIFACT_PACKETS_H #include "Packet.h" #include "ObjectGuid.h" @@ -26,16 +26,16 @@ namespace WorldPackets { namespace Artifact { + struct ArtifactPowerChoice + { + int32 ArtifactPowerID = 0; + uint8 Rank = 0; + }; + class ArtifactAddPower final : public ClientPacket { public: - struct ArtifactPowerChoice - { - int32 ArtifactPowerID = 0; - uint8 Rank = 0; - }; - - ArtifactAddPower(WorldPacket&& packet) : ClientPacket(CMSG_ARTIFACT_ADD_POWER, std::move(packet)) { } + explicit ArtifactAddPower(WorldPacket&& packet) : ClientPacket(CMSG_ARTIFACT_ADD_POWER, std::move(packet)) { } void Read() override; @@ -47,7 +47,7 @@ namespace WorldPackets class ArtifactSetAppearance final : public ClientPacket { public: - ArtifactSetAppearance(WorldPacket&& packet) : ClientPacket(CMSG_ARTIFACT_SET_APPEARANCE, std::move(packet)) { } + explicit ArtifactSetAppearance(WorldPacket&& packet) : ClientPacket(CMSG_ARTIFACT_SET_APPEARANCE, std::move(packet)) { } void Read() override; @@ -59,7 +59,7 @@ namespace WorldPackets class ConfirmArtifactRespec final : public ClientPacket { public: - ConfirmArtifactRespec(WorldPacket&& packet) : ClientPacket(CMSG_CONFIRM_ARTIFACT_RESPEC, std::move(packet)) { } + explicit ConfirmArtifactRespec(WorldPacket&& packet) : ClientPacket(CMSG_CONFIRM_ARTIFACT_RESPEC, std::move(packet)) { } void Read() override; @@ -70,7 +70,7 @@ namespace WorldPackets class OpenArtifactForge final : public ServerPacket { public: - OpenArtifactForge() : ServerPacket(SMSG_OPEN_ARTIFACT_FORGE, 16 + 16) { } + explicit OpenArtifactForge() : ServerPacket(SMSG_OPEN_ARTIFACT_FORGE, 16 + 16) { } WorldPacket const* Write() override; @@ -81,7 +81,7 @@ namespace WorldPackets class ArtifactRespecPrompt final : public ServerPacket { public: - ArtifactRespecPrompt() : ServerPacket(SMSG_ARTIFACT_RESPEC_PROMPT, 16 + 16) { } + explicit ArtifactRespecPrompt() : ServerPacket(SMSG_ARTIFACT_RESPEC_PROMPT, 16 + 16) { } WorldPacket const* Write() override; @@ -92,7 +92,7 @@ namespace WorldPackets class ArtifactXpGain final : public ServerPacket { public: - ArtifactXpGain() : ServerPacket(SMSG_ARTIFACT_XP_GAIN, 16 + 4) { } + explicit ArtifactXpGain() : ServerPacket(SMSG_ARTIFACT_XP_GAIN, 16 + 4) { } WorldPacket const* Write() override; @@ -102,4 +102,4 @@ namespace WorldPackets } } -#endif // ArtifactPackets_h__ +#endif // TRINITYCORE_ARTIFACT_PACKETS_H diff --git a/src/server/game/Server/Packets/AuctionHousePackets.cpp b/src/server/game/Server/Packets/AuctionHousePackets.cpp index 0bab4259ff7..e19b501afe8 100644 --- a/src/server/game/Server/Packets/AuctionHousePackets.cpp +++ b/src/server/game/Server/Packets/AuctionHousePackets.cpp @@ -19,7 +19,6 @@ #include "AuctionHouseMgr.h" #include "DB2Stores.h" #include "ObjectGuid.h" -#include "Util.h" namespace WorldPackets::AuctionHouse { diff --git a/src/server/game/Server/Packets/AuctionHousePackets.h b/src/server/game/Server/Packets/AuctionHousePackets.h index db88408c082..17852023ce5 100644 --- a/src/server/game/Server/Packets/AuctionHousePackets.h +++ b/src/server/game/Server/Packets/AuctionHousePackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef AuctionHousePackets_h__ -#define AuctionHousePackets_h__ +#ifndef TRINITYCORE_AUCTION_HOUSE_PACKETS_H +#define TRINITYCORE_AUCTION_HOUSE_PACKETS_H #include "Packet.h" #include "AddonPackets.h" @@ -146,7 +146,7 @@ namespace WorldPackets class AuctionBrowseQuery final : public ClientPacket { public: - AuctionBrowseQuery(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_BROWSE_QUERY, std::move(packet)) { } + explicit AuctionBrowseQuery(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_BROWSE_QUERY, std::move(packet)) { } void Read() override; @@ -169,7 +169,7 @@ namespace WorldPackets class AuctionCancelCommoditiesPurchase final : public ClientPacket { public: - AuctionCancelCommoditiesPurchase(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_CANCEL_COMMODITIES_PURCHASE, std::move(packet)) { } + explicit AuctionCancelCommoditiesPurchase(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_CANCEL_COMMODITIES_PURCHASE, std::move(packet)) { } void Read() override; @@ -180,7 +180,7 @@ namespace WorldPackets class AuctionConfirmCommoditiesPurchase final : public ClientPacket { public: - AuctionConfirmCommoditiesPurchase(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_CONFIRM_COMMODITIES_PURCHASE, std::move(packet)) { } + explicit AuctionConfirmCommoditiesPurchase(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_CONFIRM_COMMODITIES_PURCHASE, std::move(packet)) { } void Read() override; @@ -193,7 +193,7 @@ namespace WorldPackets class AuctionHelloRequest final : public ClientPacket { public: - AuctionHelloRequest(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_HELLO_REQUEST, std::move(packet)) { } + explicit AuctionHelloRequest(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_HELLO_REQUEST, std::move(packet)) { } void Read() override; @@ -203,7 +203,7 @@ namespace WorldPackets class AuctionListBiddedItems final : public ClientPacket { public: - AuctionListBiddedItems(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_LIST_BIDDED_ITEMS, std::move(packet)) { } + explicit AuctionListBiddedItems(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_LIST_BIDDED_ITEMS, std::move(packet)) { } void Read() override; @@ -217,7 +217,7 @@ namespace WorldPackets class AuctionListBucketsByBucketKeys final : public ClientPacket { public: - AuctionListBucketsByBucketKeys(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_LIST_BUCKETS_BY_BUCKET_KEYS, std::move(packet)) { } + explicit AuctionListBucketsByBucketKeys(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_LIST_BUCKETS_BY_BUCKET_KEYS, std::move(packet)) { } void Read() override; @@ -230,7 +230,7 @@ namespace WorldPackets class AuctionListItemsByBucketKey final : public ClientPacket { public: - AuctionListItemsByBucketKey(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_LIST_ITEMS_BY_BUCKET_KEY, std::move(packet)) { } + explicit AuctionListItemsByBucketKey(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_LIST_ITEMS_BY_BUCKET_KEY, std::move(packet)) { } void Read() override; @@ -245,7 +245,7 @@ namespace WorldPackets class AuctionListItemsByItemID final : public ClientPacket { public: - AuctionListItemsByItemID(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_LIST_ITEMS_BY_ITEM_ID, std::move(packet)) { } + explicit AuctionListItemsByItemID(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_LIST_ITEMS_BY_ITEM_ID, std::move(packet)) { } void Read() override; @@ -260,7 +260,7 @@ namespace WorldPackets class AuctionListOwnedItems final : public ClientPacket { public: - AuctionListOwnedItems(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_LIST_OWNED_ITEMS, std::move(packet)) { } + explicit AuctionListOwnedItems(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_LIST_OWNED_ITEMS, std::move(packet)) { } void Read() override; @@ -273,7 +273,7 @@ namespace WorldPackets class AuctionPlaceBid final : public ClientPacket { public: - AuctionPlaceBid(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_PLACE_BID, std::move(packet)) { } + explicit AuctionPlaceBid(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_PLACE_BID, std::move(packet)) { } void Read() override; @@ -286,7 +286,7 @@ namespace WorldPackets class AuctionRemoveItem final : public ClientPacket { public: - AuctionRemoveItem(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_REMOVE_ITEM, std::move(packet)) { } + explicit AuctionRemoveItem(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_REMOVE_ITEM, std::move(packet)) { } void Read() override; @@ -299,7 +299,7 @@ namespace WorldPackets class AuctionReplicateItems final : public ClientPacket { public: - AuctionReplicateItems(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_REPLICATE_ITEMS, std::move(packet)) { } + explicit AuctionReplicateItems(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_REPLICATE_ITEMS, std::move(packet)) { } void Read() override; @@ -314,7 +314,7 @@ namespace WorldPackets class AuctionSellCommodity final : public ClientPacket { public: - AuctionSellCommodity(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_SELL_COMMODITY, std::move(packet)) { } + explicit AuctionSellCommodity(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_SELL_COMMODITY, std::move(packet)) { } void Read() override; @@ -328,7 +328,7 @@ namespace WorldPackets class AuctionSellItem final : public ClientPacket { public: - AuctionSellItem(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_SELL_ITEM, std::move(packet)) { } + explicit AuctionSellItem(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_SELL_ITEM, std::move(packet)) { } void Read() override; @@ -343,7 +343,7 @@ namespace WorldPackets class AuctionSetFavoriteItem final : public ClientPacket { public: - AuctionSetFavoriteItem(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_SET_FAVORITE_ITEM, std::move(packet)) { } + explicit AuctionSetFavoriteItem(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_SET_FAVORITE_ITEM, std::move(packet)) { } void Read() override; @@ -354,7 +354,7 @@ namespace WorldPackets class AuctionGetCommodityQuote final : public ClientPacket { public: - AuctionGetCommodityQuote(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_GET_COMMODITY_QUOTE, std::move(packet)) { } + explicit AuctionGetCommodityQuote(WorldPacket&& packet) : ClientPacket(CMSG_AUCTION_GET_COMMODITY_QUOTE, std::move(packet)) { } void Read() override; @@ -367,7 +367,7 @@ namespace WorldPackets class AuctionClosedNotification final : public ServerPacket { public: - AuctionClosedNotification() : ServerPacket(SMSG_AUCTION_CLOSED_NOTIFICATION, 45) { } + explicit AuctionClosedNotification() : ServerPacket(SMSG_AUCTION_CLOSED_NOTIFICATION, 45) { } WorldPacket const* Write() override; @@ -379,7 +379,7 @@ namespace WorldPackets class AuctionCommandResult final : public ServerPacket { public: - AuctionCommandResult() : ServerPacket(SMSG_AUCTION_COMMAND_RESULT, 4 + 4 + 4 + 8 + 4 + 8 + 8 + 8) { } + explicit AuctionCommandResult() : ServerPacket(SMSG_AUCTION_COMMAND_RESULT, 4 + 4 + 4 + 8 + 4 + 8 + 8 + 8) { } WorldPacket const* Write() override; @@ -396,7 +396,7 @@ namespace WorldPackets class AuctionGetCommodityQuoteResult final : public ServerPacket { public: - AuctionGetCommodityQuoteResult() : ServerPacket(SMSG_AUCTION_GET_COMMODITY_QUOTE_RESULT, 1 + 8 + 4 + 4 + 4 + 4) { } + explicit AuctionGetCommodityQuoteResult() : ServerPacket(SMSG_AUCTION_GET_COMMODITY_QUOTE_RESULT, 1 + 8 + 4 + 4 + 4 + 4) { } WorldPacket const* Write() override; @@ -410,7 +410,7 @@ namespace WorldPackets class AuctionHelloResponse final : public ServerPacket { public: - AuctionHelloResponse() : ServerPacket(SMSG_AUCTION_HELLO_RESPONSE, 1 + 16) { } + explicit AuctionHelloResponse() : ServerPacket(SMSG_AUCTION_HELLO_RESPONSE, 1 + 16) { } WorldPacket const* Write() override; @@ -424,7 +424,7 @@ namespace WorldPackets class AuctionListBiddedItemsResult final : public ServerPacket { public: - AuctionListBiddedItemsResult() : ServerPacket(SMSG_AUCTION_LIST_BIDDED_ITEMS_RESULT, 149) { } + explicit AuctionListBiddedItemsResult() : ServerPacket(SMSG_AUCTION_LIST_BIDDED_ITEMS_RESULT, 149) { } WorldPacket const* Write() override; @@ -436,7 +436,7 @@ namespace WorldPackets class AuctionListBucketsResult final : public ServerPacket { public: - AuctionListBucketsResult() : ServerPacket(SMSG_AUCTION_LIST_BUCKETS_RESULT) { } + explicit AuctionListBucketsResult() : ServerPacket(SMSG_AUCTION_LIST_BUCKETS_RESULT) { } WorldPacket const* Write() override; @@ -451,7 +451,7 @@ namespace WorldPackets class AuctionFavoriteList final : public ServerPacket { public: - AuctionFavoriteList() : ServerPacket(SMSG_AUCTION_FAVORITE_LIST, 4 + 4 + 20 * 100) { } + explicit AuctionFavoriteList() : ServerPacket(SMSG_AUCTION_FAVORITE_LIST, 4 + 4 + 20 * 100) { } WorldPacket const* Write() override; @@ -462,7 +462,7 @@ namespace WorldPackets class AuctionListItemsResult final : public ServerPacket { public: - AuctionListItemsResult() : ServerPacket(SMSG_AUCTION_LIST_ITEMS_RESULT, 150) { } + explicit AuctionListItemsResult() : ServerPacket(SMSG_AUCTION_LIST_ITEMS_RESULT, 150) { } WorldPacket const* Write() override; @@ -478,7 +478,7 @@ namespace WorldPackets class AuctionListOwnedItemsResult final : public ServerPacket { public: - AuctionListOwnedItemsResult() : ServerPacket(SMSG_AUCTION_LIST_OWNED_ITEMS_RESULT, 149) { } + explicit AuctionListOwnedItemsResult() : ServerPacket(SMSG_AUCTION_LIST_OWNED_ITEMS_RESULT, 149) { } WorldPacket const* Write() override; @@ -491,7 +491,7 @@ namespace WorldPackets class AuctionOutbidNotification final : public ServerPacket { public: - AuctionOutbidNotification() : ServerPacket(SMSG_AUCTION_OUTBID_NOTIFICATION, 62) { } + explicit AuctionOutbidNotification() : ServerPacket(SMSG_AUCTION_OUTBID_NOTIFICATION, 62) { } WorldPacket const* Write() override; @@ -503,7 +503,7 @@ namespace WorldPackets class AuctionOwnerBidNotification final : public ServerPacket { public: - AuctionOwnerBidNotification() : ServerPacket(SMSG_AUCTION_OWNER_BID_NOTIFICATION, 62) { } + explicit AuctionOwnerBidNotification() : ServerPacket(SMSG_AUCTION_OWNER_BID_NOTIFICATION, 62) { } WorldPacket const* Write() override; @@ -515,7 +515,7 @@ namespace WorldPackets class AuctionReplicateResponse final : public ServerPacket { public: - AuctionReplicateResponse() : ServerPacket(SMSG_AUCTION_REPLICATE_RESPONSE, 165) { } + explicit AuctionReplicateResponse() : ServerPacket(SMSG_AUCTION_REPLICATE_RESPONSE, 165) { } WorldPacket const* Write() override; @@ -530,7 +530,7 @@ namespace WorldPackets class AuctionWonNotification final : public ServerPacket { public: - AuctionWonNotification() : ServerPacket(SMSG_AUCTION_WON_NOTIFICATION, 46) { } + explicit AuctionWonNotification() : ServerPacket(SMSG_AUCTION_WON_NOTIFICATION, 46) { } WorldPacket const* Write() override; @@ -539,4 +539,4 @@ namespace WorldPackets } } -#endif // AuctionHousePackets_h__ +#endif // TRINITYCORE_AUCTION_HOUSE_PACKETS_H diff --git a/src/server/game/Server/Packets/AuthenticationPackets.cpp b/src/server/game/Server/Packets/AuthenticationPackets.cpp index fa3700d8fbd..1888c6f55fb 100644 --- a/src/server/game/Server/Packets/AuthenticationPackets.cpp +++ b/src/server/game/Server/Packets/AuthenticationPackets.cpp @@ -23,7 +23,9 @@ #include "ObjectMgr.h" #include "RSA.h" -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Auth::VirtualRealmNameInfo const& virtualRealmInfo) +namespace WorldPackets::Auth +{ +ByteBuffer& operator<<(ByteBuffer& data, VirtualRealmNameInfo const& virtualRealmInfo) { data << WorldPackets::Bits<1>(virtualRealmInfo.IsLocal); data << WorldPackets::Bits<1>(virtualRealmInfo.IsInternalRealm); @@ -31,13 +33,13 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Auth::VirtualRealmNameInf data << WorldPackets::SizedString::BitsSize<8>(virtualRealmInfo.RealmNameNormalized); data.FlushBits(); - data << WorldPackets::SizedString::Data(virtualRealmInfo.RealmNameActual); - data << WorldPackets::SizedString::Data(virtualRealmInfo.RealmNameNormalized); + data << SizedString::Data(virtualRealmInfo.RealmNameActual); + data << SizedString::Data(virtualRealmInfo.RealmNameNormalized); return data; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Auth::VirtualRealmInfo const& virtualRealmInfo) +ByteBuffer& operator<<(ByteBuffer& data, VirtualRealmInfo const& virtualRealmInfo) { data << uint32(virtualRealmInfo.RealmAddress); data << virtualRealmInfo.RealmNameInfo; @@ -45,33 +47,19 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Auth::VirtualRealmInfo co return data; } -bool WorldPackets::Auth::EarlyProcessClientPacket::ReadNoThrow() -{ - try - { - Read(); - return true; - } - catch (ByteBufferException const& /*ex*/) - { - } - - return false; -} - -void WorldPackets::Auth::Ping::Read() +void Ping::Read() { _worldPacket >> Serial; _worldPacket >> Latency; } -const WorldPacket* WorldPackets::Auth::Pong::Write() +WorldPacket const* Pong::Write() { _worldPacket << uint32(Serial); return &_worldPacket; } -WorldPacket const* WorldPackets::Auth::AuthChallenge::Write() +WorldPacket const* AuthChallenge::Write() { _worldPacket.append(DosChallenge.data(), DosChallenge.size()); _worldPacket.append(Challenge.data(), Challenge.size()); @@ -79,7 +67,7 @@ WorldPacket const* WorldPackets::Auth::AuthChallenge::Write() return &_worldPacket; } -void WorldPackets::Auth::AuthSession::Read() +void AuthSession::Read() { uint32 realmJoinTicketSize; @@ -98,7 +86,7 @@ void WorldPackets::Auth::AuthSession::Read() } } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Auth::AuthWaitInfo const& waitInfo) +ByteBuffer& operator<<(ByteBuffer& data, AuthWaitInfo const& waitInfo) { data << uint32(waitInfo.WaitCount); data << uint32(waitInfo.WaitTime); @@ -110,7 +98,7 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Auth::AuthWaitInfo const& return data; } -WorldPacket const* WorldPackets::Auth::AuthResponse::Write() +WorldPacket const* AuthResponse::Write() { _worldPacket << uint32(Result); _worldPacket << OptionalInit(SuccessInfo); @@ -208,7 +196,7 @@ WorldPacket const* WorldPackets::Auth::AuthResponse::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Auth::WaitQueueUpdate::Write() +WorldPacket const* WaitQueueUpdate::Write() { _worldPacket << WaitInfo; @@ -258,7 +246,7 @@ std::unique_ptr<Trinity::Crypto::RsaSignature> ConnectToRSA; std::unique_ptr<Trinity::Crypto::Ed25519> EnterEncryptedModeSigner; } -bool WorldPackets::Auth::ConnectTo::InitializeEncryption() +bool ConnectTo::InitializeEncryption() { std::unique_ptr<Trinity::Crypto::RsaSignature> rsa = std::make_unique<Trinity::Crypto::RsaSignature>(); if (!rsa->LoadKeyFromString(RSAPrivateKey)) @@ -268,16 +256,12 @@ bool WorldPackets::Auth::ConnectTo::InitializeEncryption() return true; } -void WorldPackets::Auth::ConnectTo::ShutdownEncryption() +void ConnectTo::ShutdownEncryption() { ConnectToRSA.reset(); } -WorldPackets::Auth::ConnectTo::ConnectTo() : ServerPacket(SMSG_CONNECT_TO, 256 + 1 + 16 + 2 + 4 + 1 + 8) -{ -} - -WorldPacket const* WorldPackets::Auth::ConnectTo::Write() +WorldPacket const* ConnectTo::Write() { ByteBuffer whereBuffer; whereBuffer << uint8(Payload.Where.Type); @@ -316,7 +300,7 @@ WorldPacket const* WorldPackets::Auth::ConnectTo::Write() return &_worldPacket; } -void WorldPackets::Auth::AuthContinuedSession::Read() +void AuthContinuedSession::Read() { _worldPacket >> DosResponse; _worldPacket >> Key; @@ -324,13 +308,13 @@ void WorldPackets::Auth::AuthContinuedSession::Read() _worldPacket.read(Digest.data(), Digest.size()); } -void WorldPackets::Auth::ConnectToFailed::Read() +void ConnectToFailed::Read() { _worldPacket >> Con; _worldPacket >> As<uint32>(Serial); } -bool WorldPackets::Auth::EnterEncryptedMode::InitializeEncryption() +bool EnterEncryptedMode::InitializeEncryption() { std::unique_ptr<Trinity::Crypto::Ed25519> ed25519 = std::make_unique<Trinity::Crypto::Ed25519>(); if (!ed25519->LoadFromByteArray(EnterEncryptedModePrivateKey)) @@ -340,7 +324,7 @@ bool WorldPackets::Auth::EnterEncryptedMode::InitializeEncryption() return true; } -void WorldPackets::Auth::EnterEncryptedMode::ShutdownEncryption() +void EnterEncryptedMode::ShutdownEncryption() { EnterEncryptedModeSigner.reset(); } @@ -349,7 +333,7 @@ std::array<uint8, 32> constexpr EnableEncryptionSeed = { 0x66, 0xBE, 0x29, 0x79, 0x32, 0xEC, 0x94, 0xEC, 0x75, 0xB3, 0x5F, 0x44, 0x6A, 0x63, 0x43, 0x67, 0x17, 0x20, 0x44, 0x34 }; std::array<uint8, 16> constexpr EnableEncryptionContext = { 0xA7, 0x1F, 0xB6, 0x9B, 0xC9, 0x7C, 0xDD, 0x96, 0xE9, 0xBB, 0xB8, 0x21, 0x39, 0x8D, 0x5A, 0xD4 }; -WorldPacket const* WorldPackets::Auth::EnterEncryptedMode::Write() +WorldPacket const* EnterEncryptedMode::Write() { std::array<uint8, 64> toSign = Trinity::Crypto::HMAC_SHA512::GetDigestOf(EncryptionKey, std::array<uint8, 1>{uint8(Enabled ? 1 : 0)}, @@ -368,7 +352,8 @@ WorldPacket const* WorldPackets::Auth::EnterEncryptedMode::Write() return &_worldPacket; } -void WorldPackets::Auth::QueuedMessagesEnd::Read() +void QueuedMessagesEnd::Read() { _worldPacket >> Timestamp; } +} diff --git a/src/server/game/Server/Packets/AuthenticationPackets.h b/src/server/game/Server/Packets/AuthenticationPackets.h index 9f394168cfe..1f2f76091c3 100644 --- a/src/server/game/Server/Packets/AuthenticationPackets.h +++ b/src/server/game/Server/Packets/AuthenticationPackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef AuthenticationPacketsWorld_h__ -#define AuthenticationPacketsWorld_h__ +#ifndef TRINITYCORE_AUTHENTICATION_PACKETS_H +#define TRINITYCORE_AUTHENTICATION_PACKETS_H #include "Packet.h" #include "Define.h" @@ -32,30 +32,42 @@ namespace WorldPackets { namespace Auth { + template <typename Derived> class EarlyProcessClientPacket : public ClientPacket { + explicit EarlyProcessClientPacket(OpcodeClient opcode, WorldPacket&& packet) : ClientPacket(opcode, std::move(packet)) { } + public: - EarlyProcessClientPacket(OpcodeClient opcode, WorldPacket&& packet) : ClientPacket(opcode, std::move(packet)) { } + bool ReadNoThrow() try + { + static_cast<Derived*>(this)->Read(); + return true; + } + catch (ByteBufferException const& /*ex*/) + { + return false; + } - bool ReadNoThrow(); + friend Derived; }; - class Ping final : public EarlyProcessClientPacket + class Ping final : public EarlyProcessClientPacket<Ping> { public: - Ping(WorldPacket&& packet) : EarlyProcessClientPacket(CMSG_PING, std::move(packet)) { } + explicit Ping(WorldPacket&& packet) : EarlyProcessClientPacket(CMSG_PING, std::move(packet)) { } uint32 Serial = 0; uint32 Latency = 0; private: - void Read(); + friend EarlyProcessClientPacket; + void Read() override; }; class Pong final : public ServerPacket { public: - Pong(uint32 serial) : ServerPacket(SMSG_PONG, 4), Serial(serial) { } + explicit Pong(uint32 serial) : ServerPacket(SMSG_PONG, 4), Serial(serial) { } WorldPacket const* Write() override; @@ -65,7 +77,7 @@ namespace WorldPackets class AuthChallenge final : public ServerPacket { public: - AuthChallenge() : ServerPacket(SMSG_AUTH_CHALLENGE, 16 + 4 * 8 + 1) { } + explicit AuthChallenge() : ServerPacket(SMSG_AUTH_CHALLENGE, 16 + 4 * 8 + 1) { } WorldPacket const* Write() override; @@ -74,12 +86,12 @@ namespace WorldPackets uint8 DosZeroBits = 0; }; - class AuthSession final : public EarlyProcessClientPacket + class AuthSession final : public EarlyProcessClientPacket<AuthSession> { public: - static uint32 const DigestLength = 24; + static constexpr uint32 DigestLength = 24; - AuthSession(WorldPacket&& packet) : EarlyProcessClientPacket(CMSG_AUTH_SESSION, std::move(packet)) + explicit AuthSession(WorldPacket&& packet) : EarlyProcessClientPacket(CMSG_AUTH_SESSION, std::move(packet)) { LocalChallenge.fill(0); Digest.fill(0); @@ -95,6 +107,7 @@ namespace WorldPackets bool UseIPv6 = false; private: + friend EarlyProcessClientPacket; void Read() override; }; @@ -176,7 +189,7 @@ namespace WorldPackets Optional<NewBuild> NewBuildKeys; }; - AuthResponse() : ServerPacket(SMSG_AUTH_RESPONSE, 132) { } + explicit AuthResponse() : ServerPacket(SMSG_AUTH_RESPONSE, 132) { } WorldPacket const* Write() override; @@ -188,7 +201,7 @@ namespace WorldPackets class WaitQueueUpdate final : public ServerPacket { public: - WaitQueueUpdate() : ServerPacket(SMSG_WAIT_QUEUE_UPDATE, 4 + 4 + 1) { } + explicit WaitQueueUpdate() : ServerPacket(SMSG_WAIT_QUEUE_UPDATE, 4 + 4 + 1) { } WorldPacket const* Write() override; @@ -198,7 +211,7 @@ namespace WorldPackets class WaitQueueFinish final : public ServerPacket { public: - WaitQueueFinish() : ServerPacket(SMSG_WAIT_QUEUE_FINISH, 0) { } + explicit WaitQueueFinish() : ServerPacket(SMSG_WAIT_QUEUE_FINISH, 0) { } WorldPacket const* Write() override { return &_worldPacket; } }; @@ -246,7 +259,7 @@ namespace WorldPackets std::array<uint8, 256> Signature = { }; }; - ConnectTo(); + explicit ConnectTo() : ServerPacket(SMSG_CONNECT_TO, 256 + 1 + 16 + 2 + 4 + 1 + 8) { } WorldPacket const* Write() override; @@ -256,12 +269,12 @@ namespace WorldPackets uint8 Con = 0; }; - class AuthContinuedSession final : public EarlyProcessClientPacket + class AuthContinuedSession final : public EarlyProcessClientPacket<AuthContinuedSession> { public: - static uint32 const DigestLength = 24; + static constexpr uint32 DigestLength = 24; - AuthContinuedSession(WorldPacket&& packet) : EarlyProcessClientPacket(CMSG_AUTH_CONTINUED_SESSION, std::move(packet)) + explicit AuthContinuedSession(WorldPacket&& packet) : EarlyProcessClientPacket(CMSG_AUTH_CONTINUED_SESSION, std::move(packet)) { LocalChallenge.fill(0); Digest.fill(0); @@ -273,26 +286,28 @@ namespace WorldPackets std::array<uint8, DigestLength> Digest; private: + friend EarlyProcessClientPacket; void Read() override; }; class ResumeComms final : public ServerPacket { public: - ResumeComms(ConnectionType connection) : ServerPacket(SMSG_RESUME_COMMS, 0, connection) { } + explicit ResumeComms(ConnectionType connection) : ServerPacket(SMSG_RESUME_COMMS, 0, connection) { } WorldPacket const* Write() override { return &_worldPacket; } }; - class ConnectToFailed final : public EarlyProcessClientPacket + class ConnectToFailed final : public EarlyProcessClientPacket<ConnectToFailed> { public: - ConnectToFailed(WorldPacket&& packet) : EarlyProcessClientPacket(CMSG_CONNECT_TO_FAILED, std::move(packet)) { } + explicit ConnectToFailed(WorldPacket&& packet) : EarlyProcessClientPacket(CMSG_CONNECT_TO_FAILED, std::move(packet)) { } ConnectToSerial Serial = ConnectToSerial::None; uint8 Con = 0; private: + friend EarlyProcessClientPacket; void Read() override; }; @@ -302,7 +317,7 @@ namespace WorldPackets static bool InitializeEncryption(); static void ShutdownEncryption(); - EnterEncryptedMode(std::array<uint8, 32> const& encryptionKey, bool enabled) : ServerPacket(SMSG_ENTER_ENCRYPTED_MODE, 256 + 1), + explicit EnterEncryptedMode(std::array<uint8, 32> const& encryptionKey, bool enabled) : ServerPacket(SMSG_ENTER_ENCRYPTED_MODE, 256 + 1), EncryptionKey(encryptionKey), Enabled(enabled) { } @@ -317,16 +332,16 @@ namespace WorldPackets class QueuedMessagesEnd final : public ClientPacket { public: - QueuedMessagesEnd(WorldPacket&& packet) : ClientPacket(CMSG_QUEUED_MESSAGES_END, std::move(packet)) { } + explicit QueuedMessagesEnd(WorldPacket&& packet) : ClientPacket(CMSG_QUEUED_MESSAGES_END, std::move(packet)) { } void Read() override; uint32 Timestamp = 0; }; + + ByteBuffer& operator<<(ByteBuffer& data, VirtualRealmInfo const& realmInfo); + ByteBuffer& operator<<(ByteBuffer& data, VirtualRealmNameInfo const& realmInfo); } } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Auth::VirtualRealmInfo const& realmInfo); -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Auth::VirtualRealmNameInfo const& realmInfo); - -#endif // AuthenticationPacketsWorld_h__ +#endif // TRINITYCORE_AUTHENTICATION_PACKETS_H diff --git a/src/server/game/Server/Packets/AzeritePackets.cpp b/src/server/game/Server/Packets/AzeritePackets.cpp index bbaf9668d01..f048fab3a12 100644 --- a/src/server/game/Server/Packets/AzeritePackets.cpp +++ b/src/server/game/Server/Packets/AzeritePackets.cpp @@ -16,9 +16,11 @@ */ #include "AzeritePackets.h" -#include "Util.h" +#include "PacketUtilities.h" -WorldPacket const* WorldPackets::Azerite::PlayerAzeriteItemGains::Write() +namespace WorldPackets::Azerite +{ +WorldPacket const* PlayerAzeriteItemGains::Write() { _worldPacket << ItemGUID; _worldPacket << uint64(XP); @@ -26,21 +28,21 @@ WorldPacket const* WorldPackets::Azerite::PlayerAzeriteItemGains::Write() return &_worldPacket; } -void WorldPackets::Azerite::AzeriteEssenceUnlockMilestone::Read() +void AzeriteEssenceUnlockMilestone::Read() { _worldPacket >> AzeriteItemMilestonePowerID; } -void WorldPackets::Azerite::AzeriteEssenceActivateEssence::Read() +void AzeriteEssenceActivateEssence::Read() { _worldPacket >> AzeriteEssenceID; _worldPacket >> Slot; } -WorldPacket const* WorldPackets::Azerite::ActivateEssenceFailed::Write() +WorldPacket const* ActivateEssenceFailed::Write() { - _worldPacket.WriteBits(AsUnderlyingType(Reason), 4); - _worldPacket.WriteBit(Slot.has_value()); + _worldPacket << Bits<4>(Reason); + _worldPacket << OptionalInit(Slot); _worldPacket << int32(Arg); _worldPacket << int32(AzeriteEssenceID); if (Slot) @@ -49,12 +51,12 @@ WorldPacket const* WorldPackets::Azerite::ActivateEssenceFailed::Write() return &_worldPacket; } -void WorldPackets::Azerite::AzeriteEmpoweredItemViewed::Read() +void AzeriteEmpoweredItemViewed::Read() { _worldPacket >> ItemGUID; } -void WorldPackets::Azerite::AzeriteEmpoweredItemSelectPower::Read() +void AzeriteEmpoweredItemSelectPower::Read() { _worldPacket >> ContainerSlot; _worldPacket >> Slot; @@ -62,10 +64,11 @@ void WorldPackets::Azerite::AzeriteEmpoweredItemSelectPower::Read() _worldPacket >> AzeritePowerID; } -WorldPacket const* WorldPackets::Azerite::PlayerAzeriteItemEquippedStatusChanged::Write() +WorldPacket const* PlayerAzeriteItemEquippedStatusChanged::Write() { - _worldPacket.WriteBit(IsHeartEquipped); + _worldPacket << Bits<1>(IsHeartEquipped); _worldPacket.FlushBits(); return &_worldPacket; } +} diff --git a/src/server/game/Server/Packets/AzeritePackets.h b/src/server/game/Server/Packets/AzeritePackets.h index 4d76a83884e..35ef062d5d5 100644 --- a/src/server/game/Server/Packets/AzeritePackets.h +++ b/src/server/game/Server/Packets/AzeritePackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef AzeriteItemPackets_h__ -#define AzeriteItemPackets_h__ +#ifndef TRINITYCORE_AZERITE_ITEM_PACKETS_H +#define TRINITYCORE_AZERITE_ITEM_PACKETS_H #include "Packet.h" #include "ItemDefines.h" @@ -30,7 +30,7 @@ namespace WorldPackets class PlayerAzeriteItemGains final : public ServerPacket { public: - PlayerAzeriteItemGains() : ServerPacket(SMSG_PLAYER_AZERITE_ITEM_GAINS, 16 + 8) { } + explicit PlayerAzeriteItemGains() : ServerPacket(SMSG_PLAYER_AZERITE_ITEM_GAINS, 16 + 8) { } WorldPacket const* Write() override; @@ -41,7 +41,7 @@ namespace WorldPackets class AzeriteEssenceUnlockMilestone final : public ClientPacket { public: - AzeriteEssenceUnlockMilestone(WorldPacket&& packet) : ClientPacket(CMSG_AZERITE_ESSENCE_UNLOCK_MILESTONE, std::move(packet)) { } + explicit AzeriteEssenceUnlockMilestone(WorldPacket&& packet) : ClientPacket(CMSG_AZERITE_ESSENCE_UNLOCK_MILESTONE, std::move(packet)) { } void Read() override; @@ -51,7 +51,7 @@ namespace WorldPackets class AzeriteEssenceActivateEssence final : public ClientPacket { public: - AzeriteEssenceActivateEssence(WorldPacket&& packet) : ClientPacket(CMSG_AZERITE_ESSENCE_ACTIVATE_ESSENCE, std::move(packet)) { } + explicit AzeriteEssenceActivateEssence(WorldPacket&& packet) : ClientPacket(CMSG_AZERITE_ESSENCE_ACTIVATE_ESSENCE, std::move(packet)) { } void Read() override; @@ -62,7 +62,7 @@ namespace WorldPackets class ActivateEssenceFailed final : public ServerPacket { public: - ActivateEssenceFailed() : ServerPacket(SMSG_ACTIVATE_ESSENCE_FAILED, 1 + 4 + 4 + 1) { } + explicit ActivateEssenceFailed() : ServerPacket(SMSG_ACTIVATE_ESSENCE_FAILED, 1 + 4 + 4 + 1) { } WorldPacket const* Write() override; @@ -75,7 +75,7 @@ namespace WorldPackets class AzeriteEmpoweredItemViewed final : public ClientPacket { public: - AzeriteEmpoweredItemViewed(WorldPacket&& packet) : ClientPacket(CMSG_AZERITE_EMPOWERED_ITEM_VIEWED, std::move(packet)) { } + explicit AzeriteEmpoweredItemViewed(WorldPacket&& packet) : ClientPacket(CMSG_AZERITE_EMPOWERED_ITEM_VIEWED, std::move(packet)) { } void Read() override; @@ -85,7 +85,7 @@ namespace WorldPackets class AzeriteEmpoweredItemSelectPower final : public ClientPacket { public: - AzeriteEmpoweredItemSelectPower(WorldPacket&& packet) : ClientPacket(CMSG_AZERITE_EMPOWERED_ITEM_SELECT_POWER, std::move(packet)) { } + explicit AzeriteEmpoweredItemSelectPower(WorldPacket&& packet) : ClientPacket(CMSG_AZERITE_EMPOWERED_ITEM_SELECT_POWER, std::move(packet)) { } void Read() override; @@ -98,7 +98,7 @@ namespace WorldPackets class TC_GAME_API PlayerAzeriteItemEquippedStatusChanged final : public ServerPacket { public: - PlayerAzeriteItemEquippedStatusChanged() : ServerPacket(SMSG_PLAYER_AZERITE_ITEM_EQUIPPED_STATUS_CHANGED, 1) { } + explicit PlayerAzeriteItemEquippedStatusChanged() : ServerPacket(SMSG_PLAYER_AZERITE_ITEM_EQUIPPED_STATUS_CHANGED, 1) { } WorldPacket const* Write() override; @@ -107,4 +107,4 @@ namespace WorldPackets } } -#endif // AzeriteItemPackets_h__ +#endif // TRINITYCORE_AZERITE_ITEM_PACKETS_H diff --git a/src/server/game/Server/Packets/BankPackets.cpp b/src/server/game/Server/Packets/BankPackets.cpp index 74f24cb7519..e91b14bcca0 100644 --- a/src/server/game/Server/Packets/BankPackets.cpp +++ b/src/server/game/Server/Packets/BankPackets.cpp @@ -16,7 +16,6 @@ */ #include "BankPackets.h" -#include "DBCEnums.h" void WorldPackets::Bank::AutoBankItem::Read() { diff --git a/src/server/game/Server/Packets/BankPackets.h b/src/server/game/Server/Packets/BankPackets.h index f81a1c02bfe..047b5085c2d 100644 --- a/src/server/game/Server/Packets/BankPackets.h +++ b/src/server/game/Server/Packets/BankPackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef BankPackets_h__ -#define BankPackets_h__ +#ifndef TRINITYCORE_BANK_PACKETS_H +#define TRINITYCORE_BANK_PACKETS_H #include "Packet.h" #include "ItemPacketsCommon.h" @@ -31,7 +31,7 @@ namespace WorldPackets class AutoBankItem final : public ClientPacket { public: - AutoBankItem(WorldPacket&& packet) : ClientPacket(CMSG_AUTOBANK_ITEM, std::move(packet)) { } + explicit AutoBankItem(WorldPacket&& packet) : ClientPacket(CMSG_AUTOBANK_ITEM, std::move(packet)) { } void Read() override; @@ -44,7 +44,7 @@ namespace WorldPackets class AutoStoreBankItem final : public ClientPacket { public: - AutoStoreBankItem(WorldPacket&& packet) : ClientPacket(CMSG_AUTOSTORE_BANK_ITEM, std::move(packet)) { } + explicit AutoStoreBankItem(WorldPacket&& packet) : ClientPacket(CMSG_AUTOSTORE_BANK_ITEM, std::move(packet)) { } void Read() override; @@ -56,7 +56,7 @@ namespace WorldPackets class BuyBankSlot final : public ClientPacket { public: - BuyBankSlot(WorldPacket&& packet) : ClientPacket(CMSG_BUY_BANK_SLOT, std::move(packet)) { } + explicit BuyBankSlot(WorldPacket&& packet) : ClientPacket(CMSG_BUY_BANK_SLOT, std::move(packet)) { } void Read() override; @@ -66,7 +66,7 @@ namespace WorldPackets class AutoBankReagent final : public ClientPacket { public: - AutoBankReagent(WorldPacket&& packet) : ClientPacket(CMSG_AUTOBANK_REAGENT, std::move(packet)) { } + explicit AutoBankReagent(WorldPacket&& packet) : ClientPacket(CMSG_AUTOBANK_REAGENT, std::move(packet)) { } void Read() override; @@ -78,7 +78,7 @@ namespace WorldPackets class AutoStoreBankReagent final : public ClientPacket { public: - AutoStoreBankReagent(WorldPacket&& packet) : ClientPacket(CMSG_AUTOSTORE_BANK_REAGENT, std::move(packet)) { } + explicit AutoStoreBankReagent(WorldPacket&& packet) : ClientPacket(CMSG_AUTOSTORE_BANK_REAGENT, std::move(packet)) { } void Read() override; @@ -92,7 +92,7 @@ namespace WorldPackets class ReagentBank final : public ClientPacket { public: - ReagentBank(WorldPacket&& packet) : ClientPacket(std::move(packet)) { } + explicit ReagentBank(WorldPacket&& packet) : ClientPacket(std::move(packet)) { } void Read() override; @@ -111,4 +111,5 @@ namespace WorldPackets }; } } -#endif // BankPackets_h__ + +#endif // TRINITYCORE_BANK_PACKETS_H diff --git a/src/server/game/Server/Packets/BattlePetPackets.cpp b/src/server/game/Server/Packets/BattlePetPackets.cpp index 1c080a4d573..6b339552a9a 100644 --- a/src/server/game/Server/Packets/BattlePetPackets.cpp +++ b/src/server/game/Server/Packets/BattlePetPackets.cpp @@ -17,18 +17,29 @@ #include "BattlePetPackets.h" -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::BattlePet::BattlePetSlot const& slot) +namespace WorldPackets::BattlePet +{ +ByteBuffer& operator<<(ByteBuffer& data, BattlePetSlot const& slot) { data << (slot.Pet.Guid.IsEmpty() ? ObjectGuid::Create<HighGuid::BattlePet>(0) : slot.Pet.Guid); data << uint32(slot.CollarID); data << uint8(slot.Index); - data.WriteBit(slot.Locked); + data << Bits<1>(slot.Locked); data.FlushBits(); return data; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::BattlePet::BattlePet const& pet) +ByteBuffer& operator<<(ByteBuffer& data, BattlePetOwnerInfo const& owner) +{ + data << owner.Guid; + data << uint32(owner.PlayerVirtualRealm); + data << uint32(owner.PlayerNativeRealm); + + return data; +} + +ByteBuffer& operator<<(ByteBuffer& data, BattlePet const& pet) { data << pet.Guid; data << uint32(pet.Species); @@ -43,29 +54,25 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::BattlePet::BattlePet cons data << uint32(pet.MaxHealth); data << uint32(pet.Speed); data << uint8(pet.Quality); - data.WriteBits(pet.Name.size(), 7); - data.WriteBit(pet.OwnerInfo.has_value()); - data.WriteBit(false); // NoRename + data << SizedString::BitsSize<7>(pet.Name); + data << OptionalInit(pet.OwnerInfo); + data << Bits<1>(pet.NoRename); data.FlushBits(); - data.WriteString(pet.Name); + data << SizedString::Data(pet.Name); if (pet.OwnerInfo) - { - data << pet.OwnerInfo->Guid; - data << uint32(pet.OwnerInfo->PlayerVirtualRealm); - data << uint32(pet.OwnerInfo->PlayerNativeRealm); - } + data << *pet.OwnerInfo; return data; } -WorldPacket const* WorldPackets::BattlePet::BattlePetJournal::Write() +WorldPacket const* BattlePetJournal::Write() { _worldPacket << uint16(Trap); _worldPacket << uint32(Slots.size()); _worldPacket << uint32(Pets.size()); - _worldPacket.WriteBit(HasJournalLock); + _worldPacket << Bits<1>(HasJournalLock); _worldPacket.FlushBits(); for (BattlePetSlot const& slot : Slots) @@ -77,10 +84,10 @@ WorldPacket const* WorldPackets::BattlePet::BattlePetJournal::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::BattlePet::BattlePetUpdates::Write() +WorldPacket const* BattlePetUpdates::Write() { _worldPacket << uint32(Pets.size()); - _worldPacket.WriteBit(PetAdded); + _worldPacket << Bits<1>(PetAdded); _worldPacket.FlushBits(); for (BattlePet const& pet : Pets) @@ -89,72 +96,69 @@ WorldPacket const* WorldPackets::BattlePet::BattlePetUpdates::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::BattlePet::PetBattleSlotUpdates::Write() +WorldPacket const* PetBattleSlotUpdates::Write() { _worldPacket << uint32(Slots.size()); - _worldPacket.WriteBit(NewSlot); - _worldPacket.WriteBit(AutoSlotted); + _worldPacket << Bits<1>(NewSlot); + _worldPacket << Bits<1>(AutoSlotted); _worldPacket.FlushBits(); - for (auto const& slot : Slots) + for (BattlePetSlot const& slot : Slots) _worldPacket << slot; return &_worldPacket; } -void WorldPackets::BattlePet::BattlePetSetBattleSlot::Read() +void BattlePetSetBattleSlot::Read() { _worldPacket >> PetGuid; _worldPacket >> Slot; } -void WorldPackets::BattlePet::BattlePetModifyName::Read() +void BattlePetModifyName::Read() { _worldPacket >> PetGuid; - uint32 nameLength = _worldPacket.ReadBits(7); - bool hasDeclinedNames = _worldPacket.ReadBit(); + _worldPacket >> SizedString::BitsSize<7>(Name); + _worldPacket >> OptionalInit(DeclinedNames); - if (hasDeclinedNames) + if (DeclinedNames) { - DeclinedNames = std::make_unique<DeclinedName>(); - uint8 declinedNameLengths[MAX_DECLINED_NAME_CASES]; - for (uint8 i = 0; i < MAX_DECLINED_NAME_CASES; ++i) - declinedNameLengths[i] = _worldPacket.ReadBits(7); + _worldPacket >> SizedString::BitsSize<7>(DeclinedNames->name[i]); for (uint8 i = 0; i < MAX_DECLINED_NAME_CASES; ++i) - DeclinedNames->name[i] = _worldPacket.ReadString(declinedNameLengths[i]); + _worldPacket >> SizedString::Data(DeclinedNames->name[i]); } - Name = _worldPacket.ReadString(nameLength); + _worldPacket >> SizedString::Data(Name); } -void WorldPackets::BattlePet::QueryBattlePetName::Read() +void QueryBattlePetName::Read() { _worldPacket >> BattlePetID; _worldPacket >> UnitGUID; } -WorldPacket const* WorldPackets::BattlePet::QueryBattlePetNameResponse::Write() +WorldPacket const* QueryBattlePetNameResponse::Write() { _worldPacket << BattlePetID; _worldPacket << int32(CreatureID); _worldPacket << Timestamp; - _worldPacket.WriteBit(Allow); + _worldPacket << Bits<1>(Allow); if (Allow) { - _worldPacket.WriteBits(Name.length(), 8); - _worldPacket.WriteBit(HasDeclined); + _worldPacket << SizedString::BitsSize<8>(Name); + _worldPacket << Bits<1>(HasDeclined); for (uint8 i = 0; i < MAX_DECLINED_NAME_CASES; ++i) - _worldPacket.WriteBits(DeclinedNames.name[i].length(), 7); + _worldPacket << SizedString::BitsSize<7>(DeclinedNames.name[i]); for (uint8 i = 0; i < MAX_DECLINED_NAME_CASES; ++i) - _worldPacket.WriteString(DeclinedNames.name[i]); + _worldPacket << SizedString::Data(DeclinedNames.name[i]); - _worldPacket.WriteString(Name); + _worldPacket << SizedString::Data(Name); } _worldPacket.FlushBits(); @@ -162,49 +166,50 @@ WorldPacket const* WorldPackets::BattlePet::QueryBattlePetNameResponse::Write() return &_worldPacket; } -void WorldPackets::BattlePet::BattlePetDeletePet::Read() +void BattlePetDeletePet::Read() { _worldPacket >> PetGuid; } -void WorldPackets::BattlePet::BattlePetSetFlags::Read() +void BattlePetSetFlags::Read() { _worldPacket >> PetGuid; _worldPacket >> Flags; - ControlType = _worldPacket.ReadBits(2); + _worldPacket >> Bits<2>(ControlType); } -void WorldPackets::BattlePet::BattlePetClearFanfare::Read() +void BattlePetClearFanfare::Read() { _worldPacket >> PetGuid; } -void WorldPackets::BattlePet::CageBattlePet::Read() +void CageBattlePet::Read() { _worldPacket >> PetGuid; } -WorldPacket const* WorldPackets::BattlePet::BattlePetDeleted::Write() +WorldPacket const* BattlePetDeleted::Write() { _worldPacket << PetGuid; return &_worldPacket; } -WorldPacket const* WorldPackets::BattlePet::BattlePetError::Write() +WorldPacket const* BattlePetError::Write() { - _worldPacket.WriteBits(Result, 4); + _worldPacket << Bits<4>(Result); _worldPacket << int32(CreatureID); return &_worldPacket; } -void WorldPackets::BattlePet::BattlePetSummon::Read() +void BattlePetSummon::Read() { _worldPacket >> PetGuid; } -void WorldPackets::BattlePet::BattlePetUpdateNotify::Read() +void BattlePetUpdateNotify::Read() { _worldPacket >> PetGuid; } +} diff --git a/src/server/game/Server/Packets/BattlePetPackets.h b/src/server/game/Server/Packets/BattlePetPackets.h index 164c7b51aa6..158ab2e5092 100644 --- a/src/server/game/Server/Packets/BattlePetPackets.h +++ b/src/server/game/Server/Packets/BattlePetPackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef BattlePetPackets_h__ -#define BattlePetPackets_h__ +#ifndef TRINITYCORE_BATTLE_PET_PACKETS_H +#define TRINITYCORE_BATTLE_PET_PACKETS_H #include "Packet.h" #include "PacketUtilities.h" @@ -53,6 +53,7 @@ namespace WorldPackets uint8 Quality = 0; Optional<BattlePetOwnerInfo> OwnerInfo; std::string Name; + bool NoRename = false; }; struct BattlePetSlot @@ -95,7 +96,7 @@ namespace WorldPackets class BattlePetRequestJournal final : public ClientPacket { public: - BattlePetRequestJournal(WorldPacket&& packet) : ClientPacket(CMSG_BATTLE_PET_REQUEST_JOURNAL, std::move(packet)) { } + explicit BattlePetRequestJournal(WorldPacket&& packet) : ClientPacket(CMSG_BATTLE_PET_REQUEST_JOURNAL, std::move(packet)) { } void Read() override { } }; @@ -103,7 +104,7 @@ namespace WorldPackets class BattlePetRequestJournalLock final : public ClientPacket { public: - BattlePetRequestJournalLock(WorldPacket&& packet) : ClientPacket(CMSG_BATTLE_PET_REQUEST_JOURNAL_LOCK, std::move(packet)) { } + explicit BattlePetRequestJournalLock(WorldPacket&& packet) : ClientPacket(CMSG_BATTLE_PET_REQUEST_JOURNAL_LOCK, std::move(packet)) { } void Read() override { } }; @@ -134,7 +135,7 @@ namespace WorldPackets class BattlePetSetBattleSlot final : public ClientPacket { public: - BattlePetSetBattleSlot(WorldPacket&& packet) : ClientPacket(CMSG_BATTLE_PET_SET_BATTLE_SLOT, std::move(packet)) { } + explicit BattlePetSetBattleSlot(WorldPacket&& packet) : ClientPacket(CMSG_BATTLE_PET_SET_BATTLE_SLOT, std::move(packet)) { } void Read() override; @@ -145,7 +146,7 @@ namespace WorldPackets class BattlePetModifyName final : public ClientPacket { public: - BattlePetModifyName(WorldPacket&& packet) : ClientPacket(CMSG_BATTLE_PET_MODIFY_NAME, std::move(packet)) { } + explicit BattlePetModifyName(WorldPacket&& packet) : ClientPacket(CMSG_BATTLE_PET_MODIFY_NAME, std::move(packet)) { } void Read() override; @@ -157,7 +158,7 @@ namespace WorldPackets class QueryBattlePetName final : public ClientPacket { public: - QueryBattlePetName(WorldPacket&& packet) : ClientPacket(CMSG_QUERY_BATTLE_PET_NAME, std::move(packet)) { } + explicit QueryBattlePetName(WorldPacket&& packet) : ClientPacket(CMSG_QUERY_BATTLE_PET_NAME, std::move(packet)) { } void Read() override; @@ -185,7 +186,7 @@ namespace WorldPackets class BattlePetDeletePet final : public ClientPacket { public: - BattlePetDeletePet(WorldPacket&& packet) : ClientPacket(CMSG_BATTLE_PET_DELETE_PET, std::move(packet)) { } + explicit BattlePetDeletePet(WorldPacket&& packet) : ClientPacket(CMSG_BATTLE_PET_DELETE_PET, std::move(packet)) { } void Read() override; @@ -195,7 +196,7 @@ namespace WorldPackets class BattlePetSetFlags final : public ClientPacket { public: - BattlePetSetFlags(WorldPacket&& packet) : ClientPacket(CMSG_BATTLE_PET_SET_FLAGS, std::move(packet)) { } + explicit BattlePetSetFlags(WorldPacket&& packet) : ClientPacket(CMSG_BATTLE_PET_SET_FLAGS, std::move(packet)) { } void Read() override; @@ -207,7 +208,7 @@ namespace WorldPackets class BattlePetClearFanfare final : public ClientPacket { public: - BattlePetClearFanfare(WorldPacket&& packet) : ClientPacket(CMSG_BATTLE_PET_CLEAR_FANFARE, std::move(packet)) { } + explicit BattlePetClearFanfare(WorldPacket&& packet) : ClientPacket(CMSG_BATTLE_PET_CLEAR_FANFARE, std::move(packet)) { } void Read() override; @@ -217,7 +218,7 @@ namespace WorldPackets class CageBattlePet final : public ClientPacket { public: - CageBattlePet(WorldPacket&& packet) : ClientPacket(CMSG_CAGE_BATTLE_PET, std::move(packet)) { } + explicit CageBattlePet(WorldPacket&& packet) : ClientPacket(CMSG_CAGE_BATTLE_PET, std::move(packet)) { } void Read() override; @@ -248,7 +249,7 @@ namespace WorldPackets class BattlePetSummon final : public ClientPacket { public: - BattlePetSummon(WorldPacket&& packet) : ClientPacket(CMSG_BATTLE_PET_SUMMON, std::move(packet)) { } + explicit BattlePetSummon(WorldPacket&& packet) : ClientPacket(CMSG_BATTLE_PET_SUMMON, std::move(packet)) { } void Read() override; @@ -258,7 +259,7 @@ namespace WorldPackets class BattlePetUpdateNotify final : public ClientPacket { public: - BattlePetUpdateNotify(WorldPacket&& packet) : ClientPacket(CMSG_BATTLE_PET_UPDATE_NOTIFY, std::move(packet)) { } + explicit BattlePetUpdateNotify(WorldPacket&& packet) : ClientPacket(CMSG_BATTLE_PET_UPDATE_NOTIFY, std::move(packet)) { } void Read() override; @@ -267,4 +268,4 @@ namespace WorldPackets } } -#endif // BattlePetPackets_h__ +#endif // TRINITYCORE_BATTLE_PET_PACKETS_H diff --git a/src/server/game/Server/Packets/BattlegroundPackets.cpp b/src/server/game/Server/Packets/BattlegroundPackets.cpp index b5501c18460..6ae324494ef 100644 --- a/src/server/game/Server/Packets/BattlegroundPackets.cpp +++ b/src/server/game/Server/Packets/BattlegroundPackets.cpp @@ -17,7 +17,9 @@ #include "BattlegroundPackets.h" -WorldPacket const* WorldPackets::Battleground::SeasonInfo::Write() +namespace WorldPackets::Battleground +{ +WorldPacket const* SeasonInfo::Write() { _worldPacket << int32(MythicPlusDisplaySeasonID); _worldPacket << int32(MythicPlusMilestoneSeasonID); @@ -34,17 +36,17 @@ WorldPacket const* WorldPackets::Battleground::SeasonInfo::Write() return &_worldPacket; } -void WorldPackets::Battleground::AreaSpiritHealerQuery::Read() +void AreaSpiritHealerQuery::Read() { _worldPacket >> HealerGuid; } -void WorldPackets::Battleground::AreaSpiritHealerQueue::Read() +void AreaSpiritHealerQueue::Read() { _worldPacket >> HealerGuid; } -WorldPacket const* WorldPackets::Battleground::AreaSpiritHealerTime::Write() +WorldPacket const* AreaSpiritHealerTime::Write() { _worldPacket << HealerGuid; _worldPacket << int32(TimeLeft); @@ -52,7 +54,7 @@ WorldPacket const* WorldPackets::Battleground::AreaSpiritHealerTime::Write() return &_worldPacket; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Battleground::PVPMatchStatistics::RatingData const& ratingData) +ByteBuffer& operator<<(ByteBuffer& data, PVPMatchStatistics::RatingData const& ratingData) { for (std::size_t i = 0; i < 2; ++i) { @@ -60,25 +62,28 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Battleground::PVPMatchSta data << int32(ratingData.Postmatch[i]); data << int32(ratingData.PrematchMMR[i]); } + return data; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Battleground::PVPMatchStatistics::HonorData const& honorData) +ByteBuffer& operator<<(ByteBuffer& data, PVPMatchStatistics::HonorData const& honorData) { data << uint32(honorData.HonorKills); data << uint32(honorData.Deaths); data << uint32(honorData.ContributionPoints); + return data; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Battleground::PVPMatchStatistics::PVPMatchPlayerPVPStat const& pvpStat) +ByteBuffer& operator<<(ByteBuffer& data, PVPMatchStatistics::PVPMatchPlayerPVPStat const& pvpStat) { data << int32(pvpStat.PvpStatID); data << int32(pvpStat.PvpStatValue); + return data; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Battleground::PVPMatchStatistics::PVPMatchPlayerStatistics const& playerData) +ByteBuffer& operator<<(ByteBuffer& data, PVPMatchStatistics::PVPMatchPlayerStatistics const& playerData) { data << playerData.PlayerGUID; data << uint32(playerData.Kills); @@ -93,16 +98,16 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Battleground::PVPMatchSta data << int32(playerData.CreatureID); data << int32(playerData.HonorLevel); data << int32(playerData.Role); - for (WorldPackets::Battleground::PVPMatchStatistics::PVPMatchPlayerPVPStat const& pvpStat : playerData.Stats) + for (PVPMatchStatistics::PVPMatchPlayerPVPStat const& pvpStat : playerData.Stats) data << pvpStat; - data.WriteBit(playerData.IsInWorld); - data.WriteBit(playerData.Honor.has_value()); - data.WriteBit(playerData.PreMatchRating.has_value()); - data.WriteBit(playerData.RatingChange.has_value()); - data.WriteBit(playerData.PreMatchMMR.has_value()); - data.WriteBit(playerData.MmrChange.has_value()); - data.WriteBit(playerData.PostMatchMMR.has_value()); + data << Bits<1>(playerData.IsInWorld); + data << OptionalInit(playerData.Honor); + data << OptionalInit(playerData.PreMatchRating); + data << OptionalInit(playerData.RatingChange); + data << OptionalInit(playerData.PreMatchMMR); + data << OptionalInit(playerData.MmrChange); + data << OptionalInit(playerData.PostMatchMMR); data.FlushBits(); if (playerData.Honor) @@ -126,22 +131,22 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Battleground::PVPMatchSta return data; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Battleground::PVPMatchStatistics const& pvpLogData) +ByteBuffer& operator<<(ByteBuffer& data, PVPMatchStatistics const& pvpLogData) { - data.WriteBit(pvpLogData.Ratings.has_value()); + data << OptionalInit(pvpLogData.Ratings); data << uint32(pvpLogData.Statistics.size()); data.append(pvpLogData.PlayerCount.data(), pvpLogData.PlayerCount.size()); - if (pvpLogData.Ratings.has_value()) + if (pvpLogData.Ratings) data << *pvpLogData.Ratings; - for (WorldPackets::Battleground::PVPMatchStatistics::PVPMatchPlayerStatistics const& player : pvpLogData.Statistics) + for (PVPMatchStatistics::PVPMatchPlayerStatistics const& player : pvpLogData.Statistics) data << player; return data; } -WorldPacket const* WorldPackets::Battleground::PVPMatchStatisticsMessage::Write() +WorldPacket const* PVPMatchStatisticsMessage::Write() { _worldPacket.reserve(Data.Statistics.size() * sizeof(PVPMatchStatistics::PVPMatchPlayerStatistics) + sizeof(PVPMatchStatistics)); @@ -150,7 +155,7 @@ WorldPacket const* WorldPackets::Battleground::PVPMatchStatisticsMessage::Write( return &_worldPacket; } -void WorldPackets::Battleground::BattlemasterJoin::Read() +void BattlemasterJoin::Read() { QueueIDs.resize(_worldPacket.read<uint32>()); _worldPacket >> Roles; @@ -159,13 +164,13 @@ void WorldPackets::Battleground::BattlemasterJoin::Read() _worldPacket >> queueId; } -void WorldPackets::Battleground::BattlemasterJoinArena::Read() +void BattlemasterJoinArena::Read() { _worldPacket >> TeamSizeIndex; _worldPacket >> Roles; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Battleground::BattlefieldStatusHeader const& header) +ByteBuffer& operator<<(ByteBuffer& data, BattlefieldStatusHeader const& header) { data << header.Ticket; data << uint32(header.QueueID.size()); @@ -176,28 +181,31 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Battleground::Battlefield for (uint64 queueID : header.QueueID) data << uint64(queueID); - data.WriteBit(header.RegisteredMatch); - data.WriteBit(header.TournamentRules); + data << Bits<1>(header.RegisteredMatch); + data << Bits<1>(header.TournamentRules); data.FlushBits(); + return data; } -WorldPacket const* WorldPackets::Battleground::BattlefieldStatusNone::Write() +WorldPacket const* BattlefieldStatusNone::Write() { _worldPacket << Ticket; + return &_worldPacket; } -WorldPacket const* WorldPackets::Battleground::BattlefieldStatusNeedConfirmation::Write() +WorldPacket const* BattlefieldStatusNeedConfirmation::Write() { _worldPacket << Hdr; _worldPacket << uint32(Mapid); _worldPacket << uint32(Timeout); _worldPacket << uint8(Role); + return &_worldPacket; } -WorldPacket const* WorldPackets::Battleground::BattlefieldStatusActive::Write() +WorldPacket const* BattlefieldStatusActive::Write() { _worldPacket << Hdr; _worldPacket << uint32(Mapid); @@ -207,10 +215,11 @@ WorldPacket const* WorldPackets::Battleground::BattlefieldStatusActive::Write() _worldPacket << Bits<1>(LeftEarly); _worldPacket << Bits<1>(Brawl); _worldPacket.FlushBits(); + return &_worldPacket; } -WorldPacket const* WorldPackets::Battleground::BattlefieldStatusQueued::Write() +WorldPacket const* BattlefieldStatusQueued::Write() { _worldPacket << Hdr; _worldPacket << uint32(AverageWaitTime); @@ -220,30 +229,32 @@ WorldPacket const* WorldPackets::Battleground::BattlefieldStatusQueued::Write() _worldPacket << Bits<1>(EligibleForMatchmaking); _worldPacket << Bits<1>(SuspendedQueue); _worldPacket.FlushBits(); + return &_worldPacket; } -WorldPacket const* WorldPackets::Battleground::BattlefieldStatusFailed::Write() +WorldPacket const* BattlefieldStatusFailed::Write() { _worldPacket << Ticket; _worldPacket << uint64(QueueID); _worldPacket << uint32(Reason); _worldPacket << ClientID; + return &_worldPacket; } -void WorldPackets::Battleground::BattlefieldPort::Read() +void BattlefieldPort::Read() { _worldPacket >> Ticket; _worldPacket >> Bits<1>(AcceptedInvite); } -void WorldPackets::Battleground::BattlefieldListRequest::Read() +void BattlefieldListRequest::Read() { _worldPacket >> ListID; } -WorldPacket const* WorldPackets::Battleground::BattlefieldList::Write() +WorldPacket const* BattlefieldList::Write() { _worldPacket << BattlemasterGuid; _worldPacket << int32(BattlemasterListID); @@ -256,10 +267,11 @@ WorldPacket const* WorldPackets::Battleground::BattlefieldList::Write() _worldPacket << Bits<1>(PvpAnywhere); _worldPacket << Bits<1>(HasRandomWinToday); _worldPacket.FlushBits(); + return &_worldPacket; } -WorldPacket const* WorldPackets::Battleground::PVPOptionsEnabled::Write() +WorldPacket const* PVPOptionsEnabled::Write() { _worldPacket << Bits<1>(RatedBattlegrounds); _worldPacket << Bits<1>(PugBattlegrounds); @@ -272,33 +284,36 @@ WorldPacket const* WorldPackets::Battleground::PVPOptionsEnabled::Write() _worldPacket << Bits<1>(BattlegroundBlitz); _worldPacket << Bits<1>(RatedBattlegroundBlitz); _worldPacket.FlushBits(); + return &_worldPacket; } -void WorldPackets::Battleground::ReportPvPPlayerAFK::Read() +void ReportPvPPlayerAFK::Read() { _worldPacket >> Offender; } -WorldPacket const* WorldPackets::Battleground::ReportPvPPlayerAFKResult::Write() +WorldPacket const* ReportPvPPlayerAFKResult::Write() { _worldPacket << Offender; _worldPacket << uint8(Result); _worldPacket << uint8(NumBlackMarksOnOffender); _worldPacket << uint8(NumPlayersIHaveReported); + return &_worldPacket; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Battleground::BattlegroundPlayerPosition const& playerPosition) +ByteBuffer& operator<<(ByteBuffer& data, BattlegroundPlayerPosition const& playerPosition) { data << playerPosition.Guid; data << playerPosition.Pos; data << int8(playerPosition.IconID); data << int8(playerPosition.ArenaSlot); + return data; } -WorldPacket const* WorldPackets::Battleground::BattlegroundPlayerPositions::Write() +WorldPacket const* BattlegroundPlayerPositions::Write() { _worldPacket << uint32(FlagCarriers.size()); for (BattlegroundPlayerPosition const& pos : FlagCarriers) @@ -307,25 +322,28 @@ WorldPacket const* WorldPackets::Battleground::BattlegroundPlayerPositions::Writ return &_worldPacket; } -WorldPacket const* WorldPackets::Battleground::BattlegroundPlayerJoined::Write() +WorldPacket const* BattlegroundPlayerJoined::Write() { _worldPacket << Guid; + return &_worldPacket; } -WorldPacket const* WorldPackets::Battleground::BattlegroundPlayerLeft::Write() +WorldPacket const* BattlegroundPlayerLeft::Write() { _worldPacket << Guid; + return &_worldPacket; } -WorldPacket const* WorldPackets::Battleground::DestroyArenaUnit::Write() +WorldPacket const* DestroyArenaUnit::Write() { _worldPacket << Guid; + return &_worldPacket; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Battleground::RatedPvpInfo::BracketInfo const& bracketInfo) +ByteBuffer& operator<<(ByteBuffer& data, RatedPvpInfo::BracketInfo const& bracketInfo) { data << int32(bracketInfo.PersonalRating); data << int32(bracketInfo.Ranking); @@ -346,13 +364,13 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Battleground::RatedPvpInf data << int32(bracketInfo.SeasonPvpTier); data << int32(bracketInfo.BestWeeklyPvpTier); data << uint8(bracketInfo.BestSeasonPvpTierEnum); - data.WriteBit(bracketInfo.Disqualified); + data << Bits<1>(bracketInfo.Disqualified); data.FlushBits(); return data; } -WorldPacket const* WorldPackets::Battleground::RatedPvpInfo::Write() +WorldPacket const* RatedPvpInfo::Write() { for (BracketInfo const& bracket : Bracket) _worldPacket << bracket; @@ -360,15 +378,16 @@ WorldPacket const* WorldPackets::Battleground::RatedPvpInfo::Write() return &_worldPacket; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Battleground::RatedMatchDeserterPenalty const& ratedMatchDeserterPenalty) +ByteBuffer& operator<<(ByteBuffer& data, RatedMatchDeserterPenalty const& ratedMatchDeserterPenalty) { data << int32(ratedMatchDeserterPenalty.PersonalRatingChange); data << int32(ratedMatchDeserterPenalty.QueuePenaltySpellID); data << ratedMatchDeserterPenalty.QueuePenaltyDuration; + return data; } -WorldPacket const* WorldPackets::Battleground::PVPMatchInitialize::Write() +WorldPacket const* PVPMatchInitialize::Write() { _worldPacket << uint32(MapID); _worldPacket << uint8(State); @@ -387,14 +406,14 @@ WorldPacket const* WorldPackets::Battleground::PVPMatchInitialize::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Battleground::PVPMatchSetState::Write() +WorldPacket const* PVPMatchSetState::Write() { _worldPacket << uint8(State); return &_worldPacket; } -WorldPacket const* WorldPackets::Battleground::PVPMatchComplete::Write() +WorldPacket const* PVPMatchComplete::Write() { _worldPacket << uint8(Winner); _worldPacket << Duration; @@ -408,13 +427,13 @@ WorldPacket const* WorldPackets::Battleground::PVPMatchComplete::Write() return &_worldPacket; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Battleground::BattlegroundCapturePointInfo const& battlegroundCapturePointInfo) +ByteBuffer& operator<<(ByteBuffer& data, BattlegroundCapturePointInfo const& battlegroundCapturePointInfo) { data << battlegroundCapturePointInfo.Guid; data << battlegroundCapturePointInfo.Pos; data << int8(battlegroundCapturePointInfo.State); - if (battlegroundCapturePointInfo.State == WorldPackets::Battleground::BattlegroundCapturePointState::ContestedHorde || battlegroundCapturePointInfo.State == WorldPackets::Battleground::BattlegroundCapturePointState::ContestedAlliance) + if (battlegroundCapturePointInfo.State == BattlegroundCapturePointState::ContestedHorde || battlegroundCapturePointInfo.State == BattlegroundCapturePointState::ContestedAlliance) { data << battlegroundCapturePointInfo.CaptureTime; data << battlegroundCapturePointInfo.CaptureTotalDuration; @@ -423,14 +442,17 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Battleground::Battlegroun return data; } -WorldPacket const* WorldPackets::Battleground::UpdateCapturePoint::Write() +WorldPacket const* UpdateCapturePoint::Write() { _worldPacket << CapturePointInfo; + return &_worldPacket; } -WorldPacket const* WorldPackets::Battleground::CapturePointRemoved::Write() +WorldPacket const* CapturePointRemoved::Write() { _worldPacket << CapturePointGUID; + return &_worldPacket; } +} diff --git a/src/server/game/Server/Packets/BattlegroundPackets.h b/src/server/game/Server/Packets/BattlegroundPackets.h index 73c64c8ecc5..5df62d44ebc 100644 --- a/src/server/game/Server/Packets/BattlegroundPackets.h +++ b/src/server/game/Server/Packets/BattlegroundPackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef BattlegroundPackets_h__ -#define BattlegroundPackets_h__ +#ifndef TRINITYCORE_BATTLEGROUND_PACKETS_H +#define TRINITYCORE_BATTLEGROUND_PACKETS_H #include "Packet.h" #include "LFGPacketsCommon.h" @@ -33,7 +33,7 @@ namespace WorldPackets class SeasonInfo final : public ServerPacket { public: - SeasonInfo() : ServerPacket(SMSG_SEASON_INFO, 4 + 4 + 4 + 4 + 4 + 1) { } + explicit SeasonInfo() : ServerPacket(SMSG_SEASON_INFO, 4 + 4 + 4 + 4 + 4 + 1) { } WorldPacket const* Write() override; @@ -52,7 +52,7 @@ namespace WorldPackets class AreaSpiritHealerQuery final : public ClientPacket { public: - AreaSpiritHealerQuery(WorldPacket&& packet) : ClientPacket(CMSG_AREA_SPIRIT_HEALER_QUERY, std::move(packet)) { } + explicit AreaSpiritHealerQuery(WorldPacket&& packet) : ClientPacket(CMSG_AREA_SPIRIT_HEALER_QUERY, std::move(packet)) { } void Read() override; @@ -62,7 +62,7 @@ namespace WorldPackets class AreaSpiritHealerQueue final : public ClientPacket { public: - AreaSpiritHealerQueue(WorldPacket&& packet) : ClientPacket(CMSG_AREA_SPIRIT_HEALER_QUEUE, std::move(packet)) { } + explicit AreaSpiritHealerQueue(WorldPacket&& packet) : ClientPacket(CMSG_AREA_SPIRIT_HEALER_QUEUE, std::move(packet)) { } void Read() override; @@ -72,7 +72,7 @@ namespace WorldPackets class AreaSpiritHealerTime final : public ServerPacket { public: - AreaSpiritHealerTime() : ServerPacket(SMSG_AREA_SPIRIT_HEALER_TIME, 14 + 4) { } + explicit AreaSpiritHealerTime() : ServerPacket(SMSG_AREA_SPIRIT_HEALER_TIME, 14 + 4) { } WorldPacket const* Write() override; @@ -83,7 +83,7 @@ namespace WorldPackets class HearthAndResurrect final : public ClientPacket { public: - HearthAndResurrect(WorldPacket&& packet) : ClientPacket(CMSG_HEARTH_AND_RESURRECT, std::move(packet)) { } + explicit HearthAndResurrect(WorldPacket&& packet) : ClientPacket(CMSG_HEARTH_AND_RESURRECT, std::move(packet)) { } void Read() override { } }; @@ -91,7 +91,7 @@ namespace WorldPackets class PVPLogDataRequest final : public ClientPacket { public: - PVPLogDataRequest(WorldPacket&& packet) : ClientPacket(CMSG_PVP_LOG_DATA, std::move(packet)) { } + explicit PVPLogDataRequest(WorldPacket&& packet) : ClientPacket(CMSG_PVP_LOG_DATA, std::move(packet)) { } void Read() override { } }; @@ -157,7 +157,7 @@ namespace WorldPackets class PVPMatchStatisticsMessage final : public ServerPacket { public: - PVPMatchStatisticsMessage() : ServerPacket(SMSG_PVP_MATCH_STATISTICS, 0) { } + explicit PVPMatchStatisticsMessage() : ServerPacket(SMSG_PVP_MATCH_STATISTICS, 0) { } WorldPacket const* Write() override; @@ -179,7 +179,7 @@ namespace WorldPackets class BattlefieldStatusNone final : public ServerPacket { public: - BattlefieldStatusNone() : ServerPacket(SMSG_BATTLEFIELD_STATUS_NONE, 16 + 4 + 4 + 4) { } + explicit BattlefieldStatusNone() : ServerPacket(SMSG_BATTLEFIELD_STATUS_NONE, 16 + 4 + 4 + 4) { } WorldPacket const* Write() override; @@ -189,7 +189,7 @@ namespace WorldPackets class BattlefieldStatusNeedConfirmation final : public ServerPacket { public: - BattlefieldStatusNeedConfirmation() : ServerPacket(SMSG_BATTLEFIELD_STATUS_NEED_CONFIRMATION, 4 + 4 + sizeof(BattlefieldStatusHeader) + 1) { } + explicit BattlefieldStatusNeedConfirmation() : ServerPacket(SMSG_BATTLEFIELD_STATUS_NEED_CONFIRMATION, 4 + 4 + sizeof(BattlefieldStatusHeader) + 1) { } WorldPacket const* Write() override; @@ -202,7 +202,7 @@ namespace WorldPackets class BattlefieldStatusActive final : public ServerPacket { public: - BattlefieldStatusActive() : ServerPacket(SMSG_BATTLEFIELD_STATUS_ACTIVE, sizeof(BattlefieldStatusHeader) + 4 + 1 + 1 + 4 + 4) { } + explicit BattlefieldStatusActive() : ServerPacket(SMSG_BATTLEFIELD_STATUS_ACTIVE, sizeof(BattlefieldStatusHeader) + 4 + 1 + 1 + 4 + 4) { } WorldPacket const* Write() override; @@ -218,7 +218,7 @@ namespace WorldPackets class BattlefieldStatusQueued final : public ServerPacket { public: - BattlefieldStatusQueued() : ServerPacket(SMSG_BATTLEFIELD_STATUS_QUEUED, 4 + sizeof(BattlefieldStatusHeader) + 1 + 1 + 1 + 4) { } + explicit BattlefieldStatusQueued() : ServerPacket(SMSG_BATTLEFIELD_STATUS_QUEUED, 4 + sizeof(BattlefieldStatusHeader) + 1 + 1 + 1 + 4) { } WorldPacket const* Write() override; @@ -234,7 +234,7 @@ namespace WorldPackets class BattlefieldStatusFailed final : public ServerPacket { public: - BattlefieldStatusFailed() : ServerPacket(SMSG_BATTLEFIELD_STATUS_FAILED, 8 + 16 + 4 + 16 + 4 + 4 + 4) { } + explicit BattlefieldStatusFailed() : ServerPacket(SMSG_BATTLEFIELD_STATUS_FAILED, 8 + 16 + 4 + 16 + 4 + 4 + 4) { } WorldPacket const* Write() override; @@ -247,7 +247,7 @@ namespace WorldPackets class BattlemasterJoin final : public ClientPacket { public: - BattlemasterJoin(WorldPacket&& packet) : ClientPacket(CMSG_BATTLEMASTER_JOIN, std::move(packet)) { } + explicit BattlemasterJoin(WorldPacket&& packet) : ClientPacket(CMSG_BATTLEMASTER_JOIN, std::move(packet)) { } void Read() override; @@ -259,7 +259,7 @@ namespace WorldPackets class BattlemasterJoinArena final : public ClientPacket { public: - BattlemasterJoinArena(WorldPacket&& packet) : ClientPacket(CMSG_BATTLEMASTER_JOIN_ARENA, std::move(packet)) { } + explicit BattlemasterJoinArena(WorldPacket&& packet) : ClientPacket(CMSG_BATTLEMASTER_JOIN_ARENA, std::move(packet)) { } void Read() override; @@ -270,7 +270,7 @@ namespace WorldPackets class BattlefieldLeave final : public ClientPacket { public: - BattlefieldLeave(WorldPacket&& packet) : ClientPacket(CMSG_BATTLEFIELD_LEAVE, std::move(packet)) { } + explicit BattlefieldLeave(WorldPacket&& packet) : ClientPacket(CMSG_BATTLEFIELD_LEAVE, std::move(packet)) { } void Read() override { } }; @@ -278,7 +278,7 @@ namespace WorldPackets class BattlefieldPort final : public ClientPacket { public: - BattlefieldPort(WorldPacket&& packet) : ClientPacket(CMSG_BATTLEFIELD_PORT, std::move(packet)) { } + explicit BattlefieldPort(WorldPacket&& packet) : ClientPacket(CMSG_BATTLEFIELD_PORT, std::move(packet)) { } void Read() override; @@ -289,7 +289,7 @@ namespace WorldPackets class BattlefieldListRequest final : public ClientPacket { public: - BattlefieldListRequest(WorldPacket&& packet) : ClientPacket(CMSG_BATTLEFIELD_LIST, std::move(packet)) { } + explicit BattlefieldListRequest(WorldPacket&& packet) : ClientPacket(CMSG_BATTLEFIELD_LIST, std::move(packet)) { } void Read() override; @@ -299,7 +299,7 @@ namespace WorldPackets class BattlefieldList final : public ServerPacket { public: - BattlefieldList() : ServerPacket(SMSG_BATTLEFIELD_LIST, 1 + 1 + 16 + 1 + 1 + 1 + 4 + 1 + 4) { } + explicit BattlefieldList() : ServerPacket(SMSG_BATTLEFIELD_LIST, 1 + 1 + 16 + 1 + 1 + 1 + 4 + 1 + 4) { } WorldPacket const* Write() override; @@ -315,7 +315,7 @@ namespace WorldPackets class GetPVPOptionsEnabled final : public ClientPacket { public: - GetPVPOptionsEnabled(WorldPacket&& packet) : ClientPacket(CMSG_GET_PVP_OPTIONS_ENABLED, std::move(packet)) { } + explicit GetPVPOptionsEnabled(WorldPacket&& packet) : ClientPacket(CMSG_GET_PVP_OPTIONS_ENABLED, std::move(packet)) { } void Read() override { } }; @@ -323,7 +323,7 @@ namespace WorldPackets class PVPOptionsEnabled final : public ServerPacket { public: - PVPOptionsEnabled() : ServerPacket(SMSG_PVP_OPTIONS_ENABLED, 1) { } + explicit PVPOptionsEnabled() : ServerPacket(SMSG_PVP_OPTIONS_ENABLED, 1) { } WorldPacket const* Write() override; @@ -342,7 +342,7 @@ namespace WorldPackets class RequestBattlefieldStatus final : public ClientPacket { public: - RequestBattlefieldStatus(WorldPacket&& packet) : ClientPacket(CMSG_REQUEST_BATTLEFIELD_STATUS, std::move(packet)) { } + explicit RequestBattlefieldStatus(WorldPacket&& packet) : ClientPacket(CMSG_REQUEST_BATTLEFIELD_STATUS, std::move(packet)) { } void Read() override { } }; @@ -350,7 +350,7 @@ namespace WorldPackets class ReportPvPPlayerAFK final : public ClientPacket { public: - ReportPvPPlayerAFK(WorldPacket&& packet) : ClientPacket(CMSG_REPORT_PVP_PLAYER_AFK, std::move(packet)) { } + explicit ReportPvPPlayerAFK(WorldPacket&& packet) : ClientPacket(CMSG_REPORT_PVP_PLAYER_AFK, std::move(packet)) { } void Read() override; @@ -360,7 +360,7 @@ namespace WorldPackets class ReportPvPPlayerAFKResult final : public ServerPacket { public: - ReportPvPPlayerAFKResult() : ServerPacket(SMSG_REPORT_PVP_PLAYER_AFK_RESULT, 16 + 1 + 1 + 1) { } + explicit ReportPvPPlayerAFKResult() : ServerPacket(SMSG_REPORT_PVP_PLAYER_AFK_RESULT, 16 + 1 + 1 + 1) { } WorldPacket const* Write() override; @@ -389,7 +389,7 @@ namespace WorldPackets class BattlegroundPlayerPositions final : public ServerPacket { public: - BattlegroundPlayerPositions() : ServerPacket(SMSG_BATTLEGROUND_PLAYER_POSITIONS, 4) { } + explicit BattlegroundPlayerPositions() : ServerPacket(SMSG_BATTLEGROUND_PLAYER_POSITIONS, 4) { } WorldPacket const* Write() override; @@ -399,7 +399,7 @@ namespace WorldPackets class BattlegroundPlayerJoined final : public ServerPacket { public: - BattlegroundPlayerJoined() : ServerPacket(SMSG_BATTLEGROUND_PLAYER_JOINED, 16) { } + explicit BattlegroundPlayerJoined() : ServerPacket(SMSG_BATTLEGROUND_PLAYER_JOINED, 16) { } WorldPacket const* Write() override; @@ -409,7 +409,7 @@ namespace WorldPackets class BattlegroundPlayerLeft final : public ServerPacket { public: - BattlegroundPlayerLeft() : ServerPacket(SMSG_BATTLEGROUND_PLAYER_LEFT, 16) { } + explicit BattlegroundPlayerLeft() : ServerPacket(SMSG_BATTLEGROUND_PLAYER_LEFT, 16) { } WorldPacket const* Write() override; @@ -419,7 +419,7 @@ namespace WorldPackets class DestroyArenaUnit final : public ServerPacket { public: - DestroyArenaUnit() : ServerPacket(SMSG_DESTROY_ARENA_UNIT, 16) { } + explicit DestroyArenaUnit() : ServerPacket(SMSG_DESTROY_ARENA_UNIT, 16) { } WorldPacket const* Write() override; @@ -429,7 +429,7 @@ namespace WorldPackets class RequestPVPRewards final : public ClientPacket { public: - RequestPVPRewards(WorldPacket&& packet) : ClientPacket(CMSG_REQUEST_PVP_REWARDS, std::move(packet)) { } + explicit RequestPVPRewards(WorldPacket&& packet) : ClientPacket(CMSG_REQUEST_PVP_REWARDS, std::move(packet)) { } void Read() override { } }; @@ -437,7 +437,7 @@ namespace WorldPackets class RequestRatedPvpInfo final : public ClientPacket { public: - RequestRatedPvpInfo(WorldPacket&& packet) : ClientPacket(CMSG_REQUEST_RATED_PVP_INFO, std::move(packet)) { } + explicit RequestRatedPvpInfo(WorldPacket&& packet) : ClientPacket(CMSG_REQUEST_RATED_PVP_INFO, std::move(packet)) { } void Read() override { } }; @@ -445,7 +445,7 @@ namespace WorldPackets class RatedPvpInfo final : public ServerPacket { public: - RatedPvpInfo() : ServerPacket(SMSG_RATED_PVP_INFO, 9 * sizeof(BracketInfo)) { } + explicit RatedPvpInfo() : ServerPacket(SMSG_RATED_PVP_INFO, 9 * sizeof(BracketInfo)) { } WorldPacket const* Write() override; @@ -494,7 +494,7 @@ namespace WorldPackets class PVPMatchInitialize final : public ServerPacket { public: - PVPMatchInitialize() : ServerPacket(SMSG_PVP_MATCH_INITIALIZE, 4 + 1 + 4 + 4 + 1 + 4 + 1) { } + explicit PVPMatchInitialize() : ServerPacket(SMSG_PVP_MATCH_INITIALIZE, 4 + 1 + 4 + 4 + 1 + 4 + 1) { } WorldPacket const* Write() override; @@ -522,7 +522,7 @@ namespace WorldPackets class PVPMatchComplete final : public ServerPacket { public: - PVPMatchComplete() : ServerPacket(SMSG_PVP_MATCH_COMPLETE) { } + explicit PVPMatchComplete() : ServerPacket(SMSG_PVP_MATCH_COMPLETE) { } WorldPacket const* Write() override; @@ -553,7 +553,7 @@ namespace WorldPackets class UpdateCapturePoint final : public ServerPacket { public: - UpdateCapturePoint() : ServerPacket(SMSG_UPDATE_CAPTURE_POINT) { } + explicit UpdateCapturePoint() : ServerPacket(SMSG_UPDATE_CAPTURE_POINT) { } WorldPacket const* Write() override; @@ -563,8 +563,8 @@ namespace WorldPackets class CapturePointRemoved final : public ServerPacket { public: - CapturePointRemoved() : ServerPacket(SMSG_CAPTURE_POINT_REMOVED) { } - CapturePointRemoved(ObjectGuid capturePointGUID) : ServerPacket(SMSG_CAPTURE_POINT_REMOVED), CapturePointGUID(capturePointGUID) { } + explicit CapturePointRemoved() : ServerPacket(SMSG_CAPTURE_POINT_REMOVED) { } + explicit CapturePointRemoved(ObjectGuid capturePointGUID) : ServerPacket(SMSG_CAPTURE_POINT_REMOVED), CapturePointGUID(capturePointGUID) { } WorldPacket const* Write() override; @@ -573,4 +573,4 @@ namespace WorldPackets } } -#endif // BattlegroundPackets_h__ +#endif // TRINITYCORE_BATTLEGROUND_PACKETS_H diff --git a/src/server/game/Server/Packets/BattlenetPackets.cpp b/src/server/game/Server/Packets/BattlenetPackets.cpp index 95b740fbd65..7b0d32d7231 100644 --- a/src/server/game/Server/Packets/BattlenetPackets.cpp +++ b/src/server/game/Server/Packets/BattlenetPackets.cpp @@ -18,7 +18,9 @@ #include "BattlenetPackets.h" #include "PacketUtilities.h" -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Battlenet::MethodCall const& method) +namespace WorldPackets::Battlenet +{ +ByteBuffer& operator<<(ByteBuffer& data, MethodCall const& method) { data << uint64(method.Type); data << uint64(method.ObjectId); @@ -26,7 +28,7 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Battlenet::MethodCall con return data; } -ByteBuffer& operator>>(ByteBuffer& data, WorldPackets::Battlenet::MethodCall& method) +ByteBuffer& operator>>(ByteBuffer& data, MethodCall& method) { data >> method.Type; data >> method.ObjectId; @@ -34,7 +36,7 @@ ByteBuffer& operator>>(ByteBuffer& data, WorldPackets::Battlenet::MethodCall& me return data; } -WorldPacket const* WorldPackets::Battlenet::Notification::Write() +WorldPacket const* Notification::Write() { _worldPacket << Method; _worldPacket << uint32(Data.size()); @@ -43,7 +45,7 @@ WorldPacket const* WorldPackets::Battlenet::Notification::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Battlenet::Response::Write() +WorldPacket const* Response::Write() { _worldPacket << uint32(BnetStatus); _worldPacket << Method; @@ -53,26 +55,26 @@ WorldPacket const* WorldPackets::Battlenet::Response::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Battlenet::ConnectionStatus::Write() +WorldPacket const* ConnectionStatus::Write() { - _worldPacket.WriteBits(State, 2); - _worldPacket.WriteBit(SuppressNotification); + _worldPacket << Bits<2>(State); + _worldPacket << Bits<1>(SuppressNotification); _worldPacket.FlushBits(); return &_worldPacket; } -WorldPacket const* WorldPackets::Battlenet::ChangeRealmTicketResponse::Write() +WorldPacket const* ChangeRealmTicketResponse::Write() { _worldPacket << uint32(Token); - _worldPacket.WriteBit(Allow); + _worldPacket << Bits<1>(Allow); _worldPacket << uint32(Ticket.size()); _worldPacket.append(Ticket); return &_worldPacket; } -void WorldPackets::Battlenet::Request::Read() +void Request::Read() { uint32 protoSize; @@ -90,8 +92,9 @@ void WorldPackets::Battlenet::Request::Read() } } -void WorldPackets::Battlenet::ChangeRealmTicket::Read() +void ChangeRealmTicket::Read() { _worldPacket >> Token; _worldPacket.read(Secret.data(), Secret.size()); } +} diff --git a/src/server/game/Server/Packets/BattlenetPackets.h b/src/server/game/Server/Packets/BattlenetPackets.h index d12490f73ed..dcde6acec40 100644 --- a/src/server/game/Server/Packets/BattlenetPackets.h +++ b/src/server/game/Server/Packets/BattlenetPackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef BattlenetPackets_h__ -#define BattlenetPackets_h__ +#ifndef TRINITYCORE_BATTLENET_PACKETS_H +#define TRINITYCORE_BATTLENET_PACKETS_H #include "Packet.h" #include "BattlenetRpcErrorCodes.h" @@ -40,7 +40,7 @@ namespace WorldPackets class Notification final : public ServerPacket { public: - Notification() : ServerPacket(SMSG_BATTLENET_NOTIFICATION, 8 + 8 + 4 + 4) { } + explicit Notification() : ServerPacket(SMSG_BATTLENET_NOTIFICATION, 8 + 8 + 4 + 4) { } WorldPacket const* Write() override; @@ -51,7 +51,7 @@ namespace WorldPackets class Response final : public ServerPacket { public: - Response() : ServerPacket(SMSG_BATTLENET_RESPONSE, 4 + 8 + 8 + 4 + 4) { } + explicit Response() : ServerPacket(SMSG_BATTLENET_RESPONSE, 4 + 8 + 8 + 4 + 4) { } WorldPacket const* Write() override; @@ -63,7 +63,7 @@ namespace WorldPackets class ConnectionStatus final : public ServerPacket { public: - ConnectionStatus() : ServerPacket(SMSG_BATTLE_NET_CONNECTION_STATUS, 1) { } + explicit ConnectionStatus() : ServerPacket(SMSG_BATTLE_NET_CONNECTION_STATUS, 1) { } WorldPacket const* Write() override; @@ -74,7 +74,7 @@ namespace WorldPackets class ChangeRealmTicketResponse final : public ServerPacket { public: - ChangeRealmTicketResponse() : ServerPacket(SMSG_CHANGE_REALM_TICKET_RESPONSE) { } + explicit ChangeRealmTicketResponse() : ServerPacket(SMSG_CHANGE_REALM_TICKET_RESPONSE) { } WorldPacket const* Write() override; @@ -86,7 +86,7 @@ namespace WorldPackets class Request final : public ClientPacket { public: - Request(WorldPacket&& packet) : ClientPacket(CMSG_BATTLENET_REQUEST, std::move(packet)) { } + explicit Request(WorldPacket&& packet) : ClientPacket(CMSG_BATTLENET_REQUEST, std::move(packet)) { } void Read() override; @@ -97,7 +97,7 @@ namespace WorldPackets class ChangeRealmTicket final : public ClientPacket { public: - ChangeRealmTicket(WorldPacket&& packet) : ClientPacket(CMSG_CHANGE_REALM_TICKET, std::move(packet)) { } + explicit ChangeRealmTicket(WorldPacket&& packet) : ClientPacket(CMSG_CHANGE_REALM_TICKET, std::move(packet)) { } void Read() override; @@ -107,4 +107,4 @@ namespace WorldPackets } } -#endif // BattlenetPackets_h__ +#endif // TRINITYCORE_BATTLENET_PACKETS_H diff --git a/src/server/game/Server/Packets/BlackMarketPackets.cpp b/src/server/game/Server/Packets/BlackMarketPackets.cpp index d24019ec693..77d05d64a03 100644 --- a/src/server/game/Server/Packets/BlackMarketPackets.cpp +++ b/src/server/game/Server/Packets/BlackMarketPackets.cpp @@ -17,18 +17,20 @@ #include "BlackMarketPackets.h" -void WorldPackets::BlackMarket::BlackMarketOpen::Read() +namespace WorldPackets::BlackMarket +{ +void BlackMarketOpen::Read() { _worldPacket >> Guid; } -void WorldPackets::BlackMarket::BlackMarketRequestItems::Read() +void BlackMarketRequestItems::Read() { _worldPacket >> Guid; _worldPacket >> LastUpdateID; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::BlackMarket::BlackMarketItem const& blackMarketItem) +ByteBuffer& operator<<(ByteBuffer& data, BlackMarketItem const& blackMarketItem) { data << int32(blackMarketItem.MarketID); data << int32(blackMarketItem.SellerNPC); @@ -39,13 +41,13 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::BlackMarket::BlackMarketI data << int32(blackMarketItem.SecondsRemaining); data << int32(blackMarketItem.NumBids); data << blackMarketItem.Item; - data.WriteBit(blackMarketItem.HighBid); + data << Bits<1>(blackMarketItem.HighBid); data.FlushBits(); return data; } -ByteBuffer& operator>>(ByteBuffer& data, WorldPackets::BlackMarket::BlackMarketItem& blackMarketItem) +ByteBuffer& operator>>(ByteBuffer& data, BlackMarketItem& blackMarketItem) { data >> blackMarketItem.MarketID; data >> blackMarketItem.SellerNPC; @@ -56,12 +58,12 @@ ByteBuffer& operator>>(ByteBuffer& data, WorldPackets::BlackMarket::BlackMarketI data >> blackMarketItem.CurrentBid; data >> blackMarketItem.SecondsRemaining; data >> blackMarketItem.NumBids; - blackMarketItem.HighBid = data.ReadBit(); + data >> Bits<1>(blackMarketItem.HighBid); return data; } -WorldPacket const* WorldPackets::BlackMarket::BlackMarketRequestItemsResult::Write() +WorldPacket const* BlackMarketRequestItemsResult::Write() { _worldPacket << LastUpdateID; _worldPacket << uint32(Items.size()); @@ -72,7 +74,7 @@ WorldPacket const* WorldPackets::BlackMarket::BlackMarketRequestItemsResult::Wri return &_worldPacket; } -void WorldPackets::BlackMarket::BlackMarketBidOnItem::Read() +void BlackMarketBidOnItem::Read() { _worldPacket >> Guid; _worldPacket >> MarketID; @@ -80,7 +82,7 @@ void WorldPackets::BlackMarket::BlackMarketBidOnItem::Read() _worldPacket >> Item; } -WorldPacket const* WorldPackets::BlackMarket::BlackMarketBidOnItemResult::Write() +WorldPacket const* BlackMarketBidOnItemResult::Write() { _worldPacket << int32(MarketID); _worldPacket << int32(Result); @@ -89,7 +91,7 @@ WorldPacket const* WorldPackets::BlackMarket::BlackMarketBidOnItemResult::Write( return &_worldPacket; } -WorldPacket const* WorldPackets::BlackMarket::BlackMarketOutbid::Write() +WorldPacket const* BlackMarketOutbid::Write() { _worldPacket << int32(MarketID); _worldPacket << int32(RandomPropertiesID); @@ -98,7 +100,7 @@ WorldPacket const* WorldPackets::BlackMarket::BlackMarketOutbid::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::BlackMarket::BlackMarketWon::Write() +WorldPacket const* BlackMarketWon::Write() { _worldPacket << int32(MarketID); _worldPacket << int32(RandomPropertiesID); @@ -106,3 +108,4 @@ WorldPacket const* WorldPackets::BlackMarket::BlackMarketWon::Write() return &_worldPacket; } +} diff --git a/src/server/game/Server/Packets/BlackMarketPackets.h b/src/server/game/Server/Packets/BlackMarketPackets.h index aa400617008..9a7628a3753 100644 --- a/src/server/game/Server/Packets/BlackMarketPackets.h +++ b/src/server/game/Server/Packets/BlackMarketPackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef BlackMarketPackets_h__ -#define BlackMarketPackets_h__ +#ifndef TRINITYCORE_BLACK_MARKET_PACKETS_H +#define TRINITYCORE_BLACK_MARKET_PACKETS_H #include "Packet.h" #include "ItemPacketsCommon.h" @@ -43,7 +43,7 @@ namespace WorldPackets class BlackMarketOpen final : public ClientPacket { public: - BlackMarketOpen(WorldPacket&& packet) : ClientPacket(CMSG_BLACK_MARKET_OPEN, std::move(packet)) { } + explicit BlackMarketOpen(WorldPacket&& packet) : ClientPacket(CMSG_BLACK_MARKET_OPEN, std::move(packet)) { } void Read() override; @@ -53,7 +53,7 @@ namespace WorldPackets class BlackMarketRequestItems final : public ClientPacket { public: - BlackMarketRequestItems(WorldPacket&& packet) : ClientPacket(CMSG_BLACK_MARKET_REQUEST_ITEMS, std::move(packet)) { } + explicit BlackMarketRequestItems(WorldPacket&& packet) : ClientPacket(CMSG_BLACK_MARKET_REQUEST_ITEMS, std::move(packet)) { } void Read() override; @@ -64,7 +64,7 @@ namespace WorldPackets class BlackMarketRequestItemsResult final : public ServerPacket { public: - BlackMarketRequestItemsResult() : ServerPacket(SMSG_BLACK_MARKET_REQUEST_ITEMS_RESULT, 4) { } + explicit BlackMarketRequestItemsResult() : ServerPacket(SMSG_BLACK_MARKET_REQUEST_ITEMS_RESULT, 4) { } WorldPacket const* Write() override; @@ -75,7 +75,7 @@ namespace WorldPackets class BlackMarketBidOnItem final : public ClientPacket { public: - BlackMarketBidOnItem(WorldPacket&& packet) : ClientPacket(CMSG_BLACK_MARKET_BID_ON_ITEM, std::move(packet)) { } + explicit BlackMarketBidOnItem(WorldPacket&& packet) : ClientPacket(CMSG_BLACK_MARKET_BID_ON_ITEM, std::move(packet)) { } void Read() override; @@ -88,7 +88,7 @@ namespace WorldPackets class BlackMarketBidOnItemResult final : public ServerPacket { public: - BlackMarketBidOnItemResult() : ServerPacket(SMSG_BLACK_MARKET_BID_ON_ITEM_RESULT, 4 + 76 + 4) { } + explicit BlackMarketBidOnItemResult() : ServerPacket(SMSG_BLACK_MARKET_BID_ON_ITEM_RESULT, 4 + 76 + 4) { } WorldPacket const* Write() override; @@ -100,7 +100,7 @@ namespace WorldPackets class BlackMarketOutbid final : public ServerPacket { public: - BlackMarketOutbid() : ServerPacket(SMSG_BLACK_MARKET_OUTBID, 4 + 76 + 4) { } + explicit BlackMarketOutbid() : ServerPacket(SMSG_BLACK_MARKET_OUTBID, 4 + 76 + 4) { } WorldPacket const* Write() override; @@ -112,7 +112,7 @@ namespace WorldPackets class BlackMarketWon final : public ServerPacket { public: - BlackMarketWon() : ServerPacket(SMSG_BLACK_MARKET_WON, 4 + 76 + 4) { } + explicit BlackMarketWon() : ServerPacket(SMSG_BLACK_MARKET_WON, 4 + 76 + 4) { } WorldPacket const* Write() override; @@ -123,4 +123,4 @@ namespace WorldPackets } } -#endif // BlackMarketPackets_h__ +#endif // TRINITYCORE_BLACK_MARKET_PACKETS_H diff --git a/src/server/game/Server/Packets/ChatPackets.cpp b/src/server/game/Server/Packets/ChatPackets.cpp index 4d6c7143a6a..3dfac9802ed 100644 --- a/src/server/game/Server/Packets/ChatPackets.cpp +++ b/src/server/game/Server/Packets/ChatPackets.cpp @@ -47,20 +47,11 @@ void WorldPackets::Chat::ChatMessageWhisper::Read() _worldPacket >> TargetGUID; _worldPacket >> TargetVirtualRealmAddress; - uint32 targetLen = _worldPacket.ReadBits(9); - uint32 textLen = _worldPacket.ReadBits(11); - - if (targetLen > 1) - { - Target = _worldPacket.ReadString(targetLen - 1); - _worldPacket.read_skip<uint8>(); // null terminator - } + _worldPacket >> SizedCString::BitsSize<9>(Target); + _worldPacket >> SizedCString::BitsSize<11>(Text); - if (textLen > 1) - { - Text = _worldPacket.ReadString(textLen - 1); - _worldPacket.read_skip<uint8>(); // null terminator - } + _worldPacket >> SizedCString::Data(Target); + _worldPacket >> SizedCString::Data(Text); } void WorldPackets::Chat::ChatMessageChannel::Read() @@ -100,20 +91,11 @@ void WorldPackets::Chat::ChatAddonMessageTargeted::Read() _worldPacket >> PlayerGUID; _worldPacket >> PlayerVirtualRealmAddress; - uint32 playerNameLength = _worldPacket.ReadBits(9); - uint32 channelNameLength = _worldPacket.ReadBits(8); - - if (playerNameLength > 1) - { - PlayerName = _worldPacket.ReadString(playerNameLength - 1); - _worldPacket.read_skip<uint8>(); // null terminator - } + _worldPacket >> SizedCString::BitsSize<9>(PlayerName); + _worldPacket >> SizedCString::BitsSize<8>(ChannelName); - if (channelNameLength > 1) - { - ChannelName = _worldPacket.ReadString(channelNameLength - 1); - _worldPacket.read_skip<uint8>(); // null terminator - } + _worldPacket >> SizedCString::Data(PlayerName); + _worldPacket >> SizedCString::Data(ChannelName); } void WorldPackets::Chat::ChatMessageDND::Read() diff --git a/src/server/game/Server/Packets/ItemPacketsCommon.cpp b/src/server/game/Server/Packets/ItemPacketsCommon.cpp index 9fdc43bc91b..ed248759086 100644 --- a/src/server/game/Server/Packets/ItemPacketsCommon.cpp +++ b/src/server/game/Server/Packets/ItemPacketsCommon.cpp @@ -147,7 +147,7 @@ ByteBuffer& operator<<(ByteBuffer& data, ItemBonuses const& itemBonusInstanceDat ByteBuffer& operator>>(ByteBuffer& data, ItemBonuses& itemBonusInstanceData) { - itemBonusInstanceData.Context = data.read<ItemContext>(); + data >> As<uint8>(itemBonusInstanceData.Context); uint32 bonusListIdSize; data >> bonusListIdSize; if (bonusListIdSize > 32) diff --git a/src/server/game/Server/Packets/LFGPacketsCommon.cpp b/src/server/game/Server/Packets/LFGPacketsCommon.cpp index e58a4d754d4..d3b9774d191 100644 --- a/src/server/game/Server/Packets/LFGPacketsCommon.cpp +++ b/src/server/game/Server/Packets/LFGPacketsCommon.cpp @@ -17,26 +17,29 @@ #include "LFGPacketsCommon.h" -ByteBuffer& operator>>(ByteBuffer& data, WorldPackets::LFG::RideTicket& ticket) +namespace WorldPackets::LFG +{ +ByteBuffer& operator>>(ByteBuffer& data, RideTicket& ticket) { data >> ticket.RequesterGuid; data >> ticket.Id; - ticket.Type = data.read<WorldPackets::LFG::RideType>(); + data >> As<uint32>(ticket.Type); data >> ticket.Time; - ticket.IsCrossFaction = data.ReadBit(); + data >> Bits<1>(ticket.IsCrossFaction); data.ResetBitPos(); return data; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::LFG::RideTicket const& ticket) +ByteBuffer& operator<<(ByteBuffer& data, RideTicket const& ticket) { data << ticket.RequesterGuid; data << uint32(ticket.Id); - data << uint32(ticket.Type); + data << As<uint32>(ticket.Type); data << ticket.Time; - data.WriteBit(ticket.IsCrossFaction); + data << Bits<1>(ticket.IsCrossFaction); data.FlushBits(); return data; } +} diff --git a/src/server/game/Server/Packets/LFGPacketsCommon.h b/src/server/game/Server/Packets/LFGPacketsCommon.h index 3b9df00784a..83bfeedfa14 100644 --- a/src/server/game/Server/Packets/LFGPacketsCommon.h +++ b/src/server/game/Server/Packets/LFGPacketsCommon.h @@ -40,10 +40,10 @@ namespace WorldPackets Timestamp<> Time; bool IsCrossFaction = false; }; + + ByteBuffer& operator>>(ByteBuffer& data, RideTicket& ticket); + ByteBuffer& operator<<(ByteBuffer& data, RideTicket const& ticket); } } -ByteBuffer& operator>>(ByteBuffer& data, WorldPackets::LFG::RideTicket& ticket); -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::LFG::RideTicket const& ticket); - #endif // LFGPacketsCommon_h__ diff --git a/src/server/game/Server/Packets/MovementPackets.cpp b/src/server/game/Server/Packets/MovementPackets.cpp index 4023964a0b0..e3a8c8d0c9b 100644 --- a/src/server/game/Server/Packets/MovementPackets.cpp +++ b/src/server/game/Server/Packets/MovementPackets.cpp @@ -462,7 +462,7 @@ void WorldPackets::Movement::CommonMovement::WriteCreateObjectSplineDataBlock(:: if (hasFadeObjectTime) data << uint32(moveSpline.effect_start_time); // FadeObjectTime - data.append(moveSpline.getPath().data(), moveSpline.getPath().size()); + data.append(reinterpret_cast<float const*>(moveSpline.getPath().data()), moveSpline.getPath().size() * 3); if (moveSpline.spell_effect_extra) { @@ -504,7 +504,7 @@ void WorldPackets::Movement::CommonMovement::WriteCreateObjectSplineDataBlock(:: void WorldPackets::Movement::CommonMovement::WriteCreateObjectAreaTriggerSpline(::Movement::Spline<int32> const& spline, ByteBuffer& data) { data.WriteBits(spline.getPoints().size(), 16); - data.append<G3D::Vector3>(spline.getPoints().data(), spline.getPoints().size()); + data.append(reinterpret_cast<float const*>(spline.getPoints().data()), spline.getPoints().size() * 3); } void WorldPackets::Movement::CommonMovement::WriteMovementForceWithDirection(MovementForce const& movementForce, ByteBuffer& data, Position const* objectPosition /*= nullptr*/) diff --git a/src/server/game/Server/Packets/TicketPackets.cpp b/src/server/game/Server/Packets/TicketPackets.cpp index 7d5ad918d46..dea6083375c 100644 --- a/src/server/game/Server/Packets/TicketPackets.cpp +++ b/src/server/game/Server/Packets/TicketPackets.cpp @@ -74,13 +74,11 @@ void GMTicketAcknowledgeSurvey::Read() void SubmitUserFeedback::Read() { _worldPacket >> Header; - uint32 noteLength = _worldPacket.ReadBits(24); - IsSuggestion = _worldPacket.ReadBit(); - if (noteLength) - { - Note = _worldPacket.ReadString(noteLength - 1); - _worldPacket.read_skip<char>(); // null terminator - } + + _worldPacket >> SizedCString::BitsSize<24>(Note); + _worldPacket >> Bits<1>(IsSuggestion); + + _worldPacket >> SizedCString::Data(Note); } SupportTicketChatLine::SupportTicketChatLine(time_t timestamp, std::string const& text) : diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 9cabcfbfc53..d38df0c9d14 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -58,7 +58,7 @@ bool OpcodeTable::ValidateClientOpcode(OpcodeClient opcode, char const* name) co } std::ptrdiff_t index = GetOpcodeArrayIndex(opcode); - if (index < 0 || index >= std::ptrdiff_t(NUM_CMSG_OPCODES)) + if (index < 0 || index >= std::ssize(_internalTableClient)) { TC_LOG_ERROR("network", "Tried to set handler for an invalid opcode {}", opcode); return false; @@ -95,7 +95,7 @@ bool OpcodeTable::ValidateServerOpcode(OpcodeServer opcode, char const* name, Co } std::ptrdiff_t index = GetOpcodeArrayIndex(opcode); - if (index < 0 || index >= std::ptrdiff_t(NUM_SMSG_OPCODES)) + if (index < 0 || index >= std::ssize(_internalTableServer)) { TC_LOG_ERROR("network", "Tried to set handler for an invalid opcode {}", opcode); return false; @@ -2284,7 +2284,7 @@ void OpcodeTable::InitializeServerOpcodes() } template<typename OpcodeDefinition, std::size_t N, typename T> -inline std::string GetOpcodeNameForLoggingImpl(std::array<OpcodeDefinition, N> const& definitions, T id) +static inline std::string GetOpcodeNameForLoggingImpl(std::array<OpcodeDefinition, N> const& definitions, T id) { uint32 opcode = uint32(id); char const* name = nullptr; |