aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Movement/MovementStructures.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2013-04-09 17:24:39 +0200
committerShauren <shauren.trinity@gmail.com>2013-04-09 17:24:39 +0200
commit12a828fdbc01b9fca817829f9da3be2cf8cedf46 (patch)
treebedf2c3cf036f4e56635f4e41c41b4e72f9418a3 /src/server/game/Movement/MovementStructures.cpp
parentc34fd8d862fa85e8e1ed9d6abac349647f6cc082 (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/MovementStructures.cpp')
-rw-r--r--src/server/game/Movement/MovementStructures.cpp5010
1 files changed, 5010 insertions, 0 deletions
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;
+}