diff options
author | Teravus Ovares | 2008-04-25 21:41:55 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-04-25 21:41:55 +0000 |
commit | a534257b0e0861bb7656389675044fa905a11bf4 (patch) | |
tree | c879b8b46c13bd5afffb660ca3154ed8a94d51ce /OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |
parent | * Check in odds and ends which remain as an attempt to get the item propertie... (diff) | |
download | opensim-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.cs | 23 |
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 |