diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | 18 |
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) |