aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2012-07-14 23:39:12 +0200
committerShauren <shauren.trinity@gmail.com>2012-07-14 23:39:12 +0200
commit27ea130b55dd3d16092a3d58f2093b99abc0a46b (patch)
treedd6d8c1e0271bf24f849f5125726f5e4c0f8a6e0 /src
parent2d144e49254c39e2a8cbf20c5f93ff4d422b5ce1 (diff)
Core/Movement
* Updated movement flags * Cleaned up MovementStatusElements enum * Updated and enabled MSG_MOVE_START_FORWARD
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Entities/Object/Object.cpp15
-rwxr-xr-xsrc/server/game/Entities/Object/Object.h4
-rwxr-xr-xsrc/server/game/Entities/Player/Player.cpp5
-rwxr-xr-xsrc/server/game/Entities/Transport/Transport.cpp3
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.cpp11
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.h43
-rwxr-xr-xsrc/server/game/Entities/Vehicle/Vehicle.cpp2
-rwxr-xr-xsrc/server/game/Handlers/MovementHandler.cpp707
-rw-r--r--src/server/game/Movement/MovementStructures.h1860
-rw-r--r--src/server/game/Movement/Spline/MoveSplineInit.cpp6
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp2
-rwxr-xr-xsrc/server/game/Server/WorldSession.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp4
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp16
15 files changed, 1399 insertions, 1285 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index d9d8c3c461a..6894928b551 100755
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -47,6 +47,7 @@
#include "OutdoorPvPMgr.h"
#include "MovementPacketBuilder.h"
#include "DynamicTree.h"
+#include "Unit.h"
uint32 GuidHigh2TypeId(uint32 guid_hi)
{
@@ -331,13 +332,13 @@ void Object::_BuildMovementUpdate(ByteBuffer* data, uint16 flags) const
data->WriteBit(0);
data->WriteBit(!((movementFlags & (MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING)) ||
(movementFlagsExtra & MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING))); // Has pitch
- data->WriteBit(movementFlags & MOVEMENTFLAG_SPLINE_ENABLED); // Has spline data
+ data->WriteBit(self->IsSplineEnabled()); // Has spline data
data->WriteBit(movementFlagsExtra & MOVEMENTFLAG2_INTERPOLATED_TURNING);// Has fall data
data->WriteBit(!(movementFlags & MOVEMENTFLAG_SPLINE_ELEVATION)); // Has spline elevation
data->WriteBit(guid[5]);
- data->WriteBit(movementFlags & MOVEMENTFLAG_ONTRANSPORT); // Has transport data
+ data->WriteBit(self->m_movementInfo.t_guid); // Has transport data
data->WriteBit(0); // Is missing time
- if (movementFlags & MOVEMENTFLAG_ONTRANSPORT)
+ if (self->m_movementInfo.t_guid)
{
ObjectGuid transGuid = self->m_movementInfo.t_guid;
@@ -354,7 +355,7 @@ void Object::_BuildMovementUpdate(ByteBuffer* data, uint16 flags) const
}
data->WriteBit(guid[4]);
- if (movementFlags & MOVEMENTFLAG_SPLINE_ENABLED)
+ if (self->IsSplineEnabled())
{
data->WriteBit(1); // Has extended spline data
Movement::PacketBuilder::WriteCreateBits(*self->movespline, *data);
@@ -440,12 +441,12 @@ void Object::_BuildMovementUpdate(ByteBuffer* data, uint16 flags) const
if (movementFlags & MOVEMENTFLAG_SPLINE_ELEVATION)
*data << float(self->m_movementInfo.splineElevation);
- if (movementFlags & MOVEMENTFLAG_SPLINE_ENABLED)
+ if (self->IsSplineEnabled())
Movement::PacketBuilder::WriteCreateData(*self->movespline, *data);
*data << float(self->GetPositionZMinusOffset());
data->WriteByteSeq(guid[5]);
- if (movementFlags & MOVEMENTFLAG_ONTRANSPORT)
+ if (self->m_movementInfo.t_guid)
{
ObjectGuid transGuid = self->m_movementInfo.t_guid;
@@ -1298,7 +1299,7 @@ void MovementInfo::OutDebug()
sLog->outString("flags2 %u", flags2);
sLog->outString("time %u current time " UI64FMTD "", flags2, uint64(::time(NULL)));
sLog->outString("position: `%s`", pos.ToString().c_str());
- if (flags & MOVEMENTFLAG_ONTRANSPORT)
+ if (t_guid)
{
sLog->outString("TRANSPORT:");
sLog->outString("guid: " UI64FMTD, t_guid);
diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h
index 01ad11ba2df..8e1677991f4 100755
--- a/src/server/game/Entities/Object/Object.h
+++ b/src/server/game/Entities/Object/Object.h
@@ -529,16 +529,16 @@ struct MovementInfo
// transport
uint64 t_guid;
Position t_pos;
+ int8 t_seat;
uint32 t_time;
uint32 t_time2;
uint32 t_time3;
- int8 t_seat;
// swimming/flying
float pitch;
// falling
uint32 fallTime;
// jumping
- float j_zspeed, j_sinAngle, j_cosAngle, j_xyspeed;
+ float j_zspeed, j_cosAngle, j_sinAngle, j_xyspeed;
// spline
float splineElevation;
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index e5df31734a4..88f2170fdfb 100755
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -2176,15 +2176,14 @@ bool Player::TeleportTo(uint32 mapid, float x, float y, float z, float orientati
if (m_transport)
{
- if (options & TELE_TO_NOT_LEAVE_TRANSPORT)
- AddUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT);
- else
+ if (!(options & TELE_TO_NOT_LEAVE_TRANSPORT))
{
m_transport->RemovePassenger(this);
m_transport = NULL;
m_movementInfo.t_pos.Relocate(0.0f, 0.0f, 0.0f, 0.0f);
m_movementInfo.t_time = 0;
m_movementInfo.t_seat = -1;
+ m_movementInfo.t_guid = 0;
}
}
diff --git a/src/server/game/Entities/Transport/Transport.cpp b/src/server/game/Entities/Transport/Transport.cpp
index ef3e1331a4c..e44f67f128d 100755
--- a/src/server/game/Entities/Transport/Transport.cpp
+++ b/src/server/game/Entities/Transport/Transport.cpp
@@ -642,8 +642,7 @@ uint32 Transport::AddNPCPassenger(uint32 tguid, uint32 entry, float x, float y,
}
creature->SetTransport(this);
- creature->AddUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT);
- creature->m_movementInfo.guid = GetGUID();
+ creature->m_movementInfo.t_guid = GetGUID();
creature->m_movementInfo.t_pos.Relocate(x, y, z, o);
if (anim)
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 2435a403408..19a8ab32ac1 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -396,7 +396,7 @@ void Unit::UpdateSplineMovement(uint32 t_diff)
m_movesplineTimer.Reset(POSITION_UPDATE_DELAY);
Movement::Location loc = movespline->ComputePosition();
- if (HasUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT))
+ if (GetTransGUID())
{
Position& pos = m_movementInfo.t_pos;
pos.m_positionX = loc.x;
@@ -420,7 +420,7 @@ void Unit::UpdateSplineMovement(uint32 t_diff)
void Unit::DisableSpline()
{
- m_movementInfo.RemoveMovementFlag(MovementFlags(MOVEMENTFLAG_SPLINE_ENABLED|MOVEMENTFLAG_FORWARD));
+ m_movementInfo.RemoveMovementFlag(MOVEMENTFLAG_FORWARD);
movespline->_Interrupt();
}
@@ -17644,7 +17644,7 @@ void Unit::BuildMovementPacket(ByteBuffer *data) const
*data << GetPositionZMinusOffset();
*data << GetOrientation();
- bool onTransport = GetUnitMovementFlags() & MOVEMENTFLAG_ONTRANSPORT;
+ bool onTransport = m_movementInfo.t_guid != 0;
bool hasInterpolatedMovement = m_movementInfo.flags2 & MOVEMENTFLAG2_INTERPOLATED_MOVEMENT;
bool time3 = false;
bool swimming = ((GetUnitMovementFlags() & (MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING))
@@ -18180,3 +18180,8 @@ void Unit::SendMovementCanFlyChange()
BuildMovementPacket(&data);
SendMessageToSet(&data, false);
}
+
+bool Unit::IsSplineEnabled() const
+{
+ return !movespline->Finalized();
+}
diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h
index 6d188fe3593..7471ae603f6 100755
--- a/src/server/game/Entities/Unit/Unit.h
+++ b/src/server/game/Entities/Unit/Unit.h
@@ -675,28 +675,26 @@ enum MovementFlags
MOVEMENTFLAG_PITCH_UP = 0x00000040,
MOVEMENTFLAG_PITCH_DOWN = 0x00000080,
MOVEMENTFLAG_WALKING = 0x00000100, // Walking
- MOVEMENTFLAG_ONTRANSPORT = 0x00000200, // Used for flying on some creatures
- MOVEMENTFLAG_DISABLE_GRAVITY = 0x00000400, // Former MOVEMENTFLAG_LEVITATING. This is used when walking is not possible.
- MOVEMENTFLAG_ROOT = 0x00000800, // Must not be set along with MOVEMENTFLAG_MASK_MOVING
- MOVEMENTFLAG_FALLING = 0x00001000, // damage dealt on that type of falling
- MOVEMENTFLAG_FALLING_FAR = 0x00002000,
- MOVEMENTFLAG_PENDING_STOP = 0x00004000,
- MOVEMENTFLAG_PENDING_STRAFE_STOP = 0x00008000,
- MOVEMENTFLAG_PENDING_FORWARD = 0x00010000,
- MOVEMENTFLAG_PENDING_BACKWARD = 0x00020000,
- MOVEMENTFLAG_PENDING_STRAFE_LEFT = 0x00040000,
- MOVEMENTFLAG_PENDING_STRAFE_RIGHT = 0x00080000,
- MOVEMENTFLAG_PENDING_ROOT = 0x00100000,
- MOVEMENTFLAG_SWIMMING = 0x00200000, // appears with fly flag also
- MOVEMENTFLAG_ASCENDING = 0x00400000, // press "space" when flying
- MOVEMENTFLAG_DESCENDING = 0x00800000,
- MOVEMENTFLAG_CAN_FLY = 0x01000000, // Appears when unit can fly AND also walk
- MOVEMENTFLAG_FLYING = 0x02000000, // unit is actually flying. pretty sure this is only used for players. creatures use disable_gravity
- MOVEMENTFLAG_SPLINE_ELEVATION = 0x04000000, // used for flight paths
- MOVEMENTFLAG_SPLINE_ENABLED = 0x08000000, // used for flight paths
- MOVEMENTFLAG_WATERWALKING = 0x10000000, // prevent unit from falling through water
- MOVEMENTFLAG_FALLING_SLOW = 0x20000000, // active rogue safe fall spell (passive)
- MOVEMENTFLAG_HOVER = 0x40000000, // hover, cannot jump
+ MOVEMENTFLAG_DISABLE_GRAVITY = 0x00000200, // Former MOVEMENTFLAG_LEVITATING. This is used when walking is not possible.
+ MOVEMENTFLAG_ROOT = 0x00000400, // Must not be set along with MOVEMENTFLAG_MASK_MOVING
+ MOVEMENTFLAG_FALLING = 0x00000800, // damage dealt on that type of falling
+ MOVEMENTFLAG_FALLING_FAR = 0x00001000,
+ MOVEMENTFLAG_PENDING_STOP = 0x00002000,
+ MOVEMENTFLAG_PENDING_STRAFE_STOP = 0x00004000,
+ MOVEMENTFLAG_PENDING_FORWARD = 0x00008000,
+ MOVEMENTFLAG_PENDING_BACKWARD = 0x00010000,
+ MOVEMENTFLAG_PENDING_STRAFE_LEFT = 0x00020000,
+ MOVEMENTFLAG_PENDING_STRAFE_RIGHT = 0x00040000,
+ MOVEMENTFLAG_PENDING_ROOT = 0x00080000,
+ MOVEMENTFLAG_SWIMMING = 0x00100000, // appears with fly flag also
+ MOVEMENTFLAG_ASCENDING = 0x00200000, // press "space" when flying
+ MOVEMENTFLAG_DESCENDING = 0x00400000,
+ MOVEMENTFLAG_CAN_FLY = 0x00800000, // Appears when unit can fly AND also walk
+ MOVEMENTFLAG_FLYING = 0x01000000, // unit is actually flying. pretty sure this is only used for players. creatures use disable_gravity
+ MOVEMENTFLAG_SPLINE_ELEVATION = 0x02000000, // used for flight paths
+ MOVEMENTFLAG_WATERWALKING = 0x04000000, // prevent unit from falling through water
+ MOVEMENTFLAG_FALLING_SLOW = 0x08000000, // active rogue safe fall spell (passive)
+ MOVEMENTFLAG_HOVER = 0x10000000, // hover, cannot jump
// TODO: Check if PITCH_UP and PITCH_DOWN really belong here..
MOVEMENTFLAG_MASK_MOVING =
@@ -2103,6 +2101,7 @@ class Unit : public WorldObject
uint16 HasExtraUnitMovementFlag(uint16 f) const { return m_movementInfo.flags2 & f; }
uint16 GetExtraUnitMovementFlags() const { return m_movementInfo.flags2; }
void SetExtraUnitMovementFlags(uint16 f) { m_movementInfo.flags2 = f; }
+ bool IsSplineEnabled() const;
float GetPositionZMinusOffset() const
{
diff --git a/src/server/game/Entities/Vehicle/Vehicle.cpp b/src/server/game/Entities/Vehicle/Vehicle.cpp
index eb50f3fe229..3d36f6ccda5 100755
--- a/src/server/game/Entities/Vehicle/Vehicle.cpp
+++ b/src/server/game/Entities/Vehicle/Vehicle.cpp
@@ -342,7 +342,6 @@ bool Vehicle::AddPassenger(Unit* unit, int8 seatId)
if (seat->second.SeatInfo->m_flags && !(seat->second.SeatInfo->m_flags & VEHICLE_SEAT_FLAG_ALLOW_TURNING))
unit->AddUnitState(UNIT_STATE_ONVEHICLE);
- unit->AddUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT);
VehicleSeatEntry const* veSeat = seat->second.SeatInfo;
unit->m_movementInfo.t_pos.m_positionX = veSeat->m_attachmentOffsetX;
unit->m_movementInfo.t_pos.m_positionY = veSeat->m_attachmentOffsetY;
@@ -419,7 +418,6 @@ void Vehicle::RemovePassenger(Unit* unit)
if (_me->IsInWorld())
{
- unit->RemoveUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT);
unit->m_movementInfo.t_pos.Relocate(0, 0, 0, 0);
unit->m_movementInfo.t_time = 0;
unit->m_movementInfo.t_seat = 0;
diff --git a/src/server/game/Handlers/MovementHandler.cpp b/src/server/game/Handlers/MovementHandler.cpp
index 57afc614545..df28e01d5c7 100755
--- a/src/server/game/Handlers/MovementHandler.cpp
+++ b/src/server/game/Handlers/MovementHandler.cpp
@@ -277,7 +277,7 @@ void WorldSession::HandleMovementOpcodes(WorldPacket & recvData)
}
/* handle special cases */
- if (movementInfo.flags & MOVEMENTFLAG_ONTRANSPORT)
+ if (movementInfo.t_guid)
{
// transports size limited
// (also received at zeppelin leave by some reason with t_* as absolute in continent coordinates, can be safely skipped)
@@ -339,7 +339,7 @@ void WorldSession::HandleMovementOpcodes(WorldPacket & recvData)
{
GameObject* go = mover->GetMap()->GetGameObject(movementInfo.t_guid);
if (!go || go->GetGoType() != GAMEOBJECT_TYPE_TRANSPORT)
- movementInfo.flags &= ~MOVEMENTFLAG_ONTRANSPORT;
+ movementInfo.t_guid = 0;
}
}
else if (plrMover && plrMover->GetTransport()) // if we were on a transport, leave
@@ -595,167 +595,205 @@ void WorldSession::HandleSummonResponseOpcode(WorldPacket& recv_data)
_player->SummonIfPossible(agree);
}
-void WorldSession::ReadMovementInfo(WorldPacket &data, MovementInfo* mi)
+void WorldSession::ReadMovementInfo(WorldPacket& data, MovementInfo* mi)
{
- bool HaveTransportData = false,
- HaveTransportTime2 = false,
- HaveTransportTime3 = false,
- HavePitch = false,
- HaveFallData = false,
- HaveFallDirection = false,
- HaveSplineElevation = false,
- HaveSpline = false;
-
- MovementStatusElements *sequence = GetMovementStatusElementsSequence(data.GetOpcode());
- if (sequence == NULL)
- return;
-
- ObjectGuid guid;
- ObjectGuid tguid;
-
- for (uint32 i = 0; i < MSE_COUNT; i++)
- {
- MovementStatusElements element = sequence[i];
-
- if (element >= MSEGuidByte0 && element <= MSEGuidByte7)
- {
- guid[element - MSEGuidByte0] = data.ReadBit();
- continue;
- }
-
- if (element >= MSETransportGuidByte0 &&
- element <= MSETransportGuidByte7)
- {
- if (HaveTransportData)
- tguid[element - MSETransportGuidByte0] = data.ReadBit();
- continue;
- }
-
- if (element >= MSEGuidByte0_2 && element <= MSEGuidByte7_2)
- {
- data.ReadByteSeq(guid[element - MSEGuidByte0_2]);
- continue;
- }
-
- if (element >= MSETransportGuidByte0_2 &&
- element <= MSETransportGuidByte7_2)
- {
- if (HaveTransportData)
- data.ReadByteSeq(tguid[element - MSETransportGuidByte0_2]);
- continue;
- }
-
- switch (element)
- {
- case MSEFlags:
- mi->flags = data.ReadBits(30);
- break;
- case MSEFlags2:
- mi->flags2 = data.ReadBits(12);
- break;
- case MSETimestamp:
- data >> mi->time;
- break;
- case MSEHavePitch:
- HavePitch = data.ReadBit();
- break;
- case MSEHaveFallData:
- HaveFallData = data.ReadBit();
- break;
- case MSEHaveFallDirection:
- if (HaveFallData)
- HaveFallDirection = data.ReadBit();
- break;
- case MSEHaveTransportData:
- HaveTransportData = data.ReadBit();
- break;
- case MSETransportHaveTime2:
- if (HaveTransportData)
- HaveTransportTime2 = data.ReadBit();
- break;
- case MSETransportHaveTime3:
- if (HaveTransportData)
- HaveTransportTime3 = data.ReadBit();
- break;
- case MSEHaveSpline:
- HaveSpline = data.ReadBit();
- break;
- case MSEHaveSplineElev:
- HaveSplineElevation = data.ReadBit();
- break;
- case MSEPositionX:
- data >> mi->pos.PositionXYZStream();
- break;
- case MSEPositionY:
- case MSEPositionZ:
- break; // assume they always go as vector of 3
- case MSEPositionO:
- data >> mi->pos.m_orientation;
- break;
- case MSEPitch:
- if (HavePitch)
- data >> mi->pitch;
- break;
- case MSEFallTime:
- if (HaveFallData)
- data >> mi->fallTime;
- break;
- case MSESplineElev:
- if (HaveSplineElevation)
- data >> mi->splineElevation;
- break;
- case MSEFallHorizontalSpeed:
- if (HaveFallDirection)
- data >> mi->j_xyspeed;
- break;
- case MSEFallVerticalSpeed:
- if (HaveFallData)
- data >> mi->j_zspeed;
- break;
- case MSEFallCosAngle:
- if (HaveFallDirection)
- data >> mi->j_cosAngle;
- break;
- case MSEFallSinAngle:
- if (HaveFallDirection)
- data >> mi->j_sinAngle;
- break;
- case MSETransportSeat:
- if (HaveTransportData)
- data >> mi->t_seat;
- break;
- case MSETransportPositionO:
- if (HaveTransportData)
- data >> mi->t_pos.m_orientation;
- break;
- case MSETransportPositionX:
- if (HaveTransportData)
- data >> mi->t_pos.PositionXYZStream();
- break;
- case MSETransportPositionY:
- case MSETransportPositionZ:
- break; // assume they always go as vector of 3
- case MSETransportTime:
- if (HaveTransportData)
- data >> mi->t_time;
- break;
- case MSETransportTime2:
- if (HaveTransportTime2)
- data >> mi->t_time2;
- break;
- case MSETransportTime3:
- if (HaveTransportTime3)
- data >> mi->t_time3;
- break;
- default:
- WPError(false, "Incorrect sequence element detected at ReadMovementInfo");
- }
- }
-
- mi->guid = guid;
- mi->t_guid = tguid;
-
- if (HaveTransportData && mi->pos.m_positionX != mi->t_pos.m_positionX)
+ bool hasMovementFlags = false;
+ bool hasMovementFlags2 = false;
+ bool hasTimestamp = false;
+ bool hasOrientation = false;
+ bool hasTransportData = false;
+ bool hasTransportTime2 = false;
+ bool hasTransportTime3 = false;
+ bool hasPitch = false;
+ bool hasFallData = false;
+ bool hasFallDirection = false;
+ bool hasSplineElevation = false;
+ bool hasSpline = false;
+
+ MovementStatusElements* sequence = GetMovementStatusElementsSequence(data.GetOpcode());
+ if (sequence == NULL)
+ {
+ sLog->outError("WorldSession::ReadMovementInfo: No movement sequence found for opcode 0x%04X", uint32(data.GetOpcode()));
+ return;
+ }
+
+ ObjectGuid guid;
+ ObjectGuid tguid;
+
+ for (uint32 i = 0; i < MSE_COUNT; ++i)
+ {
+ MovementStatusElements element = sequence[i];
+ if (element == MSEEnd)
+ break;
+
+ if (element >= MSEHasGuidByte0 && element <= MSEHasGuidByte7)
+ {
+ guid[element - MSEHasGuidByte0] = data.ReadBit();
+ continue;
+ }
+
+ if (element >= MSEHasTransportGuidByte0 &&
+ element <= MSEHasTransportGuidByte7)
+ {
+ if (hasTransportData)
+ tguid[element - MSEHasTransportGuidByte0] = data.ReadBit();
+ continue;
+ }
+
+ if (element >= MSEGuidByte0 && element <= MSEGuidByte7)
+ {
+ data.ReadByteSeq(guid[element - MSEGuidByte0]);
+ continue;
+ }
+
+ if (element >= MSETransportGuidByte0 &&
+ element <= MSETransportGuidByte7)
+ {
+ if (hasTransportData)
+ data.ReadByteSeq(tguid[element - MSETransportGuidByte0]);
+ continue;
+ }
+
+ switch (element)
+ {
+ case MSEHasMovementFlags:
+ hasMovementFlags = !data.ReadBit();
+ break;
+ case MSEHasMovementFlags2:
+ hasMovementFlags2 = !data.ReadBit();
+ break;
+ case MSEHasTimestamp:
+ hasTimestamp = !data.ReadBit();
+ break;
+ case MSEHasOrientation:
+ hasOrientation = !data.ReadBit();
+ break;
+ case MSEHasTransportData:
+ hasTransportData = data.ReadBit();
+ break;
+ case MSEHasTransportTime2:
+ if (hasTransportData)
+ hasTransportTime2 = data.ReadBit();
+ break;
+ case MSEHasTransportTime3:
+ if (hasTransportData)
+ hasTransportTime3 = data.ReadBit();
+ break;
+ case MSEHasPitch:
+ hasPitch = !data.ReadBit();
+ break;
+ case MSEHasFallData:
+ hasFallData = data.ReadBit();
+ break;
+ case MSEHasFallDirection:
+ if (hasFallData)
+ hasFallDirection = data.ReadBit();
+ break;
+ case MSEHasSplineElev:
+ hasSplineElevation = !data.ReadBit();
+ break;
+ case MSEHasSpline:
+ hasSpline = data.ReadBit();
+ break;
+ case MSEMovementFlags:
+ if (hasMovementFlags)
+ mi->flags = data.ReadBits(30);
+ break;
+ case MSEMovementFlags2:
+ if (hasMovementFlags2)
+ mi->flags2 = data.ReadBits(12);
+ break;
+ case MSETimestamp:
+ if (hasTimestamp)
+ data >> mi->time;
+ break;
+ case MSEPositionX:
+ data >> mi->pos.m_positionX;
+ break;
+ case MSEPositionY:
+ data >> mi->pos.m_positionY;
+ break;
+ case MSEPositionZ:
+ data >> mi->pos.m_positionZ;
+ break;
+ case MSEOrientation:
+ if (hasOrientation)
+ data >> mi->pos.m_orientation;
+ break;
+ case MSETransportPositionX:
+ if (hasTransportData)
+ data >> mi->t_pos.m_positionX;
+ break;
+ case MSETransportPositionY:
+ if (hasTransportData)
+ data >> mi->t_pos.m_positionY;
+ break;
+ case MSETransportPositionZ:
+ if (hasTransportData)
+ data >> mi->t_pos.m_positionZ;
+ break;
+ case MSETransportOrientation:
+ if (hasTransportData)
+ data >> mi->t_pos.m_orientation;
+ break;
+ case MSETransportSeat:
+ if (hasTransportData)
+ data >> mi->t_seat;
+ break;
+ case MSETransportTime:
+ if (hasTransportData)
+ data >> mi->t_time;
+ break;
+ case MSETransportTime2:
+ if (hasTransportData && hasTransportTime2)
+ data >> mi->t_time2;
+ break;
+ case MSETransportTime3:
+ if (hasTransportData && hasTransportTime3)
+ data >> mi->t_time3;
+ break;
+ case MSEPitch:
+ if (hasPitch)
+ data >> mi->pitch;
+ break;
+ case MSEFallTime:
+ if (hasFallData)
+ data >> mi->fallTime;
+ break;
+ case MSEFallVerticalSpeed:
+ if (hasFallData)
+ data >> mi->j_zspeed;
+ break;
+ case MSEFallCosAngle:
+ if (hasFallDirection)
+ data >> mi->j_cosAngle;
+ break;
+ case MSEFallSinAngle:
+ if (hasFallDirection)
+ data >> mi->j_sinAngle;
+ break;
+ case MSEFallHorizontalSpeed:
+ if (hasFallDirection)
+ data >> mi->j_xyspeed;
+ break;
+ case MSESplineElev:
+ if (hasSplineElevation)
+ data >> mi->splineElevation;
+ break;
+ case MSEZeroBit:
+ case MSEOneBit:
+ data.ReadBit();
+ break;
+ default:
+ ASSERT(false && "Incorrect sequence element detected at ReadMovementInfo");
+ break;
+ }
+ }
+
+ mi->guid = guid;
+ mi->t_guid = tguid;
+
+ if (hasTransportData && mi->pos.m_positionX != mi->t_pos.m_positionX)
if (GetPlayer()->GetTransport())
GetPlayer()->GetTransport()->UpdatePosition(mi);
@@ -834,157 +872,196 @@ void WorldSession::ReadMovementInfo(WorldPacket &data, MovementInfo* mi)
void WorldSession::WriteMovementInfo(WorldPacket &data, MovementInfo* mi)
{
- bool HaveTransportData = mi->HasMovementFlag(MOVEMENTFLAG_ONTRANSPORT),
- HaveTransportTime2 = (mi->flags2 & MOVEMENTFLAG2_INTERPOLATED_MOVEMENT) != 0,
- HaveTransportTime3 = false,
- HavePitch = (mi->HasMovementFlag(MovementFlags(MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING)))
- || (mi->flags2 & MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING),
- HaveFallData = mi->HasExtraMovementFlag(MOVEMENTFLAG2_INTERPOLATED_TURNING),
- HaveFallDirection = mi->HasMovementFlag(MOVEMENTFLAG_FALLING),
- HaveSplineElevation = mi->HasMovementFlag(MOVEMENTFLAG_SPLINE_ELEVATION),
- HaveSpline = false;
-
- MovementStatusElements *sequence = GetMovementStatusElementsSequence(data.GetOpcode());
- if(!sequence)
- return;
- uint8 *guid = (uint8 *)&mi->guid;
- uint8 *tguid = (uint8 *)&mi->t_guid;
- for(uint32 i=0; i < MSE_COUNT; i++)
- {
- MovementStatusElements element = sequence[i];
-
- if (element >= MSEGuidByte0 && element <= MSEGuidByte7)
- {
- data.WriteBit(guid[element - MSEGuidByte0]);
- continue;
- }
-
- if (element >= MSETransportGuidByte0 &&
- element <= MSETransportGuidByte7)
- {
- if (HaveTransportData)
- data.WriteBit(tguid[element - MSETransportGuidByte0]);
- continue;
- }
-
- if (element >= MSEGuidByte0_2 && element <= MSEGuidByte7_2)
- {
- data.WriteByteSeq(guid[element - MSEGuidByte0_2]);
- continue;
- }
-
- if (element >= MSETransportGuidByte0_2 &&
- element <= MSETransportGuidByte7_2)
- {
- if (HaveTransportData)
- data.WriteByteSeq(tguid[element - MSETransportGuidByte0_2]);
- continue;
- }
-
- switch (element)
- {
- case MSEFlags:
- data.WriteBits(mi->flags, 30);
- break;
- case MSEFlags2:
- data.WriteBits(mi->flags2, 12);
- break;
- case MSETimestamp:
- data << mi->time;
- break;
- case MSEHavePitch:
- data.WriteBit(HavePitch);
- break;
- case MSEHaveFallData:
- data.WriteBit(HaveFallData);
- break;
- case MSEHaveFallDirection:
- if (HaveFallData)
- data.WriteBit(HaveFallDirection);
- break;
- case MSEHaveTransportData:
- data.WriteBit(HaveTransportData);
- break;
- case MSETransportHaveTime2:
- if (HaveTransportData)
- data.WriteBit(HaveTransportTime2);
- break;
- case MSETransportHaveTime3:
- if (HaveTransportData)
- data.WriteBit(HaveTransportTime3);
- break;
- case MSEHaveSpline:
- data.WriteBit(HaveSpline);
- break;
- case MSEHaveSplineElev:
- data.WriteBit(HaveSplineElevation);
- break;
- case MSEPositionX:
- data << mi->pos.PositionXYZStream();
- break;
- case MSEPositionY:
- case MSEPositionZ:
- break; // assume they always go as vector of 3
- case MSEPositionO:
- data << mi->pos.m_orientation;
- break;
- case MSEPitch:
- if (HavePitch)
- data << mi->pitch;
- break;
- case MSEFallTime:
- if (HaveFallData)
- data << mi->fallTime;
- break;
- case MSESplineElev:
- if (HaveSplineElevation)
- data << mi->splineElevation;
- break;
- case MSEFallHorizontalSpeed:
- if (HaveFallDirection)
- data << mi->j_xyspeed;
- break;
- case MSEFallVerticalSpeed:
- if (HaveFallData)
- data << mi->j_zspeed;
- break;
- case MSEFallCosAngle:
- if (HaveFallDirection)
- data << mi->j_cosAngle;
- break;
- case MSEFallSinAngle:
- if (HaveFallDirection)
- data << mi->j_sinAngle;
- break;
- case MSETransportSeat:
- if (HaveTransportData)
- data << mi->t_seat;
- break;
- case MSETransportPositionO:
- if (HaveTransportData)
- data << mi->t_pos.m_orientation;
- break;
- case MSETransportPositionX:
- if (HaveTransportData)
- data << mi->t_pos.PositionXYZStream();
- break;
- case MSETransportPositionY:
- case MSETransportPositionZ:
- break; // assume they always go as vector of 3
- case MSETransportTime:
- if (HaveTransportData)
- data << mi->t_time;
- break;
- case MSETransportTime2:
- if (HaveTransportTime2)
- data << mi->t_time2;
- break;
- case MSETransportTime3:
- if (HaveTransportTime3)
- data << mi->t_time3;
- break;
- default:
- WPError(false, "Incorrect sequence element detected at ReadMovementInfo");
- }
- }
+ bool hasMovementFlags = mi->GetMovementFlags() != 0;
+ bool hasMovementFlags2 = mi->GetExtraMovementFlags() != 0;
+ bool hasTimestamp = mi->time != 0;
+ bool hasOrientation = !G3D::fuzzyEq(mi->pos.GetOrientation(), 0.0f);
+ bool hasTransportData = mi->t_guid != 0;
+ bool hasTransportTime2 = mi->HasExtraMovementFlag(MOVEMENTFLAG2_INTERPOLATED_MOVEMENT);
+ bool hasTransportTime3 = false;
+ bool hasPitch = mi->HasMovementFlag(MovementFlags(MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING)) || mi->HasExtraMovementFlag(MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING);
+ bool hasFallData = mi->HasExtraMovementFlag(MOVEMENTFLAG2_INTERPOLATED_TURNING);
+ bool hasFallDirection = mi->HasMovementFlag(MOVEMENTFLAG_FALLING);
+ bool hasSplineElevation = mi->HasMovementFlag(MOVEMENTFLAG_SPLINE_ELEVATION);
+ bool hasSpline = false;
+
+ MovementStatusElements* sequence = GetMovementStatusElementsSequence(data.GetOpcode());
+ if (!sequence)
+ {
+ sLog->outError("WorldSession::WriteMovementInfo: No movement sequence found for opcode 0x%04X", uint32(data.GetOpcode()));
+ return;
+ }
+
+ ObjectGuid guid = mi->guid;
+ ObjectGuid tguid = mi->t_guid;
+
+ for(uint32 i = 0; i < MSE_COUNT; ++i)
+ {
+ MovementStatusElements element = sequence[i];
+
+ if (element >= MSEHasGuidByte0 && element <= MSEHasGuidByte7)
+ {
+ data.WriteBit(guid[element - MSEHasGuidByte0]);
+ continue;
+ }
+
+ if (element >= MSEHasTransportGuidByte0 &&
+ element <= MSEHasTransportGuidByte7)
+ {
+ if (hasTransportData)
+ data.WriteBit(tguid[element - MSEHasTransportGuidByte0]);
+ continue;
+ }
+
+ if (element >= MSEGuidByte0 && element <= MSEGuidByte7)
+ {
+ data.WriteByteSeq(guid[element - MSEGuidByte0]);
+ continue;
+ }
+
+ if (element >= MSETransportGuidByte0 &&
+ element <= MSETransportGuidByte7)
+ {
+ if (hasTransportData)
+ data.WriteByteSeq(tguid[element - MSETransportGuidByte0]);
+ continue;
+ }
+
+ switch (element)
+ {
+ case MSEHasMovementFlags:
+ data.WriteBit(!hasMovementFlags);
+ break;
+ case MSEHasMovementFlags2:
+ data.WriteBit(!hasMovementFlags2);
+ break;
+ case MSEHasTimestamp:
+ data.WriteBit(!hasTimestamp);
+ break;
+ case MSEHasOrientation:
+ data.WriteBit(!hasOrientation);
+ break;
+ case MSEHasTransportData:
+ data.WriteBit(hasTransportData);
+ break;
+ case MSEHasTransportTime2:
+ if (hasTransportData)
+ data.WriteBit(hasTransportTime2);
+ break;
+ case MSEHasTransportTime3:
+ if (hasTransportData)
+ data.WriteBit(hasTransportTime3);
+ break;
+ case MSEHasPitch:
+ data.WriteBit(!hasPitch);
+ break;
+ case MSEHasFallData:
+ data.WriteBit(hasFallData);
+ break;
+ case MSEHasFallDirection:
+ if (hasFallData)
+ data.WriteBit(hasFallDirection);
+ break;
+ case MSEHasSplineElev:
+ data.WriteBit(!hasSplineElevation);
+ break;
+ case MSEHasSpline:
+ data.WriteBit(hasSpline);
+ break;
+ case MSEMovementFlags:
+ if (hasMovementFlags)
+ data.WriteBits(mi->flags, 30);
+ break;
+ case MSEMovementFlags2:
+ if (hasMovementFlags2)
+ data.WriteBits(mi->flags2, 12);
+ break;
+ case MSETimestamp:
+ if (hasTimestamp)
+ data << mi->time;
+ break;
+ case MSEPositionX:
+ data << mi->pos.m_positionX;
+ break;
+ case MSEPositionY:
+ data << mi->pos.m_positionY;
+ break;
+ case MSEPositionZ:
+ data << mi->pos.m_positionZ;
+ break;
+ case MSEOrientation:
+ if (hasOrientation)
+ data << mi->pos.m_orientation;
+ break;
+ case MSETransportPositionX:
+ if (hasTransportData)
+ data << mi->t_pos.m_positionX;
+ break;
+ case MSETransportPositionY:
+ if (hasTransportData)
+ data << mi->t_pos.m_positionY;
+ break;
+ case MSETransportPositionZ:
+ if (hasTransportData)
+ data << mi->t_pos.m_positionZ;
+ break;
+ case MSETransportOrientation:
+ if (hasTransportData)
+ data << mi->t_pos.m_orientation;
+ break;
+ case MSETransportSeat:
+ if (hasTransportData)
+ data << mi->t_seat;
+ break;
+ case MSETransportTime:
+ if (hasTransportData)
+ data << mi->t_time;
+ break;
+ case MSETransportTime2:
+ if (hasTransportData && hasTransportTime2)
+ data << mi->t_time2;
+ break;
+ case MSETransportTime3:
+ if (hasTransportData && hasTransportTime3)
+ data << mi->t_time3;
+ break;
+ case MSEPitch:
+ if (hasPitch)
+ data << mi->pitch;
+ break;
+ case MSEFallTime:
+ if (hasFallData)
+ data << mi->fallTime;
+ break;
+ case MSEFallVerticalSpeed:
+ if (hasFallData)
+ data << mi->j_zspeed;
+ break;
+ case MSEFallCosAngle:
+ if (hasFallDirection)
+ data << mi->j_cosAngle;
+ break;
+ case MSEFallSinAngle:
+ if (hasFallDirection)
+ data << mi->j_sinAngle;
+ break;
+ case MSEFallHorizontalSpeed:
+ if (hasFallDirection)
+ data << mi->j_xyspeed;
+ break;
+ case MSESplineElev:
+ if (hasSplineElevation)
+ data << mi->splineElevation;
+ break;
+ case MSEZeroBit:
+ data.WriteBit(0);
+ break;
+ case MSEOneBit:
+ data.WriteBit(1);
+ break;
+ default:
+ ASSERT(false && "Incorrect sequence element detected at ReadMovementInfo");
+ break;
+ }
+ }
}
diff --git a/src/server/game/Movement/MovementStructures.h b/src/server/game/Movement/MovementStructures.h
index 84b6d79cbd5..87439bbedbc 100644
--- a/src/server/game/Movement/MovementStructures.h
+++ b/src/server/game/Movement/MovementStructures.h
@@ -21,10 +21,35 @@
enum MovementStatusElements
{
- MSEFlags,
- MSEFlags2,
- MSETimestamp,
- MSEHavePitch,
+ MSEHasGuidByte0,
+ MSEHasGuidByte1,
+ MSEHasGuidByte2,
+ MSEHasGuidByte3,
+ MSEHasGuidByte4,
+ MSEHasGuidByte5,
+ MSEHasGuidByte6,
+ MSEHasGuidByte7,
+ MSEHasMovementFlags,
+ MSEHasMovementFlags2,
+ MSEHasTimestamp,
+ MSEHasOrientation,
+ MSEHasTransportData,
+ MSEHasTransportGuidByte0,
+ MSEHasTransportGuidByte1,
+ MSEHasTransportGuidByte2,
+ MSEHasTransportGuidByte3,
+ MSEHasTransportGuidByte4,
+ MSEHasTransportGuidByte5,
+ MSEHasTransportGuidByte6,
+ MSEHasTransportGuidByte7,
+ MSEHasTransportTime2,
+ MSEHasTransportTime3,
+ MSEHasPitch,
+ MSEHasFallData,
+ MSEHasFallDirection,
+ MSEHasSplineElev,
+ MSEHasSpline,
+
MSEGuidByte0,
MSEGuidByte1,
MSEGuidByte2,
@@ -33,11 +58,13 @@ enum MovementStatusElements
MSEGuidByte5,
MSEGuidByte6,
MSEGuidByte7,
- MSEHaveFallData,
- MSEHaveFallDirection,
- MSEHaveTransportData,
- MSETransportHaveTime2,
- MSETransportHaveTime3,
+ MSEMovementFlags,
+ MSEMovementFlags2,
+ MSETimestamp,
+ MSEPositionX,
+ MSEPositionY,
+ MSEPositionZ,
+ MSEOrientation,
MSETransportGuidByte0,
MSETransportGuidByte1,
MSETransportGuidByte2,
@@ -46,1326 +73,1337 @@ enum MovementStatusElements
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,
+ MSETransportOrientation,
+ MSETransportSeat,
MSETransportTime,
MSETransportTime2,
MSETransportTime3,
+ MSEPitch,
+ MSEFallTime,
+ MSEFallVerticalSpeed,
+ MSEFallCosAngle,
+ MSEFallSinAngle,
+ MSEFallHorizontalSpeed,
+ MSESplineElev,
+
+ // Special
+ MSEZeroBit, // writes bit value 1 or skips read bit
+ MSEOneBit, // writes bit value 0 or skips read bit
+ MSEEnd, // marks end of parsing
MSE_COUNT
};
+
//4.2.2
MovementStatusElements PlayerMoveSequence[] = {
- MSEHaveSplineElev,
- MSEHaveTransportData,
- MSEGuidByte5,
- MSETransportGuidByte2,
- MSETransportGuidByte4,
- MSETransportGuidByte1,
- MSETransportGuidByte3,
- MSETransportGuidByte0,
- MSETransportHaveTime2,
- MSETransportGuidByte7,
- MSETransportHaveTime3,
- MSETransportGuidByte6,
- MSETransportGuidByte5,
- MSEGuidByte7,
- MSEGuidByte3,
- MSEGuidByte1,
+ MSEHasSplineElev,
+ MSEHasTransportData,
+ MSEHasGuidByte5,
+ MSEHasTransportGuidByte2,
+ MSEHasTransportGuidByte4,
+ MSEHasTransportGuidByte1,
+ MSEHasTransportGuidByte3,
+ MSEHasTransportGuidByte0,
+ MSEHasTransportTime2,
+ MSEHasTransportGuidByte7,
+ MSEHasTransportTime3,
+ MSEHasTransportGuidByte6,
+ MSEHasTransportGuidByte5,
+ MSEHasGuidByte7,
+ MSEHasGuidByte3,
+ MSEHasGuidByte1,
+ MSEHasGuidByte4,
+ MSEHasGuidByte0,
+ MSEMovementFlags,
+ MSEHasPitch,
+ MSEHasGuidByte2,
+ MSEMovementFlags2,
+ MSEHasGuidByte6,
+ MSEHasFallData,
+ MSEHasFallDirection,
+ MSEHasSpline,
MSEGuidByte4,
MSEGuidByte0,
- MSEFlags,
- MSEHavePitch,
- MSEGuidByte2,
- MSEFlags2,
+ MSEOrientation,
MSEGuidByte6,
- MSEHaveFallData,
- MSEHaveFallDirection,
- MSEHaveSpline,
- MSEGuidByte4_2,
- MSEGuidByte0_2,
- MSEPositionO,
- MSEGuidByte6_2,
- MSEGuidByte7_2,
+ MSEGuidByte7,
MSESplineElev,
- MSETransportGuidByte4_2,
- MSETransportGuidByte2_2,
- MSETransportPositionO,
+ MSETransportGuidByte4,
+ MSETransportGuidByte2,
+ MSETransportOrientation,
MSETransportTime,
MSETransportSeat,
- MSETransportGuidByte3_2,
+ MSETransportGuidByte3,
MSETransportPositionX,
MSETransportPositionY,
MSETransportPositionZ,
- MSETransportGuidByte1_2,
+ MSETransportGuidByte1,
MSETransportTime2,
MSETransportTime3,
- MSETransportGuidByte5_2,
- MSETransportGuidByte0_2,
- MSETransportGuidByte6_2,
- MSETransportGuidByte7_2,
- MSEGuidByte2_2,
+ MSETransportGuidByte5,
+ MSETransportGuidByte0,
+ MSETransportGuidByte6,
+ MSETransportGuidByte7,
+ MSEGuidByte2,
MSETimestamp,
- MSEGuidByte1_2,
+ MSEGuidByte1,
MSEPitch,
MSEPositionX,
MSEPositionY,
MSEPositionZ,
- MSEGuidByte5_2,
- MSEGuidByte3_2,
+ MSEGuidByte5,
+ MSEGuidByte3,
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,
+ MSEHasGuidByte4,
+ MSEHasGuidByte6,
+ MSEHasGuidByte3,
+ MSEHasSpline,
+ MSEHasGuidByte2,
+ MSEMovementFlags,
+ MSEHasGuidByte7,
+ MSEHasGuidByte1,
+ MSEMovementFlags2,
+ MSEHasGuidByte5,
+ MSEHasGuidByte0,
+ MSEHasFallData,
+ MSEHasFallDirection,
+ MSEHasPitch,
+ MSEHasTransportData,
+ MSEHasTransportGuidByte0,
+ MSEHasTransportGuidByte6,
+ MSEHasTransportGuidByte2,
+ MSEHasTransportGuidByte5,
+ MSEHasTransportGuidByte4,
+ MSEHasTransportGuidByte1,
+ MSEHasTransportGuidByte3,
+ MSEHasTransportGuidByte7,
+ MSEHasTransportTime2,
+ MSEHasTransportTime3,
+ MSEHasSplineElev,
+ MSEOrientation,
MSEPositionX,
MSEPositionY,
MSEPositionZ,
MSETimestamp,
- MSEGuidByte7_2,
- MSEGuidByte2_2,
+ MSEGuidByte7,
+ MSEGuidByte2,
MSEFallTime,
MSEFallVerticalSpeed,
MSEFallHorizontalSpeed,
MSEFallCosAngle,
MSEFallSinAngle,
- MSEGuidByte0_2,
+ MSEGuidByte0,
MSEPitch,
- MSEGuidByte4_2,
- MSEGuidByte6_2,
- MSEGuidByte5_2,
- MSEGuidByte3_2,
+ MSEGuidByte4,
+ MSEGuidByte6,
+ MSEGuidByte5,
+ MSEGuidByte3,
MSETransportSeat,
- MSETransportPositionO,
+ MSETransportOrientation,
MSETransportPositionX,
MSETransportPositionY,
MSETransportPositionZ,
MSETransportTime,
MSETransportTime2,
- MSETransportGuidByte3_2,
- MSETransportGuidByte6_2,
+ MSETransportGuidByte3,
+ MSETransportGuidByte6,
MSETransportTime3,
- MSETransportGuidByte7_2,
- MSETransportGuidByte5_2,
- MSETransportGuidByte2_2,
- MSETransportGuidByte1_2,
- MSETransportGuidByte0_2,
- MSETransportGuidByte4_2,
+ MSETransportGuidByte7,
+ MSETransportGuidByte5,
+ MSETransportGuidByte2,
+ MSETransportGuidByte1,
+ MSETransportGuidByte0,
+ MSETransportGuidByte4,
MSESplineElev,
- MSEGuidByte1_2,
+ MSEGuidByte1,
};
+
//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,
+ MSEMovementFlags,
+ MSEHasSpline,
+ MSEHasGuidByte0,
+ MSEHasGuidByte6,
+ MSEHasGuidByte1,
+ MSEHasGuidByte7,
+ MSEHasGuidByte2,
+ MSEHasGuidByte4,
+ MSEHasGuidByte3,
+ MSEMovementFlags2,
+ MSEHasGuidByte5,
+ MSEHasSplineElev,
+ MSEHasTransportData,
+ MSEHasTransportGuidByte0,
+ MSEHasTransportGuidByte6,
+ MSEHasTransportGuidByte2,
+ MSEHasTransportGuidByte5,
+ MSEHasTransportGuidByte4,
+ MSEHasTransportGuidByte1,
+ MSEHasTransportGuidByte3,
+ MSEHasTransportGuidByte7,
+ MSEHasTransportTime2,
+ MSEHasTransportTime3,
+ MSEHasPitch,
+ MSEHasFallData,
+ MSEHasFallDirection,
MSETimestamp,
MSEPositionX,
MSEPositionY,
MSEPositionZ,
- MSEPositionO,
- MSEGuidByte7_2,
- MSEGuidByte5_2,
+ MSEOrientation,
+ MSEGuidByte7,
+ MSEGuidByte5,
MSESplineElev,
- MSEGuidByte1_2,
- MSEGuidByte6_2,
- MSEGuidByte4_2,
- MSEGuidByte3_2,
+ MSEGuidByte1,
+ MSEGuidByte6,
+ MSEGuidByte4,
+ MSEGuidByte3,
MSETransportSeat,
- MSETransportPositionO,
+ MSETransportOrientation,
MSETransportPositionX,
MSETransportPositionY,
MSETransportPositionZ,
MSETransportTime,
MSETransportTime2,
- MSETransportGuidByte3_2,
- MSETransportGuidByte6_2,
+ MSETransportGuidByte3,
+ MSETransportGuidByte6,
MSETransportTime3,
- MSETransportGuidByte7_2,
- MSETransportGuidByte5_2,
- MSETransportGuidByte2_2,
- MSETransportGuidByte1_2,
- MSETransportGuidByte0_2,
- MSETransportGuidByte4_2,
+ MSETransportGuidByte7,
+ MSETransportGuidByte5,
+ MSETransportGuidByte2,
+ MSETransportGuidByte1,
+ MSETransportGuidByte0,
+ MSETransportGuidByte4,
MSEPitch,
MSEFallTime,
MSEFallVerticalSpeed,
MSEFallHorizontalSpeed,
MSEFallCosAngle,
MSEFallSinAngle,
- MSEGuidByte2_2,
- MSEGuidByte0_2,
+ MSEGuidByte2,
+ MSEGuidByte0,
};
+
//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,
+ MSEHasSpline,
+ MSEHasGuidByte0,
+ MSEHasGuidByte1,
+ MSEHasGuidByte4,
+ MSEMovementFlags,
+ MSEHasGuidByte2,
+ MSEHasGuidByte5,
+ MSEHasGuidByte3,
+ MSEMovementFlags2,
+ MSEHasGuidByte7,
+ MSEHasGuidByte6,
+ MSEHasSplineElev,
+ MSEHasTransportData,
+ MSEHasTransportGuidByte0,
+ MSEHasTransportGuidByte6,
+ MSEHasTransportGuidByte2,
+ MSEHasTransportGuidByte5,
+ MSEHasTransportGuidByte4,
+ MSEHasTransportGuidByte1,
+ MSEHasTransportGuidByte3,
+ MSEHasTransportGuidByte7,
+ MSEHasTransportTime2,
+ MSEHasTransportTime3,
+ MSEHasFallData,
+ MSEHasFallDirection,
+ MSEHasPitch,
+ MSEOrientation,
MSETimestamp,
MSEPositionX,
MSEPositionY,
MSEPositionZ,
MSESplineElev,
- MSEGuidByte0_2,
- MSEGuidByte5_2,
- MSEGuidByte3_2,
+ MSEGuidByte0,
+ MSEGuidByte5,
+ MSEGuidByte3,
MSETransportSeat,
- MSETransportPositionO,
+ MSETransportOrientation,
MSETransportPositionX,
MSETransportPositionY,
MSETransportPositionZ,
MSETransportTime,
MSETransportTime2,
- MSETransportGuidByte3_2,
- MSETransportGuidByte6_2,
+ MSETransportGuidByte3,
+ MSETransportGuidByte6,
MSETransportTime3,
- MSETransportGuidByte7_2,
- MSETransportGuidByte5_2,
- MSETransportGuidByte2_2,
- MSETransportGuidByte1_2,
- MSETransportGuidByte0_2,
- MSETransportGuidByte4_2,
- MSEGuidByte4_2,
- MSEGuidByte1_2,
+ MSETransportGuidByte7,
+ MSETransportGuidByte5,
+ MSETransportGuidByte2,
+ MSETransportGuidByte1,
+ MSETransportGuidByte0,
+ MSETransportGuidByte4,
+ MSEGuidByte4,
+ MSEGuidByte1,
MSEFallTime,
MSEFallVerticalSpeed,
MSEFallHorizontalSpeed,
MSEFallCosAngle,
MSEFallSinAngle,
- MSEGuidByte2_2,
- MSEGuidByte6_2,
- MSEGuidByte7_2,
+ MSEGuidByte2,
+ MSEGuidByte6,
+ MSEGuidByte7,
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,
+ MSEMovementFlags,
+ MSEHasGuidByte4,
+ MSEHasGuidByte2,
+ MSEHasSpline,
+ MSEHasGuidByte3,
+ MSEHasGuidByte5,
+ MSEMovementFlags2,
+ MSEHasGuidByte0,
+ MSEHasGuidByte7,
+ MSEHasGuidByte6,
+ MSEHasGuidByte1,
+ MSEHasSplineElev,
+ MSEHasPitch,
+ MSEHasFallData,
+ MSEHasFallDirection,
+ MSEHasTransportData,
+ MSEHasTransportGuidByte0,
+ MSEHasTransportGuidByte6,
+ MSEHasTransportGuidByte2,
+ MSEHasTransportGuidByte5,
+ MSEHasTransportGuidByte4,
+ MSEHasTransportGuidByte1,
+ MSEHasTransportGuidByte3,
+ MSEHasTransportGuidByte7,
+ MSEHasTransportTime2,
+ MSEHasTransportTime3,
+ MSEOrientation,
MSETimestamp,
MSEPositionX,
MSEPositionY,
MSEPositionZ,
- MSEGuidByte7_2,
- MSEGuidByte5_2,
+ MSEGuidByte7,
+ MSEGuidByte5,
MSESplineElev,
- MSEGuidByte4_2,
- MSEGuidByte1_2,
- MSEGuidByte2_2,
+ MSEGuidByte4,
+ MSEGuidByte1,
+ MSEGuidByte2,
MSEPitch,
MSEFallTime,
MSEFallVerticalSpeed,
MSEFallHorizontalSpeed,
MSEFallCosAngle,
MSEFallSinAngle,
- MSEGuidByte6_2,
- MSEGuidByte0_2,
+ MSEGuidByte6,
+ MSEGuidByte0,
MSETransportSeat,
- MSETransportPositionO,
+ MSETransportOrientation,
MSETransportPositionX,
MSETransportPositionY,
MSETransportPositionZ,
MSETransportTime,
MSETransportTime2,
- MSETransportGuidByte3_2,
- MSETransportGuidByte6_2,
+ MSETransportGuidByte3,
+ MSETransportGuidByte6,
MSETransportTime3,
- MSETransportGuidByte7_2,
- MSETransportGuidByte5_2,
- MSETransportGuidByte2_2,
- MSETransportGuidByte1_2,
- MSETransportGuidByte0_2,
- MSETransportGuidByte4_2,
- MSEGuidByte3_2,
+ MSETransportGuidByte7,
+ MSETransportGuidByte5,
+ MSETransportGuidByte2,
+ MSETransportGuidByte1,
+ MSETransportGuidByte0,
+ MSETransportGuidByte4,
+ MSEGuidByte3,
};
+
//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,
+ MSEHasGuidByte1,
+ MSEHasGuidByte6,
+ MSEHasGuidByte7,
+ MSEHasGuidByte3,
+ MSEMovementFlags,
+ MSEHasGuidByte5,
+ MSEHasGuidByte2,
+ MSEHasGuidByte0,
+ MSEHasSpline,
+ MSEHasGuidByte4,
+ MSEMovementFlags2,
+ MSEHasSplineElev,
+ MSEHasTransportData,
+ MSEHasTransportGuidByte0,
+ MSEHasTransportGuidByte6,
+ MSEHasTransportGuidByte2,
+ MSEHasTransportGuidByte5,
+ MSEHasTransportGuidByte4,
+ MSEHasTransportGuidByte1,
+ MSEHasTransportGuidByte3,
+ MSEHasTransportGuidByte7,
+ MSEHasTransportTime2,
+ MSEHasTransportTime3,
+ MSEHasPitch,
+ MSEHasFallData,
+ MSEHasFallDirection,
MSEPositionX,
MSEPositionY,
MSEPositionZ,
MSETimestamp,
- MSEPositionO,
- MSEGuidByte1_2,
- MSEGuidByte4_2,
+ MSEOrientation,
+ MSEGuidByte1,
+ MSEGuidByte4,
MSESplineElev,
MSETransportSeat,
- MSETransportPositionO,
+ MSETransportOrientation,
MSETransportPositionX,
MSETransportPositionY,
MSETransportPositionZ,
MSETransportTime,
MSETransportTime2,
- MSETransportGuidByte3_2,
- MSETransportGuidByte6_2,
+ MSETransportGuidByte3,
+ MSETransportGuidByte6,
MSETransportTime3,
- MSETransportGuidByte7_2,
- MSETransportGuidByte5_2,
- MSETransportGuidByte2_2,
- MSETransportGuidByte1_2,
- MSETransportGuidByte0_2,
- MSETransportGuidByte4_2,
+ MSETransportGuidByte7,
+ MSETransportGuidByte5,
+ MSETransportGuidByte2,
+ MSETransportGuidByte1,
+ MSETransportGuidByte0,
+ MSETransportGuidByte4,
MSEPitch,
- MSEGuidByte5_2,
+ MSEGuidByte5,
MSEFallTime,
MSEFallVerticalSpeed,
MSEFallHorizontalSpeed,
MSEFallCosAngle,
MSEFallSinAngle,
- MSEGuidByte0_2,
- MSEGuidByte3_2,
- MSEGuidByte6_2,
- MSEGuidByte7_2,
- MSEGuidByte2_2,
+ MSEGuidByte0,
+ MSEGuidByte3,
+ MSEGuidByte6,
+ MSEGuidByte7,
+ MSEGuidByte2,
};
+
//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,
+ MSEHasGuidByte5,
+ MSEMovementFlags2,
+ MSEHasGuidByte2,
+ MSEHasGuidByte7,
+ MSEHasSpline,
+ MSEMovementFlags,
+ MSEHasGuidByte1,
+ MSEHasGuidByte3,
+ MSEHasGuidByte4,
+ MSEHasGuidByte6,
+ MSEHasGuidByte0,
+ MSEHasSplineElev,
+ MSEHasPitch,
+ MSEHasTransportData,
+ MSEHasTransportGuidByte0,
+ MSEHasTransportGuidByte6,
+ MSEHasTransportGuidByte2,
+ MSEHasTransportGuidByte5,
+ MSEHasTransportGuidByte4,
+ MSEHasTransportGuidByte1,
+ MSEHasTransportGuidByte3,
+ MSEHasTransportGuidByte7,
+ MSEHasTransportTime2,
+ MSEHasTransportTime3,
+ MSEHasFallData,
+ MSEHasFallDirection,
+ MSEOrientation,
MSEPositionX,
MSEPositionY,
MSEPositionZ,
MSETimestamp,
- MSEGuidByte3_2,
- MSEGuidByte0_2,
- MSEGuidByte1_2,
+ MSEGuidByte3,
+ MSEGuidByte0,
+ MSEGuidByte1,
MSESplineElev,
- MSEGuidByte4_2,
+ MSEGuidByte4,
MSEPitch,
- MSEGuidByte7_2,
- MSEGuidByte2_2,
- MSEGuidByte6_2,
+ MSEGuidByte7,
+ MSEGuidByte2,
+ MSEGuidByte6,
MSETransportSeat,
- MSETransportPositionO,
+ MSETransportOrientation,
MSETransportPositionX,
MSETransportPositionY,
MSETransportPositionZ,
MSETransportTime,
MSETransportTime2,
- MSETransportGuidByte3_2,
- MSETransportGuidByte6_2,
+ MSETransportGuidByte3,
+ MSETransportGuidByte6,
MSETransportTime3,
- MSETransportGuidByte7_2,
- MSETransportGuidByte5_2,
- MSETransportGuidByte2_2,
- MSETransportGuidByte1_2,
- MSETransportGuidByte0_2,
- MSETransportGuidByte4_2,
- MSEGuidByte5_2,
+ MSETransportGuidByte7,
+ MSETransportGuidByte5,
+ MSETransportGuidByte2,
+ MSETransportGuidByte1,
+ MSETransportGuidByte0,
+ MSETransportGuidByte4,
+ MSEGuidByte5,
MSEFallTime,
MSEFallVerticalSpeed,
MSEFallHorizontalSpeed,
MSEFallCosAngle,
MSEFallSinAngle,
};
-//4.2.2
-MovementStatusElements MovementStartForwardSequence[] = {
- MSEFlags,
+
+//4.3.3
+MovementStatusElements MovementStartForwardSequence[] =
+{
+ MSEPositionY,
+ MSEPositionZ,
+ MSEPositionX,
+ MSEHasGuidByte5,
+ MSEHasGuidByte2,
+ MSEHasGuidByte0,
+ MSEZeroBit,
+ MSEHasMovementFlags,
+ MSEHasGuidByte7,
+ MSEHasGuidByte3,
+ MSEHasGuidByte1,
+ MSEHasOrientation,
+ MSEHasGuidByte6,
+ MSEHasSpline,
+ MSEHasSplineElev,
+ MSEHasGuidByte4,
+ MSEHasTransportData,
+ MSEHasTimestamp,
+ MSEHasPitch,
+ MSEHasMovementFlags2,
+ MSEHasFallData,
+ MSEMovementFlags,
+ MSEHasTransportGuidByte3,
+ MSEHasTransportGuidByte4,
+ MSEHasTransportGuidByte6,
+ MSEHasTransportGuidByte2,
+ MSEHasTransportGuidByte5,
+ MSEHasTransportGuidByte0,
+ MSEHasTransportGuidByte7,
+ MSEHasTransportGuidByte1,
+ MSEHasTransportTime3,
+ MSEHasTransportTime2,
+ MSEHasFallDirection,
+ MSEMovementFlags2,
+ MSEGuidByte2,
+ MSEGuidByte4,
+ MSEGuidByte6,
MSEGuidByte1,
MSEGuidByte7,
- MSEFlags2,
- MSEGuidByte6,
+ MSEGuidByte3,
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,
+ MSEFallTime,
+ MSETransportGuidByte3,
MSETransportPositionY,
MSETransportPositionZ,
+ MSETransportGuidByte1,
+ MSETransportGuidByte4,
+ MSETransportGuidByte7,
+ MSETransportOrientation,
+ MSETransportGuidByte2,
+ MSETransportPositionX,
+ MSETransportGuidByte5,
+ MSETransportTime3,
MSETransportTime,
+ MSETransportGuidByte6,
+ MSETransportGuidByte0,
+ MSETransportSeat,
MSETransportTime2,
- MSETransportGuidByte3_2,
- MSETransportGuidByte6_2,
- MSETransportTime3,
- MSETransportGuidByte7_2,
- MSETransportGuidByte5_2,
- MSETransportGuidByte2_2,
- MSETransportGuidByte1_2,
- MSETransportGuidByte0_2,
- MSETransportGuidByte4_2,
- MSEGuidByte5_2,
- MSEGuidByte4_2,
+ MSESplineElev,
MSEPitch,
+ MSEOrientation,
+ MSETimestamp,
+
+ MSEEnd,
};
+
//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,
+ MSEHasGuidByte5,
+ MSEMovementFlags,
+ MSEHasSpline,
+ MSEHasGuidByte6,
+ MSEHasGuidByte1,
+ MSEHasGuidByte2,
+ MSEMovementFlags2,
+ MSEHasGuidByte7,
+ MSEHasGuidByte0,
+ MSEHasGuidByte3,
+ MSEHasGuidByte4,
+ MSEHasPitch,
+ MSEHasSplineElev,
+ MSEHasFallData,
+ MSEHasFallDirection,
+ MSEHasTransportData,
+ MSEHasTransportGuidByte0,
+ MSEHasTransportGuidByte6,
+ MSEHasTransportGuidByte2,
+ MSEHasTransportGuidByte5,
+ MSEHasTransportGuidByte4,
+ MSEHasTransportGuidByte1,
+ MSEHasTransportGuidByte3,
+ MSEHasTransportGuidByte7,
+ MSEHasTransportTime2,
+ MSEHasTransportTime3,
MSEPositionX,
MSEPositionY,
MSEPositionZ,
- MSEPositionO,
+ MSEOrientation,
MSETimestamp,
MSEPitch,
MSESplineElev,
- MSEGuidByte7_2,
- MSEGuidByte5_2,
+ MSEGuidByte7,
+ MSEGuidByte5,
MSEFallTime,
MSEFallVerticalSpeed,
MSEFallHorizontalSpeed,
MSEFallCosAngle,
MSEFallSinAngle,
- MSEGuidByte4_2,
- MSEGuidByte3_2,
- MSEGuidByte2_2,
- MSEGuidByte6_2,
- MSEGuidByte0_2,
- MSEGuidByte1_2,
+ MSEGuidByte4,
+ MSEGuidByte3,
+ MSEGuidByte2,
+ MSEGuidByte6,
+ MSEGuidByte0,
+ MSEGuidByte1,
MSETransportSeat,
- MSETransportPositionO,
+ MSETransportOrientation,
MSETransportPositionX,
MSETransportPositionY,
MSETransportPositionZ,
MSETransportTime,
MSETransportTime2,
- MSETransportGuidByte3_2,
- MSETransportGuidByte6_2,
+ MSETransportGuidByte3,
+ MSETransportGuidByte6,
MSETransportTime3,
- MSETransportGuidByte7_2,
- MSETransportGuidByte5_2,
- MSETransportGuidByte2_2,
- MSETransportGuidByte1_2,
- MSETransportGuidByte0_2,
- MSETransportGuidByte4_2,
+ MSETransportGuidByte7,
+ MSETransportGuidByte5,
+ MSETransportGuidByte2,
+ MSETransportGuidByte1,
+ MSETransportGuidByte0,
+ MSETransportGuidByte4,
};
+
//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,
+ MSEHasGuidByte3,
+ MSEHasGuidByte2,
+ MSEHasGuidByte4,
+ MSEHasGuidByte5,
+ MSEHasGuidByte0,
+ MSEHasGuidByte6,
+ MSEHasSpline,
+ MSEMovementFlags2,
+ MSEHasGuidByte1,
+ MSEMovementFlags,
+ MSEHasGuidByte7,
+ MSEHasSplineElev,
+ MSEHasPitch,
+ MSEHasTransportData,
+ MSEHasTransportGuidByte0,
+ MSEHasTransportGuidByte6,
+ MSEHasTransportGuidByte2,
+ MSEHasTransportGuidByte5,
+ MSEHasTransportGuidByte4,
+ MSEHasTransportGuidByte1,
+ MSEHasTransportGuidByte3,
+ MSEHasTransportGuidByte7,
+ MSEHasTransportTime2,
+ MSEHasTransportTime3,
+ MSEHasFallData,
+ MSEHasFallDirection,
+ MSEOrientation,
MSETimestamp,
MSEPositionX,
MSEPositionY,
MSEPositionZ,
- MSEGuidByte4_2,
- MSEGuidByte1_2,
- MSEGuidByte2_2,
+ MSEGuidByte4,
+ MSEGuidByte1,
+ MSEGuidByte2,
MSESplineElev,
- MSEGuidByte0_2,
+ MSEGuidByte0,
MSEPitch,
- MSEGuidByte6_2,
- MSEGuidByte3_2,
- MSEGuidByte7_2,
- MSEGuidByte5_2,
+ MSEGuidByte6,
+ MSEGuidByte3,
+ MSEGuidByte7,
+ MSEGuidByte5,
MSETransportSeat,
- MSETransportPositionO,
+ MSETransportOrientation,
MSETransportPositionX,
MSETransportPositionY,
MSETransportPositionZ,
MSETransportTime,
MSETransportTime2,
- MSETransportGuidByte3_2,
- MSETransportGuidByte6_2,
+ MSETransportGuidByte3,
+ MSETransportGuidByte6,
MSETransportTime3,
- MSETransportGuidByte7_2,
- MSETransportGuidByte5_2,
- MSETransportGuidByte2_2,
- MSETransportGuidByte1_2,
- MSETransportGuidByte0_2,
- MSETransportGuidByte4_2,
+ MSETransportGuidByte7,
+ MSETransportGuidByte5,
+ MSETransportGuidByte2,
+ MSETransportGuidByte1,
+ MSETransportGuidByte0,
+ MSETransportGuidByte4,
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,
+ MSEHasGuidByte5,
+ MSEHasGuidByte4,
+ MSEHasGuidByte6,
+ MSEHasGuidByte0,
+ MSEHasGuidByte1,
+ MSEHasGuidByte7,
+ MSEHasGuidByte2,
+ MSEHasGuidByte3,
+ MSEMovementFlags,
+ MSEMovementFlags2,
+ MSEHasSpline,
+ MSEHasTransportData,
+ MSEHasTransportGuidByte0,
+ MSEHasTransportGuidByte6,
+ MSEHasTransportGuidByte2,
+ MSEHasTransportGuidByte5,
+ MSEHasTransportGuidByte4,
+ MSEHasTransportGuidByte1,
+ MSEHasTransportGuidByte3,
+ MSEHasTransportGuidByte7,
+ MSEHasTransportTime2,
+ MSEHasTransportTime3,
+ MSEHasSplineElev,
+ MSEHasFallData,
+ MSEHasFallDirection,
+ MSEHasPitch,
MSEPositionX,
MSEPositionY,
MSEPositionZ,
MSETimestamp,
- MSEPositionO,
+ MSEOrientation,
MSETransportSeat,
- MSETransportPositionO,
+ MSETransportOrientation,
MSETransportPositionX,
MSETransportPositionY,
MSETransportPositionZ,
MSETransportTime,
MSETransportTime2,
- MSETransportGuidByte3_2,
- MSETransportGuidByte6_2,
+ MSETransportGuidByte3,
+ MSETransportGuidByte6,
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,
+ MSETransportGuidByte7,
+ MSETransportGuidByte5,
+ MSETransportGuidByte2,
+ MSETransportGuidByte1,
+ MSETransportGuidByte0,
+ MSETransportGuidByte4,
+ MSEGuidByte4,
+ MSEGuidByte0,
+ MSEGuidByte7,
+ MSEGuidByte1,
+ MSEGuidByte6,
+ MSEGuidByte5,
+ MSEGuidByte3,
MSESplineElev,
MSEFallTime,
MSEFallVerticalSpeed,
MSEFallHorizontalSpeed,
MSEFallCosAngle,
MSEFallSinAngle,
- MSEGuidByte2_2,
+ MSEGuidByte2,
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,
+ MSEHasGuidByte4,
+ MSEHasGuidByte1,
+ MSEHasGuidByte6,
+ MSEHasGuidByte0,
+ MSEMovementFlags,
+ MSEHasGuidByte5,
+ MSEMovementFlags2,
+ MSEHasSpline,
+ MSEHasGuidByte2,
+ MSEHasGuidByte3,
+ MSEHasGuidByte7,
+ MSEHasTransportData,
+ MSEHasTransportGuidByte0,
+ MSEHasTransportGuidByte6,
+ MSEHasTransportGuidByte2,
+ MSEHasTransportGuidByte5,
+ MSEHasTransportGuidByte4,
+ MSEHasTransportGuidByte1,
+ MSEHasTransportGuidByte3,
+ MSEHasTransportGuidByte7,
+ MSEHasTransportTime2,
+ MSEHasTransportTime3,
+ MSEHasFallData,
+ MSEHasFallDirection,
+ MSEHasPitch,
+ MSEHasSplineElev,
MSEPositionX,
MSEPositionY,
MSEPositionZ,
- MSEPositionO,
+ MSEOrientation,
MSETimestamp,
- MSEGuidByte6_2,
+ MSEGuidByte6,
MSETransportSeat,
- MSETransportPositionO,
+ MSETransportOrientation,
MSETransportPositionX,
MSETransportPositionY,
MSETransportPositionZ,
MSETransportTime,
MSETransportTime2,
- MSETransportGuidByte3_2,
- MSETransportGuidByte6_2,
+ MSETransportGuidByte3,
+ MSETransportGuidByte6,
MSETransportTime3,
- MSETransportGuidByte7_2,
- MSETransportGuidByte5_2,
- MSETransportGuidByte2_2,
- MSETransportGuidByte1_2,
- MSETransportGuidByte0_2,
- MSETransportGuidByte4_2,
- MSEGuidByte2_2,
- MSEGuidByte4_2,
+ MSETransportGuidByte7,
+ MSETransportGuidByte5,
+ MSETransportGuidByte2,
+ MSETransportGuidByte1,
+ MSETransportGuidByte0,
+ MSETransportGuidByte4,
+ MSEGuidByte2,
+ MSEGuidByte4,
MSEFallTime,
MSEFallVerticalSpeed,
MSEFallHorizontalSpeed,
MSEFallCosAngle,
MSEFallSinAngle,
MSEPitch,
- MSEGuidByte7_2,
- MSEGuidByte3_2,
- MSEGuidByte1_2,
- MSEGuidByte0_2,
+ MSEGuidByte7,
+ MSEGuidByte3,
+ MSEGuidByte1,
+ MSEGuidByte0,
MSESplineElev,
- MSEGuidByte5_2,
+ MSEGuidByte5,
};
+
//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,
+ MSEHasGuidByte2,
+ MSEHasGuidByte0,
+ MSEHasSpline,
+ MSEMovementFlags,
+ MSEHasGuidByte4,
+ MSEHasGuidByte6,
+ MSEHasGuidByte3,
+ MSEHasGuidByte5,
+ MSEHasGuidByte7,
+ MSEMovementFlags2,
+ MSEHasGuidByte1,
+ MSEHasPitch,
+ MSEHasFallData,
+ MSEHasFallDirection,
+ MSEHasTransportData,
+ MSEHasTransportGuidByte0,
+ MSEHasTransportGuidByte6,
+ MSEHasTransportGuidByte2,
+ MSEHasTransportGuidByte5,
+ MSEHasTransportGuidByte4,
+ MSEHasTransportGuidByte1,
+ MSEHasTransportGuidByte3,
+ MSEHasTransportGuidByte7,
+ MSEHasTransportTime2,
+ MSEHasTransportTime3,
+ MSEHasSplineElev,
+ MSEOrientation,
MSETimestamp,
MSEPositionX,
MSEPositionY,
MSEPositionZ,
- MSEGuidByte2_2,
- MSEGuidByte3_2,
+ MSEGuidByte2,
+ MSEGuidByte3,
MSEPitch,
MSEFallTime,
MSEFallVerticalSpeed,
MSEFallHorizontalSpeed,
MSEFallCosAngle,
MSEFallSinAngle,
- MSEGuidByte5_2,
- MSEGuidByte7_2,
+ MSEGuidByte5,
+ MSEGuidByte7,
MSETransportSeat,
- MSETransportPositionO,
+ MSETransportOrientation,
MSETransportPositionX,
MSETransportPositionY,
MSETransportPositionZ,
MSETransportTime,
MSETransportTime2,
- MSETransportGuidByte3_2,
- MSETransportGuidByte6_2,
+ MSETransportGuidByte3,
+ MSETransportGuidByte6,
MSETransportTime3,
- MSETransportGuidByte7_2,
- MSETransportGuidByte5_2,
- MSETransportGuidByte2_2,
- MSETransportGuidByte1_2,
- MSETransportGuidByte0_2,
- MSETransportGuidByte4_2,
- MSEGuidByte1_2,
- MSEGuidByte0_2,
+ MSETransportGuidByte7,
+ MSETransportGuidByte5,
+ MSETransportGuidByte2,
+ MSETransportGuidByte1,
+ MSETransportGuidByte0,
+ MSETransportGuidByte4,
+ MSEGuidByte1,
+ MSEGuidByte0,
MSESplineElev,
- MSEGuidByte6_2,
- MSEGuidByte4_2,
+ MSEGuidByte6,
+ MSEGuidByte4,
};
+
//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,
+ MSEHasGuidByte4,
+ MSEMovementFlags2,
+ MSEHasGuidByte3,
+ MSEHasGuidByte1,
+ MSEMovementFlags,
+ MSEHasGuidByte5,
+ MSEHasSpline,
+ MSEHasGuidByte2,
+ MSEHasGuidByte6,
+ MSEHasGuidByte0,
+ MSEHasGuidByte7,
+ MSEHasFallData,
+ MSEHasFallDirection,
+ MSEHasPitch,
+ MSEHasSplineElev,
+ MSEHasTransportData,
+ MSEHasTransportGuidByte0,
+ MSEHasTransportGuidByte6,
+ MSEHasTransportGuidByte2,
+ MSEHasTransportGuidByte5,
+ MSEHasTransportGuidByte4,
+ MSEHasTransportGuidByte1,
+ MSEHasTransportGuidByte3,
+ MSEHasTransportGuidByte7,
+ MSEHasTransportTime2,
+ MSEHasTransportTime3,
+ MSEOrientation,
MSETimestamp,
MSEPositionX,
MSEPositionY,
MSEPositionZ,
- MSEGuidByte1_2,
- MSEGuidByte2_2,
- MSEGuidByte6_2,
- MSEGuidByte5_2,
- MSEGuidByte7_2,
- MSEGuidByte0_2,
+ MSEGuidByte1,
+ MSEGuidByte2,
+ MSEGuidByte6,
+ MSEGuidByte5,
+ MSEGuidByte7,
+ MSEGuidByte0,
MSEFallTime,
MSEFallVerticalSpeed,
MSEFallHorizontalSpeed,
MSEFallCosAngle,
MSEFallSinAngle,
- MSEGuidByte3_2,
+ MSEGuidByte3,
MSEPitch,
MSESplineElev,
MSETransportSeat,
- MSETransportPositionO,
+ MSETransportOrientation,
MSETransportPositionX,
MSETransportPositionY,
MSETransportPositionZ,
MSETransportTime,
MSETransportTime2,
- MSETransportGuidByte3_2,
- MSETransportGuidByte6_2,
+ MSETransportGuidByte3,
+ MSETransportGuidByte6,
MSETransportTime3,
- MSETransportGuidByte7_2,
- MSETransportGuidByte5_2,
- MSETransportGuidByte2_2,
- MSETransportGuidByte1_2,
- MSETransportGuidByte0_2,
- MSETransportGuidByte4_2,
- MSEGuidByte4_2,
+ MSETransportGuidByte7,
+ MSETransportGuidByte5,
+ MSETransportGuidByte2,
+ MSETransportGuidByte1,
+ MSETransportGuidByte0,
+ MSETransportGuidByte4,
+ MSEGuidByte4,
};
+
//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,
+ MSEHasGuidByte6,
+ MSEMovementFlags,
+ MSEHasGuidByte2,
+ MSEHasGuidByte3,
+ MSEMovementFlags2,
+ MSEHasGuidByte5,
+ MSEHasGuidByte7,
+ MSEHasGuidByte0,
+ MSEHasGuidByte4,
+ MSEHasGuidByte1,
+ MSEHasSpline,
+ MSEHasPitch,
+ MSEHasFallData,
+ MSEHasFallDirection,
+ MSEHasSplineElev,
+ MSEHasTransportData,
+ MSEHasTransportGuidByte0,
+ MSEHasTransportGuidByte6,
+ MSEHasTransportGuidByte2,
+ MSEHasTransportGuidByte5,
+ MSEHasTransportGuidByte4,
+ MSEHasTransportGuidByte1,
+ MSEHasTransportGuidByte3,
+ MSEHasTransportGuidByte7,
+ MSEHasTransportTime2,
+ MSEHasTransportTime3,
MSETimestamp,
MSEPositionX,
MSEPositionY,
MSEPositionZ,
- MSEPositionO,
- MSEGuidByte4_2,
- MSEGuidByte5_2,
- MSEGuidByte7_2,
- MSEGuidByte1_2,
+ MSEOrientation,
+ MSEGuidByte4,
+ MSEGuidByte5,
+ MSEGuidByte7,
+ MSEGuidByte1,
MSEPitch,
- MSEGuidByte3_2,
- MSEGuidByte6_2,
+ MSEGuidByte3,
+ MSEGuidByte6,
MSEFallTime,
MSEFallVerticalSpeed,
MSEFallHorizontalSpeed,
MSEFallCosAngle,
MSEFallSinAngle,
MSESplineElev,
- MSEGuidByte0_2,
- MSEGuidByte2_2,
+ MSEGuidByte0,
+ MSEGuidByte2,
MSETransportSeat,
- MSETransportPositionO,
+ MSETransportOrientation,
MSETransportPositionX,
MSETransportPositionY,
MSETransportPositionZ,
MSETransportTime,
MSETransportTime2,
- MSETransportGuidByte3_2,
- MSETransportGuidByte6_2,
+ MSETransportGuidByte3,
+ MSETransportGuidByte6,
MSETransportTime3,
- MSETransportGuidByte7_2,
- MSETransportGuidByte5_2,
- MSETransportGuidByte2_2,
- MSETransportGuidByte1_2,
- MSETransportGuidByte0_2,
- MSETransportGuidByte4_2,
+ MSETransportGuidByte7,
+ MSETransportGuidByte5,
+ MSETransportGuidByte2,
+ MSETransportGuidByte1,
+ MSETransportGuidByte0,
+ MSETransportGuidByte4,
};
+
//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,
+ MSEHasGuidByte3,
+ MSEHasGuidByte1,
+ MSEHasGuidByte5,
+ MSEMovementFlags,
+ MSEHasGuidByte4,
+ MSEHasGuidByte6,
+ MSEHasGuidByte0,
+ MSEHasGuidByte7,
+ MSEMovementFlags2,
+ MSEHasGuidByte2,
+ MSEHasSpline,
+ MSEHasFallData,
+ MSEHasFallDirection,
+ MSEHasPitch,
+ MSEHasSplineElev,
+ MSEHasTransportData,
+ MSEHasTransportGuidByte0,
+ MSEHasTransportGuidByte6,
+ MSEHasTransportGuidByte2,
+ MSEHasTransportGuidByte5,
+ MSEHasTransportGuidByte4,
+ MSEHasTransportGuidByte1,
+ MSEHasTransportGuidByte3,
+ MSEHasTransportGuidByte7,
+ MSEHasTransportTime2,
+ MSEHasTransportTime3,
MSEPositionX,
MSEPositionY,
MSEPositionZ,
MSETimestamp,
- MSEPositionO,
- MSEGuidByte3_2,
+ MSEOrientation,
+ MSEGuidByte3,
MSEFallTime,
MSEFallVerticalSpeed,
MSEFallHorizontalSpeed,
MSEFallCosAngle,
MSEFallSinAngle,
MSEPitch,
- MSEGuidByte0_2,
- MSEGuidByte5_2,
+ MSEGuidByte0,
+ MSEGuidByte5,
MSESplineElev,
- MSEGuidByte1_2,
+ MSEGuidByte1,
MSETransportSeat,
- MSETransportPositionO,
+ MSETransportOrientation,
MSETransportPositionX,
MSETransportPositionY,
MSETransportPositionZ,
MSETransportTime,
MSETransportTime2,
- MSETransportGuidByte3_2,
- MSETransportGuidByte6_2,
+ MSETransportGuidByte3,
+ MSETransportGuidByte6,
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,
+ MSETransportGuidByte7,
+ MSETransportGuidByte5,
+ MSETransportGuidByte2,
+ MSETransportGuidByte1,
+ MSETransportGuidByte0,
+ MSETransportGuidByte4,
MSEGuidByte4,
MSEGuidByte7,
- MSEHaveSpline,
- MSEGuidByte5,
- MSEFlags2,
MSEGuidByte2,
- MSEHaveSplineElev,
- MSEHaveFallData,
- MSEHaveFallDirection,
- MSEHaveTransportData,
- MSETransportGuidByte0,
- MSETransportGuidByte6,
- MSETransportGuidByte2,
- MSETransportGuidByte5,
- MSETransportGuidByte4,
- MSETransportGuidByte1,
- MSETransportGuidByte3,
- MSETransportGuidByte7,
- MSETransportHaveTime2,
- MSETransportHaveTime3,
- MSEHavePitch,
+ MSEGuidByte6,
+};
+
+//4.2.2
+MovementStatusElements MovementStartDescendSequence[] = {
+ MSEHasGuidByte6,
+ MSEHasGuidByte1,
+ MSEHasGuidByte0,
+ MSEHasGuidByte3,
+ MSEMovementFlags,
+ MSEHasGuidByte4,
+ MSEHasGuidByte7,
+ MSEHasSpline,
+ MSEHasGuidByte5,
+ MSEMovementFlags2,
+ MSEHasGuidByte2,
+ MSEHasSplineElev,
+ MSEHasFallData,
+ MSEHasFallDirection,
+ MSEHasTransportData,
+ MSEHasTransportGuidByte0,
+ MSEHasTransportGuidByte6,
+ MSEHasTransportGuidByte2,
+ MSEHasTransportGuidByte5,
+ MSEHasTransportGuidByte4,
+ MSEHasTransportGuidByte1,
+ MSEHasTransportGuidByte3,
+ MSEHasTransportGuidByte7,
+ MSEHasTransportTime2,
+ MSEHasTransportTime3,
+ MSEHasPitch,
MSETimestamp,
MSEPositionX,
MSEPositionY,
MSEPositionZ,
- MSEPositionO,
+ MSEOrientation,
MSESplineElev,
- MSEGuidByte7_2,
- MSEGuidByte4_2,
- MSEGuidByte2_2,
- MSEGuidByte5_2,
+ MSEGuidByte7,
+ MSEGuidByte4,
+ MSEGuidByte2,
+ MSEGuidByte5,
MSEFallTime,
MSEFallVerticalSpeed,
MSEFallHorizontalSpeed,
MSEFallCosAngle,
MSEFallSinAngle,
- MSEGuidByte6_2,
+ MSEGuidByte6,
MSETransportSeat,
- MSETransportPositionO,
+ MSETransportOrientation,
MSETransportPositionX,
MSETransportPositionY,
MSETransportPositionZ,
MSETransportTime,
MSETransportTime2,
- MSETransportGuidByte3_2,
- MSETransportGuidByte6_2,
+ MSETransportGuidByte3,
+ MSETransportGuidByte6,
MSETransportTime3,
- MSETransportGuidByte7_2,
- MSETransportGuidByte5_2,
- MSETransportGuidByte2_2,
- MSETransportGuidByte1_2,
- MSETransportGuidByte0_2,
- MSETransportGuidByte4_2,
- MSEGuidByte0_2,
- MSEGuidByte3_2,
- MSEGuidByte1_2,
+ MSETransportGuidByte7,
+ MSETransportGuidByte5,
+ MSETransportGuidByte2,
+ MSETransportGuidByte1,
+ MSETransportGuidByte0,
+ MSETransportGuidByte4,
+ MSEGuidByte0,
+ MSEGuidByte3,
+ MSEGuidByte1,
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,
+ MSEHasGuidByte2,
+ MSEHasSpline,
+ MSEHasGuidByte1,
+ MSEMovementFlags,
+ MSEHasGuidByte3,
+ MSEHasGuidByte5,
+ MSEHasGuidByte0,
+ MSEHasGuidByte6,
+ MSEHasGuidByte7,
+ MSEMovementFlags2,
+ MSEHasGuidByte4,
+ MSEHasPitch,
+ MSEHasSplineElev,
+ MSEHasFallData,
+ MSEHasFallDirection,
+ MSEHasTransportData,
+ MSEHasTransportGuidByte0,
+ MSEHasTransportGuidByte6,
+ MSEHasTransportGuidByte2,
+ MSEHasTransportGuidByte5,
+ MSEHasTransportGuidByte4,
+ MSEHasTransportGuidByte1,
+ MSEHasTransportGuidByte3,
+ MSEHasTransportGuidByte7,
+ MSEHasTransportTime2,
+ MSEHasTransportTime3,
MSEPositionX,
MSEPositionY,
MSEPositionZ,
- MSEPositionO,
+ MSEOrientation,
MSETimestamp,
MSEPitch,
MSESplineElev,
- MSEGuidByte2_2,
- MSEGuidByte0_2,
- MSEGuidByte5_2,
- MSEGuidByte4_2,
- MSEGuidByte7_2,
- MSEGuidByte1_2,
+ MSEGuidByte2,
+ MSEGuidByte0,
+ MSEGuidByte5,
+ MSEGuidByte4,
+ MSEGuidByte7,
+ MSEGuidByte1,
MSEFallTime,
MSEFallVerticalSpeed,
MSEFallHorizontalSpeed,
MSEFallCosAngle,
MSEFallSinAngle,
- MSEGuidByte3_2,
+ MSEGuidByte3,
MSETransportSeat,
- MSETransportPositionO,
+ MSETransportOrientation,
MSETransportPositionX,
MSETransportPositionY,
MSETransportPositionZ,
MSETransportTime,
MSETransportTime2,
- MSETransportGuidByte3_2,
- MSETransportGuidByte6_2,
+ MSETransportGuidByte3,
+ MSETransportGuidByte6,
MSETransportTime3,
- MSETransportGuidByte7_2,
- MSETransportGuidByte5_2,
- MSETransportGuidByte2_2,
- MSETransportGuidByte1_2,
- MSETransportGuidByte0_2,
- MSETransportGuidByte4_2,
- MSEGuidByte6_2,
+ MSETransportGuidByte7,
+ MSETransportGuidByte5,
+ MSETransportGuidByte2,
+ MSETransportGuidByte1,
+ MSETransportGuidByte0,
+ MSETransportGuidByte4,
+ MSEGuidByte6,
};
+
//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,
+ MSEHasGuidByte0,
+ MSEHasGuidByte3,
+ MSEMovementFlags2,
+ MSEHasGuidByte1,
+ MSEHasGuidByte5,
+ MSEHasSpline,
+ MSEHasGuidByte4,
+ MSEHasGuidByte2,
+ MSEMovementFlags,
+ MSEHasGuidByte7,
+ MSEHasGuidByte6,
+ MSEHasFallData,
+ MSEHasFallDirection,
+ MSEHasTransportData,
+ MSEHasTransportGuidByte0,
+ MSEHasTransportGuidByte6,
+ MSEHasTransportGuidByte2,
+ MSEHasTransportGuidByte5,
+ MSEHasTransportGuidByte4,
+ MSEHasTransportGuidByte1,
+ MSEHasTransportGuidByte3,
+ MSEHasTransportGuidByte7,
+ MSEHasTransportTime2,
+ MSEHasTransportTime3,
+ MSEHasPitch,
+ MSEHasSplineElev,
MSETimestamp,
- MSEPositionO,
+ MSEOrientation,
MSEPositionX,
MSEPositionY,
MSEPositionZ,
- MSEGuidByte0_2,
- MSEGuidByte1_2,
- MSEGuidByte2_2,
- MSEGuidByte7_2,
+ MSEGuidByte0,
+ MSEGuidByte1,
+ MSEGuidByte2,
+ MSEGuidByte7,
MSEFallTime,
MSEFallVerticalSpeed,
MSEFallHorizontalSpeed,
MSEFallCosAngle,
MSEFallSinAngle,
MSETransportSeat,
- MSETransportPositionO,
+ MSETransportOrientation,
MSETransportPositionX,
MSETransportPositionY,
MSETransportPositionZ,
MSETransportTime,
MSETransportTime2,
- MSETransportGuidByte3_2,
- MSETransportGuidByte6_2,
+ MSETransportGuidByte3,
+ MSETransportGuidByte6,
MSETransportTime3,
- MSETransportGuidByte7_2,
- MSETransportGuidByte5_2,
- MSETransportGuidByte2_2,
- MSETransportGuidByte1_2,
- MSETransportGuidByte0_2,
- MSETransportGuidByte4_2,
+ MSETransportGuidByte7,
+ MSETransportGuidByte5,
+ MSETransportGuidByte2,
+ MSETransportGuidByte1,
+ MSETransportGuidByte0,
+ MSETransportGuidByte4,
MSEPitch,
- MSEGuidByte5_2,
- MSEGuidByte4_2,
- MSEGuidByte3_2,
+ MSEGuidByte5,
+ MSEGuidByte4,
+ MSEGuidByte3,
MSESplineElev,
- MSEGuidByte6_2,
+ MSEGuidByte6,
};
MovementStatusElements* GetMovementStatusElementsSequence(Opcodes opcode)
{
- switch(opcode)
+ switch (opcode)
{
- case SMSG_PLAYER_MOVE:
- return PlayerMoveSequence;
- case MSG_MOVE_FALL_LAND:
- return MovementFallLandSequence;
+ //case SMSG_PLAYER_MOVE:
+ // return PlayerMoveSequence;
+ //case MSG_MOVE_FALL_LAND:
+ // return MovementFallLandSequence;
//case MSG_MOVE_HEARTBEAT:
// return MovementHeartBeatSequence;
- case MSG_MOVE_JUMP:
- return MovementJumpSequence;
+ //case MSG_MOVE_JUMP:
+ // return MovementJumpSequence;
//case MSG_MOVE_SET_FACING:
// return MovementSetFacingSequence;
//case MSG_MOVE_SET_PITCH:
// return MovementSetPitchSequence;
- case MSG_MOVE_START_BACKWARD:
- return MovementStartBackwardSequence;
+ //case MSG_MOVE_START_BACKWARD:
+ // return MovementStartBackwardSequence;
case MSG_MOVE_START_FORWARD:
return MovementStartForwardSequence;
- case MSG_MOVE_START_STRAFE_LEFT:
- return MovementStartStrafeLeftSequence;
- case MSG_MOVE_START_STRAFE_RIGHT:
- return MovementStartStrafeRightSequence;
- 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_STRAFE:
- return MovementStopStrafeSequence;
- case MSG_MOVE_STOP_TURN:
- return MovementStopTurnSequence;
- case MSG_MOVE_START_ASCEND:
- return MovementStartAscendSequence;
- case MSG_MOVE_START_DESCEND:
- return MovementStartDescendSequence;
- case MSG_MOVE_START_SWIM:
- return MovementStartSwimSequence;
- case MSG_MOVE_STOP_ASCEND:
- return MovementStopAscendSequence;
+ //case MSG_MOVE_START_STRAFE_LEFT:
+ // return MovementStartStrafeLeftSequence;
+ //case MSG_MOVE_START_STRAFE_RIGHT:
+ // return MovementStartStrafeRightSequence;
+ //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_STRAFE:
+ // return MovementStopStrafeSequence;
+ //case MSG_MOVE_STOP_TURN:
+ // return MovementStopTurnSequence;
+ //case MSG_MOVE_START_ASCEND:
+ // return MovementStartAscendSequence;
+ //case MSG_MOVE_START_DESCEND:
+ // return MovementStartDescendSequence;
+ //case MSG_MOVE_START_SWIM:
+ // return MovementStartSwimSequence;
+ //case MSG_MOVE_STOP_ASCEND:
+ // return MovementStopAscendSequence;
default:
break;
}
+
return NULL;
}
diff --git a/src/server/game/Movement/Spline/MoveSplineInit.cpp b/src/server/game/Movement/Spline/MoveSplineInit.cpp
index c539dd3cc39..ba5c59c1078 100644
--- a/src/server/game/Movement/Spline/MoveSplineInit.cpp
+++ b/src/server/game/Movement/Spline/MoveSplineInit.cpp
@@ -63,7 +63,7 @@ namespace Movement
bool transport = false;
Location real_position(unit.GetPositionX(), unit.GetPositionY(), unit.GetPositionZMinusOffset(), unit.GetOrientation());
// Elevators also use MOVEMENTFLAG_ONTRANSPORT but we do not keep track of their position changes
- if (unit.HasUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT) && unit.GetTransGUID())
+ if (unit.GetTransGUID())
{
transport = true;
real_position.x = unit.GetTransOffsetX();
@@ -91,7 +91,7 @@ namespace Movement
else
moveFlags &= ~MOVEMENTFLAG_WALKING;
- moveFlags |= (MOVEMENTFLAG_SPLINE_ENABLED|MOVEMENTFLAG_FORWARD);
+ moveFlags |= MOVEMENTFLAG_FORWARD;
if (!args.HasVelocity)
args.velocity = unit.GetSpeed(SelectSpeedType(moveFlags));
@@ -120,7 +120,7 @@ namespace Movement
MoveSplineInit::MoveSplineInit(Unit& m) : unit(m)
{
// Elevators also use MOVEMENTFLAG_ONTRANSPORT but we do not keep track of their position changes
- args.TransformForTransport = unit.HasUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT) && unit.GetTransGUID();
+ args.TransformForTransport = unit.GetTransGUID();
// mix existing state into new
args.flags.walkmode = unit.m_movementInfo.HasMovementFlag(MOVEMENTFLAG_WALKING);
args.flags.flying = unit.m_movementInfo.HasMovementFlag((MovementFlags)(MOVEMENTFLAG_CAN_FLY|MOVEMENTFLAG_DISABLE_GRAVITY));
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index b7fa07ad430..bdf8a23412d 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -735,7 +735,7 @@ void InitOpcodes()
//DEFINE_OPCODE_HANDLER(MSG_MOVE_START_ASCEND, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes );
//DEFINE_OPCODE_HANDLER(MSG_MOVE_START_BACKWARD, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes );
//DEFINE_OPCODE_HANDLER(MSG_MOVE_START_DESCEND, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes );
- //DEFINE_OPCODE_HANDLER(MSG_MOVE_START_FORWARD, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes );
+ DEFINE_OPCODE_HANDLER(MSG_MOVE_START_FORWARD, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes );
//DEFINE_OPCODE_HANDLER(MSG_MOVE_START_PITCH_DOWN, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes );
//DEFINE_OPCODE_HANDLER(MSG_MOVE_START_PITCH_UP, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes );
//DEFINE_OPCODE_HANDLER(MSG_MOVE_START_STRAFE_LEFT, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes );
diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp
index f3ae9009572..d08f814c479 100755
--- a/src/server/game/Server/WorldSession.cpp
+++ b/src/server/game/Server/WorldSession.cpp
@@ -166,8 +166,6 @@ void WorldSession::SendPacket(WorldPacket const* packet)
if (packet->GetOpcode() == NULL_OPCODE || packet->GetOpcode() == UNKNOWN_OPCODE)
{
sLog->outError("Prevented sending of %s", packet->GetOpcode() == NULL_OPCODE ? "NULL_OPCODE" : "UNKNOWN_OPCODE");
- //ACE_Stack_Trace trace;
- //sLog->outError("%s", trace.c_str());
return;
}
diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
index 813c43288d0..b777fe8d9dc 100644
--- a/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
@@ -433,7 +433,7 @@ public:
{
me->SetVisible(false);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
- me->AddUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT | MOVEMENTFLAG_DISABLE_GRAVITY);
+ me->AddUnitMovementFlag(MOVEMENTFLAG_DISABLE_GRAVITY);
me->SetSpeed(MOVE_WALK, 5.0f, true);
wp_reached = false;
count = 0;
@@ -466,7 +466,7 @@ public:
instance->SetData(GAMEOBJECT_PUMPKIN_SHRINE, 0); //hide gameobject
break;
case 19:
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT | MOVEMENTFLAG_DISABLE_GRAVITY);
+ me->RemoveUnitMovementFlag(MOVEMENTFLAG_DISABLE_GRAVITY);
break;
case 20:
{
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
index 8a64d45abcb..be657761def 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
@@ -264,7 +264,7 @@ public:
{
OrbsEmpowered = 0;
EmpowerCount = 0;
- me->AddUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT | MOVEMENTFLAG_DISABLE_GRAVITY);
+ me->AddUnitMovementFlag(MOVEMENTFLAG_DISABLE_GRAVITY);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
me->setActive(true);
@@ -452,7 +452,7 @@ public:
summoned->CastSpell(summoned, SPELL_SHADOW_CHANNELING, false);
break;
case CREATURE_ANVEENA:
- summoned->AddUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT | MOVEMENTFLAG_DISABLE_GRAVITY);
+ summoned->AddUnitMovementFlag(MOVEMENTFLAG_DISABLE_GRAVITY);
summoned->CastSpell(summoned, SPELL_ANVEENA_PRISON, true);
summoned->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
break;
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp
index 18c972b966c..14713787164 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp
@@ -130,9 +130,9 @@ bool GrandChampionsOutVehicle(Creature* me)
if (pGrandChampion1 && pGrandChampion2 && pGrandChampion3)
{
- if (!pGrandChampion1->HasUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT) &&
- !pGrandChampion2->HasUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT) &&
- !pGrandChampion3->HasUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT))
+ if (!pGrandChampion1->m_movementInfo.t_guid &&
+ !pGrandChampion2->m_movementInfo.t_guid &&
+ !pGrandChampion3->m_movementInfo.t_guid)
return true;
}
@@ -384,7 +384,7 @@ public:
}
}else uiPhaseTimer -= uiDiff;
- if (!UpdateVictim() || me->HasUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT))
+ if (!UpdateVictim() || me->m_movementInfo.t_guid)
return;
if (uiInterceptTimer <= uiDiff)
@@ -528,7 +528,7 @@ public:
uiFireBallTimer = 5000;
} else uiFireBallTimer -= uiDiff;
- if (!UpdateVictim() || me->HasUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT))
+ if (!UpdateVictim() || me->m_movementInfo.t_guid)
return;
if (uiFireBallTimer <= uiDiff)
@@ -666,7 +666,7 @@ public:
}
}else uiPhaseTimer -= uiDiff;
- if (!UpdateVictim() || me->HasUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT))
+ if (!UpdateVictim() || me->m_movementInfo.t_guid)
return;
if (uiChainLightningTimer <= uiDiff)
@@ -812,7 +812,7 @@ public:
}
}else uiPhaseTimer -= uiDiff;
- if (!UpdateVictim() || me->HasUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT))
+ if (!UpdateVictim() || me->m_movementInfo.t_guid)
return;
if (uiLightningArrowsTimer <= uiDiff)
@@ -960,7 +960,7 @@ public:
}
} else uiPhaseTimer -= uiDiff;
- if (!UpdateVictim() || me->HasUnitMovementFlag(MOVEMENTFLAG_ONTRANSPORT))
+ if (!UpdateVictim() || me->m_movementInfo.t_guid)
return;
if (uiEviscerateTimer <= uiDiff)