aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-03-14 18:21:21 +0000
committerJustin Clarke Casey2008-03-14 18:21:21 +0000
commit87067bff1e499d9281b032862b0435f6d7f127f1 (patch)
treefba5bf9fa7991ee5242295ab05c74bc61cdf95d9 /OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
parentFix Mantis 636 (diff)
downloadopensim-SC_OLD-87067bff1e499d9281b032862b0435f6d7f127f1.zip
opensim-SC_OLD-87067bff1e499d9281b032862b0435f6d7f127f1.tar.gz
opensim-SC_OLD-87067bff1e499d9281b032862b0435f6d7f127f1.tar.bz2
opensim-SC_OLD-87067bff1e499d9281b032862b0435f6d7f127f1.tar.xz
* 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
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.cs18
1 files changed, 14 insertions, 4 deletions
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
270 m_groupPosition.Y = PhysActor.Position.Y; 270 m_groupPosition.Y = PhysActor.Position.Y;
271 m_groupPosition.Z = PhysActor.Position.Z; 271 m_groupPosition.Z = PhysActor.Position.Z;
272 } 272 }
273
274 return m_groupPosition; 273 return m_groupPosition;
275 } 274 }
276 set 275 set
@@ -1116,7 +1115,10 @@ namespace OpenSim.Region.Environment.Scenes
1116 1115
1117 int timeNow = Util.UnixTimeSinceEpoch(); 1116 int timeNow = Util.UnixTimeSinceEpoch();
1118 1117
1119 if (timeNow == TimeStampFull) 1118 // If multiple updates are scheduled on the same second, we still need to perform all of them
1119 // So we'll force the issue by bumping up the timestamp so that later processing sees these need
1120 // to be peformed.
1121 if (timeNow <= TimeStampFull)
1120 { 1122 {
1121 TimeStampFull += 1; 1123 TimeStampFull += 1;
1122 } 1124 }
@@ -1126,6 +1128,10 @@ namespace OpenSim.Region.Environment.Scenes
1126 } 1128 }
1127 1129
1128 m_updateFlag = 2; 1130 m_updateFlag = 2;
1131
1132// m_log.DebugFormat(
1133// "[SCENE OBJECT PART]: Scheduling full update for {0}, {1} at {2}",
1134// UUID, Name, TimeStampFull);
1129 } 1135 }
1130 1136
1131 public void AddFlag(LLObject.ObjectFlags flag) 1137 public void AddFlag(LLObject.ObjectFlags flag)
@@ -1155,7 +1161,8 @@ namespace OpenSim.Region.Environment.Scenes
1155 } 1161 }
1156 1162
1157 /// <summary> 1163 /// <summary>
1158 /// 1164 /// Schedule a terse update for this prim. Terse updates only send position,
1165 /// rotation, velocity, rotational velocity and shape information.
1159 /// </summary> 1166 /// </summary>
1160 public void ScheduleTerseUpdate() 1167 public void ScheduleTerseUpdate()
1161 { 1168 {
@@ -1169,6 +1176,9 @@ namespace OpenSim.Region.Environment.Scenes
1169 TimeStampTerse = (uint) Util.UnixTimeSinceEpoch(); 1176 TimeStampTerse = (uint) Util.UnixTimeSinceEpoch();
1170 m_updateFlag = 1; 1177 m_updateFlag = 1;
1171 1178
1179// m_log.DebugFormat(
1180// "[SCENE OBJECT PART]: Scheduling terse update for {0}, {1} at {2}",
1181// UUID, Name, TimeStampTerse);
1172 } 1182 }
1173 } 1183 }
1174 1184
@@ -1836,7 +1846,7 @@ namespace OpenSim.Region.Environment.Scenes
1836 } 1846 }
1837 1847
1838 /// <summary> 1848 /// <summary>
1839 /// 1849 /// Send a terse update to the client.
1840 /// </summary> 1850 /// </summary>
1841 /// <param name="remoteClient"></param> 1851 /// <param name="remoteClient"></param>
1842 public void SendTerseUpdate(IClientAPI remoteClient) 1852 public void SendTerseUpdate(IClientAPI remoteClient)