mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-22 23:30:14 +00:00
Fix gossip message parsing for Vanilla/Turtle (flight master hang)
Classic gossip packets lack the menuId field and quest items don't have questFlags/isRepeatable, causing the WotLK parser to read garbage counts (541M quests) and hang. Added ClassicPacketParsers::parseGossipMessage override with the correct vanilla format.
This commit is contained in:
parent
a96dc4ebcc
commit
cbb3035313
3 changed files with 60 additions and 1 deletions
|
|
@ -117,6 +117,13 @@ public:
|
|||
return NameQueryResponseParser::parse(packet, data);
|
||||
}
|
||||
|
||||
// --- Gossip ---
|
||||
|
||||
/** Parse SMSG_GOSSIP_MESSAGE */
|
||||
virtual bool parseGossipMessage(network::Packet& packet, GossipMessageData& data) {
|
||||
return GossipMessageParser::parse(packet, data);
|
||||
}
|
||||
|
||||
// --- Destroy Object ---
|
||||
|
||||
/** Parse SMSG_DESTROY_OBJECT */
|
||||
|
|
@ -226,6 +233,7 @@ public:
|
|||
network::Packet buildCastSpell(uint32_t spellId, uint64_t targetGuid, uint8_t castCount) override;
|
||||
bool parseCastFailed(network::Packet& packet, CastFailedData& data) override;
|
||||
bool parseMessageChat(network::Packet& packet, MessageChatData& data) override;
|
||||
bool parseGossipMessage(network::Packet& packet, GossipMessageData& data) override;
|
||||
bool parseGuildRoster(network::Packet& packet, GuildRosterData& data) override;
|
||||
bool parseGuildQueryResponse(network::Packet& packet, GuildQueryResponseData& data) override;
|
||||
network::Packet buildJoinChannel(const std::string& channelName, const std::string& password) override;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue