From 87067bff1e499d9281b032862b0435f6d7f127f1 Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Fri, 14 Mar 2008 18:21:21 +0000 Subject: * The rest of the fix necessary for mantis #766 - terse updates broken * Even very rapid linking/delinking should now behave normally. Terse updates still occur as before * Hopefully this ends the recent linking problems - please let us know if there are more --- OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'OpenSim/Region/Environment/Scenes/SceneObjectPart.cs') diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs index 4fc688a..6a19eb6 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs @@ -270,7 +270,6 @@ namespace OpenSim.Region.Environment.Scenes m_groupPosition.Y = PhysActor.Position.Y; m_groupPosition.Z = PhysActor.Position.Z; } - return m_groupPosition; } set @@ -1116,7 +1115,10 @@ namespace OpenSim.Region.Environment.Scenes int timeNow = Util.UnixTimeSinceEpoch(); - if (timeNow == TimeStampFull) + // If multiple updates are scheduled on the same second, we still need to perform all of them + // So we'll force the issue by bumping up the timestamp so that later processing sees these need + // to be peformed. + if (timeNow <= TimeStampFull) { TimeStampFull += 1; } @@ -1126,6 +1128,10 @@ namespace OpenSim.Region.Environment.Scenes } m_updateFlag = 2; + +// m_log.DebugFormat( +// "[SCENE OBJECT PART]: Scheduling full update for {0}, {1} at {2}", +// UUID, Name, TimeStampFull); } public void AddFlag(LLObject.ObjectFlags flag) @@ -1155,7 +1161,8 @@ namespace OpenSim.Region.Environment.Scenes } /// - /// + /// Schedule a terse update for this prim. Terse updates only send position, + /// rotation, velocity, rotational velocity and shape information. /// public void ScheduleTerseUpdate() { @@ -1169,6 +1176,9 @@ namespace OpenSim.Region.Environment.Scenes TimeStampTerse = (uint) Util.UnixTimeSinceEpoch(); m_updateFlag = 1; +// m_log.DebugFormat( +// "[SCENE OBJECT PART]: Scheduling terse update for {0}, {1} at {2}", +// UUID, Name, TimeStampTerse); } } @@ -1836,7 +1846,7 @@ namespace OpenSim.Region.Environment.Scenes } /// - /// + /// Send a terse update to the client. /// /// public void SendTerseUpdate(IClientAPI remoteClient) -- cgit v1.1