mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 07:40:14 +00:00
Make this compatible to build with MSVS 2022
This commit is contained in:
parent
590131590c
commit
9dd15ef922
9 changed files with 201 additions and 49 deletions
|
|
@ -11,6 +11,16 @@
|
|||
#include <iomanip>
|
||||
#include <zlib.h>
|
||||
|
||||
namespace {
|
||||
inline uint32_t bswap32(uint32_t v) {
|
||||
return ((v & 0xFF000000u) >> 24) | ((v & 0x00FF0000u) >> 8)
|
||||
| ((v & 0x0000FF00u) << 8) | ((v & 0x000000FFu) << 24);
|
||||
}
|
||||
inline uint16_t bswap16(uint16_t v) {
|
||||
return static_cast<uint16_t>(((v & 0xFF00u) >> 8) | ((v & 0x00FFu) << 8));
|
||||
}
|
||||
}
|
||||
|
||||
namespace wowee {
|
||||
namespace game {
|
||||
|
||||
|
|
@ -3744,10 +3754,10 @@ bool TalentsInfoParser::parse(network::Packet& packet, TalentsInfoData& data) {
|
|||
|
||||
// These two counts are big-endian (network byte order)
|
||||
uint32_t talentCountBE = packet.readUInt32();
|
||||
uint32_t talentCount = __builtin_bswap32(talentCountBE);
|
||||
uint32_t talentCount = bswap32(talentCountBE);
|
||||
|
||||
uint16_t entryCountBE = packet.readUInt16();
|
||||
uint16_t entryCount = __builtin_bswap16(entryCountBE);
|
||||
uint16_t entryCount = bswap16(entryCountBE);
|
||||
|
||||
// Sanity check: prevent corrupt packets from allocating excessive memory
|
||||
if (entryCount > 64) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue