mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-24 16:10:14 +00:00
Fix street sign interaction text and M2 sign orientation
Add page-text support for sign-like gameobject interactions by handling SMSG_GAMEOBJECT_PAGETEXT and SMSG_PAGE_TEXT_QUERY_RESPONSE, and issuing CMSG_PAGE_TEXT_QUERY when page IDs are available from cached GO template data. Normalize received page text tokens before chat display and add a fallback for basic signpost GO type clicks to print sign names when no page data is present. Correct M2 gameobject yaw alignment for signposts/arrows by applying render-space -90deg offset consistently across spawn, position update, and move-callback transforms; keep WMO orientation path unchanged.
This commit is contained in:
parent
ace24e8ccc
commit
c04e97e375
5 changed files with 118 additions and 5 deletions
|
|
@ -2089,6 +2089,25 @@ bool GameObjectQueryResponseParser::parse(network::Packet& packet, GameObjectQue
|
|||
return true;
|
||||
}
|
||||
|
||||
network::Packet PageTextQueryPacket::build(uint32_t pageId, uint64_t guid) {
|
||||
network::Packet packet(wireOpcode(Opcode::CMSG_PAGE_TEXT_QUERY));
|
||||
packet.writeUInt32(pageId);
|
||||
packet.writeUInt64(guid);
|
||||
return packet;
|
||||
}
|
||||
|
||||
bool PageTextQueryResponseParser::parse(network::Packet& packet, PageTextQueryResponseData& data) {
|
||||
if (packet.getSize() - packet.getReadPos() < 4) return false;
|
||||
data.pageId = packet.readUInt32();
|
||||
data.text = normalizeWowTextTokens(packet.readString());
|
||||
if (packet.getSize() - packet.getReadPos() >= 4) {
|
||||
data.nextPageId = packet.readUInt32();
|
||||
} else {
|
||||
data.nextPageId = 0;
|
||||
}
|
||||
return data.isValid();
|
||||
}
|
||||
|
||||
// ---- Item Query ----
|
||||
|
||||
network::Packet ItemQueryPacket::build(uint32_t entry, uint64_t guid) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue