mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 15:50:20 +00:00
Opcode tables: sync Classic/WotLK to canonical headers and expand logical mapping coverage
Classic: synchronized Data/expansions/classic/opcodes.json to /home/k/Desktop/classicopcodes.h with exact symbol/value parity (0 missing, 0 mismatches). WotLK: synchronized Data/expansions/wotlk/opcodes.json to /home/k/Desktop/azerothcoreOpcodes.h and aligned symbol names to AzerothCore naming. Logical opcode layer: expanded include/game/opcode_table.hpp and src/game/opcode_table.cpp to include missing canonical opcode symbols required by synced tables, and removed legacy alias fallback block so canonical names are used directly. Gameplay/handler updates included from ongoing fixes: duel/taxi stale opcode cleanup, level-up/sound handling adjustments, and related parser/packet references updated to match canonical opcode identifiers. Validated by successful full build: cmake --build build -j32.
This commit is contained in:
parent
b24703db30
commit
52ac3bcba3
14 changed files with 4956 additions and 645 deletions
|
|
@ -737,7 +737,7 @@ void Application::update(float deltaTime) {
|
|||
renderer->getCharacterPosition() = p;
|
||||
glm::vec3 canonical = core::coords::renderToCanonical(p);
|
||||
gameHandler->setPosition(canonical.x, canonical.y, canonical.z);
|
||||
gameHandler->sendMovement(game::Opcode::CMSG_MOVE_HEARTBEAT);
|
||||
gameHandler->sendMovement(game::Opcode::MSG_MOVE_HEARTBEAT);
|
||||
}
|
||||
taxiLandingClampTimer_ -= deltaTime;
|
||||
}
|
||||
|
|
@ -878,7 +878,7 @@ void Application::update(float deltaTime) {
|
|||
}
|
||||
|
||||
// Send movement heartbeat so server knows our new position
|
||||
gameHandler->sendMovement(game::Opcode::CMSG_MOVE_HEARTBEAT);
|
||||
gameHandler->sendMovement(game::Opcode::MSG_MOVE_HEARTBEAT);
|
||||
}
|
||||
} else {
|
||||
glm::vec3 renderPos = renderer->getCharacterPosition();
|
||||
|
|
@ -894,7 +894,7 @@ void Application::update(float deltaTime) {
|
|||
float canonicalYaw = core::coords::normalizeAngleRad(glm::radians(180.0f - yawDeg));
|
||||
gameHandler->setOrientation(canonicalYaw);
|
||||
|
||||
// Send CMSG_MOVE_SET_FACING when the player changes facing direction
|
||||
// Send MSG_MOVE_SET_FACING when the player changes facing direction
|
||||
// (e.g. via mouse-look). Without this, the server predicts movement in
|
||||
// the old facing and position-corrects on the next heartbeat — the
|
||||
// micro-teleporting the GM observed.
|
||||
|
|
@ -908,7 +908,7 @@ void Application::update(float deltaTime) {
|
|||
if (!keyboardTurning && facingSendCooldown_ <= 0.0f) {
|
||||
float yawDiff = core::coords::normalizeAngleRad(canonicalYaw - lastSentCanonicalYaw_);
|
||||
if (std::abs(yawDiff) > glm::radians(3.0f)) {
|
||||
gameHandler->sendMovement(game::Opcode::CMSG_MOVE_SET_FACING);
|
||||
gameHandler->sendMovement(game::Opcode::MSG_MOVE_SET_FACING);
|
||||
lastSentCanonicalYaw_ = canonicalYaw;
|
||||
facingSendCooldown_ = 0.1f; // max 10 Hz
|
||||
}
|
||||
|
|
@ -1191,11 +1191,11 @@ void Application::setupUICallbacks() {
|
|||
}
|
||||
if (gameHandler) {
|
||||
gameHandler->forceClearTaxiAndMovementState();
|
||||
gameHandler->sendMovement(game::Opcode::CMSG_MOVE_STOP);
|
||||
gameHandler->sendMovement(game::Opcode::CMSG_MOVE_STOP_STRAFE);
|
||||
gameHandler->sendMovement(game::Opcode::CMSG_MOVE_STOP_TURN);
|
||||
gameHandler->sendMovement(game::Opcode::CMSG_MOVE_STOP_SWIM);
|
||||
gameHandler->sendMovement(game::Opcode::CMSG_MOVE_HEARTBEAT);
|
||||
gameHandler->sendMovement(game::Opcode::MSG_MOVE_STOP);
|
||||
gameHandler->sendMovement(game::Opcode::MSG_MOVE_STOP_STRAFE);
|
||||
gameHandler->sendMovement(game::Opcode::MSG_MOVE_STOP_TURN);
|
||||
gameHandler->sendMovement(game::Opcode::MSG_MOVE_STOP_SWIM);
|
||||
gameHandler->sendMovement(game::Opcode::MSG_MOVE_HEARTBEAT);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -1203,10 +1203,10 @@ void Application::setupUICallbacks() {
|
|||
if (!gameHandler) return;
|
||||
glm::vec3 canonical = core::coords::renderToCanonical(renderPos);
|
||||
gameHandler->setPosition(canonical.x, canonical.y, canonical.z);
|
||||
gameHandler->sendMovement(game::Opcode::CMSG_MOVE_STOP);
|
||||
gameHandler->sendMovement(game::Opcode::CMSG_MOVE_STOP_STRAFE);
|
||||
gameHandler->sendMovement(game::Opcode::CMSG_MOVE_STOP_TURN);
|
||||
gameHandler->sendMovement(game::Opcode::CMSG_MOVE_HEARTBEAT);
|
||||
gameHandler->sendMovement(game::Opcode::MSG_MOVE_STOP);
|
||||
gameHandler->sendMovement(game::Opcode::MSG_MOVE_STOP_STRAFE);
|
||||
gameHandler->sendMovement(game::Opcode::MSG_MOVE_STOP_TURN);
|
||||
gameHandler->sendMovement(game::Opcode::MSG_MOVE_HEARTBEAT);
|
||||
};
|
||||
|
||||
auto forceServerTeleportCommand = [this](const glm::vec3& renderPos) {
|
||||
|
|
@ -1425,7 +1425,7 @@ void Application::setupUICallbacks() {
|
|||
// Sync canonical orientation to server so it knows we turned
|
||||
float canonicalYaw = core::coords::normalizeAngleRad(glm::radians(180.0f - yawDeg));
|
||||
gameHandler->setOrientation(canonicalYaw);
|
||||
gameHandler->sendMovement(game::Opcode::CMSG_MOVE_SET_FACING);
|
||||
gameHandler->sendMovement(game::Opcode::MSG_MOVE_SET_FACING);
|
||||
|
||||
// Set charge state
|
||||
chargeActive_ = true;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue