diff --git a/src/game/MovementStructures.h b/src/game/MovementStructures.h index 73109b9c3..00c2af354 100644 --- a/src/game/MovementStructures.h +++ b/src/game/MovementStructures.h @@ -2181,6 +2181,79 @@ MovementStatusElements MovementCastSpellSequence[] = MSEEnd, }; +MovementStatusElements MovementSplineDoneSequence[] = +{ + MSEMovementCounter, + MSEPositionY, + MSEPositionX, + MSEPositionZ, + MSEGuidBit6, + MSEHasOrientation, + MSEHasFallData, + MSEHasTimestamp, + MSEGuidBit2, + MSEHasSplineElevation, + MSEGuidBit4, + MSEHasTransportData, + MSEGuidBit3, + MSEHasMovementFlags, + MSEGuidBit0, + MSEHasUnknownBit, + MSEGuidBit1, + MSEGuidBit5, + MSEHasPitch, + MSEHasSpline, + MSEHasMovementFlags2, + MSEGuidBit7, + MSETransportGuidBit1, + MSETransportGuidBit7, + MSETransportGuidBit5, + MSETransportGuidBit3, + MSETransportGuidBit4, + MSETransportGuidBit6, + MSEHasTransportTime2, + MSETransportGuidBit2, + MSEHasTransportTime3, + MSETransportGuidBit0, + MSEHasFallDirection, + MSEFlags2, + MSEFlags, + MSEGuidByte7, + MSEGuidByte4, + MSEGuidByte5, + MSEGuidByte6, + MSEGuidByte0, + MSEGuidByte1, + MSEGuidByte2, + MSEGuidByte3, + MSEFallVerticalSpeed, + MSEFallSinAngle, + MSEFallCosAngle, + MSEFallHorizontalSpeed, + MSEFallTime, + MSEPitch, + MSEPositionO, + MSETransportGuidByte1, + MSETransportTime3, + MSETransportGuidByte7, + MSETransportTime, + MSETransportPositionY, + MSETransportPositionX, + MSETransportPositionZ, + MSETransportSeat, + MSETransportPositionO, + MSETransportGuidByte0, + MSETransportTime2, + MSETransportGuidByte2, + MSETransportGuidByte3, + MSETransportGuidByte5, + MSETransportGuidByte6, + MSETransportGuidByte4, + MSETimestamp, + MSESplineElevation, + MSEEnd, +}; + MovementStatusElements* GetMovementStatusElementsSequence(uint16 opcode) { switch(opcode) @@ -2207,6 +2280,8 @@ MovementStatusElements* GetMovementStatusElementsSequence(uint16 opcode) return MovementSetRunModeSequence; case CMSG_MOVE_SET_WALK_MODE: return MovementSetWalkModeSequence; + case CMSG_MOVE_SPLINE_DONE: + return MovementSplineDoneSequence; case CMSG_MOVE_START_BACKWARD: return MovementStartBackwardSequence; case CMSG_MOVE_START_FORWARD: diff --git a/src/game/Opcodes.cpp b/src/game/Opcodes.cpp index 9f13f59db..4ab03b950 100644 --- a/src/game/Opcodes.cpp +++ b/src/game/Opcodes.cpp @@ -773,7 +773,7 @@ void InitializeOpcodes() //OPCODE(SMSG_PET_ACTION_FEEDBACK, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); OPCODE(CMSG_CHAR_RENAME, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleCharRenameOpcode ); OPCODE(SMSG_CHAR_RENAME, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); - //OPCODE(CMSG_MOVE_SPLINE_DONE, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMoveSplineDoneOpcode ); + OPCODE(CMSG_MOVE_SPLINE_DONE, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMoveSplineDoneOpcode ); OPCODE(CMSG_MOVE_FALL_RESET, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes ); OPCODE(SMSG_INSTANCE_SAVE_CREATED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); OPCODE(SMSG_RAID_INSTANCE_INFO, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); diff --git a/src/game/Opcodes.h b/src/game/Opcodes.h index 07afb4333..695822889 100644 --- a/src/game/Opcodes.h +++ b/src/game/Opcodes.h @@ -758,7 +758,7 @@ enum Opcodes SMSG_PET_ACTION_FEEDBACK = 0x12C7, CMSG_CHAR_RENAME = 0x2327, // 4.3.4 15595 SMSG_CHAR_RENAME = 0x2024, // 4.3.4 15595 - CMSG_MOVE_SPLINE_DONE = 0x12CA, + CMSG_MOVE_SPLINE_DONE = 0x790E, // 4.3.4 15595 CMSG_MOVE_FALL_RESET = 0x310A, // 4.3.4 15595 SMSG_INSTANCE_SAVE_CREATED = 0x0124, // 4.3.4 15595 SMSG_RAID_INSTANCE_INFO = 0x6626, // 4.3.4 15595 diff --git a/src/game/TaxiHandler.cpp b/src/game/TaxiHandler.cpp index 0796a7329..67bec9e9d 100644 --- a/src/game/TaxiHandler.cpp +++ b/src/game/TaxiHandler.cpp @@ -195,13 +195,8 @@ void WorldSession::HandleMoveSplineDoneOpcode(WorldPacket& recv_data) { DEBUG_LOG("WORLD: Received CMSG_MOVE_SPLINE_DONE"); - ObjectGuid guid; // used only for proper packet read MovementInfo movementInfo; // used only for proper packet read - - recv_data >> guid.ReadAsPacked(); recv_data >> movementInfo; - recv_data >> Unused(); // unk - // in taxi flight packet received in 2 case: // 1) end taxi path in far (multi-node) flight diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index f3fd405f2..bbca542af 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "12211" + #define REVISION_NR "12212" #endif // __REVISION_NR_H__