More comments!
* Also fixed a potential issue with position sending - if someone moved slowly enough, their position would never be updated.
This commit is contained in:
parent
c949c1e755
commit
b4b3b5ce64
@ -1145,7 +1145,7 @@ void cEntity::BroadcastMovementUpdate(const cClientHandle * a_Exclude)
|
||||
int DiffY = (int)(floor(GetPosY() * 32.0) - floor(m_LastPos.y * 32.0));
|
||||
int DiffZ = (int)(floor(GetPosZ() * 32.0) - floor(m_LastPos.z * 32.0));
|
||||
|
||||
if ((abs(DiffX) >= 4) || (abs(DiffY) >= 4) || (abs(DiffZ) >= 4))
|
||||
if ((abs(DiffX) != 0) || (abs(DiffY) != 0) || (abs(DiffZ) != 0)) // Have we moved?
|
||||
{
|
||||
if ((abs(DiffX) <= 127) && (abs(DiffY) <= 127) && (abs(DiffZ) <= 127)) // Limitations of a Byte
|
||||
{
|
||||
|
@ -419,19 +419,26 @@ protected:
|
||||
/// The entity which is attached to this entity (rider), NULL if none
|
||||
cEntity * m_Attachee;
|
||||
|
||||
// Flags that signal that we haven't updated the clients with the latest.
|
||||
/** Stores whether head yaw has been set manually */
|
||||
bool m_bDirtyHead;
|
||||
/** Stores whether our yaw/pitch/roll (body orientation) has been set manually */
|
||||
bool m_bDirtyOrientation;
|
||||
/** Stores whether we have sent a Velocity packet with a speed of zero (no speed) to the client
|
||||
Ensures that said packet is sent only once */
|
||||
bool m_bHasSentNoSpeed;
|
||||
|
||||
/** Stores if the entity is on the ground */
|
||||
bool m_bOnGround;
|
||||
/** Stores gravity that is applied to an entity every tick
|
||||
For realistic effects, this should be negative. For spaaaaaaace, this can be zero or even positive */
|
||||
float m_Gravity;
|
||||
|
||||
/** Last position sent to client via the Relative Move or Teleport packets (not Velocity)
|
||||
Only updated if cEntity::BroadcastMovementUpdate() is called! */
|
||||
Vector3d m_LastPos;
|
||||
|
||||
bool m_IsInitialized; // Is set to true when it's initialized, until it's destroyed (Initialize() till Destroy() )
|
||||
/** True when entity is initialised (Initialize()) and false when destroyed pending deletion (Destroy()) */
|
||||
bool m_IsInitialized;
|
||||
|
||||
eEntityType m_EntityType;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user