diff options
author | Teravus Ovares | 2008-08-17 03:09:47 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-08-17 03:09:47 +0000 |
commit | 910f9d10d6b67156bc4a7e982555bfad1bb7e713 (patch) | |
tree | 381928a8787674eea56464691f5bd19d86eb061b /OpenSim/Region/Environment/Scenes | |
parent | Update svn properties, minor formatting cleanup. (diff) | |
download | opensim-SC-910f9d10d6b67156bc4a7e982555bfad1bb7e713.zip opensim-SC-910f9d10d6b67156bc4a7e982555bfad1bb7e713.tar.gz opensim-SC-910f9d10d6b67156bc4a7e982555bfad1bb7e713.tar.bz2 opensim-SC-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.
Diffstat (limited to 'OpenSim/Region/Environment/Scenes')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | 17 |
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 | //{ |