Skip to content

Instantly share code, notes, and snippets.

@rsa
Created November 6, 2010 08:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rsa/665285 to your computer and use it in GitHub Desktop.
Save rsa/665285 to your computer and use it in GitHub Desktop.
More ideologic true solve problems in 10677 (especially for VladimirMangos)
diff --git a/src/game/Object.cpp b/src/game/Object.cpp
index a47adc3..4768012 100644
--- a/src/game/Object.cpp
+++ b/src/game/Object.cpp
@@ -104,6 +104,10 @@ void Object::_Create(ObjectGuid guid)
void WorldObject::UpdateCall(uint32 newtime, uint32 diff)
{
+ // Initializing m_lastUpdateTime from _this_ thread
+ if (!m_lastUpdateTime)
+ m_lastUpdateTime = newtime;
+
// use real time diff from last object update call
// this can have big diff from tick diff time for object returning to active zone)
uint32 realDiff = getMSTimeDiff(m_lastUpdateTime, newtime);
@@ -1186,7 +1190,7 @@ void Object::BuildUpdateData( UpdateDataMapType& /*update_players */)
WorldObject::WorldObject()
: m_isActiveObject(false), m_currMap(NULL), m_mapId(0), m_InstanceId(0), m_phaseMask(PHASEMASK_NORMAL),
m_groupLootTimer(0), m_groupLootId(0), m_lootGroupRecipientId(0), m_name(""),
- m_positionX(0.0f), m_positionY(0.0f), m_positionZ(0.0f), m_orientation(0.0f), m_lastUpdateTime(getMSTime())
+ m_positionX(0.0f), m_positionY(0.0f), m_positionZ(0.0f), m_orientation(0.0f), m_lastUpdateTime(0)
{
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment