From 977aaeef972941563f576e6a163d55eba99de336 Mon Sep 17 00:00:00 2001 From: AlterEgo Date: Fri, 8 Dec 2023 14:46:59 -0600 Subject: [PATCH] Update remaining movement structures Signed-off-by: AlterEgo --- src/server/game/Entities/Player/Player.cpp | 422 ++++++++++----------- 1 file changed, 211 insertions(+), 211 deletions(-) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 60534e8dd6..cabe21d32c 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -28433,217 +28433,217 @@ void Player::ReadMovementInfo(WorldPacket& data, MovementInfo* mi, Movement::Ext for (; *sequence != MSEEnd; ++sequence) { - MovementStatusElements const& element = *sequence; - - switch (element) - { - case MSEHasGuidByte0: - case MSEHasGuidByte1: - case MSEHasGuidByte2: - case MSEHasGuidByte3: - case MSEHasGuidByte4: - case MSEHasGuidByte5: - case MSEHasGuidByte6: - case MSEHasGuidByte7: - guid[element - MSEHasGuidByte0] = data.ReadBit(); - break; - case MSEHasTransportGuidByte0: - case MSEHasTransportGuidByte1: - case MSEHasTransportGuidByte2: - case MSEHasTransportGuidByte3: - case MSEHasTransportGuidByte4: - case MSEHasTransportGuidByte5: - case MSEHasTransportGuidByte6: - case MSEHasTransportGuidByte7: - if (hasTransportData) - tguid[element - MSEHasTransportGuidByte0] = data.ReadBit(); - break; - case MSEGuidByte0: - case MSEGuidByte1: - case MSEGuidByte2: - case MSEGuidByte3: - case MSEGuidByte4: - case MSEGuidByte5: - case MSEGuidByte6: - case MSEGuidByte7: - data.ReadByteSeq(guid[element - MSEGuidByte0]); - break; - case MSETransportGuidByte0: - case MSETransportGuidByte1: - case MSETransportGuidByte2: - case MSETransportGuidByte3: - case MSETransportGuidByte4: - case MSETransportGuidByte5: - case MSETransportGuidByte6: - case MSETransportGuidByte7: - if (hasTransportData) - data.ReadByteSeq(tguid[element - MSETransportGuidByte0]); - break; - case MSEHasMovementFlags: - hasMovementFlags = !data.ReadBit(); - break; - case MSEHasMovementFlags2: - hasMovementFlags2 = !data.ReadBit(); - break; - case MSEHasTimestamp: - hasTimestamp = !data.ReadBit(); - break; - case MSEHasOrientation: - hasOrientation = !data.ReadBit(); - break; - case MSEHasTransportData: - hasTransportData = data.ReadBit(); - break; - case MSEHasTransportTime2: - if (hasTransportData) - hasTransportTime2 = data.ReadBit(); - break; - case MSEHasTransportTime3: - if (hasTransportData) - hasTransportTime3 = data.ReadBit(); - break; - case MSEHasPitch: - hasPitch = !data.ReadBit(); - break; - case MSEHasFallData: - hasFallData = data.ReadBit(); - break; - case MSEHasFallDirection: - if (hasFallData) - hasFallDirection = data.ReadBit(); - break; - case MSEHasSplineElevation: - hasSplineElevation = !data.ReadBit(); - break; - case MSEHasSpline: - data.ReadBit(); - break; - case MSEHasMountDisplayId: - hasMountDisplayId = !data.ReadBit(); - break; - case MSEMountDisplayIdWithCheck: // Fallback here - if (!hasMountDisplayId) - break; - case MSEMountDisplayIdWithoutCheck: - { - uint32 mountDisplayId; - data >> mountDisplayId; - SetUInt32Value(UNIT_FIELD_MOUNT_DISPLAY_ID, mountDisplayId); - break; - } - case MSEMovementFlags: - if (hasMovementFlags) - mi->flags = data.ReadBits(30); - break; - case MSEMovementFlags2: - if (hasMovementFlags2) - mi->flags2 = data.ReadBits(13); - break; - case MSETimestamp: - if (hasTimestamp) - data >> mi->time; - break; - case MSEPositionX: - data >> mi->pos.m_positionX; - break; - case MSEPositionY: - data >> mi->pos.m_positionY; - break; - case MSEPositionZ: - data >> mi->pos.m_positionZ; - break; - case MSEOrientation: - if (hasOrientation) - mi->pos.SetOrientation(data.read()); - break; - case MSETransportPositionX: - if (hasTransportData) - data >> mi->transport.pos.m_positionX; - break; - case MSETransportPositionY: - if (hasTransportData) - data >> mi->transport.pos.m_positionY; - break; - case MSETransportPositionZ: - if (hasTransportData) - data >> mi->transport.pos.m_positionZ; - break; - case MSETransportOrientation: - if (hasTransportData) - mi->transport.pos.SetOrientation(data.read()); - break; - case MSETransportSeat: - if (hasTransportData) - data >> mi->transport.seat; - break; - case MSETransportTime: - if (hasTransportData) - data >> mi->transport.time; - break; - case MSETransportTime2: - if (hasTransportData && hasTransportTime2) - data >> mi->transport.time2; - break; - case MSETransportTime3: - if (hasTransportData && hasTransportTime3) - data >> mi->transport.time3; - break; - case MSEPitch: - if (hasPitch) - mi->pitch = G3D::wrap(data.read(), float(-M_PI), float(M_PI)); - break; - case MSEFallTime: - if (hasFallData) - data >> mi->jump.fallTime; - break; - case MSEFallVerticalSpeed: - if (hasFallData) - data >> mi->jump.zspeed; - break; - case MSEFallCosAngle: - if (hasFallData && hasFallDirection) - data >> mi->jump.cosAngle; - break; - case MSEFallSinAngle: - if (hasFallData && hasFallDirection) - data >> mi->jump.sinAngle; - break; - case MSEFallHorizontalSpeed: - if (hasFallData && hasFallDirection) - data >> mi->jump.xyspeed; - break; - case MSESplineElevation: - if (hasSplineElevation) - data >> mi->splineElevation; - break; - case MSEForcesCount: - forcesCount = data.ReadBits(22); - break; - case MSEForces: - for (uint32 i = 0; i < forcesCount; i++) - data.read_skip(); - break; - case MSEHasCounter: - hasCounter = !data.ReadBit(); - break; - case MSECounter: - if (hasCounter) - data.read_skip(); - break; - case MSEZeroBit: - case MSEOneBit: - data.ReadBit(); - break; - case MSEExtraElement: - extras->ReadNextElement(data); - break; - case MSEAckCount: - data.read_skip(); - break; - default: - ASSERT(Movement::PrintInvalidSequenceElement(element, __FUNCTION__)); - break; - } + MovementStatusElements const& element = *sequence; + + switch (element) + { + case MSEHasGuidByte0: + case MSEHasGuidByte1: + case MSEHasGuidByte2: + case MSEHasGuidByte3: + case MSEHasGuidByte4: + case MSEHasGuidByte5: + case MSEHasGuidByte6: + case MSEHasGuidByte7: + guid[element - MSEHasGuidByte0] = data.ReadBit(); + break; + case MSEHasTransportGuidByte0: + case MSEHasTransportGuidByte1: + case MSEHasTransportGuidByte2: + case MSEHasTransportGuidByte3: + case MSEHasTransportGuidByte4: + case MSEHasTransportGuidByte5: + case MSEHasTransportGuidByte6: + case MSEHasTransportGuidByte7: + if (hasTransportData) + tguid[element - MSEHasTransportGuidByte0] = data.ReadBit(); + break; + case MSEGuidByte0: + case MSEGuidByte1: + case MSEGuidByte2: + case MSEGuidByte3: + case MSEGuidByte4: + case MSEGuidByte5: + case MSEGuidByte6: + case MSEGuidByte7: + data.ReadByteSeq(guid[element - MSEGuidByte0]); + break; + case MSETransportGuidByte0: + case MSETransportGuidByte1: + case MSETransportGuidByte2: + case MSETransportGuidByte3: + case MSETransportGuidByte4: + case MSETransportGuidByte5: + case MSETransportGuidByte6: + case MSETransportGuidByte7: + if (hasTransportData) + data.ReadByteSeq(tguid[element - MSETransportGuidByte0]); + break; + case MSEHasMovementFlags: + hasMovementFlags = !data.ReadBit(); + break; + case MSEHasMovementFlags2: + hasMovementFlags2 = !data.ReadBit(); + break; + case MSEHasTimestamp: + hasTimestamp = !data.ReadBit(); + break; + case MSEHasOrientation: + hasOrientation = !data.ReadBit(); + break; + case MSEHasTransportData: + hasTransportData = data.ReadBit(); + break; + case MSEHasTransportTime2: + if (hasTransportData) + hasTransportTime2 = data.ReadBit(); + break; + case MSEHasTransportTime3: + if (hasTransportData) + hasTransportTime3 = data.ReadBit(); + break; + case MSEHasPitch: + hasPitch = !data.ReadBit(); + break; + case MSEHasFallData: + hasFallData = data.ReadBit(); + break; + case MSEHasFallDirection: + if (hasFallData) + hasFallDirection = data.ReadBit(); + break; + case MSEHasSplineElevation: + hasSplineElevation = !data.ReadBit(); + break; + case MSEHasSpline: + data.ReadBit(); + break; + case MSEHasMountDisplayId: + hasMountDisplayId = !data.ReadBit(); + break; + case MSEMountDisplayIdWithCheck: // Fallback here + if (!hasMountDisplayId) + break; + case MSEMountDisplayIdWithoutCheck: + { + uint32 mountDisplayId; + data >> mountDisplayId; + SetUInt32Value(UNIT_FIELD_MOUNT_DISPLAY_ID, mountDisplayId); + break; + } + case MSEMovementFlags: + if (hasMovementFlags) + mi->flags = data.ReadBits(30); + break; + case MSEMovementFlags2: + if (hasMovementFlags2) + mi->flags2 = data.ReadBits(13); + break; + case MSETimestamp: + if (hasTimestamp) + data >> mi->time; + break; + case MSEPositionX: + data >> mi->pos.m_positionX; + break; + case MSEPositionY: + data >> mi->pos.m_positionY; + break; + case MSEPositionZ: + data >> mi->pos.m_positionZ; + break; + case MSEOrientation: + if (hasOrientation) + mi->pos.SetOrientation(data.read()); + break; + case MSETransportPositionX: + if (hasTransportData) + data >> mi->transport.pos.m_positionX; + break; + case MSETransportPositionY: + if (hasTransportData) + data >> mi->transport.pos.m_positionY; + break; + case MSETransportPositionZ: + if (hasTransportData) + data >> mi->transport.pos.m_positionZ; + break; + case MSETransportOrientation: + if (hasTransportData) + mi->transport.pos.SetOrientation(data.read()); + break; + case MSETransportSeat: + if (hasTransportData) + data >> mi->transport.seat; + break; + case MSETransportTime: + if (hasTransportData) + data >> mi->transport.time; + break; + case MSETransportTime2: + if (hasTransportData && hasTransportTime2) + data >> mi->transport.time2; + break; + case MSETransportTime3: + if (hasTransportData && hasTransportTime3) + data >> mi->transport.time3; + break; + case MSEPitch: + if (hasPitch) + mi->pitch = G3D::wrap(data.read(), float(-M_PI), float(M_PI)); + break; + case MSEFallTime: + if (hasFallData) + data >> mi->jump.fallTime; + break; + case MSEFallVerticalSpeed: + if (hasFallData) + data >> mi->jump.zspeed; + break; + case MSEFallCosAngle: + if (hasFallData && hasFallDirection) + data >> mi->jump.cosAngle; + break; + case MSEFallSinAngle: + if (hasFallData && hasFallDirection) + data >> mi->jump.sinAngle; + break; + case MSEFallHorizontalSpeed: + if (hasFallData && hasFallDirection) + data >> mi->jump.xyspeed; + break; + case MSESplineElevation: + if (hasSplineElevation) + data >> mi->splineElevation; + break; + case MSEForcesCount: + forcesCount = data.ReadBits(22); + break; + case MSEForces: + for (uint32 i = 0; i < forcesCount; i++) + data.read_skip(); + break; + case MSEHasCounter: + hasCounter = !data.ReadBit(); + break; + case MSECounter: + if (hasCounter) + data.read_skip(); + break; + case MSECount: + data.read_skip(); + break; + case MSEZeroBit: + case MSEOneBit: + data.ReadBit(); + break; + case MSEExtraElement: + extras->ReadNextElement(data); + break; + default: + ASSERT(Movement::PrintInvalidSequenceElement(element, __FUNCTION__)); + break; + } } mi->guid = guid;