diff options
| author | Shauren <shauren.trinity@gmail.com> | 2013-04-09 17:24:39 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2013-04-09 17:24:39 +0200 |
| commit | 12a828fdbc01b9fca817829f9da3be2cf8cedf46 (patch) | |
| tree | bedf2c3cf036f4e56635f4e41c41b4e72f9418a3 /src/server/game/Movement | |
| parent | c34fd8d862fa85e8e1ed9d6abac349647f6cc082 (diff) | |
Core/Movement
* Implemented a generic way of sending movement packets depending on who controls the unit (player or server controlled)
* Added possibility to specify extra elements in movement packets (such as speed, extra passenger guid, collision height and similar) without having to add a special element only for these
* Removed Unit::SendMovementFlagUpdate as it was something working only in 3.3.5a and earlier (no serverside HEARTBEAT opcode exists now)
Diffstat (limited to 'src/server/game/Movement')
| -rwxr-xr-x | src/server/game/Movement/MovementGenerators/IdleMovementGenerator.cpp | 19 | ||||
| -rw-r--r-- | src/server/game/Movement/MovementStructures.cpp | 5010 | ||||
| -rw-r--r-- | src/server/game/Movement/MovementStructures.h | 2188 |
3 files changed, 5051 insertions, 2166 deletions
diff --git a/src/server/game/Movement/MovementGenerators/IdleMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/IdleMovementGenerator.cpp index 81442570940..2c3d5b3bf61 100755 --- a/src/server/game/Movement/MovementGenerators/IdleMovementGenerator.cpp +++ b/src/server/game/Movement/MovementGenerators/IdleMovementGenerator.cpp @@ -19,6 +19,7 @@ #include "IdleMovementGenerator.h" #include "CreatureAI.h" #include "Creature.h" +#include <G3D/g3dmath.h> IdleMovementGenerator si_idleMovement; @@ -44,25 +45,17 @@ void RotateMovementGenerator::Initialize(Unit* owner) owner->SetInFront(owner->getVictim()); owner->AddUnitState(UNIT_STATE_ROTATING); - owner->AttackStop(); } bool RotateMovementGenerator::Update(Unit* owner, uint32 diff) { float angle = owner->GetOrientation(); - if (m_direction == ROTATE_DIRECTION_LEFT) - { - angle += (float)diff * static_cast<float>(M_PI * 2) / m_maxDuration; - while (angle >= static_cast<float>(M_PI * 2)) angle -= static_cast<float>(M_PI * 2); - } - else - { - angle -= (float)diff * static_cast<float>(M_PI * 2) / m_maxDuration; - while (angle < 0) angle += static_cast<float>(M_PI * 2); - } - owner->SetOrientation(angle); - owner->SendMovementFlagUpdate(); // this is a hack. we do not have anything correct to send in the beginning + angle += (float(diff) * static_cast<float>(M_PI * 2) / m_maxDuration) * (m_direction == ROTATE_DIRECTION_LEFT ? 1.0f : -1.0f); + angle = G3D::wrap(angle, 0.0f, float(G3D::twoPi())); + + owner->SetOrientation(angle); // UpdateSplinePosition does not set orientation with UNIT_STATE_ROTATING + owner->SetFacingTo(angle); // Send spline movement to clients if (m_duration > diff) m_duration -= diff; diff --git a/src/server/game/Movement/MovementStructures.cpp b/src/server/game/Movement/MovementStructures.cpp new file mode 100644 index 00000000000..d1bc5f20b9f --- /dev/null +++ b/src/server/game/Movement/MovementStructures.cpp @@ -0,0 +1,5010 @@ +/* +* Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/> +* Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/> +* +* This program is free software; you can redistribute it and/or modify it +* under the terms of the GNU General Public License as published by the +* Free Software Foundation; either version 2 of the License, or (at your +* option) any later version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +* more details. +* +* You should have received a copy of the GNU General Public License along +* with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "MovementStructures.h" +#include "Player.h" + +//4.3.4 +MovementStatusElements PlayerMoveSequence[] = +{ + MSEHasFallData, + MSEHasGuidByte3, + MSEHasGuidByte6, + MSEHasMovementFlags2, + MSEHasSpline, + MSEHasTimestamp, + MSEHasGuidByte0, + MSEHasGuidByte1, + MSEMovementFlags2, + MSEHasGuidByte7, + MSEHasMovementFlags, + MSEHasOrientation, + MSEHasGuidByte2, + MSEHasSplineElevation, + MSEZeroBit, + MSEHasGuidByte4, + MSEHasFallDirection, + MSEHasGuidByte5, + MSEHasTransportData, + MSEMovementFlags, + MSEHasTransportGuidByte3, + MSEHasTransportTime3, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte4, + MSEHasTransportTime2, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte2, + MSEHasPitch, + MSEGuidByte5, + MSEFallHorizontalSpeed, + MSEFallCosAngle, + MSEFallSinAngle, + MSEFallVerticalSpeed, + MSEFallTime, + MSESplineElevation, + MSEGuidByte7, + MSEPositionY, + MSEGuidByte3, + MSETransportTime3, + MSETransportGuidByte6, + MSETransportSeat, + MSETransportGuidByte5, + MSETransportPositionX, + MSETransportGuidByte1, + MSETransportOrientation, + MSETransportGuidByte2, + MSETransportTime2, + MSETransportGuidByte0, + MSETransportPositionZ, + MSETransportGuidByte7, + MSETransportGuidByte4, + MSETransportGuidByte3, + MSETransportPositionY, + MSETransportTime, + MSEGuidByte4, + MSEPositionX, + MSEGuidByte6, + MSEPositionZ, + MSETimestamp, + MSEGuidByte2, + MSEPitch, + MSEGuidByte0, + MSEOrientation, + MSEGuidByte1, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementFallLandSequence[] = +{ + MSEPositionX, + MSEPositionY, + MSEPositionZ, + MSEHasTransportData, + MSEHasGuidByte7, + MSEHasGuidByte1, + MSEHasMovementFlags2, + MSEHasGuidByte3, + MSEHasSplineElevation, + MSEHasOrientation, + MSEHasGuidByte6, + MSEHasTimestamp, + MSEZeroBit, + MSEHasPitch, + MSEHasGuidByte4, + MSEHasSpline, + MSEHasGuidByte5, + MSEHasMovementFlags, + MSEHasFallData, + MSEHasGuidByte0, + MSEHasGuidByte2, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte2, + MSEHasTransportTime3, + MSEHasTransportTime2, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte7, + MSEMovementFlags2, + MSEMovementFlags, + MSEHasFallDirection, + MSEGuidByte1, + MSEGuidByte7, + MSEGuidByte4, + MSEGuidByte3, + MSEGuidByte6, + MSEGuidByte0, + MSEGuidByte2, + MSEGuidByte5, + MSETransportTime, + MSETransportPositionZ, + MSETransportPositionY, + MSETransportPositionX, + MSETransportGuidByte5, + MSETransportTime3, + MSETransportGuidByte1, + MSETransportSeat, + MSETransportTime2, + MSETransportGuidByte4, + MSETransportOrientation, + MSETransportGuidByte0, + MSETransportGuidByte7, + MSETransportGuidByte3, + MSETransportGuidByte6, + MSETransportGuidByte2, + MSEFallVerticalSpeed, + MSEFallTime, + MSEFallCosAngle, + MSEFallHorizontalSpeed, + MSEFallSinAngle, + MSESplineElevation, + MSETimestamp, + MSEPitch, + MSEOrientation, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementHeartBeatSequence[] = +{ + MSEPositionZ, + MSEPositionX, + MSEPositionY, + MSEHasPitch, + MSEHasTimestamp, + MSEHasFallData, + MSEHasMovementFlags2, + MSEHasTransportData, + MSEHasGuidByte7, + MSEHasGuidByte1, + MSEHasGuidByte0, + MSEHasGuidByte4, + MSEHasGuidByte2, + MSEHasOrientation, + MSEHasGuidByte5, + MSEHasGuidByte3, + MSEHasSplineElevation, + MSEHasSpline, + MSEZeroBit, + MSEHasGuidByte6, + MSEHasMovementFlags, + MSEHasTransportTime3, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte2, + MSEHasTransportTime2, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte1, + MSEHasFallDirection, + MSEMovementFlags, + MSEMovementFlags2, + MSEGuidByte3, + MSEGuidByte6, + MSEGuidByte1, + MSEGuidByte7, + MSEGuidByte2, + MSEGuidByte5, + MSEGuidByte0, + MSEGuidByte4, + MSETransportPositionZ, + MSETransportSeat, + MSETransportOrientation, + MSETransportGuidByte4, + MSETransportPositionY, + MSETransportTime, + MSETransportPositionX, + MSETransportGuidByte5, + MSETransportGuidByte1, + MSETransportGuidByte3, + MSETransportGuidByte7, + MSETransportTime3, + MSETransportTime2, + MSETransportGuidByte2, + MSETransportGuidByte0, + MSETransportGuidByte6, + MSEOrientation, + MSEFallVerticalSpeed, + MSEFallTime, + MSEFallHorizontalSpeed, + MSEFallSinAngle, + MSEFallCosAngle, + MSEPitch, + MSESplineElevation, + MSETimestamp, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementJumpSequence[] = +{ + MSEPositionY, + MSEPositionX, + MSEPositionZ, + MSEHasTimestamp, + MSEHasGuidByte5, + MSEHasMovementFlags, + MSEHasGuidByte4, + MSEHasGuidByte6, + MSEHasMovementFlags2, + MSEHasGuidByte0, + MSEHasTransportData, + MSEHasGuidByte3, + MSEHasPitch, + MSEHasGuidByte7, + MSEHasFallData, + MSEHasSpline, + MSEHasOrientation, + MSEHasGuidByte1, + MSEHasSplineElevation, + MSEZeroBit, + MSEHasGuidByte2, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte4, + MSEHasTransportTime3, + MSEHasTransportTime2, + MSEHasTransportGuidByte2, + MSEHasFallDirection, + MSEMovementFlags, + MSEMovementFlags2, + MSEGuidByte6, + MSEGuidByte5, + MSEGuidByte4, + MSEGuidByte0, + MSEGuidByte2, + MSEGuidByte3, + MSEGuidByte7, + MSEGuidByte1, + MSETransportGuidByte1, + MSETransportGuidByte7, + MSETransportPositionX, + MSETransportGuidByte4, + MSETransportTime3, + MSETransportGuidByte0, + MSETransportOrientation, + MSETransportTime2, + MSETransportTime, + MSETransportGuidByte6, + MSETransportPositionZ, + MSETransportSeat, + MSETransportPositionY, + MSETransportGuidByte3, + MSETransportGuidByte2, + MSETransportGuidByte5, + MSEPitch, + MSETimestamp, + MSEFallCosAngle, + MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallVerticalSpeed, + MSEFallTime, + MSESplineElevation, + MSEOrientation, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementSetFacingSequence[] = +{ + MSEPositionX, + MSEPositionY, + MSEPositionZ, + MSEHasGuidByte6, + MSEHasTransportData, + MSEHasGuidByte4, + MSEHasSpline, + MSEHasGuidByte0, + MSEHasOrientation, + MSEHasTimestamp, + MSEHasPitch, + MSEHasMovementFlags2, + MSEHasGuidByte5, + MSEHasGuidByte7, + MSEHasGuidByte2, + MSEHasFallData, + MSEHasSplineElevation, + MSEHasMovementFlags, + MSEHasGuidByte3, + MSEZeroBit, + MSEHasGuidByte1, + MSEHasTransportTime3, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte0, + MSEHasTransportTime2, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte1, + MSEHasFallDirection, + MSEMovementFlags2, + MSEMovementFlags, + MSEGuidByte6, + MSEGuidByte7, + MSEGuidByte2, + MSEGuidByte0, + MSEGuidByte4, + MSEGuidByte1, + MSEGuidByte5, + MSEGuidByte3, + MSETransportGuidByte0, + MSETransportPositionX, + MSETransportGuidByte1, + MSETransportTime2, + MSETransportGuidByte4, + MSETransportPositionZ, + MSETransportOrientation, + MSETransportGuidByte2, + MSETransportTime3, + MSETransportGuidByte3, + MSETransportSeat, + MSETransportPositionY, + MSETransportGuidByte5, + MSETransportGuidByte6, + MSETransportTime, + MSETransportGuidByte7, + MSEFallHorizontalSpeed, + MSEFallSinAngle, + MSEFallCosAngle, + MSEFallTime, + MSEFallVerticalSpeed, + MSESplineElevation, + MSEOrientation, + MSETimestamp, + MSEPitch, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementSetPitchSequence[] = +{ + MSEPositionX, + MSEPositionZ, + MSEPositionY, + MSEHasFallData, + MSEHasMovementFlags, + MSEHasGuidByte1, + MSEHasOrientation, + MSEHasGuidByte7, + MSEHasGuidByte3, + MSEHasMovementFlags2, + MSEHasTransportData, + MSEHasSplineElevation, + MSEHasGuidByte6, + MSEHasPitch, + MSEHasGuidByte4, + MSEHasSpline, + MSEHasGuidByte2, + MSEZeroBit, + MSEHasTimestamp, + MSEHasGuidByte0, + MSEHasGuidByte5, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte5, + MSEHasTransportTime3, + MSEHasTransportGuidByte7, + MSEHasTransportTime2, + MSEMovementFlags2, + MSEMovementFlags, + MSEHasFallDirection, + MSEGuidByte3, + MSEGuidByte7, + MSEGuidByte1, + MSEGuidByte6, + MSEGuidByte0, + MSEGuidByte5, + MSEGuidByte2, + MSEGuidByte4, + MSETransportGuidByte4, + MSETransportGuidByte3, + MSETransportGuidByte6, + MSETransportOrientation, + MSETransportGuidByte1, + MSETransportTime3, + MSETransportTime, + MSETransportGuidByte2, + MSETransportPositionZ, + MSETransportGuidByte0, + MSETransportTime2, + MSETransportPositionY, + MSETransportGuidByte5, + MSETransportSeat, + MSETransportGuidByte7, + MSETransportPositionX, + MSEFallVerticalSpeed, + MSEFallTime, + MSEFallHorizontalSpeed, + MSEFallCosAngle, + MSEFallSinAngle, + MSEPitch, + MSESplineElevation, + MSETimestamp, + MSEOrientation, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementStartBackwardSequence[] = +{ + MSEPositionX, + MSEPositionZ, + MSEPositionY, + MSEHasTransportData, + MSEHasGuidByte3, + MSEHasGuidByte0, + MSEHasGuidByte2, + MSEHasTimestamp, + MSEHasGuidByte7, + MSEHasPitch, + MSEZeroBit, + MSEHasMovementFlags, + MSEHasOrientation, + MSEHasSpline, + MSEHasMovementFlags2, + MSEHasFallData, + MSEHasGuidByte5, + MSEHasGuidByte1, + MSEHasGuidByte4, + MSEHasGuidByte6, + MSEHasSplineElevation, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte1, + MSEHasTransportTime2, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte4, + MSEHasTransportTime3, + MSEMovementFlags, + MSEMovementFlags2, + MSEHasFallDirection, + MSEGuidByte6, + MSEGuidByte7, + MSEGuidByte4, + MSEGuidByte1, + MSEGuidByte5, + MSEGuidByte0, + MSEGuidByte2, + MSEGuidByte3, + MSETransportPositionZ, + MSETransportGuidByte2, + MSETransportTime3, + MSETransportGuidByte0, + MSETransportGuidByte5, + MSETransportPositionY, + MSETransportGuidByte1, + MSETransportPositionX, + MSETransportTime2, + MSETransportGuidByte4, + MSETransportOrientation, + MSETransportSeat, + MSETransportGuidByte7, + MSETransportTime, + MSETransportGuidByte6, + MSETransportGuidByte3, + MSEPitch, + MSETimestamp, + MSEFallHorizontalSpeed, + MSEFallSinAngle, + MSEFallCosAngle, + MSEFallVerticalSpeed, + MSEFallTime, + MSEOrientation, + MSESplineElevation, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementStartForwardSequence[] = +{ + MSEPositionY, + MSEPositionZ, + MSEPositionX, + MSEHasGuidByte5, + MSEHasGuidByte2, + MSEHasGuidByte0, + MSEZeroBit, + MSEHasMovementFlags, + MSEHasGuidByte7, + MSEHasGuidByte3, + MSEHasGuidByte1, + MSEHasOrientation, + MSEHasGuidByte6, + MSEHasSpline, + MSEHasSplineElevation, + MSEHasGuidByte4, + MSEHasTransportData, + MSEHasTimestamp, + MSEHasPitch, + MSEHasMovementFlags2, + MSEHasFallData, + MSEMovementFlags, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte1, + MSEHasTransportTime3, + MSEHasTransportTime2, + MSEHasFallDirection, + MSEMovementFlags2, + MSEGuidByte2, + MSEGuidByte4, + MSEGuidByte6, + MSEGuidByte1, + MSEGuidByte7, + MSEGuidByte3, + MSEGuidByte5, + MSEGuidByte0, + MSEFallVerticalSpeed, + MSEFallHorizontalSpeed, + MSEFallCosAngle, + MSEFallSinAngle, + MSEFallTime, + MSETransportGuidByte3, + MSETransportPositionY, + MSETransportPositionZ, + MSETransportGuidByte1, + MSETransportGuidByte4, + MSETransportGuidByte7, + MSETransportOrientation, + MSETransportGuidByte2, + MSETransportPositionX, + MSETransportGuidByte5, + MSETransportTime3, + MSETransportTime, + MSETransportGuidByte6, + MSETransportGuidByte0, + MSETransportSeat, + MSETransportTime2, + MSESplineElevation, + MSEPitch, + MSEOrientation, + MSETimestamp, + + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementStartStrafeLeftSequence[] = +{ + MSEPositionZ, + MSEPositionX, + MSEPositionY, + MSEHasSplineElevation, + MSEHasGuidByte5, + MSEHasPitch, + MSEHasGuidByte6, + MSEHasTimestamp, + MSEHasGuidByte1, + MSEZeroBit, + MSEHasGuidByte4, + MSEHasGuidByte0, + MSEHasGuidByte2, + MSEHasFallData, + MSEHasOrientation, + MSEHasGuidByte3, + MSEHasMovementFlags2, + MSEHasGuidByte7, + MSEHasSpline, + MSEHasMovementFlags, + MSEHasTransportData, + MSEHasFallDirection, + MSEHasTransportTime2, + MSEHasTransportGuidByte7, + MSEHasTransportTime3, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte0, + MSEMovementFlags, + MSEMovementFlags2, + MSEGuidByte2, + MSEGuidByte6, + MSEGuidByte3, + MSEGuidByte1, + MSEGuidByte0, + MSEGuidByte7, + MSEGuidByte4, + MSEGuidByte5, + MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallCosAngle, + MSEFallTime, + MSEFallVerticalSpeed, + MSETransportSeat, + MSETransportGuidByte2, + MSETransportTime2, + MSETransportGuidByte3, + MSETransportPositionZ, + MSETransportTime3, + MSETransportGuidByte0, + MSETransportGuidByte7, + MSETransportPositionY, + MSETransportGuidByte5, + MSETransportGuidByte1, + MSETransportOrientation, + MSETransportTime, + MSETransportGuidByte6, + MSETransportGuidByte4, + MSETransportPositionX, + MSETimestamp, + MSEOrientation, + MSEPitch, + MSESplineElevation, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementStartStrafeRightSequence[] = +{ + MSEPositionY, + MSEPositionX, + MSEPositionZ, + MSEHasPitch, + MSEHasGuidByte1, + MSEHasOrientation, + MSEHasGuidByte4, + MSEHasSpline, + MSEZeroBit, + MSEHasGuidByte5, + MSEHasFallData, + MSEHasSplineElevation, + MSEHasTimestamp, + MSEHasMovementFlags, + MSEHasGuidByte2, + MSEHasGuidByte7, + MSEHasGuidByte6, + MSEHasGuidByte3, + MSEHasMovementFlags2, + MSEHasTransportData, + MSEHasGuidByte0, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte0, + MSEHasTransportTime2, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte4, + MSEHasTransportTime3, + MSEMovementFlags2, + MSEMovementFlags, + MSEHasFallDirection, + MSEGuidByte7, + MSEGuidByte5, + MSEGuidByte3, + MSEGuidByte1, + MSEGuidByte2, + MSEGuidByte4, + MSEGuidByte6, + MSEGuidByte0, + MSETransportGuidByte5, + MSETransportGuidByte1, + MSETransportGuidByte6, + MSETransportPositionY, + MSETransportOrientation, + MSETransportGuidByte0, + MSETransportGuidByte2, + MSETransportSeat, + MSETransportPositionX, + MSETransportTime3, + MSETransportTime, + MSETransportGuidByte4, + MSETransportGuidByte7, + MSETransportTime2, + MSETransportPositionZ, + MSETransportGuidByte3, + MSEPitch, + MSEOrientation, + MSEFallCosAngle, + MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallTime, + MSEFallVerticalSpeed, + MSETimestamp, + MSESplineElevation, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementStartTurnLeftSequence[] = +{ + MSEPositionY, + MSEPositionX, + MSEPositionZ, + MSEZeroBit, + MSEHasGuidByte1, + MSEHasOrientation, + MSEHasSpline, + MSEHasMovementFlags, + MSEHasGuidByte4, + MSEHasGuidByte2, + MSEHasMovementFlags2, + MSEHasGuidByte5, + MSEHasGuidByte7, + MSEHasTransportData, + MSEHasGuidByte6, + MSEHasSplineElevation, + MSEHasGuidByte0, + MSEHasGuidByte3, + MSEHasPitch, + MSEHasTimestamp, + MSEHasFallData, + MSEMovementFlags2, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte0, + MSEHasTransportTime2, + MSEHasTransportGuidByte2, + MSEHasTransportTime3, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte6, + MSEHasFallDirection, + MSEMovementFlags, + MSEGuidByte0, + MSEGuidByte4, + MSEGuidByte7, + MSEGuidByte5, + MSEGuidByte6, + MSEGuidByte3, + MSEGuidByte2, + MSEGuidByte1, + MSEFallSinAngle, + MSEFallCosAngle, + MSEFallHorizontalSpeed, + MSEFallVerticalSpeed, + MSEFallTime, + MSETransportGuidByte0, + MSETransportPositionX, + MSETransportTime, + MSETransportSeat, + MSETransportPositionZ, + MSETransportGuidByte4, + MSETransportOrientation, + MSETransportGuidByte2, + MSETransportGuidByte6, + MSETransportGuidByte1, + MSETransportGuidByte3, + MSETransportPositionY, + MSETransportTime3, + MSETransportTime2, + MSETransportGuidByte5, + MSETransportGuidByte7, + MSETimestamp, + MSEPitch, + MSEOrientation, + MSESplineElevation, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementStartTurnRightSequence[] = +{ + MSEPositionX, + MSEPositionZ, + MSEPositionY, + MSEHasGuidByte3, + MSEHasGuidByte5, + MSEHasMovementFlags, + MSEHasSpline, + MSEHasGuidByte0, + MSEHasOrientation, + MSEHasTransportData, + MSEHasGuidByte7, + MSEZeroBit, + MSEHasMovementFlags2, + MSEHasGuidByte1, + MSEHasTimestamp, + MSEHasGuidByte6, + MSEHasGuidByte2, + MSEHasGuidByte4, + MSEHasSplineElevation, + MSEHasPitch, + MSEHasFallData, + MSEHasTransportGuidByte1, + MSEHasTransportTime2, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte7, + MSEHasTransportTime3, + MSEMovementFlags2, + MSEMovementFlags, + MSEHasFallDirection, + MSEGuidByte5, + MSEGuidByte0, + MSEGuidByte7, + MSEGuidByte3, + MSEGuidByte2, + MSEGuidByte1, + MSEGuidByte4, + MSEGuidByte6, + MSETransportPositionY, + MSETransportGuidByte0, + MSETransportGuidByte4, + MSETransportGuidByte1, + MSETransportGuidByte6, + MSETransportGuidByte2, + MSETransportSeat, + MSETransportOrientation, + MSETransportGuidByte5, + MSETransportTime3, + MSETransportPositionZ, + MSETransportPositionX, + MSETransportTime, + MSETransportGuidByte7, + MSETransportGuidByte3, + MSETransportTime2, + MSEFallHorizontalSpeed, + MSEFallSinAngle, + MSEFallCosAngle, + MSEFallTime, + MSEFallVerticalSpeed, + MSEPitch, + MSEOrientation, + MSESplineElevation, + MSETimestamp, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementStopSequence[] = +{ + MSEPositionX, + MSEPositionY, + MSEPositionZ, + MSEHasGuidByte3, + MSEHasGuidByte6, + MSEHasSplineElevation, + MSEHasSpline, + MSEHasOrientation, + MSEHasGuidByte7, + MSEHasMovementFlags, + MSEHasGuidByte5, + MSEHasFallData, + MSEHasMovementFlags2, + MSEHasTransportData, + MSEHasTimestamp, + MSEHasGuidByte4, + MSEHasGuidByte1, + MSEZeroBit, + MSEHasGuidByte2, + MSEHasGuidByte0, + MSEHasPitch, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte5, + MSEHasTransportTime2, + MSEHasTransportTime3, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte2, + MSEMovementFlags, + MSEMovementFlags2, + MSEHasFallDirection, + MSEGuidByte6, + MSEGuidByte3, + MSEGuidByte0, + MSEGuidByte4, + MSEGuidByte2, + MSEGuidByte1, + MSEGuidByte5, + MSEGuidByte7, + MSETransportGuidByte4, + MSETransportGuidByte7, + MSETransportTime, + MSETransportSeat, + MSETransportPositionZ, + MSETransportTime3, + MSETransportGuidByte2, + MSETransportGuidByte0, + MSETransportPositionY, + MSETransportGuidByte1, + MSETransportGuidByte3, + MSETransportTime2, + MSETransportPositionX, + MSETransportOrientation, + MSETransportGuidByte5, + MSETransportGuidByte6, + MSETimestamp, + MSEOrientation, + MSEPitch, + MSESplineElevation, + MSEFallCosAngle, + MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallVerticalSpeed, + MSEFallTime, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementStopStrafeSequence[] = +{ + MSEPositionY, + MSEPositionZ, + MSEPositionX, + MSEHasPitch, + MSEHasTimestamp, + MSEHasGuidByte2, + MSEHasFallData, + MSEHasGuidByte7, + MSEHasSplineElevation, + MSEHasGuidByte3, + MSEHasOrientation, + MSEHasMovementFlags2, + MSEHasTransportData, + MSEHasMovementFlags, + MSEHasSpline, + MSEHasGuidByte0, + MSEZeroBit, + MSEHasGuidByte6, + MSEHasGuidByte5, + MSEHasGuidByte1, + MSEHasGuidByte4, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte5, + MSEHasTransportTime2, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte3, + MSEHasTransportTime3, + MSEMovementFlags, + MSEHasFallDirection, + MSEMovementFlags2, + MSEGuidByte2, + MSEGuidByte7, + MSEGuidByte3, + MSEGuidByte4, + MSEGuidByte5, + MSEGuidByte6, + MSEGuidByte1, + MSEGuidByte0, + MSETransportSeat, + MSETransportGuidByte6, + MSETransportPositionZ, + MSETransportTime3, + MSETransportGuidByte1, + MSETransportGuidByte3, + MSETransportGuidByte2, + MSETransportGuidByte4, + MSETransportGuidByte5, + MSETransportTime, + MSETransportOrientation, + MSETransportPositionX, + MSETransportGuidByte0, + MSETransportPositionY, + MSETransportTime2, + MSETransportGuidByte7, + MSEFallCosAngle, + MSEFallHorizontalSpeed, + MSEFallSinAngle, + MSEFallTime, + MSEFallVerticalSpeed, + MSESplineElevation, + MSEOrientation, + MSEPitch, + MSETimestamp, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementStopTurnSequence[] = +{ + MSEPositionX, + MSEPositionZ, + MSEPositionY, + MSEHasGuidByte5, + MSEHasGuidByte4, + MSEHasFallData, + MSEZeroBit, + MSEHasGuidByte1, + MSEHasGuidByte0, + MSEHasSpline, + MSEHasMovementFlags, + MSEHasGuidByte2, + MSEHasGuidByte6, + MSEHasPitch, + MSEHasTransportData, + MSEHasGuidByte3, + MSEHasSplineElevation, + MSEHasTimestamp, + MSEHasMovementFlags2, + MSEHasOrientation, + MSEHasGuidByte7, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte7, + MSEHasTransportTime3, + MSEHasTransportGuidByte4, + MSEHasTransportTime2, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte1, + MSEHasFallDirection, + MSEMovementFlags, + MSEMovementFlags2, + MSEGuidByte3, + MSEGuidByte2, + MSEGuidByte6, + MSEGuidByte4, + MSEGuidByte0, + MSEGuidByte7, + MSEGuidByte1, + MSEGuidByte5, + MSESplineElevation, + MSETransportPositionX, + MSETransportGuidByte5, + MSETransportSeat, + MSETransportGuidByte2, + MSETransportGuidByte3, + MSETransportOrientation, + MSETransportTime2, + MSETransportTime3, + MSETransportGuidByte7, + MSETransportGuidByte1, + MSETransportGuidByte0, + MSETransportGuidByte4, + MSETransportPositionY, + MSETransportPositionZ, + MSETransportTime, + MSETransportGuidByte6, + MSEFallTime, + MSEFallHorizontalSpeed, + MSEFallCosAngle, + MSEFallSinAngle, + MSEFallVerticalSpeed, + MSETimestamp, + MSEPitch, + MSEOrientation, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementStartAscendSequence[] = +{ + MSEPositionX, + MSEPositionY, + MSEPositionZ, + MSEHasGuidByte0, + MSEHasGuidByte1, + MSEHasGuidByte7, + MSEZeroBit, + MSEHasGuidByte5, + MSEHasTransportData, + MSEHasGuidByte2, + MSEHasSplineElevation, + MSEHasFallData, + MSEHasSpline, + MSEHasGuidByte3, + MSEHasMovementFlags2, + MSEHasGuidByte6, + MSEHasMovementFlags, + MSEHasPitch, + MSEHasTimestamp, + MSEHasOrientation, + MSEHasGuidByte4, + MSEMovementFlags, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte2, + MSEHasTransportTime3, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte4, + MSEHasTransportTime2, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte7, + MSEMovementFlags2, + MSEHasFallDirection, + MSEGuidByte6, + MSEGuidByte3, + MSEGuidByte1, + MSEGuidByte4, + MSEGuidByte2, + MSEGuidByte0, + MSEGuidByte5, + MSEGuidByte7, + MSETransportGuidByte3, + MSETransportGuidByte5, + MSETransportGuidByte4, + MSETransportSeat, + MSETransportGuidByte2, + MSETransportOrientation, + MSETransportPositionY, + MSETransportGuidByte7, + MSETransportTime2, + MSETransportPositionZ, + MSETransportTime3, + MSETransportGuidByte6, + MSETransportTime, + MSETransportGuidByte0, + MSETransportGuidByte1, + MSETransportPositionX, + MSEFallCosAngle, + MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallTime, + MSEFallVerticalSpeed, + MSEOrientation, + MSEPitch, + MSETimestamp, + MSESplineElevation, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementStartDescendSequence[] = +{ + MSEPositionY, + MSEPositionZ, + MSEPositionX, + MSEHasGuidByte0, + MSEHasPitch, + MSEHasFallData, + MSEHasGuidByte4, + MSEHasOrientation, + MSEHasTimestamp, + MSEHasMovementFlags2, + MSEHasMovementFlags, + MSEHasGuidByte6, + MSEZeroBit, + MSEHasGuidByte1, + MSEHasTransportData, + MSEHasSpline, + MSEHasSplineElevation, + MSEHasGuidByte5, + MSEHasGuidByte3, + MSEHasGuidByte7, + MSEHasGuidByte2, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte2, + MSEHasTransportTime3, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte6, + MSEHasTransportTime2, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte5, + MSEMovementFlags2, + MSEMovementFlags, + MSEHasFallDirection, + MSEGuidByte2, + MSEGuidByte7, + MSEGuidByte6, + MSEGuidByte0, + MSEGuidByte1, + MSEGuidByte5, + MSEGuidByte4, + MSEGuidByte3, + MSEPitch, + MSETransportPositionZ, + MSETransportSeat, + MSETransportTime3, + MSETransportGuidByte6, + MSETransportTime2, + MSETransportGuidByte1, + MSETransportTime, + MSETransportGuidByte4, + MSETransportPositionY, + MSETransportPositionX, + MSETransportGuidByte7, + MSETransportGuidByte3, + MSETransportGuidByte5, + MSETransportGuidByte2, + MSETransportOrientation, + MSETransportGuidByte0, + MSEFallTime, + MSEFallSinAngle, + MSEFallCosAngle, + MSEFallHorizontalSpeed, + MSEFallVerticalSpeed, + MSETimestamp, + MSEOrientation, + MSESplineElevation, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementStartSwimSequence[] = +{ + MSEPositionZ, + MSEPositionX, + MSEPositionY, + MSEHasGuidByte3, + MSEHasSplineElevation, + MSEHasGuidByte4, + MSEHasGuidByte7, + MSEZeroBit, + MSEHasPitch, + MSEHasGuidByte0, + MSEHasOrientation, + MSEHasMovementFlags, + MSEHasFallData, + MSEHasGuidByte5, + MSEHasTransportData, + MSEHasMovementFlags2, + MSEHasTimestamp, + MSEHasGuidByte6, + MSEHasGuidByte1, + MSEHasSpline, + MSEHasGuidByte2, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte0, + MSEHasTransportTime2, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte1, + MSEHasTransportTime3, + MSEMovementFlags, + MSEHasFallDirection, + MSEMovementFlags2, + MSEGuidByte0, + MSEGuidByte2, + MSEGuidByte1, + MSEGuidByte5, + MSEGuidByte4, + MSEGuidByte6, + MSEGuidByte3, + MSEGuidByte7, + MSEPitch, + MSETransportTime2, + MSETransportGuidByte2, + MSETransportPositionY, + MSETransportGuidByte3, + MSETransportTime, + MSETransportPositionX, + MSETransportOrientation, + MSETransportTime3, + MSETransportGuidByte6, + MSETransportGuidByte5, + MSETransportGuidByte4, + MSETransportPositionZ, + MSETransportGuidByte1, + MSETransportGuidByte7, + MSETransportGuidByte0, + MSETransportSeat, + MSEFallCosAngle, + MSEFallHorizontalSpeed, + MSEFallSinAngle, + MSEFallVerticalSpeed, + MSEFallTime, + MSEOrientation, + MSETimestamp, + MSESplineElevation, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementStopSwimSequence[] = +{ + MSEPositionX, + MSEPositionY, + MSEPositionZ, + MSEHasSpline, + MSEHasPitch, + MSEHasGuidByte5, + MSEHasGuidByte3, + MSEHasGuidByte7, + MSEHasSplineElevation, + MSEHasMovementFlags, + MSEHasGuidByte4, + MSEHasMovementFlags2, + MSEHasGuidByte2, + MSEHasGuidByte6, + MSEHasTransportData, + MSEHasOrientation, + MSEZeroBit, + MSEHasTimestamp, + MSEHasGuidByte1, + MSEHasGuidByte0, + MSEHasFallData, + MSEHasTransportTime3, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte0, + MSEHasTransportTime2, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte5, + MSEMovementFlags, + MSEMovementFlags2, + MSEHasFallDirection, + MSEGuidByte0, + MSEGuidByte4, + MSEGuidByte3, + MSEGuidByte6, + MSEGuidByte7, + MSEGuidByte1, + MSEGuidByte5, + MSEGuidByte2, + MSETransportTime3, + MSETransportGuidByte4, + MSETransportTime, + MSETransportPositionZ, + MSETransportSeat, + MSETransportGuidByte3, + MSETransportGuidByte2, + MSETransportPositionY, + MSETransportGuidByte7, + MSETransportGuidByte1, + MSETransportGuidByte6, + MSETransportGuidByte5, + MSETransportTime2, + MSETransportPositionX, + MSETransportGuidByte0, + MSETransportOrientation, + MSEFallVerticalSpeed, + MSEFallCosAngle, + MSEFallHorizontalSpeed, + MSEFallSinAngle, + MSEFallTime, + MSETimestamp, + MSEPitch, + MSEOrientation, + MSESplineElevation, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementStopAscendSequence[] = +{ + MSEPositionZ, + MSEPositionY, + MSEPositionX, + MSEHasGuidByte3, + MSEHasGuidByte2, + MSEHasFallData, + MSEHasGuidByte7, + MSEHasOrientation, + MSEHasPitch, + MSEHasSpline, + MSEZeroBit, + MSEHasGuidByte1, + MSEHasGuidByte4, + MSEHasMovementFlags, + MSEHasGuidByte0, + MSEHasGuidByte6, + MSEHasSplineElevation, + MSEHasTransportData, + MSEHasMovementFlags2, + MSEHasTimestamp, + MSEHasGuidByte5, + MSEHasTransportTime2, + MSEHasTransportTime3, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte0, + MSEMovementFlags2, + MSEMovementFlags, + MSEHasFallDirection, + MSEGuidByte7, + MSEGuidByte5, + MSEGuidByte4, + MSEGuidByte3, + MSEGuidByte2, + MSEGuidByte1, + MSEGuidByte0, + MSEGuidByte6, + MSETransportGuidByte5, + MSETransportPositionY, + MSETransportGuidByte7, + MSETransportGuidByte2, + MSETransportGuidByte6, + MSETransportTime2, + MSETransportTime3, + MSETransportOrientation, + MSETransportGuidByte3, + MSETransportGuidByte4, + MSETransportSeat, + MSETransportGuidByte1, + MSETransportTime, + MSETransportGuidByte0, + MSETransportPositionX, + MSETransportPositionZ, + MSEFallTime, + MSEFallVerticalSpeed, + MSEFallCosAngle, + MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEPitch, + MSESplineElevation, + MSETimestamp, + MSEOrientation, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementStopPitchSequence[] = +{ + MSEPositionY, + MSEPositionX, + MSEPositionZ, + MSEHasGuidByte0, + MSEHasGuidByte5, + MSEHasGuidByte3, + MSEHasFallData, + MSEHasGuidByte2, + MSEHasGuidByte4, + MSEHasGuidByte7, + MSEHasPitch, + MSEHasSpline, + MSEHasOrientation, + MSEZeroBit, + MSEHasMovementFlags2, + MSEHasSplineElevation, + MSEHasGuidByte6, + MSEHasGuidByte1, + MSEHasTimestamp, + MSEHasTransportData, + MSEHasMovementFlags, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte2, + MSEHasTransportTime3, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte3, + MSEHasTransportTime2, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte1, + MSEHasFallDirection, + MSEMovementFlags2, + MSEMovementFlags, + MSEGuidByte1, + MSEGuidByte7, + MSEGuidByte0, + MSEGuidByte6, + MSEGuidByte4, + MSEGuidByte3, + MSEGuidByte5, + MSEGuidByte2, + MSETimestamp, + MSEFallHorizontalSpeed, + MSEFallSinAngle, + MSEFallCosAngle, + MSEFallVerticalSpeed, + MSEFallTime, + MSETransportGuidByte5, + MSETransportGuidByte2, + MSETransportTime2, + MSETransportPositionX, + MSETransportOrientation, + MSETransportGuidByte6, + MSETransportGuidByte3, + MSETransportGuidByte1, + MSETransportPositionZ, + MSETransportTime3, + MSETransportGuidByte0, + MSETransportGuidByte4, + MSETransportTime, + MSETransportPositionY, + MSETransportSeat, + MSETransportGuidByte7, + MSESplineElevation, + MSEOrientation, + MSEPitch, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementStartPitchDownSequence[] = +{ + MSEPositionX, + MSEPositionZ, + MSEPositionY, + MSEHasMovementFlags, + MSEHasGuidByte7, + MSEHasGuidByte6, + MSEHasPitch, + MSEZeroBit, + MSEHasGuidByte1, + MSEHasGuidByte4, + MSEHasTimestamp, + MSEHasSplineElevation, + MSEHasMovementFlags2, + MSEHasTransportData, + MSEHasGuidByte0, + MSEHasGuidByte5, + MSEHasGuidByte3, + MSEHasSpline, + MSEHasOrientation, + MSEHasFallData, + MSEHasGuidByte2, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte5, + MSEHasTransportTime3, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte6, + MSEHasTransportTime2, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte2, + MSEMovementFlags2, + MSEHasFallDirection, + MSEMovementFlags, + MSEGuidByte3, + MSEGuidByte7, + MSEGuidByte0, + MSEGuidByte5, + MSEGuidByte2, + MSEGuidByte6, + MSEGuidByte4, + MSEGuidByte1, + MSETransportTime3, + MSETransportGuidByte3, + MSETransportTime2, + MSETransportGuidByte5, + MSETransportGuidByte1, + MSETransportPositionY, + MSETransportGuidByte6, + MSETransportGuidByte4, + MSETransportTime, + MSETransportPositionZ, + MSETransportPositionX, + MSETransportGuidByte0, + MSETransportSeat, + MSETransportGuidByte2, + MSETransportGuidByte7, + MSETransportOrientation, + MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallCosAngle, + MSEFallVerticalSpeed, + MSEFallTime, + MSEPitch, + MSEOrientation, + MSESplineElevation, + MSETimestamp, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementStartPitchUpSequence[] = +{ + MSEPositionZ, + MSEPositionY, + MSEPositionX, + MSEHasGuidByte4, + MSEHasMovementFlags, + MSEHasMovementFlags2, + MSEHasSpline, + MSEHasGuidByte2, + MSEHasGuidByte6, + MSEHasGuidByte3, + MSEZeroBit, + MSEHasSplineElevation, + MSEHasFallData, + MSEHasGuidByte0, + MSEHasTransportData, + MSEHasGuidByte1, + MSEHasGuidByte5, + MSEHasPitch, + MSEHasTimestamp, + MSEHasOrientation, + MSEHasGuidByte7, + MSEMovementFlags2, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte1, + MSEHasTransportTime2, + MSEHasTransportGuidByte4, + MSEHasTransportTime3, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte2, + MSEMovementFlags, + MSEHasFallDirection, + MSEGuidByte0, + MSEGuidByte3, + MSEGuidByte4, + MSEGuidByte6, + MSEGuidByte7, + MSEGuidByte1, + MSEGuidByte5, + MSEGuidByte2, + MSETransportPositionX, + MSETransportGuidByte1, + MSETransportGuidByte3, + MSETransportGuidByte2, + MSETransportGuidByte0, + MSETransportTime, + MSETransportPositionZ, + MSETransportOrientation, + MSETransportGuidByte7, + MSETransportTime2, + MSETransportSeat, + MSETransportGuidByte6, + MSETransportGuidByte5, + MSETransportTime3, + MSETransportPositionY, + MSETransportGuidByte4, + MSEFallTime, + MSEFallCosAngle, + MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallVerticalSpeed, + MSEOrientation, + MSESplineElevation, + MSEPitch, + MSETimestamp, + MSEEnd, +}; + +MovementStatusElements MoveChngTransport[]= +{ + MSEPositionY, + MSEPositionX, + MSEPositionZ, + MSEHasGuidByte4, + MSEHasGuidByte0, + MSEHasGuidByte2, + MSEHasTransportData, + MSEHasSpline, + MSEHasOrientation, + MSEHasGuidByte6, + MSEHasTimestamp, + MSEHasGuidByte5, + MSEHasGuidByte7, + MSEHasPitch, + MSEZeroBit, + MSEHasGuidByte3, + MSEHasSplineElevation, + MSEHasGuidByte1, + MSEHasFallData, + MSEHasMovementFlags, + MSEHasMovementFlags2, + + MSEHasTransportGuidByte3, + MSEHasTransportTime3, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte2, + MSEHasTransportTime2, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte5, + + MSEMovementFlags, + MSEMovementFlags2, + MSEHasFallDirection, + + MSEGuidByte7, + MSEGuidByte5, + MSEGuidByte1, + MSEGuidByte2, + MSEGuidByte6, + MSEGuidByte4, + MSEGuidByte0, + MSEGuidByte3, + + MSETransportPositionY, + MSETransportSeat, + MSETransportGuidByte1, + MSETransportGuidByte0, + MSETransportGuidByte2, + MSETransportGuidByte3, + MSETransportGuidByte6, + MSETransportPositionZ, + MSETransportPositionX, + MSETransportTime3, + MSETransportTime, + MSETransportGuidByte7, + MSETransportGuidByte5, + MSETransportGuidByte4, + MSETransportOrientation, + MSETransportTime2, + + MSEFallTime, + MSEFallHorizontalSpeed, + MSEFallCosAngle, + MSEFallSinAngle, + MSEFallVerticalSpeed, + + MSEOrientation, + MSEPitch, + MSESplineElevation, + MSETimestamp, + MSEEnd, +}; + +// 4.3.4 +MovementStatusElements MoveSplineDone[] = +{ + MSEPositionY, + MSEPositionX, + MSEPositionZ, + MSEHasGuidByte6, + MSEHasOrientation, + MSEHasFallData, + MSEHasTimestamp, + MSEHasGuidByte2, + MSEHasSplineElevation, + MSEHasGuidByte4, + MSEHasTransportData, + MSEHasGuidByte3, + MSEHasMovementFlags, + MSEHasGuidByte0, + MSEZeroBit, + MSEHasGuidByte1, + MSEHasGuidByte5, + MSEHasPitch, + MSEHasSpline, + MSEHasMovementFlags2, + MSEHasGuidByte7, + + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte6, + MSEHasTransportTime2, + MSEHasTransportGuidByte2, + MSEHasTransportTime3, + MSEHasTransportGuidByte0, + + MSEHasFallDirection, + MSEMovementFlags2, + MSEMovementFlags, + + MSEGuidByte7, + MSEGuidByte4, + MSEGuidByte5, + MSEGuidByte6, + MSEGuidByte0, + MSEGuidByte1, + MSEGuidByte2, + MSEGuidByte3, + + MSEFallVerticalSpeed, + MSEFallSinAngle, + MSEFallCosAngle, + MSEFallHorizontalSpeed, + MSEFallTime, + + MSEPitch, + MSEOrientation, + + MSETransportGuidByte1, + MSETransportTime3, + MSETransportGuidByte7, + MSETransportTime, + MSETransportPositionY, + MSETransportPositionX, + MSETransportPositionZ, + MSETransportSeat, + MSETransportOrientation, + MSETransportGuidByte0, + MSETransportTime2, + MSETransportGuidByte2, + MSETransportGuidByte3, + MSETransportGuidByte5, + MSETransportGuidByte6, + MSETransportGuidByte4, + + MSETimestamp, + MSESplineElevation, + MSEEnd, +}; + +// 4.3.4 +MovementStatusElements MoveNotActiveMover[] = +{ + MSEPositionZ, + MSEPositionX, + MSEPositionY, + MSEHasMovementFlags2, + MSEHasTransportData, + MSEHasGuidByte6, + MSEHasSplineElevation, + MSEHasGuidByte3, + MSEZeroBit, + MSEHasTimestamp, + MSEHasGuidByte0, + MSEHasOrientation, + MSEHasGuidByte5, + MSEHasPitch, + MSEHasGuidByte1, + MSEHasGuidByte4, + MSEHasGuidByte7, + MSEHasSpline, + MSEHasGuidByte2, + MSEHasFallData, + MSEHasMovementFlags, + + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte2, + MSEHasTransportTime3, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte7, + MSEHasTransportTime2, + MSEHasTransportGuidByte3, + + MSEHasFallDirection, + MSEMovementFlags, + MSEMovementFlags2, + + MSEGuidByte1, + MSEGuidByte0, + MSEGuidByte4, + MSEGuidByte2, + MSEGuidByte7, + MSEGuidByte5, + MSEGuidByte6, + MSEGuidByte3, + + MSEFallVerticalSpeed, + MSEFallCosAngle, + MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallTime, + + MSETransportTime3, + MSETransportGuidByte1, + MSETransportTime2, + MSETransportOrientation, + MSETransportGuidByte0, + MSETransportSeat, + MSETransportGuidByte4, + MSETransportGuidByte6, + MSETransportGuidByte3, + MSETransportGuidByte5, + MSETransportPositionY, + MSETransportPositionX, + MSETransportGuidByte2, + MSETransportPositionZ, + MSETransportGuidByte7, + MSETransportTime, + + MSETimestamp, + MSESplineElevation, + MSEPitch, + MSEOrientation, + + MSEEnd, +}; + +// 4.3.4 +MovementStatusElements DismissControlledVehicle[] = +{ + MSEPositionY, + MSEPositionZ, + MSEPositionX, + MSEHasSplineElevation, + MSEHasFallData, + MSEHasTransportData, + MSEHasGuidByte4, + MSEHasGuidByte7, + MSEHasMovementFlags2, + MSEHasGuidByte2, + MSEHasOrientation, + MSEHasGuidByte0, + MSEHasGuidByte6, + MSEHasPitch, + MSEHasTimestamp, + MSEHasGuidByte1, + MSEZeroBit, + MSEHasSpline, + MSEHasGuidByte3, + MSEHasMovementFlags, + MSEHasGuidByte5, + + MSEHasTransportGuidByte5, + MSEHasTransportTime3, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte6, + MSEHasTransportTime2, + + MSEMovementFlags2, + MSEHasFallDirection, + MSEMovementFlags, + + MSEGuidByte6, + MSEGuidByte3, + MSEGuidByte1, + MSEGuidByte5, + MSEGuidByte2, + MSEGuidByte4, + MSEGuidByte7, + MSEGuidByte0, + + MSETimestamp, + + MSETransportTime3, + MSETransportGuidByte4, + MSETransportGuidByte7, + MSETransportTime2, + MSETransportGuidByte6, + MSETransportTime, + MSETransportPositionZ, + MSETransportGuidByte0, + MSETransportPositionX, + MSETransportGuidByte3, + MSETransportSeat, + MSETransportPositionY, + MSETransportOrientation, + MSETransportGuidByte1, + MSETransportGuidByte5, + MSETransportGuidByte2, + + MSEFallTime, + MSEFallHorizontalSpeed, + MSEFallSinAngle, + MSEFallCosAngle, + MSEFallVerticalSpeed, + + MSEOrientation, + MSESplineElevation, + MSEPitch, + MSEEnd, +}; + +// 4.3.4 +MovementStatusElements MoveUpdateTeleport[] = +{ + MSEPositionZ, + MSEPositionY, + MSEPositionX, + MSEHasOrientation, + + MSEHasSpline, + MSEHasMovementFlags, + MSEHasGuidByte2, + MSEHasGuidByte4, + MSEHasGuidByte6, + MSEHasFallData, + MSEHasGuidByte0, + MSEHasTransportData, + MSEHasGuidByte5, + + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte0, + MSEHasTransportTime2, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte6, + MSEHasTransportTime3, + MSEHasTransportGuidByte2, + + MSEZeroBit, + + MSEHasGuidByte7, + MSEHasGuidByte3, + MSEHasPitch, + MSEHasMovementFlags2, + MSEHasTimestamp, + + MSEHasFallDirection, + MSEMovementFlags2, + MSEHasSplineElevation, + MSEMovementFlags, + MSEHasGuidByte1, + + MSEGuidByte7, + MSETransportGuidByte3, + MSETransportGuidByte4, + MSETransportOrientation, + MSETransportTime3, + MSETransportGuidByte1, + MSETransportTime2, + MSETransportPositionZ, + MSETransportGuidByte7, + MSETransportGuidByte0, + MSETransportGuidByte6, + MSETransportGuidByte5, + MSETransportGuidByte2, + MSETransportSeat, + MSETransportTime, + MSETransportPositionY, + MSETransportPositionX, + + MSEGuidByte6, + MSEPitch, + MSESplineElevation, + MSEOrientation, + MSEGuidByte2, + MSEGuidByte3, + MSEGuidByte1, + + MSEFallTime, + MSEFallHorizontalSpeed, + MSEFallSinAngle, + MSEFallCosAngle, + MSEFallVerticalSpeed, + + MSEGuidByte5, + MSEGuidByte4, + MSETimestamp, + MSEGuidByte0, + + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementSetRunMode[] = +{ + MSEPositionY, + MSEPositionX, + MSEPositionZ, + MSEHasTimestamp, + MSEHasMovementFlags2, + MSEHasGuidByte1, + MSEHasSpline, + MSEHasMovementFlags, + MSEHasGuidByte7, + MSEHasTransportData, + MSEZeroBit, + MSEHasGuidByte0, + MSEHasGuidByte3, + MSEHasSplineElevation, + MSEHasGuidByte5, + MSEHasPitch, + MSEHasGuidByte6, + MSEHasGuidByte4, + MSEHasFallData, + MSEHasOrientation, + MSEHasGuidByte2, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte4, + MSEHasTransportTime3, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte1, + MSEHasTransportTime2, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte2, + MSEHasFallDirection, + MSEMovementFlags2, + MSEMovementFlags, + MSEGuidByte3, + MSEGuidByte6, + MSEGuidByte0, + MSEGuidByte7, + MSEGuidByte4, + MSEGuidByte1, + MSEGuidByte5, + MSEGuidByte2, + MSEPitch, + MSETransportTime2, + MSETransportGuidByte3, + MSETransportPositionX, + MSETransportSeat, + MSETransportGuidByte5, + MSETransportGuidByte1, + MSETransportPositionZ, + MSETransportGuidByte2, + MSETransportGuidByte7, + MSETransportOrientation, + MSETransportGuidByte4, + MSETransportTime, + MSETransportTime3, + MSETransportGuidByte0, + MSETransportPositionY, + MSETransportGuidByte6, + MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallCosAngle, + MSEFallTime, + MSEFallVerticalSpeed, + MSESplineElevation, + MSETimestamp, + MSEOrientation, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementSetWalkMode[] = +{ + MSEPositionY, + MSEPositionX, + MSEPositionZ, + MSEHasGuidByte6, + MSEHasSpline, + MSEHasTimestamp, + MSEHasGuidByte0, + MSEHasGuidByte1, + MSEHasMovementFlags, + MSEHasPitch, + MSEHasGuidByte7, + MSEHasSplineElevation, + MSEHasGuidByte4, + MSEHasOrientation, + MSEHasTransportData, + MSEHasGuidByte2, + MSEHasGuidByte5, + MSEHasGuidByte3, + MSEZeroBit, + MSEHasMovementFlags2, + MSEHasFallData, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte3, + MSEHasTransportTime2, + MSEHasTransportGuidByte5, + MSEHasTransportTime3, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte7, + MSEHasFallDirection, + MSEMovementFlags, + MSEMovementFlags2, + MSEGuidByte5, + MSEGuidByte6, + MSEGuidByte4, + MSEGuidByte7, + MSEGuidByte3, + MSEGuidByte0, + MSEGuidByte2, + MSEGuidByte1, + MSETransportGuidByte2, + MSETransportGuidByte5, + MSETransportSeat, + MSETransportPositionZ, + MSETransportGuidByte3, + MSETransportGuidByte6, + MSETransportGuidByte0, + MSETransportTime, + MSETransportGuidByte4, + MSETransportTime2, + MSETransportOrientation, + MSETransportPositionX, + MSETransportTime3, + MSETransportGuidByte7, + MSETransportPositionY, + MSETransportGuidByte1, + MSEFallCosAngle, + MSEFallHorizontalSpeed, + MSEFallSinAngle, + MSEFallVerticalSpeed, + MSEFallTime, + MSESplineElevation, + MSEPitch, + MSETimestamp, + MSEOrientation, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementSetCanFly[] = +{ + MSEPositionZ, + MSEPositionX, + MSEPositionY, + MSEHasTransportData, + MSEHasGuidByte1, + MSEHasGuidByte6, + MSEHasGuidByte4, + MSEHasGuidByte2, + MSEHasFallData, + MSEHasGuidByte0, + MSEHasMovementFlags, + MSEHasGuidByte3, + MSEHasMovementFlags2, + MSEHasGuidByte5, + MSEHasTimestamp, + MSEHasSplineElevation, + MSEHasSpline, + MSEHasOrientation, + MSEHasGuidByte7, + MSEZeroBit, + MSEHasPitch, + MSEHasTransportGuidByte3, + MSEHasTransportTime2, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte4, + MSEHasTransportTime3, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte5, + MSEMovementFlags2, + MSEHasFallDirection, + MSEMovementFlags, + MSEGuidByte2, + MSEGuidByte0, + MSEGuidByte4, + MSEGuidByte7, + MSEGuidByte5, + MSEGuidByte1, + MSEGuidByte3, + MSEGuidByte6, + MSETransportPositionZ, + MSETransportGuidByte3, + MSETransportGuidByte5, + MSETransportGuidByte4, + MSETransportSeat, + MSETransportPositionX, + MSETransportGuidByte2, + MSETransportTime2, + MSETransportPositionY, + MSETransportGuidByte1, + MSETransportTime, + MSETransportGuidByte7, + MSETransportGuidByte0, + MSETransportOrientation, + MSETransportGuidByte6, + MSETransportTime3, + MSESplineElevation, + MSEFallCosAngle, + MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallVerticalSpeed, + MSEFallTime, + MSEPitch, + MSETimestamp, + MSEOrientation, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementSetCanTransitionBetweenSwimAndFlyAck[] = +{ + MSEPositionZ, + MSEPositionY, + MSECounter, + MSEPositionX, + MSEHasGuidByte3, + MSEHasOrientation, + MSEHasTransportData, + MSEHasMovementFlags, + MSEHasMovementFlags2, + MSEHasSplineElevation, + MSEHasTimestamp, + MSEHasSpline, + MSEZeroBit, + MSEHasFallData, + MSEHasGuidByte5, + MSEHasGuidByte0, + MSEHasGuidByte1, + MSEHasGuidByte4, + MSEHasGuidByte6, + MSEHasGuidByte2, + MSEHasPitch, + MSEHasGuidByte7, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte2, + MSEHasTransportTime2, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte5, + MSEHasTransportTime3, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte1, + MSEMovementFlags2, + MSEHasFallDirection, + MSEMovementFlags, + MSEGuidByte3, + MSEGuidByte2, + MSEGuidByte0, + MSEGuidByte4, + MSEGuidByte1, + MSEGuidByte5, + MSEGuidByte7, + MSEGuidByte6, + MSEFallTime, + MSEFallHorizontalSpeed, + MSEFallSinAngle, + MSEFallCosAngle, + MSEFallVerticalSpeed, + MSETransportPositionY, + MSETransportPositionZ, + MSETransportGuidByte5, + MSETransportGuidByte1, + MSETransportGuidByte4, + MSETransportTime, + MSETransportSeat, + MSETransportGuidByte3, + MSETransportGuidByte0, + MSETransportGuidByte2, + MSETransportGuidByte7, + MSETransportPositionX, + MSETransportTime2, + MSETransportGuidByte6, + MSETransportOrientation, + MSETransportTime3, + MSEPitch, + MSEOrientation, + MSETimestamp, + MSESplineElevation, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementUpdateSwimSpeed[] = +{ + MSEHasMovementFlags, + MSEHasGuidByte2, + MSEMovementFlags, + MSEHasGuidByte3, + MSEZeroBit, + MSEHasGuidByte7, + MSEHasFallDirection, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte7, + MSEHasGuidByte6, + MSEHasGuidByte0, + MSEHasGuidByte4, + MSEHasGuidByte5, + MSEHasOrientation, + MSEHasGuidByte1, + MSETransportGuidByte2, + MSETransportPositionX, + MSETransportGuidByte6, + MSETransportOrientation, + MSETransportGuidByte0, + MSETransportGuidByte4, + MSETransportPositionY, + MSETransportTime, + MSETransportGuidByte1, + MSETransportGuidByte7, + MSETransportPositionZ, + MSETransportSeat, + MSETransportGuidByte3, + MSETransportGuidByte5, + MSEPositionX, + MSEFallCosAngle, + MSEFallHorizontalSpeed, + MSEFallSinAngle, + MSEFallTime, + MSEFallVerticalSpeed, + MSEGuidByte7, + MSETimestamp, + MSEPositionY, + MSEPositionZ, + MSEExtraElement, + MSEGuidByte4, + MSEOrientation, + MSEGuidByte2, + MSEGuidByte3, + MSEGuidByte0, + MSEGuidByte6, + MSEGuidByte1, + MSEGuidByte5, + MSEPitch, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementUpdateRunSpeed[] = +{ + MSEPositionZ, + MSEPositionX, + MSEPositionY, + MSEExtraElement, + MSEHasGuidByte6, + MSEHasGuidByte2, + MSEHasGuidByte5, + MSEHasMovementFlags, + MSEHasGuidByte1, + MSEHasGuidByte3, + MSEMovementFlags, + MSEHasGuidByte7, + MSEHasGuidByte0, + MSEHasOrientation, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte0, + MSEHasFallDirection, + MSEHasGuidByte4, + MSEZeroBit, + MSETransportGuidByte4, + MSETransportGuidByte5, + MSETransportPositionX, + MSETransportOrientation, + MSETransportGuidByte1, + MSETransportGuidByte0, + MSETransportGuidByte6, + MSETransportTime, + MSETransportGuidByte7, + MSETransportSeat, + MSETransportPositionY, + MSETransportGuidByte3, + MSETransportGuidByte2, + MSETransportPositionZ, + MSETimestamp, + MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallCosAngle, + MSEFallVerticalSpeed, + MSEFallTime, + MSEPitch, + MSEGuidByte6, + MSEGuidByte5, + MSEGuidByte7, + MSEGuidByte4, + MSEOrientation, + MSEGuidByte0, + MSEGuidByte3, + MSEGuidByte2, + MSEGuidByte1, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementUpdateFlightSpeed[] = +{ + MSEPositionY, + MSEExtraElement, + MSEPositionX, + MSEPositionZ, + MSEHasMovementFlags, + MSEHasGuidByte4, + MSEZeroBit, + MSEHasGuidByte5, + MSEHasGuidByte1, + MSEMovementFlags, + MSEHasGuidByte2, + MSEHasOrientation, + MSEHasGuidByte7, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte7, + MSEHasGuidByte6, + MSEHasGuidByte3, + MSEHasFallDirection, + MSEHasGuidByte0, + MSEPitch, + MSEGuidByte0, + MSEGuidByte5, + MSETransportOrientation, + MSETransportTime, + MSETransportGuidByte5, + MSETransportGuidByte4, + MSETransportGuidByte6, + MSETransportPositionZ, + MSETransportGuidByte7, + MSETransportGuidByte0, + MSETransportGuidByte2, + MSETransportGuidByte3, + MSETransportPositionY, + MSETransportGuidByte1, + MSETransportSeat, + MSETransportPositionX, + MSEFallCosAngle, + MSEFallHorizontalSpeed, + MSEFallSinAngle, + MSEFallVerticalSpeed, + MSEFallTime, + MSEGuidByte1, + MSEGuidByte6, + MSETimestamp, + MSEGuidByte7, + MSEGuidByte2, + MSEGuidByte4, + MSEOrientation, + MSEGuidByte3, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementUpdateCollisionHeight[] = +{ + MSEPositionZ, + MSEExtraElement, + MSEPositionX, + MSEPositionY, + MSEHasGuidByte6, + MSEHasGuidByte7, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte2, + MSEHasGuidByte3, + MSEHasOrientation, + MSEHasGuidByte4, + MSEHasGuidByte5, + MSEHasGuidByte0, + MSEZeroBit, + MSEHasGuidByte2, + MSEHasMovementFlags, + MSEHasFallDirection, + MSEHasGuidByte1, + MSEMovementFlags, + MSEGuidByte3, + MSETransportGuidByte7, + MSETransportTime, + MSETransportGuidByte4, + MSETransportGuidByte5, + MSETransportOrientation, + MSETransportPositionX, + MSETransportGuidByte6, + MSETransportGuidByte0, + MSETransportPositionY, + MSETransportGuidByte2, + MSETransportPositionZ, + MSETransportGuidByte3, + MSETransportGuidByte1, + MSETransportSeat, + MSEPitch, + MSEGuidByte6, + MSEFallCosAngle, + MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallVerticalSpeed, + MSEFallTime, + MSEGuidByte7, + MSEOrientation, + MSEGuidByte0, + MSEGuidByte5, + MSEGuidByte4, + MSETimestamp, + MSEGuidByte2, + MSEGuidByte1, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementForceRunSpeedChangeAck[] = +{ + MSECounter, + MSEPositionX, + MSEExtraElement, + MSEPositionZ, + MSEPositionY, + MSEHasGuidByte2, + MSEHasGuidByte4, + MSEHasGuidByte1, + MSEHasGuidByte7, + MSEHasOrientation, + MSEHasFallData, + MSEHasGuidByte0, + MSEHasSpline, + MSEHasTransportData, + MSEHasTimestamp, + MSEHasMovementFlags2, + MSEHasGuidByte6, + MSEZeroBit, + MSEHasSplineElevation, + MSEHasPitch, + MSEHasGuidByte5, + MSEHasMovementFlags, + MSEHasGuidByte3, + MSEHasTransportTime3, + MSEHasTransportGuidByte5, + MSEHasTransportTime2, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte4, + MSEMovementFlags, + MSEHasFallDirection, + MSEMovementFlags2, + MSEGuidByte6, + MSEGuidByte4, + MSEGuidByte1, + MSEGuidByte3, + MSEGuidByte5, + MSEGuidByte2, + MSEGuidByte7, + MSEGuidByte0, + MSETransportPositionZ, + MSETransportGuidByte6, + MSETransportGuidByte1, + MSETransportPositionY, + MSETransportGuidByte0, + MSETransportGuidByte5, + MSETransportTime2, + MSETransportPositionX, + MSETransportTime, + MSETransportGuidByte7, + MSETransportOrientation, + MSETransportGuidByte3, + MSETransportTime3, + MSETransportGuidByte2, + MSETransportSeat, + MSETransportGuidByte4, + MSEFallVerticalSpeed, + MSEFallHorizontalSpeed, + MSEFallCosAngle, + MSEFallSinAngle, + MSEFallTime, + MSESplineElevation, + MSEPitch, + MSETimestamp, + MSEOrientation, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementSetCollisionHeightAck[] = +{ + MSEExtraElement, + MSEPositionX, + MSEPositionZ, + MSECounter, + MSEPositionY, + MSEHasGuidByte6, + MSEHasGuidByte4, + MSEZeroBit, + MSEZeroBit, + MSEHasPitch, + MSEHasGuidByte5, + MSEZeroBit, + MSEHasGuidByte2, + MSEHasGuidByte1, + MSEHasFallData, + MSEHasGuidByte3, + MSEHasSpline, + MSEHasGuidByte7, + MSEHasMovementFlags, + MSEHasTransportData, + MSEHasTimestamp, + MSEHasSplineElevation, + MSEHasMovementFlags2, + MSEHasOrientation, + MSEHasGuidByte0, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte3, + MSEHasTransportTime2, + MSEHasTransportTime3, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte0, + MSEMovementFlags2, + MSEMovementFlags, + MSEHasFallDirection, + MSEGuidByte0, + MSEGuidByte3, + MSEGuidByte1, + MSEGuidByte5, + MSEGuidByte7, + MSEGuidByte6, + MSEGuidByte2, + MSEGuidByte4, + MSETransportPositionX, + MSETransportGuidByte4, + MSETransportTime2, + MSETransportGuidByte0, + MSETransportOrientation, + MSETransportPositionY, + MSETransportGuidByte7, + MSETransportSeat, + MSETransportGuidByte5, + MSETransportGuidByte2, + MSETransportTime, + MSETransportGuidByte6, + MSETransportGuidByte3, + MSETransportGuidByte1, + MSETransportTime3, + MSETransportPositionZ, + MSEFallVerticalSpeed, + MSEFallTime, + MSEFallSinAngle, + MSEFallCosAngle, + MSEFallHorizontalSpeed, + MSETimestamp, + MSESplineElevation, + MSEOrientation, + MSEPitch, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementForceFlightSpeedChangeAck[] = +{ + MSECounter, + MSEPositionZ, + MSEPositionX, + MSEPositionY, + MSEExtraElement, + MSEHasGuidByte4, + MSEHasGuidByte5, + MSEZeroBit, + MSEHasMovementFlags, + MSEHasSplineElevation, + MSEHasGuidByte3, + MSEHasMovementFlags2, + MSEHasGuidByte7, + MSEHasTransportData, + MSEHasGuidByte0, + MSEHasFallData, + MSEHasTimestamp, + MSEHasPitch, + MSEHasSpline, + MSEHasOrientation, + MSEHasGuidByte6, + MSEHasGuidByte2, + MSEHasGuidByte1, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte7, + MSEHasTransportTime2, + MSEHasTransportGuidByte0, + MSEHasTransportTime3, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte4, + MSEHasFallDirection, + MSEMovementFlags2, + MSEMovementFlags, + MSEGuidByte5, + MSEGuidByte6, + MSEGuidByte1, + MSEGuidByte7, + MSEGuidByte3, + MSEGuidByte0, + MSEGuidByte2, + MSEGuidByte4, + MSETransportGuidByte6, + MSETransportGuidByte0, + MSETransportSeat, + MSETransportTime2, + MSETransportOrientation, + MSETransportGuidByte1, + MSETransportGuidByte5, + MSETransportTime3, + MSETransportGuidByte2, + MSETransportPositionZ, + MSETransportGuidByte7, + MSETransportGuidByte3, + MSETransportGuidByte4, + MSETransportPositionX, + MSETransportTime, + MSETransportPositionY, + MSETimestamp, + MSESplineElevation, + MSEFallCosAngle, + MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallTime, + MSEFallVerticalSpeed, + MSEPitch, + MSEOrientation, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementSetCanFlyAck[] = +{ + MSEPositionY, + MSECounter, + MSEPositionX, + MSEPositionZ, + MSEHasGuidByte3, + MSEHasTimestamp, + MSEHasGuidByte4, + MSEHasGuidByte0, + MSEHasOrientation, + MSEHasFallData, + MSEHasGuidByte2, + MSEHasGuidByte5, + MSEHasSplineElevation, + MSEHasMovementFlags2, + MSEZeroBit, + MSEHasGuidByte7, + MSEHasSpline, + MSEHasGuidByte6, + MSEHasGuidByte1, + MSEHasMovementFlags, + MSEHasTransportData, + MSEHasPitch, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte2, + MSEHasTransportTime3, + MSEHasTransportTime2, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte6, + MSEMovementFlags2, + MSEMovementFlags, + MSEHasFallDirection, + MSEGuidByte1, + MSEGuidByte0, + MSEGuidByte2, + MSEGuidByte3, + MSEGuidByte7, + MSEGuidByte6, + MSEGuidByte4, + MSEGuidByte5, + MSETransportTime2, + MSETransportGuidByte6, + MSETransportTime, + MSETransportTime3, + MSETransportGuidByte7, + MSETransportPositionZ, + MSETransportGuidByte3, + MSETransportPositionY, + MSETransportGuidByte5, + MSETransportPositionX, + MSETransportGuidByte2, + MSETransportOrientation, + MSETransportSeat, + MSETransportGuidByte1, + MSETransportGuidByte0, + MSETransportGuidByte4, + MSEFallTime, + MSEFallCosAngle, + MSEFallHorizontalSpeed, + MSEFallSinAngle, + MSEFallVerticalSpeed, + MSEPitch, + MSEOrientation, + MSETimestamp, + MSESplineElevation, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementForceSwimSpeedChangeAck[] = +{ + MSEPositionX, + MSECounter, + MSEExtraElement, + MSEPositionY, + MSEPositionZ, + MSEHasGuidByte4, + MSEHasOrientation, + MSEHasPitch, + MSEHasTransportData, + MSEHasMovementFlags, + MSEHasMovementFlags2, + MSEHasGuidByte1, + MSEHasGuidByte3, + MSEHasFallData, + MSEHasGuidByte2, + MSEHasGuidByte7, + MSEHasTimestamp, + MSEZeroBit, + MSEHasGuidByte5, + MSEHasGuidByte6, + MSEHasSplineElevation, + MSEHasSpline, + MSEHasGuidByte0, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte3, + MSEHasTransportTime2, + MSEHasTransportTime3, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte2, + MSEMovementFlags2, + MSEHasFallDirection, + MSEMovementFlags, + MSEGuidByte2, + MSEGuidByte0, + MSEGuidByte6, + MSEGuidByte5, + MSEGuidByte1, + MSEGuidByte3, + MSEGuidByte4, + MSEGuidByte7, + MSETransportGuidByte0, + MSETransportTime3, + MSETransportTime2, + MSETransportPositionX, + MSETransportGuidByte7, + MSETransportSeat, + MSETransportPositionY, + MSETransportGuidByte5, + MSETransportPositionZ, + MSETransportOrientation, + MSETransportTime, + MSETransportGuidByte2, + MSETransportGuidByte6, + MSETransportGuidByte3, + MSETransportGuidByte1, + MSETransportGuidByte4, + MSEFallTime, + MSEFallCosAngle, + MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallVerticalSpeed, + MSEOrientation, + MSEPitch, + MSESplineElevation, + MSETimestamp, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementForceWalkSpeedChangeAck[] = +{ + MSEPositionZ, + MSEPositionY, + MSEExtraElement, + MSEPositionX, + MSECounter, + MSEHasGuidByte0, + MSEHasMovementFlags2, + MSEHasTimestamp, + MSEHasGuidByte4, + MSEHasGuidByte5, + MSEHasGuidByte2, + MSEHasMovementFlags, + MSEHasFallData, + MSEHasOrientation, + MSEHasSpline, + MSEZeroBit, + MSEHasGuidByte3, + MSEHasGuidByte1, + MSEHasSplineElevation, + MSEHasTransportData, + MSEHasGuidByte7, + MSEHasGuidByte6, + MSEHasPitch, + MSEHasTransportTime2, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte6, + MSEHasTransportTime3, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte3, + MSEMovementFlags, + MSEMovementFlags2, + MSEHasFallDirection, + MSEGuidByte5, + MSEGuidByte6, + MSEGuidByte7, + MSEGuidByte2, + MSEGuidByte1, + MSEGuidByte3, + MSEGuidByte4, + MSEGuidByte0, + MSEFallVerticalSpeed, + MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallCosAngle, + MSEFallTime, + MSETransportPositionZ, + MSETransportGuidByte7, + MSETransportGuidByte5, + MSETransportPositionX, + MSETransportGuidByte0, + MSETransportTime, + MSETransportTime3, + MSETransportPositionY, + MSETransportGuidByte2, + MSETransportGuidByte4, + MSETransportGuidByte1, + MSETransportGuidByte3, + MSETransportOrientation, + MSETransportSeat, + MSETransportGuidByte6, + MSETransportTime2, + MSESplineElevation, + MSETimestamp, + MSEOrientation, + MSEPitch, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementForceRunBackSpeedChangeAck[] = +{ + MSEExtraElement, + MSECounter, + MSEPositionX, + MSEPositionZ, + MSEPositionY, + MSEHasGuidByte2, + MSEHasGuidByte4, + MSEHasTimestamp, + MSEHasTransportData, + MSEHasGuidByte1, + MSEHasGuidByte0, + MSEHasGuidByte5, + MSEHasGuidByte3, + MSEHasOrientation, + MSEHasFallData, + MSEHasMovementFlags2, + MSEHasMovementFlags, + MSEHasGuidByte7, + MSEHasSpline, + MSEHasPitch, + MSEHasGuidByte6, + MSEHasSplineElevation, + MSEZeroBit, + MSEHasTransportGuidByte3, + MSEHasTransportTime2, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte1, + MSEHasTransportTime3, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte5, + MSEMovementFlags, + MSEMovementFlags2, + MSEHasFallDirection, + MSEGuidByte0, + MSEGuidByte7, + MSEGuidByte2, + MSEGuidByte4, + MSEGuidByte3, + MSEGuidByte6, + MSEGuidByte5, + MSEGuidByte1, + MSEFallTime, + MSEFallHorizontalSpeed, + MSEFallCosAngle, + MSEFallSinAngle, + MSEFallVerticalSpeed, + MSETransportGuidByte5, + MSETransportSeat, + MSETransportGuidByte6, + MSETransportGuidByte1, + MSETransportGuidByte0, + MSETransportGuidByte2, + MSETransportPositionY, + MSETransportTime3, + MSETransportPositionX, + MSETransportOrientation, + MSETransportGuidByte3, + MSETransportTime, + MSETransportTime2, + MSETransportGuidByte4, + MSETransportPositionZ, + MSETransportGuidByte7, + MSETimestamp, + MSESplineElevation, + MSEOrientation, + MSEPitch, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementUpdateRunBackSpeed[] = +{ + MSEHasGuidByte1, + MSEHasGuidByte2, + MSEHasGuidByte4, + MSEHasGuidByte3, + MSEHasGuidByte6, + MSEHasGuidByte0, + MSEZeroBit, + MSEHasMovementFlags, + MSEHasGuidByte5, + MSEHasOrientation, + MSEMovementFlags, + MSEHasFallDirection, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte0, + MSEHasGuidByte7, + MSETransportPositionX, + MSETransportGuidByte2, + MSETransportGuidByte5, + MSETransportGuidByte4, + MSETransportGuidByte6, + MSETransportGuidByte0, + MSETransportGuidByte3, + MSETransportPositionY, + MSETransportGuidByte7, + MSETransportPositionZ, + MSETransportTime, + MSETransportSeat, + MSETransportGuidByte1, + MSETransportOrientation, + MSEGuidByte4, + MSEFallTime, + MSEFallHorizontalSpeed, + MSEFallCosAngle, + MSEFallSinAngle, + MSEFallVerticalSpeed, + MSETimestamp, + MSEGuidByte1, + MSEOrientation, + MSEGuidByte0, + MSEGuidByte5, + MSEGuidByte3, + MSEPositionX, + MSEPositionY, + MSEPitch, + MSEGuidByte7, + MSEExtraElement, + MSEGuidByte2, + MSEGuidByte6, + MSEPositionZ, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementUpdateWalkSpeed[] = +{ + MSEHasOrientation, + MSEZeroBit, + MSEHasGuidByte3, + MSEHasGuidByte2, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte5, + MSEHasGuidByte7, + MSEHasGuidByte5, + MSEHasGuidByte1, + MSEHasGuidByte0, + MSEHasMovementFlags, + MSEHasGuidByte6, + MSEHasFallDirection, + MSEMovementFlags, + MSEHasGuidByte4, + MSEPitch, + MSETransportGuidByte6, + MSETransportGuidByte0, + MSETransportGuidByte4, + MSETransportGuidByte2, + MSETransportPositionX, + MSETransportGuidByte7, + MSETransportTime, + MSETransportPositionZ, + MSETransportSeat, + MSETransportGuidByte5, + MSETransportOrientation, + MSETransportGuidByte1, + MSETransportPositionY, + MSETransportGuidByte3, + MSEFallVerticalSpeed, + MSEFallHorizontalSpeed, + MSEFallCosAngle, + MSEFallSinAngle, + MSEFallTime, + MSEGuidByte1, + MSEGuidByte4, + MSEGuidByte2, + MSEGuidByte6, + MSEGuidByte7, + MSETimestamp, + MSEOrientation, + MSEPositionY, + MSEGuidByte0, + MSEPositionZ, + MSEPositionX, + MSEGuidByte3, + MSEGuidByte5, + MSEExtraElement, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements ForceMoveRootAck[] = +{ + MSEPositionY, + MSEPositionZ, + MSECounter, + MSEPositionX, + MSEHasGuidByte3, + MSEHasTimestamp, + MSEHasTransportData, + MSEHasPitch, + MSEHasGuidByte2, + MSEHasOrientation, + MSEHasSplineElevation, + MSEHasFallData, + MSEHasSpline, + MSEHasGuidByte4, + MSEHasGuidByte0, + MSEHasGuidByte6, + MSEHasGuidByte1, + MSEHasGuidByte7, + MSEHasMovementFlags2, + MSEHasMovementFlags, + MSEZeroBit, + MSEHasGuidByte5, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte2, + MSEHasTransportTime2, + MSEHasTransportGuidByte4, + MSEHasTransportTime3, + MSEHasTransportGuidByte5, + MSEMovementFlags2, + MSEMovementFlags, + MSEHasFallDirection, + MSEGuidByte5, + MSEGuidByte3, + MSEGuidByte1, + MSEGuidByte7, + MSEGuidByte4, + MSEGuidByte0, + MSEGuidByte6, + MSEGuidByte2, + MSETransportGuidByte5, + MSETransportGuidByte4, + MSETransportOrientation, + MSETransportPositionZ, + MSETransportTime3, + MSETransportTime2, + MSETransportGuidByte7, + MSETransportGuidByte2, + MSETransportGuidByte0, + MSETransportTime, + MSETransportGuidByte6, + MSETransportGuidByte3, + MSETransportPositionX, + MSETransportGuidByte1, + MSETransportPositionY, + MSETransportSeat, + MSETimestamp, + MSEFallVerticalSpeed, + MSEFallHorizontalSpeed, + MSEFallSinAngle, + MSEFallCosAngle, + MSEFallTime, + MSEOrientation, + MSESplineElevation, + MSEPitch, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements ForceMoveUnrootAck[] = +{ + MSECounter, + MSEPositionZ, + MSEPositionY, + MSEPositionX, + MSEHasGuidByte7, + MSEHasSplineElevation, + MSEHasSpline, + MSEHasGuidByte5, + MSEHasGuidByte4, + MSEZeroBit, + MSEHasTimestamp, + MSEHasMovementFlags, + MSEHasOrientation, + MSEHasPitch, + MSEHasGuidByte3, + MSEHasGuidByte1, + MSEHasTransportData, + MSEHasMovementFlags2, + MSEHasGuidByte2, + MSEHasGuidByte0, + MSEHasFallData, + MSEHasGuidByte6, + MSEHasFallDirection, + MSEHasTransportGuidByte0, + MSEHasTransportTime3, + MSEHasTransportGuidByte6, + MSEHasTransportTime2, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte1, + MSEMovementFlags2, + MSEMovementFlags, + MSEGuidByte7, + MSEGuidByte1, + MSEGuidByte0, + MSEGuidByte6, + MSEGuidByte2, + MSEGuidByte4, + MSEGuidByte5, + MSEGuidByte3, + MSETransportGuidByte6, + MSETransportPositionZ, + MSETransportGuidByte2, + MSETransportGuidByte3, + MSETransportPositionY, + MSETransportTime3, + MSETransportGuidByte5, + MSETransportSeat, + MSETransportGuidByte0, + MSETransportTime, + MSETransportTime2, + MSETransportGuidByte4, + MSETransportOrientation, + MSETransportPositionX, + MSETransportGuidByte1, + MSETransportGuidByte7, + MSEFallCosAngle, + MSEFallHorizontalSpeed, + MSEFallSinAngle, + MSEFallVerticalSpeed, + MSEFallTime, + MSETimestamp, + MSESplineElevation, + MSEOrientation, + MSEPitch, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementFallReset[] = +{ + MSEPositionZ, + MSEPositionX, + MSEPositionY, + MSEHasGuidByte1, + MSEHasTimestamp, + MSEHasMovementFlags, + MSEZeroBit, + MSEHasGuidByte6, + MSEHasSplineElevation, + MSEHasPitch, + MSEHasGuidByte3, + MSEHasTransportData, + MSEHasGuidByte2, + MSEHasMovementFlags2, + MSEHasOrientation, + MSEHasGuidByte4, + MSEHasGuidByte5, + MSEHasSpline, + MSEHasGuidByte7, + MSEHasGuidByte0, + MSEHasFallData, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte4, + MSEHasTransportTime2, + MSEHasTransportGuidByte2, + MSEHasTransportTime3, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte3, + MSEHasFallDirection, + MSEMovementFlags2, + MSEMovementFlags, + MSEGuidByte4, + MSEGuidByte0, + MSEGuidByte1, + MSEGuidByte7, + MSEGuidByte5, + MSEGuidByte2, + MSEGuidByte3, + MSEGuidByte6, + MSETransportPositionX, + MSETransportGuidByte7, + MSETransportGuidByte2, + MSETransportGuidByte3, + MSETransportGuidByte5, + MSETransportPositionY, + MSETransportPositionZ, + MSETransportSeat, + MSETransportTime2, + MSETransportGuidByte6, + MSETransportTime3, + MSETransportTime, + MSETransportGuidByte0, + MSETransportOrientation, + MSETransportGuidByte4, + MSETransportGuidByte1, + MSEFallVerticalSpeed, + MSEFallCosAngle, + MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallTime, + MSEOrientation, + MSETimestamp, + MSESplineElevation, + MSEPitch, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementFeatherFallAck[] = +{ + MSEPositionZ, + MSECounter, + MSEPositionY, + MSEPositionX, + MSEZeroBit, + MSEHasGuidByte3, + MSEHasSplineElevation, + MSEHasGuidByte1, + MSEHasPitch, + MSEHasGuidByte2, + MSEHasSpline, + MSEHasTimestamp, + MSEHasGuidByte5, + MSEHasFallData, + MSEHasOrientation, + MSEHasTransportData, + MSEHasGuidByte7, + MSEHasMovementFlags2, + MSEHasGuidByte6, + MSEHasMovementFlags, + MSEHasGuidByte0, + MSEHasGuidByte4, + MSEHasTransportGuidByte6, + MSEHasTransportTime3, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte5, + MSEHasTransportTime2, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte0, + MSEHasFallDirection, + MSEMovementFlags2, + MSEMovementFlags, + MSEGuidByte6, + MSEGuidByte1, + MSEGuidByte7, + MSEGuidByte0, + MSEGuidByte5, + MSEGuidByte4, + MSEGuidByte3, + MSEGuidByte2, + MSETransportTime3, + MSETransportOrientation, + MSETransportPositionZ, + MSETransportGuidByte7, + MSETransportGuidByte5, + MSETransportGuidByte2, + MSETransportPositionX, + MSETransportGuidByte1, + MSETransportGuidByte6, + MSETransportTime2, + MSETransportTime, + MSETransportPositionY, + MSETransportGuidByte4, + MSETransportGuidByte0, + MSETransportSeat, + MSETransportGuidByte3, + MSETimestamp, + MSESplineElevation, + MSEOrientation, + MSEFallVerticalSpeed, + MSEFallCosAngle, + MSEFallHorizontalSpeed, + MSEFallSinAngle, + MSEFallTime, + MSEPitch, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementGravityDisableAck[] = +{ + MSEPositionZ, + MSEPositionY, + MSECounter, + MSEPositionX, + MSEHasGuidByte3, + MSEHasTransportData, + MSEHasGuidByte4, + MSEHasGuidByte5, + MSEHasMovementFlags, + MSEHasOrientation, + MSEHasSpline, + MSEHasGuidByte6, + MSEHasGuidByte0, + MSEHasGuidByte7, + MSEHasSplineElevation, + MSEHasTimestamp, + MSEHasPitch, + MSEHasMovementFlags2, + MSEZeroBit, + MSEHasGuidByte2, + MSEHasFallData, + MSEHasGuidByte1, + MSEHasTransportGuidByte2, + MSEHasTransportTime3, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte4, + MSEHasTransportTime2, + MSEMovementFlags, + MSEMovementFlags2, + MSEHasFallDirection, + MSEGuidByte0, + MSEGuidByte2, + MSEGuidByte1, + MSEGuidByte3, + MSEGuidByte5, + MSEGuidByte7, + MSEGuidByte4, + MSEGuidByte6, + MSETransportPositionZ, + MSETransportGuidByte2, + MSETransportGuidByte5, + MSETransportGuidByte3, + MSETransportGuidByte4, + MSETransportPositionY, + MSETransportTime, + MSETransportSeat, + MSETransportGuidByte6, + MSETransportGuidByte1, + MSETransportGuidByte0, + MSETransportOrientation, + MSETransportTime2, + MSETransportPositionX, + MSETransportGuidByte7, + MSETransportTime3, + MSEFallCosAngle, + MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallTime, + MSEFallVerticalSpeed, + MSEOrientation, + MSESplineElevation, + MSETimestamp, + MSEPitch, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementGravityEnableAck[] = +{ + MSEPositionZ, + MSEPositionX, + MSECounter, + MSEPositionY, + MSEHasSplineElevation, + MSEHasMovementFlags2, + MSEHasGuidByte6, + MSEHasOrientation, + MSEZeroBit, + MSEHasGuidByte5, + MSEHasSpline, + MSEHasGuidByte3, + MSEHasTransportData, + MSEHasPitch, + MSEHasGuidByte1, + MSEHasTimestamp, + MSEHasGuidByte2, + MSEHasGuidByte4, + MSEHasGuidByte7, + MSEHasMovementFlags, + MSEHasFallData, + MSEHasGuidByte0, + MSEHasTransportTime3, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte5, + MSEHasTransportTime2, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte6, + MSEHasFallDirection, + MSEMovementFlags, + MSEMovementFlags2, + MSEGuidByte5, + MSEGuidByte4, + MSEGuidByte1, + MSEGuidByte7, + MSEGuidByte0, + MSEGuidByte2, + MSEGuidByte3, + MSEGuidByte6, + MSEFallTime, + MSEFallHorizontalSpeed, + MSEFallSinAngle, + MSEFallCosAngle, + MSEFallVerticalSpeed, + MSETransportGuidByte1, + MSETransportPositionX, + MSETransportTime3, + MSETransportOrientation, + MSETransportGuidByte2, + MSETransportGuidByte0, + MSETransportGuidByte7, + MSETransportGuidByte6, + MSETransportSeat, + MSETransportGuidByte3, + MSETransportGuidByte4, + MSETransportPositionZ, + MSETransportTime2, + MSETransportGuidByte5, + MSETransportTime, + MSETransportPositionY, + MSESplineElevation, + MSEOrientation, + MSEPitch, + MSETimestamp, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementHoverAck[] = +{ + MSECounter, + MSEPositionZ, + MSEPositionY, + MSEPositionX, + MSEHasGuidByte4, + MSEHasTransportData, + MSEHasGuidByte2, + MSEHasTimestamp, + MSEHasSpline, + MSEHasMovementFlags, + MSEHasGuidByte1, + MSEHasPitch, + MSEHasGuidByte0, + MSEHasGuidByte6, + MSEHasGuidByte7, + MSEHasGuidByte5, + MSEZeroBit, + MSEHasFallData, + MSEHasMovementFlags2, + MSEHasSplineElevation, + MSEHasOrientation, + MSEHasGuidByte3, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte6, + MSEHasTransportTime3, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte7, + MSEHasTransportTime2, + MSEMovementFlags, + MSEMovementFlags2, + MSEHasFallDirection, + MSEGuidByte1, + MSEGuidByte4, + MSEGuidByte7, + MSEGuidByte2, + MSEGuidByte5, + MSEGuidByte6, + MSEGuidByte3, + MSEGuidByte0, + MSETimestamp, + MSEFallCosAngle, + MSEFallSinAngle, + MSEFallHorizontalSpeed, + MSEFallTime, + MSEFallVerticalSpeed, + MSEOrientation, + MSETransportGuidByte1, + MSETransportTime3, + MSETransportGuidByte2, + MSETransportGuidByte7, + MSETransportGuidByte3, + MSETransportGuidByte4, + MSETransportSeat, + MSETransportPositionX, + MSETransportPositionZ, + MSETransportOrientation, + MSETransportTime, + MSETransportGuidByte0, + MSETransportPositionY, + MSETransportGuidByte5, + MSETransportTime2, + MSETransportGuidByte6, + MSESplineElevation, + MSEPitch, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementKnockBackAck[] = +{ + MSEPositionY, + MSEPositionZ, + MSECounter, + MSEPositionX, + MSEHasGuidByte6, + MSEHasOrientation, + MSEHasPitch, + MSEHasSplineElevation, + MSEHasGuidByte3, + MSEHasGuidByte4, + MSEHasGuidByte1, + MSEHasGuidByte2, + MSEHasSpline, + MSEHasGuidByte7, + MSEZeroBit, + MSEHasMovementFlags2, + MSEHasTimestamp, + MSEHasGuidByte0, + MSEHasMovementFlags, + MSEHasTransportData, + MSEHasGuidByte5, + MSEHasFallData, + MSEMovementFlags, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte1, + MSEHasTransportTime2, + MSEHasTransportGuidByte0, + MSEHasTransportTime3, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte3, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte7, + MSEMovementFlags2, + MSEHasFallDirection, + MSEGuidByte4, + MSEGuidByte5, + MSEGuidByte1, + MSEGuidByte6, + MSEGuidByte0, + MSEGuidByte3, + MSEGuidByte2, + MSEGuidByte7, + MSEFallCosAngle, + MSEFallHorizontalSpeed, + MSEFallSinAngle, + MSEFallTime, + MSEFallVerticalSpeed, + MSETimestamp, + MSETransportPositionY, + MSETransportGuidByte4, + MSETransportTime2, + MSETransportGuidByte7, + MSETransportOrientation, + MSETransportGuidByte6, + MSETransportTime, + MSETransportGuidByte3, + MSETransportGuidByte1, + MSETransportTime3, + MSETransportGuidByte2, + MSETransportPositionZ, + MSETransportGuidByte0, + MSETransportGuidByte5, + MSETransportPositionX, + MSETransportSeat, + MSEPitch, + MSESplineElevation, + MSEOrientation, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementWaterWalkAck[] = +{ + MSEPositionY, + MSEPositionZ, + MSECounter, + MSEPositionX, + MSEHasTimestamp, + MSEHasPitch, + MSEHasGuidByte5, + MSEHasGuidByte0, + MSEHasGuidByte7, + MSEHasOrientation, + MSEHasGuidByte1, + MSEHasMovementFlags2, + MSEHasGuidByte2, + MSEHasMovementFlags, + MSEHasGuidByte3, + MSEHasTransportData, + MSEHasGuidByte6, + MSEHasFallData, + MSEHasGuidByte4, + MSEZeroBit, + MSEHasSplineElevation, + MSEHasSpline, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte5, + MSEHasTransportTime2, + MSEHasTransportGuidByte3, + MSEHasTransportTime3, + MSEHasTransportGuidByte4, + MSEMovementFlags, + MSEHasFallDirection, + MSEMovementFlags2, + MSEGuidByte2, + MSEGuidByte7, + MSEGuidByte3, + MSEGuidByte5, + MSEGuidByte6, + MSEGuidByte0, + MSEGuidByte4, + MSEGuidByte1, + MSETransportPositionX, + MSETransportGuidByte1, + MSETransportTime3, + MSETransportGuidByte0, + MSETransportOrientation, + MSETransportGuidByte7, + MSETransportPositionY, + MSETransportTime2, + MSETransportTime, + MSETransportGuidByte5, + MSETransportSeat, + MSETransportPositionZ, + MSETransportGuidByte3, + MSETransportGuidByte2, + MSETransportGuidByte6, + MSETransportGuidByte4, + MSESplineElevation, + MSEFallCosAngle, + MSEFallHorizontalSpeed, + MSEFallSinAngle, + MSEFallVerticalSpeed, + MSEFallTime, + MSEOrientation, + MSETimestamp, + MSEPitch, + MSEEnd, +}; + +//4.3.4 +MovementStatusElements MovementUpdateKnockBack[] = +{ + MSEZeroBit, + MSEHasGuidByte4, + MSEHasMovementFlags, + MSEHasGuidByte1, + MSEHasGuidByte0, + MSEHasGuidByte3, + MSEHasGuidByte2, + MSEHasGuidByte7, + MSEHasTransportGuidByte7, + MSEHasTransportGuidByte5, + MSEHasTransportGuidByte1, + MSEHasTransportGuidByte6, + MSEHasTransportGuidByte2, + MSEHasTransportGuidByte4, + MSEHasTransportGuidByte0, + MSEHasTransportGuidByte3, + MSEHasGuidByte5, + MSEHasGuidByte6, + MSEMovementFlags, + MSEHasFallDirection, + MSEHasOrientation, + MSEOrientation, + MSEFallCosAngle, + MSEFallHorizontalSpeed, + MSEFallSinAngle, + MSEFallTime, + MSEFallVerticalSpeed, + MSEGuidByte3, + MSETransportGuidByte5, + MSETransportGuidByte7, + MSETransportSeat, + MSETransportGuidByte3, + MSETransportGuidByte6, + MSETransportPositionZ, + MSETransportGuidByte1, + MSETransportPositionY, + MSETransportPositionX, + MSETransportGuidByte2, + MSETransportGuidByte0, + MSETransportOrientation, + MSETransportTime, + MSETransportGuidByte4, + MSEPitch, + MSEPositionZ, + MSETimestamp, + MSEPositionX, + MSEGuidByte4, + MSEGuidByte6, + MSEGuidByte7, + MSEGuidByte2, + MSEGuidByte1, + MSEPositionY, + MSEGuidByte0, + MSEGuidByte5, + MSEEnd, +}; + +MovementStatusElements SplineMoveSetWalkSpeed[] = +{ + MSEHasGuidByte0, + MSEHasGuidByte6, + MSEHasGuidByte7, + MSEHasGuidByte3, + MSEHasGuidByte5, + MSEHasGuidByte1, + MSEHasGuidByte2, + MSEHasGuidByte4, + MSEGuidByte0, + MSEGuidByte4, + MSEGuidByte7, + MSEGuidByte1, + MSEGuidByte5, + MSEGuidByte3, + MSEExtraElement, + MSEGuidByte6, + MSEGuidByte2, + MSEEnd, +}; + +MovementStatusElements SplineMoveSetRunSpeed[] = +{ + MSEHasGuidByte4, + MSEHasGuidByte0, + MSEHasGuidByte5, + MSEHasGuidByte7, + MSEHasGuidByte6, + MSEHasGuidByte3, + MSEHasGuidByte1, + MSEHasGuidByte2, + MSEGuidByte0, + MSEGuidByte7, + MSEGuidByte6, + MSEGuidByte5, + MSEGuidByte3, + MSEGuidByte4, + MSEExtraElement, + MSEGuidByte2, + MSEGuidByte1, + MSEEnd, +}; + +MovementStatusElements SplineMoveSetRunBackSpeed[] = +{ + MSEHasGuidByte1, + MSEHasGuidByte2, + MSEHasGuidByte6, + MSEHasGuidByte0, + MSEHasGuidByte3, + MSEHasGuidByte7, + MSEHasGuidByte5, + MSEHasGuidByte4, + MSEGuidByte1, + MSEExtraElement, + MSEGuidByte2, + MSEGuidByte4, + MSEGuidByte0, + MSEGuidByte3, + MSEGuidByte6, + MSEGuidByte5, + MSEGuidByte7, + MSEEnd, +}; + +MovementStatusElements SplineMoveSetSwimSpeed[] = +{ + MSEHasGuidByte4, + MSEHasGuidByte2, + MSEHasGuidByte5, + MSEHasGuidByte0, + MSEHasGuidByte7, + MSEHasGuidByte6, + MSEHasGuidByte3, + MSEHasGuidByte1, + MSEGuidByte5, + MSEGuidByte6, + MSEGuidByte1, + MSEGuidByte0, + MSEGuidByte2, + MSEGuidByte4, + MSEExtraElement, + MSEGuidByte7, + MSEGuidByte3, + MSEEnd, +}; + +MovementStatusElements SplineMoveSetSwimBackSpeed[] = +{ + MSEHasGuidByte0, + MSEHasGuidByte1, + MSEHasGuidByte3, + MSEHasGuidByte6, + MSEHasGuidByte4, + MSEHasGuidByte5, + MSEHasGuidByte7, + MSEHasGuidByte2, + MSEGuidByte5, + MSEGuidByte3, + MSEGuidByte1, + MSEGuidByte0, + MSEGuidByte7, + MSEGuidByte6, + MSEExtraElement, + MSEGuidByte4, + MSEGuidByte2, + MSEEnd, +}; + +MovementStatusElements SplineMoveSetTurnRate[] = +{ + MSEHasGuidByte2, + MSEHasGuidByte4, + MSEHasGuidByte6, + MSEHasGuidByte1, + MSEHasGuidByte3, + MSEHasGuidByte5, + MSEHasGuidByte7, + MSEHasGuidByte0, + MSEExtraElement, + MSEGuidByte1, + MSEGuidByte5, + MSEGuidByte3, + MSEGuidByte2, + MSEGuidByte7, + MSEGuidByte4, + MSEGuidByte6, + MSEGuidByte0, + MSEEnd, +}; + +MovementStatusElements SplineMoveSetFlightSpeed[] = +{ + MSEHasGuidByte7, + MSEHasGuidByte4, + MSEHasGuidByte0, + MSEHasGuidByte1, + MSEHasGuidByte3, + MSEHasGuidByte6, + MSEHasGuidByte5, + MSEHasGuidByte2, + MSEGuidByte0, + MSEGuidByte5, + MSEGuidByte4, + MSEGuidByte7, + MSEGuidByte3, + MSEGuidByte2, + MSEGuidByte1, + MSEGuidByte6, + MSEExtraElement, + MSEEnd, +}; + +MovementStatusElements SplineMoveSetFlightBackSpeed[] = +{ + MSEHasGuidByte2, + MSEHasGuidByte1, + MSEHasGuidByte6, + MSEHasGuidByte5, + MSEHasGuidByte0, + MSEHasGuidByte3, + MSEHasGuidByte4, + MSEHasGuidByte7, + MSEGuidByte5, + MSEExtraElement, + MSEGuidByte6, + MSEGuidByte1, + MSEGuidByte0, + MSEGuidByte2, + MSEGuidByte3, + MSEGuidByte7, + MSEGuidByte4, + MSEEnd, +}; + +MovementStatusElements SplineMoveSetPitchRate[] = +{ + MSEHasGuidByte3, + MSEHasGuidByte5, + MSEHasGuidByte6, + MSEHasGuidByte1, + MSEHasGuidByte0, + MSEHasGuidByte4, + MSEHasGuidByte7, + MSEHasGuidByte2, + MSEGuidByte1, + MSEGuidByte5, + MSEGuidByte7, + MSEGuidByte0, + MSEGuidByte6, + MSEGuidByte3, + MSEGuidByte2, + MSEExtraElement, + MSEGuidByte4, + MSEEnd, +}; + +MovementStatusElements MoveSetWalkSpeed[] = +{ + MSEHasGuidByte0, + MSEHasGuidByte4, + MSEHasGuidByte5, + MSEHasGuidByte2, + MSEHasGuidByte3, + MSEHasGuidByte1, + MSEHasGuidByte6, + MSEHasGuidByte7, + MSEGuidByte6, + MSEGuidByte1, + MSEGuidByte5, + MSEExtraElement, + MSEGuidByte2, + MSECounter, + MSEGuidByte4, + MSEGuidByte0, + MSEGuidByte7, + MSEGuidByte3, + MSEEnd, +}; + +MovementStatusElements MoveSetRunSpeed[] = +{ + MSEHasGuidByte6, + MSEHasGuidByte1, + MSEHasGuidByte5, + MSEHasGuidByte2, + MSEHasGuidByte7, + MSEHasGuidByte0, + MSEHasGuidByte3, + MSEHasGuidByte4, + MSEGuidByte5, + MSEGuidByte3, + MSEGuidByte1, + MSEGuidByte4, + MSECounter, + MSEExtraElement, + MSEGuidByte6, + MSEGuidByte0, + MSEGuidByte7, + MSEGuidByte2, + MSEEnd, +}; + +MovementStatusElements MoveSetRunBackSpeed[] = +{ + MSEHasGuidByte0, + MSEHasGuidByte6, + MSEHasGuidByte2, + MSEHasGuidByte1, + MSEHasGuidByte3, + MSEHasGuidByte4, + MSEHasGuidByte5, + MSEHasGuidByte7, + MSEGuidByte5, + MSECounter, + MSEExtraElement, + MSEGuidByte0, + MSEGuidByte4, + MSEGuidByte7, + MSEGuidByte3, + MSEGuidByte1, + MSEGuidByte2, + MSEGuidByte6, + MSEEnd, +}; + +MovementStatusElements MoveSetSwimSpeed[] = +{ + MSEHasGuidByte5, + MSEHasGuidByte4, + MSEHasGuidByte7, + MSEHasGuidByte3, + MSEHasGuidByte2, + MSEHasGuidByte0, + MSEHasGuidByte1, + MSEHasGuidByte6, + MSEGuidByte0, + MSECounter, + MSEGuidByte6, + MSEGuidByte3, + MSEGuidByte5, + MSEGuidByte2, + MSEExtraElement, + MSEGuidByte1, + MSEGuidByte7, + MSEGuidByte4, + MSEEnd, +}; + +MovementStatusElements MoveSetSwimBackSpeed[] = +{ + MSEHasGuidByte4, + MSEHasGuidByte2, + MSEHasGuidByte3, + MSEHasGuidByte6, + MSEHasGuidByte5, + MSEHasGuidByte1, + MSEHasGuidByte0, + MSEHasGuidByte7, + MSECounter, + MSEGuidByte0, + MSEGuidByte3, + MSEGuidByte4, + MSEGuidByte6, + MSEGuidByte5, + MSEGuidByte1, + MSEExtraElement, + MSEGuidByte7, + MSEGuidByte2, + MSEEnd, +}; + +MovementStatusElements MoveSetTurnRate[] = +{ + MSEHasGuidByte7, + MSEHasGuidByte2, + MSEHasGuidByte1, + MSEHasGuidByte0, + MSEHasGuidByte4, + MSEHasGuidByte5, + MSEHasGuidByte6, + MSEHasGuidByte3, + MSEGuidByte5, + MSEGuidByte7, + MSEGuidByte2, + MSEExtraElement, + MSEGuidByte3, + MSEGuidByte1, + MSEGuidByte0, + MSECounter, + MSEGuidByte6, + MSEGuidByte4, + MSEEnd, +}; + +MovementStatusElements MoveSetFlightSpeed[] = +{ + MSEHasGuidByte0, + MSEHasGuidByte5, + MSEHasGuidByte1, + MSEHasGuidByte6, + MSEHasGuidByte3, + MSEHasGuidByte2, + MSEHasGuidByte7, + MSEHasGuidByte4, + MSEGuidByte0, + MSEGuidByte1, + MSEGuidByte7, + MSEGuidByte5, + MSEExtraElement, + MSECounter, + MSEGuidByte2, + MSEGuidByte6, + MSEGuidByte3, + MSEGuidByte4, + MSEEnd, +}; + +MovementStatusElements MoveSetFlightBackSpeed[] = +{ + MSEHasGuidByte1, + MSEHasGuidByte2, + MSEHasGuidByte6, + MSEHasGuidByte4, + MSEHasGuidByte7, + MSEHasGuidByte3, + MSEHasGuidByte0, + MSEHasGuidByte5, + MSEGuidByte3, + MSECounter, + MSEGuidByte6, + MSEExtraElement, + MSEGuidByte1, + MSEGuidByte2, + MSEGuidByte4, + MSEGuidByte0, + MSEGuidByte5, + MSEGuidByte7, + MSEEnd, +}; + +MovementStatusElements MoveSetPitchRate[] = +{ + MSEHasGuidByte1, + MSEHasGuidByte2, + MSEHasGuidByte6, + MSEHasGuidByte7, + MSEHasGuidByte0, + MSEHasGuidByte3, + MSEHasGuidByte5, + MSEHasGuidByte4, + MSEExtraElement, + MSEGuidByte6, + MSEGuidByte4, + MSEGuidByte0, + MSECounter, + MSEGuidByte1, + MSEGuidByte2, + MSEGuidByte7, + MSEGuidByte3, + MSEGuidByte5, + MSEEnd, +}; + +MovementStatusElements MoveSetCollisionHeight[] = +{ + MSEZeroBit, + MSEZeroBit, + MSEHasGuidByte6, + MSEHasGuidByte1, + MSEHasGuidByte4, + MSEHasGuidByte7, + MSEHasGuidByte5, + MSEHasGuidByte2, + MSEHasGuidByte0, + MSEHasGuidByte3, + MSEGuidByte6, + MSEGuidByte0, + MSEGuidByte4, + MSEGuidByte3, + MSEGuidByte5, + MSECounter, + MSEGuidByte1, + MSEGuidByte2, + MSEGuidByte7, + MSEExtraElement, + MSEEnd, +}; + +MovementStatusElements SplineMoveSetWalkMode[] = +{ + MSEHasGuidByte7, + MSEHasGuidByte6, + MSEHasGuidByte5, + MSEHasGuidByte1, + MSEHasGuidByte3, + MSEHasGuidByte4, + MSEHasGuidByte2, + MSEHasGuidByte0, + MSEGuidByte4, + MSEGuidByte2, + MSEGuidByte1, + MSEGuidByte6, + MSEGuidByte5, + MSEGuidByte0, + MSEGuidByte7, + MSEGuidByte3, + MSEEnd, +}; + +MovementStatusElements SplineMoveSetRunMode[] = +{ + MSEHasGuidByte5, + MSEHasGuidByte6, + MSEHasGuidByte3, + MSEHasGuidByte7, + MSEHasGuidByte2, + MSEHasGuidByte0, + MSEHasGuidByte4, + MSEHasGuidByte1, + MSEGuidByte7, + MSEGuidByte0, + MSEGuidByte4, + MSEGuidByte6, + MSEGuidByte5, + MSEGuidByte1, + MSEGuidByte2, + MSEGuidByte3, + MSEEnd, +}; + +MovementStatusElements SplineMoveGravityDisable[] = +{ + MSEHasGuidByte7, + MSEHasGuidByte3, + MSEHasGuidByte4, + MSEHasGuidByte2, + MSEHasGuidByte5, + MSEHasGuidByte1, + MSEHasGuidByte0, + MSEHasGuidByte6, + MSEGuidByte7, + MSEGuidByte1, + MSEGuidByte3, + MSEGuidByte4, + MSEGuidByte6, + MSEGuidByte2, + MSEGuidByte5, + MSEGuidByte0, + MSEEnd, +}; + +MovementStatusElements SplineMoveGravityEnable[] = +{ + MSEHasGuidByte5, + MSEHasGuidByte4, + MSEHasGuidByte7, + MSEHasGuidByte1, + MSEHasGuidByte3, + MSEHasGuidByte6, + MSEHasGuidByte2, + MSEHasGuidByte0, + MSEGuidByte7, + MSEGuidByte3, + MSEGuidByte4, + MSEGuidByte2, + MSEGuidByte1, + MSEGuidByte6, + MSEGuidByte0, + MSEGuidByte5, + MSEEnd, +}; + +MovementStatusElements SplineMoveSetHover[] = +{ + MSEHasGuidByte3, + MSEHasGuidByte7, + MSEHasGuidByte0, + MSEHasGuidByte1, + MSEHasGuidByte4, + MSEHasGuidByte6, + MSEHasGuidByte2, + MSEHasGuidByte5, + MSEGuidByte2, + MSEGuidByte4, + MSEGuidByte3, + MSEGuidByte1, + MSEGuidByte7, + MSEGuidByte0, + MSEGuidByte5, + MSEGuidByte6, + MSEEnd, +}; + +MovementStatusElements SplineMoveUnsetHover[] = +{ + MSEHasGuidByte6, + MSEHasGuidByte7, + MSEHasGuidByte4, + MSEHasGuidByte0, + MSEHasGuidByte3, + MSEHasGuidByte1, + MSEHasGuidByte5, + MSEHasGuidByte2, + MSEGuidByte4, + MSEGuidByte5, + MSEGuidByte3, + MSEGuidByte0, + MSEGuidByte2, + MSEGuidByte7, + MSEGuidByte6, + MSEGuidByte1, + MSEEnd, +}; + +MovementStatusElements MoveSetCanFly[] = +{ + MSEHasGuidByte1, + MSEHasGuidByte6, + MSEHasGuidByte5, + MSEHasGuidByte0, + MSEHasGuidByte7, + MSEHasGuidByte4, + MSEHasGuidByte2, + MSEHasGuidByte3, + MSEGuidByte6, + MSEGuidByte3, + MSECounter, + MSEGuidByte2, + MSEGuidByte1, + MSEGuidByte4, + MSEGuidByte7, + MSEGuidByte0, + MSEGuidByte5, + MSEEnd, +}; + +MovementStatusElements MoveUnsetCanFly[] = +{ + MSEHasGuidByte1, + MSEHasGuidByte4, + MSEHasGuidByte2, + MSEHasGuidByte5, + MSEHasGuidByte0, + MSEHasGuidByte3, + MSEHasGuidByte6, + MSEHasGuidByte7, + MSEGuidByte4, + MSEGuidByte6, + MSECounter, + MSEGuidByte1, + MSEGuidByte0, + MSEGuidByte2, + MSEGuidByte3, + MSEGuidByte5, + MSEGuidByte7, + MSEEnd, +}; + +MovementStatusElements MoveSetHover[] = +{ + MSEHasGuidByte1, + MSEHasGuidByte4, + MSEHasGuidByte2, + MSEHasGuidByte3, + MSEHasGuidByte0, + MSEHasGuidByte5, + MSEHasGuidByte6, + MSEHasGuidByte7, + MSEGuidByte5, + MSEGuidByte4, + MSEGuidByte1, + MSEGuidByte2, + MSEGuidByte3, + MSEGuidByte6, + MSEGuidByte0, + MSEGuidByte7, + MSECounter, + MSEEnd, +}; + +MovementStatusElements MoveUnsetHover[] = +{ + MSEHasGuidByte4, + MSEHasGuidByte6, + MSEHasGuidByte3, + MSEHasGuidByte1, + MSEHasGuidByte2, + MSEHasGuidByte7, + MSEHasGuidByte5, + MSEHasGuidByte0, + MSEGuidByte4, + MSEGuidByte5, + MSEGuidByte3, + MSEGuidByte6, + MSEGuidByte7, + MSEGuidByte1, + MSEGuidByte2, + MSEGuidByte0, + MSECounter, + MSEEnd, +}; + +MovementStatusElements MoveWaterWalk[] = +{ + MSEHasGuidByte4, + MSEHasGuidByte7, + MSEHasGuidByte6, + MSEHasGuidByte0, + MSEHasGuidByte1, + MSEHasGuidByte3, + MSEHasGuidByte5, + MSEHasGuidByte2, + MSEGuidByte0, + MSEGuidByte5, + MSEGuidByte2, + MSECounter, + MSEGuidByte7, + MSEGuidByte3, + MSEGuidByte4, + MSEGuidByte1, + MSEGuidByte6, + MSEEnd, +}; + +MovementStatusElements MoveLandWalk[] = +{ + MSEHasGuidByte5, + MSEHasGuidByte1, + MSEHasGuidByte6, + MSEHasGuidByte2, + MSEHasGuidByte3, + MSEHasGuidByte4, + MSEHasGuidByte0, + MSEHasGuidByte7, + MSEGuidByte6, + MSEGuidByte1, + MSEGuidByte7, + MSEGuidByte5, + MSEGuidByte4, + MSEGuidByte0, + MSEGuidByte3, + MSEGuidByte2, + MSECounter, + MSEEnd, +}; + +MovementStatusElements MoveFeatherFall[] = +{ + MSEHasGuidByte3, + MSEHasGuidByte1, + MSEHasGuidByte7, + MSEHasGuidByte0, + MSEHasGuidByte4, + MSEHasGuidByte2, + MSEHasGuidByte5, + MSEHasGuidByte6, + MSEGuidByte5, + MSEGuidByte7, + MSEGuidByte2, + MSECounter, + MSEGuidByte0, + MSEGuidByte3, + MSEGuidByte4, + MSEGuidByte1, + MSEGuidByte6, + MSEEnd, +}; + +MovementStatusElements MoveNormalFall[] = +{ + MSECounter, + MSEHasGuidByte3, + MSEHasGuidByte0, + MSEHasGuidByte1, + MSEHasGuidByte5, + MSEHasGuidByte7, + MSEHasGuidByte4, + MSEHasGuidByte6, + MSEHasGuidByte2, + MSEGuidByte2, + MSEGuidByte7, + MSEGuidByte1, + MSEGuidByte4, + MSEGuidByte5, + MSEGuidByte0, + MSEGuidByte3, + MSEGuidByte6, + MSEEnd, +}; + +void Movement::ExtraMovementStatusElement::ReadNextElement(ByteBuffer& packet) +{ + MovementStatusElements element = _elements[_index++]; + + if (element >= MSEHasGuidByte0 && element <= MSEHasGuidByte7) + { + Data.guid[element - MSEHasGuidByte0] = packet.ReadBit(); + return; + } + + if (element >= MSEGuidByte0 && element <= MSEGuidByte7) + { + packet.ReadByteSeq(Data.guid[element - MSEGuidByte0]); + return; + } + + if (element == MSEExtraFloat) + { + packet >> Data.floatData; + return; + } +} + + +void Movement::ExtraMovementStatusElement::WriteNextElement(ByteBuffer& packet) +{ + MovementStatusElements element = _elements[_index++]; + + if (element >= MSEHasGuidByte0 && element <= MSEHasGuidByte7) + { + packet.WriteBit(Data.guid[element - MSEHasGuidByte0]); + return; + } + + if (element >= MSEGuidByte0 && element <= MSEGuidByte7) + { + packet.WriteByteSeq(Data.guid[element - MSEGuidByte0]); + return; + } + + if (element == MSEExtraFloat) + { + packet << Data.floatData; + return; + } +} + +Movement::PacketSender::PacketSender(Unit* unit, Opcodes serverControl, Opcodes playerControl, Opcodes broadcast /*= SMSG_PLAYER_MOVE*/, ExtraMovementStatusElement* extras /*= NULL*/) + : _unit(unit), _extraElements(extras) +{ + if (unit->GetTypeId() == TYPEID_PLAYER && unit->ToPlayer()->m_mover->GetTypeId() == TYPEID_PLAYER) + { + _selfOpcode = playerControl; + _broadcast = broadcast; + } + else + { + _selfOpcode = NULL_OPCODE; + _broadcast = serverControl; + } +} + +void Movement::PacketSender::Send() const +{ + bool isPlayerMovement = _unit->GetTypeId() == TYPEID_PLAYER && _unit->ToPlayer()->m_mover->GetTypeId() == TYPEID_PLAYER; + if (isPlayerMovement && _selfOpcode != NULL_OPCODE) + { + WorldPacket data(_selfOpcode); + _unit->WriteMovementInfo(data, _extraElements); + _unit->ToPlayer()->SendDirectMessage(&data); + } + + if (_broadcast != NULL_OPCODE) + { + WorldPacket data(_broadcast); + _unit->WriteMovementInfo(data, _extraElements); + _unit->SendMessageToSet(&data, !isPlayerMovement); + } +} + +MovementStatusElements* GetMovementStatusElementsSequence(Opcodes opcode) +{ + switch (opcode) + { + case MSG_MOVE_FALL_LAND: + return MovementFallLandSequence; + case MSG_MOVE_HEARTBEAT: + 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_START_ASCEND: + return MovementStartAscendSequence; + case MSG_MOVE_START_BACKWARD: + return MovementStartBackwardSequence; + case MSG_MOVE_START_DESCEND: + return MovementStartDescendSequence; + case MSG_MOVE_START_FORWARD: + return MovementStartForwardSequence; + case MSG_MOVE_START_PITCH_DOWN: + return MovementStartPitchDownSequence; + case MSG_MOVE_START_PITCH_UP: + return MovementStartPitchUpSequence; + case MSG_MOVE_START_STRAFE_LEFT: + return MovementStartStrafeLeftSequence; + case MSG_MOVE_START_STRAFE_RIGHT: + return MovementStartStrafeRightSequence; + case MSG_MOVE_START_SWIM: + return MovementStartSwimSequence; + case MSG_MOVE_START_TURN_LEFT: + return MovementStartTurnLeftSequence; + case MSG_MOVE_START_TURN_RIGHT: + return MovementStartTurnRightSequence; + case MSG_MOVE_STOP: + return MovementStopSequence; + case MSG_MOVE_STOP_ASCEND: + return MovementStopAscendSequence; + case MSG_MOVE_STOP_PITCH: + return MovementStopPitchSequence; + case MSG_MOVE_STOP_STRAFE: + return MovementStopStrafeSequence; + case MSG_MOVE_STOP_SWIM: + return MovementStopSwimSequence; + case MSG_MOVE_STOP_TURN: + return MovementStopTurnSequence; + case SMSG_PLAYER_MOVE: + return PlayerMoveSequence; + case CMSG_MOVE_CHNG_TRANSPORT: + return MoveChngTransport; + case CMSG_MOVE_SPLINE_DONE: + return MoveSplineDone; + case CMSG_MOVE_NOT_ACTIVE_MOVER: + return MoveNotActiveMover; + case CMSG_DISMISS_CONTROLLED_VEHICLE: + return DismissControlledVehicle; + case SMSG_MOVE_UPDATE_TELEPORT: + return MoveUpdateTeleport; + case CMSG_FORCE_MOVE_ROOT_ACK: + return ForceMoveRootAck; + case CMSG_FORCE_MOVE_UNROOT_ACK: + return ForceMoveUnrootAck; + case CMSG_MOVE_FALL_RESET: + return MovementFallReset; + case CMSG_MOVE_FEATHER_FALL_ACK: + return MovementFeatherFallAck; + case CMSG_MOVE_FORCE_FLIGHT_SPEED_CHANGE_ACK: + return MovementForceFlightSpeedChangeAck; + case CMSG_MOVE_FORCE_RUN_BACK_SPEED_CHANGE_ACK: + return MovementForceRunBackSpeedChangeAck; + case CMSG_MOVE_FORCE_RUN_SPEED_CHANGE_ACK: + return MovementForceRunSpeedChangeAck; + case CMSG_MOVE_FORCE_SWIM_SPEED_CHANGE_ACK: + return MovementForceSwimSpeedChangeAck; + case CMSG_MOVE_FORCE_WALK_SPEED_CHANGE_ACK: + return MovementForceWalkSpeedChangeAck; + case CMSG_MOVE_GRAVITY_DISABLE_ACK: + return MovementGravityDisableAck; + case CMSG_MOVE_GRAVITY_ENABLE_ACK: + return MovementGravityEnableAck; + case CMSG_MOVE_HOVER_ACK: + return MovementHoverAck; + case CMSG_MOVE_KNOCK_BACK_ACK: + return MovementKnockBackAck; + case CMSG_MOVE_SET_CAN_FLY: + return MovementSetCanFly; + case CMSG_MOVE_SET_CAN_FLY_ACK: + return MovementSetCanFlyAck; + case CMSG_MOVE_SET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY_ACK: + return MovementSetCanTransitionBetweenSwimAndFlyAck; + case SMSG_MOVE_SET_COLLISION_HEIGHT: + return MoveSetCollisionHeight; + case CMSG_MOVE_SET_COLLISION_HEIGHT_ACK: + return MovementSetCollisionHeightAck; + case SMSG_MOVE_UPDATE_COLLISION_HEIGHT: + return MovementUpdateCollisionHeight; + case CMSG_MOVE_WATER_WALK_ACK: + return MovementWaterWalkAck; + case MSG_MOVE_SET_RUN_MODE: + return MovementSetRunMode; + case MSG_MOVE_SET_WALK_MODE: + return MovementSetWalkMode; + case SMSG_MOVE_UPDATE_FLIGHT_SPEED: + return MovementUpdateFlightSpeed; + case SMSG_MOVE_UPDATE_RUN_SPEED: + return MovementUpdateRunSpeed; + case SMSG_MOVE_UPDATE_KNOCK_BACK: + return MovementUpdateKnockBack; + case SMSG_MOVE_UPDATE_RUN_BACK_SPEED: + return MovementUpdateRunBackSpeed; + case SMSG_MOVE_UPDATE_SWIM_SPEED: + return MovementUpdateSwimSpeed; + case SMSG_MOVE_UPDATE_WALK_SPEED: + return MovementUpdateWalkSpeed; + case SMSG_SPLINE_MOVE_SET_WALK_SPEED: + return SplineMoveSetWalkSpeed; + case SMSG_SPLINE_MOVE_SET_RUN_SPEED: + return SplineMoveSetRunSpeed; + case SMSG_SPLINE_MOVE_SET_RUN_BACK_SPEED: + return SplineMoveSetRunBackSpeed; + case SMSG_SPLINE_MOVE_SET_SWIM_SPEED: + return SplineMoveSetSwimSpeed; + case SMSG_SPLINE_MOVE_SET_SWIM_BACK_SPEED: + return SplineMoveSetSwimBackSpeed; + case SMSG_SPLINE_MOVE_SET_TURN_RATE: + return SplineMoveSetTurnRate; + case SMSG_SPLINE_MOVE_SET_FLIGHT_SPEED: + return SplineMoveSetFlightSpeed; + case SMSG_SPLINE_MOVE_SET_FLIGHT_BACK_SPEED: + return SplineMoveSetFlightBackSpeed; + case SMSG_SPLINE_MOVE_SET_PITCH_RATE: + return SplineMoveSetPitchRate; + case SMSG_MOVE_SET_WALK_SPEED: + return MoveSetWalkSpeed; + case SMSG_MOVE_SET_RUN_SPEED: + return MoveSetRunSpeed; + case SMSG_MOVE_SET_RUN_BACK_SPEED: + return MoveSetRunBackSpeed; + case SMSG_MOVE_SET_SWIM_SPEED: + return MoveSetSwimSpeed; + case SMSG_MOVE_SET_SWIM_BACK_SPEED: + return MoveSetSwimBackSpeed; + case SMSG_MOVE_SET_TURN_RATE: + return MoveSetTurnRate; + case SMSG_MOVE_SET_FLIGHT_SPEED: + return MoveSetFlightSpeed; + case SMSG_MOVE_SET_FLIGHT_BACK_SPEED: + return MoveSetFlightBackSpeed; + case SMSG_MOVE_SET_PITCH_RATE: + return MoveSetPitchRate; + case SMSG_SPLINE_MOVE_SET_WALK_MODE: + return SplineMoveSetWalkMode; + case SMSG_SPLINE_MOVE_SET_RUN_MODE: + return SplineMoveSetRunMode; + case SMSG_SPLINE_MOVE_GRAVITY_DISABLE: + return SplineMoveGravityDisable; + case SMSG_SPLINE_MOVE_GRAVITY_ENABLE: + return SplineMoveGravityEnable; + case SMSG_SPLINE_MOVE_SET_HOVER: + return SplineMoveSetHover; + case SMSG_SPLINE_MOVE_UNSET_HOVER: + return SplineMoveUnsetHover; + case SMSG_MOVE_SET_CAN_FLY: + return MoveSetCanFly; + case SMSG_MOVE_UNSET_CAN_FLY: + return MoveUnsetCanFly; + case SMSG_MOVE_SET_HOVER: + return MoveSetHover; + case SMSG_MOVE_UNSET_HOVER: + return MoveUnsetHover; + case SMSG_MOVE_WATER_WALK: + return MoveWaterWalk; + case SMSG_MOVE_LAND_WALK: + return MoveLandWalk; + case SMSG_MOVE_FEATHER_FALL: + return MoveFeatherFall; + case SMSG_MOVE_NORMAL_FALL: + return MoveNormalFall; + default: + break; + } + + return NULL; +} diff --git a/src/server/game/Movement/MovementStructures.h b/src/server/game/Movement/MovementStructures.h index 3c537376ba0..7269b36c3f2 100644 --- a/src/server/game/Movement/MovementStructures.h +++ b/src/server/game/Movement/MovementStructures.h @@ -91,2170 +91,52 @@ enum MovementStatusElements MSECounter, - // Speed - MSESpeedWalk, - MSESpeedRun, - MSESpeedRunBack, - MSESpeedSwim, - MSESpeedSwimBack, - MSESpeedTurnRate, - MSESpeedFlight, - MSESpeedFlightBack, - MSESpeedPitchRate, - // Special - MSEZeroBit, // writes bit value 1 or skips read bit - MSEOneBit, // writes bit value 0 or skips read bit - MSEEnd, // marks end of parsing + MSEZeroBit, // writes bit value 1 or skips read bit + MSEOneBit, // writes bit value 0 or skips read bit + MSEEnd, // marks end of parsing + MSEExtraElement, // Used to sinalize reading into ExtraMovementStatusElement, element sequence inside it is declared as separate array + // Allowed internal elements are: GUID markers (not transport) and MSEExtraFloat + MSEExtraFloat, MSE_COUNT }; -//4.3.4 -MovementStatusElements PlayerMoveSequence[] = -{ - MSEHasFallData, - MSEHasGuidByte3, - MSEHasGuidByte6, - MSEHasMovementFlags2, - MSEHasSpline, - MSEHasTimestamp, - MSEHasGuidByte0, - MSEHasGuidByte1, - MSEMovementFlags2, - MSEHasGuidByte7, - MSEHasMovementFlags, - MSEHasOrientation, - MSEHasGuidByte2, - MSEHasSplineElevation, - MSEZeroBit, - MSEHasGuidByte4, - MSEHasFallDirection, - MSEHasGuidByte5, - MSEHasTransportData, - MSEMovementFlags, - MSEHasTransportGuidByte3, - MSEHasTransportTime3, - MSEHasTransportGuidByte6, - MSEHasTransportGuidByte1, - MSEHasTransportGuidByte7, - MSEHasTransportGuidByte0, - MSEHasTransportGuidByte4, - MSEHasTransportTime2, - MSEHasTransportGuidByte5, - MSEHasTransportGuidByte2, - MSEHasPitch, - MSEGuidByte5, - MSEFallHorizontalSpeed, - MSEFallCosAngle, - MSEFallSinAngle, - MSEFallVerticalSpeed, - MSEFallTime, - MSESplineElevation, - MSEGuidByte7, - MSEPositionY, - MSEGuidByte3, - MSETransportTime3, - MSETransportGuidByte6, - MSETransportSeat, - MSETransportGuidByte5, - MSETransportPositionX, - MSETransportGuidByte1, - MSETransportOrientation, - MSETransportGuidByte2, - MSETransportTime2, - MSETransportGuidByte0, - MSETransportPositionZ, - MSETransportGuidByte7, - MSETransportGuidByte4, - MSETransportGuidByte3, - MSETransportPositionY, - MSETransportTime, - MSEGuidByte4, - MSEPositionX, - MSEGuidByte6, - MSEPositionZ, - MSETimestamp, - MSEGuidByte2, - MSEPitch, - MSEGuidByte0, - MSEOrientation, - MSEGuidByte1, - MSEEnd, -}; - -//4.3.4 -MovementStatusElements MovementFallLandSequence[] = -{ - MSEPositionX, - MSEPositionY, - MSEPositionZ, - MSEHasTransportData, - MSEHasGuidByte7, - MSEHasGuidByte1, - MSEHasMovementFlags2, - MSEHasGuidByte3, - MSEHasSplineElevation, - MSEHasOrientation, - MSEHasGuidByte6, - MSEHasTimestamp, - MSEZeroBit, - MSEHasPitch, - MSEHasGuidByte4, - MSEHasSpline, - MSEHasGuidByte5, - MSEHasMovementFlags, - MSEHasFallData, - MSEHasGuidByte0, - MSEHasGuidByte2, - MSEHasTransportGuidByte0, - MSEHasTransportGuidByte5, - MSEHasTransportGuidByte3, - MSEHasTransportGuidByte2, - MSEHasTransportTime3, - MSEHasTransportTime2, - MSEHasTransportGuidByte6, - MSEHasTransportGuidByte4, - MSEHasTransportGuidByte1, - MSEHasTransportGuidByte7, - MSEMovementFlags2, - MSEMovementFlags, - MSEHasFallDirection, - MSEGuidByte1, - MSEGuidByte7, - MSEGuidByte4, - MSEGuidByte3, - MSEGuidByte6, - MSEGuidByte0, - MSEGuidByte2, - MSEGuidByte5, - MSETransportTime, - MSETransportPositionZ, - MSETransportPositionY, - MSETransportPositionX, - MSETransportGuidByte5, - MSETransportTime3, - MSETransportGuidByte1, - MSETransportSeat, - MSETransportTime2, - MSETransportGuidByte4, - MSETransportOrientation, - MSETransportGuidByte0, - MSETransportGuidByte7, - MSETransportGuidByte3, - MSETransportGuidByte6, - MSETransportGuidByte2, - MSEFallVerticalSpeed, - MSEFallTime, - MSEFallCosAngle, - MSEFallHorizontalSpeed, - MSEFallSinAngle, - MSESplineElevation, - MSETimestamp, - MSEPitch, - MSEOrientation, - MSEEnd, -}; - -//4.3.4 -MovementStatusElements MovementHeartBeatSequence[] = -{ - MSEPositionZ, - MSEPositionX, - MSEPositionY, - MSEHasPitch, - MSEHasTimestamp, - MSEHasFallData, - MSEHasMovementFlags2, - MSEHasTransportData, - MSEHasGuidByte7, - MSEHasGuidByte1, - MSEHasGuidByte0, - MSEHasGuidByte4, - MSEHasGuidByte2, - MSEHasOrientation, - MSEHasGuidByte5, - MSEHasGuidByte3, - MSEHasSplineElevation, - MSEHasSpline, - MSEZeroBit, - MSEHasGuidByte6, - MSEHasMovementFlags, - MSEHasTransportTime3, - MSEHasTransportGuidByte4, - MSEHasTransportGuidByte2, - MSEHasTransportTime2, - MSEHasTransportGuidByte5, - MSEHasTransportGuidByte7, - MSEHasTransportGuidByte6, - MSEHasTransportGuidByte0, - MSEHasTransportGuidByte3, - MSEHasTransportGuidByte1, - MSEHasFallDirection, - MSEMovementFlags, - MSEMovementFlags2, - MSEGuidByte3, - MSEGuidByte6, - MSEGuidByte1, - MSEGuidByte7, - MSEGuidByte2, - MSEGuidByte5, - MSEGuidByte0, - MSEGuidByte4, - MSETransportPositionZ, - MSETransportSeat, - MSETransportOrientation, - MSETransportGuidByte4, - MSETransportPositionY, - MSETransportTime, - MSETransportPositionX, - MSETransportGuidByte5, - MSETransportGuidByte1, - MSETransportGuidByte3, - MSETransportGuidByte7, - MSETransportTime3, - MSETransportTime2, - MSETransportGuidByte2, - MSETransportGuidByte0, - MSETransportGuidByte6, - MSEOrientation, - MSEFallVerticalSpeed, - MSEFallTime, - MSEFallHorizontalSpeed, - MSEFallSinAngle, - MSEFallCosAngle, - MSEPitch, - MSESplineElevation, - MSETimestamp, - MSEEnd, -}; - -//4.3.4 -MovementStatusElements MovementJumpSequence[] = -{ - MSEPositionY, - MSEPositionX, - MSEPositionZ, - MSEHasTimestamp, - MSEHasGuidByte5, - MSEHasMovementFlags, - MSEHasGuidByte4, - MSEHasGuidByte6, - MSEHasMovementFlags2, - MSEHasGuidByte0, - MSEHasTransportData, - MSEHasGuidByte3, - MSEHasPitch, - MSEHasGuidByte7, - MSEHasFallData, - MSEHasSpline, - MSEHasOrientation, - MSEHasGuidByte1, - MSEHasSplineElevation, - MSEZeroBit, - MSEHasGuidByte2, - MSEHasTransportGuidByte3, - MSEHasTransportGuidByte7, - MSEHasTransportGuidByte6, - MSEHasTransportGuidByte0, - MSEHasTransportGuidByte5, - MSEHasTransportGuidByte1, - MSEHasTransportGuidByte4, - MSEHasTransportTime3, - MSEHasTransportTime2, - MSEHasTransportGuidByte2, - MSEHasFallDirection, - MSEMovementFlags, - MSEMovementFlags2, - MSEGuidByte6, - MSEGuidByte5, - MSEGuidByte4, - MSEGuidByte0, - MSEGuidByte2, - MSEGuidByte3, - MSEGuidByte7, - MSEGuidByte1, - MSETransportGuidByte1, - MSETransportGuidByte7, - MSETransportPositionX, - MSETransportGuidByte4, - MSETransportTime3, - MSETransportGuidByte0, - MSETransportOrientation, - MSETransportTime2, - MSETransportTime, - MSETransportGuidByte6, - MSETransportPositionZ, - MSETransportSeat, - MSETransportPositionY, - MSETransportGuidByte3, - MSETransportGuidByte2, - MSETransportGuidByte5, - MSEPitch, - MSETimestamp, - MSEFallCosAngle, - MSEFallSinAngle, - MSEFallHorizontalSpeed, - MSEFallVerticalSpeed, - MSEFallTime, - MSESplineElevation, - MSEOrientation, - MSEEnd, -}; - -//4.3.4 -MovementStatusElements MovementSetFacingSequence[] = -{ - MSEPositionX, - MSEPositionY, - MSEPositionZ, - MSEHasGuidByte6, - MSEHasTransportData, - MSEHasGuidByte4, - MSEHasSpline, - MSEHasGuidByte0, - MSEHasOrientation, - MSEHasTimestamp, - MSEHasPitch, - MSEHasMovementFlags2, - MSEHasGuidByte5, - MSEHasGuidByte7, - MSEHasGuidByte2, - MSEHasFallData, - MSEHasSplineElevation, - MSEHasMovementFlags, - MSEHasGuidByte3, - MSEZeroBit, - MSEHasGuidByte1, - MSEHasTransportTime3, - MSEHasTransportGuidByte3, - MSEHasTransportGuidByte7, - MSEHasTransportGuidByte5, - MSEHasTransportGuidByte2, - MSEHasTransportGuidByte6, - MSEHasTransportGuidByte0, - MSEHasTransportTime2, - MSEHasTransportGuidByte4, - MSEHasTransportGuidByte1, - MSEHasFallDirection, - MSEMovementFlags2, - MSEMovementFlags, - MSEGuidByte6, - MSEGuidByte7, - MSEGuidByte2, - MSEGuidByte0, - MSEGuidByte4, - MSEGuidByte1, - MSEGuidByte5, - MSEGuidByte3, - MSETransportGuidByte0, - MSETransportPositionX, - MSETransportGuidByte1, - MSETransportTime2, - MSETransportGuidByte4, - MSETransportPositionZ, - MSETransportOrientation, - MSETransportGuidByte2, - MSETransportTime3, - MSETransportGuidByte3, - MSETransportSeat, - MSETransportPositionY, - MSETransportGuidByte5, - MSETransportGuidByte6, - MSETransportTime, - MSETransportGuidByte7, - MSEFallHorizontalSpeed, - MSEFallSinAngle, - MSEFallCosAngle, - MSEFallTime, - MSEFallVerticalSpeed, - MSESplineElevation, - MSEOrientation, - MSETimestamp, - MSEPitch, - MSEEnd, -}; - -//4.3.4 -MovementStatusElements MovementSetPitchSequence[] = -{ - MSEPositionX, - MSEPositionZ, - MSEPositionY, - MSEHasFallData, - MSEHasMovementFlags, - MSEHasGuidByte1, - MSEHasOrientation, - MSEHasGuidByte7, - MSEHasGuidByte3, - MSEHasMovementFlags2, - MSEHasTransportData, - MSEHasSplineElevation, - MSEHasGuidByte6, - MSEHasPitch, - MSEHasGuidByte4, - MSEHasSpline, - MSEHasGuidByte2, - MSEZeroBit, - MSEHasTimestamp, - MSEHasGuidByte0, - MSEHasGuidByte5, - MSEHasTransportGuidByte3, - MSEHasTransportGuidByte6, - MSEHasTransportGuidByte2, - MSEHasTransportGuidByte4, - MSEHasTransportGuidByte0, - MSEHasTransportGuidByte1, - MSEHasTransportGuidByte5, - MSEHasTransportTime3, - MSEHasTransportGuidByte7, - MSEHasTransportTime2, - MSEMovementFlags2, - MSEMovementFlags, - MSEHasFallDirection, - MSEGuidByte3, - MSEGuidByte7, - MSEGuidByte1, - MSEGuidByte6, - MSEGuidByte0, - MSEGuidByte5, - MSEGuidByte2, - MSEGuidByte4, - MSETransportGuidByte4, - MSETransportGuidByte3, - MSETransportGuidByte6, - MSETransportOrientation, - MSETransportGuidByte1, - MSETransportTime3, - MSETransportTime, - MSETransportGuidByte2, - MSETransportPositionZ, - MSETransportGuidByte0, - MSETransportTime2, - MSETransportPositionY, - MSETransportGuidByte5, - MSETransportSeat, - MSETransportGuidByte7, - MSETransportPositionX, - MSEFallVerticalSpeed, - MSEFallTime, - MSEFallHorizontalSpeed, - MSEFallCosAngle, - MSEFallSinAngle, - MSEPitch, - MSESplineElevation, - MSETimestamp, - MSEOrientation, - MSEEnd, -}; - -//4.3.4 -MovementStatusElements MovementStartBackwardSequence[] = -{ - MSEPositionX, - MSEPositionZ, - MSEPositionY, - MSEHasTransportData, - MSEHasGuidByte3, - MSEHasGuidByte0, - MSEHasGuidByte2, - MSEHasTimestamp, - MSEHasGuidByte7, - MSEHasPitch, - MSEZeroBit, - MSEHasMovementFlags, - MSEHasOrientation, - MSEHasSpline, - MSEHasMovementFlags2, - MSEHasFallData, - MSEHasGuidByte5, - MSEHasGuidByte1, - MSEHasGuidByte4, - MSEHasGuidByte6, - MSEHasSplineElevation, - MSEHasTransportGuidByte3, - MSEHasTransportGuidByte1, - MSEHasTransportTime2, - MSEHasTransportGuidByte2, - MSEHasTransportGuidByte7, - MSEHasTransportGuidByte0, - MSEHasTransportGuidByte6, - MSEHasTransportGuidByte5, - MSEHasTransportGuidByte4, - MSEHasTransportTime3, - MSEMovementFlags, - MSEMovementFlags2, - MSEHasFallDirection, - MSEGuidByte6, - MSEGuidByte7, - MSEGuidByte4, - MSEGuidByte1, - MSEGuidByte5, - MSEGuidByte0, - MSEGuidByte2, - MSEGuidByte3, - MSETransportPositionZ, - MSETransportGuidByte2, - MSETransportTime3, - MSETransportGuidByte0, - MSETransportGuidByte5, - MSETransportPositionY, - MSETransportGuidByte1, - MSETransportPositionX, - MSETransportTime2, - MSETransportGuidByte4, - MSETransportOrientation, - MSETransportSeat, - MSETransportGuidByte7, - MSETransportTime, - MSETransportGuidByte6, - MSETransportGuidByte3, - MSEPitch, - MSETimestamp, - MSEFallHorizontalSpeed, - MSEFallSinAngle, - MSEFallCosAngle, - MSEFallVerticalSpeed, - MSEFallTime, - MSEOrientation, - MSESplineElevation, - MSEEnd, -}; - -//4.3.4 -MovementStatusElements MovementStartForwardSequence[] = -{ - MSEPositionY, - MSEPositionZ, - MSEPositionX, - MSEHasGuidByte5, - MSEHasGuidByte2, - MSEHasGuidByte0, - MSEZeroBit, - MSEHasMovementFlags, - MSEHasGuidByte7, - MSEHasGuidByte3, - MSEHasGuidByte1, - MSEHasOrientation, - MSEHasGuidByte6, - MSEHasSpline, - MSEHasSplineElevation, - MSEHasGuidByte4, - MSEHasTransportData, - MSEHasTimestamp, - MSEHasPitch, - MSEHasMovementFlags2, - MSEHasFallData, - MSEMovementFlags, - MSEHasTransportGuidByte3, - MSEHasTransportGuidByte4, - MSEHasTransportGuidByte6, - MSEHasTransportGuidByte2, - MSEHasTransportGuidByte5, - MSEHasTransportGuidByte0, - MSEHasTransportGuidByte7, - MSEHasTransportGuidByte1, - MSEHasTransportTime3, - MSEHasTransportTime2, - MSEHasFallDirection, - MSEMovementFlags2, - MSEGuidByte2, - MSEGuidByte4, - MSEGuidByte6, - MSEGuidByte1, - MSEGuidByte7, - MSEGuidByte3, - MSEGuidByte5, - MSEGuidByte0, - MSEFallVerticalSpeed, - MSEFallHorizontalSpeed, - MSEFallCosAngle, - MSEFallSinAngle, - MSEFallTime, - MSETransportGuidByte3, - MSETransportPositionY, - MSETransportPositionZ, - MSETransportGuidByte1, - MSETransportGuidByte4, - MSETransportGuidByte7, - MSETransportOrientation, - MSETransportGuidByte2, - MSETransportPositionX, - MSETransportGuidByte5, - MSETransportTime3, - MSETransportTime, - MSETransportGuidByte6, - MSETransportGuidByte0, - MSETransportSeat, - MSETransportTime2, - MSESplineElevation, - MSEPitch, - MSEOrientation, - MSETimestamp, - - MSEEnd, -}; - -//4.3.4 -MovementStatusElements MovementStartStrafeLeftSequence[] = -{ - MSEPositionZ, - MSEPositionX, - MSEPositionY, - MSEHasSplineElevation, - MSEHasGuidByte5, - MSEHasPitch, - MSEHasGuidByte6, - MSEHasTimestamp, - MSEHasGuidByte1, - MSEZeroBit, - MSEHasGuidByte4, - MSEHasGuidByte0, - MSEHasGuidByte2, - MSEHasFallData, - MSEHasOrientation, - MSEHasGuidByte3, - MSEHasMovementFlags2, - MSEHasGuidByte7, - MSEHasSpline, - MSEHasMovementFlags, - MSEHasTransportData, - MSEHasFallDirection, - MSEHasTransportTime2, - MSEHasTransportGuidByte7, - MSEHasTransportTime3, - MSEHasTransportGuidByte3, - MSEHasTransportGuidByte1, - MSEHasTransportGuidByte6, - MSEHasTransportGuidByte5, - MSEHasTransportGuidByte2, - MSEHasTransportGuidByte4, - MSEHasTransportGuidByte0, - MSEMovementFlags, - MSEMovementFlags2, - MSEGuidByte2, - MSEGuidByte6, - MSEGuidByte3, - MSEGuidByte1, - MSEGuidByte0, - MSEGuidByte7, - MSEGuidByte4, - MSEGuidByte5, - MSEFallSinAngle, - MSEFallHorizontalSpeed, - MSEFallCosAngle, - MSEFallTime, - MSEFallVerticalSpeed, - MSETransportSeat, - MSETransportGuidByte2, - MSETransportTime2, - MSETransportGuidByte3, - MSETransportPositionZ, - MSETransportTime3, - MSETransportGuidByte0, - MSETransportGuidByte7, - MSETransportPositionY, - MSETransportGuidByte5, - MSETransportGuidByte1, - MSETransportOrientation, - MSETransportTime, - MSETransportGuidByte6, - MSETransportGuidByte4, - MSETransportPositionX, - MSETimestamp, - MSEOrientation, - MSEPitch, - MSESplineElevation, - MSEEnd, -}; - -//4.3.4 -MovementStatusElements MovementStartStrafeRightSequence[] = -{ - MSEPositionY, - MSEPositionX, - MSEPositionZ, - MSEHasPitch, - MSEHasGuidByte1, - MSEHasOrientation, - MSEHasGuidByte4, - MSEHasSpline, - MSEZeroBit, - MSEHasGuidByte5, - MSEHasFallData, - MSEHasSplineElevation, - MSEHasTimestamp, - MSEHasMovementFlags, - MSEHasGuidByte2, - MSEHasGuidByte7, - MSEHasGuidByte6, - MSEHasGuidByte3, - MSEHasMovementFlags2, - MSEHasTransportData, - MSEHasGuidByte0, - MSEHasTransportGuidByte7, - MSEHasTransportGuidByte2, - MSEHasTransportGuidByte3, - MSEHasTransportGuidByte5, - MSEHasTransportGuidByte0, - MSEHasTransportTime2, - MSEHasTransportGuidByte6, - MSEHasTransportGuidByte1, - MSEHasTransportGuidByte4, - MSEHasTransportTime3, - MSEMovementFlags2, - MSEMovementFlags, - MSEHasFallDirection, - MSEGuidByte7, - MSEGuidByte5, - MSEGuidByte3, - MSEGuidByte1, - MSEGuidByte2, - MSEGuidByte4, - MSEGuidByte6, - MSEGuidByte0, - MSETransportGuidByte5, - MSETransportGuidByte1, - MSETransportGuidByte6, - MSETransportPositionY, - MSETransportOrientation, - MSETransportGuidByte0, - MSETransportGuidByte2, - MSETransportSeat, - MSETransportPositionX, - MSETransportTime3, - MSETransportTime, - MSETransportGuidByte4, - MSETransportGuidByte7, - MSETransportTime2, - MSETransportPositionZ, - MSETransportGuidByte3, - MSEPitch, - MSEOrientation, - MSEFallCosAngle, - MSEFallSinAngle, - MSEFallHorizontalSpeed, - MSEFallTime, - MSEFallVerticalSpeed, - MSETimestamp, - MSESplineElevation, - MSEEnd, -}; - -//4.3.4 -MovementStatusElements MovementStartTurnLeftSequence[] = -{ - MSEPositionY, - MSEPositionX, - MSEPositionZ, - MSEZeroBit, - MSEHasGuidByte1, - MSEHasOrientation, - MSEHasSpline, - MSEHasMovementFlags, - MSEHasGuidByte4, - MSEHasGuidByte2, - MSEHasMovementFlags2, - MSEHasGuidByte5, - MSEHasGuidByte7, - MSEHasTransportData, - MSEHasGuidByte6, - MSEHasSplineElevation, - MSEHasGuidByte0, - MSEHasGuidByte3, - MSEHasPitch, - MSEHasTimestamp, - MSEHasFallData, - MSEMovementFlags2, - MSEHasTransportGuidByte3, - MSEHasTransportGuidByte1, - MSEHasTransportGuidByte0, - MSEHasTransportTime2, - MSEHasTransportGuidByte2, - MSEHasTransportTime3, - MSEHasTransportGuidByte4, - MSEHasTransportGuidByte7, - MSEHasTransportGuidByte5, - MSEHasTransportGuidByte6, - MSEHasFallDirection, - MSEMovementFlags, - MSEGuidByte0, - MSEGuidByte4, - MSEGuidByte7, - MSEGuidByte5, - MSEGuidByte6, - MSEGuidByte3, - MSEGuidByte2, - MSEGuidByte1, - MSEFallSinAngle, - MSEFallCosAngle, - MSEFallHorizontalSpeed, - MSEFallVerticalSpeed, - MSEFallTime, - MSETransportGuidByte0, - MSETransportPositionX, - MSETransportTime, - MSETransportSeat, - MSETransportPositionZ, - MSETransportGuidByte4, - MSETransportOrientation, - MSETransportGuidByte2, - MSETransportGuidByte6, - MSETransportGuidByte1, - MSETransportGuidByte3, - MSETransportPositionY, - MSETransportTime3, - MSETransportTime2, - MSETransportGuidByte5, - MSETransportGuidByte7, - MSETimestamp, - MSEPitch, - MSEOrientation, - MSESplineElevation, - MSEEnd, -}; - -//4.3.4 -MovementStatusElements MovementStartTurnRightSequence[] = -{ - MSEPositionX, - MSEPositionZ, - MSEPositionY, - MSEHasGuidByte3, - MSEHasGuidByte5, - MSEHasMovementFlags, - MSEHasSpline, - MSEHasGuidByte0, - MSEHasOrientation, - MSEHasTransportData, - MSEHasGuidByte7, - MSEZeroBit, - MSEHasMovementFlags2, - MSEHasGuidByte1, - MSEHasTimestamp, - MSEHasGuidByte6, - MSEHasGuidByte2, - MSEHasGuidByte4, - MSEHasSplineElevation, - MSEHasPitch, - MSEHasFallData, - MSEHasTransportGuidByte1, - MSEHasTransportTime2, - MSEHasTransportGuidByte6, - MSEHasTransportGuidByte0, - MSEHasTransportGuidByte3, - MSEHasTransportGuidByte5, - MSEHasTransportGuidByte2, - MSEHasTransportGuidByte4, - MSEHasTransportGuidByte7, - MSEHasTransportTime3, - MSEMovementFlags2, - MSEMovementFlags, - MSEHasFallDirection, - MSEGuidByte5, - MSEGuidByte0, - MSEGuidByte7, - MSEGuidByte3, - MSEGuidByte2, - MSEGuidByte1, - MSEGuidByte4, - MSEGuidByte6, - MSETransportPositionY, - MSETransportGuidByte0, - MSETransportGuidByte4, - MSETransportGuidByte1, - MSETransportGuidByte6, - MSETransportGuidByte2, - MSETransportSeat, - MSETransportOrientation, - MSETransportGuidByte5, - MSETransportTime3, - MSETransportPositionZ, - MSETransportPositionX, - MSETransportTime, - MSETransportGuidByte7, - MSETransportGuidByte3, - MSETransportTime2, - MSEFallHorizontalSpeed, - MSEFallSinAngle, - MSEFallCosAngle, - MSEFallTime, - MSEFallVerticalSpeed, - MSEPitch, - MSEOrientation, - MSESplineElevation, - MSETimestamp, - MSEEnd, -}; - -//4.3.4 -MovementStatusElements MovementStopSequence[] = -{ - MSEPositionX, - MSEPositionY, - MSEPositionZ, - MSEHasGuidByte3, - MSEHasGuidByte6, - MSEHasSplineElevation, - MSEHasSpline, - MSEHasOrientation, - MSEHasGuidByte7, - MSEHasMovementFlags, - MSEHasGuidByte5, - MSEHasFallData, - MSEHasMovementFlags2, - MSEHasTransportData, - MSEHasTimestamp, - MSEHasGuidByte4, - MSEHasGuidByte1, - MSEZeroBit, - MSEHasGuidByte2, - MSEHasGuidByte0, - MSEHasPitch, - MSEHasTransportGuidByte7, - MSEHasTransportGuidByte4, - MSEHasTransportGuidByte1, - MSEHasTransportGuidByte5, - MSEHasTransportTime2, - MSEHasTransportTime3, - MSEHasTransportGuidByte3, - MSEHasTransportGuidByte6, - MSEHasTransportGuidByte0, - MSEHasTransportGuidByte2, - MSEMovementFlags, - MSEMovementFlags2, - MSEHasFallDirection, - MSEGuidByte6, - MSEGuidByte3, - MSEGuidByte0, - MSEGuidByte4, - MSEGuidByte2, - MSEGuidByte1, - MSEGuidByte5, - MSEGuidByte7, - MSETransportGuidByte4, - MSETransportGuidByte7, - MSETransportTime, - MSETransportSeat, - MSETransportPositionZ, - MSETransportTime3, - MSETransportGuidByte2, - MSETransportGuidByte0, - MSETransportPositionY, - MSETransportGuidByte1, - MSETransportGuidByte3, - MSETransportTime2, - MSETransportPositionX, - MSETransportOrientation, - MSETransportGuidByte5, - MSETransportGuidByte6, - MSETimestamp, - MSEOrientation, - MSEPitch, - MSESplineElevation, - MSEFallCosAngle, - MSEFallSinAngle, - MSEFallHorizontalSpeed, - MSEFallVerticalSpeed, - MSEFallTime, - MSEEnd, -}; - -//4.3.4 -MovementStatusElements MovementStopStrafeSequence[] = -{ - MSEPositionY, - MSEPositionZ, - MSEPositionX, - MSEHasPitch, - MSEHasTimestamp, - MSEHasGuidByte2, - MSEHasFallData, - MSEHasGuidByte7, - MSEHasSplineElevation, - MSEHasGuidByte3, - MSEHasOrientation, - MSEHasMovementFlags2, - MSEHasTransportData, - MSEHasMovementFlags, - MSEHasSpline, - MSEHasGuidByte0, - MSEZeroBit, - MSEHasGuidByte6, - MSEHasGuidByte5, - MSEHasGuidByte1, - MSEHasGuidByte4, - MSEHasTransportGuidByte7, - MSEHasTransportGuidByte0, - MSEHasTransportGuidByte4, - MSEHasTransportGuidByte2, - MSEHasTransportGuidByte6, - MSEHasTransportGuidByte5, - MSEHasTransportTime2, - MSEHasTransportGuidByte1, - MSEHasTransportGuidByte3, - MSEHasTransportTime3, - MSEMovementFlags, - MSEHasFallDirection, - MSEMovementFlags2, - MSEGuidByte2, - MSEGuidByte7, - MSEGuidByte3, - MSEGuidByte4, - MSEGuidByte5, - MSEGuidByte6, - MSEGuidByte1, - MSEGuidByte0, - MSETransportSeat, - MSETransportGuidByte6, - MSETransportPositionZ, - MSETransportTime3, - MSETransportGuidByte1, - MSETransportGuidByte3, - MSETransportGuidByte2, - MSETransportGuidByte4, - MSETransportGuidByte5, - MSETransportTime, - MSETransportOrientation, - MSETransportPositionX, - MSETransportGuidByte0, - MSETransportPositionY, - MSETransportTime2, - MSETransportGuidByte7, - MSEFallCosAngle, - MSEFallHorizontalSpeed, - MSEFallSinAngle, - MSEFallTime, - MSEFallVerticalSpeed, - MSESplineElevation, - MSEOrientation, - MSEPitch, - MSETimestamp, - MSEEnd, -}; - -//4.3.4 -MovementStatusElements MovementStopTurnSequence[] = -{ - MSEPositionX, - MSEPositionZ, - MSEPositionY, - MSEHasGuidByte5, - MSEHasGuidByte4, - MSEHasFallData, - MSEZeroBit, - MSEHasGuidByte1, - MSEHasGuidByte0, - MSEHasSpline, - MSEHasMovementFlags, - MSEHasGuidByte2, - MSEHasGuidByte6, - MSEHasPitch, - MSEHasTransportData, - MSEHasGuidByte3, - MSEHasSplineElevation, - MSEHasTimestamp, - MSEHasMovementFlags2, - MSEHasOrientation, - MSEHasGuidByte7, - MSEHasTransportGuidByte2, - MSEHasTransportGuidByte7, - MSEHasTransportTime3, - MSEHasTransportGuidByte4, - MSEHasTransportTime2, - MSEHasTransportGuidByte5, - MSEHasTransportGuidByte0, - MSEHasTransportGuidByte3, - MSEHasTransportGuidByte6, - MSEHasTransportGuidByte1, - MSEHasFallDirection, - MSEMovementFlags, - MSEMovementFlags2, - MSEGuidByte3, - MSEGuidByte2, - MSEGuidByte6, - MSEGuidByte4, - MSEGuidByte0, - MSEGuidByte7, - MSEGuidByte1, - MSEGuidByte5, - MSESplineElevation, - MSETransportPositionX, - MSETransportGuidByte5, - MSETransportSeat, - MSETransportGuidByte2, - MSETransportGuidByte3, - MSETransportOrientation, - MSETransportTime2, - MSETransportTime3, - MSETransportGuidByte7, - MSETransportGuidByte1, - MSETransportGuidByte0, - MSETransportGuidByte4, - MSETransportPositionY, - MSETransportPositionZ, - MSETransportTime, - MSETransportGuidByte6, - MSEFallTime, - MSEFallHorizontalSpeed, - MSEFallCosAngle, - MSEFallSinAngle, - MSEFallVerticalSpeed, - MSETimestamp, - MSEPitch, - MSEOrientation, - MSEEnd, -}; - -//4.3.4 -MovementStatusElements MovementStartAscendSequence[] = -{ - MSEPositionX, - MSEPositionY, - MSEPositionZ, - MSEHasGuidByte0, - MSEHasGuidByte1, - MSEHasGuidByte7, - MSEZeroBit, - MSEHasGuidByte5, - MSEHasTransportData, - MSEHasGuidByte2, - MSEHasSplineElevation, - MSEHasFallData, - MSEHasSpline, - MSEHasGuidByte3, - MSEHasMovementFlags2, - MSEHasGuidByte6, - MSEHasMovementFlags, - MSEHasPitch, - MSEHasTimestamp, - MSEHasOrientation, - MSEHasGuidByte4, - MSEMovementFlags, - MSEHasTransportGuidByte0, - MSEHasTransportGuidByte2, - MSEHasTransportTime3, - MSEHasTransportGuidByte6, - MSEHasTransportGuidByte1, - MSEHasTransportGuidByte4, - MSEHasTransportTime2, - MSEHasTransportGuidByte5, - MSEHasTransportGuidByte3, - MSEHasTransportGuidByte7, - MSEMovementFlags2, - MSEHasFallDirection, - MSEGuidByte6, - MSEGuidByte3, - MSEGuidByte1, - MSEGuidByte4, - MSEGuidByte2, - MSEGuidByte0, - MSEGuidByte5, - MSEGuidByte7, - MSETransportGuidByte3, - MSETransportGuidByte5, - MSETransportGuidByte4, - MSETransportSeat, - MSETransportGuidByte2, - MSETransportOrientation, - MSETransportPositionY, - MSETransportGuidByte7, - MSETransportTime2, - MSETransportPositionZ, - MSETransportTime3, - MSETransportGuidByte6, - MSETransportTime, - MSETransportGuidByte0, - MSETransportGuidByte1, - MSETransportPositionX, - MSEFallCosAngle, - MSEFallSinAngle, - MSEFallHorizontalSpeed, - MSEFallTime, - MSEFallVerticalSpeed, - MSEOrientation, - MSEPitch, - MSETimestamp, - MSESplineElevation, - MSEEnd, -}; - -//4.3.4 -MovementStatusElements MovementStartDescendSequence[] = +namespace Movement { - MSEPositionY, - MSEPositionZ, - MSEPositionX, - MSEHasGuidByte0, - MSEHasPitch, - MSEHasFallData, - MSEHasGuidByte4, - MSEHasOrientation, - MSEHasTimestamp, - MSEHasMovementFlags2, - MSEHasMovementFlags, - MSEHasGuidByte6, - MSEZeroBit, - MSEHasGuidByte1, - MSEHasTransportData, - MSEHasSpline, - MSEHasSplineElevation, - MSEHasGuidByte5, - MSEHasGuidByte3, - MSEHasGuidByte7, - MSEHasGuidByte2, - MSEHasTransportGuidByte0, - MSEHasTransportGuidByte1, - MSEHasTransportGuidByte2, - MSEHasTransportTime3, - MSEHasTransportGuidByte7, - MSEHasTransportGuidByte4, - MSEHasTransportGuidByte6, - MSEHasTransportTime2, - MSEHasTransportGuidByte3, - MSEHasTransportGuidByte5, - MSEMovementFlags2, - MSEMovementFlags, - MSEHasFallDirection, - MSEGuidByte2, - MSEGuidByte7, - MSEGuidByte6, - MSEGuidByte0, - MSEGuidByte1, - MSEGuidByte5, - MSEGuidByte4, - MSEGuidByte3, - MSEPitch, - MSETransportPositionZ, - MSETransportSeat, - MSETransportTime3, - MSETransportGuidByte6, - MSETransportTime2, - MSETransportGuidByte1, - MSETransportTime, - MSETransportGuidByte4, - MSETransportPositionY, - MSETransportPositionX, - MSETransportGuidByte7, - MSETransportGuidByte3, - MSETransportGuidByte5, - MSETransportGuidByte2, - MSETransportOrientation, - MSETransportGuidByte0, - MSEFallTime, - MSEFallSinAngle, - MSEFallCosAngle, - MSEFallHorizontalSpeed, - MSEFallVerticalSpeed, - MSETimestamp, - MSEOrientation, - MSESplineElevation, - MSEEnd, -}; - -//4.3.4 -MovementStatusElements MovementStartSwimSequence[] = -{ - MSEPositionZ, - MSEPositionX, - MSEPositionY, - MSEHasGuidByte3, - MSEHasSplineElevation, - MSEHasGuidByte4, - MSEHasGuidByte7, - MSEZeroBit, - MSEHasPitch, - MSEHasGuidByte0, - MSEHasOrientation, - MSEHasMovementFlags, - MSEHasFallData, - MSEHasGuidByte5, - MSEHasTransportData, - MSEHasMovementFlags2, - MSEHasTimestamp, - MSEHasGuidByte6, - MSEHasGuidByte1, - MSEHasSpline, - MSEHasGuidByte2, - MSEHasTransportGuidByte2, - MSEHasTransportGuidByte3, - MSEHasTransportGuidByte7, - MSEHasTransportGuidByte5, - MSEHasTransportGuidByte4, - MSEHasTransportGuidByte0, - MSEHasTransportTime2, - MSEHasTransportGuidByte6, - MSEHasTransportGuidByte1, - MSEHasTransportTime3, - MSEMovementFlags, - MSEHasFallDirection, - MSEMovementFlags2, - MSEGuidByte0, - MSEGuidByte2, - MSEGuidByte1, - MSEGuidByte5, - MSEGuidByte4, - MSEGuidByte6, - MSEGuidByte3, - MSEGuidByte7, - MSEPitch, - MSETransportTime2, - MSETransportGuidByte2, - MSETransportPositionY, - MSETransportGuidByte3, - MSETransportTime, - MSETransportPositionX, - MSETransportOrientation, - MSETransportTime3, - MSETransportGuidByte6, - MSETransportGuidByte5, - MSETransportGuidByte4, - MSETransportPositionZ, - MSETransportGuidByte1, - MSETransportGuidByte7, - MSETransportGuidByte0, - MSETransportSeat, - MSEFallCosAngle, - MSEFallHorizontalSpeed, - MSEFallSinAngle, - MSEFallVerticalSpeed, - MSEFallTime, - MSEOrientation, - MSETimestamp, - MSESplineElevation, - MSEEnd, -}; - -//4.3.4 -MovementStatusElements MovementStopSwimSequence[] = -{ - MSEPositionX, - MSEPositionY, - MSEPositionZ, - MSEHasSpline, - MSEHasPitch, - MSEHasGuidByte5, - MSEHasGuidByte3, - MSEHasGuidByte7, - MSEHasSplineElevation, - MSEHasMovementFlags, - MSEHasGuidByte4, - MSEHasMovementFlags2, - MSEHasGuidByte2, - MSEHasGuidByte6, - MSEHasTransportData, - MSEHasOrientation, - MSEZeroBit, - MSEHasTimestamp, - MSEHasGuidByte1, - MSEHasGuidByte0, - MSEHasFallData, - MSEHasTransportTime3, - MSEHasTransportGuidByte4, - MSEHasTransportGuidByte6, - MSEHasTransportGuidByte3, - MSEHasTransportGuidByte7, - MSEHasTransportGuidByte1, - MSEHasTransportGuidByte0, - MSEHasTransportTime2, - MSEHasTransportGuidByte2, - MSEHasTransportGuidByte5, - MSEMovementFlags, - MSEMovementFlags2, - MSEHasFallDirection, - MSEGuidByte0, - MSEGuidByte4, - MSEGuidByte3, - MSEGuidByte6, - MSEGuidByte7, - MSEGuidByte1, - MSEGuidByte5, - MSEGuidByte2, - MSETransportTime3, - MSETransportGuidByte4, - MSETransportTime, - MSETransportPositionZ, - MSETransportSeat, - MSETransportGuidByte3, - MSETransportGuidByte2, - MSETransportPositionY, - MSETransportGuidByte7, - MSETransportGuidByte1, - MSETransportGuidByte6, - MSETransportGuidByte5, - MSETransportTime2, - MSETransportPositionX, - MSETransportGuidByte0, - MSETransportOrientation, - MSEFallVerticalSpeed, - MSEFallCosAngle, - MSEFallHorizontalSpeed, - MSEFallSinAngle, - MSEFallTime, - MSETimestamp, - MSEPitch, - MSEOrientation, - MSESplineElevation, - MSEEnd, -}; - -//4.3.4 -MovementStatusElements MovementStopAscendSequence[] = -{ - MSEPositionZ, - MSEPositionY, - MSEPositionX, - MSEHasGuidByte3, - MSEHasGuidByte2, - MSEHasFallData, - MSEHasGuidByte7, - MSEHasOrientation, - MSEHasPitch, - MSEHasSpline, - MSEZeroBit, - MSEHasGuidByte1, - MSEHasGuidByte4, - MSEHasMovementFlags, - MSEHasGuidByte0, - MSEHasGuidByte6, - MSEHasSplineElevation, - MSEHasTransportData, - MSEHasMovementFlags2, - MSEHasTimestamp, - MSEHasGuidByte5, - MSEHasTransportTime2, - MSEHasTransportTime3, - MSEHasTransportGuidByte1, - MSEHasTransportGuidByte3, - MSEHasTransportGuidByte2, - MSEHasTransportGuidByte5, - MSEHasTransportGuidByte7, - MSEHasTransportGuidByte4, - MSEHasTransportGuidByte6, - MSEHasTransportGuidByte0, - MSEMovementFlags2, - MSEMovementFlags, - MSEHasFallDirection, - MSEGuidByte7, - MSEGuidByte5, - MSEGuidByte4, - MSEGuidByte3, - MSEGuidByte2, - MSEGuidByte1, - MSEGuidByte0, - MSEGuidByte6, - MSETransportGuidByte5, - MSETransportPositionY, - MSETransportGuidByte7, - MSETransportGuidByte2, - MSETransportGuidByte6, - MSETransportTime2, - MSETransportTime3, - MSETransportOrientation, - MSETransportGuidByte3, - MSETransportGuidByte4, - MSETransportSeat, - MSETransportGuidByte1, - MSETransportTime, - MSETransportGuidByte0, - MSETransportPositionX, - MSETransportPositionZ, - MSEFallTime, - MSEFallVerticalSpeed, - MSEFallCosAngle, - MSEFallSinAngle, - MSEFallHorizontalSpeed, - MSEPitch, - MSESplineElevation, - MSETimestamp, - MSEOrientation, - MSEEnd, -}; - -//4.3.4 -MovementStatusElements MovementStopPitchSequence[] = -{ - MSEPositionY, - MSEPositionX, - MSEPositionZ, - MSEHasGuidByte0, - MSEHasGuidByte5, - MSEHasGuidByte3, - MSEHasFallData, - MSEHasGuidByte2, - MSEHasGuidByte4, - MSEHasGuidByte7, - MSEHasPitch, - MSEHasSpline, - MSEHasOrientation, - MSEZeroBit, - MSEHasMovementFlags2, - MSEHasSplineElevation, - MSEHasGuidByte6, - MSEHasGuidByte1, - MSEHasTimestamp, - MSEHasTransportData, - MSEHasMovementFlags, - MSEHasTransportGuidByte7, - MSEHasTransportGuidByte0, - MSEHasTransportGuidByte5, - MSEHasTransportGuidByte2, - MSEHasTransportTime3, - MSEHasTransportGuidByte6, - MSEHasTransportGuidByte3, - MSEHasTransportTime2, - MSEHasTransportGuidByte4, - MSEHasTransportGuidByte1, - MSEHasFallDirection, - MSEMovementFlags2, - MSEMovementFlags, - MSEGuidByte1, - MSEGuidByte7, - MSEGuidByte0, - MSEGuidByte6, - MSEGuidByte4, - MSEGuidByte3, - MSEGuidByte5, - MSEGuidByte2, - MSETimestamp, - MSEFallHorizontalSpeed, - MSEFallSinAngle, - MSEFallCosAngle, - MSEFallVerticalSpeed, - MSEFallTime, - MSETransportGuidByte5, - MSETransportGuidByte2, - MSETransportTime2, - MSETransportPositionX, - MSETransportOrientation, - MSETransportGuidByte6, - MSETransportGuidByte3, - MSETransportGuidByte1, - MSETransportPositionZ, - MSETransportTime3, - MSETransportGuidByte0, - MSETransportGuidByte4, - MSETransportTime, - MSETransportPositionY, - MSETransportSeat, - MSETransportGuidByte7, - MSESplineElevation, - MSEOrientation, - MSEPitch, - MSEEnd, -}; - -//4.3.4 -MovementStatusElements MovementStartPitchDownSequence[] = -{ - MSEPositionX, - MSEPositionZ, - MSEPositionY, - MSEHasMovementFlags, - MSEHasGuidByte7, - MSEHasGuidByte6, - MSEHasPitch, - MSEZeroBit, - MSEHasGuidByte1, - MSEHasGuidByte4, - MSEHasTimestamp, - MSEHasSplineElevation, - MSEHasMovementFlags2, - MSEHasTransportData, - MSEHasGuidByte0, - MSEHasGuidByte5, - MSEHasGuidByte3, - MSEHasSpline, - MSEHasOrientation, - MSEHasFallData, - MSEHasGuidByte2, - MSEHasTransportGuidByte1, - MSEHasTransportGuidByte5, - MSEHasTransportTime3, - MSEHasTransportGuidByte7, - MSEHasTransportGuidByte4, - MSEHasTransportGuidByte6, - MSEHasTransportTime2, - MSEHasTransportGuidByte0, - MSEHasTransportGuidByte3, - MSEHasTransportGuidByte2, - MSEMovementFlags2, - MSEHasFallDirection, - MSEMovementFlags, - MSEGuidByte3, - MSEGuidByte7, - MSEGuidByte0, - MSEGuidByte5, - MSEGuidByte2, - MSEGuidByte6, - MSEGuidByte4, - MSEGuidByte1, - MSETransportTime3, - MSETransportGuidByte3, - MSETransportTime2, - MSETransportGuidByte5, - MSETransportGuidByte1, - MSETransportPositionY, - MSETransportGuidByte6, - MSETransportGuidByte4, - MSETransportTime, - MSETransportPositionZ, - MSETransportPositionX, - MSETransportGuidByte0, - MSETransportSeat, - MSETransportGuidByte2, - MSETransportGuidByte7, - MSETransportOrientation, - MSEFallSinAngle, - MSEFallHorizontalSpeed, - MSEFallCosAngle, - MSEFallVerticalSpeed, - MSEFallTime, - MSEPitch, - MSEOrientation, - MSESplineElevation, - MSETimestamp, - MSEEnd, -}; - -//4.3.4 -MovementStatusElements MovementStartPitchUpSequence[] = -{ - MSEPositionZ, - MSEPositionY, - MSEPositionX, - MSEHasGuidByte4, - MSEHasMovementFlags, - MSEHasMovementFlags2, - MSEHasSpline, - MSEHasGuidByte2, - MSEHasGuidByte6, - MSEHasGuidByte3, - MSEZeroBit, - MSEHasSplineElevation, - MSEHasFallData, - MSEHasGuidByte0, - MSEHasTransportData, - MSEHasGuidByte1, - MSEHasGuidByte5, - MSEHasPitch, - MSEHasTimestamp, - MSEHasOrientation, - MSEHasGuidByte7, - MSEMovementFlags2, - MSEHasTransportGuidByte7, - MSEHasTransportGuidByte3, - MSEHasTransportGuidByte1, - MSEHasTransportTime2, - MSEHasTransportGuidByte4, - MSEHasTransportTime3, - MSEHasTransportGuidByte0, - MSEHasTransportGuidByte6, - MSEHasTransportGuidByte5, - MSEHasTransportGuidByte2, - MSEMovementFlags, - MSEHasFallDirection, - MSEGuidByte0, - MSEGuidByte3, - MSEGuidByte4, - MSEGuidByte6, - MSEGuidByte7, - MSEGuidByte1, - MSEGuidByte5, - MSEGuidByte2, - MSETransportPositionX, - MSETransportGuidByte1, - MSETransportGuidByte3, - MSETransportGuidByte2, - MSETransportGuidByte0, - MSETransportTime, - MSETransportPositionZ, - MSETransportOrientation, - MSETransportGuidByte7, - MSETransportTime2, - MSETransportSeat, - MSETransportGuidByte6, - MSETransportGuidByte5, - MSETransportTime3, - MSETransportPositionY, - MSETransportGuidByte4, - MSEFallTime, - MSEFallCosAngle, - MSEFallSinAngle, - MSEFallHorizontalSpeed, - MSEFallVerticalSpeed, - MSEOrientation, - MSESplineElevation, - MSEPitch, - MSETimestamp, - MSEEnd, -}; - -MovementStatusElements MoveChngTransport[]= -{ - MSEPositionY, - MSEPositionX, - MSEPositionZ, - MSEHasGuidByte4, - MSEHasGuidByte0, - MSEHasGuidByte2, - MSEHasTransportData, - MSEHasSpline, - MSEHasOrientation, - MSEHasGuidByte6, - MSEHasTimestamp, - MSEHasGuidByte5, - MSEHasGuidByte7, - MSEHasPitch, - MSEZeroBit, - MSEHasGuidByte3, - MSEHasSplineElevation, - MSEHasGuidByte1, - MSEHasFallData, - MSEHasMovementFlags, - MSEHasMovementFlags2, - - MSEHasTransportGuidByte3, - MSEHasTransportTime3, - MSEHasTransportGuidByte4, - MSEHasTransportGuidByte1, - MSEHasTransportGuidByte6, - MSEHasTransportGuidByte2, - MSEHasTransportTime2, - MSEHasTransportGuidByte0, - MSEHasTransportGuidByte7, - MSEHasTransportGuidByte5, - - MSEMovementFlags, - MSEMovementFlags2, - MSEHasFallDirection, - - MSEGuidByte7, - MSEGuidByte5, - MSEGuidByte1, - MSEGuidByte2, - MSEGuidByte6, - MSEGuidByte4, - MSEGuidByte0, - MSEGuidByte3, - - MSETransportPositionY, - MSETransportSeat, - MSETransportGuidByte1, - MSETransportGuidByte0, - MSETransportGuidByte2, - MSETransportGuidByte3, - MSETransportGuidByte6, - MSETransportPositionZ, - MSETransportPositionX, - MSETransportTime3, - MSETransportTime, - MSETransportGuidByte7, - MSETransportGuidByte5, - MSETransportGuidByte4, - MSETransportOrientation, - MSETransportTime2, - - MSEFallTime, - MSEFallHorizontalSpeed, - MSEFallCosAngle, - MSEFallSinAngle, - MSEFallVerticalSpeed, - - MSEOrientation, - MSEPitch, - MSESplineElevation, - MSETimestamp, - MSEEnd, -}; - -// 4.3.4 -MovementStatusElements MoveSplineDone[] = -{ - MSEPositionY, - MSEPositionX, - MSEPositionZ, - MSEHasGuidByte6, - MSEHasOrientation, - MSEHasFallData, - MSEHasTimestamp, - MSEHasGuidByte2, - MSEHasSplineElevation, - MSEHasGuidByte4, - MSEHasTransportData, - MSEHasGuidByte3, - MSEHasMovementFlags, - MSEHasGuidByte0, - MSEZeroBit, - MSEHasGuidByte1, - MSEHasGuidByte5, - MSEHasPitch, - MSEHasSpline, - MSEHasMovementFlags2, - MSEHasGuidByte7, - - MSEHasTransportGuidByte1, - MSEHasTransportGuidByte7, - MSEHasTransportGuidByte5, - MSEHasTransportGuidByte3, - MSEHasTransportGuidByte4, - MSEHasTransportGuidByte6, - MSEHasTransportTime2, - MSEHasTransportGuidByte2, - MSEHasTransportTime3, - MSEHasTransportGuidByte0, - - MSEHasFallDirection, - MSEMovementFlags2, - MSEMovementFlags, - - MSEGuidByte7, - MSEGuidByte4, - MSEGuidByte5, - MSEGuidByte6, - MSEGuidByte0, - MSEGuidByte1, - MSEGuidByte2, - MSEGuidByte3, - - MSEFallVerticalSpeed, - MSEFallSinAngle, - MSEFallCosAngle, - MSEFallHorizontalSpeed, - MSEFallTime, - - MSEPitch, - MSEOrientation, - - MSETransportGuidByte1, - MSETransportTime3, - MSETransportGuidByte7, - MSETransportTime, - MSETransportPositionY, - MSETransportPositionX, - MSETransportPositionZ, - MSETransportSeat, - MSETransportOrientation, - MSETransportGuidByte0, - MSETransportTime2, - MSETransportGuidByte2, - MSETransportGuidByte3, - MSETransportGuidByte5, - MSETransportGuidByte6, - MSETransportGuidByte4, - - MSETimestamp, - MSESplineElevation, - MSEEnd, -}; - -// 4.3.4 -MovementStatusElements MoveNotActiveMover[] = -{ - MSEPositionZ, - MSEPositionX, - MSEPositionY, - MSEHasMovementFlags2, - MSEHasTransportData, - MSEHasGuidByte6, - MSEHasSplineElevation, - MSEHasGuidByte3, - MSEZeroBit, - MSEHasTimestamp, - MSEHasGuidByte0, - MSEHasOrientation, - MSEHasGuidByte5, - MSEHasPitch, - MSEHasGuidByte1, - MSEHasGuidByte4, - MSEHasGuidByte7, - MSEHasSpline, - MSEHasGuidByte2, - MSEHasFallData, - MSEHasMovementFlags, - - MSEHasTransportGuidByte4, - MSEHasTransportGuidByte0, - MSEHasTransportGuidByte1, - MSEHasTransportGuidByte6, - MSEHasTransportGuidByte2, - MSEHasTransportTime3, - MSEHasTransportGuidByte5, - MSEHasTransportGuidByte7, - MSEHasTransportTime2, - MSEHasTransportGuidByte3, - - MSEHasFallDirection, - MSEMovementFlags, - MSEMovementFlags2, - - MSEGuidByte1, - MSEGuidByte0, - MSEGuidByte4, - MSEGuidByte2, - MSEGuidByte7, - MSEGuidByte5, - MSEGuidByte6, - MSEGuidByte3, - - MSEFallVerticalSpeed, - MSEFallCosAngle, - MSEFallSinAngle, - MSEFallHorizontalSpeed, - MSEFallTime, - - MSETransportTime3, - MSETransportGuidByte1, - MSETransportTime2, - MSETransportOrientation, - MSETransportGuidByte0, - MSETransportSeat, - MSETransportGuidByte4, - MSETransportGuidByte6, - MSETransportGuidByte3, - MSETransportGuidByte5, - MSETransportPositionY, - MSETransportPositionX, - MSETransportGuidByte2, - MSETransportPositionZ, - MSETransportGuidByte7, - MSETransportTime, - - MSETimestamp, - MSESplineElevation, - MSEPitch, - MSEOrientation, - - MSEEnd, -}; - -// 4.3.4 -MovementStatusElements DismissControlledVehicle[] = -{ - MSEPositionY, - MSEPositionZ, - MSEPositionX, - MSEHasSplineElevation, - MSEHasFallData, - MSEHasTransportData, - MSEHasGuidByte4, - MSEHasGuidByte7, - MSEHasMovementFlags2, - MSEHasGuidByte2, - MSEHasOrientation, - MSEHasGuidByte0, - MSEHasGuidByte6, - MSEHasPitch, - MSEHasTimestamp, - MSEHasGuidByte1, - MSEZeroBit, - MSEHasSpline, - MSEHasGuidByte3, - MSEHasMovementFlags, - MSEHasGuidByte5, - - MSEHasTransportGuidByte5, - MSEHasTransportTime3, - MSEHasTransportGuidByte2, - MSEHasTransportGuidByte0, - MSEHasTransportGuidByte7, - MSEHasTransportGuidByte3, - MSEHasTransportGuidByte4, - MSEHasTransportGuidByte1, - MSEHasTransportGuidByte6, - MSEHasTransportTime2, - - MSEMovementFlags2, - MSEHasFallDirection, - MSEMovementFlags, - - MSEGuidByte6, - MSEGuidByte3, - MSEGuidByte1, - MSEGuidByte5, - MSEGuidByte2, - MSEGuidByte4, - MSEGuidByte7, - MSEGuidByte0, - - MSETimestamp, - - MSETransportTime3, - MSETransportGuidByte4, - MSETransportGuidByte7, - MSETransportTime2, - MSETransportGuidByte6, - MSETransportTime, - MSETransportPositionZ, - MSETransportGuidByte0, - MSETransportPositionX, - MSETransportGuidByte3, - MSETransportSeat, - MSETransportPositionY, - MSETransportOrientation, - MSETransportGuidByte1, - MSETransportGuidByte5, - MSETransportGuidByte2, - - MSEFallTime, - MSEFallHorizontalSpeed, - MSEFallSinAngle, - MSEFallCosAngle, - MSEFallVerticalSpeed, - - MSEOrientation, - MSESplineElevation, - MSEPitch, - MSEEnd, -}; - -// 4.3.4 -MovementStatusElements MoveUpdateTeleport[] = -{ - MSEPositionZ, - MSEPositionY, - MSEPositionX, - MSEHasOrientation, - - MSEHasSpline, - MSEHasMovementFlags, - MSEHasGuidByte2, - MSEHasGuidByte4, - MSEHasGuidByte6, - MSEHasFallData, - MSEHasGuidByte0, - MSEHasTransportData, - MSEHasGuidByte5, - - MSEHasTransportGuidByte1, - MSEHasTransportGuidByte4, - MSEHasTransportGuidByte5, - MSEHasTransportGuidByte3, - MSEHasTransportGuidByte0, - MSEHasTransportTime2, - MSEHasTransportGuidByte7, - MSEHasTransportGuidByte6, - MSEHasTransportTime3, - MSEHasTransportGuidByte2, - - MSEZeroBit, - - MSEHasGuidByte7, - MSEHasGuidByte3, - MSEHasPitch, - MSEHasMovementFlags2, - MSEHasTimestamp, - - MSEHasFallDirection, - MSEMovementFlags2, - MSEHasSplineElevation, - MSEMovementFlags, - MSEHasGuidByte1, - - MSEGuidByte7, - MSETransportGuidByte3, - MSETransportGuidByte4, - MSETransportOrientation, - MSETransportTime3, - MSETransportGuidByte1, - MSETransportTime2, - MSETransportPositionZ, - MSETransportGuidByte7, - MSETransportGuidByte0, - MSETransportGuidByte6, - MSETransportGuidByte5, - MSETransportGuidByte2, - MSETransportSeat, - MSETransportTime, - MSETransportPositionY, - MSETransportPositionX, - - MSEGuidByte6, - MSEPitch, - MSESplineElevation, - MSEOrientation, - MSEGuidByte2, - MSEGuidByte3, - MSEGuidByte1, + class ExtraMovementStatusElement + { + public: + ExtraMovementStatusElement(MovementStatusElements const* elements) : _elements(elements), _index(0) { } - MSEFallTime, - MSEFallHorizontalSpeed, - MSEFallSinAngle, - MSEFallCosAngle, - MSEFallVerticalSpeed, + void ReadNextElement(ByteBuffer& packet); + void WriteNextElement(ByteBuffer& packet); - MSEGuidByte5, - MSEGuidByte4, - MSETimestamp, - MSEGuidByte0, + struct + { + ObjectGuid guid; + float floatData; + } Data; - MSEEnd, -}; + private: + MovementStatusElements const* _elements; + uint32 _index; + }; -MovementStatusElements* GetMovementStatusElementsSequence(Opcodes opcode) -{ - switch (opcode) + class PacketSender { - case MSG_MOVE_FALL_LAND: - return MovementFallLandSequence; - case MSG_MOVE_HEARTBEAT: - 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_START_ASCEND: - return MovementStartAscendSequence; - case MSG_MOVE_START_BACKWARD: - return MovementStartBackwardSequence; - case MSG_MOVE_START_DESCEND: - return MovementStartDescendSequence; - case MSG_MOVE_START_FORWARD: - return MovementStartForwardSequence; - case MSG_MOVE_START_PITCH_DOWN: - return MovementStartPitchDownSequence; - case MSG_MOVE_START_PITCH_UP: - return MovementStartPitchUpSequence; - case MSG_MOVE_START_STRAFE_LEFT: - return MovementStartStrafeLeftSequence; - case MSG_MOVE_START_STRAFE_RIGHT: - return MovementStartStrafeRightSequence; - case MSG_MOVE_START_SWIM: - return MovementStartSwimSequence; - case MSG_MOVE_START_TURN_LEFT: - return MovementStartTurnLeftSequence; - case MSG_MOVE_START_TURN_RIGHT: - return MovementStartTurnRightSequence; - case MSG_MOVE_STOP: - return MovementStopSequence; - case MSG_MOVE_STOP_ASCEND: - return MovementStopAscendSequence; - case MSG_MOVE_STOP_PITCH: - return MovementStopPitchSequence; - case MSG_MOVE_STOP_STRAFE: - return MovementStopStrafeSequence; - case MSG_MOVE_STOP_SWIM: - return MovementStopSwimSequence; - case MSG_MOVE_STOP_TURN: - return MovementStopTurnSequence; - case SMSG_PLAYER_MOVE: - return PlayerMoveSequence; - case CMSG_MOVE_CHNG_TRANSPORT: - return MoveChngTransport; - case CMSG_MOVE_SPLINE_DONE: - return MoveSplineDone; - case CMSG_MOVE_NOT_ACTIVE_MOVER: - return MoveNotActiveMover; - case CMSG_DISMISS_CONTROLLED_VEHICLE: - return DismissControlledVehicle; - case MSG_MOVE_UPDATE_TELEPORT: - return MoveUpdateTeleport; - default: - break; - } + public: + PacketSender(Unit* unit, Opcodes serverControl, Opcodes playerControl, Opcodes broadcast = SMSG_PLAYER_MOVE, ExtraMovementStatusElement* extras = NULL); + + void Send() const; - return NULL; + private: + ExtraMovementStatusElement* _extraElements; + Unit* _unit; + Opcodes _selfOpcode; + Opcodes _broadcast; + }; } +MovementStatusElements* GetMovementStatusElementsSequence(Opcodes opcode); + #endif |
