Skip to content
This repository has been archived by the owner on Feb 29, 2024. It is now read-only.

Commit

Permalink
Server/PacketIO: Update CMSG_MOVE_KNOCK_BACK_ACK
Browse files Browse the repository at this point in the history
Signed-off-by: AriDEV <aridev666@gmail.com>
  • Loading branch information
AriDEV committed Mar 7, 2019
1 parent c7cf101 commit e63da4a
Show file tree
Hide file tree
Showing 4 changed files with 81 additions and 70 deletions.
4 changes: 4 additions & 0 deletions src/server/game/Entities/Player/Player.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28630,6 +28630,7 @@ void Player::ReadMovementInfo(WorldPacket& data, MovementInfo* mi, Movement::Ext
bool hasSplineElevation = false;
bool hasCounter = false;
uint32 forcesCount = 0u;
uint32 ackCount = 0u;

ObjectGuid guid;
ObjectGuid tguid;
Expand Down Expand Up @@ -28840,6 +28841,9 @@ void Player::ReadMovementInfo(WorldPacket& data, MovementInfo* mi, Movement::Ext
case MSEExtraElement:
extras->ReadNextElement(data);
break;
case MSEAckCount:
data.read_skip<uint32>();
break;
default:
ASSERT(Movement::PrintInvalidSequenceElement(element, __FUNCTION__));
break;
Expand Down
143 changes: 74 additions & 69 deletions src/server/game/Movement/MovementStructures.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4004,76 +4004,81 @@ MovementStatusElements const MovementHoverAck[] =
MSEEnd,
};

MovementStatusElements const MovementKnockBackAck[] =
MovementStatusElements const MovementKnockBackAck[] = // 5.4.8 18414
{
MSEPositionY,
MSEPositionZ,
MSECounter,
MSEPositionX,
MSEHasGuidByte6,
MSEHasOrientation,
MSEHasPitch,
MSEHasSplineElevation,
MSEHasGuidByte3,
MSEHasGuidByte4,
MSEHasGuidByte1,
MSEHasGuidByte2,
MSEHasSpline,
MSEHasGuidByte7,
MSEZeroBit,
MSEHasMovementFlags2,
MSEHasTimestamp,
MSEHasGuidByte0,
MSEHasMovementFlags,
MSEHasTransportData,
MSEHasGuidByte5,
MSEHasFallData,
MSEMovementFlags,
MSEHasTransportGuidByte4,
MSEHasTransportGuidByte1,
MSEHasTransportTime2,
MSEHasTransportGuidByte0,
MSEHasTransportTime3,
MSEHasTransportGuidByte6,
MSEHasTransportGuidByte2,
MSEHasTransportGuidByte3,
MSEHasTransportGuidByte5,
MSEHasTransportGuidByte7,
MSEMovementFlags2,
MSEHasFallDirection,
MSEGuidByte4,
MSEGuidByte5,
MSEGuidByte1,
MSEGuidByte6,
MSEGuidByte0,
MSEGuidByte3,
MSEGuidByte2,
MSEGuidByte7,
MSEFallSinAngle,
MSEFallHorizontalSpeed,
MSEFallCosAngle,
MSEFallTime,
MSEFallVerticalSpeed,
MSEAckCount, // 44
MSEPositionX, // 9
MSEPositionZ, // 11
MSEPositionY, // 10
MSEHasGuidByte5, // 21
MSEHasCounter, // 42
MSEHasTimestamp, // 8
MSEHasMovementFlags2, // 7
MSEZeroBit, // 172
MSEHasTransportData, // 104
MSEHasSplineElevation, // 36
MSEHasGuidByte3, // 19
MSEHasPitch, // 28
MSEForcesCount, // 38
MSEHasGuidByte1, // 17
MSEHasMovementFlags, // 6
MSEHasGuidByte7, // 23
MSEHasGuidByte6, // 22
MSEHasGuidByte4, // 20
MSEHasGuidByte0, // 16
MSEHasOrientation, // 12
MSEHasGuidByte2, // 18
MSEZeroBit, // 149
MSEHasFallData, // 140
MSEHasSpline, // 148
MSEMovementFlags, // 6
MSEHasTransportGuidByte2, // 58
MSEHasTransportTime3, // 100
MSEHasTransportGuidByte3, // 59
MSEHasTransportGuidByte1, // 57
MSEHasTransportGuidByte4, // 60
MSEHasTransportGuidByte6, // 62
MSEHasTransportGuidByte0, // 56
MSEHasTransportTime2, // 92
MSEHasTransportGuidByte5, // 61
MSEHasTransportGuidByte7, // 63
MSEHasFallDirection, // 136
MSEMovementFlags2, // 7
MSEGuidByte4, // 20
MSEGuidByte1, // 17
MSEGuidByte0, // 16
MSEGuidByte2, // 18
MSEGuidByte5, // 21
MSEGuidByte3, // 19
MSEForces, // 39
MSEGuidByte7, // 23
MSEGuidByte6, // 22
MSETransportTime3, // 104 100 (24)
MSETransportTime2, // 104 92 (22)
MSETransportTime, // 104 (21)
MSETransportPositionX, // 104 (16)
MSETransportPositionY, // 104 (17)
MSETransportGuidByte7, // 104 (63)
MSETransportSeat, // 104 (80)
MSETransportGuidByte1, // 104 (57)
MSETransportPositionZ, // 104 (18)
MSETransportOrientation, // 104 (19)
MSETransportGuidByte6, // 104 (62)
MSETransportGuidByte2, // 104 (58)
MSETransportGuidByte3, // 104 (59)
MSETransportGuidByte0, // 104 (56)
MSETransportGuidByte4, // 104 (60)
MSETransportGuidByte5, // 104 (61)
MSEFallHorizontalSpeed, // 140 136 (33)
MSEFallSinAngle, // 140 136 (32)
MSEFallCosAngle, // 140 136 (31)
MSEFallVerticalSpeed, // 140 (30)
MSEFallTime, // 140 (29)
MSESplineElevation, // 36
MSEPitch, // 28
MSETimestamp,
MSETransportPositionY,
MSETransportGuidByte4,
MSETransportTime2,
MSETransportGuidByte7,
MSETransportOrientation,
MSETransportGuidByte6,
MSETransportTime,
MSETransportGuidByte3,
MSETransportGuidByte1,
MSETransportTime3,
MSETransportGuidByte2,
MSETransportPositionZ,
MSETransportGuidByte0,
MSETransportGuidByte5,
MSETransportPositionX,
MSETransportSeat,
MSEPitch,
MSESplineElevation,
MSEOrientation,
MSECounter,
MSEEnd,
};

Expand Down Expand Up @@ -5586,8 +5591,8 @@ MovementStatusElements const* GetMovementStatusElementsSequence(Opcodes opcode)
// return MovementGravityEnableAck;
//case CMSG_MOVE_HOVER_ACK:
// return MovementHoverAck;
//case CMSG_MOVE_KNOCK_BACK_ACK:
// return MovementKnockBackAck;
case CMSG_MOVE_KNOCK_BACK_ACK:
return MovementKnockBackAck;
//case CMSG_MOVE_SET_CAN_FLY:
// return MovementSetCanFly;
//case CMSG_MOVE_SET_CAN_FLY_ACK:
Expand Down
2 changes: 2 additions & 0 deletions src/server/game/Movement/MovementStructures.h
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,8 @@ enum MovementStatusElements

MSEUintCount,

MSEAckCount,

// Special
MSEZeroBit, // writes bit value 1 or skips read bit
MSEOneBit, // writes bit value 0 or skips read bit
Expand Down
2 changes: 1 addition & 1 deletion src/server/game/Server/Protocol/Opcodes.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -291,6 +291,7 @@ void OpcodeTable::InitializeClientTable()
DEFINE_OPCODE_HANDLER(CMSG_MINIMAP_PING, 0x0837, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMinimapPingOpcode ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(CMSG_MOUNTSPECIAL_ANIM, 0x0082, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMountSpecialAnimOpcode ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(CMSG_MOVE_CHNG_TRANSPORT, 0x09DB, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(CMSG_MOVE_KNOCK_BACK_ACK, 0x00F2, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMoveKnockBackAck ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(CMSG_MOVE_SPLINE_DONE, 0x11D9, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMoveSplineDoneOpcode ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(CMSG_MOVE_TELEPORT_ACK, 0x0078, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMoveTeleportAck ); // 5.4.8 18414
DEFINE_OPCODE_HANDLER(CMSG_MOVE_TIME_SKIPPED, 0x0150, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleMoveTimeSkippedOpcode ); // 5.4.8 18414
Expand Down Expand Up @@ -564,7 +565,6 @@ void OpcodeTable::InitializeClientTable()
DEFINE_OPCODE_HANDLER(CMSG_MOVE_GRAVITY_DISABLE_ACK, 0x09D3, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_OPCODE_HANDLER(CMSG_MOVE_GRAVITY_ENABLE_ACK, 0x11D8, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_OPCODE_HANDLER(CMSG_MOVE_HOVER_ACK, 0x0000, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleMoveHoverAck);
DEFINE_OPCODE_HANDLER(CMSG_MOVE_KNOCK_BACK_ACK, 0x0000, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleMoveKnockBackAck);
DEFINE_OPCODE_HANDLER(CMSG_MOVE_NOT_ACTIVE_MOVER, 0x0000, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleMoveNotActiveMover);
DEFINE_OPCODE_HANDLER(CMSG_MOVE_SET_CAN_FLY, 0x0000, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_OPCODE_HANDLER(CMSG_MOVE_SET_CAN_FLY_ACK, 0x1052, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleMoveSetCanFlyAckOpcode);
Expand Down

0 comments on commit e63da4a

Please sign in to comment.