mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-04-14 16:33:52 +00:00
refactor: move hasFullPackedGuid into Packet class, deduplicate 2 definitions
Add Packet::hasFullPackedGuid() method and remove identical standalone definitions from game_handler.cpp and packet_parsers_classic.cpp. Replace 53 free-function calls with method calls.
This commit is contained in:
parent
376d0a0f77
commit
40dd39feed
4 changed files with 61 additions and 85 deletions
|
|
@ -3391,12 +3391,12 @@ bool AttackerStateUpdateParser::parse(network::Packet& packet, AttackerStateUpda
|
|||
|
||||
size_t startPos = packet.getReadPos();
|
||||
data.hitInfo = packet.readUInt32();
|
||||
if (!hasFullPackedGuid(packet)) {
|
||||
if (!packet.hasFullPackedGuid()) {
|
||||
packet.setReadPos(startPos);
|
||||
return false;
|
||||
}
|
||||
data.attackerGuid = UpdateObjectParser::readPackedGuid(packet);
|
||||
if (!hasFullPackedGuid(packet)) {
|
||||
if (!packet.hasFullPackedGuid()) {
|
||||
packet.setReadPos(startPos);
|
||||
return false;
|
||||
}
|
||||
|
|
@ -3478,12 +3478,12 @@ bool SpellDamageLogParser::parse(network::Packet& packet, SpellDamageLogData& da
|
|||
if (packet.getRemainingSize() < 33) return false;
|
||||
|
||||
size_t startPos = packet.getReadPos();
|
||||
if (!hasFullPackedGuid(packet)) {
|
||||
if (!packet.hasFullPackedGuid()) {
|
||||
packet.setReadPos(startPos);
|
||||
return false;
|
||||
}
|
||||
data.targetGuid = UpdateObjectParser::readPackedGuid(packet);
|
||||
if (!hasFullPackedGuid(packet)) {
|
||||
if (!packet.hasFullPackedGuid()) {
|
||||
packet.setReadPos(startPos);
|
||||
return false;
|
||||
}
|
||||
|
|
@ -3528,12 +3528,12 @@ bool SpellHealLogParser::parse(network::Packet& packet, SpellHealLogData& data)
|
|||
if (packet.getRemainingSize() < 21) return false;
|
||||
|
||||
size_t startPos = packet.getReadPos();
|
||||
if (!hasFullPackedGuid(packet)) {
|
||||
if (!packet.hasFullPackedGuid()) {
|
||||
packet.setReadPos(startPos);
|
||||
return false;
|
||||
}
|
||||
data.targetGuid = UpdateObjectParser::readPackedGuid(packet);
|
||||
if (!hasFullPackedGuid(packet)) {
|
||||
if (!packet.hasFullPackedGuid()) {
|
||||
packet.setReadPos(startPos);
|
||||
return false;
|
||||
}
|
||||
|
|
@ -3765,11 +3765,11 @@ bool SpellStartParser::parse(network::Packet& packet, SpellStartData& data) {
|
|||
if (packet.getRemainingSize() < 15) return false;
|
||||
|
||||
size_t startPos = packet.getReadPos();
|
||||
if (!hasFullPackedGuid(packet)) {
|
||||
if (!packet.hasFullPackedGuid()) {
|
||||
return false;
|
||||
}
|
||||
data.casterGuid = UpdateObjectParser::readPackedGuid(packet);
|
||||
if (!hasFullPackedGuid(packet)) {
|
||||
if (!packet.hasFullPackedGuid()) {
|
||||
packet.setReadPos(startPos);
|
||||
return false;
|
||||
}
|
||||
|
|
@ -3799,13 +3799,13 @@ bool SpellStartParser::parse(network::Packet& packet, SpellStartData& data) {
|
|||
uint32_t targetFlags = packet.readUInt32();
|
||||
|
||||
auto readPackedTarget = [&](uint64_t* out) -> bool {
|
||||
if (!hasFullPackedGuid(packet)) return false;
|
||||
if (!packet.hasFullPackedGuid()) return false;
|
||||
uint64_t g = UpdateObjectParser::readPackedGuid(packet);
|
||||
if (out) *out = g;
|
||||
return true;
|
||||
};
|
||||
auto skipPackedAndFloats3 = [&]() -> bool {
|
||||
if (!hasFullPackedGuid(packet)) return false;
|
||||
if (!packet.hasFullPackedGuid()) return false;
|
||||
UpdateObjectParser::readPackedGuid(packet); // transport GUID (may be zero)
|
||||
if (packet.getRemainingSize() < 12) return false;
|
||||
packet.readFloat(); packet.readFloat(); packet.readFloat();
|
||||
|
|
@ -3846,11 +3846,11 @@ bool SpellGoParser::parse(network::Packet& packet, SpellGoData& data) {
|
|||
if (packet.getRemainingSize() < 16) return false;
|
||||
|
||||
size_t startPos = packet.getReadPos();
|
||||
if (!hasFullPackedGuid(packet)) {
|
||||
if (!packet.hasFullPackedGuid()) {
|
||||
return false;
|
||||
}
|
||||
data.casterGuid = UpdateObjectParser::readPackedGuid(packet);
|
||||
if (!hasFullPackedGuid(packet)) {
|
||||
if (!packet.hasFullPackedGuid()) {
|
||||
packet.setReadPos(startPos);
|
||||
return false;
|
||||
}
|
||||
|
|
@ -3974,13 +3974,13 @@ bool SpellGoParser::parse(network::Packet& packet, SpellGoData& data) {
|
|||
uint32_t targetFlags = packet.readUInt32();
|
||||
|
||||
auto readPackedTarget = [&](uint64_t* out) -> bool {
|
||||
if (!hasFullPackedGuid(packet)) return false;
|
||||
if (!packet.hasFullPackedGuid()) return false;
|
||||
uint64_t g = UpdateObjectParser::readPackedGuid(packet);
|
||||
if (out) *out = g;
|
||||
return true;
|
||||
};
|
||||
auto skipPackedAndFloats3 = [&]() -> bool {
|
||||
if (!hasFullPackedGuid(packet)) return false;
|
||||
if (!packet.hasFullPackedGuid()) return false;
|
||||
UpdateObjectParser::readPackedGuid(packet); // transport GUID
|
||||
if (packet.getRemainingSize() < 12) return false;
|
||||
packet.readFloat(); packet.readFloat(); packet.readFloat();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue