diff options
-rw-r--r-- | src/server/game/Entities/Object/Object.cpp | 30 | ||||
-rw-r--r-- | src/server/game/Entities/Object/Object.h | 16 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 46 | ||||
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 40 | ||||
-rw-r--r-- | src/server/game/Entities/Unit/Unit.h | 2 | ||||
-rw-r--r-- | src/server/game/Movement/MovementStructures.cpp | 156 |
6 files changed, 117 insertions, 173 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 591c83ab71f..382bae8d0da 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -383,25 +383,15 @@ void Object::BuildMovementUpdate(ByteBuffer* data, uint16 flags) const movementFlagsExtra = self->m_movementInfo.GetExtraMovementFlags(); hasSpline = self->IsSplineEnabled(); - if (GetTypeId() == TYPEID_PLAYER) - { - hasTransportTime2 = self->m_movementInfo.bits.hasTransportTime2; - hasTransportTime3 = self->m_movementInfo.bits.hasTransportTime3; - hasPitch = self->m_movementInfo.bits.hasPitch; - hasFallData = self->m_movementInfo.bits.hasFallData; - hasFallDirection = self->m_movementInfo.bits.hasFallDirection; - hasSplineElevation = self->m_movementInfo.bits.hasSplineElevation; - } - else - { - hasTransportTime2 = self->HasExtraUnitMovementFlag(MOVEMENTFLAG2_INTERPOLATED_MOVEMENT); - hasPitch = ((movementFlags & (MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING)) || - (movementFlagsExtra & MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING)); - hasFallData = hasFallDirection = movementFlags & MOVEMENTFLAG_FALLING; - hasSplineElevation = movementFlags & MOVEMENTFLAG_SPLINE_ELEVATION; + hasTransportTime2 = self->m_movementInfo.transport.guid != 0 && self->m_movementInfo.transport.time2 != 0; + hasTransportTime3 = false; + hasPitch = self->HasUnitMovementFlag(MovementFlags(MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING)) || self->HasExtraUnitMovementFlag(MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING); + hasFallDirection = self->HasUnitMovementFlag(MOVEMENTFLAG_FALLING); + hasFallData = hasFallDirection || self->m_movementInfo.jump.fallTime != 0; + hasSplineElevation = self->HasUnitMovementFlag(MOVEMENTFLAG_SPLINE_ELEVATION); + if (GetTypeId() == TYPEID_UNIT) movementFlags &= MOVEMENTFLAG_MASK_CREATURE_ALLOWED; - } data->WriteBit(!movementFlags); data->WriteBit(G3D::fuzzyEq(self->GetOrientation(), 0.0f)); // Has Orientation @@ -504,9 +494,9 @@ void Object::BuildMovementUpdate(ByteBuffer* data, uint16 flags) const { if (hasFallDirection) { - *data << float(self->m_movementInfo.jump.cosAngle); *data << float(self->m_movementInfo.jump.xyspeed); *data << float(self->m_movementInfo.jump.sinAngle); + *data << float(self->m_movementInfo.jump.cosAngle); } *data << uint32(self->m_movementInfo.jump.fallTime); @@ -1256,14 +1246,14 @@ void MovementInfo::OutDebug() TC_LOG_INFO(LOG_FILTER_GENERAL, "time: %u", transport.time); if (flags2 & MOVEMENTFLAG2_INTERPOLATED_MOVEMENT) TC_LOG_INFO(LOG_FILTER_GENERAL, "time2: %u", transport.time2); - if (bits.hasTransportTime3) + if (transport.time3) TC_LOG_INFO(LOG_FILTER_GENERAL, "time3: %u", transport.time3); } if ((flags & (MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING)) || (flags2 & MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING)) TC_LOG_INFO(LOG_FILTER_GENERAL, "pitch: %f", pitch); - if (flags & MOVEMENTFLAG_FALLING || bits.hasFallData) + if (flags & MOVEMENTFLAG_FALLING || jump.fallTime) { TC_LOG_INFO(LOG_FILTER_GENERAL, "fallTime: %u j_zspeed: %f", jump.fallTime, jump.zspeed); if (flags & MOVEMENTFLAG_FALLING) diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h index f09a5503944..27ca1d7df89 100644 --- a/src/server/game/Entities/Object/Object.h +++ b/src/server/game/Entities/Object/Object.h @@ -511,24 +511,12 @@ struct MovementInfo // spline float splineElevation; - // bit markers - struct MovementElementMarkers - { - bool hasTransportTime2; - bool hasTransportTime3; - bool hasPitch; - bool hasFallData; - bool hasFallDirection; - bool hasSplineElevation; - } bits; - MovementInfo() : guid(0), flags(0), flags2(0), time(0), pitch(0.0f) { pos.Relocate(0.0f, 0.0f, 0.0f, 0.0f); transport.Reset(); jump.Reset(); - memset(&bits, 0, sizeof(bits)); } uint32 GetMovementFlags() const { return flags; } @@ -548,15 +536,11 @@ struct MovementInfo void ResetTransport() { transport.Reset(); - bits.hasTransportTime2 = false; - bits.hasTransportTime3 = false; } void ResetJump() { jump.Reset(); - bits.hasFallData = false; - bits.hasFallDirection = false; } void OutDebug(); diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index ba5868da072..3bfbc13c6c9 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -2151,8 +2151,6 @@ bool Player::TeleportTo(uint32 mapid, float x, float y, float z, float orientati // reset movement flags at teleport, because player will continue move with these flags after teleport SetUnitMovementFlags(GetUnitMovementFlags() & MOVEMENTFLAG_MASK_HAS_PLAYER_STATUS_OPCODE); m_movementInfo.ResetJump(); - m_movementInfo.bits.hasPitch = false; - m_movementInfo.bits.hasSplineElevation = false; DisableSpline(); if (m_transport) @@ -27325,6 +27323,12 @@ void Player::ReadMovementInfo(WorldPacket& data, MovementInfo* mi, Movement::Ext bool hasTimestamp = false; bool hasOrientation = false; bool hasTransportData = false; + bool hasTransportTime2 = false; + bool hasTransportTime3 = false; + bool hasPitch = false; + bool hasFallData = false; + bool hasFallDirection = false; + bool hasSplineElevation = false; ObjectGuid guid; ObjectGuid tguid; @@ -27394,24 +27398,24 @@ void Player::ReadMovementInfo(WorldPacket& data, MovementInfo* mi, Movement::Ext break; case MSEHasTransportTime2: if (hasTransportData) - mi->bits.hasTransportTime2 = data.ReadBit(); + hasTransportTime2 = data.ReadBit(); break; case MSEHasTransportTime3: if (hasTransportData) - mi->bits.hasTransportTime3 = data.ReadBit(); + hasTransportTime3 = data.ReadBit(); break; case MSEHasPitch: - mi->bits.hasPitch = !data.ReadBit(); + hasPitch = !data.ReadBit(); break; case MSEHasFallData: - mi->bits.hasFallData = data.ReadBit(); + hasFallData = data.ReadBit(); break; case MSEHasFallDirection: - if (mi->bits.hasFallData) - mi->bits.hasFallDirection = data.ReadBit(); + if (hasFallData) + hasFallDirection = data.ReadBit(); break; case MSEHasSplineElevation: - mi->bits.hasSplineElevation = !data.ReadBit(); + hasSplineElevation = !data.ReadBit(); break; case MSEHasSpline: data.ReadBit(); @@ -27466,39 +27470,39 @@ void Player::ReadMovementInfo(WorldPacket& data, MovementInfo* mi, Movement::Ext data >> mi->transport.time; break; case MSETransportTime2: - if (hasTransportData && mi->bits.hasTransportTime2) + if (hasTransportData && hasTransportTime2) data >> mi->transport.time2; break; case MSETransportTime3: - if (hasTransportData && mi->bits.hasTransportTime3) + if (hasTransportData && hasTransportTime3) data >> mi->transport.time3; break; case MSEPitch: - if (mi->bits.hasPitch) + if (hasPitch) mi->pitch = G3D::wrap(data.read<float>(), float(-M_PI), float(M_PI)); break; case MSEFallTime: - if (mi->bits.hasFallData) + if (hasFallData) data >> mi->jump.fallTime; break; case MSEFallVerticalSpeed: - if (mi->bits.hasFallData) + if (hasFallData) data >> mi->jump.zspeed; break; case MSEFallCosAngle: - if (mi->bits.hasFallData && mi->bits.hasFallDirection) + if (hasFallData && hasFallDirection) data >> mi->jump.cosAngle; break; case MSEFallSinAngle: - if (mi->bits.hasFallData && mi->bits.hasFallDirection) + if (hasFallData && hasFallDirection) data >> mi->jump.sinAngle; break; case MSEFallHorizontalSpeed: - if (mi->bits.hasFallData && mi->bits.hasFallDirection) + if (hasFallData && hasFallDirection) data >> mi->jump.xyspeed; break; case MSESplineElevation: - if (mi->bits.hasSplineElevation) + if (hasSplineElevation) data >> mi->splineElevation; break; case MSECounter: @@ -27596,13 +27600,13 @@ void Player::ReadMovementInfo(WorldPacket& data, MovementInfo* mi, Movement::Ext REMOVE_VIOLATING_FLAGS(mi->HasMovementFlag(MOVEMENTFLAG_DISABLE_GRAVITY | MOVEMENTFLAG_CAN_FLY) && mi->HasMovementFlag(MOVEMENTFLAG_FALLING), MOVEMENTFLAG_FALLING); - REMOVE_VIOLATING_FLAGS(mi->HasMovementFlag(MOVEMENTFLAG_FALLING) && (!mi->bits.hasFallData || !mi->bits.hasFallDirection), MOVEMENTFLAG_FALLING); + REMOVE_VIOLATING_FLAGS(mi->HasMovementFlag(MOVEMENTFLAG_FALLING) && (!hasFallData || !hasFallDirection), MOVEMENTFLAG_FALLING); REMOVE_VIOLATING_FLAGS(mi->HasMovementFlag(MOVEMENTFLAG_SPLINE_ELEVATION) && - (!mi->bits.hasSplineElevation || G3D::fuzzyEq(mi->splineElevation, 0.0f)), MOVEMENTFLAG_SPLINE_ELEVATION); + (!hasSplineElevation || G3D::fuzzyEq(mi->splineElevation, 0.0f)), MOVEMENTFLAG_SPLINE_ELEVATION); // Client first checks if spline elevation != 0, then verifies flag presence - if (mi->bits.hasSplineElevation) + if (hasSplineElevation) mi->AddMovementFlag(MOVEMENTFLAG_SPLINE_ELEVATION); #undef REMOVE_VIOLATING_FLAGS diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 3c99026228f..710c65e2675 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -15341,34 +15341,12 @@ void Unit::WriteMovementInfo(WorldPacket& data, Movement::ExtraMovementStatusEle bool hasTransportData = GetTransGUID() != 0; bool hasSpline = IsSplineEnabled(); - bool hasTransportTime2; - bool hasTransportTime3; - bool hasPitch; - bool hasFallData; - bool hasFallDirection; - bool hasSplineElevation; - - if (GetTypeId() == TYPEID_PLAYER) - { - hasTimestamp = m_movementInfo.time != 0; - hasTransportTime2 = m_movementInfo.bits.hasTransportTime2; - hasTransportTime3 = m_movementInfo.bits.hasTransportTime3; - hasPitch = m_movementInfo.bits.hasPitch; - hasFallData = m_movementInfo.bits.hasFallData; - hasFallDirection = m_movementInfo.bits.hasFallDirection; - hasSplineElevation = m_movementInfo.bits.hasSplineElevation; - } - else - { - hasTransportTime2 = HasExtraUnitMovementFlag(MOVEMENTFLAG2_INTERPOLATED_MOVEMENT); - hasTransportTime3 = false; - hasPitch = HasUnitMovementFlag(MovementFlags(MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING)) || HasExtraUnitMovementFlag(MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING); - hasFallDirection = HasUnitMovementFlag(MOVEMENTFLAG_FALLING); - hasFallData = hasFallDirection; // FallDirection implies that FallData is set as well - // the only case when hasFallData = 1 && hasFallDirection = 0 - // is for MSG_MOVE_LAND, which is handled above, in player case - hasSplineElevation = HasUnitMovementFlag(MOVEMENTFLAG_SPLINE_ELEVATION); - } + bool hasTransportTime2 = hasTransportData && m_movementInfo.transport.time2 != 0; + bool hasTransportTime3 = false; + bool hasPitch = HasUnitMovementFlag(MovementFlags(MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING)) || HasExtraUnitMovementFlag(MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING); + bool hasFallDirection = HasUnitMovementFlag(MOVEMENTFLAG_FALLING); + bool hasFallData = hasFallDirection || m_movementInfo.jump.fallTime != 0; + bool hasSplineElevation = HasUnitMovementFlag(MOVEMENTFLAG_SPLINE_ELEVATION); MovementStatusElements const* sequence = GetMovementStatusElementsSequence(data.GetOpcode()); if (!sequence) @@ -16047,15 +16025,9 @@ bool Unit::SetFall(bool enable) { AddUnitMovementFlag(MOVEMENTFLAG_FALLING); m_movementInfo.SetFallTime(0); - m_movementInfo.bits.hasFallData = true; - m_movementInfo.bits.hasFallDirection = true; } else - { RemoveUnitMovementFlag(MOVEMENTFLAG_FALLING | MOVEMENTFLAG_FALLING_FAR); - m_movementInfo.bits.hasFallDirection = false; - // Do not remove hasFallData marker - } return true; } diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index 6f8290bb409..ce1763daa23 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -776,7 +776,7 @@ enum MovementFlags2 MOVEMENTFLAG2_UNK7 = 0x00000080, MOVEMENTFLAG2_UNK8 = 0x00000100, MOVEMENTFLAG2_UNK9 = 0x00000200, - MOVEMENTFLAG2_UNK10 = 0x00000400, + MOVEMENTFLAG2_CAN_SWIM_TO_FLY_TRANS = 0x00000400, MOVEMENTFLAG2_UNK11 = 0x00000800, MOVEMENTFLAG2_UNK12 = 0x00001000, MOVEMENTFLAG2_INTERPOLATED_MOVEMENT = 0x00002000, diff --git a/src/server/game/Movement/MovementStructures.cpp b/src/server/game/Movement/MovementStructures.cpp index a0f70c7b96c..db305e52454 100644 --- a/src/server/game/Movement/MovementStructures.cpp +++ b/src/server/game/Movement/MovementStructures.cpp @@ -54,8 +54,8 @@ MovementStatusElements const PlayerMove[] = MSEHasPitch, MSEGuidByte5, MSEFallHorizontalSpeed, - MSEFallCosAngle, MSEFallSinAngle, + MSEFallCosAngle, MSEFallVerticalSpeed, MSEFallTime, MSESplineElevation, @@ -153,9 +153,9 @@ MovementStatusElements const MovementFallLand[] = MSETransportGuidByte2, MSEFallVerticalSpeed, MSEFallTime, - MSEFallCosAngle, - MSEFallHorizontalSpeed, MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallCosAngle, MSESplineElevation, MSETimestamp, MSEPitch, @@ -227,8 +227,8 @@ MovementStatusElements const MovementHeartBeat[] = MSEFallVerticalSpeed, MSEFallTime, MSEFallHorizontalSpeed, - MSEFallSinAngle, MSEFallCosAngle, + MSEFallSinAngle, MSEPitch, MSESplineElevation, MSETimestamp, @@ -297,8 +297,8 @@ MovementStatusElements const MovementJump[] = MSETransportGuidByte5, MSEPitch, MSETimestamp, - MSEFallCosAngle, MSEFallSinAngle, + MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallVerticalSpeed, MSEFallTime, @@ -368,8 +368,8 @@ MovementStatusElements const MovementSetFacing[] = MSETransportTime, MSETransportGuidByte7, MSEFallHorizontalSpeed, - MSEFallSinAngle, MSEFallCosAngle, + MSEFallSinAngle, MSEFallTime, MSEFallVerticalSpeed, MSESplineElevation, @@ -442,8 +442,8 @@ MovementStatusElements const MovementSetPitch[] = MSEFallVerticalSpeed, MSEFallTime, MSEFallHorizontalSpeed, - MSEFallCosAngle, MSEFallSinAngle, + MSEFallCosAngle, MSEPitch, MSESplineElevation, MSETimestamp, @@ -514,8 +514,8 @@ MovementStatusElements const MovementStartBackward[] = MSEPitch, MSETimestamp, MSEFallHorizontalSpeed, - MSEFallSinAngle, MSEFallCosAngle, + MSEFallSinAngle, MSEFallVerticalSpeed, MSEFallTime, MSEOrientation, @@ -569,8 +569,8 @@ MovementStatusElements const MovementStartForward[] = MSEGuidByte0, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, - MSEFallCosAngle, MSEFallSinAngle, + MSEFallCosAngle, MSEFallTime, MSETransportGuidByte3, MSETransportPositionY, @@ -640,9 +640,9 @@ MovementStatusElements const MovementStartStrafeLeft[] = MSEGuidByte7, MSEGuidByte4, MSEGuidByte5, - MSEFallSinAngle, - MSEFallHorizontalSpeed, MSEFallCosAngle, + MSEFallHorizontalSpeed, + MSEFallSinAngle, MSEFallTime, MSEFallVerticalSpeed, MSETransportSeat, @@ -730,8 +730,8 @@ MovementStatusElements const MovementStartStrafeRight[] = MSETransportGuidByte3, MSEPitch, MSEOrientation, - MSEFallCosAngle, MSEFallSinAngle, + MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallTime, MSEFallVerticalSpeed, @@ -784,8 +784,8 @@ MovementStatusElements const MovementStartTurnLeft[] = MSEGuidByte3, MSEGuidByte2, MSEGuidByte1, - MSEFallSinAngle, MSEFallCosAngle, + MSEFallSinAngle, MSEFallHorizontalSpeed, MSEFallVerticalSpeed, MSEFallTime, @@ -873,8 +873,8 @@ MovementStatusElements const MovementStartTurnRight[] = MSETransportGuidByte3, MSETransportTime2, MSEFallHorizontalSpeed, - MSEFallSinAngle, MSEFallCosAngle, + MSEFallSinAngle, MSEFallTime, MSEFallVerticalSpeed, MSEPitch, @@ -948,8 +948,8 @@ MovementStatusElements const MovementStop[] = MSEOrientation, MSEPitch, MSESplineElevation, - MSEFallCosAngle, MSEFallSinAngle, + MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallVerticalSpeed, MSEFallTime, @@ -1016,9 +1016,9 @@ MovementStatusElements const MovementStopStrafe[] = MSETransportPositionY, MSETransportTime2, MSETransportGuidByte7, - MSEFallCosAngle, - MSEFallHorizontalSpeed, MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallCosAngle, MSEFallTime, MSEFallVerticalSpeed, MSESplineElevation, @@ -1091,8 +1091,8 @@ MovementStatusElements const MovementStopTurn[] = MSETransportGuidByte6, MSEFallTime, MSEFallHorizontalSpeed, - MSEFallCosAngle, MSEFallSinAngle, + MSEFallCosAngle, MSEFallVerticalSpeed, MSETimestamp, MSEPitch, @@ -1160,8 +1160,8 @@ MovementStatusElements const MovementStartAscend[] = MSETransportGuidByte0, MSETransportGuidByte1, MSETransportPositionX, - MSEFallCosAngle, MSEFallSinAngle, + MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallTime, MSEFallVerticalSpeed, @@ -1234,8 +1234,8 @@ MovementStatusElements const MovementStartDescend[] = MSETransportOrientation, MSETransportGuidByte0, MSEFallTime, - MSEFallSinAngle, MSEFallCosAngle, + MSEFallSinAngle, MSEFallHorizontalSpeed, MSEFallVerticalSpeed, MSETimestamp, @@ -1305,9 +1305,9 @@ MovementStatusElements const MovementStartSwim[] = MSETransportGuidByte7, MSETransportGuidByte0, MSETransportSeat, - MSEFallCosAngle, - MSEFallHorizontalSpeed, MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallCosAngle, MSEFallVerticalSpeed, MSEFallTime, MSEOrientation, @@ -1377,9 +1377,9 @@ MovementStatusElements const MovementStopSwim[] = MSETransportGuidByte0, MSETransportOrientation, MSEFallVerticalSpeed, - MSEFallCosAngle, - MSEFallHorizontalSpeed, MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallCosAngle, MSEFallTime, MSETimestamp, MSEPitch, @@ -1450,8 +1450,8 @@ MovementStatusElements const MovementStopAscend[] = MSETransportPositionZ, MSEFallTime, MSEFallVerticalSpeed, - MSEFallCosAngle, MSEFallSinAngle, + MSEFallCosAngle, MSEFallHorizontalSpeed, MSEPitch, MSESplineElevation, @@ -1506,8 +1506,8 @@ MovementStatusElements const MovementStopPitch[] = MSEGuidByte2, MSETimestamp, MSEFallHorizontalSpeed, - MSEFallSinAngle, MSEFallCosAngle, + MSEFallSinAngle, MSEFallVerticalSpeed, MSEFallTime, MSETransportGuidByte5, @@ -1592,9 +1592,9 @@ MovementStatusElements const MovementStartPitchDown[] = MSETransportGuidByte2, MSETransportGuidByte7, MSETransportOrientation, - MSEFallSinAngle, - MSEFallHorizontalSpeed, MSEFallCosAngle, + MSEFallHorizontalSpeed, + MSEFallSinAngle, MSEFallVerticalSpeed, MSEFallTime, MSEPitch, @@ -1665,8 +1665,8 @@ MovementStatusElements const MovementStartPitchUp[] = MSETransportPositionY, MSETransportGuidByte4, MSEFallTime, - MSEFallCosAngle, MSEFallSinAngle, + MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallVerticalSpeed, MSEOrientation, @@ -1699,7 +1699,6 @@ MovementStatusElements const MoveChngTransport[]= MSEHasFallData, MSEHasMovementFlags, MSEHasMovementFlags2, - MSEHasTransportGuidByte3, MSEHasTransportTime3, MSEHasTransportGuidByte4, @@ -1710,11 +1709,9 @@ MovementStatusElements const MoveChngTransport[]= MSEHasTransportGuidByte0, MSEHasTransportGuidByte7, MSEHasTransportGuidByte5, - MSEMovementFlags, MSEMovementFlags2, MSEHasFallDirection, - MSEGuidByte7, MSEGuidByte5, MSEGuidByte1, @@ -1723,7 +1720,6 @@ MovementStatusElements const MoveChngTransport[]= MSEGuidByte4, MSEGuidByte0, MSEGuidByte3, - MSETransportPositionY, MSETransportSeat, MSETransportGuidByte1, @@ -1740,13 +1736,11 @@ MovementStatusElements const MoveChngTransport[]= MSETransportGuidByte4, MSETransportOrientation, MSETransportTime2, - MSEFallTime, MSEFallHorizontalSpeed, - MSEFallCosAngle, MSEFallSinAngle, + MSEFallCosAngle, MSEFallVerticalSpeed, - MSEOrientation, MSEPitch, MSESplineElevation, @@ -1803,8 +1797,8 @@ MovementStatusElements const MoveSplineDone[] = MSEGuidByte3, MSEFallVerticalSpeed, - MSEFallSinAngle, MSEFallCosAngle, + MSEFallSinAngle, MSEFallHorizontalSpeed, MSEFallTime, @@ -1882,8 +1876,8 @@ MovementStatusElements const MoveNotActiveMover[] = MSEGuidByte3, MSEFallVerticalSpeed, - MSEFallCosAngle, MSEFallSinAngle, + MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallTime, @@ -1981,8 +1975,8 @@ MovementStatusElements const DismissControlledVehicle[] = MSEFallTime, MSEFallHorizontalSpeed, - MSEFallSinAngle, MSEFallCosAngle, + MSEFallSinAngle, MSEFallVerticalSpeed, MSEOrientation, @@ -2061,8 +2055,8 @@ MovementStatusElements const MoveUpdateTeleport[] = MSEFallTime, MSEFallHorizontalSpeed, - MSEFallSinAngle, MSEFallCosAngle, + MSEFallSinAngle, MSEFallVerticalSpeed, MSEGuidByte5, @@ -2134,9 +2128,9 @@ MovementStatusElements const MovementSetRunMode[] = MSETransportGuidByte0, MSETransportPositionY, MSETransportGuidByte6, - MSEFallSinAngle, - MSEFallHorizontalSpeed, MSEFallCosAngle, + MSEFallHorizontalSpeed, + MSEFallSinAngle, MSEFallTime, MSEFallVerticalSpeed, MSESplineElevation, @@ -2205,9 +2199,9 @@ MovementStatusElements const MovementSetWalkMode[] = MSETransportGuidByte7, MSETransportPositionY, MSETransportGuidByte1, - MSEFallCosAngle, - MSEFallHorizontalSpeed, MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallCosAngle, MSEFallVerticalSpeed, MSEFallTime, MSESplineElevation, @@ -2278,8 +2272,8 @@ MovementStatusElements const MovementSetCanFly[] = MSETransportGuidByte6, MSETransportTime3, MSESplineElevation, - MSEFallCosAngle, MSEFallSinAngle, + MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallVerticalSpeed, MSEFallTime, @@ -2336,8 +2330,8 @@ MovementStatusElements const MovementSetCanTransitionBetweenSwimAndFlyAck[] = MSEGuidByte6, MSEFallTime, MSEFallHorizontalSpeed, - MSEFallSinAngle, MSEFallCosAngle, + MSEFallSinAngle, MSEFallVerticalSpeed, MSETransportPositionY, MSETransportPositionZ, @@ -2400,9 +2394,9 @@ MovementStatusElements const MovementUpdateSwimSpeed[] = MSETransportGuidByte3, MSETransportGuidByte5, MSEPositionX, - MSEFallCosAngle, - MSEFallHorizontalSpeed, MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallCosAngle, MSEFallTime, MSEFallVerticalSpeed, MSEGuidByte7, @@ -2476,9 +2470,9 @@ MovementStatusElements const MovementUpdateRunSpeed[] = MSETransportTime3, MSETransportPositionZ, MSETimestamp, - MSEFallSinAngle, - MSEFallHorizontalSpeed, MSEFallCosAngle, + MSEFallHorizontalSpeed, + MSEFallSinAngle, MSEFallVerticalSpeed, MSEFallTime, MSEPitch, @@ -2539,9 +2533,9 @@ MovementStatusElements const MovementUpdateFlightSpeed[] = MSETransportGuidByte1, MSETransportSeat, MSETransportPositionX, - MSEFallCosAngle, - MSEFallHorizontalSpeed, MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallCosAngle, MSEFallVerticalSpeed, MSEFallTime, MSEGuidByte1, @@ -2599,8 +2593,8 @@ MovementStatusElements const MovementUpdateCollisionHeight[] = MSETransportSeat, MSEPitch, MSEGuidByte6, - MSEFallCosAngle, MSEFallSinAngle, + MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallVerticalSpeed, MSEFallTime, @@ -2679,8 +2673,8 @@ MovementStatusElements const MovementForceRunSpeedChangeAck[] = MSETransportGuidByte4, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, - MSEFallCosAngle, MSEFallSinAngle, + MSEFallCosAngle, MSEFallTime, MSESplineElevation, MSEPitch, @@ -2755,8 +2749,8 @@ MovementStatusElements const MovementSetCollisionHeightAck[] = MSETransportPositionZ, MSEFallVerticalSpeed, MSEFallTime, - MSEFallSinAngle, MSEFallCosAngle, + MSEFallSinAngle, MSEFallHorizontalSpeed, MSETimestamp, MSESplineElevation, @@ -2829,8 +2823,8 @@ MovementStatusElements const MovementForceFlightSpeedChangeAck[] = MSETransportPositionY, MSETimestamp, MSESplineElevation, - MSEFallCosAngle, MSEFallSinAngle, + MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallTime, MSEFallVerticalSpeed, @@ -2901,9 +2895,9 @@ MovementStatusElements const MovementSetCanFlyAck[] = MSETransportGuidByte0, MSETransportGuidByte4, MSEFallTime, - MSEFallCosAngle, - MSEFallHorizontalSpeed, MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallCosAngle, MSEFallVerticalSpeed, MSEPitch, MSEOrientation, @@ -2975,8 +2969,8 @@ MovementStatusElements const MovementForceSwimSpeedChangeAck[] = MSETransportGuidByte1, MSETransportGuidByte4, MSEFallTime, - MSEFallCosAngle, MSEFallSinAngle, + MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallVerticalSpeed, MSEOrientation, @@ -3033,9 +3027,9 @@ MovementStatusElements const MovementForceWalkSpeedChangeAck[] = MSEGuidByte4, MSEGuidByte0, MSEFallVerticalSpeed, - MSEFallSinAngle, - MSEFallHorizontalSpeed, MSEFallCosAngle, + MSEFallHorizontalSpeed, + MSEFallSinAngle, MSEFallTime, MSETransportPositionZ, MSETransportGuidByte7, @@ -3108,8 +3102,8 @@ MovementStatusElements const MovementForceRunBackSpeedChangeAck[] = MSEGuidByte1, MSEFallTime, MSEFallHorizontalSpeed, - MSEFallCosAngle, MSEFallSinAngle, + MSEFallCosAngle, MSEFallVerticalSpeed, MSETransportGuidByte5, MSETransportSeat, @@ -3174,8 +3168,8 @@ MovementStatusElements const MovementUpdateRunBackSpeed[] = MSEGuidByte4, MSEFallTime, MSEFallHorizontalSpeed, - MSEFallCosAngle, MSEFallSinAngle, + MSEFallCosAngle, MSEFallVerticalSpeed, MSETimestamp, MSEGuidByte1, @@ -3234,8 +3228,8 @@ MovementStatusElements const MovementUpdateWalkSpeed[] = MSETransportGuidByte3, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, - MSEFallCosAngle, MSEFallSinAngle, + MSEFallCosAngle, MSEFallTime, MSEGuidByte1, MSEGuidByte4, @@ -3318,8 +3312,8 @@ MovementStatusElements const ForceMoveRootAck[] = MSETimestamp, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, - MSEFallSinAngle, MSEFallCosAngle, + MSEFallSinAngle, MSEFallTime, MSEOrientation, MSESplineElevation, @@ -3388,9 +3382,9 @@ MovementStatusElements const ForceMoveUnrootAck[] = MSETransportPositionX, MSETransportGuidByte1, MSETransportGuidByte7, - MSEFallCosAngle, - MSEFallHorizontalSpeed, MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallCosAngle, MSEFallVerticalSpeed, MSEFallTime, MSETimestamp, @@ -3461,8 +3455,8 @@ MovementStatusElements const MovementFallReset[] = MSETransportGuidByte4, MSETransportGuidByte1, MSEFallVerticalSpeed, - MSEFallCosAngle, MSEFallSinAngle, + MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallTime, MSEOrientation, @@ -3537,9 +3531,9 @@ MovementStatusElements const MovementFeatherFallAck[] = MSESplineElevation, MSEOrientation, MSEFallVerticalSpeed, - MSEFallCosAngle, - MSEFallHorizontalSpeed, MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallCosAngle, MSEFallTime, MSEPitch, MSEEnd, @@ -3606,8 +3600,8 @@ MovementStatusElements const MovementGravityDisableAck[] = MSETransportPositionX, MSETransportGuidByte7, MSETransportTime3, - MSEFallCosAngle, MSEFallSinAngle, + MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallTime, MSEFallVerticalSpeed, @@ -3665,8 +3659,8 @@ MovementStatusElements const MovementGravityEnableAck[] = MSEGuidByte6, MSEFallTime, MSEFallHorizontalSpeed, - MSEFallSinAngle, MSEFallCosAngle, + MSEFallSinAngle, MSEFallVerticalSpeed, MSETransportGuidByte1, MSETransportPositionX, @@ -3737,8 +3731,8 @@ MovementStatusElements const MovementHoverAck[] = MSEGuidByte3, MSEGuidByte0, MSETimestamp, - MSEFallCosAngle, MSEFallSinAngle, + MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallTime, MSEFallVerticalSpeed, @@ -3809,9 +3803,9 @@ MovementStatusElements const MovementKnockBackAck[] = MSEGuidByte3, MSEGuidByte2, MSEGuidByte7, - MSEFallCosAngle, - MSEFallHorizontalSpeed, MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallCosAngle, MSEFallTime, MSEFallVerticalSpeed, MSETimestamp, @@ -3899,9 +3893,9 @@ MovementStatusElements const MovementWaterWalkAck[] = MSETransportGuidByte6, MSETransportGuidByte4, MSESplineElevation, - MSEFallCosAngle, - MSEFallHorizontalSpeed, MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallCosAngle, MSEFallVerticalSpeed, MSEFallTime, MSEOrientation, @@ -3934,9 +3928,9 @@ MovementStatusElements const MovementUpdateKnockBack[] = MSEHasFallDirection, MSEHasOrientation, MSEOrientation, - MSEFallCosAngle, - MSEFallHorizontalSpeed, MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallCosAngle, MSEFallTime, MSEFallVerticalSpeed, MSEGuidByte3, @@ -5017,8 +5011,8 @@ MovementStatusElements const ChangeSeatsOnControlledVehicle[] = MSEExtraElement, MSEGuidByte2, MSEPitch, - MSEFallSinAngle, MSEFallCosAngle, + MSEFallSinAngle, MSEFallHorizontalSpeed, MSEFallTime, MSEFallVerticalSpeed, @@ -5108,8 +5102,8 @@ MovementStatusElements const CastSpellEmbeddedMovement[] = MSESplineElevation, MSEFallTime, MSEFallHorizontalSpeed, - MSEFallCosAngle, MSEFallSinAngle, + MSEFallCosAngle, MSEFallVerticalSpeed, MSETimestamp, MSEPitch, |