diff options
Diffstat (limited to 'src')
54 files changed, 1423 insertions, 1381 deletions
diff --git a/src/server/game/Entities/Player/EquipmentSet.h b/src/server/game/Entities/Player/EquipmentSet.h index 8ffcd296eb4..00ec331e30d 100644 --- a/src/server/game/Entities/Player/EquipmentSet.h +++ b/src/server/game/Entities/Player/EquipmentSet.h @@ -15,11 +15,12 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef EquipmentSet_h__ -#define EquipmentSet_h__ +#ifndef TRINITYCORE_EQUIPMENT_SET_H +#define TRINITYCORE_EQUIPMENT_SET_H #include "Define.h" #include "ObjectGuid.h" +#include "Optional.h" #include <array> #include <map> @@ -48,7 +49,7 @@ struct EquipmentSetInfo uint64 Guid = 0; ///< Set Identifier uint32 SetID = 0; ///< Index uint32 IgnoreMask = 0; ///< Mask of EquipmentSlot - int32 AssignedSpecIndex = -1; ///< Index of character specialization that this set is automatically equipped for + Optional<int32> AssignedSpecIndex; ///< Index of character specialization that this set is automatically equipped for std::string SetName; std::string SetIcon; std::array<ObjectGuid, EQUIPMENT_SET_SLOTS> Pieces = {}; @@ -68,4 +69,4 @@ struct EquipmentSetInfo typedef std::map<uint64, EquipmentSetInfo> EquipmentSetContainer; -#endif // EquipmentSet_h__ +#endif // TRINITYCORE_EQUIPMENT_SET_H diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 69319ef113a..b4174fe0a91 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -17634,7 +17634,9 @@ void Player::_LoadEquipmentSets(PreparedQueryResult result) eqSet.Data.SetName = fields[2].GetString(); eqSet.Data.SetIcon = fields[3].GetString(); eqSet.Data.IgnoreMask = fields[4].GetUInt32(); - eqSet.Data.AssignedSpecIndex = fields[5].GetInt32(); + if (int32 assignedSpecIndex = fields[5].GetInt32(); assignedSpecIndex != -1) + eqSet.Data.AssignedSpecIndex = assignedSpecIndex; + eqSet.State = EQUIPMENT_SET_UNCHANGED; for (uint32 i = EQUIPMENT_SLOT_START; i < EQUIPMENT_SLOT_END; ++i) @@ -27856,7 +27858,7 @@ void Player::_SaveEquipmentSets(CharacterDatabaseTransaction trans) stmt->setString(j++, eqSet.Data.SetName); stmt->setString(j++, eqSet.Data.SetIcon); stmt->setUInt32(j++, eqSet.Data.IgnoreMask); - stmt->setInt32(j++, eqSet.Data.AssignedSpecIndex); + stmt->setInt32(j++, eqSet.Data.AssignedSpecIndex.value_or(-1)); for (uint8 i = EQUIPMENT_SLOT_START; i < EQUIPMENT_SLOT_END; ++i) stmt->setUInt64(j++, eqSet.Data.Pieces[i].GetCounter()); stmt->setUInt64(j++, GetGUID().GetCounter()); @@ -27893,7 +27895,7 @@ void Player::_SaveEquipmentSets(CharacterDatabaseTransaction trans) stmt->setString(j++, eqSet.Data.SetName); stmt->setString(j++, eqSet.Data.SetIcon); stmt->setUInt32(j++, eqSet.Data.IgnoreMask); - stmt->setInt32(j++, eqSet.Data.AssignedSpecIndex); + stmt->setInt32(j++, eqSet.Data.AssignedSpecIndex.value_or(-1)); for (uint8 i = EQUIPMENT_SLOT_START; i < EQUIPMENT_SLOT_END; ++i) stmt->setUInt64(j++, eqSet.Data.Pieces[i].GetCounter()); } diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 2dea5dda211..80ea5a2d1fe 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -2525,7 +2525,15 @@ void Unit::SendMeleeAttackStart(Unit* victim) void Unit::SendMeleeAttackStop(Unit* victim) { - SendMessageToSet(WorldPackets::Combat::SAttackStop(this, victim).Write(), true); + WorldPackets::Combat::SAttackStop attackStop; + attackStop.Attacker = GetGUID(); + if (victim) + { + attackStop.Victim = victim->GetGUID(); + attackStop.NowDead = !victim->IsAlive(); + } + + SendMessageToSet(attackStop.Write(), true); if (victim) TC_LOG_DEBUG("entities.unit", "{} stopped attacking {}", GetGUID().ToString(), victim->GetGUID().ToString()); diff --git a/src/server/game/Garrison/Garrison.cpp b/src/server/game/Garrison/Garrison.cpp index 112f82d9738..e7c6c059cd0 100644 --- a/src/server/game/Garrison/Garrison.cpp +++ b/src/server/game/Garrison/Garrison.cpp @@ -29,6 +29,7 @@ #include "PhasingHandler.h" #include "Player.h" #include "VehicleDefines.h" +#include "advstd.h" Garrison::Garrison(Player* owner) : _owner(owner), _siteLevel(nullptr), _followerActivationsRemainingToday(1) { @@ -839,8 +840,5 @@ uint32 Garrison::Follower::GetItemLevel() const bool Garrison::Follower::HasAbility(uint32 garrAbilityId) const { - return std::find_if(PacketInfo.AbilityID.begin(), PacketInfo.AbilityID.end(), [garrAbilityId](GarrAbilityEntry const* garrAbility) - { - return garrAbility->ID == garrAbilityId; - }) != PacketInfo.AbilityID.end(); + return advstd::ranges::contains(PacketInfo.AbilityID, garrAbilityId, &GarrAbilityEntry::ID); } diff --git a/src/server/game/Handlers/CombatHandler.cpp b/src/server/game/Handlers/CombatHandler.cpp index 71a5520b3ea..db7ef662f39 100644 --- a/src/server/game/Handlers/CombatHandler.cpp +++ b/src/server/game/Handlers/CombatHandler.cpp @@ -78,5 +78,13 @@ void WorldSession::HandleSetSheathedOpcode(WorldPackets::Combat::SetSheathed& pa void WorldSession::SendAttackStop(Unit const* enemy) { - SendPacket(WorldPackets::Combat::SAttackStop(GetPlayer(), enemy).Write()); + WorldPackets::Combat::SAttackStop attackStop; + attackStop.Attacker = _player->GetGUID(); + if (enemy) + { + attackStop.Victim = enemy->GetGUID(); + attackStop.NowDead = !enemy->IsAlive(); + } + + SendPacket(attackStop.Write()); } diff --git a/src/server/game/Handlers/SpellHandler.cpp b/src/server/game/Handlers/SpellHandler.cpp index 529069364f1..0b66cdfc6cb 100644 --- a/src/server/game/Handlers/SpellHandler.cpp +++ b/src/server/game/Handlers/SpellHandler.cpp @@ -20,6 +20,7 @@ #include "Common.h" #include "DatabaseEnv.h" #include "DB2Stores.h" +#include "GameObject.h" #include "GameObjectAI.h" #include "GameObjectPackets.h" #include "Guild.h" diff --git a/src/server/game/Server/Packets/AchievementPackets.cpp b/src/server/game/Server/Packets/AchievementPackets.cpp index d56d900c250..b35b1a1a1cb 100644 --- a/src/server/game/Server/Packets/AchievementPackets.cpp +++ b/src/server/game/Server/Packets/AchievementPackets.cpp @@ -50,8 +50,8 @@ ByteBuffer& operator<<(ByteBuffer& data, CriteriaProgress const& criteria) ByteBuffer& operator<<(ByteBuffer& data, AllAchievements const& allAchievements) { - data << uint32(allAchievements.Earned.size()); - data << uint32(allAchievements.Progress.size()); + data << Size<uint32>(allAchievements.Earned); + data << Size<uint32>(allAchievements.Progress); for (EarnedAchievement const& earned : allAchievements.Earned) data << earned; @@ -71,7 +71,7 @@ WorldPacket const* AllAchievementData::Write() WorldPacket const* AllAccountCriteria::Write() { - _worldPacket << uint32(Progress.size()); + _worldPacket << Size<uint32>(Progress); for (CriteriaProgress const& progress : Progress) _worldPacket << progress; @@ -154,7 +154,7 @@ WorldPacket const* BroadcastAchievement::Write() WorldPacket const* GuildCriteriaUpdate::Write() { - _worldPacket << uint32(Progress.size()); + _worldPacket << Size<uint32>(Progress); for (GuildCriteriaProgress const& progress : Progress) { @@ -204,7 +204,7 @@ WorldPacket const* GuildAchievementEarned::Write() WorldPacket const* AllGuildAchievements::Write() { - _worldPacket << uint32(Earned.size()); + _worldPacket << Size<uint32>(Earned); for (EarnedAchievement const& earned : Earned) _worldPacket << earned; @@ -229,7 +229,7 @@ WorldPacket const* GuildAchievementMembers::Write() { _worldPacket << GuildGUID; _worldPacket << int32(AchievementID); - _worldPacket << uint32(Member.size()); + _worldPacket << Size<uint32>(Member); for (GuildAchievementMember const& member : Member) _worldPacket << member; diff --git a/src/server/game/Server/Packets/AdventureJournalPackets.cpp b/src/server/game/Server/Packets/AdventureJournalPackets.cpp index 055da2f56bd..30e589f50f9 100644 --- a/src/server/game/Server/Packets/AdventureJournalPackets.cpp +++ b/src/server/game/Server/Packets/AdventureJournalPackets.cpp @@ -41,7 +41,7 @@ ByteBuffer& operator<<(ByteBuffer& data, AdventureJournalEntry const& adventureJ WorldPacket const* AdventureJournalDataResponse::Write() { _worldPacket << Bits<1>(OnLevelUp); - _worldPacket << uint32(Entries.size()); + _worldPacket << Size<uint32>(Entries); for (AdventureJournalEntry const& adventureJournalEntry : Entries) _worldPacket << adventureJournalEntry; diff --git a/src/server/game/Server/Packets/AuctionHousePackets.cpp b/src/server/game/Server/Packets/AuctionHousePackets.cpp index e19b501afe8..399cdc40e12 100644 --- a/src/server/game/Server/Packets/AuctionHousePackets.cpp +++ b/src/server/game/Server/Packets/AuctionHousePackets.cpp @@ -149,7 +149,7 @@ ByteBuffer& operator<<(ByteBuffer& data, BucketInfo const& bucketInfo) data << int32(bucketInfo.TotalQuantity); data << int32(bucketInfo.RequiredLevel); data << uint64(bucketInfo.MinPrice); - data << uint32(bucketInfo.ItemModifiedAppearanceIDs.size()); + data << Size<uint32>(bucketInfo.ItemModifiedAppearanceIDs); if (!bucketInfo.ItemModifiedAppearanceIDs.empty()) data.append(bucketInfo.ItemModifiedAppearanceIDs.data(), bucketInfo.ItemModifiedAppearanceIDs.size()); @@ -560,7 +560,7 @@ WorldPacket const* AuctionHelloResponse::Write() WorldPacket const* AuctionListBiddedItemsResult::Write() { - _worldPacket << uint32(Items.size()); + _worldPacket << Size<uint32>(Items); _worldPacket << uint32(DesiredDelay); _worldPacket << Bits<1>(HasMoreResults); _worldPacket.FlushBits(); @@ -573,7 +573,7 @@ WorldPacket const* AuctionListBiddedItemsResult::Write() WorldPacket const* AuctionListBucketsResult::Write() { - _worldPacket << uint32(Buckets.size()); + _worldPacket << Size<uint32>(Buckets); _worldPacket << uint32(DesiredDelay); _worldPacket << int32(Unknown830_0); _worldPacket << int32(Unknown830_1); @@ -590,7 +590,7 @@ WorldPacket const* AuctionListBucketsResult::Write() WorldPacket const* AuctionListItemsResult::Write() { { - _worldPacket << uint32(Items.size()); + _worldPacket << Size<uint32>(Items); _worldPacket << uint32(Unknown830); _worldPacket << uint32(DesiredDelay); for (AuctionItem const& item : Items) @@ -611,8 +611,8 @@ WorldPacket const* AuctionListItemsResult::Write() WorldPacket const* AuctionListOwnedItemsResult::Write() { - _worldPacket << int32(Items.size()); - _worldPacket << int32(SoldItems.size()); + _worldPacket << Size<int32>(Items); + _worldPacket << Size<int32>(SoldItems); _worldPacket << uint32(DesiredDelay); _worldPacket << Bits<1>(HasMoreResults); _worldPacket.FlushBits(); @@ -651,7 +651,7 @@ WorldPacket const* AuctionReplicateResponse::Write() _worldPacket << uint32(ChangeNumberGlobal); _worldPacket << uint32(ChangeNumberCursor); _worldPacket << uint32(ChangeNumberTombstone); - _worldPacket << uint32(Items.size()); + _worldPacket << Size<uint32>(Items); for (AuctionItem const& item : Items) _worldPacket << item; diff --git a/src/server/game/Server/Packets/AuthenticationPackets.cpp b/src/server/game/Server/Packets/AuthenticationPackets.cpp index 1888c6f55fb..0dda7373312 100644 --- a/src/server/game/Server/Packets/AuthenticationPackets.cpp +++ b/src/server/game/Server/Packets/AuthenticationPackets.cpp @@ -108,20 +108,20 @@ WorldPacket const* AuthResponse::Write() if (SuccessInfo) { _worldPacket << uint32(SuccessInfo->VirtualRealmAddress); - _worldPacket << uint32(SuccessInfo->VirtualRealms.size()); + _worldPacket << Size<uint32>(SuccessInfo->VirtualRealms); _worldPacket << uint32(SuccessInfo->TimeRested); _worldPacket << uint8(SuccessInfo->ActiveExpansionLevel); _worldPacket << uint8(SuccessInfo->AccountExpansionLevel); _worldPacket << uint32(SuccessInfo->TimeSecondsUntilPCKick); - _worldPacket << uint32(SuccessInfo->AvailableClasses->size()); - _worldPacket << uint32(SuccessInfo->Templates.size()); + _worldPacket << Size<uint32>(*SuccessInfo->AvailableClasses); + _worldPacket << Size<uint32>(SuccessInfo->Templates); _worldPacket << uint32(SuccessInfo->CurrencyID); _worldPacket << SuccessInfo->Time; for (RaceClassAvailability const& raceClassAvailability : *SuccessInfo->AvailableClasses) { _worldPacket << uint8(raceClassAvailability.RaceID); - _worldPacket << uint32(raceClassAvailability.Classes.size()); + _worldPacket << Size<uint32>(raceClassAvailability.Classes); for (ClassAvailability const& classAvailability : raceClassAvailability.Classes) { @@ -174,7 +174,7 @@ WorldPacket const* AuthResponse::Write() for (CharacterTemplate const* characterTemplate : SuccessInfo->Templates) { _worldPacket << uint32(characterTemplate->TemplateSetId); - _worldPacket << uint32(characterTemplate->Classes.size()); + _worldPacket << Size<uint32>(characterTemplate->Classes); for (CharacterTemplateClass const& templateClass : characterTemplate->Classes) { _worldPacket << uint8(templateClass.ClassID); diff --git a/src/server/game/Server/Packets/BattlePetPackets.cpp b/src/server/game/Server/Packets/BattlePetPackets.cpp index 6b339552a9a..43566727233 100644 --- a/src/server/game/Server/Packets/BattlePetPackets.cpp +++ b/src/server/game/Server/Packets/BattlePetPackets.cpp @@ -70,8 +70,8 @@ ByteBuffer& operator<<(ByteBuffer& data, BattlePet const& pet) WorldPacket const* BattlePetJournal::Write() { _worldPacket << uint16(Trap); - _worldPacket << uint32(Slots.size()); - _worldPacket << uint32(Pets.size()); + _worldPacket << Size<uint32>(Slots); + _worldPacket << Size<uint32>(Pets); _worldPacket << Bits<1>(HasJournalLock); _worldPacket.FlushBits(); @@ -86,7 +86,7 @@ WorldPacket const* BattlePetJournal::Write() WorldPacket const* BattlePetUpdates::Write() { - _worldPacket << uint32(Pets.size()); + _worldPacket << Size<uint32>(Pets); _worldPacket << Bits<1>(PetAdded); _worldPacket.FlushBits(); @@ -98,7 +98,7 @@ WorldPacket const* BattlePetUpdates::Write() WorldPacket const* PetBattleSlotUpdates::Write() { - _worldPacket << uint32(Slots.size()); + _worldPacket << Size<uint32>(Slots); _worldPacket << Bits<1>(NewSlot); _worldPacket << Bits<1>(AutoSlotted); _worldPacket.FlushBits(); diff --git a/src/server/game/Server/Packets/BattlegroundPackets.cpp b/src/server/game/Server/Packets/BattlegroundPackets.cpp index f77493bb2b7..d81547a7f48 100644 --- a/src/server/game/Server/Packets/BattlegroundPackets.cpp +++ b/src/server/game/Server/Packets/BattlegroundPackets.cpp @@ -90,7 +90,7 @@ ByteBuffer& operator<<(ByteBuffer& data, PVPMatchStatistics::PVPMatchPlayerStati data << int32(playerData.Faction); data << uint32(playerData.DamageDone); data << uint32(playerData.HealingDone); - data << uint32(playerData.Stats.size()); + data << Size<uint32>(playerData.Stats); data << int32(playerData.PrimaryTalentTree); data << int8(playerData.Sex); data << int8(playerData.Race); @@ -134,7 +134,7 @@ ByteBuffer& operator<<(ByteBuffer& data, PVPMatchStatistics::PVPMatchPlayerStati ByteBuffer& operator<<(ByteBuffer& data, PVPMatchStatistics const& pvpLogData) { data << OptionalInit(pvpLogData.Ratings); - data << uint32(pvpLogData.Statistics.size()); + data << Size<uint32>(pvpLogData.Statistics); data.append(pvpLogData.PlayerCount.data(), pvpLogData.PlayerCount.size()); if (pvpLogData.Ratings) @@ -175,7 +175,7 @@ void BattlemasterJoinArena::Read() ByteBuffer& operator<<(ByteBuffer& data, BattlefieldStatusHeader const& header) { data << header.Ticket; - data << uint32(header.QueueID.size()); + data << Size<uint32>(header.QueueID); data << uint8(header.RangeMin); data << uint8(header.RangeMax); data << uint8(header.TeamSize); @@ -262,7 +262,7 @@ WorldPacket const* BattlefieldList::Write() _worldPacket << int32(BattlemasterListID); _worldPacket << uint8(MinLevel); _worldPacket << uint8(MaxLevel); - _worldPacket << uint32(Battlefields.size()); + _worldPacket << Size<uint32>(Battlefields); if (!Battlefields.empty()) _worldPacket.append(Battlefields.data(), Battlefields.size()); @@ -317,7 +317,7 @@ ByteBuffer& operator<<(ByteBuffer& data, BattlegroundPlayerPosition const& playe WorldPacket const* BattlegroundPlayerPositions::Write() { - _worldPacket << uint32(FlagCarriers.size()); + _worldPacket << Size<uint32>(FlagCarriers); for (BattlegroundPlayerPosition const& pos : FlagCarriers) _worldPacket << pos; diff --git a/src/server/game/Server/Packets/BattlenetPackets.cpp b/src/server/game/Server/Packets/BattlenetPackets.cpp index 7b0d32d7231..278ebcad175 100644 --- a/src/server/game/Server/Packets/BattlenetPackets.cpp +++ b/src/server/game/Server/Packets/BattlenetPackets.cpp @@ -39,7 +39,7 @@ ByteBuffer& operator>>(ByteBuffer& data, MethodCall& method) WorldPacket const* Notification::Write() { _worldPacket << Method; - _worldPacket << uint32(Data.size()); + _worldPacket << Size<uint32>(Data); _worldPacket.append(Data); return &_worldPacket; @@ -49,7 +49,7 @@ WorldPacket const* Response::Write() { _worldPacket << uint32(BnetStatus); _worldPacket << Method; - _worldPacket << uint32(Data.size()); + _worldPacket << Size<uint32>(Data); _worldPacket.append(Data); return &_worldPacket; @@ -68,7 +68,7 @@ WorldPacket const* ChangeRealmTicketResponse::Write() { _worldPacket << uint32(Token); _worldPacket << Bits<1>(Allow); - _worldPacket << uint32(Ticket.size()); + _worldPacket << Size<uint32>(Ticket); _worldPacket.append(Ticket); return &_worldPacket; diff --git a/src/server/game/Server/Packets/BlackMarketPackets.cpp b/src/server/game/Server/Packets/BlackMarketPackets.cpp index 77d05d64a03..227f80446f6 100644 --- a/src/server/game/Server/Packets/BlackMarketPackets.cpp +++ b/src/server/game/Server/Packets/BlackMarketPackets.cpp @@ -66,7 +66,7 @@ ByteBuffer& operator>>(ByteBuffer& data, BlackMarketItem& blackMarketItem) WorldPacket const* BlackMarketRequestItemsResult::Write() { _worldPacket << LastUpdateID; - _worldPacket << uint32(Items.size()); + _worldPacket << Size<uint32>(Items); for (BlackMarketItem const& item : Items) _worldPacket << item; diff --git a/src/server/game/Server/Packets/CalendarPackets.cpp b/src/server/game/Server/Packets/CalendarPackets.cpp index 436026df50a..c271e6e9510 100644 --- a/src/server/game/Server/Packets/CalendarPackets.cpp +++ b/src/server/game/Server/Packets/CalendarPackets.cpp @@ -17,7 +17,9 @@ #include "CalendarPackets.h" -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Calendar::CalendarSendCalendarEventInfo const& eventInfo) +namespace WorldPackets::Calendar +{ +ByteBuffer& operator<<(ByteBuffer& data, CalendarSendCalendarEventInfo const& eventInfo) { data << uint64(eventInfo.EventID); data << uint8(eventInfo.EventType); @@ -27,14 +29,15 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Calendar::CalendarSendCal data << uint64(eventInfo.EventClubID); data << eventInfo.OwnerGuid; - data.WriteBits(eventInfo.EventName.size(), 8); + data << SizedString::BitsSize<8>(eventInfo.EventName); data.FlushBits(); - data.WriteString(eventInfo.EventName); + + data << SizedString::Data(eventInfo.EventName); return data; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Calendar::CalendarSendCalendarRaidLockoutInfo const& lockoutInfo) +ByteBuffer& operator<<(ByteBuffer& data, CalendarSendCalendarRaidLockoutInfo const& lockoutInfo) { data << uint64(lockoutInfo.InstanceID); data << int32(lockoutInfo.MapID); @@ -44,7 +47,7 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Calendar::CalendarSendCal return data; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Calendar::CalendarSendCalendarInviteInfo const& inviteInfo) +ByteBuffer& operator<<(ByteBuffer& data, CalendarSendCalendarInviteInfo const& inviteInfo) { data << uint64(inviteInfo.EventID); data << uint64(inviteInfo.InviteID); @@ -52,13 +55,13 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Calendar::CalendarSendCal data << uint8(inviteInfo.Moderator); data << uint8(inviteInfo.InviteType); data << inviteInfo.InviterGuid; - data.WriteBit(inviteInfo.IgnoreFriendAndGuildRestriction); + data << Bits<1>(inviteInfo.IgnoreFriendAndGuildRestriction); data.FlushBits(); return data; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Calendar::CalendarEventInviteInfo const& inviteInfo) +ByteBuffer& operator<<(ByteBuffer& data, CalendarEventInviteInfo const& inviteInfo) { data << inviteInfo.Guid; data << uint64(inviteInfo.InviteID); @@ -69,19 +72,20 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Calendar::CalendarEventIn data << uint8(inviteInfo.InviteType); data << inviteInfo.ResponseTime; - data.WriteBits(inviteInfo.Notes.size(), 8); + data << SizedString::BitsSize<8>(inviteInfo.Notes); data.FlushBits(); - data.WriteString(inviteInfo.Notes); + + data << SizedString::Data(inviteInfo.Notes); return data; } -void WorldPackets::Calendar::CalendarGetEvent::Read() +void CalendarGetEvent::Read() { _worldPacket >> EventID; } -void WorldPackets::Calendar::CalendarCommunityInviteRequest::Read() +void CalendarCommunityInviteRequest::Read() { _worldPacket >> ClubID; _worldPacket >> MinLevel; @@ -89,14 +93,14 @@ void WorldPackets::Calendar::CalendarCommunityInviteRequest::Read() _worldPacket >> MaxRankOrder; } -ByteBuffer& operator>>(ByteBuffer& buffer, WorldPackets::Calendar::CalendarAddEventInviteInfo& invite) +ByteBuffer& operator>>(ByteBuffer& buffer, CalendarAddEventInviteInfo& invite) { buffer >> invite.Guid; buffer >> invite.Status; buffer >> invite.Moderator; - buffer >> WorldPackets::OptionalInit(invite.BnetAccountID); - buffer >> WorldPackets::OptionalInit(invite.RealmAddress); - buffer >> WorldPackets::OptionalInit(invite.CommunityID); + buffer >> OptionalInit(invite.BnetAccountID); + buffer >> OptionalInit(invite.RealmAddress); + buffer >> OptionalInit(invite.CommunityID); if (invite.BnetAccountID) buffer >> *invite.BnetAccountID; @@ -110,34 +114,34 @@ ByteBuffer& operator>>(ByteBuffer& buffer, WorldPackets::Calendar::CalendarAddEv return buffer; } -ByteBuffer& operator>>(ByteBuffer& buffer, WorldPackets::Calendar::CalendarAddEventInfo& addEventInfo) +ByteBuffer& operator>>(ByteBuffer& buffer, CalendarAddEventInfo& addEventInfo) { buffer >> addEventInfo.ClubID; buffer >> addEventInfo.EventType; buffer >> addEventInfo.TextureID; buffer >> addEventInfo.Time; buffer >> addEventInfo.Flags; - addEventInfo.Invites.resize(buffer.read<uint32>()); + buffer >> Size<uint32>(addEventInfo.Invites); - uint8 titleLength = buffer.ReadBits(8); - uint16 descriptionLength = buffer.ReadBits(11); + buffer >> SizedString::BitsSize<8>(addEventInfo.Title); + buffer >> SizedString::BitsSize<11>(addEventInfo.Description); - for (WorldPackets::Calendar::CalendarAddEventInviteInfo& invite : addEventInfo.Invites) + for (CalendarAddEventInviteInfo& invite : addEventInfo.Invites) buffer >> invite; - addEventInfo.Title = buffer.ReadString(titleLength); - addEventInfo.Description = buffer.ReadString(descriptionLength); + buffer >> SizedString::Data(addEventInfo.Title); + buffer >> SizedString::Data(addEventInfo.Description); return buffer; } -void WorldPackets::Calendar::CalendarAddEvent::Read() +void CalendarAddEvent::Read() { _worldPacket >> EventInfo; _worldPacket >> MaxSize; } -ByteBuffer& operator>>(ByteBuffer& buffer, WorldPackets::Calendar::CalendarUpdateEventInfo& updateEventInfo) +ByteBuffer& operator>>(ByteBuffer& buffer, CalendarUpdateEventInfo& updateEventInfo) { buffer >> updateEventInfo.ClubID; buffer >> updateEventInfo.EventID; @@ -147,22 +151,22 @@ ByteBuffer& operator>>(ByteBuffer& buffer, WorldPackets::Calendar::CalendarUpdat buffer >> updateEventInfo.Time; buffer >> updateEventInfo.Flags; - uint8 titleLen = buffer.ReadBits(8); - uint16 descLen = buffer.ReadBits(11); + buffer >> SizedString::BitsSize<8>(updateEventInfo.Title); + buffer >> SizedString::BitsSize<11>(updateEventInfo.Description); - updateEventInfo.Title = buffer.ReadString(titleLen); - updateEventInfo.Description = buffer.ReadString(descLen); + buffer >> SizedString::Data(updateEventInfo.Title); + buffer >> SizedString::Data(updateEventInfo.Description); return buffer; } -void WorldPackets::Calendar::CalendarUpdateEvent::Read() +void CalendarUpdateEvent::Read() { _worldPacket >> EventInfo; _worldPacket >> MaxSize; } -void WorldPackets::Calendar::CalendarRemoveEvent::Read() +void CalendarRemoveEvent::Read() { _worldPacket >> EventID; _worldPacket >> ModeratorID; @@ -170,7 +174,7 @@ void WorldPackets::Calendar::CalendarRemoveEvent::Read() _worldPacket >> Flags; } -void WorldPackets::Calendar::CalendarCopyEvent::Read() +void CalendarCopyEvent::Read() { _worldPacket >> EventID; _worldPacket >> ModeratorID; @@ -178,34 +182,34 @@ void WorldPackets::Calendar::CalendarCopyEvent::Read() _worldPacket >> Date; } -void WorldPackets::Calendar::CalendarRSVP::Read() +void CalendarRSVP::Read() { _worldPacket >> EventID; _worldPacket >> InviteID; _worldPacket >> Status; } -void WorldPackets::Calendar::CalendarInvite::Read() +void CalendarInvite::Read() { _worldPacket >> EventID; _worldPacket >> ModeratorID; _worldPacket >> ClubID; - uint16 nameLen = _worldPacket.ReadBits(9); - Creating = _worldPacket.ReadBit(); - IsSignUp = _worldPacket.ReadBit(); + _worldPacket >> SizedString::BitsSize<9>(Name); + _worldPacket >> Bits<1>(Creating); + _worldPacket >> Bits<1>(IsSignUp); - Name = _worldPacket.ReadString(nameLen); + _worldPacket >> SizedString::Data(Name); } -void WorldPackets::Calendar::CalendarEventSignUp::Read() +void CalendarEventSignUp::Read() { _worldPacket >> EventID; _worldPacket >> ClubID; - Tentative = _worldPacket.ReadBit(); + _worldPacket >> Bits<1>(Tentative); } -void WorldPackets::Calendar::CalendarRemoveInvite::Read() +void CalendarRemoveInvite::Read() { _worldPacket >> Guid; _worldPacket >> InviteID; @@ -213,7 +217,7 @@ void WorldPackets::Calendar::CalendarRemoveInvite::Read() _worldPacket >> EventID; } -void WorldPackets::Calendar::CalendarStatus::Read() +void CalendarStatus::Read() { _worldPacket >> Guid; _worldPacket >> EventID; @@ -222,14 +226,14 @@ void WorldPackets::Calendar::CalendarStatus::Read() _worldPacket >> Status; } -void WorldPackets::Calendar::SetSavedInstanceExtend::Read() +void SetSavedInstanceExtend::Read() { _worldPacket >> MapID; _worldPacket >> DifficultyID; - Extend = _worldPacket.ReadBit(); + _worldPacket >> Bits<1>(Extend); } -void WorldPackets::Calendar::CalendarModeratorStatusQuery::Read() +void CalendarModeratorStatusQuery::Read() { _worldPacket >> Guid; _worldPacket >> EventID; @@ -238,7 +242,7 @@ void WorldPackets::Calendar::CalendarModeratorStatusQuery::Read() _worldPacket >> Status; } -WorldPacket const* WorldPackets::Calendar::CalendarInviteAdded::Write() +WorldPacket const* CalendarInviteAdded::Write() { _worldPacket << InviteGuid; _worldPacket << uint64(EventID); @@ -247,19 +251,18 @@ WorldPacket const* WorldPackets::Calendar::CalendarInviteAdded::Write() _worldPacket << uint8(Status); _worldPacket << uint8(Type); _worldPacket << ResponseTime; - - _worldPacket.WriteBit(ClearPending); + _worldPacket << Bits<1>(ClearPending); _worldPacket.FlushBits(); return &_worldPacket; } -WorldPacket const* WorldPackets::Calendar::CalendarSendCalendar::Write() +WorldPacket const* CalendarSendCalendar::Write() { _worldPacket << ServerTime; - _worldPacket << uint32(Invites.size()); - _worldPacket << uint32(Events.size()); - _worldPacket << uint32(RaidLockouts.size()); + _worldPacket << Size<uint32>(Invites); + _worldPacket << Size<uint32>(Events); + _worldPacket << Size<uint32>(RaidLockouts); for (CalendarSendCalendarRaidLockoutInfo const& lockout : RaidLockouts) _worldPacket << lockout; @@ -273,7 +276,7 @@ WorldPacket const* WorldPackets::Calendar::CalendarSendCalendar::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Calendar::CalendarSendEvent::Write() +WorldPacket const* CalendarSendEvent::Write() { _worldPacket << uint8(EventType); _worldPacket << OwnerGuid; @@ -284,21 +287,21 @@ WorldPacket const* WorldPackets::Calendar::CalendarSendEvent::Write() _worldPacket << Date; _worldPacket << LockDate; _worldPacket << uint64(EventClubID); - _worldPacket << uint32(Invites.size()); - _worldPacket << BitsSize<8>(EventName); - _worldPacket << BitsSize<11>(Description); + _worldPacket << Size<uint32>(Invites); + _worldPacket << SizedString::BitsSize<8>(EventName); + _worldPacket << SizedString::BitsSize<11>(Description); _worldPacket.FlushBits(); - for (auto const& invite : Invites) + for (CalendarEventInviteInfo const& invite : Invites) _worldPacket << invite; - _worldPacket.WriteString(EventName); - _worldPacket.WriteString(Description); + _worldPacket << SizedString::Data(EventName); + _worldPacket << SizedString::Data(Description); return &_worldPacket; } -WorldPacket const* WorldPackets::Calendar::CalendarInviteAlert::Write() +WorldPacket const* CalendarInviteAlert::Write() { _worldPacket << uint64(EventID); _worldPacket << Date; @@ -314,15 +317,16 @@ WorldPacket const* WorldPackets::Calendar::CalendarInviteAlert::Write() _worldPacket << InvitedByGuid; _worldPacket << OwnerGuid; - _worldPacket << BitsSize<8>(EventName); + _worldPacket << SizedString::BitsSize<8>(EventName); _worldPacket << Bits<1>(Unknown_1100); _worldPacket.FlushBits(); - _worldPacket.WriteString(EventName); + + _worldPacket << SizedString::Data(EventName); return &_worldPacket; } -WorldPacket const* WorldPackets::Calendar::CalendarInviteStatus::Write() +WorldPacket const* CalendarInviteStatus::Write() { _worldPacket << InviteGuid; _worldPacket << uint64(EventID); @@ -330,38 +334,35 @@ WorldPacket const* WorldPackets::Calendar::CalendarInviteStatus::Write() _worldPacket << uint32(Flags); _worldPacket << uint8(Status); _worldPacket << ResponseTime; - - _worldPacket.WriteBit(ClearPending); + _worldPacket << Bits<1>(ClearPending); _worldPacket.FlushBits(); return &_worldPacket; } -WorldPacket const* WorldPackets::Calendar::CalendarInviteRemoved::Write() +WorldPacket const* CalendarInviteRemoved::Write() { _worldPacket << InviteGuid; _worldPacket << uint64(EventID); _worldPacket << uint32(Flags); - - _worldPacket.WriteBit(ClearPending); + _worldPacket << Bits<1>(ClearPending); _worldPacket.FlushBits(); return &_worldPacket; } -WorldPacket const* WorldPackets::Calendar::CalendarModeratorStatus::Write() +WorldPacket const* CalendarModeratorStatus::Write() { _worldPacket << InviteGuid; _worldPacket << uint64(EventID); _worldPacket << uint8(Status); - - _worldPacket.WriteBit(ClearPending); + _worldPacket << Bits<1>(ClearPending); _worldPacket.FlushBits(); return &_worldPacket; } -WorldPacket const* WorldPackets::Calendar::CalendarInviteRemovedAlert::Write() +WorldPacket const* CalendarInviteRemovedAlert::Write() { _worldPacket << uint64(EventID); _worldPacket << Date; @@ -371,7 +372,7 @@ WorldPacket const* WorldPackets::Calendar::CalendarInviteRemovedAlert::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Calendar::CalendarEventUpdatedAlert::Write() +WorldPacket const* CalendarEventUpdatedAlert::Write() { _worldPacket << uint64(EventClubID); _worldPacket << uint64(EventID); @@ -383,47 +384,47 @@ WorldPacket const* WorldPackets::Calendar::CalendarEventUpdatedAlert::Write() _worldPacket << uint32(TextureID); _worldPacket << uint8(EventType); - _worldPacket.WriteBits(EventName.size(), 8); - _worldPacket.WriteBits(Description.size(), 11); - _worldPacket.WriteBit(ClearPending); + _worldPacket << SizedString::BitsSize<8>(EventName); + _worldPacket << SizedString::BitsSize<11>(Description); + _worldPacket << Bits<1>(ClearPending); _worldPacket.FlushBits(); - _worldPacket.WriteString(EventName); - _worldPacket.WriteString(Description); + _worldPacket << SizedString::Data(EventName); + _worldPacket << SizedString::Data(Description); return &_worldPacket; } -WorldPacket const* WorldPackets::Calendar::CalendarEventRemovedAlert::Write() +WorldPacket const* CalendarEventRemovedAlert::Write() { _worldPacket << uint64(EventID); _worldPacket << Date; - - _worldPacket.WriteBit(ClearPending); + _worldPacket << Bits<1>(ClearPending); _worldPacket.FlushBits(); return &_worldPacket; } -WorldPacket const* WorldPackets::Calendar::CalendarSendNumPending::Write() +WorldPacket const* CalendarSendNumPending::Write() { _worldPacket << uint32(NumPending); + return &_worldPacket; } -WorldPacket const* WorldPackets::Calendar::CalendarCommandResult::Write() +WorldPacket const* CalendarCommandResult::Write() { _worldPacket << uint8(Command); _worldPacket << uint8(Result); - - _worldPacket.WriteBits(Name.size(), 9); + _worldPacket << SizedString::BitsSize<9>(Name); _worldPacket.FlushBits(); - _worldPacket.WriteString(Name); + + _worldPacket << SizedString::Data(Name); return &_worldPacket; } -WorldPacket const* WorldPackets::Calendar::CalendarRaidLockoutAdded::Write() +WorldPacket const* CalendarRaidLockoutAdded::Write() { _worldPacket << uint64(InstanceID); _worldPacket << ServerTime; @@ -434,7 +435,7 @@ WorldPacket const* WorldPackets::Calendar::CalendarRaidLockoutAdded::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Calendar::CalendarRaidLockoutRemoved::Write() +WorldPacket const* CalendarRaidLockoutRemoved::Write() { _worldPacket << uint64(InstanceID); _worldPacket << int32(MapID); @@ -443,7 +444,7 @@ WorldPacket const* WorldPackets::Calendar::CalendarRaidLockoutRemoved::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Calendar::CalendarRaidLockoutUpdated::Write() +WorldPacket const* CalendarRaidLockoutUpdated::Write() { _worldPacket << ServerTime; _worldPacket << int32(MapID); @@ -454,10 +455,10 @@ WorldPacket const* WorldPackets::Calendar::CalendarRaidLockoutUpdated::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Calendar::CalendarCommunityInvite::Write() +WorldPacket const* CalendarCommunityInvite::Write() { - _worldPacket << uint32(Invites.size()); - for (auto const& invite : Invites) + _worldPacket << Size<uint32>(Invites); + for (CalendarEventInitialInviteInfo const& invite : Invites) { _worldPacket << invite.InviteGuid; _worldPacket << uint8(invite.Level); @@ -466,7 +467,7 @@ WorldPacket const* WorldPackets::Calendar::CalendarCommunityInvite::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Calendar::CalendarInviteStatusAlert::Write() +WorldPacket const* CalendarInviteStatusAlert::Write() { _worldPacket << uint64(EventID); _worldPacket << Date; @@ -476,33 +477,35 @@ WorldPacket const* WorldPackets::Calendar::CalendarInviteStatusAlert::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Calendar::CalendarInviteNotesAlert::Write() +WorldPacket const* CalendarInviteNotesAlert::Write() { _worldPacket << uint64(EventID); - - _worldPacket.WriteBits(Notes.size(), 8); + _worldPacket << SizedString::BitsSize<8>(Notes); _worldPacket.FlushBits(); - _worldPacket.WriteString(Notes); + + _worldPacket << SizedString::Data(Notes); return &_worldPacket; } -WorldPacket const* WorldPackets::Calendar::CalendarInviteNotes::Write() +WorldPacket const* CalendarInviteNotes::Write() { _worldPacket << InviteGuid; _worldPacket << uint64(EventID); - _worldPacket.WriteBit(ClearPending); - _worldPacket.WriteBits(Notes.size(), 8); + _worldPacket << Bits<1>(ClearPending); + _worldPacket << SizedString::BitsSize<8>(Notes); _worldPacket.FlushBits(); - _worldPacket.WriteString(Notes); + + _worldPacket << SizedString::Data(Notes); return &_worldPacket; } -void WorldPackets::Calendar::CalendarComplain::Read() +void CalendarComplain::Read() { _worldPacket >> InvitedByGUID; _worldPacket >> EventID; _worldPacket >> InviteID; } +} diff --git a/src/server/game/Server/Packets/CalendarPackets.h b/src/server/game/Server/Packets/CalendarPackets.h index 12ee0bb1df3..2c23d07f44d 100644 --- a/src/server/game/Server/Packets/CalendarPackets.h +++ b/src/server/game/Server/Packets/CalendarPackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef CalendarPackets_h__ -#define CalendarPackets_h__ +#ifndef TRINITYCORE_CALENDAR_PACKETS_H +#define TRINITYCORE_CALENDAR_PACKETS_H #include "Packet.h" #include "CalendarMgr.h" @@ -32,7 +32,7 @@ namespace WorldPackets class CalendarGetCalendar final : public ClientPacket { public: - CalendarGetCalendar(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_GET, std::move(packet)) { } + explicit CalendarGetCalendar(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_GET, std::move(packet)) { } void Read() override { } }; @@ -40,7 +40,7 @@ namespace WorldPackets class CalendarGetEvent final : public ClientPacket { public: - CalendarGetEvent(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_GET_EVENT, std::move(packet)) { } + explicit CalendarGetEvent(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_GET_EVENT, std::move(packet)) { } void Read() override; @@ -50,7 +50,7 @@ namespace WorldPackets class CalendarCommunityInviteRequest final : public ClientPacket { public: - CalendarCommunityInviteRequest(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_COMMUNITY_INVITE, std::move(packet)) { } + explicit CalendarCommunityInviteRequest(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_COMMUNITY_INVITE, std::move(packet)) { } void Read() override; @@ -85,7 +85,7 @@ namespace WorldPackets class CalendarAddEvent final : public ClientPacket { public: - CalendarAddEvent(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_ADD_EVENT, std::move(packet)) { } + explicit CalendarAddEvent(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_ADD_EVENT, std::move(packet)) { } void Read() override; @@ -109,7 +109,7 @@ namespace WorldPackets class CalendarUpdateEvent final : public ClientPacket { public: - CalendarUpdateEvent(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_UPDATE_EVENT, std::move(packet)) { } + explicit CalendarUpdateEvent(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_UPDATE_EVENT, std::move(packet)) { } void Read() override; @@ -120,7 +120,7 @@ namespace WorldPackets class CalendarRemoveEvent final : public ClientPacket { public: - CalendarRemoveEvent(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_REMOVE_EVENT, std::move(packet)) { } + explicit CalendarRemoveEvent(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_REMOVE_EVENT, std::move(packet)) { } void Read() override; @@ -133,7 +133,7 @@ namespace WorldPackets class CalendarCopyEvent final : public ClientPacket { public: - CalendarCopyEvent(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_COPY_EVENT, std::move(packet)) { } + explicit CalendarCopyEvent(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_COPY_EVENT, std::move(packet)) { } void Read() override; @@ -146,7 +146,7 @@ namespace WorldPackets class CalendarInviteAdded final : public ServerPacket { public: - CalendarInviteAdded() : ServerPacket(SMSG_CALENDAR_INVITE_ADDED, 43) { } + explicit CalendarInviteAdded() : ServerPacket(SMSG_CALENDAR_INVITE_ADDED, 43) { } WorldPacket const* Write() override; @@ -194,7 +194,7 @@ namespace WorldPackets class CalendarSendCalendar final : public ServerPacket { public: - CalendarSendCalendar() : ServerPacket(SMSG_CALENDAR_SEND_CALENDAR, 338) { } + explicit CalendarSendCalendar() : ServerPacket(SMSG_CALENDAR_SEND_CALENDAR, 338) { } WorldPacket const* Write() override; @@ -219,7 +219,7 @@ namespace WorldPackets class CalendarSendEvent final : public ServerPacket { public: - CalendarSendEvent() : ServerPacket(SMSG_CALENDAR_SEND_EVENT, 93) { } + explicit CalendarSendEvent() : ServerPacket(SMSG_CALENDAR_SEND_EVENT, 93) { } WorldPacket const* Write() override; @@ -240,7 +240,7 @@ namespace WorldPackets class CalendarInviteAlert final : public ServerPacket { public: - CalendarInviteAlert() : ServerPacket(SMSG_CALENDAR_INVITE_ALERT, 80) { } + explicit CalendarInviteAlert() : ServerPacket(SMSG_CALENDAR_INVITE_ALERT, 80) { } WorldPacket const* Write() override; @@ -262,7 +262,7 @@ namespace WorldPackets class CalendarInvite final : public ClientPacket { public: - CalendarInvite(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_INVITE, std::move(packet)) { } + explicit CalendarInvite(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_INVITE, std::move(packet)) { } void Read() override; @@ -277,7 +277,7 @@ namespace WorldPackets class CalendarRSVP final : public ClientPacket { public: - CalendarRSVP(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_RSVP, std::move(packet)) { } + explicit CalendarRSVP(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_RSVP, std::move(packet)) { } void Read() override; @@ -289,7 +289,7 @@ namespace WorldPackets class CalendarInviteStatus final : public ServerPacket { public: - CalendarInviteStatus() : ServerPacket(SMSG_CALENDAR_INVITE_STATUS, 41) { } + explicit CalendarInviteStatus() : ServerPacket(SMSG_CALENDAR_INVITE_STATUS, 41) { } WorldPacket const* Write() override; @@ -305,7 +305,7 @@ namespace WorldPackets class CalendarInviteRemoved final : public ServerPacket { public: - CalendarInviteRemoved() : ServerPacket(SMSG_CALENDAR_INVITE_REMOVED, 29) { } + explicit CalendarInviteRemoved() : ServerPacket(SMSG_CALENDAR_INVITE_REMOVED, 29) { } WorldPacket const* Write() override; @@ -318,7 +318,7 @@ namespace WorldPackets class CalendarModeratorStatus final : public ServerPacket { public: - CalendarModeratorStatus() : ServerPacket(SMSG_CALENDAR_MODERATOR_STATUS, 26) { } + explicit CalendarModeratorStatus() : ServerPacket(SMSG_CALENDAR_MODERATOR_STATUS, 26) { } WorldPacket const* Write() override; @@ -331,7 +331,7 @@ namespace WorldPackets class CalendarInviteRemovedAlert final : public ServerPacket { public: - CalendarInviteRemovedAlert() : ServerPacket(SMSG_CALENDAR_INVITE_REMOVED_ALERT, 17) { } + explicit CalendarInviteRemovedAlert() : ServerPacket(SMSG_CALENDAR_INVITE_REMOVED_ALERT, 17) { } WorldPacket const* Write() override; @@ -344,7 +344,7 @@ namespace WorldPackets class CalendarClearPendingAction final : public ServerPacket { public: - CalendarClearPendingAction() : ServerPacket(SMSG_CALENDAR_CLEAR_PENDING_ACTION, 0) { } + explicit CalendarClearPendingAction() : ServerPacket(SMSG_CALENDAR_CLEAR_PENDING_ACTION, 0) { } WorldPacket const* Write() override { return &_worldPacket; } }; @@ -352,7 +352,7 @@ namespace WorldPackets class CalendarEventUpdatedAlert final : public ServerPacket { public: - CalendarEventUpdatedAlert() : ServerPacket(SMSG_CALENDAR_EVENT_UPDATED_ALERT, 32) { } + explicit CalendarEventUpdatedAlert() : ServerPacket(SMSG_CALENDAR_EVENT_UPDATED_ALERT, 32) { } WorldPacket const* Write() override; @@ -372,7 +372,7 @@ namespace WorldPackets class CalendarEventRemovedAlert final : public ServerPacket { public: - CalendarEventRemovedAlert() : ServerPacket(SMSG_CALENDAR_EVENT_REMOVED_ALERT, 13) { } + explicit CalendarEventRemovedAlert() : ServerPacket(SMSG_CALENDAR_EVENT_REMOVED_ALERT, 13) { } WorldPacket const* Write() override; @@ -384,8 +384,8 @@ namespace WorldPackets class CalendarSendNumPending final : public ServerPacket { public: - CalendarSendNumPending() : ServerPacket(SMSG_CALENDAR_SEND_NUM_PENDING, 4) { } - CalendarSendNumPending(uint32 numPending) : ServerPacket(SMSG_CALENDAR_SEND_NUM_PENDING, 4), NumPending(numPending) { } + explicit CalendarSendNumPending() : ServerPacket(SMSG_CALENDAR_SEND_NUM_PENDING, 4) { } + explicit CalendarSendNumPending(uint32 numPending) : ServerPacket(SMSG_CALENDAR_SEND_NUM_PENDING, 4), NumPending(numPending) { } WorldPacket const* Write() override; @@ -395,7 +395,7 @@ namespace WorldPackets class CalendarGetNumPending final : public ClientPacket { public: - CalendarGetNumPending(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_GET_NUM_PENDING, std::move(packet)) { } + explicit CalendarGetNumPending(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_GET_NUM_PENDING, std::move(packet)) { } void Read() override { } }; @@ -403,7 +403,7 @@ namespace WorldPackets class CalendarEventSignUp final : public ClientPacket { public: - CalendarEventSignUp(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_EVENT_SIGN_UP, std::move(packet)) { } + explicit CalendarEventSignUp(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_EVENT_SIGN_UP, std::move(packet)) { } void Read() override; @@ -415,7 +415,7 @@ namespace WorldPackets class CalendarRemoveInvite final : public ClientPacket { public: - CalendarRemoveInvite(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_REMOVE_INVITE, std::move(packet)) { } + explicit CalendarRemoveInvite(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_REMOVE_INVITE, std::move(packet)) { } void Read() override; @@ -428,7 +428,7 @@ namespace WorldPackets class CalendarStatus final : public ClientPacket { public: - CalendarStatus(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_STATUS, std::move(packet)) { } + explicit CalendarStatus(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_STATUS, std::move(packet)) { } void Read() override; @@ -442,7 +442,7 @@ namespace WorldPackets class SetSavedInstanceExtend final : public ClientPacket { public: - SetSavedInstanceExtend(WorldPacket&& packet) : ClientPacket(CMSG_SET_SAVED_INSTANCE_EXTEND, std::move(packet)) { } + explicit SetSavedInstanceExtend(WorldPacket&& packet) : ClientPacket(CMSG_SET_SAVED_INSTANCE_EXTEND, std::move(packet)) { } void Read() override; @@ -454,7 +454,7 @@ namespace WorldPackets class CalendarModeratorStatusQuery final : public ClientPacket { public: - CalendarModeratorStatusQuery(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_MODERATOR_STATUS, std::move(packet)) { } + explicit CalendarModeratorStatusQuery(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_MODERATOR_STATUS, std::move(packet)) { } void Read() override; @@ -468,8 +468,7 @@ namespace WorldPackets class CalendarCommandResult final : public ServerPacket { public: - CalendarCommandResult() : ServerPacket(SMSG_CALENDAR_COMMAND_RESULT, 3) { } - CalendarCommandResult(uint8 command, uint8 result, std::string const& name) : ServerPacket(SMSG_CALENDAR_COMMAND_RESULT, 3), Command(command), Result(result), Name(name) { } + explicit CalendarCommandResult() : ServerPacket(SMSG_CALENDAR_COMMAND_RESULT, 3) { } WorldPacket const* Write() override; @@ -481,7 +480,7 @@ namespace WorldPackets class CalendarRaidLockoutAdded final : public ServerPacket { public: - CalendarRaidLockoutAdded() : ServerPacket(SMSG_CALENDAR_RAID_LOCKOUT_ADDED, 8 + 4 + 4 + 4 + 4) { } + explicit CalendarRaidLockoutAdded() : ServerPacket(SMSG_CALENDAR_RAID_LOCKOUT_ADDED, 8 + 4 + 4 + 4 + 4) { } WorldPacket const* Write() override; @@ -495,7 +494,7 @@ namespace WorldPackets class CalendarRaidLockoutRemoved final : public ServerPacket { public: - CalendarRaidLockoutRemoved() : ServerPacket(SMSG_CALENDAR_RAID_LOCKOUT_REMOVED, 8 + 4 + 4) { } + explicit CalendarRaidLockoutRemoved() : ServerPacket(SMSG_CALENDAR_RAID_LOCKOUT_REMOVED, 8 + 4 + 4) { } WorldPacket const* Write() override; @@ -507,7 +506,7 @@ namespace WorldPackets class CalendarRaidLockoutUpdated final : public ServerPacket { public: - CalendarRaidLockoutUpdated() : ServerPacket(SMSG_CALENDAR_RAID_LOCKOUT_UPDATED, 20) { } + explicit CalendarRaidLockoutUpdated() : ServerPacket(SMSG_CALENDAR_RAID_LOCKOUT_UPDATED, 20) { } WorldPacket const* Write() override; @@ -529,7 +528,7 @@ namespace WorldPackets class CalendarCommunityInvite final : public ServerPacket { public: - CalendarCommunityInvite() : ServerPacket(SMSG_CALENDAR_COMMUNITY_INVITE, 17) { } + explicit CalendarCommunityInvite() : ServerPacket(SMSG_CALENDAR_COMMUNITY_INVITE, 17) { } WorldPacket const* Write() override; @@ -539,7 +538,7 @@ namespace WorldPackets class CalendarInviteStatusAlert final : public ServerPacket { public: - CalendarInviteStatusAlert() : ServerPacket(SMSG_CALENDAR_INVITE_STATUS_ALERT, 5) { } + explicit CalendarInviteStatusAlert() : ServerPacket(SMSG_CALENDAR_INVITE_STATUS_ALERT, 5) { } WorldPacket const* Write() override; @@ -552,8 +551,8 @@ namespace WorldPackets class CalendarInviteNotesAlert final : public ServerPacket { public: - CalendarInviteNotesAlert() : ServerPacket(SMSG_CALENDAR_INVITE_NOTES_ALERT, 9) { } - CalendarInviteNotesAlert(uint64 eventID, std::string const& notes) : ServerPacket(SMSG_CALENDAR_INVITE_NOTES_ALERT, 8 + notes.size()), EventID(eventID), Notes(notes) { } + explicit CalendarInviteNotesAlert() : ServerPacket(SMSG_CALENDAR_INVITE_NOTES_ALERT, 9) { } + explicit CalendarInviteNotesAlert(uint64 eventID, std::string const& notes) : ServerPacket(SMSG_CALENDAR_INVITE_NOTES_ALERT, 8 + notes.size()), EventID(eventID), Notes(notes) { } WorldPacket const* Write() override; @@ -564,7 +563,7 @@ namespace WorldPackets class CalendarInviteNotes final : public ServerPacket { public: - CalendarInviteNotes() : ServerPacket(SMSG_CALENDAR_INVITE_NOTES, 26) { } + explicit CalendarInviteNotes() : ServerPacket(SMSG_CALENDAR_INVITE_NOTES, 26) { } WorldPacket const* Write() override; @@ -577,7 +576,7 @@ namespace WorldPackets class CalendarComplain final : public ClientPacket { public: - CalendarComplain(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_COMPLAIN, std::move(packet)) { } + explicit CalendarComplain(WorldPacket&& packet) : ClientPacket(CMSG_CALENDAR_COMPLAIN, std::move(packet)) { } void Read() override; diff --git a/src/server/game/Server/Packets/ChannelPackets.cpp b/src/server/game/Server/Packets/ChannelPackets.cpp index 56a7b25437f..4b6b8ffe4cc 100644 --- a/src/server/game/Server/Packets/ChannelPackets.cpp +++ b/src/server/game/Server/Packets/ChannelPackets.cpp @@ -18,14 +18,17 @@ #include "ChannelPackets.h" #include "Channel.h" #include "Errors.h" +#include "PacketUtilities.h" -WorldPacket const* WorldPackets::Channel::ChannelListResponse::Write() +namespace WorldPackets::Channel { - _worldPacket.WriteBit(_Display); - _worldPacket.WriteBits(_Channel.length(), 7); +WorldPacket const* ChannelListResponse::Write() +{ + _worldPacket << Bits<1>(_Display); + _worldPacket << SizedString::BitsSize<7>(_Channel); _worldPacket << uint32(_ChannelFlags); - _worldPacket << uint32(_Members.size()); - _worldPacket.WriteString(_Channel); + _worldPacket << Size<uint32>(_Members); + _worldPacket << SizedString::Data(_Channel); for (ChannelPlayer const& player : _Members) { @@ -37,11 +40,11 @@ WorldPacket const* WorldPackets::Channel::ChannelListResponse::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Channel::ChannelNotify::Write() +WorldPacket const* ChannelNotify::Write() { - _worldPacket.WriteBits(Type, 6); - _worldPacket.WriteBits(_Channel.length(), 7); - _worldPacket.WriteBits(Sender.length(), 6); + _worldPacket << Bits<6>(Type); + _worldPacket << SizedString::BitsSize<7>(_Channel); + _worldPacket << SizedString::BitsSize<6>(Sender); _worldPacket << SenderGuid; _worldPacket << SenderAccountID; @@ -56,73 +59,79 @@ WorldPacket const* WorldPackets::Channel::ChannelNotify::Write() _worldPacket << uint8(NewFlags); } - _worldPacket.WriteString(_Channel); - _worldPacket.WriteString(Sender); + _worldPacket << SizedString::Data(_Channel); + _worldPacket << SizedString::Data(Sender); return &_worldPacket; } -WorldPacket const* WorldPackets::Channel::ChannelNotifyJoined::Write() +WorldPacket const* ChannelNotifyJoined::Write() { - _worldPacket.WriteBits(_Channel.length(), 7); - _worldPacket.WriteBits(ChannelWelcomeMsg.length(), 11); + _worldPacket << SizedString::BitsSize<7>(_Channel); + _worldPacket << SizedString::BitsSize<11>(ChannelWelcomeMsg); _worldPacket << uint32(_ChannelFlags); _worldPacket << uint8(Unknown1107); _worldPacket << int32(ChatChannelID); _worldPacket << uint64(InstanceID); _worldPacket << ChannelGUID; - _worldPacket.WriteString(_Channel); - _worldPacket.WriteString(ChannelWelcomeMsg); + _worldPacket << SizedString::Data(_Channel); + _worldPacket << SizedString::Data(ChannelWelcomeMsg); return &_worldPacket; } -WorldPacket const* WorldPackets::Channel::ChannelNotifyLeft::Write() +WorldPacket const* ChannelNotifyLeft::Write() { - _worldPacket.WriteBits(Channel.length(), 7); - _worldPacket.WriteBit(Suspended); + _worldPacket << SizedString::BitsSize<7>(Channel); + _worldPacket << Bits<1>(Suspended); _worldPacket << int32(ChatChannelID); - _worldPacket.WriteString(Channel); + _worldPacket << SizedString::Data(Channel); return &_worldPacket; } -WorldPacket const* WorldPackets::Channel::UserlistAdd::Write() +WorldPacket const* UserlistAdd::Write() { _worldPacket << AddedUserGUID; _worldPacket << uint8(UserFlags); _worldPacket << uint32(_ChannelFlags); _worldPacket << uint32(ChannelID); - _worldPacket.WriteBits(ChannelName.length(), 7); + _worldPacket << SizedString::BitsSize<7>(ChannelName); _worldPacket.FlushBits(); - _worldPacket.WriteString(ChannelName); + + _worldPacket << SizedString::Data(ChannelName); + return &_worldPacket; } -WorldPacket const* WorldPackets::Channel::UserlistRemove::Write() +WorldPacket const* UserlistRemove::Write() { _worldPacket << RemovedUserGUID; _worldPacket << uint32(_ChannelFlags); _worldPacket << uint32(ChannelID); - _worldPacket.WriteBits(ChannelName.length(), 7); + _worldPacket << SizedString::BitsSize<7>(ChannelName); _worldPacket.FlushBits(); - _worldPacket.WriteString(ChannelName); + + _worldPacket << SizedString::Data(ChannelName); + return &_worldPacket; } -WorldPacket const* WorldPackets::Channel::UserlistUpdate::Write() +WorldPacket const* UserlistUpdate::Write() { _worldPacket << UpdatedUserGUID; _worldPacket << uint8(UserFlags); _worldPacket << uint32(_ChannelFlags); _worldPacket << int32(ChannelID); - _worldPacket.WriteBits(ChannelName.length(), 7); + _worldPacket << SizedString::BitsSize<7>(ChannelName); _worldPacket.FlushBits(); - _worldPacket.WriteString(ChannelName); + + _worldPacket << SizedString::Data(ChannelName); + return &_worldPacket; } -WorldPackets::Channel::ChannelCommand::ChannelCommand(WorldPacket&& packet) : ClientPacket(std::move(packet)) +ChannelCommand::ChannelCommand(WorldPacket&& packet) : ClientPacket(std::move(packet)) { switch (packet.GetOpcode()) { @@ -138,12 +147,14 @@ WorldPackets::Channel::ChannelCommand::ChannelCommand(WorldPacket&& packet) : Cl } } -void WorldPackets::Channel::ChannelCommand::Read() +void ChannelCommand::Read() { - ChannelName = _worldPacket.ReadString(_worldPacket.ReadBits(7)); + _worldPacket >> SizedString::BitsSize<7>(ChannelName); + + _worldPacket >> SizedString::Data(ChannelName); } -WorldPackets::Channel::ChannelPlayerCommand::ChannelPlayerCommand(WorldPacket&& packet) : ClientPacket(std::move(packet)) +ChannelPlayerCommand::ChannelPlayerCommand(WorldPacket&& packet) : ClientPacket(std::move(packet)) { switch (GetOpcode()) { @@ -163,35 +174,40 @@ WorldPackets::Channel::ChannelPlayerCommand::ChannelPlayerCommand(WorldPacket&& } } -void WorldPackets::Channel::ChannelPlayerCommand::Read() +void ChannelPlayerCommand::Read() { - uint32 channelNameLength = _worldPacket.ReadBits(7); - uint32 nameLength = _worldPacket.ReadBits(9); - ChannelName = _worldPacket.ReadString(channelNameLength); - Name = _worldPacket.ReadString(nameLength); + _worldPacket >> SizedString::BitsSize<7>(ChannelName); + _worldPacket >> SizedString::BitsSize<9>(Name); + + _worldPacket >> SizedString::Data(ChannelName); + _worldPacket >> SizedString::Data(Name); } -void WorldPackets::Channel::ChannelPassword::Read() +void ChannelPassword::Read() { - uint32 channelNameLength = _worldPacket.ReadBits(7); - uint32 passwordLength = _worldPacket.ReadBits(7); - ChannelName = _worldPacket.ReadString(channelNameLength); - Password = _worldPacket.ReadString(passwordLength); + _worldPacket >> SizedString::BitsSize<7>(ChannelName); + _worldPacket >> SizedString::BitsSize<7>(Password); + + _worldPacket >> SizedString::Data(ChannelName); + _worldPacket >> SizedString::Data(Password); } -void WorldPackets::Channel::JoinChannel::Read() +void JoinChannel::Read() { _worldPacket >> ChatChannelId; - CreateVoiceSession = _worldPacket.ReadBit(); - Internal = _worldPacket.ReadBit(); - uint32 channelLength = _worldPacket.ReadBits(7); - uint32 passwordLength = _worldPacket.ReadBits(7); - ChannelName = _worldPacket.ReadString(channelLength); - Password = _worldPacket.ReadString(passwordLength); + _worldPacket >> Bits<1>(CreateVoiceSession); + _worldPacket >> Bits<1>(Internal); + _worldPacket >> SizedString::BitsSize<7>(ChannelName); + _worldPacket >> SizedString::BitsSize<7>(Password); + + _worldPacket >> SizedString::Data(ChannelName); + _worldPacket >> SizedString::Data(Password); } -void WorldPackets::Channel::LeaveChannel::Read() +void LeaveChannel::Read() { _worldPacket >> ZoneChannelID; - ChannelName = _worldPacket.ReadString(_worldPacket.ReadBits(7)); + _worldPacket >> SizedString::BitsSize<7>(ChannelName); + _worldPacket >> SizedString::Data(ChannelName); +} } diff --git a/src/server/game/Server/Packets/ChannelPackets.h b/src/server/game/Server/Packets/ChannelPackets.h index ec9701029fa..db4b51ddd20 100644 --- a/src/server/game/Server/Packets/ChannelPackets.h +++ b/src/server/game/Server/Packets/ChannelPackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef ChannelPackets_h__ -#define ChannelPackets_h__ +#ifndef TRINITYCORE_CHANNEL_PACKETS_H +#define TRINITYCORE_CHANNEL_PACKETS_H #include "Packet.h" #include "ObjectGuid.h" @@ -38,7 +38,7 @@ namespace WorldPackets uint8 Flags; ///< @see enum ChannelMemberFlags }; - ChannelListResponse() : ServerPacket(SMSG_CHANNEL_LIST) { } + explicit ChannelListResponse() : ServerPacket(SMSG_CHANNEL_LIST) { } WorldPacket const* Write() override; @@ -51,7 +51,7 @@ namespace WorldPackets class TC_GAME_API ChannelNotify final : public ServerPacket { public: - ChannelNotify() : ServerPacket(SMSG_CHANNEL_NOTIFY, 80) { } + explicit ChannelNotify() : ServerPacket(SMSG_CHANNEL_NOTIFY, 80) { } WorldPacket const* Write() override; @@ -71,7 +71,7 @@ namespace WorldPackets class ChannelNotifyJoined final : public ServerPacket { public: - ChannelNotifyJoined() : ServerPacket(SMSG_CHANNEL_NOTIFY_JOINED, 50) { } + explicit ChannelNotifyJoined() : ServerPacket(SMSG_CHANNEL_NOTIFY_JOINED, 50) { } WorldPacket const* Write() override; @@ -86,8 +86,8 @@ namespace WorldPackets class ChannelNotifyLeft final : public ServerPacket { - public: - ChannelNotifyLeft() : ServerPacket(SMSG_CHANNEL_NOTIFY_LEFT, 30) { } + public: + explicit ChannelNotifyLeft() : ServerPacket(SMSG_CHANNEL_NOTIFY_LEFT, 30) { } WorldPacket const* Write() override; @@ -99,7 +99,7 @@ namespace WorldPackets class UserlistAdd final : public ServerPacket { public: - UserlistAdd() : ServerPacket(SMSG_USERLIST_ADD, 30) { } + explicit UserlistAdd() : ServerPacket(SMSG_USERLIST_ADD, 30) { } WorldPacket const* Write() override; @@ -113,7 +113,7 @@ namespace WorldPackets class UserlistRemove final : public ServerPacket { public: - UserlistRemove() : ServerPacket(SMSG_USERLIST_REMOVE, 30) { } + explicit UserlistRemove() : ServerPacket(SMSG_USERLIST_REMOVE, 30) { } WorldPacket const* Write() override; @@ -126,7 +126,7 @@ namespace WorldPackets class UserlistUpdate final : public ServerPacket { public: - UserlistUpdate() : ServerPacket(SMSG_USERLIST_UPDATE, 30) { } + explicit UserlistUpdate() : ServerPacket(SMSG_USERLIST_UPDATE, 30) { } WorldPacket const* Write() override; @@ -140,7 +140,7 @@ namespace WorldPackets class ChannelCommand final : public ClientPacket { public: - ChannelCommand(WorldPacket&& packet); + explicit ChannelCommand(WorldPacket&& packet); void Read() override; @@ -150,7 +150,7 @@ namespace WorldPackets class ChannelPlayerCommand final : public ClientPacket { public: - ChannelPlayerCommand(WorldPacket&& packet); + explicit ChannelPlayerCommand(WorldPacket&& packet); void Read() override; @@ -161,7 +161,7 @@ namespace WorldPackets class ChannelPassword final : public ClientPacket { public: - ChannelPassword(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_CHANNEL_PASSWORD, std::move(packet)) { } + explicit ChannelPassword(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_CHANNEL_PASSWORD, std::move(packet)) { } void Read() override; @@ -172,7 +172,7 @@ namespace WorldPackets class JoinChannel final : public ClientPacket { public: - JoinChannel(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_JOIN_CHANNEL, std::move(packet)) { } + explicit JoinChannel(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_JOIN_CHANNEL, std::move(packet)) { } void Read() override; @@ -186,7 +186,7 @@ namespace WorldPackets class LeaveChannel final : public ClientPacket { public: - LeaveChannel(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_LEAVE_CHANNEL, std::move(packet)) { } + explicit LeaveChannel(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_LEAVE_CHANNEL, std::move(packet)) { } void Read() override; @@ -196,4 +196,4 @@ namespace WorldPackets } } -#endif // ChannelPackets_h__ +#endif // TRINITYCORE_CHANNEL_PACKETS_H diff --git a/src/server/game/Server/Packets/CharacterPackets.cpp b/src/server/game/Server/Packets/CharacterPackets.cpp index 7df758a319f..dbc5288c58a 100644 --- a/src/server/game/Server/Packets/CharacterPackets.cpp +++ b/src/server/game/Server/Packets/CharacterPackets.cpp @@ -43,9 +43,7 @@ ByteBuffer& operator>>(ByteBuffer& data, ChrCustomizationChoice& customizationCh } } -namespace WorldPackets -{ -namespace Character +namespace WorldPackets::Character { void SortCustomizations(Array<ChrCustomizationChoice, 250>& customizations) { @@ -220,7 +218,7 @@ ByteBuffer& operator<<(ByteBuffer& data, EnumCharactersResult::CharacterInfoBasi data << uint8(charInfo.SexID); data << uint8(charInfo.ClassID); data << int16(charInfo.SpecID); - data << uint32(charInfo.Customizations.size()); + data << Size<uint32>(charInfo.Customizations); data << uint8(charInfo.ExperienceLevel); data << int32(charInfo.MapID); data << int32(charInfo.ZoneID); @@ -277,8 +275,8 @@ ByteBuffer& operator<<(ByteBuffer& data, EnumCharactersResult::CharacterRestrict data.FlushBits(); data << uint32(restrictionsAndMails.RestrictionFlags); - data << uint32(restrictionsAndMails.MailSenders.size()); - data << uint32(restrictionsAndMails.MailSenderTypes.size()); + data << Size<uint32>(restrictionsAndMails.MailSenders); + data << Size<uint32>(restrictionsAndMails.MailSenderTypes); if (!restrictionsAndMails.MailSenderTypes.empty()) data.append(restrictionsAndMails.MailSenderTypes.data(), restrictionsAndMails.MailSenderTypes.size()); @@ -360,7 +358,7 @@ ByteBuffer& operator<<(ByteBuffer& data, WarbandGroup const& warbandGroup) data << uint8(warbandGroup.OrderIndex); data << uint32(warbandGroup.WarbandSceneID); data << uint32(warbandGroup.Flags); - data << uint32(warbandGroup.Members.size()); + data << Size<uint32>(warbandGroup.Members); for (WarbandGroupMember const& member : warbandGroup.Members) data << member; @@ -394,13 +392,13 @@ WorldPacket const* EnumCharactersResult::Write() _worldPacket << Bits<1>(IsRestrictedTrial); _worldPacket << OptionalInit(ClassDisableMask); _worldPacket << Bits<1>(DontCreateCharacterDisplays); - _worldPacket << uint32(Characters.size()); - _worldPacket << uint32(RegionwideCharacters.size()); + _worldPacket << Size<uint32>(Characters); + _worldPacket << Size<uint32>(RegionwideCharacters); _worldPacket << int32(MaxCharacterLevel); - _worldPacket << uint32(RaceUnlockData.size()); - _worldPacket << uint32(UnlockedConditionalAppearances.size()); - _worldPacket << uint32(RaceLimitDisables.size()); - _worldPacket << uint32(WarbandGroups.size()); + _worldPacket << Size<uint32>(RaceUnlockData); + _worldPacket << Size<uint32>(UnlockedConditionalAppearances); + _worldPacket << Size<uint32>(RaceLimitDisables); + _worldPacket << Size<uint32>(WarbandGroups); if (ClassDisableMask) _worldPacket << uint32(*ClassDisableMask); @@ -429,7 +427,9 @@ WorldPacket const* EnumCharactersResult::Write() void CheckCharacterNameAvailability::Read() { _worldPacket >> SequenceIndex; - Name = _worldPacket.ReadString(_worldPacket.ReadBits(6)); + _worldPacket >> SizedString::BitsSize<6>(Name); + + _worldPacket >> SizedString::Data(Name); } WorldPacket const* CheckCharacterNameAvailabilityResult::Write() @@ -443,20 +443,20 @@ WorldPacket const* CheckCharacterNameAvailabilityResult::Write() void CreateCharacter::Read() { CreateInfo = std::make_shared<CharacterCreateInfo>(); - uint32 nameLength = _worldPacket.ReadBits(6); - bool const hasTemplateSet = _worldPacket.ReadBit(); - CreateInfo->IsTrialBoost = _worldPacket.ReadBit(); - CreateInfo->UseNPE = _worldPacket.ReadBit(); - CreateInfo->HardcoreSelfFound = _worldPacket.ReadBit(); + _worldPacket >> SizedString::BitsSize<6>(CreateInfo->Name); + _worldPacket >> OptionalInit(CreateInfo->TemplateSet); + _worldPacket >> Bits<1>(CreateInfo->IsTrialBoost); + _worldPacket >> Bits<1>(CreateInfo->UseNPE); + _worldPacket >> Bits<1>(CreateInfo->HardcoreSelfFound); _worldPacket >> CreateInfo->Race; _worldPacket >> CreateInfo->Class; _worldPacket >> CreateInfo->Sex; - CreateInfo->Customizations.resize(_worldPacket.read<uint32>()); + _worldPacket >> Size<uint32>(CreateInfo->Customizations); _worldPacket >> CreateInfo->TimerunningSeasonID; - CreateInfo->Name = _worldPacket.ReadString(nameLength); - if (hasTemplateSet) - CreateInfo->TemplateSet = _worldPacket.read<int32>(); + _worldPacket >> SizedString::Data(CreateInfo->Name); + if (CreateInfo->TemplateSet) + _worldPacket >> *CreateInfo->TemplateSet; for (ChrCustomizationChoice& customization : CreateInfo->Customizations) _worldPacket >> customization; @@ -468,6 +468,7 @@ WorldPacket const* CreateChar::Write() { _worldPacket << uint8(Code); _worldPacket << Guid; + return &_worldPacket; } @@ -479,27 +480,31 @@ void CharDelete::Read() WorldPacket const* DeleteChar::Write() { _worldPacket << uint8(Code); + return &_worldPacket; } void CharacterRenameRequest::Read() { RenameInfo = std::make_shared<CharacterRenameInfo>(); + _worldPacket >> RenameInfo->Guid; - RenameInfo->NewName = _worldPacket.ReadString(_worldPacket.ReadBits(6)); + _worldPacket >> SizedString::BitsSize<6>(RenameInfo->NewName); + + _worldPacket >> SizedString::Data(RenameInfo->NewName); } WorldPacket const* CharacterRenameResult::Write() { _worldPacket << uint8(Result); - _worldPacket.WriteBit(Guid.has_value()); - _worldPacket.WriteBits(Name.length(), 6); + _worldPacket << OptionalInit(Guid); + _worldPacket << SizedString::BitsSize<6>(Name); _worldPacket.FlushBits(); if (Guid) _worldPacket << *Guid; - _worldPacket.WriteString(Name); + _worldPacket << SizedString::Data(Name); return &_worldPacket; } @@ -507,31 +512,31 @@ WorldPacket const* CharacterRenameResult::Write() void CharCustomize::Read() { CustomizeInfo = std::make_shared<CharCustomizeInfo>(); + _worldPacket >> CustomizeInfo->CharGUID; _worldPacket >> CustomizeInfo->SexID; - CustomizeInfo->Customizations.resize(_worldPacket.read<uint32>()); + _worldPacket >> Size<uint32>(CustomizeInfo->Customizations); for (ChrCustomizationChoice& customization : CustomizeInfo->Customizations) _worldPacket >> customization; - SortCustomizations(CustomizeInfo->Customizations); + _worldPacket >> SizedString::BitsSize<6>(CustomizeInfo->CharName); + _worldPacket >> SizedString::Data(CustomizeInfo->CharName); - CustomizeInfo->CharName = _worldPacket.ReadString(_worldPacket.ReadBits(6)); + SortCustomizations(CustomizeInfo->Customizations); } void CharRaceOrFactionChange::Read() { RaceOrFactionChangeInfo = std::make_shared<CharRaceOrFactionChangeInfo>(); - RaceOrFactionChangeInfo->FactionChange = _worldPacket.ReadBit(); - - uint32 nameLength = _worldPacket.ReadBits(6); - + _worldPacket >> Bits<1>(RaceOrFactionChangeInfo->FactionChange); + _worldPacket >> SizedString::BitsSize<6>(RaceOrFactionChangeInfo->Name); _worldPacket >> RaceOrFactionChangeInfo->Guid; _worldPacket >> RaceOrFactionChangeInfo->SexID; _worldPacket >> RaceOrFactionChangeInfo->RaceID; _worldPacket >> RaceOrFactionChangeInfo->InitialRaceID; - RaceOrFactionChangeInfo->Customizations.resize(_worldPacket.read<uint32>()); - RaceOrFactionChangeInfo->Name = _worldPacket.ReadString(nameLength); + _worldPacket >> Size<uint32>(RaceOrFactionChangeInfo->Customizations); + _worldPacket >> SizedString::Data(RaceOrFactionChangeInfo->Name); for (ChrCustomizationChoice& customization : RaceOrFactionChangeInfo->Customizations) _worldPacket >> customization; @@ -542,16 +547,16 @@ WorldPacket const* CharFactionChangeResult::Write() { _worldPacket << uint8(Result); _worldPacket << Guid; - _worldPacket.WriteBit(Display.has_value()); + _worldPacket << OptionalInit(Display); _worldPacket.FlushBits(); if (Display) { - _worldPacket.WriteBits(Display->Name.length(), 6); + _worldPacket << SizedString::BitsSize<6>(Display->Name); _worldPacket << uint8(Display->SexID); _worldPacket << uint8(Display->RaceID); - _worldPacket << uint32(Display->Customizations->size()); - _worldPacket.WriteString(Display->Name); + _worldPacket << Size<uint32>(*Display->Customizations); + _worldPacket << SizedString::Data(Display->Name); for (ChrCustomizationChoice customization : *Display->Customizations) _worldPacket << customization; } @@ -567,11 +572,11 @@ void GenerateRandomCharacterName::Read() WorldPacket const* GenerateRandomCharacterNameResult::Write() { - _worldPacket.WriteBit(Success); - _worldPacket.WriteBits(Name.length(), 6); + _worldPacket << Bits<1>(Success); + _worldPacket << SizedString::BitsSize<6>(Name); _worldPacket.FlushBits(); - _worldPacket.WriteString(Name); + _worldPacket << SizedString::Data(Name); return &_worldPacket; } @@ -582,7 +587,7 @@ ReorderCharacters::ReorderCharacters(WorldPacket&& packet) : ClientPacket(CMSG_R void ReorderCharacters::Read() { - Entries.resize(_worldPacket.ReadBits(9)); + _worldPacket >> BitsSize<9>(Entries); for (ReorderInfo& reorderInfo : Entries) { _worldPacket >> reorderInfo.PlayerGUID; @@ -593,6 +598,7 @@ void ReorderCharacters::Read() void UndeleteCharacter::Read() { UndeleteInfo = std::make_shared<CharacterUndeleteInfo>(); + _worldPacket >> UndeleteInfo->ClientToken; _worldPacket >> UndeleteInfo->CharacterGuid; } @@ -600,17 +606,20 @@ void UndeleteCharacter::Read() WorldPacket const* UndeleteCharacterResponse::Write() { ASSERT(UndeleteInfo); + _worldPacket << int32(UndeleteInfo->ClientToken); _worldPacket << uint32(Result); _worldPacket << UndeleteInfo->CharacterGuid; + return &_worldPacket; } WorldPacket const* UndeleteCooldownStatusResponse::Write() { - _worldPacket.WriteBit(OnCooldown); + _worldPacket << Bits<1>(OnCooldown); _worldPacket << uint32(MaxCooldown); _worldPacket << uint32(CurrentCooldown); + return &_worldPacket; } @@ -625,25 +634,28 @@ WorldPacket const* LoginVerifyWorld::Write() _worldPacket << int32(MapID); _worldPacket << Pos; _worldPacket << uint32(Reason); + return &_worldPacket; } WorldPacket const* CharacterLoginFailed::Write() { _worldPacket << uint8(Code); + return &_worldPacket; } void LogoutRequest::Read() { - IdleLogout = _worldPacket.ReadBit(); + _worldPacket >> Bits<1>(IdleLogout); } WorldPacket const* LogoutResponse::Write() { _worldPacket << int32(LogoutResult); - _worldPacket.WriteBit(Instant); + _worldPacket << Bits<1>(Instant); _worldPacket.FlushBits(); + return &_worldPacket; } @@ -656,8 +668,8 @@ ByteBuffer& operator<<(ByteBuffer& data, GameModeData const& gameModeData) data << uint8(gameModeData.Unknown_1107_1); data << uint8(gameModeData.Unknown_1107_2); data << uint8(gameModeData.Unknown_1107_3); - data << uint32(gameModeData.Customizations.size()); - data << uint32(gameModeData.Unknown_1107_4.size()); + data << Size<uint32>(gameModeData.Customizations); + data << Size<uint32>(gameModeData.Unknown_1107_4); for (ChrCustomizationChoice const& customization : gameModeData.Customizations) data << customization; @@ -691,7 +703,7 @@ WorldPacket const* LogoutComplete::Write() void LoadingScreenNotify::Read() { _worldPacket >> MapID; - Showing = _worldPacket.ReadBit(); + _worldPacket >> Bits<1>(Showing); } WorldPacket const* InitialSetup::Write() @@ -709,14 +721,14 @@ void SetActionBarToggles::Read() void RequestPlayedTime::Read() { - TriggerScriptEvent = _worldPacket.ReadBit(); + _worldPacket >> Bits<1>(TriggerScriptEvent); } WorldPacket const* PlayedTime::Write() { _worldPacket << int32(TotalTime); _worldPacket << int32(LevelTime); - _worldPacket.WriteBit(TriggerEvent); + _worldPacket << Bits<1>(TriggerEvent); _worldPacket.FlushBits(); return &_worldPacket; @@ -729,7 +741,7 @@ void SetTitle::Read() void AlterApperance::Read() { - Customizations.resize(_worldPacket.read<uint32>()); + _worldPacket >> Size<uint32>(Customizations); _worldPacket >> NewSex; _worldPacket >> CustomizedRace; _worldPacket >> CustomizedChrModelID; @@ -743,6 +755,7 @@ void AlterApperance::Read() WorldPacket const* BarberShopResult::Write() { _worldPacket << int32(Result); + return &_worldPacket; } @@ -777,7 +790,7 @@ void SetFactionNotAtWar::Read() void SetFactionInactive::Read() { _worldPacket >> Index; - State = _worldPacket.ReadBit(); + _worldPacket >> Bits<1>(State); } void SetWatchedFaction::Read() @@ -788,6 +801,7 @@ void SetWatchedFaction::Read() WorldPacket const* SetFactionVisible::Write() { _worldPacket << FactionIndex; + return &_worldPacket; } @@ -803,13 +817,14 @@ WorldPacket const* CharCustomizeSuccess::Write() { _worldPacket << CharGUID; _worldPacket << uint8(SexID); - _worldPacket << uint32(Customizations.size()); + _worldPacket << Size<uint32>(Customizations); for (ChrCustomizationChoice customization : Customizations) _worldPacket << customization; - _worldPacket.WriteBits(CharName.length(), 6); + _worldPacket << SizedString::BitsSize<6>(CharName); _worldPacket.FlushBits(); - _worldPacket.WriteString(CharName); + + _worldPacket << SizedString::Data(CharName); return &_worldPacket; } @@ -826,13 +841,11 @@ void SetPlayerDeclinedNames::Read() { _worldPacket >> Player; - uint8 stringLengths[MAX_DECLINED_NAME_CASES]; - for (uint8 i = 0; i < MAX_DECLINED_NAME_CASES; ++i) - stringLengths[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(stringLengths[i]); + _worldPacket >> SizedString::Data(DeclinedNames.name[i]); } WorldPacket const * SetPlayerDeclinedNamesResult::Write() @@ -856,4 +869,3 @@ WorldPacket const* PlayerSavePersonalEmblem::Write() return &_worldPacket; } } -} diff --git a/src/server/game/Server/Packets/CharacterPackets.h b/src/server/game/Server/Packets/CharacterPackets.h index f26a7b13524..d123b269406 100644 --- a/src/server/game/Server/Packets/CharacterPackets.h +++ b/src/server/game/Server/Packets/CharacterPackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef CharacterPackets_h__ -#define CharacterPackets_h__ +#ifndef TRINITYCORE_CHARACTER_PACKETS_H +#define TRINITYCORE_CHARACTER_PACKETS_H #include "Packet.h" #include "ObjectGuid.h" @@ -49,7 +49,7 @@ namespace WorldPackets class EnumCharacters final : public ClientPacket { public: - EnumCharacters(WorldPacket&& packet); + explicit EnumCharacters(WorldPacket&& packet); void Read() override { } }; @@ -257,7 +257,7 @@ namespace WorldPackets int32 Reason = 0; }; - EnumCharactersResult() : ServerPacket(SMSG_ENUM_CHARACTERS_RESULT) { } + explicit EnumCharactersResult() : ServerPacket(SMSG_ENUM_CHARACTERS_RESULT) { } WorldPacket const* Write() override; @@ -284,7 +284,7 @@ namespace WorldPackets class CheckCharacterNameAvailability final : public ClientPacket { public: - CheckCharacterNameAvailability(WorldPacket&& packet) : ClientPacket(CMSG_CHECK_CHARACTER_NAME_AVAILABILITY, std::move(packet)) { } + explicit CheckCharacterNameAvailability(WorldPacket&& packet) : ClientPacket(CMSG_CHECK_CHARACTER_NAME_AVAILABILITY, std::move(packet)) { } void Read() override; @@ -295,7 +295,7 @@ namespace WorldPackets class CheckCharacterNameAvailabilityResult final : public ServerPacket { public: - CheckCharacterNameAvailabilityResult(uint32 sequenceIndex, uint32 result) : ServerPacket(SMSG_CHECK_CHARACTER_NAME_AVAILABILITY_RESULT, 4 + 4), + explicit CheckCharacterNameAvailabilityResult(uint32 sequenceIndex, uint32 result) : ServerPacket(SMSG_CHECK_CHARACTER_NAME_AVAILABILITY_RESULT, 4 + 4), SequenceIndex(sequenceIndex), Result(result) { } @@ -309,7 +309,7 @@ namespace WorldPackets class CreateCharacter final : public ClientPacket { public: - CreateCharacter(WorldPacket&& packet) : ClientPacket(CMSG_CREATE_CHARACTER, std::move(packet)) { } + explicit CreateCharacter(WorldPacket&& packet) : ClientPacket(CMSG_CREATE_CHARACTER, std::move(packet)) { } void Read() override; @@ -332,7 +332,7 @@ namespace WorldPackets class CreateChar final : public ServerPacket { public: - CreateChar() : ServerPacket(SMSG_CREATE_CHAR, 1) { } + explicit CreateChar() : ServerPacket(SMSG_CREATE_CHAR, 1) { } WorldPacket const* Write() override; @@ -343,7 +343,7 @@ namespace WorldPackets class CharDelete final : public ClientPacket { public: - CharDelete(WorldPacket&& packet): ClientPacket(CMSG_CHAR_DELETE, std::move(packet)) { } + explicit CharDelete(WorldPacket&& packet): ClientPacket(CMSG_CHAR_DELETE, std::move(packet)) { } void Read() override; @@ -353,7 +353,7 @@ namespace WorldPackets class DeleteChar final : public ServerPacket { public: - DeleteChar(): ServerPacket(SMSG_DELETE_CHAR, 1) { } + explicit DeleteChar(): ServerPacket(SMSG_DELETE_CHAR, 1) { } WorldPacket const* Write() override; @@ -363,7 +363,7 @@ namespace WorldPackets class CharacterRenameRequest final : public ClientPacket { public: - CharacterRenameRequest(WorldPacket&& packet) : ClientPacket(CMSG_CHARACTER_RENAME_REQUEST, std::move(packet)) { } + explicit CharacterRenameRequest(WorldPacket&& packet) : ClientPacket(CMSG_CHARACTER_RENAME_REQUEST, std::move(packet)) { } void Read() override; @@ -377,7 +377,7 @@ namespace WorldPackets class CharacterRenameResult final : public ServerPacket { public: - CharacterRenameResult() : ServerPacket(SMSG_CHARACTER_RENAME_RESULT, 20) { } + explicit CharacterRenameResult() : ServerPacket(SMSG_CHARACTER_RENAME_RESULT, 20) { } WorldPacket const* Write() override; @@ -389,7 +389,7 @@ namespace WorldPackets class CharCustomize final : public ClientPacket { public: - CharCustomize(WorldPacket&& packet) : ClientPacket(CMSG_CHAR_CUSTOMIZE, std::move(packet)) { } + explicit CharCustomize(WorldPacket&& packet) : ClientPacket(CMSG_CHAR_CUSTOMIZE, std::move(packet)) { } void Read() override; @@ -411,7 +411,7 @@ namespace WorldPackets class CharRaceOrFactionChange final : public ClientPacket { public: - CharRaceOrFactionChange(WorldPacket&& packet) : ClientPacket(CMSG_CHAR_RACE_OR_FACTION_CHANGE, std::move(packet)) { } + explicit CharRaceOrFactionChange(WorldPacket&& packet) : ClientPacket(CMSG_CHAR_RACE_OR_FACTION_CHANGE, std::move(packet)) { } void Read() override; @@ -441,7 +441,7 @@ namespace WorldPackets class CharFactionChangeResult final : public ServerPacket { public: - CharFactionChangeResult() : ServerPacket(SMSG_CHAR_FACTION_CHANGE_RESULT, 20 + sizeof(CharFactionChangeDisplayInfo)) { } + explicit CharFactionChangeResult() : ServerPacket(SMSG_CHAR_FACTION_CHANGE_RESULT, 20 + sizeof(CharFactionChangeDisplayInfo)) { } WorldPacket const* Write() override; @@ -453,7 +453,7 @@ namespace WorldPackets class GenerateRandomCharacterName final : public ClientPacket { public: - GenerateRandomCharacterName(WorldPacket&& packet) : ClientPacket(CMSG_GENERATE_RANDOM_CHARACTER_NAME, std::move(packet)) { } + explicit GenerateRandomCharacterName(WorldPacket&& packet) : ClientPacket(CMSG_GENERATE_RANDOM_CHARACTER_NAME, std::move(packet)) { } void Read() override; @@ -464,7 +464,7 @@ namespace WorldPackets class GenerateRandomCharacterNameResult final : public ServerPacket { public: - GenerateRandomCharacterNameResult() : ServerPacket(SMSG_GENERATE_RANDOM_CHARACTER_NAME_RESULT, 20) { } + explicit GenerateRandomCharacterNameResult() : ServerPacket(SMSG_GENERATE_RANDOM_CHARACTER_NAME_RESULT, 20) { } WorldPacket const* Write() override; @@ -481,7 +481,7 @@ namespace WorldPackets uint8 NewPosition = 0; }; - ReorderCharacters(WorldPacket&& packet); + explicit ReorderCharacters(WorldPacket&& packet); void Read() override; @@ -491,7 +491,7 @@ namespace WorldPackets class UndeleteCharacter final : public ClientPacket { public: - UndeleteCharacter(WorldPacket&& packet) : ClientPacket(CMSG_UNDELETE_CHARACTER, std::move(packet)) { } + explicit UndeleteCharacter(WorldPacket&& packet) : ClientPacket(CMSG_UNDELETE_CHARACTER, std::move(packet)) { } void Read() override; @@ -505,7 +505,7 @@ namespace WorldPackets class UndeleteCharacterResponse final : public ServerPacket { public: - UndeleteCharacterResponse() : ServerPacket(SMSG_UNDELETE_CHARACTER_RESPONSE, 26) { } + explicit UndeleteCharacterResponse() : ServerPacket(SMSG_UNDELETE_CHARACTER_RESPONSE, 26) { } WorldPacket const* Write() override; @@ -520,7 +520,7 @@ namespace WorldPackets class GetUndeleteCharacterCooldownStatus final : public ClientPacket { public: - GetUndeleteCharacterCooldownStatus(WorldPacket&& packet) : ClientPacket(CMSG_GET_UNDELETE_CHARACTER_COOLDOWN_STATUS, std::move(packet)) { } + explicit GetUndeleteCharacterCooldownStatus(WorldPacket&& packet) : ClientPacket(CMSG_GET_UNDELETE_CHARACTER_COOLDOWN_STATUS, std::move(packet)) { } void Read() override { } }; @@ -528,7 +528,7 @@ namespace WorldPackets class UndeleteCooldownStatusResponse final : public ServerPacket { public: - UndeleteCooldownStatusResponse() : ServerPacket(SMSG_UNDELETE_COOLDOWN_STATUS_RESPONSE, 9) { } + explicit UndeleteCooldownStatusResponse() : ServerPacket(SMSG_UNDELETE_COOLDOWN_STATUS_RESPONSE, 9) { } WorldPacket const* Write() override; @@ -540,7 +540,7 @@ namespace WorldPackets class PlayerLogin final : public ClientPacket { public: - PlayerLogin(WorldPacket&& packet) : ClientPacket(CMSG_PLAYER_LOGIN, std::move(packet)) { } + explicit PlayerLogin(WorldPacket&& packet) : ClientPacket(CMSG_PLAYER_LOGIN, std::move(packet)) { } void Read() override; @@ -551,7 +551,7 @@ namespace WorldPackets class LoginVerifyWorld final : public ServerPacket { public: - LoginVerifyWorld() : ServerPacket(SMSG_LOGIN_VERIFY_WORLD, 4 + 4 * 4 + 4) { } + explicit LoginVerifyWorld() : ServerPacket(SMSG_LOGIN_VERIFY_WORLD, 4 + 4 * 4 + 4) { } WorldPacket const* Write() override; @@ -582,7 +582,7 @@ namespace WorldPackets class CharacterLoginFailed final : public ServerPacket { public: - CharacterLoginFailed(LoginFailureReason code) : ServerPacket(SMSG_CHARACTER_LOGIN_FAILED, 1), Code(code) { } + explicit CharacterLoginFailed(LoginFailureReason code) : ServerPacket(SMSG_CHARACTER_LOGIN_FAILED, 1), Code(code) { } WorldPacket const* Write() override; @@ -592,7 +592,7 @@ namespace WorldPackets class LogoutRequest final : public ClientPacket { public: - LogoutRequest(WorldPacket&& packet) : ClientPacket(CMSG_LOGOUT_REQUEST, std::move(packet)) { } + explicit LogoutRequest(WorldPacket&& packet) : ClientPacket(CMSG_LOGOUT_REQUEST, std::move(packet)) { } void Read() override; @@ -602,7 +602,7 @@ namespace WorldPackets class LogoutResponse final : public ServerPacket { public: - LogoutResponse() : ServerPacket(SMSG_LOGOUT_RESPONSE, 4 + 1) { } + explicit LogoutResponse() : ServerPacket(SMSG_LOGOUT_RESPONSE, 4 + 1) { } WorldPacket const* Write() override; @@ -643,7 +643,7 @@ namespace WorldPackets class LogoutCancel final : public ClientPacket { public: - LogoutCancel(WorldPacket&& packet) : ClientPacket(CMSG_LOGOUT_CANCEL, std::move(packet)) { } + explicit LogoutCancel(WorldPacket&& packet) : ClientPacket(CMSG_LOGOUT_CANCEL, std::move(packet)) { } void Read() override { } }; @@ -651,7 +651,7 @@ namespace WorldPackets class LogoutCancelAck final : public ServerPacket { public: - LogoutCancelAck() : ServerPacket(SMSG_LOGOUT_CANCEL_ACK, 0) { } + explicit LogoutCancelAck() : ServerPacket(SMSG_LOGOUT_CANCEL_ACK, 0) { } WorldPacket const* Write() override { return &_worldPacket; } }; @@ -659,7 +659,7 @@ namespace WorldPackets class LoadingScreenNotify final : public ClientPacket { public: - LoadingScreenNotify(WorldPacket&& packet) : ClientPacket(CMSG_LOADING_SCREEN_NOTIFY, std::move(packet)) { } + explicit LoadingScreenNotify(WorldPacket&& packet) : ClientPacket(CMSG_LOADING_SCREEN_NOTIFY, std::move(packet)) { } void Read() override; @@ -670,7 +670,7 @@ namespace WorldPackets class InitialSetup final : public ServerPacket { public: - InitialSetup() : ServerPacket(SMSG_INITIAL_SETUP, 1 + 1) { } + explicit InitialSetup() : ServerPacket(SMSG_INITIAL_SETUP, 1 + 1) { } WorldPacket const* Write() override; @@ -681,7 +681,7 @@ namespace WorldPackets class SetActionBarToggles final : public ClientPacket { public: - SetActionBarToggles(WorldPacket&& packet) : ClientPacket(CMSG_SET_ACTION_BAR_TOGGLES, std::move(packet)) { } + explicit SetActionBarToggles(WorldPacket&& packet) : ClientPacket(CMSG_SET_ACTION_BAR_TOGGLES, std::move(packet)) { } void Read() override; @@ -691,7 +691,7 @@ namespace WorldPackets class RequestPlayedTime final : public ClientPacket { public: - RequestPlayedTime(WorldPacket&& packet) : ClientPacket(CMSG_REQUEST_PLAYED_TIME, std::move(packet)) { } + explicit RequestPlayedTime(WorldPacket&& packet) : ClientPacket(CMSG_REQUEST_PLAYED_TIME, std::move(packet)) { } void Read() override; @@ -701,7 +701,7 @@ namespace WorldPackets class PlayedTime final : public ServerPacket { public: - PlayedTime() : ServerPacket(SMSG_PLAYED_TIME, 9) { } + explicit PlayedTime() : ServerPacket(SMSG_PLAYED_TIME, 9) { } WorldPacket const* Write() override; @@ -713,7 +713,7 @@ namespace WorldPackets class SetTitle final : public ClientPacket { public: - SetTitle(WorldPacket&& packet) : ClientPacket(CMSG_SET_TITLE, std::move(packet)) { } + explicit SetTitle(WorldPacket&& packet) : ClientPacket(CMSG_SET_TITLE, std::move(packet)) { } void Read() override; @@ -723,7 +723,7 @@ namespace WorldPackets class AlterApperance final : public ClientPacket { public: - AlterApperance(WorldPacket&& packet) : ClientPacket(CMSG_ALTER_APPEARANCE, std::move(packet)) { } + explicit AlterApperance(WorldPacket&& packet) : ClientPacket(CMSG_ALTER_APPEARANCE, std::move(packet)) { } void Read() override; @@ -745,7 +745,7 @@ namespace WorldPackets NoMoney2 = 3 }; - BarberShopResult(ResultEnum result) : ServerPacket(SMSG_BARBER_SHOP_RESULT, 4), Result(result) { } + explicit BarberShopResult(ResultEnum result) : ServerPacket(SMSG_BARBER_SHOP_RESULT, 4), Result(result) { } WorldPacket const* Write() override; @@ -755,7 +755,7 @@ namespace WorldPackets class LogXPGain final : public ServerPacket { public: - LogXPGain() : ServerPacket(SMSG_LOG_XP_GAIN, 16 + 4 + 1 + 4 + 4) { } + explicit LogXPGain() : ServerPacket(SMSG_LOG_XP_GAIN, 16 + 4 + 1 + 4 + 4) { } WorldPacket const* Write() override; @@ -769,7 +769,7 @@ namespace WorldPackets class TitleEarned final : public ServerPacket { public: - TitleEarned(OpcodeServer opcode) : ServerPacket(opcode, 4) { } + explicit TitleEarned(OpcodeServer opcode) : ServerPacket(opcode, 4) { } WorldPacket const* Write() override; @@ -779,7 +779,7 @@ namespace WorldPackets class SetFactionAtWar final : public ClientPacket { public: - SetFactionAtWar(WorldPacket&& packet) : ClientPacket(CMSG_SET_FACTION_AT_WAR, std::move(packet)) { } + explicit SetFactionAtWar(WorldPacket&& packet) : ClientPacket(CMSG_SET_FACTION_AT_WAR, std::move(packet)) { } void Read() override; @@ -789,7 +789,7 @@ namespace WorldPackets class SetFactionNotAtWar final : public ClientPacket { public: - SetFactionNotAtWar(WorldPacket&& packet) : ClientPacket(CMSG_SET_FACTION_NOT_AT_WAR, std::move(packet)) { } + explicit SetFactionNotAtWar(WorldPacket&& packet) : ClientPacket(CMSG_SET_FACTION_NOT_AT_WAR, std::move(packet)) { } void Read() override; @@ -799,7 +799,7 @@ namespace WorldPackets class SetFactionInactive final : public ClientPacket { public: - SetFactionInactive(WorldPacket&& packet) : ClientPacket(CMSG_SET_FACTION_INACTIVE, std::move(packet)) { } + explicit SetFactionInactive(WorldPacket&& packet) : ClientPacket(CMSG_SET_FACTION_INACTIVE, std::move(packet)) { } void Read() override; @@ -810,7 +810,7 @@ namespace WorldPackets class SetWatchedFaction final : public ClientPacket { public: - SetWatchedFaction(WorldPacket&& packet) : ClientPacket(CMSG_SET_WATCHED_FACTION, std::move(packet)) { } + explicit SetWatchedFaction(WorldPacket&& packet) : ClientPacket(CMSG_SET_WATCHED_FACTION, std::move(packet)) { } void Read() override; @@ -820,7 +820,7 @@ namespace WorldPackets class SetFactionVisible : public ServerPacket { public: - SetFactionVisible(bool visible) : ServerPacket(visible ? SMSG_SET_FACTION_VISIBLE : SMSG_SET_FACTION_NOT_VISIBLE, 4) { } + explicit SetFactionVisible(bool visible) : ServerPacket(visible ? SMSG_SET_FACTION_VISIBLE : SMSG_SET_FACTION_NOT_VISIBLE, 4) { } WorldPacket const* Write() override; @@ -830,7 +830,7 @@ namespace WorldPackets class CharCustomizeSuccess final : public ServerPacket { public: - CharCustomizeSuccess(CharCustomizeInfo const* customizeInfo); + explicit CharCustomizeSuccess(CharCustomizeInfo const* customizeInfo); WorldPacket const* Write() override; @@ -843,7 +843,7 @@ namespace WorldPackets class CharCustomizeFailure final : public ServerPacket { public: - CharCustomizeFailure() : ServerPacket(SMSG_CHAR_CUSTOMIZE_FAILURE, 1 + 16) { } + explicit CharCustomizeFailure() : ServerPacket(SMSG_CHAR_CUSTOMIZE_FAILURE, 1 + 16) { } WorldPacket const* Write() override; @@ -854,7 +854,7 @@ namespace WorldPackets class SetPlayerDeclinedNames final : public ClientPacket { public: - SetPlayerDeclinedNames(WorldPacket&& packet) : ClientPacket(CMSG_SET_PLAYER_DECLINED_NAMES, std::move(packet)) { } + explicit SetPlayerDeclinedNames(WorldPacket&& packet) : ClientPacket(CMSG_SET_PLAYER_DECLINED_NAMES, std::move(packet)) { } void Read() override; @@ -865,7 +865,7 @@ namespace WorldPackets class SetPlayerDeclinedNamesResult final : public ServerPacket { public: - SetPlayerDeclinedNamesResult() : ServerPacket(SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, 8 + 4) { } + explicit SetPlayerDeclinedNamesResult() : ServerPacket(SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, 8 + 4) { } WorldPacket const* Write() override; @@ -876,7 +876,7 @@ namespace WorldPackets class SavePersonalEmblem final : public ClientPacket { public: - SavePersonalEmblem(WorldPacket&& packet) : ClientPacket(CMSG_SAVE_PERSONAL_EMBLEM, std::move(packet)) { } + explicit SavePersonalEmblem(WorldPacket&& packet) : ClientPacket(CMSG_SAVE_PERSONAL_EMBLEM, std::move(packet)) { } void Read() override; @@ -896,4 +896,4 @@ namespace WorldPackets } } -#endif // CharacterPackets_h__ +#endif // TRINITYCORE_CHARACTER_PACKETS_H diff --git a/src/server/game/Server/Packets/ChatPackets.cpp b/src/server/game/Server/Packets/ChatPackets.cpp index 3dfac9802ed..70ae9311a60 100644 --- a/src/server/game/Server/Packets/ChatPackets.cpp +++ b/src/server/game/Server/Packets/ChatPackets.cpp @@ -17,15 +17,15 @@ #include "ChatPackets.h" #include "Creature.h" -#include "Group.h" #include "Player.h" #include "World.h" -#include "WorldSession.h" -void WorldPackets::Chat::ChatMessage::Read() +namespace WorldPackets::Chat +{ +void ChatMessage::Read() { _worldPacket >> Language; - uint32 len = _worldPacket.ReadBits(11); + _worldPacket >> SizedString::BitsSize<11>(Text); switch (GetOpcode()) { case CMSG_CHAT_MESSAGE_SAY: @@ -33,15 +33,15 @@ void WorldPackets::Chat::ChatMessage::Read() case CMSG_CHAT_MESSAGE_RAID: case CMSG_CHAT_MESSAGE_RAID_WARNING: case CMSG_CHAT_MESSAGE_INSTANCE_CHAT: - IsSecure = _worldPacket.ReadBit(); + _worldPacket >> Bits<1>(IsSecure); break; default: break; } - Text = _worldPacket.ReadString(len); + _worldPacket >> SizedString::Data(Text); } -void WorldPackets::Chat::ChatMessageWhisper::Read() +void ChatMessageWhisper::Read() { _worldPacket >> Language; _worldPacket >> TargetGUID; @@ -54,37 +54,38 @@ void WorldPackets::Chat::ChatMessageWhisper::Read() _worldPacket >> SizedCString::Data(Text); } -void WorldPackets::Chat::ChatMessageChannel::Read() +void ChatMessageChannel::Read() { _worldPacket >> Language; _worldPacket >> ChannelGUID; - uint32 targetLen = _worldPacket.ReadBits(9); - uint32 textLen = _worldPacket.ReadBits(11); - if (_worldPacket.ReadBit()) - IsSecure = _worldPacket.ReadBit(); + _worldPacket >> SizedString::BitsSize<9>(Target); + _worldPacket >> SizedString::BitsSize<11>(Text); + _worldPacket >> OptionalInit(IsSecure); + if (IsSecure) + _worldPacket >> Bits<1>(*IsSecure); - Target = _worldPacket.ReadString(targetLen); - Text = _worldPacket.ReadString(textLen); + _worldPacket >> SizedCString::Data(Target); + _worldPacket >> SizedCString::Data(Text); } -ByteBuffer& operator>>(ByteBuffer& data, WorldPackets::Chat::ChatAddonMessageParams& params) +ByteBuffer& operator>>(ByteBuffer& data, ChatAddonMessageParams& params) { - uint32 prefixLen = data.ReadBits(5); - uint32 textLen = data.ReadBits(8); - params.IsLogged = data.ReadBit(); - params.Type = ChatMsg(data.read<int32>()); - params.Prefix = data.ReadString(prefixLen); - params.Text = data.ReadString(textLen, false); + data >> SizedString::BitsSize<5>(params.Prefix); + data >> SizedString::BitsSize<8>(params.Text); + data >> Bits<1>(params.IsLogged); + data >> As<int32>(params.Type); + data >> SizedString::Data(params.Prefix); + data >> SizedString::Data<Strings::DontValidateUtf8>(params.Text); return data; } -void WorldPackets::Chat::ChatAddonMessage::Read() +void ChatAddonMessage::Read() { _worldPacket >> Params; } -void WorldPackets::Chat::ChatAddonMessageTargeted::Read() +void ChatAddonMessageTargeted::Read() { _worldPacket >> Params; _worldPacket >> ChannelGUID; @@ -98,34 +99,38 @@ void WorldPackets::Chat::ChatAddonMessageTargeted::Read() _worldPacket >> SizedCString::Data(ChannelName); } -void WorldPackets::Chat::ChatMessageDND::Read() +void ChatMessageDND::Read() { - uint32 len = _worldPacket.ReadBits(11); - Text = _worldPacket.ReadString(len); + _worldPacket >> SizedString::BitsSize<11>(Text); + + _worldPacket >> SizedString::Data(Text); } -void WorldPackets::Chat::ChatMessageAFK::Read() +void ChatMessageAFK::Read() { - uint32 len = _worldPacket.ReadBits(11); - Text = _worldPacket.ReadString(len); + _worldPacket >> SizedString::BitsSize<11>(Text); + + _worldPacket >> SizedString::Data(Text); } -void WorldPackets::Chat::ChatMessageEmote::Read() +void ChatMessageEmote::Read() { - uint32 len = _worldPacket.ReadBits(11); - Text = _worldPacket.ReadString(len); + _worldPacket >> SizedString::BitsSize<11>(Text); + + _worldPacket >> SizedString::Data(Text); } -WorldPackets::Chat::Chat::Chat(Chat const& chat) : ServerPacket(SMSG_CHAT, chat._worldPacket.size()), +Chat::Chat(Chat const& chat) : ServerPacket(SMSG_CHAT, chat._worldPacket.size()), SlashCmd(chat.SlashCmd), _Language(chat._Language), SenderGUID(chat.SenderGUID), SenderGuildGUID(chat.SenderGuildGUID), SenderWowAccount(chat.SenderWowAccount), TargetGUID(chat.TargetGUID), SenderVirtualAddress(chat.SenderVirtualAddress), TargetVirtualAddress(chat.TargetVirtualAddress), SenderName(chat.SenderName), TargetName(chat.TargetName), Prefix(chat.Prefix), _Channel(chat._Channel), ChatText(chat.ChatText), AchievementID(chat.AchievementID), _ChatFlags(chat._ChatFlags), - DisplayTime(chat.DisplayTime), HideChatLog(chat.HideChatLog), FakeSenderName(chat.FakeSenderName) + DisplayTime(chat.DisplayTime), SpellID(chat.SpellID), BroadcastTextID(chat.BroadcastTextID), HideChatLog(chat.HideChatLog), FakeSenderName(chat.FakeSenderName), + ChannelGUID(chat.ChannelGUID) { } -void WorldPackets::Chat::Chat::Initialize(ChatMsg chatType, Language language, WorldObject const* sender, WorldObject const* receiver, std::string_view message, +void Chat::Initialize(ChatMsg chatType, Language language, WorldObject const* sender, WorldObject const* receiver, std::string_view message, uint32 achievementId /*= 0*/, std::string_view channelName /*= ""*/, LocaleConstant locale /*= DEFAULT_LOCALE*/, std::string_view addonPrefix /*= ""*/) { // Clear everything because same packet can be used multiple times @@ -156,7 +161,7 @@ void WorldPackets::Chat::Chat::Initialize(ChatMsg chatType, Language language, W ChatText = message; } -void WorldPackets::Chat::Chat::SetSender(WorldObject const* sender, LocaleConstant locale) +void Chat::SetSender(WorldObject const* sender, LocaleConstant locale) { SenderGUID = sender->GetGUID(); @@ -165,21 +170,20 @@ void WorldPackets::Chat::Chat::SetSender(WorldObject const* sender, LocaleConsta if (Player const* playerSender = sender->ToPlayer()) { - SenderWowAccount = playerSender->GetSession()->GetAccountGUID(); + SenderGuildGUID = playerSender->m_unitData->GuildGUID; + SenderWowAccount = playerSender->m_playerData->WowAccount; _ChatFlags = playerSender->GetChatFlags(); - - SenderGuildGUID = ObjectGuid::Create<HighGuid::Guild>(playerSender->GetGuildId()); } } -void WorldPackets::Chat::Chat::SetReceiver(WorldObject const* receiver, LocaleConstant locale) +void Chat::SetReceiver(WorldObject const* receiver, LocaleConstant locale) { TargetGUID = receiver->GetGUID(); if (Creature const* creatureReceiver = receiver->ToCreature()) TargetName = creatureReceiver->GetNameForLocaleIdx(locale); } -WorldPacket const* WorldPackets::Chat::Chat::Write() +WorldPacket const* Chat::Write() { _worldPacket << uint8(SlashCmd); _worldPacket << uint32(_Language); @@ -193,22 +197,22 @@ WorldPacket const* WorldPackets::Chat::Chat::Write() _worldPacket << uint16(_ChatFlags); _worldPacket << float(DisplayTime); _worldPacket << int32(SpellID); - _worldPacket.WriteBits(SenderName.length(), 11); - _worldPacket.WriteBits(TargetName.length(), 11); - _worldPacket.WriteBits(Prefix.length(), 5); - _worldPacket.WriteBits(_Channel.length(), 7); - _worldPacket.WriteBits(ChatText.length(), 12); - _worldPacket.WriteBit(HideChatLog); - _worldPacket.WriteBit(FakeSenderName); - _worldPacket.WriteBit(BroadcastTextID.has_value()); - _worldPacket.WriteBit(ChannelGUID.has_value()); + _worldPacket << SizedString::BitsSize<11>(SenderName); + _worldPacket << SizedString::BitsSize<11>(TargetName); + _worldPacket << SizedString::BitsSize<5>(Prefix); + _worldPacket << SizedString::BitsSize<7>(_Channel); + _worldPacket << SizedString::BitsSize<12>(ChatText); + _worldPacket << Bits<1>(HideChatLog); + _worldPacket << Bits<1>(FakeSenderName); + _worldPacket << OptionalInit(BroadcastTextID); + _worldPacket << OptionalInit(ChannelGUID); _worldPacket.FlushBits(); - _worldPacket.WriteString(SenderName); - _worldPacket.WriteString(TargetName); - _worldPacket.WriteString(Prefix); - _worldPacket.WriteString(_Channel); - _worldPacket.WriteString(ChatText); + _worldPacket << SizedString::Data(SenderName); + _worldPacket << SizedString::Data(TargetName); + _worldPacket << SizedString::Data(Prefix); + _worldPacket << SizedString::Data(_Channel); + _worldPacket << SizedString::Data(ChatText); if (BroadcastTextID) _worldPacket << uint32(*BroadcastTextID); @@ -219,11 +223,11 @@ WorldPacket const* WorldPackets::Chat::Chat::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Chat::Emote::Write() +WorldPacket const* Emote::Write() { _worldPacket << Guid; _worldPacket << uint32(EmoteID); - _worldPacket << uint32(SpellVisualKitIDs.size()); + _worldPacket << Size<uint32>(SpellVisualKitIDs); _worldPacket << int32(SequenceVariation); if (!SpellVisualKitIDs.empty()) _worldPacket.append(SpellVisualKitIDs.data(), SpellVisualKitIDs.size()); @@ -231,18 +235,18 @@ WorldPacket const* WorldPackets::Chat::Emote::Write() return &_worldPacket; } -void WorldPackets::Chat::CTextEmote::Read() +void CTextEmote::Read() { _worldPacket >> Target; _worldPacket >> EmoteID; _worldPacket >> SoundIndex; - SpellVisualKitIDs.resize(_worldPacket.read<uint32>()); + _worldPacket >> Size<uint32>(SpellVisualKitIDs); _worldPacket >> SequenceVariation; for (int32& spellVisualKitId : SpellVisualKitIDs) _worldPacket >> spellVisualKitId; } -WorldPacket const* WorldPackets::Chat::STextEmote::Write() +WorldPacket const* STextEmote::Write() { _worldPacket << SourceGUID; _worldPacket << SourceAccountGUID; @@ -253,82 +257,87 @@ WorldPacket const* WorldPackets::Chat::STextEmote::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Chat::PrintNotification::Write() +WorldPacket const* PrintNotification::Write() { - _worldPacket.WriteBits(NotifyText.size(), 12); + _worldPacket << SizedString::BitsSize<12>(NotifyText); _worldPacket.FlushBits(); - _worldPacket.WriteString(NotifyText); + _worldPacket << SizedString::Data(NotifyText); return &_worldPacket; } -WorldPacket const* WorldPackets::Chat::ChatPlayerNotfound::Write() +WorldPacket const* ChatPlayerNotfound::Write() { - _worldPacket.WriteBits(Name.length(), 9); + _worldPacket << SizedString::BitsSize<9>(Name); _worldPacket.FlushBits(); - _worldPacket.WriteString(Name); + _worldPacket << SizedString::Data(Name); return &_worldPacket; } -WorldPacket const* WorldPackets::Chat::ChatServerMessage::Write() +WorldPacket const* ChatServerMessage::Write() { _worldPacket << int32(MessageID); - _worldPacket.WriteBits(StringParam.length(), 11); + _worldPacket << SizedString::BitsSize<11>(StringParam); _worldPacket.FlushBits(); - _worldPacket.WriteString(StringParam); + _worldPacket << SizedString::Data(StringParam); return &_worldPacket; } -void WorldPackets::Chat::ChatRegisterAddonPrefixes::Read() +void ChatRegisterAddonPrefixes::Read() { - Prefixes.resize(_worldPacket.read<uint32>()); + _worldPacket >> Size<uint32>(Prefixes); for (std::string& prefix : Prefixes) - prefix.assign(_worldPacket.ReadString(_worldPacket.ReadBits(5))); + { + _worldPacket >> SizedString::BitsSize<5>(prefix); + _worldPacket >> SizedString::Data(prefix); + } } -WorldPacket const* WorldPackets::Chat::DefenseMessage::Write() +WorldPacket const* DefenseMessage::Write() { _worldPacket << int32(ZoneID); - _worldPacket.WriteBits(MessageText.length(), 12); + _worldPacket << SizedString::BitsSize<12>(MessageText); _worldPacket.FlushBits(); - _worldPacket.WriteString(MessageText); + + _worldPacket << SizedString::Data(MessageText); return &_worldPacket; } -void WorldPackets::Chat::ChatReportIgnored::Read() +void ChatReportIgnored::Read() { _worldPacket >> IgnoredGUID; _worldPacket >> Reason; } -WorldPacket const* WorldPackets::Chat::ChatPlayerAmbiguous::Write() +WorldPacket const* ChatPlayerAmbiguous::Write() { - _worldPacket.WriteBits(Name.length(), 9); - _worldPacket.WriteString(Name); + _worldPacket << SizedString::BitsSize<9>(Name); + + _worldPacket << SizedString::Data(Name); return &_worldPacket; } -WorldPacket const* WorldPackets::Chat::ChatRestricted::Write() +WorldPacket const* ChatRestricted::Write() { _worldPacket << int32(Reason); return &_worldPacket; } -void WorldPackets::Chat::CanLocalWhisperTargetRequest::Read() +void CanLocalWhisperTargetRequest::Read() { _worldPacket >> WhisperTarget; } -WorldPacket const* WorldPackets::Chat::CanLocalWhisperTargetResponse::Write() +WorldPacket const* CanLocalWhisperTargetResponse::Write() { _worldPacket << WhisperTarget; _worldPacket << int32(Status); @@ -336,16 +345,17 @@ WorldPacket const* WorldPackets::Chat::CanLocalWhisperTargetResponse::Write() return &_worldPacket; } -void WorldPackets::Chat::UpdateAADCStatus::Read() +void UpdateAADCStatus::Read() { - ChatDisabled = _worldPacket.ReadBit(); + _worldPacket >> Bits<1>(ChatDisabled); } -WorldPacket const* WorldPackets::Chat::UpdateAADCStatusResponse::Write() +WorldPacket const* UpdateAADCStatusResponse::Write() { - _worldPacket.WriteBit(Success); - _worldPacket.WriteBit(ChatDisabled); + _worldPacket << Bits<1>(Success); + _worldPacket << Bits<1>(ChatDisabled); _worldPacket.FlushBits(); return &_worldPacket; } +} diff --git a/src/server/game/Server/Packets/ChatPackets.h b/src/server/game/Server/Packets/ChatPackets.h index 8af3f14d70a..81d12cdd2b0 100644 --- a/src/server/game/Server/Packets/ChatPackets.h +++ b/src/server/game/Server/Packets/ChatPackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef ChatPackets_h__ -#define ChatPackets_h__ +#ifndef TRINITYCORE_CHAT_PACKETS_H +#define TRINITYCORE_CHAT_PACKETS_H #include "Packet.h" #include "Common.h" @@ -43,7 +43,7 @@ namespace WorldPackets class ChatMessage final : public ClientPacket { public: - ChatMessage(WorldPacket&& packet) : ClientPacket(std::move(packet)) { } + explicit ChatMessage(WorldPacket&& packet) : ClientPacket(std::move(packet)) { } void Read() override; @@ -56,7 +56,7 @@ namespace WorldPackets class ChatMessageWhisper final : public ClientPacket { public: - ChatMessageWhisper(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_MESSAGE_WHISPER, std::move(packet)) { } + explicit ChatMessageWhisper(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_MESSAGE_WHISPER, std::move(packet)) { } void Read() override; @@ -71,7 +71,7 @@ namespace WorldPackets class ChatMessageChannel final : public ClientPacket { public: - ChatMessageChannel(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_MESSAGE_CHANNEL, std::move(packet)) { } + explicit ChatMessageChannel(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_MESSAGE_CHANNEL, std::move(packet)) { } void Read() override; @@ -94,7 +94,7 @@ namespace WorldPackets class ChatAddonMessage final : public ClientPacket { public: - ChatAddonMessage(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_ADDON_MESSAGE, std::move(packet)) { } + explicit ChatAddonMessage(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_ADDON_MESSAGE, std::move(packet)) { } void Read() override; @@ -105,9 +105,7 @@ namespace WorldPackets class ChatAddonMessageTargeted final : public ClientPacket { public: - ChatAddonMessageTargeted(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_ADDON_MESSAGE_TARGETED, std::move(packet)) - { - } + explicit ChatAddonMessageTargeted(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_ADDON_MESSAGE_TARGETED, std::move(packet)) { } void Read() override; @@ -122,7 +120,7 @@ namespace WorldPackets class ChatMessageDND final : public ClientPacket { public: - ChatMessageDND(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_MESSAGE_DND, std::move(packet)) { } + explicit ChatMessageDND(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_MESSAGE_DND, std::move(packet)) { } void Read() override; @@ -132,7 +130,7 @@ namespace WorldPackets class ChatMessageAFK final : public ClientPacket { public: - ChatMessageAFK(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_MESSAGE_AFK, std::move(packet)) { } + explicit ChatMessageAFK(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_MESSAGE_AFK, std::move(packet)) { } void Read() override; @@ -142,7 +140,7 @@ namespace WorldPackets class ChatMessageEmote final : public ClientPacket { public: - ChatMessageEmote(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_MESSAGE_EMOTE, std::move(packet)) { } + explicit ChatMessageEmote(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_MESSAGE_EMOTE, std::move(packet)) { } void Read() override; @@ -153,7 +151,7 @@ namespace WorldPackets class TC_GAME_API Chat final : public ServerPacket { public: - Chat() : ServerPacket(SMSG_CHAT, 100) { } + explicit Chat() : ServerPacket(SMSG_CHAT, 100) { } Chat(Chat const& chat); void Initialize(ChatMsg chatType, Language language, WorldObject const* sender, WorldObject const* receiver, std::string_view message, uint32 achievementId = 0, @@ -189,7 +187,7 @@ namespace WorldPackets class Emote final : public ServerPacket { public: - Emote() : ServerPacket(SMSG_EMOTE, 18 + 4) { } + explicit Emote() : ServerPacket(SMSG_EMOTE, 18 + 4) { } WorldPacket const* Write() override; @@ -202,7 +200,7 @@ namespace WorldPackets class CTextEmote final : public ClientPacket { public: - CTextEmote(WorldPacket&& packet) : ClientPacket(CMSG_SEND_TEXT_EMOTE, std::move(packet)) { } + explicit CTextEmote(WorldPacket&& packet) : ClientPacket(CMSG_SEND_TEXT_EMOTE, std::move(packet)) { } void Read() override; @@ -216,7 +214,7 @@ namespace WorldPackets class STextEmote final : public ServerPacket { public: - STextEmote() : ServerPacket(SMSG_TEXT_EMOTE, 3 * 18 + 2 * 4) { } + explicit STextEmote() : ServerPacket(SMSG_TEXT_EMOTE, 3 * 18 + 2 * 4) { } WorldPacket const* Write() override; @@ -230,7 +228,7 @@ namespace WorldPackets class ClearBossEmotes final : public ServerPacket { public: - ClearBossEmotes() : ServerPacket(SMSG_CLEAR_BOSS_EMOTES, 0) { } + explicit ClearBossEmotes() : ServerPacket(SMSG_CLEAR_BOSS_EMOTES, 0) { } WorldPacket const* Write() override { return &_worldPacket; } }; @@ -238,7 +236,7 @@ namespace WorldPackets class TC_GAME_API PrintNotification final : public ServerPacket { public: - PrintNotification(std::string const& notifyText) : ServerPacket(SMSG_PRINT_NOTIFICATION, 2 + notifyText.size()), NotifyText(notifyText) { } + explicit PrintNotification(std::string const& notifyText) : ServerPacket(SMSG_PRINT_NOTIFICATION, 2 + notifyText.size()), NotifyText(notifyText) { } WorldPacket const* Write() override; @@ -248,7 +246,7 @@ namespace WorldPackets class EmoteClient final : public ClientPacket { public: - EmoteClient(WorldPacket&& packet) : ClientPacket(CMSG_EMOTE, std::move(packet)) { } + explicit EmoteClient(WorldPacket&& packet) : ClientPacket(CMSG_EMOTE, std::move(packet)) { } void Read() override { } }; @@ -256,7 +254,7 @@ namespace WorldPackets class ChatPlayerNotfound final : public ServerPacket { public: - ChatPlayerNotfound(std::string const& name) : ServerPacket(SMSG_CHAT_PLAYER_NOTFOUND, 2 + name.size()), Name(name) { } + explicit ChatPlayerNotfound(std::string const& name) : ServerPacket(SMSG_CHAT_PLAYER_NOTFOUND, 2 + name.size()), Name(name) { } WorldPacket const* Write() override; @@ -266,7 +264,7 @@ namespace WorldPackets class ChatServerMessage final : public ServerPacket { public: - ChatServerMessage() : ServerPacket(SMSG_CHAT_SERVER_MESSAGE, 4 + 2) { } + explicit ChatServerMessage() : ServerPacket(SMSG_CHAT_SERVER_MESSAGE, 4 + 2) { } WorldPacket const* Write() override; @@ -282,7 +280,7 @@ namespace WorldPackets MAX_PREFIXES = 64 }; - ChatRegisterAddonPrefixes(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_REGISTER_ADDON_PREFIXES, std::move(packet)) { } + explicit ChatRegisterAddonPrefixes(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_REGISTER_ADDON_PREFIXES, std::move(packet)) { } void Read() override; @@ -292,7 +290,7 @@ namespace WorldPackets class ChatUnregisterAllAddonPrefixes final : public ClientPacket { public: - ChatUnregisterAllAddonPrefixes(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_UNREGISTER_ALL_ADDON_PREFIXES, std::move(packet)) { } + explicit ChatUnregisterAllAddonPrefixes(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_UNREGISTER_ALL_ADDON_PREFIXES, std::move(packet)) { } void Read() override { } }; @@ -300,7 +298,7 @@ namespace WorldPackets class DefenseMessage final : public ServerPacket { public: - DefenseMessage() : ServerPacket(SMSG_DEFENSE_MESSAGE) { } + explicit DefenseMessage() : ServerPacket(SMSG_DEFENSE_MESSAGE) { } WorldPacket const* Write() override; @@ -311,7 +309,7 @@ namespace WorldPackets class ChatReportIgnored final : public ClientPacket { public: - ChatReportIgnored(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_REPORT_IGNORED, std::move(packet)) { } + explicit ChatReportIgnored(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_REPORT_IGNORED, std::move(packet)) { } void Read() override; @@ -322,7 +320,7 @@ namespace WorldPackets class ChatPlayerAmbiguous final : public ServerPacket { public: - ChatPlayerAmbiguous(std::string const& name) : ServerPacket(SMSG_CHAT_PLAYER_AMBIGUOUS, 2 + name.length()), Name(name) { } + explicit ChatPlayerAmbiguous(std::string const& name) : ServerPacket(SMSG_CHAT_PLAYER_AMBIGUOUS, 2 + name.length()), Name(name) { } WorldPacket const* Write() override; @@ -332,7 +330,7 @@ namespace WorldPackets class ChatRestricted final : public ServerPacket { public: - ChatRestricted() : ServerPacket(SMSG_CHAT_RESTRICTED, 4) { } + explicit ChatRestricted() : ServerPacket(SMSG_CHAT_RESTRICTED, 4) { } WorldPacket const* Write() override; @@ -342,7 +340,7 @@ namespace WorldPackets class CanLocalWhisperTargetRequest final : public ClientPacket { public: - CanLocalWhisperTargetRequest(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_CAN_LOCAL_WHISPER_TARGET_REQUEST, std::move(packet)) { } + explicit CanLocalWhisperTargetRequest(WorldPacket&& packet) : ClientPacket(CMSG_CHAT_CAN_LOCAL_WHISPER_TARGET_REQUEST, std::move(packet)) { } void Read() override; @@ -352,7 +350,7 @@ namespace WorldPackets class CanLocalWhisperTargetResponse final : public ServerPacket { public: - CanLocalWhisperTargetResponse() : ServerPacket(SMSG_CHAT_CAN_LOCAL_WHISPER_TARGET_RESPONSE, 16 + 1) { } + explicit CanLocalWhisperTargetResponse() : ServerPacket(SMSG_CHAT_CAN_LOCAL_WHISPER_TARGET_RESPONSE, 16 + 1) { } WorldPacket const* Write() override; @@ -363,7 +361,7 @@ namespace WorldPackets class UpdateAADCStatus final : public ClientPacket { public: - UpdateAADCStatus(WorldPacket&& packet) : ClientPacket(CMSG_UPDATE_AADC_STATUS, std::move(packet)) { } + explicit UpdateAADCStatus(WorldPacket&& packet) : ClientPacket(CMSG_UPDATE_AADC_STATUS, std::move(packet)) { } void Read() override; @@ -373,7 +371,7 @@ namespace WorldPackets class UpdateAADCStatusResponse final : public ServerPacket { public: - UpdateAADCStatusResponse() : ServerPacket(SMSG_UPDATE_AADC_STATUS_RESPONSE, 1) { } + explicit UpdateAADCStatusResponse() : ServerPacket(SMSG_UPDATE_AADC_STATUS_RESPONSE, 1) { } WorldPacket const* Write() override; @@ -383,4 +381,4 @@ namespace WorldPackets } } -#endif // ChatPackets_h__ +#endif // TRINITYCORE_CHAT_PACKETS_H diff --git a/src/server/game/Server/Packets/ClientConfigPackets.cpp b/src/server/game/Server/Packets/ClientConfigPackets.cpp index 9f3060cfa42..06de1098f4d 100644 --- a/src/server/game/Server/Packets/ClientConfigPackets.cpp +++ b/src/server/game/Server/Packets/ClientConfigPackets.cpp @@ -17,7 +17,9 @@ #include "ClientConfigPackets.h" -WorldPacket const* WorldPackets::ClientConfig::AccountDataTimes::Write() +namespace WorldPackets::ClientConfig +{ +WorldPacket const* AccountDataTimes::Write() { _worldPacket << PlayerGuid; _worldPacket << ServerTime; @@ -27,32 +29,33 @@ WorldPacket const* WorldPackets::ClientConfig::AccountDataTimes::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::ClientConfig::ClientCacheVersion::Write() +WorldPacket const* ClientCacheVersion::Write() { _worldPacket << uint32(CacheVersion); return &_worldPacket; } -void WorldPackets::ClientConfig::RequestAccountData::Read() +void RequestAccountData::Read() { _worldPacket >> PlayerGuid; _worldPacket >> DataType; } -WorldPacket const* WorldPackets::ClientConfig::UpdateAccountData::Write() +WorldPacket const* UpdateAccountData::Write() { _worldPacket << Time; _worldPacket << uint32(Size); _worldPacket << Player; _worldPacket << int32(DataType); - _worldPacket << uint32(CompressedData.size()); - _worldPacket.append(CompressedData); + _worldPacket << WorldPackets::Size<uint32>(CompressedData); + if (!CompressedData.empty()) + _worldPacket.append(CompressedData.data(), CompressedData.size()); return &_worldPacket; } -void WorldPackets::ClientConfig::UserClientUpdateAccountData::Read() +void UserClientUpdateAccountData::Read() { _worldPacket >> Time; _worldPacket >> Size; @@ -60,17 +63,17 @@ void WorldPackets::ClientConfig::UserClientUpdateAccountData::Read() _worldPacket >> DataType; uint32 compressedSize = _worldPacket.read<uint32>(); - if (compressedSize > _worldPacket.size() - _worldPacket.rpos()) + std::size_t pos = _worldPacket.rpos(); + std::size_t remainingSize = _worldPacket.size() - pos; + if (compressedSize > remainingSize) throw ByteBufferPositionException(_worldPacket.rpos(), _worldPacket.size(), compressedSize); - if (compressedSize) - { - CompressedData.resize(compressedSize); - _worldPacket.read(CompressedData.data(), compressedSize); - } + CompressedData = { _worldPacket.data() + pos, compressedSize }; + _worldPacket.rpos(pos + compressedSize); } -void WorldPackets::ClientConfig::SetAdvancedCombatLogging::Read() +void SetAdvancedCombatLogging::Read() { - Enable = _worldPacket.ReadBit(); + _worldPacket >> Bits<1>(Enable); +} } diff --git a/src/server/game/Server/Packets/ClientConfigPackets.h b/src/server/game/Server/Packets/ClientConfigPackets.h index 684231af0fe..60e09afff52 100644 --- a/src/server/game/Server/Packets/ClientConfigPackets.h +++ b/src/server/game/Server/Packets/ClientConfigPackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef ClientConfigPackets_h__ -#define ClientConfigPackets_h__ +#ifndef TRINITYCORE_CLIENT_CONFIG_PACKETS_H +#define TRINITYCORE_CLIENT_CONFIG_PACKETS_H #include "Packet.h" #include "PacketUtilities.h" @@ -29,7 +29,7 @@ namespace WorldPackets class AccountDataTimes final : public ServerPacket { public: - AccountDataTimes() : ServerPacket(SMSG_ACCOUNT_DATA_TIMES, 16 + 8 + 8 * NUM_ACCOUNT_DATA_TYPES) { } + explicit AccountDataTimes() : ServerPacket(SMSG_ACCOUNT_DATA_TIMES, 16 + 8 + 8 * NUM_ACCOUNT_DATA_TYPES) { } WorldPacket const* Write() override; @@ -41,7 +41,7 @@ namespace WorldPackets class ClientCacheVersion final : public ServerPacket { public: - ClientCacheVersion() : ServerPacket(SMSG_CACHE_VERSION, 4) { } + explicit ClientCacheVersion() : ServerPacket(SMSG_CACHE_VERSION, 4) { } WorldPacket const* Write() override; @@ -51,7 +51,7 @@ namespace WorldPackets class RequestAccountData final : public ClientPacket { public: - RequestAccountData(WorldPacket&& packet) : ClientPacket(CMSG_REQUEST_ACCOUNT_DATA, std::move(packet)) { } + explicit RequestAccountData(WorldPacket&& packet) : ClientPacket(CMSG_REQUEST_ACCOUNT_DATA, std::move(packet)) { } void Read() override; @@ -62,7 +62,7 @@ namespace WorldPackets class UpdateAccountData final : public ServerPacket { public: - UpdateAccountData() : ServerPacket(SMSG_UPDATE_ACCOUNT_DATA) { } + explicit UpdateAccountData() : ServerPacket(SMSG_UPDATE_ACCOUNT_DATA) { } WorldPacket const* Write() override; @@ -70,13 +70,13 @@ namespace WorldPackets Timestamp<> Time; uint32 Size = 0; ///< decompressed size int32 DataType = 0; ///< @see enum AccountDataType - ByteBuffer CompressedData; + std::vector<uint8> CompressedData; }; class UserClientUpdateAccountData final : public ClientPacket { public: - UserClientUpdateAccountData(WorldPacket&& packet) : ClientPacket(CMSG_UPDATE_ACCOUNT_DATA, std::move(packet)) { } + explicit UserClientUpdateAccountData(WorldPacket&& packet) : ClientPacket(CMSG_UPDATE_ACCOUNT_DATA, std::move(packet)) { } void Read() override; @@ -84,13 +84,13 @@ namespace WorldPackets Timestamp<> Time; uint32 Size = 0; ///< decompressed size int32 DataType = 0; ///< @see enum AccountDataType - ByteBuffer CompressedData; + std::span<uint8 const> CompressedData; }; class SetAdvancedCombatLogging final : public ClientPacket { public: - SetAdvancedCombatLogging(WorldPacket&& packet) : ClientPacket(CMSG_SET_ADVANCED_COMBAT_LOGGING, std::move(packet)) { } + explicit SetAdvancedCombatLogging(WorldPacket&& packet) : ClientPacket(CMSG_SET_ADVANCED_COMBAT_LOGGING, std::move(packet)) { } void Read() override; @@ -99,4 +99,4 @@ namespace WorldPackets } } -#endif // ClientConfigPackets_h__ +#endif // TRINITYCORE_CLIENT_CONFIG_PACKETS_H diff --git a/src/server/game/Server/Packets/CollectionPackets.cpp b/src/server/game/Server/Packets/CollectionPackets.cpp index 2f82f083376..9150d9ec2ef 100644 --- a/src/server/game/Server/Packets/CollectionPackets.cpp +++ b/src/server/game/Server/Packets/CollectionPackets.cpp @@ -41,7 +41,7 @@ WorldPacket const* AccountItemCollectionData::Write() { _worldPacket << uint32(Unknown1110_1); _worldPacket << uint8(Type); - _worldPacket << uint32(Items.size()); + _worldPacket << Size<uint32>(Items); for (ItemCollectionItemData const& item : Items) _worldPacket << item; diff --git a/src/server/game/Server/Packets/CollectionPackets.h b/src/server/game/Server/Packets/CollectionPackets.h index f9656623c27..98b9eed0db7 100644 --- a/src/server/game/Server/Packets/CollectionPackets.h +++ b/src/server/game/Server/Packets/CollectionPackets.h @@ -28,7 +28,7 @@ namespace WorldPackets class CollectionItemSetFavorite final : public ClientPacket { public: - CollectionItemSetFavorite(WorldPacket&& packet) : ClientPacket(CMSG_COLLECTION_ITEM_SET_FAVORITE, std::move(packet)) { } + explicit CollectionItemSetFavorite(WorldPacket&& packet) : ClientPacket(CMSG_COLLECTION_ITEM_SET_FAVORITE, std::move(packet)) { } void Read() override; @@ -48,7 +48,7 @@ namespace WorldPackets class AccountItemCollectionData final : public ServerPacket { public: - AccountItemCollectionData() : ServerPacket(SMSG_ACCOUNT_ITEM_COLLECTION_DATA) { } + explicit AccountItemCollectionData() : ServerPacket(SMSG_ACCOUNT_ITEM_COLLECTION_DATA) { } WorldPacket const* Write() override; diff --git a/src/server/game/Server/Packets/CombatLogPackets.cpp b/src/server/game/Server/Packets/CombatLogPackets.cpp index dcd02a7648d..408d8029311 100644 --- a/src/server/game/Server/Packets/CombatLogPackets.cpp +++ b/src/server/game/Server/Packets/CombatLogPackets.cpp @@ -16,6 +16,8 @@ */ #include "CombatLogPackets.h" +#include "PacketUtilities.h" +#include "Spell.h" #include "UnitDefines.h" namespace WorldPackets::CombatLog @@ -23,8 +25,8 @@ namespace WorldPackets::CombatLog ByteBuffer& operator<<(ByteBuffer& data, CombatWorldTextViewerInfo const& worldTextViewer) { data << worldTextViewer.ViewerGUID; - data.WriteBit(worldTextViewer.ColorType.has_value()); - data.WriteBit(worldTextViewer.ScaleType.has_value()); + data << OptionalInit(worldTextViewer.ColorType); + data << OptionalInit(worldTextViewer.ScaleType); data.FlushBits(); if (worldTextViewer.ColorType) @@ -50,17 +52,17 @@ WorldPacket const* SpellNonMeleeDamageLog::Write() *this << int32(Absorbed); *this << int32(Resisted); *this << int32(ShieldBlock); - *this << uint32(WorldTextViewers.size()); - *this << uint32(Supporters.size()); + *this << Size<uint32>(WorldTextViewers); + *this << Size<uint32>(Supporters); for (Spells::SpellSupportInfo const& supportInfo : Supporters) *this << supportInfo; - WriteBit(Periodic); - WriteBits(Flags, 7); - WriteBit(false); // Debug info + *this << Bits<1>(Periodic); + *this << Bits<7>(Flags); + *this << Bits<1>(false); // Debug info WriteLogDataBit(); - WriteBit(ContentTuning.has_value()); + *this << OptionalInit(ContentTuning); FlushBits(); for (CombatWorldTextViewerInfo const& worldTextViewer : WorldTextViewers) @@ -91,7 +93,7 @@ WorldPacket const* SpellExecuteLog::Write() { *this << Caster; *this << int32(SpellID); - *this << uint32(Effects->size()); + *this << Size<uint32>(*Effects); for (SpellLogEffect const& effect : *Effects) { @@ -163,16 +165,16 @@ WorldPacket const* SpellHealLog::Write() *this << int32(OriginalHeal); *this << int32(OverHeal); *this << int32(Absorbed); - *this << uint32(Supporters.size()); + *this << Size<uint32>(Supporters); for (Spells::SpellSupportInfo const& supportInfo : Supporters) *this << supportInfo; - WriteBit(Crit); - WriteBit(CritRollMade.has_value()); - WriteBit(CritRollNeeded.has_value()); + *this << Bits<1>(Crit); + *this << OptionalInit(CritRollMade); + *this << OptionalInit(CritRollNeeded); WriteLogDataBit(); - WriteBit(ContentTuning.has_value()); + *this << OptionalInit(ContentTuning); FlushBits(); WriteLogData(); @@ -194,7 +196,7 @@ WorldPacket const* SpellPeriodicAuraLog::Write() *this << TargetGUID; *this << CasterGUID; *this << int32(SpellID); - *this << uint32(Effects.size()); + *this << Size<uint32>(Effects); WriteLogDataBit(); FlushBits(); @@ -207,14 +209,14 @@ WorldPacket const* SpellPeriodicAuraLog::Write() *this << int32(effect.SchoolMaskOrPower); *this << int32(effect.AbsorbedOrAmplitude); *this << int32(effect.Resisted); - *this << uint32(effect.Supporters.size()); + *this << Size<uint32>(effect.Supporters); for (Spells::SpellSupportInfo const& supportInfo : effect.Supporters) *this << supportInfo; - WriteBit(effect.Crit); - WriteBit(effect.DebugInfo.has_value()); - WriteBit(effect.ContentTuning.has_value()); + *this << Bits<1>(effect.Crit); + *this << OptionalInit(effect.DebugInfo); + *this << OptionalInit(effect.ContentTuning); FlushBits(); if (effect.ContentTuning) @@ -272,6 +274,7 @@ ByteBuffer& operator<<(ByteBuffer& buffer, SpellLogMissDebug const& missDebug) { buffer << float(missDebug.HitRoll); buffer << float(missDebug.HitRollNeeded); + return buffer; } @@ -279,10 +282,12 @@ ByteBuffer& operator<<(ByteBuffer& buffer, SpellLogMissEntry const& missEntry) { buffer << missEntry.Victim; buffer << uint8(missEntry.MissReason); - if (buffer.WriteBit(missEntry.Debug.has_value())) + buffer << OptionalInit(missEntry.Debug); + if (missEntry.Debug) buffer << *missEntry.Debug; buffer.FlushBits(); + return buffer; } @@ -290,7 +295,7 @@ WorldPacket const* SpellMissLog::Write() { _worldPacket << int32(SpellID); _worldPacket << Caster; - _worldPacket << uint32(Entries.size()); + _worldPacket << Size<uint32>(Entries); for (SpellLogMissEntry const& missEntry : Entries) _worldPacket << missEntry; @@ -302,8 +307,8 @@ WorldPacket const* ProcResist::Write() _worldPacket << Caster; _worldPacket << Target; _worldPacket << int32(SpellID); - _worldPacket.WriteBit(Rolled.has_value()); - _worldPacket.WriteBit(Needed.has_value()); + _worldPacket << OptionalInit(Rolled); + _worldPacket << OptionalInit(Needed); _worldPacket.FlushBits(); if (Rolled) @@ -320,7 +325,7 @@ WorldPacket const* SpellOrDamageImmune::Write() _worldPacket << CasterGUID; _worldPacket << VictimGUID; _worldPacket << uint32(SpellID); - _worldPacket.WriteBit(IsPeriodic); + _worldPacket << Bits<1>(IsPeriodic); _worldPacket.FlushBits(); return &_worldPacket; @@ -398,7 +403,7 @@ WorldPacket const* AttackerStateUpdate::Write() FlushBits(); WriteLogData(); - *this << uint32(attackRoundInfo.size()); + *this << Size<uint32>(attackRoundInfo); _worldPacket.append(attackRoundInfo); _fullLogPacket.append(attackRoundInfo); @@ -408,28 +413,29 @@ WorldPacket const* AttackerStateUpdate::Write() ByteBuffer& operator<<(ByteBuffer& buffer, SpellDispellData const& dispellData) { buffer << int32(dispellData.SpellID); - buffer.WriteBit(dispellData.Harmful); - buffer.WriteBit(dispellData.Rolled.has_value()); - buffer.WriteBit(dispellData.Needed.has_value()); - if (dispellData.Rolled.has_value()) + buffer << Bits<1>(dispellData.Harmful); + buffer << OptionalInit(dispellData.Rolled); + buffer << OptionalInit(dispellData.Needed); + buffer.FlushBits(); + + if (dispellData.Rolled) buffer << int32(*dispellData.Rolled); - if (dispellData.Needed.has_value()) - buffer << int32(*dispellData.Needed); - buffer.FlushBits(); + if (dispellData.Needed) + buffer << int32(*dispellData.Needed); return buffer; } WorldPacket const* SpellDispellLog::Write() { - _worldPacket.WriteBit(IsSteal); - _worldPacket.WriteBit(IsBreak); + _worldPacket << Bits<1>(IsSteal); + _worldPacket << Bits<1>(IsBreak); _worldPacket << TargetGUID; _worldPacket << CasterGUID; _worldPacket << int32(DispelledBySpellID); - _worldPacket << uint32(DispellData.size()); + _worldPacket << Size<uint32>(DispellData); for (SpellDispellData const& data : DispellData) _worldPacket << data; @@ -445,12 +451,12 @@ WorldPacket const* SpellAbsorbLog::Write() *this << Caster; *this << int32(Absorbed); *this << int32(OriginalDamage); - *this << uint32(Supporters.size()); + *this << Size<uint32>(Supporters); for (Spells::SpellSupportInfo const& supportInfo : Supporters) *this << supportInfo; - WriteBit(Crit); + *this << Bits<1>(Crit); WriteLogDataBit(); FlushBits(); WriteLogData(); @@ -467,7 +473,7 @@ WorldPacket const* SpellHealAbsorbLog::Write() _worldPacket << int32(AbsorbedSpellID); _worldPacket << int32(Absorbed); _worldPacket << int32(OriginalHeal); - _worldPacket.WriteBit(ContentTuning.has_value()); + _worldPacket << OptionalInit(ContentTuning); _worldPacket.FlushBits(); if (ContentTuning) diff --git a/src/server/game/Server/Packets/CombatLogPackets.h b/src/server/game/Server/Packets/CombatLogPackets.h index bdfca74c4f6..303cd14ae00 100644 --- a/src/server/game/Server/Packets/CombatLogPackets.h +++ b/src/server/game/Server/Packets/CombatLogPackets.h @@ -15,12 +15,13 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef CombatLogPackets_h__ -#define CombatLogPackets_h__ +#ifndef TRINITYCORE_COMBAT_LOG_PACKETS_H +#define TRINITYCORE_COMBAT_LOG_PACKETS_H #include "CombatLogPacketsCommon.h" #include "Optional.h" -#include "Spell.h" + +struct SpellLogEffect; namespace WorldPackets { @@ -36,7 +37,7 @@ namespace WorldPackets class SpellNonMeleeDamageLog final : public CombatLogServerPacket { public: - SpellNonMeleeDamageLog() : CombatLogServerPacket(SMSG_SPELL_NON_MELEE_DAMAGE_LOG, 60) { } + explicit SpellNonMeleeDamageLog() : CombatLogServerPacket(SMSG_SPELL_NON_MELEE_DAMAGE_LOG, 60) { } WorldPacket const* Write() override; @@ -63,7 +64,7 @@ namespace WorldPackets class EnvironmentalDamageLog final : public CombatLogServerPacket { public: - EnvironmentalDamageLog() : CombatLogServerPacket(SMSG_ENVIRONMENTAL_DAMAGE_LOG, 23) { } + explicit EnvironmentalDamageLog() : CombatLogServerPacket(SMSG_ENVIRONMENTAL_DAMAGE_LOG, 23) { } WorldPacket const* Write() override; @@ -77,7 +78,7 @@ namespace WorldPackets class SpellExecuteLog final : public CombatLogServerPacket { public: - SpellExecuteLog() : CombatLogServerPacket(SMSG_SPELL_EXECUTE_LOG, 16 + 4 + 4 + 1) { } + explicit SpellExecuteLog() : CombatLogServerPacket(SMSG_SPELL_EXECUTE_LOG, 16 + 4 + 4 + 1) { } WorldPacket const* Write() override; @@ -89,7 +90,7 @@ namespace WorldPackets class SpellHealLog final : public CombatLogServerPacket { public: - SpellHealLog() : CombatLogServerPacket(SMSG_SPELL_HEAL_LOG, 16 + 16 + 4 * 5 + 1) { } + explicit SpellHealLog() : CombatLogServerPacket(SMSG_SPELL_HEAL_LOG, 16 + 16 + 4 * 5 + 1) { } WorldPacket const* Write() override; @@ -131,7 +132,7 @@ namespace WorldPackets std::vector<Spells::SpellSupportInfo> Supporters; }; - SpellPeriodicAuraLog() : CombatLogServerPacket(SMSG_SPELL_PERIODIC_AURA_LOG, 16 + 16 + 4 + 4 + 1) { } + explicit SpellPeriodicAuraLog() : CombatLogServerPacket(SMSG_SPELL_PERIODIC_AURA_LOG, 16 + 16 + 4 + 4 + 1) { } WorldPacket const* Write() override; @@ -144,7 +145,7 @@ namespace WorldPackets class SpellInterruptLog final : public ServerPacket { public: - SpellInterruptLog() : ServerPacket(SMSG_SPELL_INTERRUPT_LOG, 16 + 16 + 4 + 4) { } + explicit SpellInterruptLog() : ServerPacket(SMSG_SPELL_INTERRUPT_LOG, 16 + 16 + 4 + 4) { } WorldPacket const* Write() override; @@ -165,7 +166,7 @@ namespace WorldPackets class SpellDispellLog : public ServerPacket { public: - SpellDispellLog() : ServerPacket(SMSG_SPELL_DISPELL_LOG, 1 + 16 + 16 + 4 + 4 + 20) { } + explicit SpellDispellLog() : ServerPacket(SMSG_SPELL_DISPELL_LOG, 1 + 16 + 16 + 4 + 4 + 20) { } WorldPacket const* Write() override; @@ -180,7 +181,7 @@ namespace WorldPackets class SpellEnergizeLog final : public CombatLogServerPacket { public: - SpellEnergizeLog() : CombatLogServerPacket(SMSG_SPELL_ENERGIZE_LOG, 16 + 16 + 4 + 4 + 4 + 1) { } + explicit SpellEnergizeLog() : CombatLogServerPacket(SMSG_SPELL_ENERGIZE_LOG, 16 + 16 + 4 + 4 + 4 + 1) { } WorldPacket const* Write() override; @@ -195,7 +196,7 @@ namespace WorldPackets class TC_GAME_API SpellInstakillLog final : public ServerPacket { public: - SpellInstakillLog() : ServerPacket(SMSG_SPELL_INSTAKILL_LOG, 16 + 16 + 4) { } + explicit SpellInstakillLog() : ServerPacket(SMSG_SPELL_INSTAKILL_LOG, 16 + 16 + 4) { } WorldPacket const* Write() override; @@ -222,7 +223,7 @@ namespace WorldPackets class SpellMissLog final : public ServerPacket { public: - SpellMissLog() : ServerPacket(SMSG_SPELL_MISS_LOG) { } + explicit SpellMissLog() : ServerPacket(SMSG_SPELL_MISS_LOG) { } WorldPacket const* Write() override; @@ -234,7 +235,7 @@ namespace WorldPackets class ProcResist final : public ServerPacket { public: - ProcResist() : ServerPacket(SMSG_PROC_RESIST, 16 + 4 + 4 + 4 + 16) { } + explicit ProcResist() : ServerPacket(SMSG_PROC_RESIST, 16 + 4 + 4 + 4 + 16) { } WorldPacket const* Write() override; @@ -248,7 +249,7 @@ namespace WorldPackets class SpellOrDamageImmune final : public ServerPacket { public: - SpellOrDamageImmune() : ServerPacket(SMSG_SPELL_OR_DAMAGE_IMMUNE, 16 + 1 + 4 + 16) { } + explicit SpellOrDamageImmune() : ServerPacket(SMSG_SPELL_OR_DAMAGE_IMMUNE, 16 + 1 + 4 + 16) { } WorldPacket const* Write() override; @@ -261,7 +262,7 @@ namespace WorldPackets class SpellDamageShield final : public CombatLogServerPacket { public: - SpellDamageShield() : CombatLogServerPacket(SMSG_SPELL_DAMAGE_SHIELD, 4 + 16 + 4 + 4 + 16 + 4 + 4 + 1) { } + explicit SpellDamageShield() : CombatLogServerPacket(SMSG_SPELL_DAMAGE_SHIELD, 4 + 16 + 4 + 4 + 16 + 4 + 4 + 1) { } WorldPacket const* Write() override; @@ -303,7 +304,7 @@ namespace WorldPackets class AttackerStateUpdate final : public CombatLogServerPacket { public: - AttackerStateUpdate() : CombatLogServerPacket(SMSG_ATTACKER_STATE_UPDATE, 70) { } + explicit AttackerStateUpdate() : CombatLogServerPacket(SMSG_ATTACKER_STATE_UPDATE, 70) { } WorldPacket const* Write() override; @@ -327,7 +328,7 @@ namespace WorldPackets class SpellAbsorbLog final : public CombatLogServerPacket { public: - SpellAbsorbLog() : CombatLogServerPacket(SMSG_SPELL_ABSORB_LOG, 100) { } + explicit SpellAbsorbLog() : CombatLogServerPacket(SMSG_SPELL_ABSORB_LOG, 100) { } WorldPacket const* Write() override; @@ -345,7 +346,7 @@ namespace WorldPackets class SpellHealAbsorbLog final : public ServerPacket { public: - SpellHealAbsorbLog() : ServerPacket(SMSG_SPELL_HEAL_ABSORB_LOG, 100) { } + explicit SpellHealAbsorbLog() : ServerPacket(SMSG_SPELL_HEAL_ABSORB_LOG, 100) { } WorldPacket const* Write() override; @@ -361,4 +362,4 @@ namespace WorldPackets } } -#endif // CombatLogPackets_h__ +#endif // TRINITYCORE_COMBAT_LOG_PACKETS_H diff --git a/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp b/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp index 8571eb02f74..83d229a1833 100644 --- a/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp +++ b/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp @@ -24,9 +24,7 @@ #include "SpellInfo.h" #include "Unit.h" -namespace WorldPackets -{ -namespace Spells +namespace WorldPackets::Spells { void SpellCastLogData::Initialize(Unit const* unit) { @@ -188,8 +186,9 @@ ByteBuffer& operator<<(ByteBuffer& data, ContentTuningParams const& contentTunin data << int32(contentTuningParams.PlayerContentTuningID); data << int32(contentTuningParams.TargetContentTuningID); data << int32(contentTuningParams.Unused927); - data.WriteBits(contentTuningParams.Type, 4); + data << Bits<4>(contentTuningParams.Type); data.FlushBits(); + return data; } @@ -219,9 +218,11 @@ ByteBuffer& operator<<(ByteBuffer& data, SpellSupportInfo const& supportInfo) return data; } } -} -ByteBuffer& WorldPackets::CombatLog::CombatLogServerPacket::WriteLogData() +namespace WorldPackets::CombatLog +{ +ByteBuffer& CombatLogServerPacket::WriteLogData() { return _fullLogPacket << LogData; } +} diff --git a/src/server/game/Server/Packets/CombatLogPacketsCommon.h b/src/server/game/Server/Packets/CombatLogPacketsCommon.h index 28088cf2e2d..69b0c031470 100644 --- a/src/server/game/Server/Packets/CombatLogPacketsCommon.h +++ b/src/server/game/Server/Packets/CombatLogPacketsCommon.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef CombatLogPacketsCommon_h__ -#define CombatLogPacketsCommon_h__ +#ifndef TRINITYCORE_COMBAT_LOG_PACKETS_COMMON_H +#define TRINITYCORE_COMBAT_LOG_PACKETS_COMMON_H #include "ObjectGuid.h" #include "Packet.h" @@ -120,7 +120,7 @@ namespace WorldPackets Spells::SpellCastLogData LogData; protected: - template<typename T> + template <typename T> void operator<<(T const& val) { _worldPacket << val; @@ -139,19 +139,6 @@ namespace WorldPackets _fullLogPacket.FlushBits(); } - bool WriteBit(bool bit) - { - _worldPacket.WriteBit(bit); - _fullLogPacket.WriteBit(bit); - return bit; - } - - void WriteBits(uint32 value, uint32 bitCount) - { - _worldPacket.WriteBits(value, bitCount); - _fullLogPacket.WriteBits(value, bitCount); - } - ByteBuffer& WriteLogData(); WorldPacket _fullLogPacket; @@ -159,4 +146,4 @@ namespace WorldPackets } } -#endif // CombatLogPacketsCommon_h__ +#endif // TRINITYCORE_COMBAT_LOG_PACKETS_COMMON_H diff --git a/src/server/game/Server/Packets/CombatPackets.cpp b/src/server/game/Server/Packets/CombatPackets.cpp index e3cdc24797d..d88b7c889e1 100644 --- a/src/server/game/Server/Packets/CombatPackets.cpp +++ b/src/server/game/Server/Packets/CombatPackets.cpp @@ -16,14 +16,16 @@ */ #include "CombatPackets.h" -#include "Unit.h" +#include "PacketUtilities.h" -void WorldPackets::Combat::AttackSwing::Read() +namespace WorldPackets::Combat +{ +void AttackSwing::Read() { _worldPacket >> Victim; } -WorldPacket const* WorldPackets::Combat::AttackStart::Write() +WorldPacket const* AttackStart::Write() { _worldPacket << Attacker; _worldPacket << Victim; @@ -31,31 +33,21 @@ WorldPacket const* WorldPackets::Combat::AttackStart::Write() return &_worldPacket; } -WorldPackets::Combat::SAttackStop::SAttackStop(Unit const* attacker, Unit const* victim) : ServerPacket(SMSG_ATTACK_STOP, 16 + 16 + 1) -{ - Attacker = attacker->GetGUID(); - if (victim) - { - Victim = victim->GetGUID(); - NowDead = !victim->IsAlive(); // using isAlive instead of isDead to catch JUST_DIED death states as well - } -} - -WorldPacket const* WorldPackets::Combat::SAttackStop::Write() +WorldPacket const* SAttackStop::Write() { _worldPacket << Attacker; _worldPacket << Victim; - _worldPacket.WriteBit(NowDead); + _worldPacket << Bits<1>(NowDead); _worldPacket.FlushBits(); return &_worldPacket; } -WorldPacket const* WorldPackets::Combat::ThreatUpdate::Write() +WorldPacket const* ThreatUpdate::Write() { _worldPacket << UnitGUID; - _worldPacket << int32(ThreatList.size()); - for (WorldPackets::Combat::ThreatInfo const& threatInfo : ThreatList) + _worldPacket << Size<uint32>(ThreatList); + for (ThreatInfo const& threatInfo : ThreatList) { _worldPacket << threatInfo.UnitGUID; _worldPacket << int64(threatInfo.Threat); @@ -64,12 +56,12 @@ WorldPacket const* WorldPackets::Combat::ThreatUpdate::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Combat::HighestThreatUpdate::Write() +WorldPacket const* HighestThreatUpdate::Write() { _worldPacket << UnitGUID; _worldPacket << HighestThreatGUID; - _worldPacket << int32(ThreatList.size()); - for (WorldPackets::Combat::ThreatInfo const& threatInfo : ThreatList) + _worldPacket << Size<uint32>(ThreatList); + for (ThreatInfo const& threatInfo : ThreatList) { _worldPacket << threatInfo.UnitGUID; _worldPacket << int64(threatInfo.Threat); @@ -78,7 +70,7 @@ WorldPacket const* WorldPackets::Combat::HighestThreatUpdate::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Combat::ThreatRemove::Write() +WorldPacket const* ThreatRemove::Write() { _worldPacket << UnitGUID; _worldPacket << AboutGUID; @@ -86,7 +78,7 @@ WorldPacket const* WorldPackets::Combat::ThreatRemove::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Combat::AIReaction::Write() +WorldPacket const* AIReaction::Write() { _worldPacket << UnitGUID; _worldPacket << Reaction; @@ -94,17 +86,18 @@ WorldPacket const* WorldPackets::Combat::AIReaction::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Combat::AttackSwingError::Write() +WorldPacket const* AttackSwingError::Write() { - _worldPacket.WriteBits(AsUnderlyingType(Reason), 3); + _worldPacket << Bits<3>(Reason); _worldPacket.FlushBits(); + return &_worldPacket; } -WorldPacket const* WorldPackets::Combat::PowerUpdate::Write() +WorldPacket const* PowerUpdate::Write() { _worldPacket << Guid; - _worldPacket << uint32(Powers.size()); + _worldPacket << Size<uint32>(Powers); for (PowerUpdatePower const& power : Powers) { _worldPacket << uint8(power.PowerType); @@ -114,27 +107,27 @@ WorldPacket const* WorldPackets::Combat::PowerUpdate::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Combat::InterruptPowerRegen::Write() +WorldPacket const* InterruptPowerRegen::Write() { _worldPacket << int8(PowerType); return &_worldPacket; } -void WorldPackets::Combat::SetSheathed::Read() +void SetSheathed::Read() { _worldPacket >> CurrentSheathState; - Animate = _worldPacket.ReadBit(); + _worldPacket >> Bits<1>(Animate); } -WorldPacket const* WorldPackets::Combat::CancelAutoRepeat::Write() +WorldPacket const* CancelAutoRepeat::Write() { _worldPacket << Guid; return &_worldPacket; } -WorldPacket const* WorldPackets::Combat::HealthUpdate::Write() +WorldPacket const* HealthUpdate::Write() { _worldPacket << Guid; _worldPacket << int64(Health); @@ -142,13 +135,14 @@ WorldPacket const* WorldPackets::Combat::HealthUpdate::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Combat::ThreatClear::Write() +WorldPacket const* ThreatClear::Write() { _worldPacket << UnitGUID; + return &_worldPacket; } -WorldPacket const* WorldPackets::Combat::PvPCredit::Write() +WorldPacket const* PvPCredit::Write() { _worldPacket << int32(OriginalHonor); _worldPacket << int32(Honor); @@ -158,9 +152,10 @@ WorldPacket const* WorldPackets::Combat::PvPCredit::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Combat::BreakTarget::Write() +WorldPacket const* BreakTarget::Write() { _worldPacket << UnitGUID; return &_worldPacket; } +} diff --git a/src/server/game/Server/Packets/CombatPackets.h b/src/server/game/Server/Packets/CombatPackets.h index b42ff16a382..555a13442c5 100644 --- a/src/server/game/Server/Packets/CombatPackets.h +++ b/src/server/game/Server/Packets/CombatPackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef CombatPackets_h__ -#define CombatPackets_h__ +#ifndef TRINITYCORE_COMBAT_PACKETS_H +#define TRINITYCORE_COMBAT_PACKETS_H #include "Packet.h" #include "ObjectGuid.h" @@ -32,7 +32,7 @@ namespace WorldPackets class AttackSwing final : public ClientPacket { public: - AttackSwing(WorldPacket&& packet) : ClientPacket(CMSG_ATTACK_SWING, std::move(packet)) { } + explicit AttackSwing(WorldPacket&& packet) : ClientPacket(CMSG_ATTACK_SWING, std::move(packet)) { } void Read() override; @@ -42,8 +42,8 @@ namespace WorldPackets class AttackSwingError final : public ServerPacket { public: - AttackSwingError() : ServerPacket(SMSG_ATTACK_SWING_ERROR, 4) { } - AttackSwingError(AttackSwingErr reason) : ServerPacket(SMSG_ATTACK_SWING_ERROR, 4), Reason(reason) { } + explicit AttackSwingError() : ServerPacket(SMSG_ATTACK_SWING_ERROR, 4) { } + explicit AttackSwingError(AttackSwingErr reason) : ServerPacket(SMSG_ATTACK_SWING_ERROR, 4), Reason(reason) { } WorldPacket const* Write() override; @@ -53,7 +53,7 @@ namespace WorldPackets class AttackStop final : public ClientPacket { public: - AttackStop(WorldPacket&& packet) : ClientPacket(CMSG_ATTACK_STOP, std::move(packet)) { } + explicit AttackStop(WorldPacket&& packet) : ClientPacket(CMSG_ATTACK_STOP, std::move(packet)) { } void Read() override { } }; @@ -61,7 +61,7 @@ namespace WorldPackets class AttackStart final : public ServerPacket { public: - AttackStart() : ServerPacket(SMSG_ATTACK_START, 16) { } + explicit AttackStart() : ServerPacket(SMSG_ATTACK_START, 16) { } WorldPacket const* Write() override; @@ -72,8 +72,7 @@ namespace WorldPackets class SAttackStop final : public ServerPacket { public: - SAttackStop() : ServerPacket(SMSG_ATTACK_STOP, 16 + 16 + 1) { } - SAttackStop(Unit const* attacker, Unit const* victim); + explicit SAttackStop() : ServerPacket(SMSG_ATTACK_STOP, 16 + 16 + 1) { } WorldPacket const* Write() override; @@ -91,7 +90,7 @@ namespace WorldPackets class ThreatUpdate final : public ServerPacket { public: - ThreatUpdate() : ServerPacket(SMSG_THREAT_UPDATE, 24) { } + explicit ThreatUpdate() : ServerPacket(SMSG_THREAT_UPDATE, 24) { } WorldPacket const* Write() override; @@ -102,7 +101,7 @@ namespace WorldPackets class HighestThreatUpdate final : public ServerPacket { public: - HighestThreatUpdate() : ServerPacket(SMSG_HIGHEST_THREAT_UPDATE, 44) { } + explicit HighestThreatUpdate() : ServerPacket(SMSG_HIGHEST_THREAT_UPDATE, 44) { } WorldPacket const* Write() override; @@ -114,7 +113,7 @@ namespace WorldPackets class ThreatRemove final : public ServerPacket { public: - ThreatRemove() : ServerPacket(SMSG_THREAT_REMOVE, 16) { } + explicit ThreatRemove() : ServerPacket(SMSG_THREAT_REMOVE, 16) { } WorldPacket const* Write() override; @@ -125,7 +124,7 @@ namespace WorldPackets class AIReaction final : public ServerPacket { public: - AIReaction() : ServerPacket(SMSG_AI_REACTION, 12) { } + explicit AIReaction() : ServerPacket(SMSG_AI_REACTION, 12) { } WorldPacket const* Write() override; @@ -136,7 +135,7 @@ namespace WorldPackets class CancelCombat final : public ServerPacket { public: - CancelCombat() : ServerPacket(SMSG_CANCEL_COMBAT, 0) { } + explicit CancelCombat() : ServerPacket(SMSG_CANCEL_COMBAT, 0) { } WorldPacket const* Write() override { return &_worldPacket; } }; @@ -152,7 +151,7 @@ namespace WorldPackets class PowerUpdate final : public ServerPacket { public: - PowerUpdate() : ServerPacket(SMSG_POWER_UPDATE, 16 + 4 + 1) { } + explicit PowerUpdate() : ServerPacket(SMSG_POWER_UPDATE, 16 + 4 + 1) { } WorldPacket const* Write() override; @@ -173,7 +172,7 @@ namespace WorldPackets class SetSheathed final : public ClientPacket { public: - SetSheathed(WorldPacket&& packet) : ClientPacket(CMSG_SET_SHEATHED, std::move(packet)) { } + explicit SetSheathed(WorldPacket&& packet) : ClientPacket(CMSG_SET_SHEATHED, std::move(packet)) { } void Read() override; @@ -184,7 +183,7 @@ namespace WorldPackets class CancelAutoRepeat final : public ServerPacket { public: - CancelAutoRepeat() : ServerPacket(SMSG_CANCEL_AUTO_REPEAT, 16) { } + explicit CancelAutoRepeat() : ServerPacket(SMSG_CANCEL_AUTO_REPEAT, 16) { } WorldPacket const* Write() override; @@ -194,7 +193,7 @@ namespace WorldPackets class HealthUpdate final : public ServerPacket { public: - HealthUpdate() : ServerPacket(SMSG_HEALTH_UPDATE, 16 + 4) { } + explicit HealthUpdate() : ServerPacket(SMSG_HEALTH_UPDATE, 16 + 4) { } WorldPacket const* Write() override; @@ -205,7 +204,7 @@ namespace WorldPackets class ThreatClear final : public ServerPacket { public: - ThreatClear() : ServerPacket(SMSG_THREAT_CLEAR, 16) { } + explicit ThreatClear() : ServerPacket(SMSG_THREAT_CLEAR, 16) { } WorldPacket const* Write() override; @@ -215,7 +214,7 @@ namespace WorldPackets class PvPCredit final : public ServerPacket { public: - PvPCredit() : ServerPacket(SMSG_PVP_CREDIT, 4 + 16 + 4) { } + explicit PvPCredit() : ServerPacket(SMSG_PVP_CREDIT, 4 + 16 + 4) { } WorldPacket const* Write() override; @@ -228,7 +227,7 @@ namespace WorldPackets class BreakTarget final : public ServerPacket { public: - BreakTarget() : ServerPacket(SMSG_BREAK_TARGET, 16) { } + explicit BreakTarget() : ServerPacket(SMSG_BREAK_TARGET, 16) { } WorldPacket const* Write() override; @@ -237,4 +236,4 @@ namespace WorldPackets } } -#endif // CombatPackets_h__ +#endif // TRINITYCORE_COMBAT_PACKETS_H diff --git a/src/server/game/Server/Packets/CraftingPacketsCommon.cpp b/src/server/game/Server/Packets/CraftingPacketsCommon.cpp index ee03eedbb75..7be2b4b3b61 100644 --- a/src/server/game/Server/Packets/CraftingPacketsCommon.cpp +++ b/src/server/game/Server/Packets/CraftingPacketsCommon.cpp @@ -39,7 +39,7 @@ ByteBuffer& operator<<(ByteBuffer& data, CraftingData const& craftingData) data << int32(craftingData.CritBonusSkill); data << float(craftingData.field_1C); data << uint64(craftingData.field_20); - data << uint32(craftingData.ResourcesReturned.size()); + data << Size<uint32>(craftingData.ResourcesReturned); data << uint32(craftingData.OperationID); data << craftingData.ItemGUID; data << int32(craftingData.Quantity); diff --git a/src/server/game/Server/Packets/DuelPackets.cpp b/src/server/game/Server/Packets/DuelPackets.cpp index 182a687e418..43e572cdd18 100644 --- a/src/server/game/Server/Packets/DuelPackets.cpp +++ b/src/server/game/Server/Packets/DuelPackets.cpp @@ -16,64 +16,68 @@ */ #include "DuelPackets.h" +#include "PacketUtilities.h" -void WorldPackets::Duel::CanDuel::Read() +namespace WorldPackets::Duel +{ +void CanDuel::Read() { _worldPacket >> TargetGUID; - ToTheDeath = _worldPacket.ReadBit(); + _worldPacket >> Bits<1>(ToTheDeath); } -WorldPacket const* WorldPackets::Duel::CanDuelResult::Write() +WorldPacket const* CanDuelResult::Write() { _worldPacket << TargetGUID; - _worldPacket.WriteBit(Result); + _worldPacket << Bits<1>(Result); _worldPacket.FlushBits(); return &_worldPacket; } -WorldPacket const* WorldPackets::Duel::DuelComplete::Write() +WorldPacket const* DuelComplete::Write() { - _worldPacket.WriteBit(Started); + _worldPacket << Bits<1>(Started); _worldPacket.FlushBits(); return &_worldPacket; } -WorldPacket const* WorldPackets::Duel::DuelCountdown::Write() +WorldPacket const* DuelCountdown::Write() { _worldPacket << uint32(Countdown); return &_worldPacket; } -WorldPacket const* WorldPackets::Duel::DuelRequested::Write() +WorldPacket const* DuelRequested::Write() { _worldPacket << ArbiterGUID; _worldPacket << RequestedByGUID; _worldPacket << RequestedByWowAccount; - _worldPacket.WriteBit(ToTheDeath); + _worldPacket << Bits<1>(ToTheDeath); _worldPacket.FlushBits(); return &_worldPacket; } -void WorldPackets::Duel::DuelResponse::Read() +void DuelResponse::Read() { _worldPacket >> ArbiterGUID; - Accepted = _worldPacket.ReadBit(); - Forfeited = _worldPacket.ReadBit(); + _worldPacket >> Bits<1>(Accepted); + _worldPacket >> Bits<1>(Forfeited); } -WorldPacket const* WorldPackets::Duel::DuelWinner::Write() +WorldPacket const* DuelWinner::Write() { - _worldPacket.WriteBits(BeatenName.size(), 6); - _worldPacket.WriteBits(WinnerName.size(), 6); - _worldPacket.WriteBit(Fled); + _worldPacket << SizedString::BitsSize<6>(BeatenName); + _worldPacket << SizedString::BitsSize<6>(WinnerName); + _worldPacket << Bits<1>(Fled); _worldPacket << uint32(BeatenVirtualRealmAddress); _worldPacket << uint32(WinnerVirtualRealmAddress); - _worldPacket.WriteString(BeatenName); - _worldPacket.WriteString(WinnerName); + _worldPacket << SizedString::Data(BeatenName); + _worldPacket << SizedString::Data(WinnerName); return &_worldPacket; } +} diff --git a/src/server/game/Server/Packets/DuelPackets.h b/src/server/game/Server/Packets/DuelPackets.h index 84893a4f623..efa8b970d11 100644 --- a/src/server/game/Server/Packets/DuelPackets.h +++ b/src/server/game/Server/Packets/DuelPackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef DuelPackets_h__ -#define DuelPackets_h__ +#ifndef TRINITYCORE_DUEL_PACKETS_H +#define TRINITYCORE_DUEL_PACKETS_H #include "Packet.h" #include "ObjectGuid.h" @@ -28,7 +28,7 @@ namespace WorldPackets class CanDuel final : public ClientPacket { public: - CanDuel(WorldPacket&& packet) : ClientPacket(CMSG_CAN_DUEL, std::move(packet)) { } + explicit CanDuel(WorldPacket&& packet) : ClientPacket(CMSG_CAN_DUEL, std::move(packet)) { } void Read() override; @@ -39,7 +39,7 @@ namespace WorldPackets class CanDuelResult final : public ServerPacket { public: - CanDuelResult() : ServerPacket(SMSG_CAN_DUEL_RESULT, 16 + 1) { } + explicit CanDuelResult() : ServerPacket(SMSG_CAN_DUEL_RESULT, 16 + 1) { } WorldPacket const* Write() override; @@ -50,7 +50,7 @@ namespace WorldPackets class DuelComplete final : public ServerPacket { public: - DuelComplete() : ServerPacket(SMSG_DUEL_COMPLETE, 1) { } + explicit DuelComplete() : ServerPacket(SMSG_DUEL_COMPLETE, 1) { } WorldPacket const* Write() override; @@ -60,7 +60,7 @@ namespace WorldPackets class DuelCountdown final : public ServerPacket { public: - DuelCountdown(uint32 countdown) : ServerPacket(SMSG_DUEL_COUNTDOWN, 4), Countdown(countdown) { } + explicit DuelCountdown(uint32 countdown) : ServerPacket(SMSG_DUEL_COUNTDOWN, 4), Countdown(countdown) { } WorldPacket const* Write() override; @@ -70,7 +70,7 @@ namespace WorldPackets class DuelInBounds final : public ServerPacket { public: - DuelInBounds() : ServerPacket(SMSG_DUEL_IN_BOUNDS, 0) { } + explicit DuelInBounds() : ServerPacket(SMSG_DUEL_IN_BOUNDS, 0) { } WorldPacket const* Write() override { return &_worldPacket; } }; @@ -78,7 +78,7 @@ namespace WorldPackets class DuelOutOfBounds final : public ServerPacket { public: - DuelOutOfBounds() : ServerPacket(SMSG_DUEL_OUT_OF_BOUNDS, 0) { } + explicit DuelOutOfBounds() : ServerPacket(SMSG_DUEL_OUT_OF_BOUNDS, 0) { } WorldPacket const* Write() override { return &_worldPacket; } }; @@ -86,7 +86,7 @@ namespace WorldPackets class DuelRequested final : public ServerPacket { public: - DuelRequested() : ServerPacket(SMSG_DUEL_REQUESTED, 16 * 3 + 1) { } + explicit DuelRequested() : ServerPacket(SMSG_DUEL_REQUESTED, 16 * 3 + 1) { } WorldPacket const* Write() override; @@ -99,7 +99,7 @@ namespace WorldPackets class DuelResponse : public ClientPacket { public: - DuelResponse(WorldPacket&& packet) : ClientPacket(CMSG_DUEL_RESPONSE, std::move(packet)) { } + explicit DuelResponse(WorldPacket&& packet) : ClientPacket(CMSG_DUEL_RESPONSE, std::move(packet)) { } void Read() override; @@ -111,7 +111,7 @@ namespace WorldPackets class DuelWinner final : public ServerPacket { public: - DuelWinner() : ServerPacket(SMSG_DUEL_WINNER, 4 * 4 + 1) { } + explicit DuelWinner() : ServerPacket(SMSG_DUEL_WINNER, 4 * 4 + 1) { } WorldPacket const* Write() override; @@ -124,4 +124,4 @@ namespace WorldPackets } } -#endif // DuelPackets_h__ +#endif // TRINITYCORE_DUEL_PACKETS_H diff --git a/src/server/game/Server/Packets/EquipmentSetPackets.cpp b/src/server/game/Server/Packets/EquipmentSetPackets.cpp index f8423393343..e4f8b33ca56 100644 --- a/src/server/game/Server/Packets/EquipmentSetPackets.cpp +++ b/src/server/game/Server/Packets/EquipmentSetPackets.cpp @@ -17,7 +17,9 @@ #include "EquipmentSetPackets.h" -WorldPacket const* WorldPackets::EquipmentSet::EquipmentSetID::Write() +namespace WorldPackets::EquipmentSet +{ +WorldPacket const* EquipmentSetID::Write() { _worldPacket << int32(Type); _worldPacket << uint32(SetID); @@ -26,9 +28,9 @@ WorldPacket const* WorldPackets::EquipmentSet::EquipmentSetID::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::EquipmentSet::LoadEquipmentSet::Write() +WorldPacket const* LoadEquipmentSet::Write() { - _worldPacket << uint32(SetData.size()); + _worldPacket << Size<uint32>(SetData); for (EquipmentSetInfo::EquipmentSetData const* equipSet : SetData) { @@ -50,22 +52,22 @@ WorldPacket const* WorldPackets::EquipmentSet::LoadEquipmentSet::Write() _worldPacket << int32(equipSet->SecondaryWeaponAppearanceID); _worldPacket << int32(equipSet->SecondaryWeaponSlot); - _worldPacket.WriteBit(equipSet->AssignedSpecIndex != -1); - _worldPacket.WriteBits(equipSet->SetName.length(), 8); - _worldPacket.WriteBits(equipSet->SetIcon.length(), 9); + _worldPacket << OptionalInit(equipSet->AssignedSpecIndex); + _worldPacket << SizedString::BitsSize<8>(equipSet->SetName); + _worldPacket << SizedString::BitsSize<9>(equipSet->SetIcon); _worldPacket.FlushBits(); - if (equipSet->AssignedSpecIndex != -1) - _worldPacket << int32(equipSet->AssignedSpecIndex); + if (equipSet->AssignedSpecIndex) + _worldPacket << int32(*equipSet->AssignedSpecIndex); - _worldPacket.WriteString(equipSet->SetName); - _worldPacket.WriteString(equipSet->SetIcon); + _worldPacket << SizedString::Data(equipSet->SetName); + _worldPacket << SizedString::Data(equipSet->SetIcon); } return &_worldPacket; } -void WorldPackets::EquipmentSet::SaveEquipmentSet::Read() +void SaveEquipmentSet::Read() { _worldPacket >> As<int32>(Set.Type); _worldPacket >> Set.Guid; @@ -86,24 +88,23 @@ void WorldPackets::EquipmentSet::SaveEquipmentSet::Read() _worldPacket >> Set.SecondaryWeaponAppearanceID; _worldPacket >> Set.SecondaryWeaponSlot; - bool hasSpecIndex = _worldPacket.ReadBit(); - - uint32 setNameLength = _worldPacket.ReadBits(8); - uint32 setIconLength = _worldPacket.ReadBits(9); + _worldPacket >> OptionalInit(Set.AssignedSpecIndex); + _worldPacket >> SizedString::BitsSize<8>(Set.SetName); + _worldPacket >> SizedString::BitsSize<9>(Set.SetIcon); - if (hasSpecIndex) - _worldPacket >> Set.AssignedSpecIndex; + if (Set.AssignedSpecIndex) + _worldPacket >> *Set.AssignedSpecIndex; - Set.SetName = _worldPacket.ReadString(setNameLength); - Set.SetIcon = _worldPacket.ReadString(setIconLength); + _worldPacket >> SizedString::Data(Set.SetName); + _worldPacket >> SizedString::Data(Set.SetIcon); } -void WorldPackets::EquipmentSet::DeleteEquipmentSet::Read() +void DeleteEquipmentSet::Read() { _worldPacket >> ID; } -void WorldPackets::EquipmentSet::UseEquipmentSet::Read() +void UseEquipmentSet::Read() { _worldPacket >> Inv; @@ -117,10 +118,11 @@ void WorldPackets::EquipmentSet::UseEquipmentSet::Read() _worldPacket >> GUID; } -WorldPacket const* WorldPackets::EquipmentSet::UseEquipmentSetResult::Write() +WorldPacket const* UseEquipmentSetResult::Write() { _worldPacket << int32(Reason); _worldPacket << uint64(GUID); return &_worldPacket; } +} diff --git a/src/server/game/Server/Packets/EquipmentSetPackets.h b/src/server/game/Server/Packets/EquipmentSetPackets.h index ed4165b4236..1c3d8454511 100644 --- a/src/server/game/Server/Packets/EquipmentSetPackets.h +++ b/src/server/game/Server/Packets/EquipmentSetPackets.h @@ -15,7 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#pragma once +#ifndef TRINITYCORE_EQUIPMENT_SET_PACKETS_H +#define TRINITYCORE_EQUIPMENT_SET_PACKETS_H #include "Packet.h" #include "EquipmentSet.h" @@ -28,7 +29,7 @@ namespace WorldPackets class EquipmentSetID final : public ServerPacket { public: - EquipmentSetID() : ServerPacket(SMSG_EQUIPMENT_SET_ID, 8 + 4 + 4) { } + explicit EquipmentSetID() : ServerPacket(SMSG_EQUIPMENT_SET_ID, 8 + 4 + 4) { } WorldPacket const* Write() override; @@ -40,7 +41,7 @@ namespace WorldPackets class LoadEquipmentSet final : public ServerPacket { public: - LoadEquipmentSet() : ServerPacket(SMSG_LOAD_EQUIPMENT_SET, 4) { } + explicit LoadEquipmentSet() : ServerPacket(SMSG_LOAD_EQUIPMENT_SET, 4) { } WorldPacket const* Write() override; @@ -50,7 +51,7 @@ namespace WorldPackets class SaveEquipmentSet final : public ClientPacket { public: - SaveEquipmentSet(WorldPacket&& packet) : ClientPacket(CMSG_SAVE_EQUIPMENT_SET, std::move(packet)) { } + explicit SaveEquipmentSet(WorldPacket&& packet) : ClientPacket(CMSG_SAVE_EQUIPMENT_SET, std::move(packet)) { } void Read() override; @@ -60,7 +61,7 @@ namespace WorldPackets class DeleteEquipmentSet final : public ClientPacket { public: - DeleteEquipmentSet(WorldPacket&& packet) : ClientPacket(CMSG_DELETE_EQUIPMENT_SET, std::move(packet)) { } + explicit DeleteEquipmentSet(WorldPacket&& packet) : ClientPacket(CMSG_DELETE_EQUIPMENT_SET, std::move(packet)) { } void Read() override; @@ -70,7 +71,7 @@ namespace WorldPackets class UseEquipmentSet final : public ClientPacket { public: - UseEquipmentSet(WorldPacket&& packet) : ClientPacket(CMSG_USE_EQUIPMENT_SET, std::move(packet)) { } + explicit UseEquipmentSet(WorldPacket&& packet) : ClientPacket(CMSG_USE_EQUIPMENT_SET, std::move(packet)) { } void Read() override; @@ -89,7 +90,7 @@ namespace WorldPackets class UseEquipmentSetResult final : public ServerPacket { public: - UseEquipmentSetResult() : ServerPacket(SMSG_USE_EQUIPMENT_SET_RESULT, 8 + 1) { } + explicit UseEquipmentSetResult() : ServerPacket(SMSG_USE_EQUIPMENT_SET_RESULT, 8 + 1) { } WorldPacket const* Write() override; @@ -98,3 +99,5 @@ namespace WorldPackets }; } } + +#endif // TRINITYCORE_EQUIPMENT_SET_PACKETS_H diff --git a/src/server/game/Server/Packets/GameObjectPackets.cpp b/src/server/game/Server/Packets/GameObjectPackets.cpp index 4b7ca3ffcd3..f24e4155433 100644 --- a/src/server/game/Server/Packets/GameObjectPackets.cpp +++ b/src/server/game/Server/Packets/GameObjectPackets.cpp @@ -16,6 +16,7 @@ */ #include "GameObjectPackets.h" +#include "PacketUtilities.h" void WorldPackets::GameObject::GameObjUse::Read() { @@ -30,12 +31,14 @@ void WorldPackets::GameObject::GameObjReportUse::Read() WorldPacket const* WorldPackets::GameObject::GameObjectDespawn::Write() { _worldPacket << ObjectGUID; + return &_worldPacket; } WorldPacket const* WorldPackets::GameObject::PageText::Write() { _worldPacket << GameObjectGUID; + return &_worldPacket; } @@ -43,7 +46,7 @@ WorldPacket const* WorldPackets::GameObject::GameObjectActivateAnimKit::Write() { _worldPacket << ObjectGUID; _worldPacket << uint32(AnimKitID); - _worldPacket.WriteBit(Maintain); + _worldPacket << Bits<1>(Maintain); _worldPacket.FlushBits(); return &_worldPacket; @@ -64,7 +67,7 @@ WorldPacket const* WorldPackets::GameObject::GameObjectCustomAnim::Write() { _worldPacket << ObjectGUID; _worldPacket << uint32(CustomAnim); - _worldPacket.WriteBit(PlayAsDespawn); + _worldPacket << Bits<1>(PlayAsDespawn); _worldPacket.FlushBits(); return &_worldPacket; diff --git a/src/server/game/Server/Packets/GameObjectPackets.h b/src/server/game/Server/Packets/GameObjectPackets.h index 1604adecc55..25e4afc4881 100644 --- a/src/server/game/Server/Packets/GameObjectPackets.h +++ b/src/server/game/Server/Packets/GameObjectPackets.h @@ -15,11 +15,11 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef GOPackets_h__ -#define GOPackets_h__ +#ifndef TRINITYCORE_GAME_OBJECT_PACKETS_H +#define TRINITYCORE_GAME_OBJECT_PACKETS_H +#include "ObjectGuid.h" #include "Packet.h" -#include "GameObject.h" enum class PlayerInteractionType : int32; @@ -30,7 +30,7 @@ namespace WorldPackets class GameObjUse final : public ClientPacket { public: - GameObjUse(WorldPacket&& packet) : ClientPacket(CMSG_GAME_OBJ_USE, std::move(packet)) { } + explicit GameObjUse(WorldPacket&& packet) : ClientPacket(CMSG_GAME_OBJ_USE, std::move(packet)) { } void Read() override; @@ -40,7 +40,7 @@ namespace WorldPackets class GameObjReportUse final : public ClientPacket { public: - GameObjReportUse(WorldPacket&& packet) : ClientPacket(CMSG_GAME_OBJ_REPORT_USE, std::move(packet)) { } + explicit GameObjReportUse(WorldPacket&& packet) : ClientPacket(CMSG_GAME_OBJ_REPORT_USE, std::move(packet)) { } void Read() override; @@ -50,7 +50,7 @@ namespace WorldPackets class GameObjectDespawn final : public ServerPacket { public: - GameObjectDespawn() : ServerPacket(SMSG_GAME_OBJECT_DESPAWN, 16) { } + explicit GameObjectDespawn() : ServerPacket(SMSG_GAME_OBJECT_DESPAWN, 16) { } WorldPacket const* Write() override; @@ -60,7 +60,7 @@ namespace WorldPackets class PageText final : public ServerPacket { public: - PageText() : ServerPacket(SMSG_PAGE_TEXT, 16) { } + explicit PageText() : ServerPacket(SMSG_PAGE_TEXT, 16) { } WorldPacket const* Write() override; @@ -70,7 +70,7 @@ namespace WorldPackets class GameObjectActivateAnimKit final : public ServerPacket { public: - GameObjectActivateAnimKit() : ServerPacket(SMSG_GAME_OBJECT_ACTIVATE_ANIM_KIT, 16 + 4 + 1) { } + explicit GameObjectActivateAnimKit() : ServerPacket(SMSG_GAME_OBJECT_ACTIVATE_ANIM_KIT, 16 + 4 + 1) { } WorldPacket const* Write() override; @@ -82,7 +82,7 @@ namespace WorldPackets class DestructibleBuildingDamage final : public ServerPacket { public: - DestructibleBuildingDamage() : ServerPacket(SMSG_DESTRUCTIBLE_BUILDING_DAMAGE, 16 + 16 + 16 + 4 + 4) { } + explicit DestructibleBuildingDamage() : ServerPacket(SMSG_DESTRUCTIBLE_BUILDING_DAMAGE, 16 + 16 + 16 + 4 + 4) { } WorldPacket const* Write() override; @@ -96,7 +96,7 @@ namespace WorldPackets class FishNotHooked final : public ServerPacket { public: - FishNotHooked() : ServerPacket(SMSG_FISH_NOT_HOOKED, 0) { } + explicit FishNotHooked() : ServerPacket(SMSG_FISH_NOT_HOOKED, 0) { } WorldPacket const* Write() override { return &_worldPacket; } }; @@ -104,7 +104,7 @@ namespace WorldPackets class FishEscaped final : public ServerPacket { public: - FishEscaped() : ServerPacket(SMSG_FISH_ESCAPED, 0) { } + explicit FishEscaped() : ServerPacket(SMSG_FISH_ESCAPED, 0) { } WorldPacket const* Write() override { return &_worldPacket; } }; @@ -112,7 +112,7 @@ namespace WorldPackets class GameObjectCustomAnim final : public ServerPacket { public: - GameObjectCustomAnim() : ServerPacket(SMSG_GAME_OBJECT_CUSTOM_ANIM, 16 + 4 + 1) { } + explicit GameObjectCustomAnim() : ServerPacket(SMSG_GAME_OBJECT_CUSTOM_ANIM, 16 + 4 + 1) { } WorldPacket const* Write() override; @@ -124,7 +124,7 @@ namespace WorldPackets class GameObjectPlaySpellVisual final : public ServerPacket { public: - GameObjectPlaySpellVisual() : ServerPacket(SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL, 16 + 16 + 4) { } + explicit GameObjectPlaySpellVisual() : ServerPacket(SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL, 16 + 16 + 4) { } WorldPacket const* Write() override; @@ -136,7 +136,7 @@ namespace WorldPackets class GameObjectSetStateLocal final : public ServerPacket { public: - GameObjectSetStateLocal() : ServerPacket(SMSG_GAME_OBJECT_SET_STATE_LOCAL, 16 + 1) { } + explicit GameObjectSetStateLocal() : ServerPacket(SMSG_GAME_OBJECT_SET_STATE_LOCAL, 16 + 1) { } WorldPacket const* Write() override; @@ -147,7 +147,7 @@ namespace WorldPackets class GameObjectInteraction final : public ServerPacket { public: - GameObjectInteraction() : ServerPacket(SMSG_GAME_OBJECT_INTERACTION, 16 + 4) { } + explicit GameObjectInteraction() : ServerPacket(SMSG_GAME_OBJECT_INTERACTION, 16 + 4) { } WorldPacket const* Write() override; @@ -158,7 +158,7 @@ namespace WorldPackets class GameObjectCloseInteraction final : public ServerPacket { public: - GameObjectCloseInteraction() : ServerPacket(SMSG_GAME_OBJECT_CLOSE_INTERACTION, 4) { } + explicit GameObjectCloseInteraction() : ServerPacket(SMSG_GAME_OBJECT_CLOSE_INTERACTION, 4) { } WorldPacket const* Write() override; @@ -166,4 +166,5 @@ namespace WorldPackets }; } } -#endif // GOPackets_h__ + +#endif // TRINITYCORE_GAME_OBJECT_PACKETS_H diff --git a/src/server/game/Server/Packets/GarrisonPackets.cpp b/src/server/game/Server/Packets/GarrisonPackets.cpp index 54abd15e0e4..4289505d153 100644 --- a/src/server/game/Server/Packets/GarrisonPackets.cpp +++ b/src/server/game/Server/Packets/GarrisonPackets.cpp @@ -53,7 +53,7 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonBuildingInfo const& buildingInf data << buildingInfo.TimeBuilt; data << uint32(buildingInfo.CurrentGarSpecID); data << buildingInfo.TimeSpecCooldown; - data.WriteBit(buildingInfo.Active); + data << Bits<1>(buildingInfo.Active); data.FlushBits(); return data; @@ -71,7 +71,7 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonFollower const& follower) data << uint32(follower.Durability); data << uint32(follower.CurrentBuildingID); data << uint32(follower.CurrentMissionID); - data << uint32(follower.AbilityID.size()); + data << Size<uint32>(follower.AbilityID); data << uint32(follower.ZoneSupportSpellID); data << uint32(follower.FollowerStatus); data << int32(follower.Health); @@ -80,9 +80,10 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonFollower const& follower) for (GarrAbilityEntry const* ability : follower.AbilityID) data << uint32(ability->ID); - data.WriteBits(follower.CustomName.length(), 7); + data << SizedString::BitsSize<7>(follower.CustomName); data.FlushBits(); - data.WriteString(follower.CustomName); + + data << SizedString::Data(follower.CustomName); return data; } @@ -90,7 +91,7 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonFollower const& follower) ByteBuffer& operator<<(ByteBuffer& data, GarrisonEncounter const& encounter) { data << int32(encounter.GarrEncounterID); - data << uint32(encounter.Mechanics.size()); + data << Size<uint32>(encounter.Mechanics); data << int32(encounter.GarrAutoCombatantID); data << int32(encounter.Health); data << int32(encounter.MaxHealth); @@ -112,7 +113,7 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonMissionReward const& missionRew data << uint32(missionRewardItem.FollowerXP); data << uint32(missionRewardItem.GarrMssnBonusAbilityID); data << int32(missionRewardItem.ItemFileDataID); - data.WriteBit(missionRewardItem.ItemInstance.has_value()); + data << OptionalInit(missionRewardItem.ItemInstance); data.FlushBits(); if (missionRewardItem.ItemInstance) @@ -135,9 +136,9 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonMission const& mission) data << uint32(mission.Flags); data << float(mission.MissionScalar); data << int32(mission.ContentTuningID); - data << uint32(mission.Encounters.size()); - data << uint32(mission.Rewards.size()); - data << uint32(mission.OvermaxRewards.size()); + data << Size<uint32>(mission.Encounters); + data << Size<uint32>(mission.Rewards); + data << Size<uint32>(mission.OvermaxRewards); for (GarrisonEncounter const& encounter : mission.Encounters) data << encounter; @@ -173,7 +174,7 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonTalent const& talent) data << int32(talent.Rank); data << talent.ResearchStartTime; data << int32(talent.Flags); - data.WriteBit(talent.Socket.has_value()); + data << OptionalInit(talent.Socket); data.FlushBits(); if (talent.Socket) @@ -193,7 +194,7 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonCollectionEntry const& collecti ByteBuffer& operator<<(ByteBuffer& data, GarrisonCollection const& collection) { data << int32(collection.Type); - data << uint32(collection.Entries.size()); + data << Size<uint32>(collection.Entries); for (GarrisonCollectionEntry const& collectionEntry : collection.Entries) data << collectionEntry; @@ -211,7 +212,7 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonEventEntry const& event) ByteBuffer& operator<<(ByteBuffer& data, GarrisonEventList const& eventList) { data << int32(eventList.Type); - data << uint32(eventList.Events.size()); + data << Size<uint32>(eventList.Events); for (GarrisonEventEntry const& event : eventList.Events) data << event; @@ -235,20 +236,20 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonInfo const& garrison) data << uint8(garrison.GarrTypeID); data << int32(garrison.GarrSiteID); data << int32(garrison.GarrSiteLevelID); - data << uint32(garrison.Buildings.size()); - data << uint32(garrison.Plots.size()); - data << uint32(garrison.Followers.size()); - data << uint32(garrison.AutoTroops.size()); - data << uint32(garrison.Missions.size()); - data << uint32(garrison.MissionRewards.size()); - data << uint32(garrison.MissionOvermaxRewards.size()); - data << uint32(garrison.MissionAreaBonuses.size()); - data << uint32(garrison.Talents.size()); - data << uint32(garrison.Collections.size()); - data << uint32(garrison.EventLists.size()); - data << uint32(garrison.SpecGroups.size()); - data << uint32(garrison.CanStartMission.size()); - data << uint32(garrison.ArchivedMissions.size()); + data << Size<uint32>(garrison.Buildings); + data << Size<uint32>(garrison.Plots); + data << Size<uint32>(garrison.Followers); + data << Size<uint32>(garrison.AutoTroops); + data << Size<uint32>(garrison.Missions); + data << Size<uint32>(garrison.MissionRewards); + data << Size<uint32>(garrison.MissionOvermaxRewards); + data << Size<uint32>(garrison.MissionAreaBonuses); + data << Size<uint32>(garrison.Talents); + data << Size<uint32>(garrison.Collections); + data << Size<uint32>(garrison.EventLists); + data << Size<uint32>(garrison.SpecGroups); + data << Size<uint32>(garrison.CanStartMission); + data << Size<uint32>(garrison.ArchivedMissions); data << int32(garrison.NumFollowerActivationsRemaining); data << uint32(garrison.NumMissionsStartedToday); data << int32(garrison.MinAutoTroopLevel); @@ -257,10 +258,10 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonInfo const& garrison) data << *plot; for (std::vector<GarrisonMissionReward> const& missionReward : garrison.MissionRewards) - data << uint32(missionReward.size()); + data << Size<uint32>(missionReward); for (std::vector<GarrisonMissionReward> const& missionReward : garrison.MissionOvermaxRewards) - data << uint32(missionReward.size()); + data << Size<uint32>(missionReward); for (GarrisonMissionBonusAbility const* areaBonus : garrison.MissionAreaBonuses) data << *areaBonus; @@ -281,7 +282,7 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonInfo const& garrison) data << *building; for (bool canStartMission : garrison.CanStartMission) - data.WriteBit(canStartMission); + data << Bits<1>(canStartMission); data.FlushBits(); @@ -318,8 +319,8 @@ ByteBuffer& operator<<(ByteBuffer& data, FollowerSoftCapInfo const& followerSoft WorldPacket const* GetGarrisonInfoResult::Write() { _worldPacket << int8(FactionIndex); - _worldPacket << uint32(Garrisons.size()); - _worldPacket << uint32(FollowerSoftCaps.size()); + _worldPacket << Size<uint32>(Garrisons); + _worldPacket << Size<uint32>(FollowerSoftCaps); for (FollowerSoftCapInfo const& followerSoftCapInfo : FollowerSoftCaps) _worldPacket << followerSoftCapInfo; @@ -340,7 +341,7 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonRemoteBuildingInfo const& build ByteBuffer& operator<<(ByteBuffer& data, GarrisonRemoteSiteInfo const& site) { data << uint32(site.GarrSiteLevelID); - data << uint32(site.Buildings.size()); + data << Size<uint32>(site.Buildings); for (GarrisonRemoteBuildingInfo const& building : site.Buildings) data << building; @@ -349,7 +350,7 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonRemoteSiteInfo const& site) WorldPacket const* GarrisonRemoteInfo::Write() { - _worldPacket << uint32(Sites.size()); + _worldPacket << Size<uint32>(Sites); for (GarrisonRemoteSiteInfo const& site : Sites) _worldPacket << site; @@ -368,7 +369,7 @@ WorldPacket const* GarrisonPlaceBuildingResult::Write() _worldPacket << uint8(GarrTypeID); _worldPacket << uint32(Result); _worldPacket << BuildingInfo; - _worldPacket.WriteBit(PlayActivationCinematic); + _worldPacket << Bits<1>(PlayActivationCinematic); _worldPacket.FlushBits(); return &_worldPacket; @@ -434,7 +435,7 @@ ByteBuffer& operator<<(ByteBuffer& data, GarrisonBuildingMapData const& building WorldPacket const* GarrisonMapDataResponse::Write() { - _worldPacket << uint32(Buildings.size()); + _worldPacket << Size<uint32>(Buildings); for (GarrisonBuildingMapData& landmark : Buildings) _worldPacket << landmark; diff --git a/src/server/game/Server/Packets/GarrisonPackets.h b/src/server/game/Server/Packets/GarrisonPackets.h index 15d16a7a182..402c95f2704 100644 --- a/src/server/game/Server/Packets/GarrisonPackets.h +++ b/src/server/game/Server/Packets/GarrisonPackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef GarrisonPackets_h__ -#define GarrisonPackets_h__ +#ifndef TRINITYCORE_GARRISON_PACKETS_H +#define TRINITYCORE_GARRISON_PACKETS_H #include "Packet.h" #include "ItemPacketsCommon.h" @@ -37,7 +37,7 @@ namespace WorldPackets class GarrisonCreateResult final : public ServerPacket { public: - GarrisonCreateResult() : ServerPacket(SMSG_GARRISON_CREATE_RESULT, 4 + 4) { } + explicit GarrisonCreateResult() : ServerPacket(SMSG_GARRISON_CREATE_RESULT, 4 + 4) { } WorldPacket const* Write() override; @@ -48,7 +48,7 @@ namespace WorldPackets class GarrisonDeleteResult final : public ServerPacket { public: - GarrisonDeleteResult() : ServerPacket(SMSG_GARRISON_DELETE_RESULT, 4 + 4) { } + explicit GarrisonDeleteResult() : ServerPacket(SMSG_GARRISON_DELETE_RESULT, 4 + 4) { } WorldPacket const* Write() override; @@ -59,7 +59,7 @@ namespace WorldPackets class GetGarrisonInfo final : public ClientPacket { public: - GetGarrisonInfo(WorldPacket&& packet) : ClientPacket(CMSG_GET_GARRISON_INFO, std::move(packet)) { } + explicit GetGarrisonInfo(WorldPacket&& packet) : ClientPacket(CMSG_GET_GARRISON_INFO, std::move(packet)) { } void Read() override { } }; @@ -228,7 +228,7 @@ namespace WorldPackets class GetGarrisonInfoResult final : public ServerPacket { public: - GetGarrisonInfoResult() : ServerPacket(SMSG_GET_GARRISON_INFO_RESULT) { } + explicit GetGarrisonInfoResult() : ServerPacket(SMSG_GET_GARRISON_INFO_RESULT) { } WorldPacket const* Write() override; @@ -255,7 +255,7 @@ namespace WorldPackets class GarrisonRemoteInfo final : public ServerPacket { public: - GarrisonRemoteInfo() : ServerPacket(SMSG_GARRISON_REMOTE_INFO) { } + explicit GarrisonRemoteInfo() : ServerPacket(SMSG_GARRISON_REMOTE_INFO) { } WorldPacket const* Write() override; @@ -265,7 +265,7 @@ namespace WorldPackets class GarrisonPurchaseBuilding final : public ClientPacket { public: - GarrisonPurchaseBuilding(WorldPacket&& packet) : ClientPacket(CMSG_GARRISON_PURCHASE_BUILDING, std::move(packet)) { } + explicit GarrisonPurchaseBuilding(WorldPacket&& packet) : ClientPacket(CMSG_GARRISON_PURCHASE_BUILDING, std::move(packet)) { } void Read() override; @@ -277,7 +277,7 @@ namespace WorldPackets class GarrisonPlaceBuildingResult final : public ServerPacket { public: - GarrisonPlaceBuildingResult() : ServerPacket(SMSG_GARRISON_PLACE_BUILDING_RESULT) { } + explicit GarrisonPlaceBuildingResult() : ServerPacket(SMSG_GARRISON_PLACE_BUILDING_RESULT) { } WorldPacket const* Write() override; @@ -290,7 +290,7 @@ namespace WorldPackets class GarrisonCancelConstruction final : public ClientPacket { public: - GarrisonCancelConstruction(WorldPacket&& packet) : ClientPacket(CMSG_GARRISON_CANCEL_CONSTRUCTION, std::move(packet)) { } + explicit GarrisonCancelConstruction(WorldPacket&& packet) : ClientPacket(CMSG_GARRISON_CANCEL_CONSTRUCTION, std::move(packet)) { } void Read() override; @@ -301,7 +301,7 @@ namespace WorldPackets class GarrisonBuildingRemoved final : public ServerPacket { public: - GarrisonBuildingRemoved() : ServerPacket(SMSG_GARRISON_BUILDING_REMOVED, 4 + 4 + 4 + 4) { } + explicit GarrisonBuildingRemoved() : ServerPacket(SMSG_GARRISON_BUILDING_REMOVED, 4 + 4 + 4 + 4) { } WorldPacket const* Write() override; @@ -314,7 +314,7 @@ namespace WorldPackets class GarrisonLearnBlueprintResult final : public ServerPacket { public: - GarrisonLearnBlueprintResult() : ServerPacket(SMSG_GARRISON_LEARN_BLUEPRINT_RESULT, 4 + 4 + 4) { } + explicit GarrisonLearnBlueprintResult() : ServerPacket(SMSG_GARRISON_LEARN_BLUEPRINT_RESULT, 4 + 4 + 4) { } WorldPacket const* Write() override; @@ -326,7 +326,7 @@ namespace WorldPackets class GarrisonUnlearnBlueprintResult final : public ServerPacket { public: - GarrisonUnlearnBlueprintResult() : ServerPacket(SMSG_GARRISON_UNLEARN_BLUEPRINT_RESULT, 4 + 4) { } + explicit GarrisonUnlearnBlueprintResult() : ServerPacket(SMSG_GARRISON_UNLEARN_BLUEPRINT_RESULT, 4 + 4) { } WorldPacket const* Write() override; @@ -338,7 +338,7 @@ namespace WorldPackets class GarrisonRequestBlueprintAndSpecializationData final : public ClientPacket { public: - GarrisonRequestBlueprintAndSpecializationData(WorldPacket&& packet) : ClientPacket(CMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA, std::move(packet)) { } + explicit GarrisonRequestBlueprintAndSpecializationData(WorldPacket&& packet) : ClientPacket(CMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA, std::move(packet)) { } void Read() override { } }; @@ -346,7 +346,7 @@ namespace WorldPackets class GarrisonRequestBlueprintAndSpecializationDataResult final : public ServerPacket { public: - GarrisonRequestBlueprintAndSpecializationDataResult() : ServerPacket(SMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA_RESULT, 400) { } + explicit GarrisonRequestBlueprintAndSpecializationDataResult() : ServerPacket(SMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA_RESULT, 400) { } WorldPacket const* Write() override; @@ -358,7 +358,7 @@ namespace WorldPackets class GarrisonGetMapData final : public ClientPacket { public: - GarrisonGetMapData(WorldPacket&& packet) : ClientPacket(CMSG_GARRISON_GET_MAP_DATA, std::move(packet)) { } + explicit GarrisonGetMapData(WorldPacket&& packet) : ClientPacket(CMSG_GARRISON_GET_MAP_DATA, std::move(packet)) { } void Read() override { } }; @@ -375,7 +375,7 @@ namespace WorldPackets class GarrisonMapDataResponse final : public ServerPacket { public: - GarrisonMapDataResponse() : ServerPacket(SMSG_GARRISON_MAP_DATA_RESPONSE) { } + explicit GarrisonMapDataResponse() : ServerPacket(SMSG_GARRISON_MAP_DATA_RESPONSE) { } WorldPacket const* Write() override; @@ -385,7 +385,7 @@ namespace WorldPackets class GarrisonPlotPlaced final : public ServerPacket { public: - GarrisonPlotPlaced() : ServerPacket(SMSG_GARRISON_PLOT_PLACED) { } + explicit GarrisonPlotPlaced() : ServerPacket(SMSG_GARRISON_PLOT_PLACED) { } WorldPacket const* Write() override; @@ -396,7 +396,7 @@ namespace WorldPackets class GarrisonPlotRemoved final : public ServerPacket { public: - GarrisonPlotRemoved() : ServerPacket(SMSG_GARRISON_PLOT_REMOVED, 4) { } + explicit GarrisonPlotRemoved() : ServerPacket(SMSG_GARRISON_PLOT_REMOVED, 4) { } WorldPacket const* Write() override; @@ -406,7 +406,7 @@ namespace WorldPackets class GarrisonAddFollowerResult final : public ServerPacket { public: - GarrisonAddFollowerResult() : ServerPacket(SMSG_GARRISON_ADD_FOLLOWER_RESULT, 8 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 5 * 4 + 4) { } + explicit GarrisonAddFollowerResult() : ServerPacket(SMSG_GARRISON_ADD_FOLLOWER_RESULT, 8 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 5 * 4 + 4) { } WorldPacket const* Write() override; @@ -418,7 +418,7 @@ namespace WorldPackets class GarrisonRemoveFollowerResult final : public ServerPacket { public: - GarrisonRemoveFollowerResult() : ServerPacket(SMSG_GARRISON_REMOVE_FOLLOWER_RESULT, 1 + 4 + 8 + 4) { } + explicit GarrisonRemoveFollowerResult() : ServerPacket(SMSG_GARRISON_REMOVE_FOLLOWER_RESULT, 1 + 4 + 8 + 4) { } WorldPacket const* Write() override; @@ -431,7 +431,7 @@ namespace WorldPackets class GarrisonBuildingActivated final : public ServerPacket { public: - GarrisonBuildingActivated() : ServerPacket(SMSG_GARRISON_BUILDING_ACTIVATED, 4) { } + explicit GarrisonBuildingActivated() : ServerPacket(SMSG_GARRISON_BUILDING_ACTIVATED, 4) { } WorldPacket const* Write() override; @@ -440,4 +440,4 @@ namespace WorldPackets } } -#endif // GarrisonPackets_h__ +#endif // TRINITYCORE_GARRISON_PACKETS_H diff --git a/src/server/game/Server/Packets/GuildPackets.cpp b/src/server/game/Server/Packets/GuildPackets.cpp index aefa1580c85..88058afa51c 100644 --- a/src/server/game/Server/Packets/GuildPackets.cpp +++ b/src/server/game/Server/Packets/GuildPackets.cpp @@ -17,76 +17,121 @@ #include "GuildPackets.h" -void WorldPackets::Guild::QueryGuildInfo::Read() +namespace WorldPackets::Guild +{ +void QueryGuildInfo::Read() { _worldPacket >> GuildGuid; _worldPacket >> PlayerGuid; } -WorldPackets::Guild::QueryGuildInfoResponse::QueryGuildInfoResponse() - : ServerPacket(SMSG_QUERY_GUILD_INFO_RESPONSE) { } - -WorldPacket const* WorldPackets::Guild::QueryGuildInfoResponse::Write() +WorldPacket const* QueryGuildInfoResponse::Write() { _worldPacket << GuildGuid; - _worldPacket.WriteBit(Info.has_value()); + _worldPacket << OptionalInit(Info); _worldPacket.FlushBits(); if (Info) { _worldPacket << Info->GuildGUID; _worldPacket << uint32(Info->VirtualRealmAddress); - _worldPacket << uint32(Info->Ranks.size()); + _worldPacket << Size<uint32>(Info->Ranks); _worldPacket << uint32(Info->EmblemStyle); _worldPacket << uint32(Info->EmblemColor); _worldPacket << uint32(Info->BorderStyle); _worldPacket << uint32(Info->BorderColor); _worldPacket << uint32(Info->BackgroundColor); - _worldPacket.WriteBits(Info->GuildName.size(), 7); + _worldPacket << SizedString::BitsSize<7>(Info->GuildName); _worldPacket.FlushBits(); for (GuildInfo::GuildInfoRank const& rank : Info->Ranks) { _worldPacket << uint32(rank.RankID); _worldPacket << uint32(rank.RankOrder); - _worldPacket.WriteBits(rank.RankName.size(), 7); + _worldPacket << SizedString::BitsSize<7>(rank.RankName); _worldPacket.FlushBits(); - _worldPacket.WriteString(rank.RankName); + _worldPacket << SizedString::Data(rank.RankName); } - _worldPacket.WriteString(Info->GuildName); + _worldPacket << SizedString::Data(Info->GuildName); } return &_worldPacket; } -WorldPacket const* WorldPackets::Guild::GuildRoster::Write() +ByteBuffer& operator<<(ByteBuffer& data, GuildRosterProfessionData const& rosterProfessionData) +{ + data << int32(rosterProfessionData.DbID); + data << int32(rosterProfessionData.Rank); + data << int32(rosterProfessionData.Step); + + return data; +} + +ByteBuffer& operator<<(ByteBuffer& data, GuildRosterMemberData const& rosterMemberData) +{ + data << rosterMemberData.Guid; + data << int32(rosterMemberData.RankID); + data << int32(rosterMemberData.AreaID); + data << int32(rosterMemberData.PersonalAchievementPoints); + data << int32(rosterMemberData.GuildReputation); + data << float(rosterMemberData.LastSave); + + for (uint8 i = 0; i < 2; i++) + data << rosterMemberData.Profession[i]; + + data << uint32(rosterMemberData.VirtualRealmAddress); + data << uint8(rosterMemberData.Status); + data << uint8(rosterMemberData.Level); + data << uint8(rosterMemberData.ClassID); + data << uint8(rosterMemberData.Gender); + data << uint64(rosterMemberData.GuildClubMemberID); + data << uint8(rosterMemberData.RaceID); + + data << SizedString::BitsSize<6>(rosterMemberData.Name); + data << SizedString::BitsSize<8>(rosterMemberData.Note); + data << SizedString::BitsSize<8>(rosterMemberData.OfficerNote); + data << Bits<1>(rosterMemberData.Authenticated); + data << Bits<1>(rosterMemberData.SorEligible); + data.FlushBits(); + + data << rosterMemberData.DungeonScore; + + data << SizedString::Data(rosterMemberData.Name); + data << SizedString::Data(rosterMemberData.Note); + data << SizedString::Data(rosterMemberData.OfficerNote); + + return data; +} + +WorldPacket const* GuildRoster::Write() { _worldPacket << int32(NumAccounts); _worldPacket << CreateDate; _worldPacket << int32(GuildFlags); - _worldPacket << uint32(MemberData.size()); - _worldPacket.WriteBits(WelcomeText.length(), 11); - _worldPacket.WriteBits(InfoText.length(), 11); + _worldPacket << Size<uint32>(MemberData); + _worldPacket << SizedString::BitsSize<11>(WelcomeText); + _worldPacket << SizedString::BitsSize<11>(InfoText); _worldPacket.FlushBits(); for (GuildRosterMemberData const& member : MemberData) _worldPacket << member; - _worldPacket.WriteString(WelcomeText); - _worldPacket.WriteString(InfoText); + _worldPacket << SizedString::Data(WelcomeText); + _worldPacket << SizedString::Data(InfoText); return &_worldPacket; } -void WorldPackets::Guild::GuildUpdateMotdText::Read() +void GuildUpdateMotdText::Read() { - uint32 textLen = _worldPacket.ReadBits(11); - MotdText = _worldPacket.ReadString(textLen); + _worldPacket >> SizedString::BitsSize<11>(MotdText); + + _worldPacket >> SizedString::Data(MotdText); } -WorldPacket const* WorldPackets::Guild::GuildCommandResult::Write() +WorldPacket const* GuildCommandResult::Write() { _worldPacket << uint8(Result); _worldPacket << uint8(Command); @@ -99,39 +144,38 @@ WorldPacket const* WorldPackets::Guild::GuildCommandResult::Write() return &_worldPacket; } -void WorldPackets::Guild::AcceptGuildInvite::Read() +void AcceptGuildInvite::Read() { _worldPacket >> GuildGuid; } -void WorldPackets::Guild::GuildDeclineInvitation::Read() +void GuildDeclineInvitation::Read() { _worldPacket >> GuildGuid; _worldPacket >> Bits<1>(IsAuto); } -void WorldPackets::Guild::DeclineGuildInvites::Read() +void DeclineGuildInvites::Read() { - Allow = _worldPacket.ReadBit(); + _worldPacket >> Bits<1>(Allow); } -void WorldPackets::Guild::GuildInviteByName::Read() +void GuildInviteByName::Read() { - uint32 nameLen = _worldPacket.ReadBits(9); - if (_worldPacket.ReadBit()) - ArenaTeam.emplace(); + _worldPacket >> SizedString::BitsSize<9>(Name); + _worldPacket >> OptionalInit(ArenaTeam); - Name = _worldPacket.ReadString(nameLen); + _worldPacket >> SizedString::Data(Name); if (ArenaTeam) _worldPacket >> *ArenaTeam; } -WorldPacket const* WorldPackets::Guild::GuildInvite::Write() +WorldPacket const* GuildInvite::Write() { - _worldPacket.WriteBits(InviterName.length(), 6); - _worldPacket.WriteBits(GuildName.length(), 7); - _worldPacket.WriteBits(OldGuildName.length(), 7); + _worldPacket << SizedString::BitsSize<6>(InviterName); + _worldPacket << SizedString::BitsSize<7>(GuildName); + _worldPacket << SizedString::BitsSize<7>(OldGuildName); _worldPacket.FlushBits(); _worldPacket << uint32(InviterVirtualRealmAddress); @@ -146,124 +190,79 @@ WorldPacket const* WorldPackets::Guild::GuildInvite::Write() _worldPacket << uint32(Background); _worldPacket << int32(AchievementPoints); - _worldPacket.WriteString(InviterName); - _worldPacket.WriteString(GuildName); - _worldPacket.WriteString(OldGuildName); + _worldPacket << SizedString::Data(InviterName); + _worldPacket << SizedString::Data(GuildName); + _worldPacket << SizedString::Data(OldGuildName); return &_worldPacket; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Guild::GuildRosterProfessionData const& rosterProfessionData) -{ - data << int32(rosterProfessionData.DbID); - data << int32(rosterProfessionData.Rank); - data << int32(rosterProfessionData.Step); - - return data; -} - -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Guild::GuildRosterMemberData const& rosterMemberData) -{ - data << rosterMemberData.Guid; - data << int32(rosterMemberData.RankID); - data << int32(rosterMemberData.AreaID); - data << int32(rosterMemberData.PersonalAchievementPoints); - data << int32(rosterMemberData.GuildReputation); - data << float(rosterMemberData.LastSave); - - for (uint8 i = 0; i < 2; i++) - data << rosterMemberData.Profession[i]; - - data << uint32(rosterMemberData.VirtualRealmAddress); - data << uint8(rosterMemberData.Status); - data << uint8(rosterMemberData.Level); - data << uint8(rosterMemberData.ClassID); - data << uint8(rosterMemberData.Gender); - data << uint64(rosterMemberData.GuildClubMemberID); - data << uint8(rosterMemberData.RaceID); - - data.WriteBits(rosterMemberData.Name.length(), 6); - data.WriteBits(rosterMemberData.Note.length(), 8); - data.WriteBits(rosterMemberData.OfficerNote.length(), 8); - data.WriteBit(rosterMemberData.Authenticated); - data.WriteBit(rosterMemberData.SorEligible); - data.FlushBits(); - - data << rosterMemberData.DungeonScore; - - data.WriteString(rosterMemberData.Name); - data.WriteString(rosterMemberData.Note); - data.WriteString(rosterMemberData.OfficerNote); - - return data; -} - -WorldPacket const* WorldPackets::Guild::GuildEventStatusChange::Write() +WorldPacket const* GuildEventStatusChange::Write() { _worldPacket << Guid; - _worldPacket.WriteBit(AFK); - _worldPacket.WriteBit(DND); + _worldPacket << Bits<1>(AFK); + _worldPacket << Bits<1>(DND); _worldPacket.FlushBits(); return &_worldPacket; } -WorldPacket const* WorldPackets::Guild::GuildEventPresenceChange::Write() +WorldPacket const* GuildEventPresenceChange::Write() { _worldPacket << Guid; _worldPacket << uint32(VirtualRealmAddress); - _worldPacket.WriteBits(Name.length(), 6); - _worldPacket.WriteBit(LoggedOn); + _worldPacket << SizedString::BitsSize<6>(Name); + _worldPacket << Bits<1>(LoggedOn); _worldPacket.FlushBits(); - _worldPacket.WriteString(Name); + _worldPacket << SizedString::Data(Name); return &_worldPacket; } -WorldPacket const* WorldPackets::Guild::GuildEventMotd::Write() +WorldPacket const* GuildEventMotd::Write() { - _worldPacket.WriteBits(MotdText.length(), 11); + _worldPacket << SizedString::BitsSize<11>(MotdText); _worldPacket.FlushBits(); - _worldPacket.WriteString(MotdText); + _worldPacket << SizedString::Data(MotdText); return &_worldPacket; } -WorldPacket const* WorldPackets::Guild::GuildEventPlayerJoined::Write() +WorldPacket const* GuildEventPlayerJoined::Write() { _worldPacket << Guid; _worldPacket << uint32(VirtualRealmAddress); - _worldPacket.WriteBits(Name.length(), 6); + _worldPacket << SizedString::BitsSize<6>(Name); _worldPacket.FlushBits(); - _worldPacket.WriteString(Name); + _worldPacket << SizedString::Data(Name); return &_worldPacket; } -WorldPacket const* WorldPackets::Guild::GuildEventRankChanged::Write() +WorldPacket const* GuildEventRankChanged::Write() { _worldPacket << RankID; return &_worldPacket; } -WorldPacket const* WorldPackets::Guild::GuildEventBankMoneyChanged::Write() +WorldPacket const* GuildEventBankMoneyChanged::Write() { _worldPacket << Money; return &_worldPacket; } -WorldPacket const* WorldPackets::Guild::GuildEventLogQueryResults::Write() +WorldPacket const* GuildEventLogQueryResults::Write() { _worldPacket.reserve(4 + Entry.size() * 38); - _worldPacket << uint32(Entry.size()); + _worldPacket << Size<uint32>(Entry); for (GuildEventEntry const& entry : Entry) { @@ -277,34 +276,34 @@ WorldPacket const* WorldPackets::Guild::GuildEventLogQueryResults::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Guild::GuildEventPlayerLeft::Write() +WorldPacket const* GuildEventPlayerLeft::Write() { - _worldPacket.WriteBit(Removed); - _worldPacket.WriteBits(LeaverName.length(), 6); + _worldPacket << Bits<1>(Removed); + _worldPacket << SizedString::BitsSize<6>(LeaverName); if (Removed) { - _worldPacket.WriteBits(RemoverName.length(), 6); + _worldPacket << SizedString::BitsSize<6>(RemoverName); _worldPacket << RemoverGUID; _worldPacket << uint32(RemoverVirtualRealmAddress); - _worldPacket.WriteString(RemoverName); + _worldPacket << SizedString::Data(RemoverName); } _worldPacket << LeaverGUID; _worldPacket << uint32(LeaverVirtualRealmAddress); - _worldPacket.WriteString(LeaverName); + _worldPacket << SizedString::Data(LeaverName); return &_worldPacket; } -WorldPacket const* WorldPackets::Guild::GuildPermissionsQueryResults::Write() +WorldPacket const* GuildPermissionsQueryResults::Write() { _worldPacket << uint32(RankID); _worldPacket << int32(Flags); _worldPacket << int32(WithdrawGoldLimit); _worldPacket << int32(NumTabs); - _worldPacket << uint32(Tab.size()); + _worldPacket << Size<uint32>(Tab); for (GuildRankTabPermissions const& tab : Tab) { @@ -315,7 +314,7 @@ WorldPacket const* WorldPackets::Guild::GuildPermissionsQueryResults::Write() return &_worldPacket; } -void WorldPackets::Guild::GuildSetRankPermissions::Read() +void GuildSetRankPermissions::Read() { _worldPacket >> RankID; _worldPacket >> RankOrder; @@ -329,18 +328,18 @@ void WorldPackets::Guild::GuildSetRankPermissions::Read() } _worldPacket.ResetBitPos(); - uint32 rankNameLen = _worldPacket.ReadBits(7); + _worldPacket >> SizedString::BitsSize<7>(RankName); - RankName = _worldPacket.ReadString(rankNameLen); + _worldPacket >> SizedString::Data(RankName); _worldPacket >> OldFlags; } -WorldPacket const* WorldPackets::Guild::GuildEventNewLeader::Write() +WorldPacket const* GuildEventNewLeader::Write() { - _worldPacket.WriteBit(SelfPromoted); - _worldPacket.WriteBits(OldLeaderName.length(), 6); - _worldPacket.WriteBits(NewLeaderName.length(), 6); + _worldPacket << Bits<1>(SelfPromoted); + _worldPacket << SizedString::BitsSize<6>(OldLeaderName); + _worldPacket << SizedString::BitsSize<6>(NewLeaderName); _worldPacket.FlushBits(); _worldPacket << OldLeaderGUID; @@ -348,34 +347,34 @@ WorldPacket const* WorldPackets::Guild::GuildEventNewLeader::Write() _worldPacket << NewLeaderGUID; _worldPacket << uint32(NewLeaderVirtualRealmAddress); - _worldPacket.WriteString(OldLeaderName); - _worldPacket.WriteString(NewLeaderName); + _worldPacket << SizedString::Data(OldLeaderName); + _worldPacket << SizedString::Data(NewLeaderName); return &_worldPacket; } -WorldPacket const* WorldPackets::Guild::GuildEventTabModified::Write() +WorldPacket const* GuildEventTabModified::Write() { _worldPacket << int32(Tab); - _worldPacket.WriteBits(Name.length(), 7); - _worldPacket.WriteBits(Icon.length(), 9); + _worldPacket << SizedString::BitsSize<7>(Name); + _worldPacket << SizedString::BitsSize<9>(Icon); _worldPacket.FlushBits(); - _worldPacket.WriteString(Name); - _worldPacket.WriteString(Icon); + _worldPacket << SizedString::Data(Name); + _worldPacket << SizedString::Data(Icon); return &_worldPacket; } -WorldPacket const* WorldPackets::Guild::GuildEventTabTextChanged::Write() +WorldPacket const* GuildEventTabTextChanged::Write() { _worldPacket << Tab; return &_worldPacket; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Guild::GuildRankData const& rankData) +ByteBuffer& operator<<(ByteBuffer& data, GuildRankData const& rankData) { data << uint8(rankData.RankID); data << int32(rankData.RankOrder); @@ -388,42 +387,41 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Guild::GuildRankData cons data << uint32(rankData.TabWithdrawItemLimit[i]); } - data.WriteBits(rankData.RankName.length(), 7); + data << SizedString::BitsSize<7>(rankData.RankName); data.FlushBits(); - data.WriteString(rankData.RankName); + data << SizedString::Data(rankData.RankName); return data; } -void WorldPackets::Guild::GuildAddRank::Read() +void GuildAddRank::Read() { - uint32 nameLen = _worldPacket.ReadBits(7); - _worldPacket.ResetBitPos(); + _worldPacket >> SizedString::BitsSize<7>(Name); _worldPacket >> RankOrder; - Name = _worldPacket.ReadString(nameLen); + _worldPacket >> SizedString::Data(Name); } -void WorldPackets::Guild::GuildAssignMemberRank::Read() +void GuildAssignMemberRank::Read() { _worldPacket >> Member; _worldPacket >> RankOrder; } -void WorldPackets::Guild::GuildDeleteRank::Read() +void GuildDeleteRank::Read() { _worldPacket >> RankOrder; } -void WorldPackets::Guild::GuildGetRanks::Read() +void GuildGetRanks::Read() { _worldPacket >> GuildGUID; } -WorldPacket const* WorldPackets::Guild::GuildRanks::Write() +WorldPacket const* GuildRanks::Write() { - _worldPacket << uint32(Ranks.size()); + _worldPacket << Size<uint32>(Ranks); for (GuildRankData const& rank : Ranks) _worldPacket << rank; @@ -431,91 +429,94 @@ WorldPacket const* WorldPackets::Guild::GuildRanks::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Guild::GuildSendRankChange::Write() +WorldPacket const* GuildSendRankChange::Write() { _worldPacket << Officer; _worldPacket << Other; _worldPacket << uint32(RankID); - _worldPacket.WriteBit(Promote); + _worldPacket << Bits<1>(Promote); _worldPacket.FlushBits(); return &_worldPacket; } -void WorldPackets::Guild::GuildShiftRank::Read() +void GuildShiftRank::Read() { _worldPacket >> RankOrder; - ShiftUp = _worldPacket.ReadBit(); + _worldPacket >> Bits<1>(ShiftUp); } -void WorldPackets::Guild::GuildUpdateInfoText::Read() +void GuildUpdateInfoText::Read() { - uint32 textLen = _worldPacket.ReadBits(11); - InfoText = _worldPacket.ReadString(textLen); + _worldPacket >> SizedString::BitsSize<11>(InfoText); + + _worldPacket >> SizedString::Data(InfoText); } -void WorldPackets::Guild::GuildSetMemberNote::Read() +void GuildSetMemberNote::Read() { _worldPacket >> NoteeGUID; - uint32 noteLen = _worldPacket.ReadBits(8); - IsPublic = _worldPacket.ReadBit(); + _worldPacket >> SizedString::BitsSize<8>(Note); + _worldPacket >> Bits<1>(IsPublic); - Note = _worldPacket.ReadString(noteLen); + _worldPacket >> SizedString::Data(Note); } -WorldPacket const* WorldPackets::Guild::GuildMemberUpdateNote::Write() +WorldPacket const* GuildMemberUpdateNote::Write() { _worldPacket.reserve(16 + 2 + Note.size()); _worldPacket << Member; - _worldPacket.WriteBits(Note.length(), 8); - _worldPacket.WriteBit(IsPublic); + _worldPacket << SizedString::BitsSize<8>(Note); + _worldPacket << Bits<1>(IsPublic); _worldPacket.FlushBits(); - _worldPacket.WriteString(Note); + _worldPacket << SizedString::Data(Note); return &_worldPacket; } -void WorldPackets::Guild::GuildDemoteMember::Read() +void GuildDemoteMember::Read() { _worldPacket >> Demotee; } -void WorldPackets::Guild::GuildPromoteMember::Read() +void GuildPromoteMember::Read() { _worldPacket >> Promotee; } -void WorldPackets::Guild::GuildOfficerRemoveMember::Read() +void GuildOfficerRemoveMember::Read() { _worldPacket >> Removee; } -void WorldPackets::Guild::GuildChangeNameRequest::Read() +void GuildChangeNameRequest::Read() { - uint32 nameLen = _worldPacket.ReadBits(7); - NewName = _worldPacket.ReadString(nameLen); + _worldPacket >> SizedString::BitsSize<7>(NewName); + + _worldPacket >> SizedString::Data(NewName); } -WorldPacket const* WorldPackets::Guild::GuildFlaggedForRename::Write() +WorldPacket const* GuildFlaggedForRename::Write() { - _worldPacket.WriteBit(FlagSet); + _worldPacket << Bits<1>(FlagSet); + _worldPacket.FlushBits(); return &_worldPacket; } -void WorldPackets::Guild::RequestGuildPartyState::Read() +void RequestGuildPartyState::Read() { _worldPacket >> GuildGUID; } -WorldPacket const* WorldPackets::Guild::GuildPartyState::Write() +WorldPacket const* GuildPartyState::Write() { - _worldPacket.WriteBit(InGuildParty); + _worldPacket << Bits<1>(InGuildParty); _worldPacket.FlushBits(); _worldPacket << int32(NumMembers); @@ -525,11 +526,11 @@ WorldPacket const* WorldPackets::Guild::GuildPartyState::Write() return &_worldPacket; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Guild::GuildRewardItem const& rewardItem) +ByteBuffer& operator<<(ByteBuffer& data, GuildRewardItem const& rewardItem) { data << uint32(rewardItem.ItemID); data << uint32(rewardItem.AchievementLogic); - data << uint32(rewardItem.AchievementsRequired.size()); + data << Size<uint32>(rewardItem.AchievementsRequired); data << uint64(rewardItem.RaceMask.RawValue); data << int32(rewardItem.MinGuildLevel); data << int32(rewardItem.MinGuildRep); @@ -541,15 +542,15 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Guild::GuildRewardItem co return data; } -void WorldPackets::Guild::RequestGuildRewardsList::Read() +void RequestGuildRewardsList::Read() { _worldPacket >> CurrentVersion; } -WorldPacket const* WorldPackets::Guild::GuildRewardList::Write() +WorldPacket const* GuildRewardList::Write() { _worldPacket << Version; - _worldPacket << uint32(RewardItems.size()); + _worldPacket << Size<uint32>(RewardItems); for (GuildRewardItem const& item : RewardItems) _worldPacket << item; @@ -557,77 +558,77 @@ WorldPacket const* WorldPackets::Guild::GuildRewardList::Write() return &_worldPacket; } -void WorldPackets::Guild::GuildBankActivate::Read() +void GuildBankActivate::Read() { _worldPacket >> Banker; - FullUpdate = _worldPacket.ReadBit(); + _worldPacket >> Bits<1>(FullUpdate); } -void WorldPackets::Guild::GuildBankBuyTab::Read() +void GuildBankBuyTab::Read() { _worldPacket >> Banker; _worldPacket >> BankTab; } -void WorldPackets::Guild::GuildBankUpdateTab::Read() +void GuildBankUpdateTab::Read() { _worldPacket >> Banker; _worldPacket >> BankTab; _worldPacket.ResetBitPos(); - uint32 nameLen = _worldPacket.ReadBits(7); - uint32 iconLen = _worldPacket.ReadBits(9); + _worldPacket >> SizedString::BitsSize<7>(Name); + _worldPacket >> SizedString::BitsSize<9>(Icon); - Name = _worldPacket.ReadString(nameLen); - Icon = _worldPacket.ReadString(iconLen); + _worldPacket >> SizedString::Data(Name); + _worldPacket >> SizedString::Data(Icon); } -void WorldPackets::Guild::GuildBankDepositMoney::Read() +void GuildBankDepositMoney::Read() { _worldPacket >> Banker; _worldPacket >> Money; } -void WorldPackets::Guild::GuildBankQueryTab::Read() +void GuildBankQueryTab::Read() { _worldPacket >> Banker; _worldPacket >> Tab; - FullUpdate = _worldPacket.ReadBit(); + _worldPacket >> Bits<1>(FullUpdate); } -WorldPacket const* WorldPackets::Guild::GuildBankRemainingWithdrawMoney::Write() +WorldPacket const* GuildBankRemainingWithdrawMoney::Write() { _worldPacket << RemainingWithdrawMoney; return &_worldPacket; } -void WorldPackets::Guild::GuildBankWithdrawMoney::Read() +void GuildBankWithdrawMoney::Read() { _worldPacket >> Banker; _worldPacket >> Money; } -WorldPacket const* WorldPackets::Guild::GuildBankQueryResults::Write() +WorldPacket const* GuildBankQueryResults::Write() { _worldPacket << uint64(Money); _worldPacket << int32(Tab); _worldPacket << int32(WithdrawalsRemaining); - _worldPacket << uint32(TabInfo.size()); - _worldPacket << uint32(ItemInfo.size()); - _worldPacket.WriteBit(FullUpdate); + _worldPacket << Size<uint32>(TabInfo); + _worldPacket << Size<uint32>(ItemInfo); + _worldPacket << Bits<1>(FullUpdate); _worldPacket.FlushBits(); for (GuildBankTabInfo const& tab : TabInfo) { _worldPacket << int32(tab.TabIndex); - _worldPacket.WriteBits(tab.Name.length(), 7); - _worldPacket.WriteBits(tab.Icon.length(), 9); + _worldPacket << SizedString::BitsSize<7>(tab.Name); + _worldPacket << SizedString::BitsSize<9>(tab.Icon); _worldPacket.FlushBits(); - _worldPacket.WriteString(tab.Name); - _worldPacket.WriteString(tab.Icon); + _worldPacket << SizedString::Data(tab.Name); + _worldPacket << SizedString::Data(tab.Icon); } for (GuildBankItemInfo const& item : ItemInfo) @@ -639,8 +640,8 @@ WorldPacket const* WorldPackets::Guild::GuildBankQueryResults::Write() _worldPacket << int32(item.OnUseEnchantmentID); _worldPacket << int32(item.Flags); _worldPacket << item.Item; - _worldPacket.WriteBits(item.SocketEnchant.size(), 2); - _worldPacket.WriteBit(item.Locked); + _worldPacket << BitsSize<2>(item.SocketEnchant); + _worldPacket << Bits<1>(item.Locked); _worldPacket.FlushBits(); for (Item::ItemGemData const& socketEnchant : item.SocketEnchant) @@ -650,49 +651,43 @@ WorldPacket const* WorldPackets::Guild::GuildBankQueryResults::Write() return &_worldPacket; } -void WorldPackets::Guild::AutoGuildBankItem::Read() +void AutoGuildBankItem::Read() { _worldPacket >> Banker; _worldPacket >> BankTab; _worldPacket >> BankSlot; _worldPacket >> ContainerItemSlot; - - if (_worldPacket.ReadBit()) - ContainerSlot.emplace(); + _worldPacket >> OptionalInit(ContainerSlot); if (ContainerSlot) _worldPacket >> *ContainerSlot; } -void WorldPackets::Guild::StoreGuildBankItem::Read() +void StoreGuildBankItem::Read() { _worldPacket >> Banker; _worldPacket >> BankTab; _worldPacket >> BankSlot; _worldPacket >> ContainerItemSlot; - - if (_worldPacket.ReadBit()) - ContainerSlot.emplace(); + _worldPacket >> OptionalInit(ContainerSlot); if (ContainerSlot) _worldPacket >> *ContainerSlot; } -void WorldPackets::Guild::SwapItemWithGuildBankItem::Read() +void SwapItemWithGuildBankItem::Read() { _worldPacket >> Banker; _worldPacket >> BankTab; _worldPacket >> BankSlot; _worldPacket >> ContainerItemSlot; - - if (_worldPacket.ReadBit()) - ContainerSlot.emplace(); + _worldPacket >> OptionalInit(ContainerSlot); if (ContainerSlot) _worldPacket >> *ContainerSlot; } -void WorldPackets::Guild::SwapGuildBankItemWithGuildBankItem::Read() +void SwapGuildBankItemWithGuildBankItem::Read() { _worldPacket >> Banker; _worldPacket >> BankTab[0]; @@ -701,7 +696,7 @@ void WorldPackets::Guild::SwapGuildBankItemWithGuildBankItem::Read() _worldPacket >> BankSlot[1]; } -void WorldPackets::Guild::MoveGuildBankItem::Read() +void MoveGuildBankItem::Read() { _worldPacket >> Banker; _worldPacket >> BankTab; @@ -710,74 +705,66 @@ void WorldPackets::Guild::MoveGuildBankItem::Read() _worldPacket >> BankSlot1; } -void WorldPackets::Guild::MergeItemWithGuildBankItem::Read() +void MergeItemWithGuildBankItem::Read() { _worldPacket >> Banker; _worldPacket >> BankTab; _worldPacket >> BankSlot; _worldPacket >> ContainerItemSlot; _worldPacket >> StackCount; - - if (_worldPacket.ReadBit()) - ContainerSlot.emplace(); + _worldPacket >> OptionalInit(ContainerSlot); if (ContainerSlot) _worldPacket >> *ContainerSlot; } -void WorldPackets::Guild::SplitItemToGuildBank::Read() +void SplitItemToGuildBank::Read() { _worldPacket >> Banker; _worldPacket >> BankTab; _worldPacket >> BankSlot; _worldPacket >> ContainerItemSlot; _worldPacket >> StackCount; - - if (_worldPacket.ReadBit()) - ContainerSlot.emplace(); + _worldPacket >> OptionalInit(ContainerSlot); if (ContainerSlot) _worldPacket >> *ContainerSlot; } -void WorldPackets::Guild::MergeGuildBankItemWithItem::Read() +void MergeGuildBankItemWithItem::Read() { _worldPacket >> Banker; _worldPacket >> BankTab; _worldPacket >> BankSlot; _worldPacket >> ContainerItemSlot; _worldPacket >> StackCount; - - if (_worldPacket.ReadBit()) - ContainerSlot.emplace(); + _worldPacket >> OptionalInit(ContainerSlot); if (ContainerSlot) _worldPacket >> *ContainerSlot; } -void WorldPackets::Guild::SplitGuildBankItemToInventory::Read() +void SplitGuildBankItemToInventory::Read() { _worldPacket >> Banker; _worldPacket >> BankTab; _worldPacket >> BankSlot; _worldPacket >> ContainerItemSlot; _worldPacket >> StackCount; - - if (_worldPacket.ReadBit()) - ContainerSlot.emplace(); + _worldPacket >> OptionalInit(ContainerSlot); if (ContainerSlot) _worldPacket >> *ContainerSlot; } -void WorldPackets::Guild::AutoStoreGuildBankItem::Read() +void AutoStoreGuildBankItem::Read() { _worldPacket >> Banker; _worldPacket >> BankTab; _worldPacket >> BankSlot; } -void WorldPackets::Guild::MergeGuildBankItemWithGuildBankItem::Read() +void MergeGuildBankItemWithGuildBankItem::Read() { _worldPacket >> Banker; _worldPacket >> BankTab; @@ -787,7 +774,7 @@ void WorldPackets::Guild::MergeGuildBankItemWithGuildBankItem::Read() _worldPacket >> StackCount; } -void WorldPackets::Guild::SplitGuildBankItem::Read() +void SplitGuildBankItem::Read() { _worldPacket >> Banker; _worldPacket >> BankTab; @@ -797,16 +784,16 @@ void WorldPackets::Guild::SplitGuildBankItem::Read() _worldPacket >> StackCount; } -void WorldPackets::Guild::GuildBankLogQuery::Read() +void GuildBankLogQuery::Read() { _worldPacket >> Tab; } -WorldPacket const* WorldPackets::Guild::GuildBankLogQueryResults::Write() +WorldPacket const* GuildBankLogQueryResults::Write() { _worldPacket << int32(Tab); - _worldPacket << uint32(Entry.size()); - _worldPacket.WriteBit(WeeklyBonusMoney.has_value()); + _worldPacket << Size<uint32>(Entry); + _worldPacket << OptionalInit(WeeklyBonusMoney); _worldPacket.FlushBits(); for (GuildBankLogEntry const& logEntry : Entry) @@ -815,22 +802,22 @@ WorldPacket const* WorldPackets::Guild::GuildBankLogQueryResults::Write() _worldPacket << uint32(logEntry.TimeOffset); _worldPacket << int8(logEntry.EntryType); - _worldPacket.WriteBit(logEntry.Money.has_value()); - _worldPacket.WriteBit(logEntry.ItemID.has_value()); - _worldPacket.WriteBit(logEntry.Count.has_value()); - _worldPacket.WriteBit(logEntry.OtherTab.has_value()); + _worldPacket << OptionalInit(logEntry.Money); + _worldPacket << OptionalInit(logEntry.ItemID); + _worldPacket << OptionalInit(logEntry.Count); + _worldPacket << OptionalInit(logEntry.OtherTab); _worldPacket.FlushBits(); - if (logEntry.Money.has_value()) + if (logEntry.Money) _worldPacket << uint64(*logEntry.Money); - if (logEntry.ItemID.has_value()) + if (logEntry.ItemID) _worldPacket << int32(*logEntry.ItemID); - if (logEntry.Count.has_value()) + if (logEntry.Count) _worldPacket << int32(*logEntry.Count); - if (logEntry.OtherTab.has_value()) + if (logEntry.OtherTab) _worldPacket << int8(*logEntry.OtherTab); } @@ -840,35 +827,37 @@ WorldPacket const* WorldPackets::Guild::GuildBankLogQueryResults::Write() return &_worldPacket; } -void WorldPackets::Guild::GuildBankTextQuery::Read() +void GuildBankTextQuery::Read() { _worldPacket >> Tab; } -WorldPacket const* WorldPackets::Guild::GuildBankTextQueryResult::Write() +WorldPacket const* GuildBankTextQueryResult::Write() { _worldPacket << int32(Tab); - _worldPacket.WriteBits(Text.length(), 14); + _worldPacket << SizedString::BitsSize<14>(Text); _worldPacket.FlushBits(); - _worldPacket.WriteString(Text); + _worldPacket << SizedString::Data(Text); return &_worldPacket; } -void WorldPackets::Guild::GuildBankSetTabText::Read() +void GuildBankSetTabText::Read() { _worldPacket >> Tab; - TabText = _worldPacket.ReadString(_worldPacket.ReadBits(14)); + _worldPacket >> SizedString::BitsSize<14>(TabText); + + _worldPacket >> SizedString::Data(TabText); } -void WorldPackets::Guild::GuildQueryNews::Read() +void GuildQueryNews::Read() { _worldPacket >> GuildGUID; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Guild::GuildNewsEvent const& newsEvent) +ByteBuffer& operator<<(ByteBuffer& data, GuildNewsEvent const& newsEvent) { data << int32(newsEvent.Id); data << newsEvent.CompletedDate; @@ -879,12 +868,12 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Guild::GuildNewsEvent con data << int32(newsEvent.Data[i]); data << newsEvent.MemberGuid; - data << uint32(newsEvent.MemberList.size()); + data << Size<uint32>(newsEvent.MemberList); for (ObjectGuid memberGuid : newsEvent.MemberList) data << memberGuid; - data.WriteBit(newsEvent.Item.has_value()); + data << OptionalInit(newsEvent.Item); data.FlushBits(); if (newsEvent.Item) @@ -893,29 +882,30 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Guild::GuildNewsEvent con return data; } -WorldPacket const* WorldPackets::Guild::GuildNews::Write() +WorldPacket const* GuildNews::Write() { - _worldPacket << uint32(NewsEvents.size()); + _worldPacket << Size<uint32>(NewsEvents); for (GuildNewsEvent const& newsEvent : NewsEvents) _worldPacket << newsEvent; return &_worldPacket; } -void WorldPackets::Guild::GuildNewsUpdateSticky::Read() +void GuildNewsUpdateSticky::Read() { _worldPacket >> GuildGUID; _worldPacket >> NewsID; _worldPacket >> Bits<1>(Sticky); } -void WorldPackets::Guild::GuildSetGuildMaster::Read() +void GuildSetGuildMaster::Read() { - uint32 nameLen = _worldPacket.ReadBits(9); - NewMasterName = _worldPacket.ReadString(nameLen); + _worldPacket >> SizedString::BitsSize<9>(NewMasterName); + + _worldPacket >> SizedString::Data(NewMasterName); } -WorldPacket const* WorldPackets::Guild::GuildChallengeUpdate::Write() +WorldPacket const* GuildChallengeUpdate::Write() { for (int32 i = 0; i < GUILD_CHALLENGES_TYPES; ++i) _worldPacket << int32(CurrentCount[i]); @@ -932,7 +922,7 @@ WorldPacket const* WorldPackets::Guild::GuildChallengeUpdate::Write() return &_worldPacket; } -void WorldPackets::Guild::SaveGuildEmblem::Read() +void SaveGuildEmblem::Read() { _worldPacket >> Vendor; _worldPacket >> EStyle; @@ -942,27 +932,29 @@ void WorldPackets::Guild::SaveGuildEmblem::Read() _worldPacket >> Bg; } -WorldPacket const* WorldPackets::Guild::PlayerSaveGuildEmblem::Write() +WorldPacket const* PlayerSaveGuildEmblem::Write() { _worldPacket << int32(Error); return &_worldPacket; } -void WorldPackets::Guild::GuildSetAchievementTracking::Read() +void GuildSetAchievementTracking::Read() { - AchievementIDs.resize(_worldPacket.read<uint32>()); + _worldPacket >> Size<uint32>(AchievementIDs); for (uint32& achievementID : AchievementIDs) _worldPacket >> achievementID; } -WorldPacket const* WorldPackets::Guild::GuildNameChanged::Write() +WorldPacket const* GuildNameChanged::Write() { _worldPacket << GuildGUID; - _worldPacket.WriteBits(GuildName.length(), 7); + _worldPacket << SizedString::BitsSize<7>(GuildName); _worldPacket.FlushBits(); - _worldPacket.WriteString(GuildName); + + _worldPacket << SizedString::Data(GuildName); return &_worldPacket; } +} diff --git a/src/server/game/Server/Packets/GuildPackets.h b/src/server/game/Server/Packets/GuildPackets.h index 0cf34d7cf31..3841fffd092 100644 --- a/src/server/game/Server/Packets/GuildPackets.h +++ b/src/server/game/Server/Packets/GuildPackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef GuildPackets_h__ -#define GuildPackets_h__ +#ifndef TRINITYCORE_GUILDPACKETS_H +#define TRINITYCORE_GUILDPACKETS_H #include "Packet.h" #include "ItemPacketsCommon.h" @@ -33,7 +33,7 @@ namespace WorldPackets class QueryGuildInfo final : public ClientPacket { public: - QueryGuildInfo(WorldPacket&& packet) : ClientPacket(CMSG_QUERY_GUILD_INFO, std::move(packet)) { } + explicit QueryGuildInfo(WorldPacket&& packet) : ClientPacket(CMSG_QUERY_GUILD_INFO, std::move(packet)) { } void Read() override; @@ -71,7 +71,7 @@ namespace WorldPackets class QueryGuildInfoResponse final : public ServerPacket { public: - QueryGuildInfoResponse(); + explicit QueryGuildInfoResponse() : ServerPacket(SMSG_QUERY_GUILD_INFO_RESPONSE) { } WorldPacket const* Write() override; @@ -82,7 +82,7 @@ namespace WorldPackets class GuildGetRoster final : public ClientPacket { public: - GuildGetRoster(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_GET_ROSTER, std::move(packet)) { } + explicit GuildGetRoster(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_GET_ROSTER, std::move(packet)) { } void Read() override { } }; @@ -124,7 +124,7 @@ namespace WorldPackets class GuildRoster final : public ServerPacket { public: - GuildRoster() : ServerPacket(SMSG_GUILD_ROSTER, 4 + 4 + 4 + 4) { } + explicit GuildRoster() : ServerPacket(SMSG_GUILD_ROSTER, 4 + 4 + 4 + 4) { } WorldPacket const* Write() override; @@ -139,7 +139,7 @@ namespace WorldPackets class GuildUpdateMotdText final : public ClientPacket { public: - GuildUpdateMotdText(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_UPDATE_MOTD_TEXT, std::move(packet)) { } + explicit GuildUpdateMotdText(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_UPDATE_MOTD_TEXT, std::move(packet)) { } void Read() override; @@ -149,7 +149,7 @@ namespace WorldPackets class GuildCommandResult final : public ServerPacket { public: - GuildCommandResult() : ServerPacket(SMSG_GUILD_COMMAND_RESULT, 9) { } + explicit GuildCommandResult() : ServerPacket(SMSG_GUILD_COMMAND_RESULT, 9) { } WorldPacket const* Write() override; @@ -161,7 +161,7 @@ namespace WorldPackets class AcceptGuildInvite final : public ClientPacket { public: - AcceptGuildInvite(WorldPacket&& packet) : ClientPacket(CMSG_ACCEPT_GUILD_INVITE, std::move(packet)) { } + explicit AcceptGuildInvite(WorldPacket&& packet) : ClientPacket(CMSG_ACCEPT_GUILD_INVITE, std::move(packet)) { } void Read() override; @@ -171,7 +171,7 @@ namespace WorldPackets class GuildDeclineInvitation final : public ClientPacket { public: - GuildDeclineInvitation(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_DECLINE_INVITATION, std::move(packet)) { } + explicit GuildDeclineInvitation(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_DECLINE_INVITATION, std::move(packet)) { } void Read() override; @@ -182,7 +182,7 @@ namespace WorldPackets class DeclineGuildInvites final : public ClientPacket { public: - DeclineGuildInvites(WorldPacket&& packet) : ClientPacket(CMSG_DECLINE_GUILD_INVITES, std::move(packet)) { } + explicit DeclineGuildInvites(WorldPacket&& packet) : ClientPacket(CMSG_DECLINE_GUILD_INVITES, std::move(packet)) { } void Read() override; @@ -192,7 +192,7 @@ namespace WorldPackets class GuildInviteByName final : public ClientPacket { public: - GuildInviteByName(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_INVITE_BY_NAME, std::move(packet)) { } + explicit GuildInviteByName(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_INVITE_BY_NAME, std::move(packet)) { } void Read() override; @@ -203,7 +203,7 @@ namespace WorldPackets class GuildInvite final : public ServerPacket { public: - GuildInvite() : ServerPacket(SMSG_GUILD_INVITE, 68) { } + explicit GuildInvite() : ServerPacket(SMSG_GUILD_INVITE, 68) { } WorldPacket const* Write() override; @@ -226,7 +226,7 @@ namespace WorldPackets class GuildEventStatusChange final : public ServerPacket { public: - GuildEventStatusChange() : ServerPacket(SMSG_GUILD_EVENT_STATUS_CHANGE, 16 + 1) { } + explicit GuildEventStatusChange() : ServerPacket(SMSG_GUILD_EVENT_STATUS_CHANGE, 16 + 1) { } WorldPacket const* Write() override; @@ -238,7 +238,7 @@ namespace WorldPackets class GuildEventPresenceChange final : public ServerPacket { public: - GuildEventPresenceChange() : ServerPacket(SMSG_GUILD_EVENT_PRESENCE_CHANGE, 16 + 4 + 1 + 1) { } + explicit GuildEventPresenceChange() : ServerPacket(SMSG_GUILD_EVENT_PRESENCE_CHANGE, 16 + 4 + 1 + 1) { } WorldPacket const* Write() override; @@ -251,7 +251,7 @@ namespace WorldPackets class GuildEventMotd final : public ServerPacket { public: - GuildEventMotd() : ServerPacket(SMSG_GUILD_EVENT_MOTD, 1) { } + explicit GuildEventMotd() : ServerPacket(SMSG_GUILD_EVENT_MOTD, 1) { } WorldPacket const* Write() override; @@ -261,7 +261,7 @@ namespace WorldPackets class GuildEventPlayerJoined final : public ServerPacket { public: - GuildEventPlayerJoined() : ServerPacket(SMSG_GUILD_EVENT_PLAYER_JOINED, 21) { } + explicit GuildEventPlayerJoined() : ServerPacket(SMSG_GUILD_EVENT_PLAYER_JOINED, 21) { } WorldPacket const* Write() override; @@ -273,7 +273,7 @@ namespace WorldPackets class GuildEventRankChanged final : public ServerPacket { public: - GuildEventRankChanged() : ServerPacket(SMSG_GUILD_EVENT_RANK_CHANGED, 4) { } + explicit GuildEventRankChanged() : ServerPacket(SMSG_GUILD_EVENT_RANK_CHANGED, 4) { } WorldPacket const* Write() override; @@ -283,7 +283,7 @@ namespace WorldPackets class GuildEventRanksUpdated final : public ServerPacket { public: - GuildEventRanksUpdated() : ServerPacket(SMSG_GUILD_EVENT_RANKS_UPDATED, 0) { } + explicit GuildEventRanksUpdated() : ServerPacket(SMSG_GUILD_EVENT_RANKS_UPDATED, 0) { } WorldPacket const* Write() override { return &_worldPacket; } }; @@ -291,7 +291,7 @@ namespace WorldPackets class GuildEventBankMoneyChanged final : public ServerPacket { public: - GuildEventBankMoneyChanged() : ServerPacket(SMSG_GUILD_EVENT_BANK_MONEY_CHANGED, 8) { } + explicit GuildEventBankMoneyChanged() : ServerPacket(SMSG_GUILD_EVENT_BANK_MONEY_CHANGED, 8) { } WorldPacket const* Write() override; @@ -301,7 +301,7 @@ namespace WorldPackets class GuildEventDisbanded final : public ServerPacket { public: - GuildEventDisbanded() : ServerPacket(SMSG_GUILD_EVENT_DISBANDED, 0) { } + explicit GuildEventDisbanded() : ServerPacket(SMSG_GUILD_EVENT_DISBANDED, 0) { } WorldPacket const* Write() override { return &_worldPacket; } }; @@ -318,7 +318,7 @@ namespace WorldPackets class GuildEventLogQuery final : public ClientPacket { public: - GuildEventLogQuery(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_EVENT_LOG_QUERY, std::move(packet)) { } + explicit GuildEventLogQuery(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_EVENT_LOG_QUERY, std::move(packet)) { } void Read() override { } }; @@ -326,7 +326,7 @@ namespace WorldPackets class GuildEventLogQueryResults final : public ServerPacket { public: - GuildEventLogQueryResults() : ServerPacket(SMSG_GUILD_EVENT_LOG_QUERY_RESULTS, 4) { } + explicit GuildEventLogQueryResults() : ServerPacket(SMSG_GUILD_EVENT_LOG_QUERY_RESULTS, 4) { } WorldPacket const* Write() override; @@ -336,7 +336,7 @@ namespace WorldPackets class GuildEventPlayerLeft final : public ServerPacket { public: - GuildEventPlayerLeft() : ServerPacket(SMSG_GUILD_EVENT_PLAYER_LEFT, 43) { } + explicit GuildEventPlayerLeft() : ServerPacket(SMSG_GUILD_EVENT_PLAYER_LEFT, 43) { } WorldPacket const* Write() override; @@ -352,7 +352,7 @@ namespace WorldPackets class GuildEventNewLeader final : public ServerPacket { public: - GuildEventNewLeader() : ServerPacket(SMSG_GUILD_EVENT_NEW_LEADER, 43) { } + explicit GuildEventNewLeader() : ServerPacket(SMSG_GUILD_EVENT_NEW_LEADER, 43) { } WorldPacket const* Write() override; @@ -368,7 +368,7 @@ namespace WorldPackets class GuildEventTabAdded final : public ServerPacket { public: - GuildEventTabAdded() : ServerPacket(SMSG_GUILD_EVENT_TAB_ADDED, 0) { } + explicit GuildEventTabAdded() : ServerPacket(SMSG_GUILD_EVENT_TAB_ADDED, 0) { } WorldPacket const* Write() override { return &_worldPacket; } }; @@ -376,7 +376,7 @@ namespace WorldPackets class GuildEventTabModified final : public ServerPacket { public: - GuildEventTabModified() : ServerPacket(SMSG_GUILD_EVENT_TAB_MODIFIED, 6) { } + explicit GuildEventTabModified() : ServerPacket(SMSG_GUILD_EVENT_TAB_MODIFIED, 6) { } WorldPacket const* Write() override; @@ -388,7 +388,7 @@ namespace WorldPackets class GuildEventTabTextChanged final : public ServerPacket { public: - GuildEventTabTextChanged() : ServerPacket(SMSG_GUILD_EVENT_TAB_TEXT_CHANGED, 4) { } + explicit GuildEventTabTextChanged() : ServerPacket(SMSG_GUILD_EVENT_TAB_TEXT_CHANGED, 4) { } WorldPacket const* Write() override; @@ -398,7 +398,7 @@ namespace WorldPackets class GuildEventBankContentsChanged final : public ServerPacket { public: - GuildEventBankContentsChanged() : ServerPacket(SMSG_GUILD_EVENT_BANK_CONTENTS_CHANGED, 0) { } + explicit GuildEventBankContentsChanged() : ServerPacket(SMSG_GUILD_EVENT_BANK_CONTENTS_CHANGED, 0) { } WorldPacket const* Write() override { return &_worldPacket; } }; @@ -406,7 +406,7 @@ namespace WorldPackets class GuildPermissionsQuery final : public ClientPacket { public: - GuildPermissionsQuery(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_PERMISSIONS_QUERY, std::move(packet)) { } + explicit GuildPermissionsQuery(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_PERMISSIONS_QUERY, std::move(packet)) { } void Read() override { } }; @@ -420,7 +420,7 @@ namespace WorldPackets int32 WithdrawItemLimit = 0; }; - GuildPermissionsQueryResults() : ServerPacket(SMSG_GUILD_PERMISSIONS_QUERY_RESULTS, 20) { } + explicit GuildPermissionsQueryResults() : ServerPacket(SMSG_GUILD_PERMISSIONS_QUERY_RESULTS, 20) { } WorldPacket const* Write() override; @@ -434,7 +434,7 @@ namespace WorldPackets class GuildSetRankPermissions final : public ClientPacket { public: - GuildSetRankPermissions(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_SET_RANK_PERMISSIONS, std::move(packet)) { } + explicit GuildSetRankPermissions(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_SET_RANK_PERMISSIONS, std::move(packet)) { } void Read() override; @@ -451,7 +451,7 @@ namespace WorldPackets class GuildAddRank final : public ClientPacket { public: - GuildAddRank(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_ADD_RANK, std::move(packet)) { } + explicit GuildAddRank(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_ADD_RANK, std::move(packet)) { } void Read() override; @@ -462,7 +462,7 @@ namespace WorldPackets class GuildAssignMemberRank final : public ClientPacket { public: - GuildAssignMemberRank(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_ASSIGN_MEMBER_RANK, std::move(packet)) { } + explicit GuildAssignMemberRank(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_ASSIGN_MEMBER_RANK, std::move(packet)) { } void Read() override; @@ -473,7 +473,7 @@ namespace WorldPackets class GuildDeleteRank final : public ClientPacket { public: - GuildDeleteRank(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_DELETE_RANK, std::move(packet)) { } + explicit GuildDeleteRank(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_DELETE_RANK, std::move(packet)) { } void Read() override; @@ -483,7 +483,7 @@ namespace WorldPackets class GuildGetRanks final : public ClientPacket { public: - GuildGetRanks(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_GET_RANKS, std::move(packet)) { } + explicit GuildGetRanks(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_GET_RANKS, std::move(packet)) { } void Read() override; @@ -504,7 +504,7 @@ namespace WorldPackets class GuildRanks final : public ServerPacket { public: - GuildRanks() : ServerPacket(SMSG_GUILD_RANKS, 4) { } + explicit GuildRanks() : ServerPacket(SMSG_GUILD_RANKS, 4) { } WorldPacket const* Write() override; @@ -514,7 +514,7 @@ namespace WorldPackets class GuildSendRankChange final : public ServerPacket { public: - GuildSendRankChange() : ServerPacket(SMSG_GUILD_SEND_RANK_CHANGE, 43) { } + explicit GuildSendRankChange() : ServerPacket(SMSG_GUILD_SEND_RANK_CHANGE, 43) { } WorldPacket const* Write() override; @@ -527,7 +527,7 @@ namespace WorldPackets class GuildShiftRank final : public ClientPacket { public: - GuildShiftRank(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_SHIFT_RANK, std::move(packet)) { } + explicit GuildShiftRank(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_SHIFT_RANK, std::move(packet)) { } void Read() override; @@ -538,7 +538,7 @@ namespace WorldPackets class GuildUpdateInfoText final : public ClientPacket { public: - GuildUpdateInfoText(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_UPDATE_INFO_TEXT, std::move(packet)) { } + explicit GuildUpdateInfoText(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_UPDATE_INFO_TEXT, std::move(packet)) { } void Read() override; @@ -548,7 +548,7 @@ namespace WorldPackets class GuildSetMemberNote final : public ClientPacket { public: - GuildSetMemberNote(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_SET_MEMBER_NOTE, std::move(packet)) { } + explicit GuildSetMemberNote(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_SET_MEMBER_NOTE, std::move(packet)) { } void Read() override; @@ -560,7 +560,7 @@ namespace WorldPackets class GuildMemberUpdateNote final : public ServerPacket { public: - GuildMemberUpdateNote() : ServerPacket(SMSG_GUILD_MEMBER_UPDATE_NOTE, 21) { } + explicit GuildMemberUpdateNote() : ServerPacket(SMSG_GUILD_MEMBER_UPDATE_NOTE, 21) { } WorldPacket const* Write() override; @@ -572,7 +572,7 @@ namespace WorldPackets class GuildMemberDailyReset final : public ServerPacket { public: - GuildMemberDailyReset() : ServerPacket(SMSG_GUILD_MEMBER_DAILY_RESET, 0) { } + explicit GuildMemberDailyReset() : ServerPacket(SMSG_GUILD_MEMBER_DAILY_RESET, 0) { } WorldPacket const* Write() override { return &_worldPacket; } }; @@ -580,7 +580,7 @@ namespace WorldPackets class GuildDelete final : public ClientPacket { public: - GuildDelete(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_DELETE, std::move(packet)) { } + explicit GuildDelete(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_DELETE, std::move(packet)) { } void Read() override { } }; @@ -588,7 +588,7 @@ namespace WorldPackets class GuildDemoteMember final : public ClientPacket { public: - GuildDemoteMember(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_DEMOTE_MEMBER, std::move(packet)) { } + explicit GuildDemoteMember(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_DEMOTE_MEMBER, std::move(packet)) { } void Read() override; @@ -598,7 +598,7 @@ namespace WorldPackets class GuildPromoteMember final : public ClientPacket { public: - GuildPromoteMember(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_PROMOTE_MEMBER, std::move(packet)) { } + explicit GuildPromoteMember(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_PROMOTE_MEMBER, std::move(packet)) { } void Read() override; @@ -608,7 +608,7 @@ namespace WorldPackets class GuildOfficerRemoveMember : public ClientPacket { public: - GuildOfficerRemoveMember(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_OFFICER_REMOVE_MEMBER, std::move(packet)) { } + explicit GuildOfficerRemoveMember(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_OFFICER_REMOVE_MEMBER, std::move(packet)) { } void Read() override; @@ -618,7 +618,7 @@ namespace WorldPackets class GuildLeave final : public ClientPacket { public: - GuildLeave(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_LEAVE, std::move(packet)) { } + explicit GuildLeave(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_LEAVE, std::move(packet)) { } void Read() override { } }; @@ -626,7 +626,7 @@ namespace WorldPackets class GuildChangeNameRequest final : public ClientPacket { public: - GuildChangeNameRequest(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_CHANGE_NAME_REQUEST, std::move(packet)) { } + explicit GuildChangeNameRequest(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_CHANGE_NAME_REQUEST, std::move(packet)) { } void Read() override; @@ -636,7 +636,7 @@ namespace WorldPackets class GuildFlaggedForRename final : public ServerPacket { public: - GuildFlaggedForRename() : ServerPacket(SMSG_GUILD_FLAGGED_FOR_RENAME, 1) { } + explicit GuildFlaggedForRename() : ServerPacket(SMSG_GUILD_FLAGGED_FOR_RENAME, 1) { } WorldPacket const* Write() override; @@ -646,7 +646,7 @@ namespace WorldPackets class RequestGuildPartyState final : public ClientPacket { public: - RequestGuildPartyState(WorldPacket&& packet) : ClientPacket(CMSG_REQUEST_GUILD_PARTY_STATE, std::move(packet)) { } + explicit RequestGuildPartyState(WorldPacket&& packet) : ClientPacket(CMSG_REQUEST_GUILD_PARTY_STATE, std::move(packet)) { } void Read() override; @@ -656,7 +656,7 @@ namespace WorldPackets class GuildPartyState final : public ServerPacket { public: - GuildPartyState() : ServerPacket(SMSG_GUILD_PARTY_STATE, 15) { } + explicit GuildPartyState() : ServerPacket(SMSG_GUILD_PARTY_STATE, 15) { } WorldPacket const* Write() override; @@ -669,7 +669,7 @@ namespace WorldPackets class RequestGuildRewardsList final : public ClientPacket { public: - RequestGuildRewardsList(WorldPacket&& packet) : ClientPacket(CMSG_REQUEST_GUILD_REWARDS_LIST, std::move(packet)) { } + explicit RequestGuildRewardsList(WorldPacket&& packet) : ClientPacket(CMSG_REQUEST_GUILD_REWARDS_LIST, std::move(packet)) { } void Read() override; @@ -690,7 +690,7 @@ namespace WorldPackets class GuildRewardList final : public ServerPacket { public: - GuildRewardList() : ServerPacket(SMSG_GUILD_REWARD_LIST, 8) { } + explicit GuildRewardList() : ServerPacket(SMSG_GUILD_REWARD_LIST, 8) { } WorldPacket const* Write() override; @@ -701,7 +701,7 @@ namespace WorldPackets class GuildBankActivate final : public ClientPacket { public: - GuildBankActivate(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_ACTIVATE, std::move(packet)) { } + explicit GuildBankActivate(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_ACTIVATE, std::move(packet)) { } void Read() override; @@ -712,7 +712,7 @@ namespace WorldPackets class GuildBankBuyTab final : public ClientPacket { public: - GuildBankBuyTab(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_BUY_TAB, std::move(packet)) { } + explicit GuildBankBuyTab(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_BUY_TAB, std::move(packet)) { } void Read() override; @@ -723,7 +723,7 @@ namespace WorldPackets class GuildBankUpdateTab final : public ClientPacket { public: - GuildBankUpdateTab(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_UPDATE_TAB, std::move(packet)) { } + explicit GuildBankUpdateTab(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_UPDATE_TAB, std::move(packet)) { } void Read() override; @@ -736,7 +736,7 @@ namespace WorldPackets class GuildBankDepositMoney final : public ClientPacket { public: - GuildBankDepositMoney(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_DEPOSIT_MONEY, std::move(packet)) { } + explicit GuildBankDepositMoney(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_DEPOSIT_MONEY, std::move(packet)) { } void Read() override; @@ -747,7 +747,7 @@ namespace WorldPackets class GuildBankQueryTab final : public ClientPacket { public: - GuildBankQueryTab(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_QUERY_TAB, std::move(packet)) { } + explicit GuildBankQueryTab(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_QUERY_TAB, std::move(packet)) { } void Read() override; @@ -759,7 +759,7 @@ namespace WorldPackets class GuildBankRemainingWithdrawMoneyQuery final : public ClientPacket { public: - GuildBankRemainingWithdrawMoneyQuery(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY_QUERY, std::move(packet)) { } + explicit GuildBankRemainingWithdrawMoneyQuery(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY_QUERY, std::move(packet)) { } void Read() override { } }; @@ -767,7 +767,7 @@ namespace WorldPackets class GuildBankRemainingWithdrawMoney final : public ServerPacket { public: - GuildBankRemainingWithdrawMoney() : ServerPacket(SMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY, 8) { } + explicit GuildBankRemainingWithdrawMoney() : ServerPacket(SMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY, 8) { } WorldPacket const* Write() override; @@ -777,7 +777,7 @@ namespace WorldPackets class GuildBankWithdrawMoney final : public ClientPacket { public: - GuildBankWithdrawMoney(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_WITHDRAW_MONEY, std::move(packet)) { } + explicit GuildBankWithdrawMoney(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_WITHDRAW_MONEY, std::move(packet)) { } void Read() override; @@ -808,7 +808,7 @@ namespace WorldPackets class GuildBankQueryResults final : public ServerPacket { public: - GuildBankQueryResults() : ServerPacket(SMSG_GUILD_BANK_QUERY_RESULTS, 25) { } + explicit GuildBankQueryResults() : ServerPacket(SMSG_GUILD_BANK_QUERY_RESULTS, 25) { } WorldPacket const* Write() override; @@ -823,7 +823,7 @@ namespace WorldPackets class AutoGuildBankItem final : public ClientPacket { public: - AutoGuildBankItem(WorldPacket&& packet) : ClientPacket(CMSG_AUTO_GUILD_BANK_ITEM, std::move(packet)) { } + explicit AutoGuildBankItem(WorldPacket&& packet) : ClientPacket(CMSG_AUTO_GUILD_BANK_ITEM, std::move(packet)) { } void Read() override; @@ -837,7 +837,7 @@ namespace WorldPackets class StoreGuildBankItem final : public ClientPacket { public: - StoreGuildBankItem(WorldPacket&& packet) : ClientPacket(CMSG_STORE_GUILD_BANK_ITEM, std::move(packet)) { } + explicit StoreGuildBankItem(WorldPacket&& packet) : ClientPacket(CMSG_STORE_GUILD_BANK_ITEM, std::move(packet)) { } void Read() override; @@ -851,7 +851,7 @@ namespace WorldPackets class SwapItemWithGuildBankItem final : public ClientPacket { public: - SwapItemWithGuildBankItem(WorldPacket&& packet) : ClientPacket(CMSG_SWAP_ITEM_WITH_GUILD_BANK_ITEM, std::move(packet)) { } + explicit SwapItemWithGuildBankItem(WorldPacket&& packet) : ClientPacket(CMSG_SWAP_ITEM_WITH_GUILD_BANK_ITEM, std::move(packet)) { } void Read() override; @@ -865,7 +865,7 @@ namespace WorldPackets class SwapGuildBankItemWithGuildBankItem final : public ClientPacket { public: - SwapGuildBankItemWithGuildBankItem(WorldPacket&& packet) : ClientPacket(CMSG_SWAP_GUILD_BANK_ITEM_WITH_GUILD_BANK_ITEM, std::move(packet)) { } + explicit SwapGuildBankItemWithGuildBankItem(WorldPacket&& packet) : ClientPacket(CMSG_SWAP_GUILD_BANK_ITEM_WITH_GUILD_BANK_ITEM, std::move(packet)) { } void Read() override; @@ -877,7 +877,7 @@ namespace WorldPackets class MoveGuildBankItem final : public ClientPacket { public: - MoveGuildBankItem(WorldPacket&& packet) : ClientPacket(CMSG_MOVE_GUILD_BANK_ITEM, std::move(packet)) { } + explicit MoveGuildBankItem(WorldPacket&& packet) : ClientPacket(CMSG_MOVE_GUILD_BANK_ITEM, std::move(packet)) { } void Read() override; @@ -891,7 +891,7 @@ namespace WorldPackets class MergeItemWithGuildBankItem final : public ClientPacket { public: - MergeItemWithGuildBankItem(WorldPacket&& packet) : ClientPacket(CMSG_MERGE_ITEM_WITH_GUILD_BANK_ITEM, std::move(packet)) { } + explicit MergeItemWithGuildBankItem(WorldPacket&& packet) : ClientPacket(CMSG_MERGE_ITEM_WITH_GUILD_BANK_ITEM, std::move(packet)) { } void Read() override; @@ -906,7 +906,7 @@ namespace WorldPackets class SplitItemToGuildBank final : public ClientPacket { public: - SplitItemToGuildBank(WorldPacket&& packet) : ClientPacket(CMSG_SPLIT_ITEM_TO_GUILD_BANK, std::move(packet)) { } + explicit SplitItemToGuildBank(WorldPacket&& packet) : ClientPacket(CMSG_SPLIT_ITEM_TO_GUILD_BANK, std::move(packet)) { } void Read() override; @@ -921,7 +921,7 @@ namespace WorldPackets class MergeGuildBankItemWithItem final : public ClientPacket { public: - MergeGuildBankItemWithItem(WorldPacket&& packet) : ClientPacket(CMSG_MERGE_GUILD_BANK_ITEM_WITH_ITEM, std::move(packet)) { } + explicit MergeGuildBankItemWithItem(WorldPacket&& packet) : ClientPacket(CMSG_MERGE_GUILD_BANK_ITEM_WITH_ITEM, std::move(packet)) { } void Read() override; @@ -936,7 +936,7 @@ namespace WorldPackets class SplitGuildBankItemToInventory final : public ClientPacket { public: - SplitGuildBankItemToInventory(WorldPacket&& packet) : ClientPacket(CMSG_SPLIT_GUILD_BANK_ITEM_TO_INVENTORY, std::move(packet)) { } + explicit SplitGuildBankItemToInventory(WorldPacket&& packet) : ClientPacket(CMSG_SPLIT_GUILD_BANK_ITEM_TO_INVENTORY, std::move(packet)) { } void Read() override; @@ -951,7 +951,7 @@ namespace WorldPackets class AutoStoreGuildBankItem final : public ClientPacket { public: - AutoStoreGuildBankItem(WorldPacket&& packet) : ClientPacket(CMSG_AUTO_STORE_GUILD_BANK_ITEM, std::move(packet)) { } + explicit AutoStoreGuildBankItem(WorldPacket&& packet) : ClientPacket(CMSG_AUTO_STORE_GUILD_BANK_ITEM, std::move(packet)) { } void Read() override; @@ -963,7 +963,7 @@ namespace WorldPackets class MergeGuildBankItemWithGuildBankItem final : public ClientPacket { public: - MergeGuildBankItemWithGuildBankItem(WorldPacket&& packet) : ClientPacket(CMSG_MERGE_GUILD_BANK_ITEM_WITH_GUILD_BANK_ITEM, std::move(packet)) { } + explicit MergeGuildBankItemWithGuildBankItem(WorldPacket&& packet) : ClientPacket(CMSG_MERGE_GUILD_BANK_ITEM_WITH_GUILD_BANK_ITEM, std::move(packet)) { } void Read() override; @@ -978,7 +978,7 @@ namespace WorldPackets class SplitGuildBankItem final : public ClientPacket { public: - SplitGuildBankItem(WorldPacket&& packet) : ClientPacket(CMSG_SPLIT_GUILD_BANK_ITEM, std::move(packet)) { } + explicit SplitGuildBankItem(WorldPacket&& packet) : ClientPacket(CMSG_SPLIT_GUILD_BANK_ITEM, std::move(packet)) { } void Read() override; @@ -993,7 +993,7 @@ namespace WorldPackets class GuildBankLogQuery final : public ClientPacket { public: - GuildBankLogQuery(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_LOG_QUERY, std::move(packet)) { } + explicit GuildBankLogQuery(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_LOG_QUERY, std::move(packet)) { } void Read() override; @@ -1014,7 +1014,7 @@ namespace WorldPackets class GuildBankLogQueryResults final : public ServerPacket { public: - GuildBankLogQueryResults() : ServerPacket(SMSG_GUILD_BANK_LOG_QUERY_RESULTS, 25) { } + explicit GuildBankLogQueryResults() : ServerPacket(SMSG_GUILD_BANK_LOG_QUERY_RESULTS, 25) { } WorldPacket const* Write() override; @@ -1026,7 +1026,7 @@ namespace WorldPackets class GuildBankTextQuery final : public ClientPacket { public: - GuildBankTextQuery(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_TEXT_QUERY, std::move(packet)) { } + explicit GuildBankTextQuery(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_TEXT_QUERY, std::move(packet)) { } void Read() override; @@ -1036,7 +1036,7 @@ namespace WorldPackets class GuildBankTextQueryResult : public ServerPacket { public: - GuildBankTextQueryResult() : ServerPacket(SMSG_GUILD_BANK_TEXT_QUERY_RESULT, 4 + 2) { } + explicit GuildBankTextQueryResult() : ServerPacket(SMSG_GUILD_BANK_TEXT_QUERY_RESULT, 4 + 2) { } WorldPacket const* Write() override; @@ -1047,7 +1047,7 @@ namespace WorldPackets class GuildBankSetTabText final : public ClientPacket { public: - GuildBankSetTabText(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_SET_TAB_TEXT, std::move(packet)) { } + explicit GuildBankSetTabText(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_BANK_SET_TAB_TEXT, std::move(packet)) { } void Read() override; @@ -1058,7 +1058,7 @@ namespace WorldPackets class GuildQueryNews final : public ClientPacket { public: - GuildQueryNews(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_QUERY_NEWS, std::move(packet)) { } + explicit GuildQueryNews(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_QUERY_NEWS, std::move(packet)) { } void Read() override; @@ -1080,7 +1080,7 @@ namespace WorldPackets class GuildNews final : public ServerPacket { public: - GuildNews() : ServerPacket(SMSG_GUILD_NEWS, 25) { } + explicit GuildNews() : ServerPacket(SMSG_GUILD_NEWS, 25) { } WorldPacket const* Write() override; @@ -1090,7 +1090,7 @@ namespace WorldPackets class GuildNewsUpdateSticky final : public ClientPacket { public: - GuildNewsUpdateSticky(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_NEWS_UPDATE_STICKY, std::move(packet)) { } + explicit GuildNewsUpdateSticky(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_NEWS_UPDATE_STICKY, std::move(packet)) { } void Read() override; @@ -1102,7 +1102,7 @@ namespace WorldPackets class GuildReplaceGuildMaster final : public ClientPacket { public: - GuildReplaceGuildMaster(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_REPLACE_GUILD_MASTER, std::move(packet)) { } + explicit GuildReplaceGuildMaster(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_REPLACE_GUILD_MASTER, std::move(packet)) { } void Read() override { } }; @@ -1110,7 +1110,7 @@ namespace WorldPackets class GuildSetGuildMaster final : public ClientPacket { public: - GuildSetGuildMaster(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_SET_GUILD_MASTER, std::move(packet)) { } + explicit GuildSetGuildMaster(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_SET_GUILD_MASTER, std::move(packet)) { } void Read() override; @@ -1120,7 +1120,7 @@ namespace WorldPackets class GuildChallengeUpdateRequest final : public ClientPacket { public: - GuildChallengeUpdateRequest(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_CHALLENGE_UPDATE_REQUEST, std::move(packet)) { } + explicit GuildChallengeUpdateRequest(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_CHALLENGE_UPDATE_REQUEST, std::move(packet)) { } void Read() override { } }; @@ -1128,7 +1128,7 @@ namespace WorldPackets class GuildChallengeUpdate final : public ServerPacket { public: - GuildChallengeUpdate() : ServerPacket(SMSG_GUILD_CHALLENGE_UPDATE, 96) { } + explicit GuildChallengeUpdate() : ServerPacket(SMSG_GUILD_CHALLENGE_UPDATE, 96) { } WorldPacket const* Write() override; @@ -1141,7 +1141,7 @@ namespace WorldPackets class SaveGuildEmblem final : public ClientPacket { public: - SaveGuildEmblem(WorldPacket&& packet) : ClientPacket(CMSG_SAVE_GUILD_EMBLEM, std::move(packet)) { } + explicit SaveGuildEmblem(WorldPacket&& packet) : ClientPacket(CMSG_SAVE_GUILD_EMBLEM, std::move(packet)) { } void Read() override; @@ -1156,7 +1156,7 @@ namespace WorldPackets class PlayerSaveGuildEmblem final : public ServerPacket { public: - PlayerSaveGuildEmblem() : ServerPacket(SMSG_PLAYER_SAVE_GUILD_EMBLEM, 4) { } + explicit PlayerSaveGuildEmblem() : ServerPacket(SMSG_PLAYER_SAVE_GUILD_EMBLEM, 4) { } WorldPacket const* Write() override; @@ -1166,7 +1166,7 @@ namespace WorldPackets class GuildSetAchievementTracking final : public ClientPacket { public: - GuildSetAchievementTracking(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_SET_ACHIEVEMENT_TRACKING, std::move(packet)) { } + explicit GuildSetAchievementTracking(WorldPacket&& packet) : ClientPacket(CMSG_GUILD_SET_ACHIEVEMENT_TRACKING, std::move(packet)) { } void Read() override; @@ -1176,7 +1176,7 @@ namespace WorldPackets class GuildNameChanged final : ServerPacket { public: - GuildNameChanged() : ServerPacket(SMSG_GUILD_NAME_CHANGED, 40) { } + explicit GuildNameChanged() : ServerPacket(SMSG_GUILD_NAME_CHANGED, 40) { } WorldPacket const* Write() override; @@ -1186,10 +1186,4 @@ namespace WorldPackets } } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Guild::GuildRosterProfessionData const& rosterProfessionData); -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Guild::GuildRosterMemberData const& rosterMemberData); -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Guild::GuildRankData const& rankData); -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Guild::GuildRewardItem const& rewardItem); -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Guild::GuildNewsEvent const& newsEvent); - -#endif // GuildPackets_h__ +#endif // TRINITYCORE_GUILDPACKETS_H diff --git a/src/server/game/Server/Packets/HotfixPackets.cpp b/src/server/game/Server/Packets/HotfixPackets.cpp index 3e22cb39e60..4b1be2daad8 100644 --- a/src/server/game/Server/Packets/HotfixPackets.cpp +++ b/src/server/game/Server/Packets/HotfixPackets.cpp @@ -17,16 +17,14 @@ #include "HotfixPackets.h" #include "PacketUtilities.h" -#include "Util.h" -namespace WorldPackets -{ -namespace Hotfix +namespace WorldPackets::Hotfix { ByteBuffer& operator>>(ByteBuffer& data, DB2Manager::HotfixId& hotfixId) { data >> hotfixId.PushID; data >> hotfixId.UniqueID; + return data; } @@ -34,6 +32,7 @@ ByteBuffer& operator<<(ByteBuffer& data, DB2Manager::HotfixId const& hotfixId) { data << int32(hotfixId.PushID); data << uint32(hotfixId.UniqueID); + return data; } @@ -42,6 +41,7 @@ ByteBuffer& operator>>(ByteBuffer& data, DB2Manager::HotfixRecord& hotfixRecord) data >> hotfixRecord.ID; data >> hotfixRecord.TableHash; data >> hotfixRecord.RecordID; + return data; } @@ -50,18 +50,17 @@ ByteBuffer& operator<<(ByteBuffer& data, DB2Manager::HotfixRecord const& hotfixR data << hotfixRecord.ID; data << uint32(hotfixRecord.TableHash); data << int32(hotfixRecord.RecordID); + return data; } void DBQueryBulk::Read() { _worldPacket >> TableHash; + _worldPacket >> BitsSize<13>(Queries); - uint32 count = _worldPacket.ReadBits(13); - - Queries.resize(count); - for (uint32 i = 0; i < count; ++i) - _worldPacket >> Queries[i].RecordID; + for (DBQueryRecord& record : Queries) + _worldPacket >> record.RecordID; } WorldPacket const* DBReply::Write() @@ -69,8 +68,8 @@ WorldPacket const* DBReply::Write() _worldPacket << uint32(TableHash); _worldPacket << uint32(RecordID); _worldPacket << uint32(Timestamp); - _worldPacket.WriteBits(AsUnderlyingType(Status), 3); - _worldPacket << uint32(Data.size()); + _worldPacket << Bits<3>(Status); + _worldPacket << Size<uint32>(Data); _worldPacket.append(Data); return &_worldPacket; @@ -81,7 +80,7 @@ WorldPacket const* AvailableHotfixes::Write() _worldPacket.reserve(4 + 4 + sizeof(DB2Manager::HotfixId) * Hotfixes.size()); _worldPacket << int32(VirtualRealmAddress); - _worldPacket << uint32(Hotfixes.size()); + _worldPacket << Size<uint32>(Hotfixes); for (DB2Manager::HotfixId const& hotfixId : Hotfixes) _worldPacket << hotfixId; @@ -106,7 +105,7 @@ ByteBuffer& operator<<(ByteBuffer& data, HotfixConnect::HotfixData const& hotfix { data << hotfixData.Record; data << uint32(hotfixData.Size); - data.WriteBits(AsUnderlyingType(hotfixData.Record.HotfixStatus), 3); + data << Bits<3>(hotfixData.Record.HotfixStatus); data.FlushBits(); return data; @@ -114,14 +113,13 @@ ByteBuffer& operator<<(ByteBuffer& data, HotfixConnect::HotfixData const& hotfix WorldPacket const* HotfixConnect::Write() { - _worldPacket << uint32(Hotfixes.size()); + _worldPacket << Size<uint32>(Hotfixes); for (HotfixData const& hotfix : Hotfixes) _worldPacket << hotfix; - _worldPacket << uint32(HotfixContent.size()); + _worldPacket << Size<uint32>(HotfixContent); _worldPacket.append(HotfixContent); return &_worldPacket; } } -} diff --git a/src/server/game/Server/Packets/HotfixPackets.h b/src/server/game/Server/Packets/HotfixPackets.h index 7c4ab389348..b3608a3c2d4 100644 --- a/src/server/game/Server/Packets/HotfixPackets.h +++ b/src/server/game/Server/Packets/HotfixPackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef HotfixPackets_h__ -#define HotfixPackets_h__ +#ifndef TRINITYCORE_HOTFIX_PACKETS_H +#define TRINITYCORE_HOTFIX_PACKETS_H #include "Common.h" #include "DB2Stores.h" @@ -34,7 +34,7 @@ namespace WorldPackets uint32 RecordID = 0; }; - DBQueryBulk(WorldPacket&& packet) : ClientPacket(CMSG_DB_QUERY_BULK, std::move(packet)) { } + explicit DBQueryBulk(WorldPacket&& packet) : ClientPacket(CMSG_DB_QUERY_BULK, std::move(packet)) { } void Read() override; @@ -45,7 +45,7 @@ namespace WorldPackets class DBReply final : public ServerPacket { public: - DBReply() : ServerPacket(SMSG_DB_REPLY, 4 + 4 + 4 + 1 + 4) { } + explicit DBReply() : ServerPacket(SMSG_DB_REPLY, 4 + 4 + 4 + 1 + 4) { } WorldPacket const* Write() override; @@ -59,7 +59,7 @@ namespace WorldPackets class AvailableHotfixes final : public ServerPacket { public: - AvailableHotfixes() : ServerPacket(SMSG_AVAILABLE_HOTFIXES, 0) { } + explicit AvailableHotfixes() : ServerPacket(SMSG_AVAILABLE_HOTFIXES, 0) { } WorldPacket const* Write() override; @@ -70,7 +70,7 @@ namespace WorldPackets class HotfixRequest final : public ClientPacket { public: - HotfixRequest(WorldPacket&& packet) : ClientPacket(CMSG_HOTFIX_REQUEST, std::move(packet)) { } + explicit HotfixRequest(WorldPacket&& packet) : ClientPacket(CMSG_HOTFIX_REQUEST, std::move(packet)) { } void Read() override; @@ -88,7 +88,7 @@ namespace WorldPackets uint32 Size = 0; }; - HotfixConnect() : ServerPacket(SMSG_HOTFIX_CONNECT) { } + explicit HotfixConnect() : ServerPacket(SMSG_HOTFIX_CONNECT) { } WorldPacket const* Write() override; @@ -98,4 +98,4 @@ namespace WorldPackets } } -#endif // HotfixPackets_h__ +#endif // TRINITYCORE_HOTFIX_PACKETS_H diff --git a/src/server/game/Server/Packets/InspectPackets.cpp b/src/server/game/Server/Packets/InspectPackets.cpp index 278eaed2127..63ce132f401 100644 --- a/src/server/game/Server/Packets/InspectPackets.cpp +++ b/src/server/game/Server/Packets/InspectPackets.cpp @@ -40,7 +40,7 @@ ByteBuffer& operator<<(ByteBuffer& data, AzeriteEssenceData const& azeriteEssenc data << uint32(azeriteEssenceData.Index); data << uint32(azeriteEssenceData.AzeriteEssenceID); data << uint32(azeriteEssenceData.Rank); - data.WriteBit(azeriteEssenceData.SlotUnlocked); + data << Bits<1>(azeriteEssenceData.SlotUnlocked); data.FlushBits(); return data; @@ -50,16 +50,16 @@ ByteBuffer& operator<<(ByteBuffer& data, InspectItemData const& itemData) { data << itemData.CreatorGUID; data << uint8(itemData.Index); - data << uint32(itemData.AzeritePowers.size()); - data << uint32(itemData.AzeriteEssences.size()); + data << Size<uint32>(itemData.AzeritePowers); + data << Size<uint32>(itemData.AzeriteEssences); if (!itemData.AzeritePowers.empty()) data.append(itemData.AzeritePowers.data(), itemData.AzeritePowers.size()); data << itemData.Item; - data.WriteBit(itemData.Usable); - data.WriteBits(itemData.Enchants.size(), 4); - data.WriteBits(itemData.Gems.size(), 2); + data << Bits<1>(itemData.Usable); + data << BitsSize<4>(itemData.Enchants); + data << BitsSize<2>(itemData.Gems); data.FlushBits(); for (AzeriteEssenceData const& azeriteEssenceData : itemData.AzeriteEssences) @@ -95,13 +95,13 @@ ByteBuffer& operator<<(ByteBuffer& data, PlayerModelDisplayInfo const& displayIn { data << displayInfo.GUID; data << int32(displayInfo.SpecializationID); - data << uint32(displayInfo.Items.size()); - data.WriteBits(displayInfo.Name.length(), 6); + data << Size<uint32>(displayInfo.Items); + data << SizedString::BitsSize<6>(displayInfo.Name); data << uint8(displayInfo.GenderID); data << uint8(displayInfo.Race); data << uint8(displayInfo.ClassID); - data << uint32(displayInfo.Customizations.size()); - data.WriteString(displayInfo.Name); + data << Size<uint32>(displayInfo.Customizations); + data << SizedString::Data(displayInfo.Name); for (Character::ChrCustomizationChoice const& customization : displayInfo.Customizations) data << customization; @@ -141,7 +141,7 @@ ByteBuffer& operator<<(ByteBuffer& data, PVPBracketData const& bracket) data << int32(bracket.RoundsSeasonWon); data << int32(bracket.RoundsWeeklyPlayed); data << int32(bracket.RoundsWeeklyWon); - data.WriteBit(bracket.Disqualified); + data << Bits<1>(bracket.Disqualified); data.FlushBits(); return data; @@ -208,9 +208,9 @@ InspectItemData::InspectItemData(::Item const* item, uint8 index) WorldPacket const* InspectResult::Write() { _worldPacket << DisplayInfo; - _worldPacket << uint32(Glyphs.size()); - _worldPacket << uint32(Talents.size()); - _worldPacket << uint32(PvpTalents.size()); + _worldPacket << Size<uint32>(Glyphs); + _worldPacket << Size<uint32>(Talents); + _worldPacket << Size<uint32>(PvpTalents); _worldPacket << int32(ItemLevel); _worldPacket << uint8(LifetimeMaxRank); _worldPacket << uint16(TodayHK); @@ -224,8 +224,8 @@ WorldPacket const* InspectResult::Write() if (!PvpTalents.empty()) _worldPacket.append(PvpTalents.data(), PvpTalents.size()); - _worldPacket.WriteBit(GuildData.has_value()); - _worldPacket.WriteBit(AzeriteLevel.has_value()); + _worldPacket << OptionalInit(GuildData); + _worldPacket << OptionalInit(AzeriteLevel); _worldPacket.FlushBits(); for (PVPBracketData const& bracket : Bracket) diff --git a/src/server/game/Server/Packets/InspectPackets.h b/src/server/game/Server/Packets/InspectPackets.h index f1dcdb7f310..a57d0c5c612 100644 --- a/src/server/game/Server/Packets/InspectPackets.h +++ b/src/server/game/Server/Packets/InspectPackets.h @@ -15,7 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#pragma once +#ifndef TRINITYCORE_INSPECT_PACKETS_H +#define TRINITYCORE_INSPECT_PACKETS_H #include "Packet.h" #include "CharacterPackets.h" @@ -36,7 +37,7 @@ namespace WorldPackets class Inspect final : public ClientPacket { public: - Inspect(WorldPacket&& packet) : ClientPacket(CMSG_INSPECT, std::move(packet)) { } + explicit Inspect(WorldPacket&& packet) : ClientPacket(CMSG_INSPECT, std::move(packet)) { } void Read() override; @@ -127,7 +128,7 @@ namespace WorldPackets class InspectResult final : public ServerPacket { public: - InspectResult() : ServerPacket(SMSG_INSPECT_RESULT, 4096) + explicit InspectResult() : ServerPacket(SMSG_INSPECT_RESULT, 4096) { PvpTalents.fill(0); } @@ -153,7 +154,7 @@ namespace WorldPackets class QueryInspectAchievements final : public ClientPacket { public: - QueryInspectAchievements(WorldPacket&& packet) : ClientPacket(CMSG_QUERY_INSPECT_ACHIEVEMENTS, std::move(packet)) { } + explicit QueryInspectAchievements(WorldPacket&& packet) : ClientPacket(CMSG_QUERY_INSPECT_ACHIEVEMENTS, std::move(packet)) { } void Read() override; @@ -163,3 +164,5 @@ namespace WorldPackets /// RespondInspectAchievements in AchievementPackets } } + +#endif // TRINITYCORE_INSPECT_PACKETS_H diff --git a/src/server/game/Server/Packets/InstancePackets.cpp b/src/server/game/Server/Packets/InstancePackets.cpp index 86caa86b6ee..77111a0ae0a 100644 --- a/src/server/game/Server/Packets/InstancePackets.cpp +++ b/src/server/game/Server/Packets/InstancePackets.cpp @@ -18,21 +18,23 @@ #include "InstancePackets.h" #include "PacketUtilities.h" -WorldPacket const* WorldPackets::Instance::UpdateLastInstance::Write() +namespace WorldPackets::Instance +{ +WorldPacket const* UpdateLastInstance::Write() { _worldPacket << uint32(MapID); return &_worldPacket; } -WorldPacket const* WorldPackets::Instance::UpdateInstanceOwnership::Write() +WorldPacket const* UpdateInstanceOwnership::Write() { _worldPacket << int32(IOwnInstance); return &_worldPacket; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Instance::InstanceLock const& lockInfos) +ByteBuffer& operator<<(ByteBuffer& data, InstanceLock const& lockInfos) { data << uint32(lockInfos.MapID); data << uint32(lockInfos.DifficultyID); @@ -40,17 +42,17 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Instance::InstanceLock co data << uint32(lockInfos.TimeRemaining); data << uint32(lockInfos.CompletedMask); - data.WriteBit(lockInfos.Locked); - data.WriteBit(lockInfos.Extended); + data << Bits<1>(lockInfos.Locked); + data << Bits<1>(lockInfos.Extended); data.FlushBits(); return data; } -WorldPacket const* WorldPackets::Instance::InstanceInfo::Write() +WorldPacket const* InstanceInfo::Write() { - _worldPacket << int32(LockList.size()); + _worldPacket << Size<int32>(LockList); for (InstanceLock const& instanceLock : LockList) _worldPacket << instanceLock; @@ -58,36 +60,36 @@ WorldPacket const* WorldPackets::Instance::InstanceInfo::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Instance::InstanceReset::Write() +WorldPacket const* InstanceReset::Write() { _worldPacket << uint32(MapID); return &_worldPacket; } -WorldPacket const* WorldPackets::Instance::InstanceResetFailed::Write() +WorldPacket const* InstanceResetFailed::Write() { _worldPacket << uint32(MapID); - _worldPacket.WriteBits(ResetFailedReason, 2); + _worldPacket << Bits<2>(ResetFailedReason); _worldPacket.FlushBits(); return &_worldPacket; } -WorldPacket const* WorldPackets::Instance::InstanceSaveCreated::Write() +WorldPacket const* InstanceSaveCreated::Write() { - _worldPacket.WriteBit(Gm); + _worldPacket << Bits<1>(Gm); _worldPacket.FlushBits(); return &_worldPacket; } -void WorldPackets::Instance::InstanceLockResponse::Read() +void InstanceLockResponse::Read() { - AcceptLock = _worldPacket.ReadBit(); + _worldPacket >> Bits<1>(AcceptLock); } -WorldPacket const* WorldPackets::Instance::RaidGroupOnly::Write() +WorldPacket const* RaidGroupOnly::Write() { _worldPacket << Delay; _worldPacket << Reason; @@ -95,18 +97,18 @@ WorldPacket const* WorldPackets::Instance::RaidGroupOnly::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Instance::PendingRaidLock::Write() +WorldPacket const* PendingRaidLock::Write() { _worldPacket << int32(TimeUntilLock); _worldPacket << uint32(CompletedMask); - _worldPacket.WriteBit(Extending); - _worldPacket.WriteBit(WarningOnly); + _worldPacket << Bits<1>(Extending); + _worldPacket << Bits<1>(WarningOnly); _worldPacket.FlushBits(); return &_worldPacket; } -WorldPacket const* WorldPackets::Instance::RaidInstanceMessage::Write() +WorldPacket const* RaidInstanceMessage::Write() { _worldPacket << int32(Type); _worldPacket << uint32(MapID); @@ -120,7 +122,7 @@ WorldPacket const* WorldPackets::Instance::RaidInstanceMessage::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Instance::InstanceEncounterEngageUnit::Write() +WorldPacket const* InstanceEncounterEngageUnit::Write() { _worldPacket << Unit; _worldPacket << uint8(TargetFramePriority); @@ -128,14 +130,14 @@ WorldPacket const* WorldPackets::Instance::InstanceEncounterEngageUnit::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Instance::InstanceEncounterDisengageUnit::Write() +WorldPacket const* InstanceEncounterDisengageUnit::Write() { _worldPacket << Unit; return &_worldPacket; } -WorldPacket const* WorldPackets::Instance::InstanceEncounterChangePriority::Write() +WorldPacket const* InstanceEncounterChangePriority::Write() { _worldPacket << Unit; _worldPacket << uint8(TargetFramePriority); @@ -143,21 +145,21 @@ WorldPacket const* WorldPackets::Instance::InstanceEncounterChangePriority::Writ return &_worldPacket; } -WorldPacket const* WorldPackets::Instance::InstanceEncounterTimerStart::Write() +WorldPacket const* InstanceEncounterTimerStart::Write() { _worldPacket << int32(TimeRemaining); return &_worldPacket; } -WorldPacket const* WorldPackets::Instance::InstanceEncounterObjectiveStart::Write() +WorldPacket const* InstanceEncounterObjectiveStart::Write() { _worldPacket << int32(ObjectiveID); return &_worldPacket; } -WorldPacket const* WorldPackets::Instance::InstanceEncounterObjectiveUpdate::Write() +WorldPacket const* InstanceEncounterObjectiveUpdate::Write() { _worldPacket << int32(ObjectiveID); _worldPacket << int32(ProgressAmount); @@ -165,26 +167,26 @@ WorldPacket const* WorldPackets::Instance::InstanceEncounterObjectiveUpdate::Wri return &_worldPacket; } -WorldPacket const* WorldPackets::Instance::InstanceEncounterObjectiveComplete::Write() +WorldPacket const* InstanceEncounterObjectiveComplete::Write() { _worldPacket << int32(ObjectiveID); return &_worldPacket; } -WorldPacket const* WorldPackets::Instance::InstanceEncounterStart::Write() +WorldPacket const* InstanceEncounterStart::Write() { _worldPacket << uint32(InCombatResCount); _worldPacket << uint32(MaxInCombatResCount); _worldPacket << uint32(CombatResChargeRecovery); _worldPacket << uint32(NextCombatResChargeTime); - _worldPacket.WriteBit(InProgress); + _worldPacket << Bits<1>(InProgress); _worldPacket.FlushBits(); return &_worldPacket; } -WorldPacket const* WorldPackets::Instance::InstanceEncounterGainCombatResurrectionCharge::Write() +WorldPacket const* InstanceEncounterGainCombatResurrectionCharge::Write() { _worldPacket << int32(InCombatResCount); _worldPacket << uint32(CombatResChargeRecovery); @@ -192,9 +194,10 @@ WorldPacket const* WorldPackets::Instance::InstanceEncounterGainCombatResurrecti return &_worldPacket; } -WorldPacket const* WorldPackets::Instance::BossKill::Write() +WorldPacket const* BossKill::Write() { _worldPacket << uint32(DungeonEncounterID); return &_worldPacket; } +} diff --git a/src/server/game/Server/Packets/InstancePackets.h b/src/server/game/Server/Packets/InstancePackets.h index ab980ca148f..0bfff99257f 100644 --- a/src/server/game/Server/Packets/InstancePackets.h +++ b/src/server/game/Server/Packets/InstancePackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef InstancePackets_h__ -#define InstancePackets_h__ +#ifndef TRINITYCORE_INSTANCE_PACKETS_H +#define TRINITYCORE_INSTANCE_PACKETS_H #include "Packet.h" #include "ObjectGuid.h" @@ -28,7 +28,7 @@ namespace WorldPackets class UpdateLastInstance final : public ServerPacket { public: - UpdateLastInstance() : ServerPacket(SMSG_UPDATE_LAST_INSTANCE, 4) { } + explicit UpdateLastInstance() : ServerPacket(SMSG_UPDATE_LAST_INSTANCE, 4) { } WorldPacket const* Write() override; @@ -39,7 +39,7 @@ namespace WorldPackets class UpdateInstanceOwnership final : public ServerPacket { public: - UpdateInstanceOwnership() : ServerPacket(SMSG_UPDATE_INSTANCE_OWNERSHIP, 4) { } + explicit UpdateInstanceOwnership() : ServerPacket(SMSG_UPDATE_INSTANCE_OWNERSHIP, 4) { } WorldPacket const* Write() override; @@ -62,7 +62,7 @@ namespace WorldPackets class InstanceInfo final : public ServerPacket { public: - InstanceInfo() : ServerPacket(SMSG_INSTANCE_INFO, 4) { } + explicit InstanceInfo() : ServerPacket(SMSG_INSTANCE_INFO, 4) { } WorldPacket const* Write() override; @@ -72,7 +72,7 @@ namespace WorldPackets class ResetInstances final : public ClientPacket { public: - ResetInstances(WorldPacket&& packet) : ClientPacket(CMSG_RESET_INSTANCES, std::move(packet)) { } + explicit ResetInstances(WorldPacket&& packet) : ClientPacket(CMSG_RESET_INSTANCES, std::move(packet)) { } void Read() override { } }; @@ -80,7 +80,7 @@ namespace WorldPackets class InstanceReset final : public ServerPacket { public: - InstanceReset() : ServerPacket(SMSG_INSTANCE_RESET, 4) { } + explicit InstanceReset() : ServerPacket(SMSG_INSTANCE_RESET, 4) { } WorldPacket const* Write() override; @@ -90,7 +90,7 @@ namespace WorldPackets class InstanceResetFailed final : public ServerPacket { public: - InstanceResetFailed() : ServerPacket(SMSG_INSTANCE_RESET_FAILED, 4 + 1) { } + explicit InstanceResetFailed() : ServerPacket(SMSG_INSTANCE_RESET_FAILED, 4 + 1) { } WorldPacket const* Write() override; @@ -101,7 +101,7 @@ namespace WorldPackets class ResetFailedNotify final : public ServerPacket { public: - ResetFailedNotify() : ServerPacket(SMSG_RESET_FAILED_NOTIFY, 0) { } + explicit ResetFailedNotify() : ServerPacket(SMSG_RESET_FAILED_NOTIFY, 0) { } WorldPacket const* Write() override { return &_worldPacket; } }; @@ -109,7 +109,7 @@ namespace WorldPackets class InstanceSaveCreated final : public ServerPacket { public: - InstanceSaveCreated() : ServerPacket(SMSG_INSTANCE_SAVE_CREATED, 1) { } + explicit InstanceSaveCreated() : ServerPacket(SMSG_INSTANCE_SAVE_CREATED, 1) { } WorldPacket const* Write() override; @@ -119,7 +119,7 @@ namespace WorldPackets class InstanceLockResponse final : public ClientPacket { public: - InstanceLockResponse(WorldPacket&& packet) : ClientPacket(CMSG_INSTANCE_LOCK_RESPONSE, std::move(packet)) { } + explicit InstanceLockResponse(WorldPacket&& packet) : ClientPacket(CMSG_INSTANCE_LOCK_RESPONSE, std::move(packet)) { } void Read() override; @@ -129,7 +129,7 @@ namespace WorldPackets class RaidGroupOnly final : public ServerPacket { public: - RaidGroupOnly() : ServerPacket(SMSG_RAID_GROUP_ONLY, 4 + 4) { } + explicit RaidGroupOnly() : ServerPacket(SMSG_RAID_GROUP_ONLY, 4 + 4) { } WorldPacket const* Write() override; @@ -140,7 +140,7 @@ namespace WorldPackets class PendingRaidLock final : public ServerPacket { public: - PendingRaidLock() : ServerPacket(SMSG_PENDING_RAID_LOCK, 4 + 4) { } + explicit PendingRaidLock() : ServerPacket(SMSG_PENDING_RAID_LOCK, 4 + 4) { } WorldPacket const* Write() override; @@ -153,7 +153,7 @@ namespace WorldPackets class RaidInstanceMessage final : public ServerPacket { public: - RaidInstanceMessage() : ServerPacket(SMSG_RAID_INSTANCE_MESSAGE, 1 + 4 + 4 + 4 + 1) { } + explicit RaidInstanceMessage() : ServerPacket(SMSG_RAID_INSTANCE_MESSAGE, 1 + 4 + 4 + 4 + 1) { } WorldPacket const* Write() override; @@ -169,7 +169,7 @@ namespace WorldPackets class InstanceEncounterEngageUnit final : public ServerPacket { public: - InstanceEncounterEngageUnit() : ServerPacket(SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT, 16 + 1) { } + explicit InstanceEncounterEngageUnit() : ServerPacket(SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT, 16 + 1) { } WorldPacket const* Write() override; @@ -180,7 +180,7 @@ namespace WorldPackets class InstanceEncounterDisengageUnit final : public ServerPacket { public: - InstanceEncounterDisengageUnit() : ServerPacket(SMSG_INSTANCE_ENCOUNTER_DISENGAGE_UNIT, 16) { } + explicit InstanceEncounterDisengageUnit() : ServerPacket(SMSG_INSTANCE_ENCOUNTER_DISENGAGE_UNIT, 16) { } WorldPacket const* Write() override; @@ -190,7 +190,7 @@ namespace WorldPackets class InstanceEncounterChangePriority final : public ServerPacket { public: - InstanceEncounterChangePriority() : ServerPacket(SMSG_INSTANCE_ENCOUNTER_CHANGE_PRIORITY, 16 + 1) { } + explicit InstanceEncounterChangePriority() : ServerPacket(SMSG_INSTANCE_ENCOUNTER_CHANGE_PRIORITY, 16 + 1) { } WorldPacket const* Write() override; @@ -201,7 +201,7 @@ namespace WorldPackets class InstanceEncounterTimerStart final : public ServerPacket { public: - InstanceEncounterTimerStart() : ServerPacket(SMSG_INSTANCE_ENCOUNTER_TIMER_START, 4) { } + explicit InstanceEncounterTimerStart() : ServerPacket(SMSG_INSTANCE_ENCOUNTER_TIMER_START, 4) { } WorldPacket const* Write() override; @@ -211,7 +211,7 @@ namespace WorldPackets class InstanceEncounterObjectiveStart final : public ServerPacket { public: - InstanceEncounterObjectiveStart() : ServerPacket(SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_START, 4) { } + explicit InstanceEncounterObjectiveStart() : ServerPacket(SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_START, 4) { } WorldPacket const* Write() override; @@ -221,7 +221,7 @@ namespace WorldPackets class InstanceEncounterObjectiveUpdate final : public ServerPacket { public: - InstanceEncounterObjectiveUpdate() : ServerPacket(SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_UPDATE, 4 + 4) { } + explicit InstanceEncounterObjectiveUpdate() : ServerPacket(SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_UPDATE, 4 + 4) { } WorldPacket const* Write() override; @@ -232,7 +232,7 @@ namespace WorldPackets class InstanceEncounterObjectiveComplete final : public ServerPacket { public: - InstanceEncounterObjectiveComplete() : ServerPacket(SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_COMPLETE, 4) { } + explicit InstanceEncounterObjectiveComplete() : ServerPacket(SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_COMPLETE, 4) { } WorldPacket const* Write() override; @@ -242,7 +242,7 @@ namespace WorldPackets class InstanceEncounterPhaseShiftChanged final : public ServerPacket { public: - InstanceEncounterPhaseShiftChanged() : ServerPacket(SMSG_INSTANCE_ENCOUNTER_PHASE_SHIFT_CHANGED, 0) { } + explicit InstanceEncounterPhaseShiftChanged() : ServerPacket(SMSG_INSTANCE_ENCOUNTER_PHASE_SHIFT_CHANGED, 0) { } WorldPacket const* Write() override { return &_worldPacket; } }; @@ -250,7 +250,7 @@ namespace WorldPackets class InstanceEncounterStart final : public ServerPacket { public: - InstanceEncounterStart() : ServerPacket(SMSG_INSTANCE_ENCOUNTER_START, 16) { } + explicit InstanceEncounterStart() : ServerPacket(SMSG_INSTANCE_ENCOUNTER_START, 16) { } WorldPacket const* Write() override; @@ -264,7 +264,7 @@ namespace WorldPackets class InstanceEncounterEnd final : public ServerPacket { public: - InstanceEncounterEnd() : ServerPacket(SMSG_INSTANCE_ENCOUNTER_END, 0) { } + explicit InstanceEncounterEnd() : ServerPacket(SMSG_INSTANCE_ENCOUNTER_END, 0) { } WorldPacket const* Write() override { return &_worldPacket; } }; @@ -272,7 +272,7 @@ namespace WorldPackets class InstanceEncounterInCombatResurrection final : public ServerPacket { public: - InstanceEncounterInCombatResurrection() : ServerPacket(SMSG_INSTANCE_ENCOUNTER_IN_COMBAT_RESURRECTION, 0) { } + explicit InstanceEncounterInCombatResurrection() : ServerPacket(SMSG_INSTANCE_ENCOUNTER_IN_COMBAT_RESURRECTION, 0) { } WorldPacket const* Write() override { return &_worldPacket; } }; @@ -280,7 +280,7 @@ namespace WorldPackets class InstanceEncounterGainCombatResurrectionCharge final : public ServerPacket { public: - InstanceEncounterGainCombatResurrectionCharge() : ServerPacket(SMSG_INSTANCE_ENCOUNTER_GAIN_COMBAT_RESURRECTION_CHARGE, 4 + 4) { } + explicit InstanceEncounterGainCombatResurrectionCharge() : ServerPacket(SMSG_INSTANCE_ENCOUNTER_GAIN_COMBAT_RESURRECTION_CHARGE, 4 + 4) { } WorldPacket const* Write() override; @@ -291,7 +291,7 @@ namespace WorldPackets class BossKill final : public ServerPacket { public: - BossKill() : ServerPacket(SMSG_BOSS_KILL, 4) { } + explicit BossKill() : ServerPacket(SMSG_BOSS_KILL, 4) { } WorldPacket const* Write() override; uint32 DungeonEncounterID = 0; @@ -299,4 +299,4 @@ namespace WorldPackets } } -#endif // InstancePackets_h__ +#endif // TRINITYCORE_INSTANCE_PACKETS_H diff --git a/src/server/game/Server/Packets/ItemPackets.cpp b/src/server/game/Server/Packets/ItemPackets.cpp index 9d9c467525b..86f49b6433c 100644 --- a/src/server/game/Server/Packets/ItemPackets.cpp +++ b/src/server/game/Server/Packets/ItemPackets.cpp @@ -17,13 +17,15 @@ #include "ItemPackets.h" -void WorldPackets::Item::BuyBackItem::Read() +namespace WorldPackets::Item +{ +void BuyBackItem::Read() { _worldPacket >> VendorGUID; _worldPacket >> Slot; } -void WorldPackets::Item::BuyItem::Read() +void BuyItem::Read() { _worldPacket >> VendorGUID; _worldPacket >> ContainerGUID; @@ -34,7 +36,7 @@ void WorldPackets::Item::BuyItem::Read() _worldPacket >> Item; } -WorldPacket const* WorldPackets::Item::BuySucceeded::Write() +WorldPacket const* BuySucceeded::Write() { _worldPacket << VendorGUID; _worldPacket << uint32(Muid); @@ -44,7 +46,7 @@ WorldPacket const* WorldPackets::Item::BuySucceeded::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Item::BuyFailed::Write() +WorldPacket const* BuyFailed::Write() { _worldPacket << VendorGUID; _worldPacket << uint32(Muid); @@ -53,12 +55,12 @@ WorldPacket const* WorldPackets::Item::BuyFailed::Write() return &_worldPacket; } -void WorldPackets::Item::GetItemPurchaseData::Read() +void GetItemPurchaseData::Read() { _worldPacket >> ItemGUID; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Item::ItemPurchaseRefundItem& refundItem) +ByteBuffer& operator<<(ByteBuffer& data, ItemPurchaseRefundItem& refundItem) { data << int32(refundItem.ItemID); data << int32(refundItem.ItemCount); @@ -66,7 +68,7 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Item::ItemPurchaseRefundI return data; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Item::ItemPurchaseRefundCurrency& refundCurrency) +ByteBuffer& operator<<(ByteBuffer& data, ItemPurchaseRefundCurrency& refundCurrency) { data << int32(refundCurrency.CurrencyID); data << int32(refundCurrency.CurrencyCount); @@ -74,7 +76,7 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Item::ItemPurchaseRefundC return data; } -ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Item::ItemPurchaseContents& purchaseContents) +ByteBuffer& operator<<(ByteBuffer& data, ItemPurchaseContents& purchaseContents) { data << uint64(purchaseContents.Money); for (uint32 i = 0; i < 5; ++i) @@ -86,7 +88,7 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Item::ItemPurchaseContent return data; } -WorldPacket const* WorldPackets::Item::SetItemPurchaseData::Write() +WorldPacket const* SetItemPurchaseData::Write() { _worldPacket << ItemGUID; _worldPacket << Contents; @@ -96,16 +98,16 @@ WorldPacket const* WorldPackets::Item::SetItemPurchaseData::Write() return &_worldPacket; } -void WorldPackets::Item::ItemPurchaseRefund::Read() +void ItemPurchaseRefund::Read() { _worldPacket >> ItemGUID; } -WorldPacket const* WorldPackets::Item::ItemPurchaseRefundResult::Write() +WorldPacket const* ItemPurchaseRefundResult::Write() { _worldPacket << ItemGUID; _worldPacket << uint8(Result); - _worldPacket.WriteBit(Contents.has_value()); + _worldPacket << OptionalInit(Contents); _worldPacket.FlushBits(); if (Contents) _worldPacket << *Contents; @@ -113,28 +115,28 @@ WorldPacket const* WorldPackets::Item::ItemPurchaseRefundResult::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Item::ItemExpirePurchaseRefund::Write() +WorldPacket const* ItemExpirePurchaseRefund::Write() { _worldPacket << ItemGUID; return &_worldPacket; } -void WorldPackets::Item::RepairItem::Read() +void RepairItem::Read() { _worldPacket >> NpcGUID; _worldPacket >> ItemGUID; - UseGuildBank = _worldPacket.ReadBit(); + _worldPacket >> Bits<1>(UseGuildBank); } -void WorldPackets::Item::SellItem::Read() +void SellItem::Read() { _worldPacket >> VendorGUID; _worldPacket >> ItemGUID; _worldPacket >> Amount; } -WorldPacket const* WorldPackets::Item::ItemTimeUpdate::Write() +WorldPacket const* ItemTimeUpdate::Write() { _worldPacket << ItemGuid; _worldPacket << uint32(DurationLeft); @@ -142,7 +144,7 @@ WorldPacket const* WorldPackets::Item::ItemTimeUpdate::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Item::SetProficiency::Write() +WorldPacket const* SetProficiency::Write() { _worldPacket << uint32(ProficiencyMask); _worldPacket << uint8(ProficiencyClass); @@ -150,7 +152,7 @@ WorldPacket const* WorldPackets::Item::SetProficiency::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Item::InventoryChangeFailure::Write() +WorldPacket const* InventoryChangeFailure::Write() { _worldPacket << int32(BagResult); _worldPacket << Item[0]; @@ -180,7 +182,7 @@ WorldPacket const* WorldPackets::Item::InventoryChangeFailure::Write() return &_worldPacket; } -void WorldPackets::Item::SplitItem::Read() +void SplitItem::Read() { _worldPacket >> Inv; _worldPacket >> FromPackSlot; @@ -190,14 +192,14 @@ void WorldPackets::Item::SplitItem::Read() _worldPacket >> Quantity; } -void WorldPackets::Item::SwapInvItem::Read() +void SwapInvItem::Read() { _worldPacket >> Inv; _worldPacket >> Slot2; _worldPacket >> Slot1; } -void WorldPackets::Item::SwapItem::Read() +void SwapItem::Read() { _worldPacket >> Inv; _worldPacket >> ContainerSlotB; @@ -206,21 +208,21 @@ void WorldPackets::Item::SwapItem::Read() _worldPacket >> SlotA; } -void WorldPackets::Item::AutoEquipItem::Read() +void AutoEquipItem::Read() { _worldPacket >> Inv; _worldPacket >> PackSlot; _worldPacket >> Slot; } -void WorldPackets::Item::AutoEquipItemSlot::Read() +void AutoEquipItemSlot::Read() { _worldPacket >> Inv; _worldPacket >> Item; _worldPacket >> ItemDstSlot; } -void WorldPackets::Item::AutoStoreBagItem::Read() +void AutoStoreBagItem::Read() { _worldPacket >> Inv; _worldPacket >> ContainerSlotB; @@ -228,17 +230,17 @@ void WorldPackets::Item::AutoStoreBagItem::Read() _worldPacket >> SlotA; } -void WorldPackets::Item::DestroyItem::Read() +void DestroyItem::Read() { _worldPacket >> Count; _worldPacket >> ContainerId; _worldPacket >> SlotNum; } -WorldPacket const* WorldPackets::Item::SellResponse::Write() +WorldPacket const* SellResponse::Write() { _worldPacket << VendorGUID; - _worldPacket << uint32(ItemGUIDs.size()); + _worldPacket << Size<uint32>(ItemGUIDs); _worldPacket << int32(Reason); for (ObjectGuid const& itemGuid : ItemGUIDs) _worldPacket << itemGuid; @@ -246,7 +248,7 @@ WorldPacket const* WorldPackets::Item::SellResponse::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Item::ItemPushResult::Write() +WorldPacket const* ItemPushResult::Write() { _worldPacket << PlayerGUID; _worldPacket << uint8(Slot); @@ -261,7 +263,7 @@ WorldPacket const* WorldPackets::Item::ItemPushResult::Write() _worldPacket << uint8(BattlePetBreedQuality); _worldPacket << int32(BattlePetLevel); _worldPacket << ItemGUID; - _worldPacket << uint32(Toasts.size()); + _worldPacket << Size<uint32>(Toasts); for (UiEventToast const& uiEventToast : Toasts) _worldPacket << uiEventToast; @@ -286,41 +288,41 @@ WorldPacket const* WorldPackets::Item::ItemPushResult::Write() return &_worldPacket; } -void WorldPackets::Item::ReadItem::Read() +void ReadItem::Read() { _worldPacket >> PackSlot; _worldPacket >> Slot; } -WorldPacket const* WorldPackets::Item::ReadItemResultFailed::Write() +WorldPacket const* ReadItemResultFailed::Write() { _worldPacket << Item; _worldPacket << uint32(Delay); - _worldPacket.WriteBits(Subcode, 2); + _worldPacket << Bits<2>(Subcode); _worldPacket.FlushBits(); return &_worldPacket; } -WorldPacket const* WorldPackets::Item::ReadItemResultOK::Write() +WorldPacket const* ReadItemResultOK::Write() { _worldPacket << Item; return &_worldPacket; } -void WorldPackets::Item::WrapItem::Read() +void WrapItem::Read() { _worldPacket >> Inv; } -void WorldPackets::Item::CancelTempEnchantment::Read() +void CancelTempEnchantment::Read() { _worldPacket >> Slot; } -WorldPacket const* WorldPackets::Item::ItemCooldown::Write() +WorldPacket const* ItemCooldown::Write() { _worldPacket << ItemGuid; _worldPacket << uint32(SpellID); @@ -329,7 +331,7 @@ WorldPacket const* WorldPackets::Item::ItemCooldown::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Item::EnchantmentLog::Write() +WorldPacket const* EnchantmentLog::Write() { _worldPacket << Owner; _worldPacket << Caster; @@ -341,7 +343,7 @@ WorldPacket const* WorldPackets::Item::EnchantmentLog::Write() return &_worldPacket; } -WorldPacket const* WorldPackets::Item::ItemEnchantTimeUpdate::Write() +WorldPacket const* ItemEnchantTimeUpdate::Write() { _worldPacket << ItemGuid; _worldPacket << uint32(DurationLeft); @@ -351,78 +353,79 @@ WorldPacket const* WorldPackets::Item::ItemEnchantTimeUpdate::Write() return &_worldPacket; } -void WorldPackets::Item::UseCritterItem::Read() +void UseCritterItem::Read() { _worldPacket >> ItemGuid; } -void WorldPackets::Item::SocketGems::Read() +void SocketGems::Read() { _worldPacket >> ItemGuid; for (ObjectGuid& gemGuid : GemItem) _worldPacket >> gemGuid; } -WorldPacket const* WorldPackets::Item::SocketGemsSuccess::Write() +WorldPacket const* SocketGemsSuccess::Write() { _worldPacket << Item; return &_worldPacket; } -void WorldPackets::Item::RemoveNewItem::Read() +void RemoveNewItem::Read() { _worldPacket >> ItemGuid; } -void WorldPackets::Item::ChangeBagSlotFlag::Read() +void ChangeBagSlotFlag::Read() { _worldPacket >> BagIndex; _worldPacket >> As<uint32>(FlagToChange); _worldPacket >> Bits<1>(On); } -void WorldPackets::Item::ChangeBankBagSlotFlag::Read() +void ChangeBankBagSlotFlag::Read() { _worldPacket >> BagIndex; _worldPacket >> As<uint32>(FlagToChange); _worldPacket >> Bits<1>(On); } -void WorldPackets::Item::SetBackpackAutosortDisabled::Read() +void SetBackpackAutosortDisabled::Read() { - Disable = _worldPacket.ReadBit(); + _worldPacket >> Bits<1>(Disable); } -void WorldPackets::Item::SetBackpackSellJunkDisabled::Read() +void SetBackpackSellJunkDisabled::Read() { - Disable = _worldPacket.ReadBit(); + _worldPacket >> Bits<1>(Disable); } -void WorldPackets::Item::SetBankAutosortDisabled::Read() +void SetBankAutosortDisabled::Read() { - Disable = _worldPacket.ReadBit(); + _worldPacket >> Bits<1>(Disable); } -WorldPacket const* WorldPackets::Item::AddItemPassive::Write() +WorldPacket const* AddItemPassive::Write() { _worldPacket << int32(SpellID); return &_worldPacket; } -WorldPacket const* WorldPackets::Item::RemoveItemPassive::Write() +WorldPacket const* RemoveItemPassive::Write() { _worldPacket << int32(SpellID); return &_worldPacket; } -WorldPacket const* WorldPackets::Item::SendItemPassives::Write() +WorldPacket const* SendItemPassives::Write() { - _worldPacket << uint32(SpellID.size()); + _worldPacket << Size<uint32>(SpellID); if (!SpellID.empty()) _worldPacket.append(SpellID.data(), SpellID.size()); return &_worldPacket; } +} diff --git a/src/server/game/Server/Packets/ItemPackets.h b/src/server/game/Server/Packets/ItemPackets.h index a6834efbe22..825e452f5cd 100644 --- a/src/server/game/Server/Packets/ItemPackets.h +++ b/src/server/game/Server/Packets/ItemPackets.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef ItemPackets_h__ -#define ItemPackets_h__ +#ifndef TRINITYCORE_ITEM_PACKETS_H +#define TRINITYCORE_ITEM_PACKETS_H #include "Packet.h" #include "CraftingPacketsCommon.h" @@ -37,7 +37,7 @@ namespace WorldPackets class BuyBackItem final : public ClientPacket { public: - BuyBackItem(WorldPacket&& packet) : ClientPacket(CMSG_BUY_BACK_ITEM, std::move(packet)) { } + explicit BuyBackItem(WorldPacket&& packet) : ClientPacket(CMSG_BUY_BACK_ITEM, std::move(packet)) { } void Read() override; @@ -48,7 +48,7 @@ namespace WorldPackets class BuyItem final : public ClientPacket { public: - BuyItem(WorldPacket&& packet) : ClientPacket(CMSG_BUY_ITEM, std::move(packet)) { } + explicit BuyItem(WorldPacket&& packet) : ClientPacket(CMSG_BUY_ITEM, std::move(packet)) { } void Read() override; @@ -64,7 +64,7 @@ namespace WorldPackets class BuySucceeded final : ServerPacket { public: - BuySucceeded() : ServerPacket(SMSG_BUY_SUCCEEDED, 16 + 4 + 4 + 4 + 4) { } + explicit BuySucceeded() : ServerPacket(SMSG_BUY_SUCCEEDED, 16 + 4 + 4 + 4 + 4) { } WorldPacket const* Write() override; @@ -77,7 +77,7 @@ namespace WorldPackets class BuyFailed final : ServerPacket { public: - BuyFailed() : ServerPacket(SMSG_BUY_FAILED, 16 + 4 + 1) { } + explicit BuyFailed() : ServerPacket(SMSG_BUY_FAILED, 16 + 4 + 1) { } WorldPacket const* Write() override; @@ -89,7 +89,7 @@ namespace WorldPackets class GetItemPurchaseData final : public ClientPacket { public: - GetItemPurchaseData(WorldPacket&& packet) : ClientPacket(CMSG_GET_ITEM_PURCHASE_DATA, std::move(packet)) { } + explicit GetItemPurchaseData(WorldPacket&& packet) : ClientPacket(CMSG_GET_ITEM_PURCHASE_DATA, std::move(packet)) { } void Read() override; @@ -118,7 +118,7 @@ namespace WorldPackets class SetItemPurchaseData final : public ServerPacket { public: - SetItemPurchaseData() : ServerPacket(SMSG_SET_ITEM_PURCHASE_DATA, 4 + 4 + 4 + 5 * (4 + 4) + 5 * (4 + 4) + 16) { } + explicit SetItemPurchaseData() : ServerPacket(SMSG_SET_ITEM_PURCHASE_DATA, 4 + 4 + 4 + 5 * (4 + 4) + 5 * (4 + 4) + 16) { } WorldPacket const* Write() override; @@ -131,7 +131,7 @@ namespace WorldPackets class ItemPurchaseRefund final : public ClientPacket { public: - ItemPurchaseRefund(WorldPacket&& packet) : ClientPacket(CMSG_ITEM_PURCHASE_REFUND, std::move(packet)) { } + explicit ItemPurchaseRefund(WorldPacket&& packet) : ClientPacket(CMSG_ITEM_PURCHASE_REFUND, std::move(packet)) { } void Read() override; @@ -141,7 +141,7 @@ namespace WorldPackets class ItemPurchaseRefundResult final : public ServerPacket { public: - ItemPurchaseRefundResult() : ServerPacket(SMSG_ITEM_PURCHASE_REFUND_RESULT, 1 + 4 + 5 * (4 + 4) + 5 * (4 + 4) + 16) { } + explicit ItemPurchaseRefundResult() : ServerPacket(SMSG_ITEM_PURCHASE_REFUND_RESULT, 1 + 4 + 5 * (4 + 4) + 5 * (4 + 4) + 16) { } WorldPacket const* Write() override; @@ -153,7 +153,7 @@ namespace WorldPackets class ItemExpirePurchaseRefund final : public ServerPacket { public: - ItemExpirePurchaseRefund() : ServerPacket(SMSG_ITEM_EXPIRE_PURCHASE_REFUND, 16) { } + explicit ItemExpirePurchaseRefund() : ServerPacket(SMSG_ITEM_EXPIRE_PURCHASE_REFUND, 16) { } WorldPacket const* Write() override; @@ -163,7 +163,7 @@ namespace WorldPackets class RepairItem final : public ClientPacket { public: - RepairItem(WorldPacket&& packet) : ClientPacket(CMSG_REPAIR_ITEM, std::move(packet)) { } + explicit RepairItem(WorldPacket&& packet) : ClientPacket(CMSG_REPAIR_ITEM, std::move(packet)) { } void Read() override; @@ -175,7 +175,7 @@ namespace WorldPackets class SellItem final : public ClientPacket { public: - SellItem(WorldPacket&& packet) : ClientPacket(CMSG_SELL_ITEM, std::move(packet)) { } + explicit SellItem(WorldPacket&& packet) : ClientPacket(CMSG_SELL_ITEM, std::move(packet)) { } void Read() override; @@ -187,7 +187,7 @@ namespace WorldPackets class ItemTimeUpdate final : public ServerPacket { public: - ItemTimeUpdate() : ServerPacket(SMSG_ITEM_TIME_UPDATE, 8 + 4) { } + explicit ItemTimeUpdate() : ServerPacket(SMSG_ITEM_TIME_UPDATE, 8 + 4) { } WorldPacket const* Write() override; @@ -198,7 +198,7 @@ namespace WorldPackets class SetProficiency final : public ServerPacket { public: - SetProficiency() : ServerPacket(SMSG_SET_PROFICIENCY, 5) { } + explicit SetProficiency() : ServerPacket(SMSG_SET_PROFICIENCY, 5) { } WorldPacket const* Write() override; @@ -209,7 +209,7 @@ namespace WorldPackets class InventoryChangeFailure final : public ServerPacket { public: - InventoryChangeFailure() : ServerPacket(SMSG_INVENTORY_CHANGE_FAILURE, 22) { } + explicit InventoryChangeFailure() : ServerPacket(SMSG_INVENTORY_CHANGE_FAILURE, 22) { } WorldPacket const* Write() override; @@ -226,7 +226,7 @@ namespace WorldPackets class SplitItem final : public ClientPacket { public: - SplitItem(WorldPacket&& packet) : ClientPacket(CMSG_SPLIT_ITEM, std::move(packet)) { } + explicit SplitItem(WorldPacket&& packet) : ClientPacket(CMSG_SPLIT_ITEM, std::move(packet)) { } void Read() override; @@ -241,7 +241,7 @@ namespace WorldPackets class SwapInvItem final : public ClientPacket { public: - SwapInvItem(WorldPacket&& packet) : ClientPacket(CMSG_SWAP_INV_ITEM, std::move(packet)) { } + explicit SwapInvItem(WorldPacket&& packet) : ClientPacket(CMSG_SWAP_INV_ITEM, std::move(packet)) { } void Read() override; @@ -253,7 +253,7 @@ namespace WorldPackets class SwapItem final : public ClientPacket { public: - SwapItem(WorldPacket&& packet) : ClientPacket(CMSG_SWAP_ITEM, std::move(packet)) { } + explicit SwapItem(WorldPacket&& packet) : ClientPacket(CMSG_SWAP_ITEM, std::move(packet)) { } void Read() override; @@ -267,7 +267,7 @@ namespace WorldPackets class AutoEquipItem final : public ClientPacket { public: - AutoEquipItem(WorldPacket&& packet) : ClientPacket(CMSG_AUTO_EQUIP_ITEM, std::move(packet)) { } + explicit AutoEquipItem(WorldPacket&& packet) : ClientPacket(CMSG_AUTO_EQUIP_ITEM, std::move(packet)) { } void Read() override; @@ -279,7 +279,7 @@ namespace WorldPackets class AutoEquipItemSlot final : public ClientPacket { public: - AutoEquipItemSlot(WorldPacket&& packet) : ClientPacket(CMSG_AUTO_EQUIP_ITEM_SLOT, std::move(packet)) { } + explicit AutoEquipItemSlot(WorldPacket&& packet) : ClientPacket(CMSG_AUTO_EQUIP_ITEM_SLOT, std::move(packet)) { } void Read() override; @@ -291,7 +291,7 @@ namespace WorldPackets class AutoStoreBagItem final : public ClientPacket { public: - AutoStoreBagItem(WorldPacket&& packet) : ClientPacket(CMSG_AUTO_STORE_BAG_ITEM, std::move(packet)) { } + explicit AutoStoreBagItem(WorldPacket&& packet) : ClientPacket(CMSG_AUTO_STORE_BAG_ITEM, std::move(packet)) { } void Read() override; @@ -304,7 +304,7 @@ namespace WorldPackets class DestroyItem final : public ClientPacket { public: - DestroyItem(WorldPacket&& packet) : ClientPacket(CMSG_DESTROY_ITEM, std::move(packet)) { } + explicit DestroyItem(WorldPacket&& packet) : ClientPacket(CMSG_DESTROY_ITEM, std::move(packet)) { } void Read() override; @@ -316,7 +316,7 @@ namespace WorldPackets class SellResponse final : public ServerPacket { public: - SellResponse() : ServerPacket(SMSG_SELL_RESPONSE, 16 + 16 + 1) { } + explicit SellResponse() : ServerPacket(SMSG_SELL_RESPONSE, 16 + 16 + 1) { } WorldPacket const* Write() override; @@ -335,7 +335,7 @@ namespace WorldPackets DISPLAY_TYPE_ENCOUNTER_LOOT = 2 }; - ItemPushResult() : ServerPacket(SMSG_ITEM_PUSH_RESULT, 16 + 1 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 16 + 1 + 1 + 1 + 1) { } + explicit ItemPushResult() : ServerPacket(SMSG_ITEM_PUSH_RESULT, 16 + 1 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 16 + 1 + 1 + 1 + 1) { } WorldPacket const* Write() override; @@ -368,7 +368,7 @@ namespace WorldPackets class ReadItem final : public ClientPacket { public: - ReadItem(WorldPacket&& packet) : ClientPacket(CMSG_READ_ITEM, std::move(packet)) { } + explicit ReadItem(WorldPacket&& packet) : ClientPacket(CMSG_READ_ITEM, std::move(packet)) { } void Read() override; @@ -379,7 +379,7 @@ namespace WorldPackets class ReadItemResultFailed final : public ServerPacket { public: - ReadItemResultFailed() : ServerPacket(SMSG_READ_ITEM_RESULT_FAILED, 16 + 1 + 4) { } + explicit ReadItemResultFailed() : ServerPacket(SMSG_READ_ITEM_RESULT_FAILED, 16 + 1 + 4) { } WorldPacket const* Write() override; @@ -391,7 +391,7 @@ namespace WorldPackets class ReadItemResultOK final : public ServerPacket { public: - ReadItemResultOK() : ServerPacket(SMSG_READ_ITEM_RESULT_OK, 16) { } + explicit ReadItemResultOK() : ServerPacket(SMSG_READ_ITEM_RESULT_OK, 16) { } WorldPacket const* Write() override; @@ -401,7 +401,7 @@ namespace WorldPackets class WrapItem final : public ClientPacket { public: - WrapItem(WorldPacket&& packet) : ClientPacket(CMSG_WRAP_ITEM, std::move(packet)) { } + explicit WrapItem(WorldPacket&& packet) : ClientPacket(CMSG_WRAP_ITEM, std::move(packet)) { } void Read() override; @@ -411,7 +411,7 @@ namespace WorldPackets class CancelTempEnchantment final : public ClientPacket { public: - CancelTempEnchantment(WorldPacket&& packet) : ClientPacket(CMSG_CANCEL_TEMP_ENCHANTMENT, std::move(packet)) { } + explicit CancelTempEnchantment(WorldPacket&& packet) : ClientPacket(CMSG_CANCEL_TEMP_ENCHANTMENT, std::move(packet)) { } void Read() override; @@ -421,7 +421,7 @@ namespace WorldPackets class ItemCooldown final : public ServerPacket { public: - ItemCooldown() : ServerPacket(SMSG_ITEM_COOLDOWN, 24) { } + explicit ItemCooldown() : ServerPacket(SMSG_ITEM_COOLDOWN, 24) { } WorldPacket const* Write() override; @@ -433,7 +433,7 @@ namespace WorldPackets class EnchantmentLog final : public ServerPacket { public: - EnchantmentLog() : ServerPacket(SMSG_ENCHANTMENT_LOG, 0) { } + explicit EnchantmentLog() : ServerPacket(SMSG_ENCHANTMENT_LOG, 0) { } WorldPacket const* Write() override; @@ -448,7 +448,7 @@ namespace WorldPackets class ItemEnchantTimeUpdate final : public ServerPacket { public: - ItemEnchantTimeUpdate() : ServerPacket(SMSG_ITEM_ENCHANT_TIME_UPDATE, 40) { } + explicit ItemEnchantTimeUpdate() : ServerPacket(SMSG_ITEM_ENCHANT_TIME_UPDATE, 40) { } WorldPacket const* Write() override; @@ -461,7 +461,7 @@ namespace WorldPackets class UseCritterItem final : public ClientPacket { public: - UseCritterItem(WorldPacket&& packet) : ClientPacket(CMSG_USE_CRITTER_ITEM, std::move(packet)) { } + explicit UseCritterItem(WorldPacket&& packet) : ClientPacket(CMSG_USE_CRITTER_ITEM, std::move(packet)) { } void Read() override; @@ -471,7 +471,7 @@ namespace WorldPackets class SocketGems final : public ClientPacket { public: - SocketGems(WorldPacket&& packet) : ClientPacket(CMSG_SOCKET_GEMS, std::move(packet)) { } + explicit SocketGems(WorldPacket&& packet) : ClientPacket(CMSG_SOCKET_GEMS, std::move(packet)) { } void Read() override; @@ -482,7 +482,7 @@ namespace WorldPackets class SocketGemsSuccess final : public ServerPacket { public: - SocketGemsSuccess() : ServerPacket(SMSG_SOCKET_GEMS_SUCCESS, 16 + 4 * 3 + 4) { } + explicit SocketGemsSuccess() : ServerPacket(SMSG_SOCKET_GEMS_SUCCESS, 16 + 4 * 3 + 4) { } WorldPacket const* Write() override; @@ -508,7 +508,7 @@ namespace WorldPackets class SortBankBags final : public ClientPacket { public: - SortBankBags(WorldPacket&& packet) : ClientPacket(CMSG_SORT_BANK_BAGS, std::move(packet)) { } + explicit SortBankBags(WorldPacket&& packet) : ClientPacket(CMSG_SORT_BANK_BAGS, std::move(packet)) { } void Read() override { } }; @@ -516,7 +516,7 @@ namespace WorldPackets class SortReagentBankBags final : public ClientPacket { public: - SortReagentBankBags(WorldPacket&& packet) : ClientPacket(CMSG_SORT_REAGENT_BANK_BAGS, std::move(packet)) { } + explicit SortReagentBankBags(WorldPacket&& packet) : ClientPacket(CMSG_SORT_REAGENT_BANK_BAGS, std::move(packet)) { } void Read() override { } }; @@ -524,7 +524,7 @@ namespace WorldPackets class BagCleanupFinished final : public ServerPacket { public: - BagCleanupFinished() : ServerPacket(SMSG_BAG_CLEANUP_FINISHED, 0) { } + explicit BagCleanupFinished() : ServerPacket(SMSG_BAG_CLEANUP_FINISHED, 0) { } WorldPacket const* Write() override { return &_worldPacket; } }; @@ -532,7 +532,7 @@ namespace WorldPackets class RemoveNewItem final : public ClientPacket { public: - RemoveNewItem(WorldPacket&& packet) : ClientPacket(CMSG_REMOVE_NEW_ITEM, std::move(packet)) { } + explicit RemoveNewItem(WorldPacket&& packet) : ClientPacket(CMSG_REMOVE_NEW_ITEM, std::move(packet)) { } void Read() override; @@ -542,7 +542,7 @@ namespace WorldPackets class InventoryFullOverflow final : public ServerPacket { public: - InventoryFullOverflow() : ServerPacket(SMSG_INVENTORY_FULL_OVERFLOW, 0) { } + explicit InventoryFullOverflow() : ServerPacket(SMSG_INVENTORY_FULL_OVERFLOW, 0) { } WorldPacket const* Write() override { return &_worldPacket; } }; @@ -604,7 +604,7 @@ namespace WorldPackets class AddItemPassive final : public ServerPacket { public: - AddItemPassive() : ServerPacket(SMSG_ADD_ITEM_PASSIVE, 4) { } + explicit AddItemPassive() : ServerPacket(SMSG_ADD_ITEM_PASSIVE, 4) { } WorldPacket const* Write() override; @@ -614,7 +614,7 @@ namespace WorldPackets class RemoveItemPassive final : public ServerPacket { public: - RemoveItemPassive() : ServerPacket(SMSG_REMOVE_ITEM_PASSIVE, 4) { } + explicit RemoveItemPassive() : ServerPacket(SMSG_REMOVE_ITEM_PASSIVE, 4) { } WorldPacket const* Write() override; @@ -624,7 +624,7 @@ namespace WorldPackets class SendItemPassives final : public ServerPacket { public: - SendItemPassives() : ServerPacket(SMSG_SEND_ITEM_PASSIVES, 4) { } + explicit SendItemPassives() : ServerPacket(SMSG_SEND_ITEM_PASSIVES, 4) { } WorldPacket const* Write() override; @@ -633,4 +633,4 @@ namespace WorldPackets } } -#endif // ItemPackets_h__ +#endif // TRINITYCORE_ITEM_PACKETS_H diff --git a/src/server/game/Server/Packets/ItemPacketsCommon.cpp b/src/server/game/Server/Packets/ItemPacketsCommon.cpp index ed248759086..71463b5944f 100644 --- a/src/server/game/Server/Packets/ItemPacketsCommon.cpp +++ b/src/server/game/Server/Packets/ItemPacketsCommon.cpp @@ -27,23 +27,12 @@ bool ItemBonuses::operator==(ItemBonuses const& r) const if (Context != r.Context) return false; - if (BonusListIDs.size() != r.BonusListIDs.size()) - return false; - - return std::is_permutation(BonusListIDs.begin(), BonusListIDs.end(), r.BonusListIDs.begin()); -} - -bool ItemMod::operator==(ItemMod const& r) const -{ - return Value == r.Value && Type == r.Type; + return std::ranges::is_permutation(BonusListIDs, r.BonusListIDs); } bool ItemModList::operator==(ItemModList const& r) const { - if (Values.size() != r.Values.size()) - return false; - - return std::is_permutation(Values.begin(), Values.end(), r.Values.begin()); + return std::ranges::is_permutation(Values, r.Values); } void ItemInstance::Initialize(::Item const* item) @@ -58,7 +47,7 @@ void ItemInstance::Initialize(::Item const* item) } for (UF::ItemMod mod : item->m_itemData->Modifiers->Values) - Modifications.Values.emplace_back(mod.Value, ItemModifier(mod.Type)); + Modifications.Values.push_back({ .Value = mod.Value, .Type = ItemModifier(mod.Type) }); } void ItemInstance::Initialize(UF::SocketedGem const* gem) @@ -94,10 +83,10 @@ void ItemInstance::Initialize(::VoidStorageItem const* voidItem) ItemID = voidItem->ItemEntry; if (voidItem->FixedScalingLevel) - Modifications.Values.emplace_back(voidItem->FixedScalingLevel, ITEM_MODIFIER_TIMEWALKER_LEVEL); + Modifications.Values.push_back({ .Value = int32(voidItem->FixedScalingLevel), .Type = ITEM_MODIFIER_TIMEWALKER_LEVEL }); if (voidItem->ArtifactKnowledgeLevel) - Modifications.Values.emplace_back(voidItem->ArtifactKnowledgeLevel, ITEM_MODIFIER_ARTIFACT_KNOWLEDGE_LEVEL); + Modifications.Values.push_back({ .Value = int32(voidItem->ArtifactKnowledgeLevel), .Type = ITEM_MODIFIER_ARTIFACT_KNOWLEDGE_LEVEL }); if (!voidItem->BonusListIDs.empty()) { @@ -138,7 +127,7 @@ bool ItemBonusKey::operator==(ItemBonusKey const& right) const ByteBuffer& operator<<(ByteBuffer& data, ItemBonuses const& itemBonusInstanceData) { data << uint8(itemBonusInstanceData.Context); - data << uint32(itemBonusInstanceData.BonusListIDs.size()); + data << Size<uint32>(itemBonusInstanceData.BonusListIDs); for (uint32 bonusID : itemBonusInstanceData.BonusListIDs) data << uint32(bonusID); @@ -203,7 +192,7 @@ ByteBuffer& operator<<(ByteBuffer& data, ItemInstance const& itemInstance) { data << int32(itemInstance.ItemID); - data.WriteBit(itemInstance.ItemBonus.has_value()); + data << OptionalInit(itemInstance.ItemBonus); data.FlushBits(); data << itemInstance.Modifications; @@ -217,17 +206,13 @@ ByteBuffer& operator<<(ByteBuffer& data, ItemInstance const& itemInstance) ByteBuffer& operator>>(ByteBuffer& data, ItemInstance& itemInstance) { data >> itemInstance.ItemID; - - bool hasItemBonus = data.ReadBit(); + data >> OptionalInit(itemInstance.ItemBonus); data.ResetBitPos(); data >> itemInstance.Modifications; - if (hasItemBonus) - { - itemInstance.ItemBonus.emplace(); + if (itemInstance.ItemBonus) data >> *itemInstance.ItemBonus; - } return data; } @@ -235,8 +220,8 @@ ByteBuffer& operator>>(ByteBuffer& data, ItemInstance& itemInstance) ByteBuffer& operator<<(ByteBuffer& data, ItemBonusKey const& itemBonusKey) { data << int32(itemBonusKey.ItemID); - data << uint32(itemBonusKey.BonusListIDs.size()); - data << uint32(itemBonusKey.Modifications.size()); + data << Size<uint32>(itemBonusKey.BonusListIDs); + data << Size<uint32>(itemBonusKey.Modifications); if (!itemBonusKey.BonusListIDs.empty()) data.append(itemBonusKey.BonusListIDs.data(), itemBonusKey.BonusListIDs.size()); @@ -272,7 +257,7 @@ ByteBuffer& operator>>(ByteBuffer& data, ItemGemData& itemGemData) ByteBuffer& operator>>(ByteBuffer& data, InvUpdate& invUpdate) { - invUpdate.Items.resize(data.ReadBits(2)); + data >> BitsSize<2>(invUpdate.Items); data.ResetBitPos(); for (InvUpdate::InvItem& item : invUpdate.Items) { diff --git a/src/server/game/Server/Packets/ItemPacketsCommon.h b/src/server/game/Server/Packets/ItemPacketsCommon.h index a9fb6ce95ce..552d25623e3 100644 --- a/src/server/game/Server/Packets/ItemPacketsCommon.h +++ b/src/server/game/Server/Packets/ItemPacketsCommon.h @@ -15,8 +15,8 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef ItemPacketsCommon_h__ -#define ItemPacketsCommon_h__ +#ifndef TRINITYCORE_ITEM_PACKETS_COMMON_H +#define TRINITYCORE_ITEM_PACKETS_COMMON_H #include "ItemDefines.h" #include "PacketUtilities.h" @@ -48,13 +48,10 @@ namespace WorldPackets struct ItemMod { - ItemMod() = default; - ItemMod(int32 value, ItemModifier type) : Value(value), Type(type) { } - int32 Value = 0; ItemModifier Type = MAX_ITEM_MODIFIERS; - bool operator==(ItemMod const& r) const; + friend bool operator==(ItemMod const& left, ItemMod const& right) = default; }; struct ItemModList @@ -135,4 +132,4 @@ namespace WorldPackets } } -#endif // ItemPacketsCommon_h__ +#endif // TRINITYCORE_ITEM_PACKETS_COMMON_H diff --git a/src/server/game/Server/Packets/PacketUtilities.h b/src/server/game/Server/Packets/PacketUtilities.h index f5c4febcd49..1cfee3fd074 100644 --- a/src/server/game/Server/Packets/PacketUtilities.h +++ b/src/server/game/Server/Packets/PacketUtilities.h @@ -127,6 +127,11 @@ namespace WorldPackets return *this = std::string_view(value); } + void resize(std::size_t size) + { + _storage.resize(size); + } + private: static bool Validate(std::string_view value) { |