mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-22 23:30:14 +00:00
Add bindpoint support and WMO snap fix
This commit is contained in:
parent
132a6ea3c9
commit
189f4a0a58
7 changed files with 94 additions and 0 deletions
|
|
@ -373,6 +373,8 @@ public:
|
|||
void unstuck();
|
||||
void setUnstuckGyCallback(UnstuckCallback cb) { unstuckGyCallback_ = std::move(cb); }
|
||||
void unstuckGy();
|
||||
using BindPointCallback = std::function<void(uint32_t mapId, float x, float y, float z)>;
|
||||
void setBindPointCallback(BindPointCallback cb) { bindPointCallback_ = std::move(cb); }
|
||||
|
||||
// Creature spawn callback (online mode - triggered when creature enters view)
|
||||
// Parameters: guid, displayId, x, y, z (canonical), orientation
|
||||
|
|
@ -837,6 +839,7 @@ private:
|
|||
WorldEntryCallback worldEntryCallback_;
|
||||
UnstuckCallback unstuckCallback_;
|
||||
UnstuckCallback unstuckGyCallback_;
|
||||
BindPointCallback bindPointCallback_;
|
||||
CreatureSpawnCallback creatureSpawnCallback_;
|
||||
CreatureDespawnCallback creatureDespawnCallback_;
|
||||
CreatureMoveCallback creatureMoveCallback_;
|
||||
|
|
|
|||
|
|
@ -126,6 +126,7 @@ enum class Opcode : uint16_t {
|
|||
CMSG_GAMEOBJECT_QUERY = 0x05E,
|
||||
SMSG_GAMEOBJECT_QUERY_RESPONSE = 0x05F,
|
||||
CMSG_SET_ACTIVE_MOVER = 0x26A,
|
||||
CMSG_BINDER_ACTIVATE = 0x1B2,
|
||||
|
||||
// ---- XP ----
|
||||
SMSG_LOG_XPGAIN = 0x1D0,
|
||||
|
|
@ -272,6 +273,7 @@ enum class Opcode : uint16_t {
|
|||
// ---- Battleground ----
|
||||
SMSG_BATTLEFIELD_PORT_DENIED = 0x014B,
|
||||
SMSG_REMOVED_FROM_PVP_QUEUE = 0x0170,
|
||||
SMSG_BINDPOINTUPDATE = 0x01B3,
|
||||
CMSG_BATTLEFIELD_LIST = 0x023C,
|
||||
SMSG_BATTLEFIELD_LIST = 0x023D,
|
||||
CMSG_BATTLEFIELD_JOIN = 0x023E,
|
||||
|
|
|
|||
|
|
@ -1558,6 +1558,30 @@ public:
|
|||
static bool parse(network::Packet& packet, GossipMessageData& data);
|
||||
};
|
||||
|
||||
// ============================================================
|
||||
// Bind Point (Hearthstone)
|
||||
// ============================================================
|
||||
|
||||
struct BindPointUpdateData {
|
||||
float x = 0.0f;
|
||||
float y = 0.0f;
|
||||
float z = 0.0f;
|
||||
uint32_t mapId = 0;
|
||||
uint32_t zoneId = 0;
|
||||
};
|
||||
|
||||
/** CMSG_BINDER_ACTIVATE packet builder */
|
||||
class BinderActivatePacket {
|
||||
public:
|
||||
static network::Packet build(uint64_t npcGuid);
|
||||
};
|
||||
|
||||
/** SMSG_BINDPOINTUPDATE parser */
|
||||
class BindPointUpdateParser {
|
||||
public:
|
||||
static bool parse(network::Packet& packet, BindPointUpdateData& data);
|
||||
};
|
||||
|
||||
/** CMSG_QUESTGIVER_QUERY_QUEST packet builder */
|
||||
class QuestgiverQueryQuestPacket {
|
||||
public:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue