diff options
| author | Shauren <shauren.trinity@gmail.com> | 2023-10-23 18:15:01 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2023-10-23 18:15:01 +0200 |
| commit | 973b5f404f5b7115239a81030ad2f8dff8e165ea (patch) | |
| tree | de6db7264bc6fa02652b384b4d89245295ab63d5 /src/server/game/Server | |
| parent | 1faa603d16cb51e581e43a560e54ec6e3ba8a9a4 (diff) | |
Core/DataStores: Don't send hotfix ids in SMSG_AVAILABLE_HOTFIXES that don't have a hotfix blob for client locale
Closes #29378
Diffstat (limited to 'src/server/game/Server')
| -rw-r--r-- | src/server/game/Server/Packets/HotfixPackets.cpp | 6 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/HotfixPackets.h | 7 |
2 files changed, 7 insertions, 6 deletions
diff --git a/src/server/game/Server/Packets/HotfixPackets.cpp b/src/server/game/Server/Packets/HotfixPackets.cpp index 9524a493a1c..3e22cb39e60 100644 --- a/src/server/game/Server/Packets/HotfixPackets.cpp +++ b/src/server/game/Server/Packets/HotfixPackets.cpp @@ -78,10 +78,12 @@ WorldPacket const* DBReply::Write() WorldPacket const* AvailableHotfixes::Write() { + _worldPacket.reserve(4 + 4 + sizeof(DB2Manager::HotfixId) * Hotfixes.size()); + _worldPacket << int32(VirtualRealmAddress); _worldPacket << uint32(Hotfixes.size()); - for (DB2Manager::HotfixContainer::value_type const& hotfixRecord : Hotfixes) - _worldPacket << hotfixRecord.second.front().ID; + for (DB2Manager::HotfixId const& hotfixId : Hotfixes) + _worldPacket << hotfixId; return &_worldPacket; } diff --git a/src/server/game/Server/Packets/HotfixPackets.h b/src/server/game/Server/Packets/HotfixPackets.h index 02d0cb9e453..7d85637bf26 100644 --- a/src/server/game/Server/Packets/HotfixPackets.h +++ b/src/server/game/Server/Packets/HotfixPackets.h @@ -60,13 +60,12 @@ namespace WorldPackets class AvailableHotfixes final : public ServerPacket { public: - AvailableHotfixes(int32 virtualRealmAddress, DB2Manager::HotfixContainer const& hotfixes) - : ServerPacket(SMSG_AVAILABLE_HOTFIXES), VirtualRealmAddress(virtualRealmAddress), Hotfixes(hotfixes) { } + AvailableHotfixes() : ServerPacket(SMSG_AVAILABLE_HOTFIXES, 0) { } WorldPacket const* Write() override; - int32 VirtualRealmAddress; - DB2Manager::HotfixContainer const& Hotfixes; + int32 VirtualRealmAddress = 0; + std::set<DB2Manager::HotfixId> Hotfixes; }; class HotfixRequest final : public ClientPacket |
