aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
diff options
context:
space:
mode:
authorTeravus Ovares2008-04-25 21:41:55 +0000
committerTeravus Ovares2008-04-25 21:41:55 +0000
commita534257b0e0861bb7656389675044fa905a11bf4 (patch)
treec879b8b46c13bd5afffb660ca3154ed8a94d51ce /OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
parent* Check in odds and ends which remain as an attempt to get the item propertie... (diff)
downloadopensim-SC_OLD-a534257b0e0861bb7656389675044fa905a11bf4.zip
opensim-SC_OLD-a534257b0e0861bb7656389675044fa905a11bf4.tar.gz
opensim-SC_OLD-a534257b0e0861bb7656389675044fa905a11bf4.tar.bz2
opensim-SC_OLD-a534257b0e0861bb7656389675044fa905a11bf4.tar.xz
* Fixes prim crossing. See bug 1050.
* Causes the internal handling of attachments to put the prim group conceptually at the position of the avatar instead of 0,0,0
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs23
1 files changed, 21 insertions, 2 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
index 7251e9c..fbf0a73 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
@@ -1077,7 +1077,14 @@ namespace OpenSim.Region.Environment.Scenes
1077 { 1077 {
1078 if (m_rootPart.UUID == part.UUID) 1078 if (m_rootPart.UUID == part.UUID)
1079 { 1079 {
1080 part.SendFullUpdateToClient(remoteClient, AbsolutePosition, clientFlags); 1080 if (m_rootPart.m_IsAttachment)
1081 {
1082 part.SendFullUpdateToClient(remoteClient, m_rootPart.m_attachedPos, clientFlags);
1083 }
1084 else
1085 {
1086 part.SendFullUpdateToClient(remoteClient, AbsolutePosition, clientFlags);
1087 }
1081 } 1088 }
1082 else 1089 else
1083 { 1090 {
@@ -1094,7 +1101,14 @@ namespace OpenSim.Region.Environment.Scenes
1094 { 1101 {
1095 if (m_rootPart.UUID == part.UUID) 1102 if (m_rootPart.UUID == part.UUID)
1096 { 1103 {
1097 part.SendTerseUpdateToClient(remoteClient, AbsolutePosition); 1104 if (m_rootPart.m_IsAttachment)
1105 {
1106 part.SendTerseUpdateToClient(remoteClient, m_rootPart.m_attachedPos);
1107 }
1108 else
1109 {
1110 part.SendTerseUpdateToClient(remoteClient, AbsolutePosition);
1111 }
1098 } 1112 }
1099 else 1113 else
1100 { 1114 {
@@ -2143,6 +2157,11 @@ namespace OpenSim.Region.Environment.Scenes
2143 { 2157 {
2144 if (m_scene.EventManager.TriggerGroupMove(UUID, pos)) 2158 if (m_scene.EventManager.TriggerGroupMove(UUID, pos))
2145 { 2159 {
2160 if (m_rootPart.m_IsAttachment)
2161 {
2162 m_rootPart.m_attachedPos = pos;
2163 }
2164
2146 AbsolutePosition = pos; 2165 AbsolutePosition = pos;
2147 } 2166 }
2148 //we need to do a terse update even if the move wasn't allowed 2167 //we need to do a terse update even if the move wasn't allowed