diff options
-rw-r--r-- | src/server/game/Movement/MovementStructures.h | 282 | ||||
-rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 5 | ||||
-rwxr-xr-x | src/server/game/Server/Protocol/Opcodes.h | 3 |
3 files changed, 151 insertions, 139 deletions
diff --git a/src/server/game/Movement/MovementStructures.h b/src/server/game/Movement/MovementStructures.h index 529467b98bc..501f920003d 100644 --- a/src/server/game/Movement/MovementStructures.h +++ b/src/server/game/Movement/MovementStructures.h @@ -388,136 +388,150 @@ MovementStatusElements MovementJumpSequence[] = MSEEnd, }; -//4.2.2 -MovementStatusElements MovementSetFacingSequence[] = { - MSEMovementFlags, +//4.3.4 +MovementStatusElements MovementSetFacingSequence[] = +{ + MSEPositionX, + MSEPositionY, + MSEPositionZ, + MSEHasGuidByte6, + MSEHasTransportData, MSEHasGuidByte4, - MSEHasGuidByte2, MSEHasSpline, - MSEHasGuidByte3, - MSEHasGuidByte5, - MSEMovementFlags2, MSEHasGuidByte0, - MSEHasGuidByte7, - MSEHasGuidByte6, - MSEHasGuidByte1, - MSEHasSplineElevation, + MSEHasOrientation, + MSEHasTimestamp, MSEHasPitch, + MSEHasMovementFlags2, + MSEHasGuidByte5, + MSEHasGuidByte7, + MSEHasGuidByte2, MSEHasFallData, - MSEHasFallDirection, - MSEHasTransportData, - MSEHasTransportGuidByte0, - MSEHasTransportGuidByte6, - MSEHasTransportGuidByte2, - MSEHasTransportGuidByte5, - MSEHasTransportGuidByte4, - MSEHasTransportGuidByte1, + MSEHasSplineElevation, + MSEHasMovementFlags, + MSEHasGuidByte3, + MSEZeroBit, + MSEHasGuidByte1, + MSEHasTransportTime3, MSEHasTransportGuidByte3, MSEHasTransportGuidByte7, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte0, MSEHasTransportTime2, - MSEHasTransportTime3, - MSEOrientation, - MSETimestamp, - MSEPositionX, - MSEPositionY, - MSEPositionZ, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte1, + MSEHasFallDirection, + MSEMovementFlags2, + MSEMovementFlags, + MSEGuidByte6, MSEGuidByte7, - MSEGuidByte5, - MSESplineElevation, - MSEGuidByte4, - MSEGuidByte1, MSEGuidByte2, - MSEPitch, - MSEFallTime, - MSEFallVerticalSpeed, - MSEFallHorizontalSpeed, - MSEFallCosAngle, - MSEFallSinAngle, - MSEGuidByte6, MSEGuidByte0, - MSETransportSeat, - MSETransportOrientation, + MSEGuidByte4, + MSEGuidByte1, + MSEGuidByte5, + MSEGuidByte3, + MSETransportGuidByte0, MSETransportPositionX, - MSETransportPositionY, - MSETransportPositionZ, - MSETransportTime, + MSETransportGuidByte1, MSETransportTime2, + MSETransportGuidByte4, + MSETransportPositionZ, + MSETransportOrientation, + MSETransportGuidByte2, + MSETransportTime3, MSETransportGuidByte3, + MSETransportSeat, + MSETransportPositionY, + MSETransportGuidByte5, MSETransportGuidByte6, - MSETransportTime3, + MSETransportTime, MSETransportGuidByte7, - MSETransportGuidByte5, - MSETransportGuidByte2, - MSETransportGuidByte1, - MSETransportGuidByte0, - MSETransportGuidByte4, - MSEGuidByte3, + MSEFallHorizontalSpeed, + MSEFallSinAngle, + MSEFallCosAngle, + MSEFallTime, + MSEFallVerticalSpeed, + MSESplineElevation, + MSEOrientation, + MSETimestamp, + MSEPitch, + MSEEnd, }; -//4.2.2 -MovementStatusElements MovementSetPitchSequence[] = { +//4.3.4 +MovementStatusElements MovementSetPitchSequence[] = +{ + MSEPositionX, + MSEPositionZ, + MSEPositionY, + MSEHasFallData, + MSEHasMovementFlags, MSEHasGuidByte1, - MSEHasGuidByte6, + MSEHasOrientation, MSEHasGuidByte7, MSEHasGuidByte3, - MSEMovementFlags, - MSEHasGuidByte5, + MSEHasMovementFlags2, + MSEHasTransportData, + MSEHasSplineElevation, + MSEHasGuidByte6, + MSEHasPitch, + MSEHasGuidByte4, + MSEHasSpline, MSEHasGuidByte2, + MSEZeroBit, + MSEHasTimestamp, MSEHasGuidByte0, - MSEHasSpline, - MSEHasGuidByte4, - MSEMovementFlags2, - MSEHasSplineElevation, - MSEHasTransportData, - MSEHasTransportGuidByte0, + MSEHasGuidByte5, + MSEHasTransportGuidByte3, MSEHasTransportGuidByte6, MSEHasTransportGuidByte2, - MSEHasTransportGuidByte5, MSEHasTransportGuidByte4, + MSEHasTransportGuidByte0, MSEHasTransportGuidByte1, - MSEHasTransportGuidByte3, + MSEHasTransportGuidByte5, + MSEHasTransportTime3, MSEHasTransportGuidByte7, MSEHasTransportTime2, - MSEHasTransportTime3, - MSEHasPitch, - MSEHasFallData, + MSEMovementFlags2, + MSEMovementFlags, MSEHasFallDirection, - MSEPositionX, - MSEPositionY, - MSEPositionZ, - MSETimestamp, - MSEOrientation, + MSEGuidByte3, + MSEGuidByte7, MSEGuidByte1, + MSEGuidByte6, + MSEGuidByte0, + MSEGuidByte5, + MSEGuidByte2, MSEGuidByte4, - MSESplineElevation, - MSETransportSeat, - MSETransportOrientation, - MSETransportPositionX, - MSETransportPositionY, - MSETransportPositionZ, - MSETransportTime, - MSETransportTime2, + MSETransportGuidByte4, MSETransportGuidByte3, MSETransportGuidByte6, + MSETransportOrientation, + MSETransportGuidByte1, MSETransportTime3, - MSETransportGuidByte7, - MSETransportGuidByte5, + MSETransportTime, MSETransportGuidByte2, - MSETransportGuidByte1, + MSETransportPositionZ, MSETransportGuidByte0, - MSETransportGuidByte4, - MSEPitch, - MSEGuidByte5, - MSEFallTime, + MSETransportTime2, + MSETransportPositionY, + MSETransportGuidByte5, + MSETransportSeat, + MSETransportGuidByte7, + MSETransportPositionX, MSEFallVerticalSpeed, + MSEFallTime, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, - MSEGuidByte0, - MSEGuidByte3, - MSEGuidByte6, - MSEGuidByte7, - MSEGuidByte2, + MSEPitch, + MSESplineElevation, + MSETimestamp, + MSEOrientation, + MSEEnd, }; //4.3.4 @@ -1108,8 +1122,8 @@ MovementStatusElements MovementStopStrafeSequence[] = //4.3.4 MovementStatusElements MovementStopTurnSequence[] = { - MSEPositionZ, MSEPositionX, + MSEPositionZ, MSEPositionY, MSEHasGuidByte5, MSEHasGuidByte4, @@ -1546,73 +1560,73 @@ MovementStatusElements MovementStopAscendSequence[] = //4.3.4 MovementStatusElements MovementStopPitchSequence[] = { + MSEPositionY, MSEPositionX, MSEPositionZ, - MSEPositionY, + MSEHasGuidByte0, + MSEHasGuidByte5, + MSEHasGuidByte3, MSEHasFallData, - MSEHasMovementFlags, - MSEHasGuidByte1, - MSEHasOrientation, + MSEHasGuidByte2, + MSEHasGuidByte4, MSEHasGuidByte7, - MSEHasGuidByte3, - MSEHasMovementFlags2, - MSEHasTransportData, - MSEHasSplineElevation, - MSEHasGuidByte6, MSEHasPitch, - MSEHasGuidByte4, MSEHasSpline, - MSEHasGuidByte2, + MSEHasOrientation, MSEZeroBit, + MSEHasMovementFlags2, + MSEHasSplineElevation, + MSEHasGuidByte6, + MSEHasGuidByte1, MSEHasTimestamp, - MSEHasGuidByte0, - MSEHasGuidByte5, - MSEHasTransportGuidByte3, - MSEHasTransportGuidByte6, - MSEHasTransportGuidByte2, - MSEHasTransportGuidByte4, + MSEHasTransportData, + MSEHasMovementFlags, + MSEHasTransportGuidByte7, MSEHasTransportGuidByte0, - MSEHasTransportGuidByte1, MSEHasTransportGuidByte5, + MSEHasTransportGuidByte2, MSEHasTransportTime3, - MSEHasTransportGuidByte7, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte3, MSEHasTransportTime2, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte1, + MSEHasFallDirection, MSEMovementFlags2, MSEMovementFlags, - MSEHasFallDirection, - MSEGuidByte3, - MSEGuidByte7, MSEGuidByte1, - MSEGuidByte6, + MSEGuidByte7, MSEGuidByte0, + MSEGuidByte6, + MSEGuidByte4, + MSEGuidByte3, MSEGuidByte5, MSEGuidByte2, - MSEGuidByte4, - MSETransportGuidByte4, - MSETransportGuidByte3, - MSETransportGuidByte6, + MSETimestamp, + MSEFallHorizontalSpeed, + MSEFallSinAngle, + MSEFallCosAngle, + MSEFallVerticalSpeed, + MSEFallTime, + MSETransportGuidByte5, + MSETransportGuidByte2, + MSETransportTime2, + MSETransportPositionX, MSETransportOrientation, + MSETransportGuidByte6, + MSETransportGuidByte3, MSETransportGuidByte1, - MSETransportTime3, - MSETransportTime, - MSETransportGuidByte2, MSETransportPositionZ, + MSETransportTime3, MSETransportGuidByte0, - MSETransportTime2, + MSETransportGuidByte4, + MSETransportTime, MSETransportPositionY, - MSETransportGuidByte5, MSETransportSeat, MSETransportGuidByte7, - MSETransportPositionX, - MSEFallVerticalSpeed, - MSEFallTime, - MSEFallHorizontalSpeed, - MSEFallCosAngle, - MSEFallSinAngle, - MSEPitch, MSESplineElevation, - MSETimestamp, MSEOrientation, + MSEPitch, MSEEnd, }; @@ -1772,10 +1786,10 @@ MovementStatusElements* GetMovementStatusElementsSequence(Opcodes opcode) return MovementHeartBeatSequence; case MSG_MOVE_JUMP: return MovementJumpSequence; - //case MSG_MOVE_SET_FACING: - // return MovementSetFacingSequence; - //case MSG_MOVE_SET_PITCH: - // return MovementSetPitchSequence; + case MSG_MOVE_SET_FACING: + return MovementSetFacingSequence; + case MSG_MOVE_SET_PITCH: + return MovementSetPitchSequence; case MSG_MOVE_START_ASCEND: return MovementStartAscendSequence; case MSG_MOVE_START_BACKWARD: diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 56c99d76e99..311ad97cbda 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -719,11 +719,10 @@ void InitOpcodes() DEFINE_OPCODE_HANDLER(MSG_MOVE_JUMP, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes ); //DEFINE_OPCODE_HANDLER(MSG_MOVE_ROOT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL ); //DEFINE_OPCODE_HANDLER(MSG_MOVE_SET_ALL_SPEED_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - //DEFINE_OPCODE_HANDLER(MSG_MOVE_SET_COLLISION_HGT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - //DEFINE_OPCODE_HANDLER(MSG_MOVE_SET_FACING, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes ); + DEFINE_OPCODE_HANDLER(MSG_MOVE_SET_FACING, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes ); //DEFINE_OPCODE_HANDLER(MSG_MOVE_SET_FLIGHT_BACK_SPEED_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL ); //DEFINE_OPCODE_HANDLER(MSG_MOVE_SET_FLIGHT_SPEED_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL ); - //DEFINE_OPCODE_HANDLER(MSG_MOVE_SET_PITCH, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes ); + DEFINE_OPCODE_HANDLER(MSG_MOVE_SET_PITCH, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes ); //DEFINE_OPCODE_HANDLER(MSG_MOVE_SET_PITCH_RATE_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL ); //DEFINE_OPCODE_HANDLER(MSG_MOVE_SET_RUN_BACK_SPEED_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL ); //DEFINE_OPCODE_HANDLER(MSG_MOVE_SET_RUN_SPEED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL ); diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h index 86374172003..f35d9460dbd 100755 --- a/src/server/game/Server/Protocol/Opcodes.h +++ b/src/server/game/Server/Protocol/Opcodes.h @@ -544,7 +544,6 @@ enum Opcodes MSG_MOVE_TOGGLE_COLLISION_CHEAT = 0x7B04, MSG_MOVE_TOGGLE_FALL_LOGGING = 0x0000, MSG_MOVE_TOGGLE_LOGGING = 0x0000, - MSG_MOVE_UNROOT = 0x7DB4, MSG_MOVE_UPDATE_CAN_FLY = 0x0000, MSG_MOVE_UPDATE_FLIGHT_SPEED = 0x30B1, MSG_MOVE_UPDATE_MOUSE = 0x0000, @@ -920,7 +919,7 @@ enum Opcodes SMSG_MOVE_SET_WALK_IN_AIR = 0x0000, SMSG_MOVE_SET_WALK_SPEED = 0x1DA4, SMSG_MOVE_TELEPORT = 0x0000, - SMSG_MOVE_UNROOT = 0x0000, + SMSG_MOVE_UNROOT = 0x7DB4, SMSG_MOVE_UNSET_CAN_FLY = 0x0000, SMSG_MOVE_UNSET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY = 0x0000, SMSG_MOVE_UNSET_HOVER = 0x0000, |