SMSG_PLAYER_MOVE 5.4.8 (18414)

This commit is contained in:
zamalaev 2020-02-19 19:19:40 +00:00 committed by Antz
parent 4a12efdc78
commit a0b59d5e0e
3 changed files with 84 additions and 194 deletions

View file

@ -107,11 +107,11 @@ void MovementInfo::Read(ByteBuffer& data, uint16 opcode)
continue;
}
if (element >= MSEGuid2Bit0 && element <= MSEGuid2Bit7)
{
guid2[element - MSEGuid2Bit0] = data.ReadBit();
continue;
}
//if (element >= MSEGuid2Bit0 && element <= MSEGuid2Bit7)
//{
// guid2[element - MSEGuid2Bit0] = data.ReadBit();
// continue;
//}
if (element >= MSETransportGuidBit0 && element <= MSETransportGuidBit7)
{
@ -127,12 +127,12 @@ void MovementInfo::Read(ByteBuffer& data, uint16 opcode)
continue;
}
if (element >= MSEGuid2Byte0 && element <= MSEGuid2Byte7)
{
if (guid2[element - MSEGuid2Byte0])
guid2[element - MSEGuid2Byte0] ^= data.ReadUInt8();
continue;
}
//if (element >= MSEGuid2Byte0 && element <= MSEGuid2Byte7)
//{
// if (guid2[element - MSEGuid2Byte0])
// guid2[element - MSEGuid2Byte0] ^= data.ReadUInt8();
// continue;
//}
if (element >= MSETransportGuidByte0 && element <= MSETransportGuidByte7)
{
@ -273,9 +273,9 @@ void MovementInfo::Read(ByteBuffer& data, uint16 opcode)
case MSEMovementCounter:
data.read_skip<uint32>();
break;
case MSEByteParam:
data >> byteParam;
break;
//case MSEByteParam:
// data >> byteParam;
// break;
default:
MANGOS_ASSERT(false && "Wrong movement status element");
break;

View file

@ -1409,7 +1409,7 @@ enum Opcodes
UMSG_UNKNOWN_1332 = 0x1535,
UMSG_UNKNOWN_1333 = 0x1536,
UMSG_UNKNOWN_1334 = 0x1537,
SMSG_PLAYER_MOVE = 0x79A2, // 4.3.4 15595
SMSG_PLAYER_MOVE = 0x1A32, // 5.4.8 18414
SMSG_SPLINE_MOVE_SET_FLIGHT_BACK_SPEED = 0x38B3, // 4.3.4 15595
SMSG_SPLINE_MOVE_SET_FLIGHT_SPEED = 0x39A0, // 4.3.4 15595
SMSG_SPLINE_MOVE_SET_PITCH_RATE = 0x14B0, // 4.3.4 15595

View file

@ -36,15 +36,10 @@ enum MovementStatusElements
MSEGuidBit5,
MSEGuidBit6,
MSEGuidBit7,
MSEGuid2Bit0,
MSEGuid2Bit1,
MSEGuid2Bit2,
MSEGuid2Bit3,
MSEGuid2Bit4,
MSEGuid2Bit5,
MSEGuid2Bit6,
MSEGuid2Bit7,
MSEHasUnknownBit,
MSEHasUnknownBit2,
MSEUnknownCount,
MSEHasUnkInt32,
MSEHasMovementFlags,
MSEHasMovementFlags2,
MSEHasTimestamp,
@ -76,14 +71,6 @@ enum MovementStatusElements
MSEGuidByte5,
MSEGuidByte6,
MSEGuidByte7,
MSEGuid2Byte0,
MSEGuid2Byte1,
MSEGuid2Byte2,
MSEGuid2Byte3,
MSEGuid2Byte4,
MSEGuid2Byte5,
MSEGuid2Byte6,
MSEGuid2Byte7,
MSEPitch,
MSEFallTime,
MSETransportGuidByte0,
@ -108,182 +95,85 @@ enum MovementStatusElements
MSETransportTime2,
MSETransportTime3,
MSEMovementCounter,
MSEByteParam,
MSEUnknownArray,
MSEUnkInt32,
MSEEnd,
MSE_COUNT
};
MovementStatusElements ChangeSeatsOnControlledVehicleSequence[] =
{
MSEPositionY,
MSEPositionX,
MSEPositionZ,
MSEByteParam,
MSEHasMovementFlags,
MSEHasTransportData,
MSEGuidBit2,
MSEGuidBit6,
MSEGuidBit4,
MSEGuid2Bit2,
MSEGuid2Bit4,
MSEHasOrientation,
MSEHasUnknownBit,
MSEGuid2Bit7,
MSEGuidBit7,
MSEGuid2Bit6,
MSEHasTimestamp,
MSEHasSplineElevation,
MSEGuidBit5,
MSEGuid2Bit5,
MSEHasMovementFlags2,
MSEHasPitch,
MSEGuid2Bit0,
MSEGuidBit0,
MSEGuid2Bit1,
MSEHasFallData,
MSEGuidBit1,
MSEHasSpline,
MSEFlags,
MSEGuid2Bit3,
MSEGuidBit3,
MSETransportGuidBit3,
MSETransportGuidBit0,
MSETransportGuidBit7,
MSETransportGuidBit5,
MSEHasTransportTime3,
MSETransportGuidBit1,
MSETransportGuidBit2,
MSEHasTransportTime2,
MSETransportGuidBit4,
MSETransportGuidBit6,
MSEFlags2,
MSEHasFallDirection,
MSEGuid2Byte6,
MSEGuidByte7,
MSEGuidByte5,
MSEGuid2Byte1,
MSEGuid2Byte2,
MSEGuidByte6,
MSEGuid2Byte5,
MSEGuid2Byte3,
MSEGuidByte3,
MSEGuid2Byte0,
MSEGuidByte0,
MSEGuid2Byte4,
MSEGuidByte4,
MSEGuidByte1,
MSEGuid2Byte7,
MSEGuidByte2,
MSEPitch,
MSEFallSinAngle,
MSEFallCosAngle,
MSEFallHorizontalSpeed,
MSEFallTime,
MSEFallVerticalSpeed,
MSETransportGuidByte2,
MSETransportTime2,
MSETransportTime3,
MSETransportGuidByte0,
MSETransportTime,
MSETransportSeat,
MSETransportPositionX,
MSETransportPositionO,
MSETransportGuidByte7,
MSETransportGuidByte4,
MSETransportGuidByte3,
MSETransportGuidByte5,
MSETransportPositionZ,
MSETransportGuidByte1,
MSETransportGuidByte6,
MSETransportPositionY,
MSESplineElevation,
MSEPositionO,
MSETimestamp,
MSEEnd,
};
MovementStatusElements PlayerMoveSequence[] =
{
MSEHasFallData,
MSEGuidBit3,
MSEGuidBit6,
MSEHasMovementFlags2,
MSEHasSpline,
MSEHasTimestamp,
MSEGuidBit0,
MSEGuidBit1,
MSEFlags2,
MSEGuidBit7,
MSEHasMovementFlags,
MSEHasOrientation,
MSEGuidBit2,
MSEHasSplineElevation,
MSEHasUnknownBit,
MSEGuidBit4,
MSEHasFallDirection,
MSEGuidBit5,
MSEHasTransportData,
MSEFlags,
MSETransportGuidBit3,
MSEHasTransportTime3,
MSETransportGuidBit6,
MSETransportGuidBit1,
MSETransportGuidBit7,
MSETransportGuidBit0,
MSETransportGuidBit4,
MSEHasTransportTime2,
MSETransportGuidBit5,
MSETransportGuidBit2,
MSEHasPitch,
MSEGuidByte5,
MSEFallHorizontalSpeed,
MSEFallCosAngle,
MSEFallSinAngle,
MSEFallVerticalSpeed,
MSEFallTime,
MSESplineElevation,
MSEGuidByte7,
MSEGuidBit2,
MSEHasUnknownBit,
MSEHasUnknownBit,
MSEGuidBit0,
MSEHasOrientation,
MSEHasFallData,
MSEHasUnknownBit,
MSEGuidBit3,
MSEHasFallDirection,
MSEHasTransportData,
MSEGuidBit4,
MSETransportGuidBit5,
MSETransportGuidBit4,
MSETransportGuidBit7,
MSETransportGuidBit2,
MSETransportGuidBit6,
MSEHasTransportTime2,
MSETransportGuidBit3,
MSETransportGuidBit1,
MSEHasTransportTime3,
MSETransportGuidBit0,
MSEHasSplineElevation,
MSEHasMovementFlags,
MSEHasUnknownBit,
MSEFlags,
MSEHasMovementFlags2,
MSEGuidBit7,
MSEGuidBit1,
MSEHasTimestamp,
MSEFlags2,
MSEGuidBit5,
MSEHasUnknownBit,
MSEGuidBit6,
MSEPositionY,
MSEGuidByte3,
MSETransportTime3,
MSETransportGuidByte6,
MSETransportSeat,
MSETransportGuidByte5,
MSETransportPositionX,
MSETransportGuidByte1,
MSETransportPositionO,
MSETransportGuidByte2,
MSETransportTime2,
MSETransportGuidByte0,
MSETransportPositionZ,
MSETransportGuidByte7,
MSETransportGuidByte4,
MSETransportTime2,
MSETransportPositionX,
MSETransportGuidByte5,
MSETransportSeat,
MSETransportGuidByte2,
MSETransportGuidByte0,
MSETransportGuidByte3,
MSETransportPositionY,
MSETransportTime,
MSEGuidByte4,
MSEPositionX,
MSEGuidByte6,
MSETransportGuidByte4,
MSETransportPositionZ,
MSETransportGuidByte1,
MSETransportPositionY,
MSETransportPositionO,
MSETransportGuidByte6,
MSETransportTime3,
MSEGuidByte5,
MSEGuidByte1,
MSEPositionZ,
MSETimestamp,
MSEGuidByte2,
MSEPitch,
MSEGuidByte0,
MSEPositionO,
MSEGuidByte1,
MSEGuidByte3,
MSEFallSinAngle,
MSEFallHorizontalSpeed,
MSEFallCosAngle,
MSEFallVerticalSpeed,
MSEFallTime,
MSEGuidByte0,
MSEPitch,
MSEGuidByte2,
MSEGuidByte6,
MSESplineElevation,
MSEPositionX,
MSEGuidByte4,
MSEGuidByte7,
MSEEnd,
};
@ -2751,8 +2641,8 @@ MovementStatusElements* GetMovementStatusElementsSequence(uint16 opcode)
return MoveNotActiveMoverSequence;
case CMSG_DISMISS_CONTROLLED_VEHICLE:
return DismissControlledVehicleSequence;
case CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE:
return ChangeSeatsOnControlledVehicleSequence;
//case CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE:
// return ChangeSeatsOnControlledVehicleSequence;
}
return NULL;
}