mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-22 23:30: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
|
|
@ -1052,6 +1052,8 @@ private:
|
|||
void handleNameQueryResponse(network::Packet& packet);
|
||||
void handleCreatureQueryResponse(network::Packet& packet);
|
||||
void handleGameObjectQueryResponse(network::Packet& packet);
|
||||
void handleGameObjectPageText(network::Packet& packet);
|
||||
void handlePageTextQueryResponse(network::Packet& packet);
|
||||
void handleItemQueryResponse(network::Packet& packet);
|
||||
void handleInspectResults(network::Packet& packet);
|
||||
void queryItemInfo(uint32_t entry, uint64_t guid);
|
||||
|
|
|
|||
|
|
@ -1405,6 +1405,27 @@ public:
|
|||
static bool parse(network::Packet& packet, GameObjectQueryResponseData& data);
|
||||
};
|
||||
|
||||
/** CMSG_PAGE_TEXT_QUERY packet builder */
|
||||
class PageTextQueryPacket {
|
||||
public:
|
||||
static network::Packet build(uint32_t pageId, uint64_t guid);
|
||||
};
|
||||
|
||||
/** SMSG_PAGE_TEXT_QUERY_RESPONSE data */
|
||||
struct PageTextQueryResponseData {
|
||||
uint32_t pageId = 0;
|
||||
std::string text;
|
||||
uint32_t nextPageId = 0;
|
||||
|
||||
bool isValid() const { return pageId != 0; }
|
||||
};
|
||||
|
||||
/** SMSG_PAGE_TEXT_QUERY_RESPONSE parser */
|
||||
class PageTextQueryResponseParser {
|
||||
public:
|
||||
static bool parse(network::Packet& packet, PageTextQueryResponseData& data);
|
||||
};
|
||||
|
||||
// ============================================================
|
||||
// Item Query
|
||||
// ============================================================
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue