Core/Units: Removed deprecated BuildMovementPacket method and updated MovementFlags2 enum
This commit is contained in:
1 parent
f63fd0bc18
commit
b431a499a7
7 files changed
+177
-202
No files matched your search
@@ -357,6 +357,8 @@ void Object::_BuildMovementUpdate(ByteBuffer* data, uint16 flags) const
|
||||
uint32 movementFlags = 0;
|
||||
uint16 movementFlagsExtra = 0;
|
||||
|
||||
bool hasTransportTime2 = false;
|
||||
bool hasTransportTime3 = false;
|
||||
bool hasFallDirection = false;
|
||||
bool hasFallData = false;
|
||||
bool hasPitch = false;
|
||||
@@ -386,15 +388,28 @@ void Object::_BuildMovementUpdate(ByteBuffer* data, uint16 flags) const
|
||||
self = ToUnit();
|
||||
movementFlags = self->m_movementInfo.GetMovementFlags();
|
||||
movementFlagsExtra = self->m_movementInfo.GetExtraMovementFlags();
|
||||
hasPitch = ((movementFlags & (MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING)) ||
|
||||
(movementFlagsExtra & MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING));
|
||||
hasSpline = self->IsSplineEnabled();
|
||||
hasSplineElevation = movementFlags & MOVEMENTFLAG_SPLINE_ELEVATION;
|
||||
hasFallData = movementFlagsExtra & MOVEMENTFLAG2_INTERPOLATED_TURNING;
|
||||
hasFallDirection = movementFlags & MOVEMENTFLAG_FALLING;
|
||||
|
||||
if (GetTypeId() == TYPEID_UNIT)
|
||||
if (GetTypeId() == TYPEID_PLAYER)
|
||||
{
|
||||
hasTransportTime2 = self->m_movementInfo.bits.hasTransportTime2;
|
||||
hasTransportTime3 = self->m_movementInfo.bits.hasTransportTime3;
|
||||
hasPitch = self->m_movementInfo.bits.hasPitch;
|
||||
hasFallData = self->m_movementInfo.bits.hasFallData;
|
||||
hasFallDirection = self->m_movementInfo.bits.hasFallDirection;
|
||||
hasSplineElevation = self->m_movementInfo.bits.hasSplineElevation;
|
||||
}
|
||||
else
|
||||
{
|
||||
hasTransportTime2 = self->HasExtraUnitMovementFlag(MOVEMENTFLAG2_INTERPOLATED_MOVEMENT);
|
||||
hasPitch = ((movementFlags & (MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING)) ||
|
||||
(movementFlagsExtra & MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING));
|
||||
hasFallDirection = movementFlags & MOVEMENTFLAG_FALLING;
|
||||
hasFallData = hasFallDirection; // FallDirection implies that FallData is set as well
|
||||
hasSplineElevation = movementFlags & MOVEMENTFLAG_SPLINE_ELEVATION;
|
||||
|
||||
movementFlags &= MOVEMENTFLAG_MASK_CREATURE_ALLOWED;
|
||||
}
|
||||
|
||||
data->WriteBit(!movementFlags);
|
||||
data->WriteBit(G3D::fuzzyEq(self->GetOrientation(), 0.0f)); // Has Orientation
|
||||
@@ -524,16 +539,16 @@ void Object::_BuildMovementUpdate(ByteBuffer* data, uint16 flags) const
|
||||
data->WriteByteSeq(transGuid[7]);
|
||||
*data << uint32(self->GetTransTime());
|
||||
*data << float(self->GetTransOffsetO());
|
||||
//if (hasTransportTime2)
|
||||
// *data << uint32(0);
|
||||
if (hasTransportTime2)
|
||||
*data << uint32(self->m_movementInfo.t_time2);
|
||||
|
||||
*data << float(self->GetTransOffsetY());
|
||||
*data << float(self->GetTransOffsetX());
|
||||
data->WriteByteSeq(transGuid[3]);
|
||||
*data << float(self->GetTransOffsetZ());
|
||||
data->WriteByteSeq(transGuid[0]);
|
||||
//if (hasTransportTime3)
|
||||
// *data << uint32(0);
|
||||
if (hasTransportTime3)
|
||||
*data << uint32(self->m_movementInfo.t_time3);
|
||||
|
||||
*data << int8(self->GetTransSeat());
|
||||
data->WriteByteSeq(transGuid[1]);
|
||||
@@ -582,8 +597,8 @@ void Object::_BuildMovementUpdate(ByteBuffer* data, uint16 flags) const
|
||||
|
||||
data->WriteBit(transGuid[0]);
|
||||
data->WriteBit(transGuid[5]);
|
||||
//if (hasTransportTime3)
|
||||
// *data << uint32(0);
|
||||
if (hasTransportTime3)
|
||||
*data << uint32(self->m_movementInfo.t_time3);
|
||||
|
||||
data->WriteBit(transGuid[3]);
|
||||
*data << float(self->GetTransOffsetX());
|
||||
@@ -597,8 +612,8 @@ void Object::_BuildMovementUpdate(ByteBuffer* data, uint16 flags) const
|
||||
*data << float(self->GetTransOffsetZ());
|
||||
*data << int8(self->GetTransSeat());
|
||||
*data << float(self->GetTransOffsetO());
|
||||
//if (hasTransportTime2)
|
||||
// *data << uint32(0);
|
||||
if (hasTransportTime2)
|
||||
*data << uint32(self->m_movementInfo.t_time2);
|
||||
}
|
||||
|
||||
if (flags & UPDATEFLAG_ROTATION)
|
||||
@@ -1521,9 +1536,9 @@ void MovementInfo::OutDebug()
|
||||
{
|
||||
sLog->outInfo(LOG_FILTER_GENERAL, "MOVEMENT INFO");
|
||||
sLog->outInfo(LOG_FILTER_GENERAL, "guid " UI64FMTD, guid);
|
||||
sLog->outInfo(LOG_FILTER_GENERAL, "flags %u", flags);
|
||||
sLog->outInfo(LOG_FILTER_GENERAL, "flags2 %u", flags2);
|
||||
sLog->outInfo(LOG_FILTER_GENERAL, "time %u current time " UI64FMTD "", flags2, uint64(::time(NULL)));
|
||||
sLog->outInfo(LOG_FILTER_GENERAL, "flags %s (%u)", Movement::MovementFlags_ToString(flags).c_str(), flags);
|
||||
sLog->outInfo(LOG_FILTER_GENERAL, "flags2 %s (%u)", Movement::MovementFlagsExtra_ToString(flags2).c_str(), flags2);
|
||||
sLog->outInfo(LOG_FILTER_GENERAL, "time %u current time %u", time, getMSTime());
|
||||
sLog->outInfo(LOG_FILTER_GENERAL, "position: `%s`", pos.ToString().c_str());
|
||||
if (t_guid)
|
||||
{
|
||||
@@ -1534,14 +1549,19 @@ void MovementInfo::OutDebug()
|
||||
sLog->outInfo(LOG_FILTER_GENERAL, "time: %u", t_time);
|
||||
if (flags2 & MOVEMENTFLAG2_INTERPOLATED_MOVEMENT)
|
||||
sLog->outInfo(LOG_FILTER_GENERAL, "time2: %u", t_time2);
|
||||
if (bits.hasTransportTime3)
|
||||
sLog->outInfo(LOG_FILTER_GENERAL, "time3: %u", t_time3);
|
||||
}
|
||||
|
||||
if ((flags & (MOVEMENTFLAG_SWIMMING | MOVEMENTFLAG_FLYING)) || (flags2 & MOVEMENTFLAG2_ALWAYS_ALLOW_PITCHING))
|
||||
sLog->outInfo(LOG_FILTER_GENERAL, "pitch: %f", pitch);
|
||||
|
||||
sLog->outInfo(LOG_FILTER_GENERAL, "fallTime: %u", fallTime);
|
||||
if (flags & MOVEMENTFLAG_FALLING)
|
||||
sLog->outInfo(LOG_FILTER_GENERAL, "j_zspeed: %f j_sinAngle: %f j_cosAngle: %f j_xyspeed: %f", j_zspeed, j_sinAngle, j_cosAngle, j_xyspeed);
|
||||
if (flags & MOVEMENTFLAG_FALLING || bits.hasFallData)
|
||||
{
|
||||
sLog->outInfo(LOG_FILTER_GENERAL, "fallTime: %u j_zspeed: %f", fallTime, j_zspeed);
|
||||
if (flags & MOVEMENTFLAG_FALLING)
|
||||
sLog->outInfo(LOG_FILTER_GENERAL, "j_sinAngle: %f j_cosAngle: %f j_xyspeed: %f", j_sinAngle, j_cosAngle, j_xyspeed);
|
||||
}
|
||||
|
||||
if (flags & MOVEMENTFLAG_SPLINE_ELEVATION)
|
||||
sLog->outInfo(LOG_FILTER_GENERAL, "splineElevation: %f", splineElevation);
|
||||
@@ -2522,8 +2542,7 @@ void WorldObject::BuildMonsterChat(WorldPacket* data, uint8 msgtype, char const*
|
||||
void Unit::BuildHeartBeatMsg(WorldPacket* data) const
|
||||
{
|
||||
data->Initialize(MSG_MOVE_HEARTBEAT, 32);
|
||||
data->append(GetPackGUID());
|
||||
BuildMovementPacket(data);
|
||||
WriteMovementInfo(*data);
|
||||
}
|
||||
|
||||
void WorldObject::SendMessageToSet(WorldPacket* data, bool self)
|
||||
|
||||
Reference in new issue
Block a user