/* * Copyright (C) 2008-2011 TrinityCore * Copyright (C) 2005-2009 MaNGOS * * 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 . */ #ifndef _MOVEMENT_STRUCTURES_H #define _MOVEMENT_STRUCTURES_H enum MovementStatusElements { MSEFlags, MSEFlags2, MSETimestamp, MSEHavePitch, MSEGuidByte0, MSEGuidByte1, MSEGuidByte2, MSEGuidByte3, MSEGuidByte4, MSEGuidByte5, MSEGuidByte6, MSEGuidByte7, MSEHaveFallData, MSEHaveFallDirection, MSEHaveTransportData, MSETransportHaveTime2, MSETransportHaveTime3, MSETransportGuidByte0, MSETransportGuidByte1, MSETransportGuidByte2, MSETransportGuidByte3, MSETransportGuidByte4, MSETransportGuidByte5, MSETransportGuidByte6, MSETransportGuidByte7, MSEHaveSpline, MSEHaveSplineElev, MSEPositionX, MSEPositionY, MSEPositionZ, MSEPositionO, MSEGuidByte0_2, MSEGuidByte1_2, MSEGuidByte2_2, MSEGuidByte3_2, MSEGuidByte4_2, MSEGuidByte5_2, MSEGuidByte6_2, MSEGuidByte7_2, MSEPitch, MSEFallTime, MSETransportGuidByte0_2, MSETransportGuidByte1_2, MSETransportGuidByte2_2, MSETransportGuidByte3_2, MSETransportGuidByte4_2, MSETransportGuidByte5_2, MSETransportGuidByte6_2, MSETransportGuidByte7_2, MSESplineElev, MSEFallHorizontalSpeed, MSEFallVerticalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSETransportSeat, MSETransportPositionO, MSETransportPositionX, MSETransportPositionY, MSETransportPositionZ, MSETransportTime, MSETransportTime2, MSETransportTime3, MSE_COUNT }; //4.2.2 MovementStatusElements PlayerMoveSequence[] = { MSEHaveSplineElev, MSEHaveTransportData, MSEGuidByte5, MSETransportGuidByte2, MSETransportGuidByte4, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportGuidByte0, MSETransportHaveTime2, MSETransportGuidByte7, MSETransportHaveTime3, MSETransportGuidByte6, MSETransportGuidByte5, MSEGuidByte7, MSEGuidByte3, MSEGuidByte1, MSEGuidByte4, MSEGuidByte0, MSEFlags, MSEHavePitch, MSEGuidByte2, MSEFlags2, MSEGuidByte6, MSEHaveFallData, MSEHaveFallDirection, MSEHaveSpline, MSEGuidByte4_2, MSEGuidByte0_2, MSEPositionO, MSEGuidByte6_2, MSEGuidByte7_2, MSESplineElev, MSETransportGuidByte4_2, MSETransportGuidByte2_2, MSETransportPositionO, MSETransportTime, MSETransportSeat, MSETransportGuidByte3_2, MSETransportPositionX, MSETransportPositionY, MSETransportPositionZ, MSETransportGuidByte1_2, MSETransportTime2, MSETransportTime3, MSETransportGuidByte5_2, MSETransportGuidByte0_2, MSETransportGuidByte6_2, MSETransportGuidByte7_2, MSEGuidByte2_2, MSETimestamp, MSEGuidByte1_2, MSEPitch, MSEPositionX, MSEPositionY, MSEPositionZ, MSEGuidByte5_2, MSEGuidByte3_2, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSEFallVerticalSpeed, MSEFallTime, }; //4.2.2 MovementStatusElements MovementFallLandSequence[] = { MSEGuidByte4, MSEGuidByte6, MSEGuidByte3, MSEHaveSpline, MSEGuidByte2, MSEFlags, MSEGuidByte7, MSEGuidByte1, MSEFlags2, MSEGuidByte5, MSEGuidByte0, MSEHaveFallData, MSEHaveFallDirection, MSEHavePitch, MSEHaveTransportData, MSETransportGuidByte0, MSETransportGuidByte6, MSETransportGuidByte2, MSETransportGuidByte5, MSETransportGuidByte4, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportGuidByte7, MSETransportHaveTime2, MSETransportHaveTime3, MSEHaveSplineElev, MSEPositionO, MSEPositionX, MSEPositionY, MSEPositionZ, MSETimestamp, MSEGuidByte7_2, MSEGuidByte2_2, MSEFallTime, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSEGuidByte0_2, MSEPitch, MSEGuidByte4_2, MSEGuidByte6_2, MSEGuidByte5_2, MSEGuidByte3_2, MSETransportSeat, MSETransportPositionO, MSETransportPositionX, MSETransportPositionY, MSETransportPositionZ, MSETransportTime, MSETransportTime2, MSETransportGuidByte3_2, MSETransportGuidByte6_2, MSETransportTime3, MSETransportGuidByte7_2, MSETransportGuidByte5_2, MSETransportGuidByte2_2, MSETransportGuidByte1_2, MSETransportGuidByte0_2, MSETransportGuidByte4_2, MSESplineElev, MSEGuidByte1_2, }; //4.2.2 MovementStatusElements MovementHeartBeatSequence[] = { MSEFlags, MSEHaveSpline, MSEGuidByte0, MSEGuidByte6, MSEGuidByte1, MSEGuidByte7, MSEGuidByte2, MSEGuidByte4, MSEGuidByte3, MSEFlags2, MSEGuidByte5, MSEHaveSplineElev, MSEHaveTransportData, MSETransportGuidByte0, MSETransportGuidByte6, MSETransportGuidByte2, MSETransportGuidByte5, MSETransportGuidByte4, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportGuidByte7, MSETransportHaveTime2, MSETransportHaveTime3, MSEHavePitch, MSEHaveFallData, MSEHaveFallDirection, MSETimestamp, MSEPositionX, MSEPositionY, MSEPositionZ, MSEPositionO, MSEGuidByte7_2, MSEGuidByte5_2, MSESplineElev, MSEGuidByte1_2, MSEGuidByte6_2, MSEGuidByte4_2, MSEGuidByte3_2, MSETransportSeat, MSETransportPositionO, MSETransportPositionX, MSETransportPositionY, MSETransportPositionZ, MSETransportTime, MSETransportTime2, MSETransportGuidByte3_2, MSETransportGuidByte6_2, MSETransportTime3, MSETransportGuidByte7_2, MSETransportGuidByte5_2, MSETransportGuidByte2_2, MSETransportGuidByte1_2, MSETransportGuidByte0_2, MSETransportGuidByte4_2, MSEPitch, MSEFallTime, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSEGuidByte2_2, MSEGuidByte0_2, }; //4.2.2 MovementStatusElements MovementJumpSequence[] = { MSEHaveSpline, MSEGuidByte0, MSEGuidByte1, MSEGuidByte4, MSEFlags, MSEGuidByte2, MSEGuidByte5, MSEGuidByte3, MSEFlags2, MSEGuidByte7, MSEGuidByte6, MSEHaveSplineElev, MSEHaveTransportData, MSETransportGuidByte0, MSETransportGuidByte6, MSETransportGuidByte2, MSETransportGuidByte5, MSETransportGuidByte4, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportGuidByte7, MSETransportHaveTime2, MSETransportHaveTime3, MSEHaveFallData, MSEHaveFallDirection, MSEHavePitch, MSEPositionO, MSETimestamp, MSEPositionX, MSEPositionY, MSEPositionZ, MSESplineElev, MSEGuidByte0_2, MSEGuidByte5_2, MSEGuidByte3_2, MSETransportSeat, MSETransportPositionO, MSETransportPositionX, MSETransportPositionY, MSETransportPositionZ, MSETransportTime, MSETransportTime2, MSETransportGuidByte3_2, MSETransportGuidByte6_2, MSETransportTime3, MSETransportGuidByte7_2, MSETransportGuidByte5_2, MSETransportGuidByte2_2, MSETransportGuidByte1_2, MSETransportGuidByte0_2, MSETransportGuidByte4_2, MSEGuidByte4_2, MSEGuidByte1_2, MSEFallTime, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSEGuidByte2_2, MSEGuidByte6_2, MSEGuidByte7_2, MSEPitch, }; //4.2.2 MovementStatusElements MovementSetFacingSequence[] = { MSEFlags, MSEGuidByte4, MSEGuidByte2, MSEHaveSpline, MSEGuidByte3, MSEGuidByte5, MSEFlags2, MSEGuidByte0, MSEGuidByte7, MSEGuidByte6, MSEGuidByte1, MSEHaveSplineElev, MSEHavePitch, MSEHaveFallData, MSEHaveFallDirection, MSEHaveTransportData, MSETransportGuidByte0, MSETransportGuidByte6, MSETransportGuidByte2, MSETransportGuidByte5, MSETransportGuidByte4, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportGuidByte7, MSETransportHaveTime2, MSETransportHaveTime3, MSEPositionO, MSETimestamp, MSEPositionX, MSEPositionY, MSEPositionZ, MSEGuidByte7_2, MSEGuidByte5_2, MSESplineElev, MSEGuidByte4_2, MSEGuidByte1_2, MSEGuidByte2_2, MSEPitch, MSEFallTime, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSEGuidByte6_2, MSEGuidByte0_2, MSETransportSeat, MSETransportPositionO, MSETransportPositionX, MSETransportPositionY, MSETransportPositionZ, MSETransportTime, MSETransportTime2, MSETransportGuidByte3_2, MSETransportGuidByte6_2, MSETransportTime3, MSETransportGuidByte7_2, MSETransportGuidByte5_2, MSETransportGuidByte2_2, MSETransportGuidByte1_2, MSETransportGuidByte0_2, MSETransportGuidByte4_2, MSEGuidByte3_2, }; //4.2.2 MovementStatusElements MovementSetPitchSequence[] = { MSEGuidByte1, MSEGuidByte6, MSEGuidByte7, MSEGuidByte3, MSEFlags, MSEGuidByte5, MSEGuidByte2, MSEGuidByte0, MSEHaveSpline, MSEGuidByte4, MSEFlags2, MSEHaveSplineElev, MSEHaveTransportData, MSETransportGuidByte0, MSETransportGuidByte6, MSETransportGuidByte2, MSETransportGuidByte5, MSETransportGuidByte4, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportGuidByte7, MSETransportHaveTime2, MSETransportHaveTime3, MSEHavePitch, MSEHaveFallData, MSEHaveFallDirection, MSEPositionX, MSEPositionY, MSEPositionZ, MSETimestamp, MSEPositionO, MSEGuidByte1_2, MSEGuidByte4_2, MSESplineElev, MSETransportSeat, MSETransportPositionO, MSETransportPositionX, MSETransportPositionY, MSETransportPositionZ, MSETransportTime, MSETransportTime2, MSETransportGuidByte3_2, MSETransportGuidByte6_2, MSETransportTime3, MSETransportGuidByte7_2, MSETransportGuidByte5_2, MSETransportGuidByte2_2, MSETransportGuidByte1_2, MSETransportGuidByte0_2, MSETransportGuidByte4_2, MSEPitch, MSEGuidByte5_2, MSEFallTime, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSEGuidByte0_2, MSEGuidByte3_2, MSEGuidByte6_2, MSEGuidByte7_2, MSEGuidByte2_2, }; //4.2.2 MovementStatusElements MovementStartBackwardSequence[] = { MSEGuidByte5, MSEFlags2, MSEGuidByte2, MSEGuidByte7, MSEHaveSpline, MSEFlags, MSEGuidByte1, MSEGuidByte3, MSEGuidByte4, MSEGuidByte6, MSEGuidByte0, MSEHaveSplineElev, MSEHavePitch, MSEHaveTransportData, MSETransportGuidByte0, MSETransportGuidByte6, MSETransportGuidByte2, MSETransportGuidByte5, MSETransportGuidByte4, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportGuidByte7, MSETransportHaveTime2, MSETransportHaveTime3, MSEHaveFallData, MSEHaveFallDirection, MSEPositionO, MSEPositionX, MSEPositionY, MSEPositionZ, MSETimestamp, MSEGuidByte3_2, MSEGuidByte0_2, MSEGuidByte1_2, MSESplineElev, MSEGuidByte4_2, MSEPitch, MSEGuidByte7_2, MSEGuidByte2_2, MSEGuidByte6_2, MSETransportSeat, MSETransportPositionO, MSETransportPositionX, MSETransportPositionY, MSETransportPositionZ, MSETransportTime, MSETransportTime2, MSETransportGuidByte3_2, MSETransportGuidByte6_2, MSETransportTime3, MSETransportGuidByte7_2, MSETransportGuidByte5_2, MSETransportGuidByte2_2, MSETransportGuidByte1_2, MSETransportGuidByte0_2, MSETransportGuidByte4_2, MSEGuidByte5_2, MSEFallTime, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, }; //4.2.2 MovementStatusElements MovementStartForwardSequence[] = { MSEFlags, MSEGuidByte1, MSEGuidByte7, MSEFlags2, MSEGuidByte6, MSEGuidByte5, MSEHaveSpline, MSEGuidByte0, MSEGuidByte3, MSEGuidByte4, MSEGuidByte2, MSEHaveFallData, MSEHaveFallDirection, MSEHaveSplineElev, MSEHaveTransportData, MSETransportGuidByte0, MSETransportGuidByte6, MSETransportGuidByte2, MSETransportGuidByte5, MSETransportGuidByte4, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportGuidByte7, MSETransportHaveTime2, MSETransportHaveTime3, MSEHavePitch, MSEPositionX, MSEPositionY, MSEPositionZ, MSETimestamp, MSEPositionO, MSEGuidByte2_2, MSEGuidByte3_2, MSEFallTime, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSESplineElev, MSEGuidByte6_2, MSEGuidByte0_2, MSEGuidByte1_2, MSEGuidByte7_2, MSETransportSeat, MSETransportPositionO, MSETransportPositionX, MSETransportPositionY, MSETransportPositionZ, MSETransportTime, MSETransportTime2, MSETransportGuidByte3_2, MSETransportGuidByte6_2, MSETransportTime3, MSETransportGuidByte7_2, MSETransportGuidByte5_2, MSETransportGuidByte2_2, MSETransportGuidByte1_2, MSETransportGuidByte0_2, MSETransportGuidByte4_2, MSEGuidByte5_2, MSEGuidByte4_2, MSEPitch, }; //4.2.2 MovementStatusElements MovementStartStrafeLeftSequence[] = { MSEGuidByte5, MSEFlags, MSEHaveSpline, MSEGuidByte6, MSEGuidByte1, MSEGuidByte2, MSEFlags2, MSEGuidByte7, MSEGuidByte0, MSEGuidByte3, MSEGuidByte4, MSEHavePitch, MSEHaveSplineElev, MSEHaveFallData, MSEHaveFallDirection, MSEHaveTransportData, MSETransportGuidByte0, MSETransportGuidByte6, MSETransportGuidByte2, MSETransportGuidByte5, MSETransportGuidByte4, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportGuidByte7, MSETransportHaveTime2, MSETransportHaveTime3, MSEPositionX, MSEPositionY, MSEPositionZ, MSEPositionO, MSETimestamp, MSEPitch, MSESplineElev, MSEGuidByte7_2, MSEGuidByte5_2, MSEFallTime, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSEGuidByte4_2, MSEGuidByte3_2, MSEGuidByte2_2, MSEGuidByte6_2, MSEGuidByte0_2, MSEGuidByte1_2, MSETransportSeat, MSETransportPositionO, MSETransportPositionX, MSETransportPositionY, MSETransportPositionZ, MSETransportTime, MSETransportTime2, MSETransportGuidByte3_2, MSETransportGuidByte6_2, MSETransportTime3, MSETransportGuidByte7_2, MSETransportGuidByte5_2, MSETransportGuidByte2_2, MSETransportGuidByte1_2, MSETransportGuidByte0_2, MSETransportGuidByte4_2, }; //4.2.2 MovementStatusElements MovementStartStrafeRightSequence[] = { MSEGuidByte3, MSEGuidByte2, MSEGuidByte4, MSEGuidByte5, MSEGuidByte0, MSEGuidByte6, MSEHaveSpline, MSEFlags2, MSEGuidByte1, MSEFlags, MSEGuidByte7, MSEHaveSplineElev, MSEHavePitch, MSEHaveTransportData, MSETransportGuidByte0, MSETransportGuidByte6, MSETransportGuidByte2, MSETransportGuidByte5, MSETransportGuidByte4, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportGuidByte7, MSETransportHaveTime2, MSETransportHaveTime3, MSEHaveFallData, MSEHaveFallDirection, MSEPositionO, MSETimestamp, MSEPositionX, MSEPositionY, MSEPositionZ, MSEGuidByte4_2, MSEGuidByte1_2, MSEGuidByte2_2, MSESplineElev, MSEGuidByte0_2, MSEPitch, MSEGuidByte6_2, MSEGuidByte3_2, MSEGuidByte7_2, MSEGuidByte5_2, MSETransportSeat, MSETransportPositionO, MSETransportPositionX, MSETransportPositionY, MSETransportPositionZ, MSETransportTime, MSETransportTime2, MSETransportGuidByte3_2, MSETransportGuidByte6_2, MSETransportTime3, MSETransportGuidByte7_2, MSETransportGuidByte5_2, MSETransportGuidByte2_2, MSETransportGuidByte1_2, MSETransportGuidByte0_2, MSETransportGuidByte4_2, MSEFallTime, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, }; //4.2.2 MovementStatusElements MovementStartTurnLeftSequence[] = { MSEGuidByte5, MSEGuidByte4, MSEGuidByte6, MSEGuidByte0, MSEGuidByte1, MSEGuidByte7, MSEGuidByte2, MSEGuidByte3, MSEFlags, MSEFlags2, MSEHaveSpline, MSEHaveTransportData, MSETransportGuidByte0, MSETransportGuidByte6, MSETransportGuidByte2, MSETransportGuidByte5, MSETransportGuidByte4, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportGuidByte7, MSETransportHaveTime2, MSETransportHaveTime3, MSEHaveSplineElev, MSEHaveFallData, MSEHaveFallDirection, MSEHavePitch, MSEPositionX, MSEPositionY, MSEPositionZ, MSETimestamp, MSEPositionO, MSETransportSeat, MSETransportPositionO, MSETransportPositionX, MSETransportPositionY, MSETransportPositionZ, MSETransportTime, MSETransportTime2, MSETransportGuidByte3_2, MSETransportGuidByte6_2, MSETransportTime3, MSETransportGuidByte7_2, MSETransportGuidByte5_2, MSETransportGuidByte2_2, MSETransportGuidByte1_2, MSETransportGuidByte0_2, MSETransportGuidByte4_2, MSEGuidByte4_2, MSEGuidByte0_2, MSEGuidByte7_2, MSEGuidByte1_2, MSEGuidByte6_2, MSEGuidByte5_2, MSEGuidByte3_2, MSESplineElev, MSEFallTime, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSEGuidByte2_2, MSEPitch, }; //4.2.2 MovementStatusElements MovementStartTurnRightSequence[] = { MSEGuidByte4, MSEGuidByte1, MSEGuidByte6, MSEGuidByte0, MSEFlags, MSEGuidByte5, MSEFlags2, MSEHaveSpline, MSEGuidByte2, MSEGuidByte3, MSEGuidByte7, MSEHaveTransportData, MSETransportGuidByte0, MSETransportGuidByte6, MSETransportGuidByte2, MSETransportGuidByte5, MSETransportGuidByte4, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportGuidByte7, MSETransportHaveTime2, MSETransportHaveTime3, MSEHaveFallData, MSEHaveFallDirection, MSEHavePitch, MSEHaveSplineElev, MSEPositionX, MSEPositionY, MSEPositionZ, MSEPositionO, MSETimestamp, MSEGuidByte6_2, MSETransportSeat, MSETransportPositionO, MSETransportPositionX, MSETransportPositionY, MSETransportPositionZ, MSETransportTime, MSETransportTime2, MSETransportGuidByte3_2, MSETransportGuidByte6_2, MSETransportTime3, MSETransportGuidByte7_2, MSETransportGuidByte5_2, MSETransportGuidByte2_2, MSETransportGuidByte1_2, MSETransportGuidByte0_2, MSETransportGuidByte4_2, MSEGuidByte2_2, MSEGuidByte4_2, MSEFallTime, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSEPitch, MSEGuidByte7_2, MSEGuidByte3_2, MSEGuidByte1_2, MSEGuidByte0_2, MSESplineElev, MSEGuidByte5_2, }; //4.2.2 MovementStatusElements MovementStopSequence[] = { MSEGuidByte2, MSEGuidByte0, MSEHaveSpline, MSEFlags, MSEGuidByte4, MSEGuidByte6, MSEGuidByte3, MSEGuidByte5, MSEGuidByte7, MSEFlags2, MSEGuidByte1, MSEHavePitch, MSEHaveFallData, MSEHaveFallDirection, MSEHaveTransportData, MSETransportGuidByte0, MSETransportGuidByte6, MSETransportGuidByte2, MSETransportGuidByte5, MSETransportGuidByte4, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportGuidByte7, MSETransportHaveTime2, MSETransportHaveTime3, MSEHaveSplineElev, MSEPositionO, MSETimestamp, MSEPositionX, MSEPositionY, MSEPositionZ, MSEGuidByte2_2, MSEGuidByte3_2, MSEPitch, MSEFallTime, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSEGuidByte5_2, MSEGuidByte7_2, MSETransportSeat, MSETransportPositionO, MSETransportPositionX, MSETransportPositionY, MSETransportPositionZ, MSETransportTime, MSETransportTime2, MSETransportGuidByte3_2, MSETransportGuidByte6_2, MSETransportTime3, MSETransportGuidByte7_2, MSETransportGuidByte5_2, MSETransportGuidByte2_2, MSETransportGuidByte1_2, MSETransportGuidByte0_2, MSETransportGuidByte4_2, MSEGuidByte1_2, MSEGuidByte0_2, MSESplineElev, MSEGuidByte6_2, MSEGuidByte4_2, }; //4.2.2 MovementStatusElements MovementStopStrafeSequence[] = { MSEGuidByte4, MSEFlags2, MSEGuidByte3, MSEGuidByte1, MSEFlags, MSEGuidByte5, MSEHaveSpline, MSEGuidByte2, MSEGuidByte6, MSEGuidByte0, MSEGuidByte7, MSEHaveFallData, MSEHaveFallDirection, MSEHavePitch, MSEHaveSplineElev, MSEHaveTransportData, MSETransportGuidByte0, MSETransportGuidByte6, MSETransportGuidByte2, MSETransportGuidByte5, MSETransportGuidByte4, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportGuidByte7, MSETransportHaveTime2, MSETransportHaveTime3, MSEPositionO, MSETimestamp, MSEPositionX, MSEPositionY, MSEPositionZ, MSEGuidByte1_2, MSEGuidByte2_2, MSEGuidByte6_2, MSEGuidByte5_2, MSEGuidByte7_2, MSEGuidByte0_2, MSEFallTime, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSEGuidByte3_2, MSEPitch, MSESplineElev, MSETransportSeat, MSETransportPositionO, MSETransportPositionX, MSETransportPositionY, MSETransportPositionZ, MSETransportTime, MSETransportTime2, MSETransportGuidByte3_2, MSETransportGuidByte6_2, MSETransportTime3, MSETransportGuidByte7_2, MSETransportGuidByte5_2, MSETransportGuidByte2_2, MSETransportGuidByte1_2, MSETransportGuidByte0_2, MSETransportGuidByte4_2, MSEGuidByte4_2, }; //4.2.2 MovementStatusElements MovementStopTurnSequence[] = { MSEGuidByte6, MSEFlags, MSEGuidByte2, MSEGuidByte3, MSEFlags2, MSEGuidByte5, MSEGuidByte7, MSEGuidByte0, MSEGuidByte4, MSEGuidByte1, MSEHaveSpline, MSEHavePitch, MSEHaveFallData, MSEHaveFallDirection, MSEHaveSplineElev, MSEHaveTransportData, MSETransportGuidByte0, MSETransportGuidByte6, MSETransportGuidByte2, MSETransportGuidByte5, MSETransportGuidByte4, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportGuidByte7, MSETransportHaveTime2, MSETransportHaveTime3, MSETimestamp, MSEPositionX, MSEPositionY, MSEPositionZ, MSEPositionO, MSEGuidByte4_2, MSEGuidByte5_2, MSEGuidByte7_2, MSEGuidByte1_2, MSEPitch, MSEGuidByte3_2, MSEGuidByte6_2, MSEFallTime, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSESplineElev, MSEGuidByte0_2, MSEGuidByte2_2, MSETransportSeat, MSETransportPositionO, MSETransportPositionX, MSETransportPositionY, MSETransportPositionZ, MSETransportTime, MSETransportTime2, MSETransportGuidByte3_2, MSETransportGuidByte6_2, MSETransportTime3, MSETransportGuidByte7_2, MSETransportGuidByte5_2, MSETransportGuidByte2_2, MSETransportGuidByte1_2, MSETransportGuidByte0_2, MSETransportGuidByte4_2, }; //4.2.2 MovementStatusElements MovementStartAscendSequence[] = { MSEGuidByte3, MSEGuidByte1, MSEGuidByte5, MSEFlags, MSEGuidByte4, MSEGuidByte6, MSEGuidByte0, MSEGuidByte7, MSEFlags2, MSEGuidByte2, MSEHaveSpline, MSEHaveFallData, MSEHaveFallDirection, MSEHavePitch, MSEHaveSplineElev, MSEHaveTransportData, MSETransportGuidByte0, MSETransportGuidByte6, MSETransportGuidByte2, MSETransportGuidByte5, MSETransportGuidByte4, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportGuidByte7, MSETransportHaveTime2, MSETransportHaveTime3, MSEPositionX, MSEPositionY, MSEPositionZ, MSETimestamp, MSEPositionO, MSEGuidByte3_2, MSEFallTime, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSEPitch, MSEGuidByte0_2, MSEGuidByte5_2, MSESplineElev, MSEGuidByte1_2, MSETransportSeat, MSETransportPositionO, MSETransportPositionX, MSETransportPositionY, MSETransportPositionZ, MSETransportTime, MSETransportTime2, MSETransportGuidByte3_2, MSETransportGuidByte6_2, MSETransportTime3, MSETransportGuidByte7_2, MSETransportGuidByte5_2, MSETransportGuidByte2_2, MSETransportGuidByte1_2, MSETransportGuidByte0_2, MSETransportGuidByte4_2, MSEGuidByte4_2, MSEGuidByte7_2, MSEGuidByte2_2, MSEGuidByte6_2, }; //4.2.2 MovementStatusElements MovementStartDescendSequence[] = { MSEGuidByte6, MSEGuidByte1, MSEGuidByte0, MSEGuidByte3, MSEFlags, MSEGuidByte4, MSEGuidByte7, MSEHaveSpline, MSEGuidByte5, MSEFlags2, MSEGuidByte2, MSEHaveSplineElev, MSEHaveFallData, MSEHaveFallDirection, MSEHaveTransportData, MSETransportGuidByte0, MSETransportGuidByte6, MSETransportGuidByte2, MSETransportGuidByte5, MSETransportGuidByte4, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportGuidByte7, MSETransportHaveTime2, MSETransportHaveTime3, MSEHavePitch, MSETimestamp, MSEPositionX, MSEPositionY, MSEPositionZ, MSEPositionO, MSESplineElev, MSEGuidByte7_2, MSEGuidByte4_2, MSEGuidByte2_2, MSEGuidByte5_2, MSEFallTime, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSEGuidByte6_2, MSETransportSeat, MSETransportPositionO, MSETransportPositionX, MSETransportPositionY, MSETransportPositionZ, MSETransportTime, MSETransportTime2, MSETransportGuidByte3_2, MSETransportGuidByte6_2, MSETransportTime3, MSETransportGuidByte7_2, MSETransportGuidByte5_2, MSETransportGuidByte2_2, MSETransportGuidByte1_2, MSETransportGuidByte0_2, MSETransportGuidByte4_2, MSEGuidByte0_2, MSEGuidByte3_2, MSEGuidByte1_2, MSEPitch, }; //4.2.2 MovementStatusElements MovementStartSwimSequence[] = { MSEGuidByte2, MSEHaveSpline, MSEGuidByte1, MSEFlags, MSEGuidByte3, MSEGuidByte5, MSEGuidByte0, MSEGuidByte6, MSEGuidByte7, MSEFlags2, MSEGuidByte4, MSEHavePitch, MSEHaveSplineElev, MSEHaveFallData, MSEHaveFallDirection, MSEHaveTransportData, MSETransportGuidByte0, MSETransportGuidByte6, MSETransportGuidByte2, MSETransportGuidByte5, MSETransportGuidByte4, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportGuidByte7, MSETransportHaveTime2, MSETransportHaveTime3, MSEPositionX, MSEPositionY, MSEPositionZ, MSEPositionO, MSETimestamp, MSEPitch, MSESplineElev, MSEGuidByte2_2, MSEGuidByte0_2, MSEGuidByte5_2, MSEGuidByte4_2, MSEGuidByte7_2, MSEGuidByte1_2, MSEFallTime, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSEGuidByte3_2, MSETransportSeat, MSETransportPositionO, MSETransportPositionX, MSETransportPositionY, MSETransportPositionZ, MSETransportTime, MSETransportTime2, MSETransportGuidByte3_2, MSETransportGuidByte6_2, MSETransportTime3, MSETransportGuidByte7_2, MSETransportGuidByte5_2, MSETransportGuidByte2_2, MSETransportGuidByte1_2, MSETransportGuidByte0_2, MSETransportGuidByte4_2, MSEGuidByte6_2, }; //4.2.2 MovementStatusElements MovementStopAscendSequence[] = { MSEGuidByte0, MSEGuidByte3, MSEFlags2, MSEGuidByte1, MSEGuidByte5, MSEHaveSpline, MSEGuidByte4, MSEGuidByte2, MSEFlags, MSEGuidByte7, MSEGuidByte6, MSEHaveFallData, MSEHaveFallDirection, MSEHaveTransportData, MSETransportGuidByte0, MSETransportGuidByte6, MSETransportGuidByte2, MSETransportGuidByte5, MSETransportGuidByte4, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportGuidByte7, MSETransportHaveTime2, MSETransportHaveTime3, MSEHavePitch, MSEHaveSplineElev, MSETimestamp, MSEPositionO, MSEPositionX, MSEPositionY, MSEPositionZ, MSEGuidByte0_2, MSEGuidByte1_2, MSEGuidByte2_2, MSEGuidByte7_2, MSEFallTime, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSETransportSeat, MSETransportPositionO, MSETransportPositionX, MSETransportPositionY, MSETransportPositionZ, MSETransportTime, MSETransportTime2, MSETransportGuidByte3_2, MSETransportGuidByte6_2, MSETransportTime3, MSETransportGuidByte7_2, MSETransportGuidByte5_2, MSETransportGuidByte2_2, MSETransportGuidByte1_2, MSETransportGuidByte0_2, MSETransportGuidByte4_2, MSEPitch, MSEGuidByte5_2, MSEGuidByte4_2, MSEGuidByte3_2, MSESplineElev, MSEGuidByte6_2, }; MovementStatusElements* GetMovementStatusElementsSequence(Opcodes opcode) { switch(opcode) { case SMSG_PLAYER_MOVE://done return PlayerMoveSequence; case MSG_MOVE_FALL_LAND://done return MovementFallLandSequence; case MSG_MOVE_HEARTBEAT://done return MovementHeartBeatSequence; case MSG_MOVE_JUMP://done return MovementJumpSequence; case MSG_MOVE_SET_FACING://done return MovementSetFacingSequence; case MSG_MOVE_SET_PITCH://done return MovementSetPitchSequence; case MSG_MOVE_START_BACKWARD://done return MovementStartBackwardSequence; case MSG_MOVE_START_FORWARD://done return MovementStartForwardSequence; case MSG_MOVE_START_STRAFE_LEFT://done return MovementStartStrafeLeftSequence; case MSG_MOVE_START_STRAFE_RIGHT://done return MovementStartStrafeRightSequence; case MSG_MOVE_START_TURN_LEFT://done return MovementStartTurnLeftSequence; case MSG_MOVE_START_TURN_RIGHT://done return MovementStartTurnRightSequence; case MSG_MOVE_STOP://done return MovementStopSequence; case MSG_MOVE_STOP_STRAFE://done return MovementStopStrafeSequence; case MSG_MOVE_STOP_TURN://done return MovementStopTurnSequence; case MSG_MOVE_START_ASCEND://done return MovementStartAscendSequence; case MSG_MOVE_START_DESCEND://done return MovementStartDescendSequence; case MSG_MOVE_START_SWIM://done return MovementStartSwimSequence; case MSG_MOVE_STOP_ASCEND://done return MovementStopAscendSequence; default: break; } return NULL; } #endif