aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorTeravus Ovares2008-08-17 03:09:47 +0000
committerTeravus Ovares2008-08-17 03:09:47 +0000
commit910f9d10d6b67156bc4a7e982555bfad1bb7e713 (patch)
tree381928a8787674eea56464691f5bd19d86eb061b
parentUpdate svn properties, minor formatting cleanup. (diff)
downloadopensim-SC_OLD-910f9d10d6b67156bc4a7e982555bfad1bb7e713.zip
opensim-SC_OLD-910f9d10d6b67156bc4a7e982555bfad1bb7e713.tar.gz
opensim-SC_OLD-910f9d10d6b67156bc4a7e982555bfad1bb7e713.tar.bz2
opensim-SC_OLD-910f9d10d6b67156bc4a7e982555bfad1bb7e713.tar.xz
* half of the attachmentpoint skull fix
* There's still a full object update coming when you release the attachment after modifying it that's killing it sometimes.
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.cs17
1 files changed, 17 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
index aec1b46..5038afc 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
@@ -2105,6 +2105,9 @@ namespace OpenSim.Region.Environment.Scenes
2105 _flags &= ~LLObject.ObjectFlags.CreateSelected; 2105 _flags &= ~LLObject.ObjectFlags.CreateSelected;
2106 } 2106 }
2107 } 2107 }
2108 //bool isattachment = IsAttachment;
2109 //if (LocalId != ParentGroup.RootPart.LocalId)
2110 //isattachment = ParentGroup.RootPart.IsAttachment;
2108 2111
2109 byte[] color = new byte[] {m_color.R, m_color.G, m_color.B, m_color.A}; 2112 byte[] color = new byte[] {m_color.R, m_color.G, m_color.B, m_color.A};
2110 remoteClient.SendPrimitiveToClient(m_regionHandle, (ushort)(m_parentGroup.GetTimeDilation() * (float)ushort.MaxValue), LocalId, m_shape, 2113 remoteClient.SendPrimitiveToClient(m_regionHandle, (ushort)(m_parentGroup.GetTimeDilation() * (float)ushort.MaxValue), LocalId, m_shape,
@@ -2237,8 +2240,13 @@ namespace OpenSim.Region.Environment.Scenes
2237 public void SendTerseUpdateToClient(IClientAPI remoteClient, LLVector3 lPos) 2240 public void SendTerseUpdateToClient(IClientAPI remoteClient, LLVector3 lPos)
2238 { 2241 {
2239 LLQuaternion mRot = RotationOffset; 2242 LLQuaternion mRot = RotationOffset;
2243 //bool isattachment = IsAttachment;
2244 //if (LocalId != ParentGroup.RootPart.LocalId)
2245 //isattachment = ParentGroup.RootPart.IsAttachment;
2246
2240 if (IsAttachment) 2247 if (IsAttachment)
2241 { 2248 {
2249 //m_log.Debug(AttachmentPoint.ToString());
2242 remoteClient.SendPrimTerseUpdate(m_regionHandle, (ushort)(m_parentGroup.GetTimeDilation() * (float)ushort.MaxValue), LocalId, lPos, mRot, Velocity, RotationalVelocity, (byte)((AttachmentPoint % 16) * 16 + (AttachmentPoint / 16)),FromAssetID); 2250 remoteClient.SendPrimTerseUpdate(m_regionHandle, (ushort)(m_parentGroup.GetTimeDilation() * (float)ushort.MaxValue), LocalId, lPos, mRot, Velocity, RotationalVelocity, (byte)((AttachmentPoint % 16) * 16 + (AttachmentPoint / 16)),FromAssetID);
2243 } 2251 }
2244 else 2252 else
@@ -2260,6 +2268,15 @@ namespace OpenSim.Region.Environment.Scenes
2260 { 2268 {
2261 this.AttachmentPoint = AttachmentPoint; 2269 this.AttachmentPoint = AttachmentPoint;
2262 2270
2271 if (AttachmentPoint != 0)
2272 {
2273 IsAttachment = true;
2274 }
2275 else
2276 {
2277 IsAttachment = false;
2278 }
2279
2263 // save the attachment point. 2280 // save the attachment point.
2264 //if (AttachmentPoint != 0) 2281 //if (AttachmentPoint != 0)
2265 //{ 2282 //{