diff options
author | onefang | 2019-09-11 16:36:50 +1000 |
---|---|---|
committer | onefang | 2019-09-11 16:36:50 +1000 |
commit | 50cd1ffd32f69228e566f2b0b89f86ea0d9fe489 (patch) | |
tree | 52f2ab0c04f1a5d7d6ac5dc872981b4b156447e7 /OpenSim/Region/OptionalModules/Avatar/Attachments | |
parent | Renamed branch to SledjChisl. (diff) | |
parent | Bump to release flavour, build 0. (diff) | |
download | opensim-SC_OLD-50cd1ffd32f69228e566f2b0b89f86ea0d9fe489.zip opensim-SC_OLD-50cd1ffd32f69228e566f2b0b89f86ea0d9fe489.tar.gz opensim-SC_OLD-50cd1ffd32f69228e566f2b0b89f86ea0d9fe489.tar.bz2 opensim-SC_OLD-50cd1ffd32f69228e566f2b0b89f86ea0d9fe489.tar.xz |
Merge branch 'SledjChisl'
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/OptionalModules/Avatar/Attachments/AttachmentsCommandModule.cs | 43 | ||||
-rw-r--r-- | OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs | 29 |
2 files changed, 34 insertions, 38 deletions
diff --git a/OpenSim/Region/OptionalModules/Avatar/Attachments/AttachmentsCommandModule.cs b/OpenSim/Region/OptionalModules/Avatar/Attachments/AttachmentsCommandModule.cs index 0333747..3685041 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Attachments/AttachmentsCommandModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Attachments/AttachmentsCommandModule.cs | |||
@@ -55,41 +55,41 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments | |||
55 | // private IAvatarFactoryModule m_avatarFactory; | 55 | // private IAvatarFactoryModule m_avatarFactory; |
56 | 56 | ||
57 | public string Name { get { return "Attachments Command Module"; } } | 57 | public string Name { get { return "Attachments Command Module"; } } |
58 | 58 | ||
59 | public Type ReplaceableInterface { get { return null; } } | 59 | public Type ReplaceableInterface { get { return null; } } |
60 | 60 | ||
61 | public void Initialise(IConfigSource source) | 61 | public void Initialise(IConfigSource source) |
62 | { | 62 | { |
63 | // m_log.DebugFormat("[ATTACHMENTS COMMAND MODULE]: INITIALIZED MODULE"); | 63 | // m_log.DebugFormat("[ATTACHMENTS COMMAND MODULE]: INITIALIZED MODULE"); |
64 | } | 64 | } |
65 | 65 | ||
66 | public void PostInitialise() | 66 | public void PostInitialise() |
67 | { | 67 | { |
68 | // m_log.DebugFormat("[ATTACHMENTS COMMAND MODULE]: POST INITIALIZED MODULE"); | 68 | // m_log.DebugFormat("[ATTACHMENTS COMMAND MODULE]: POST INITIALIZED MODULE"); |
69 | } | 69 | } |
70 | 70 | ||
71 | public void Close() | 71 | public void Close() |
72 | { | 72 | { |
73 | // m_log.DebugFormat("[ATTACHMENTS COMMAND MODULE]: CLOSED MODULE"); | 73 | // m_log.DebugFormat("[ATTACHMENTS COMMAND MODULE]: CLOSED MODULE"); |
74 | } | 74 | } |
75 | 75 | ||
76 | public void AddRegion(Scene scene) | 76 | public void AddRegion(Scene scene) |
77 | { | 77 | { |
78 | // m_log.DebugFormat("[ATTACHMENTS COMMAND MODULE]: REGION {0} ADDED", scene.RegionInfo.RegionName); | 78 | // m_log.DebugFormat("[ATTACHMENTS COMMAND MODULE]: REGION {0} ADDED", scene.RegionInfo.RegionName); |
79 | } | 79 | } |
80 | 80 | ||
81 | public void RemoveRegion(Scene scene) | 81 | public void RemoveRegion(Scene scene) |
82 | { | 82 | { |
83 | // m_log.DebugFormat("[ATTACHMENTS COMMAND MODULE]: REGION {0} REMOVED", scene.RegionInfo.RegionName); | 83 | // m_log.DebugFormat("[ATTACHMENTS COMMAND MODULE]: REGION {0} REMOVED", scene.RegionInfo.RegionName); |
84 | 84 | ||
85 | lock (m_scenes) | 85 | lock (m_scenes) |
86 | m_scenes.Remove(scene); | 86 | m_scenes.Remove(scene); |
87 | } | 87 | } |
88 | 88 | ||
89 | public void RegionLoaded(Scene scene) | 89 | public void RegionLoaded(Scene scene) |
90 | { | 90 | { |
91 | // m_log.DebugFormat("[ATTACHMENTS COMMAND MODULE]: REGION {0} LOADED", scene.RegionInfo.RegionName); | 91 | // m_log.DebugFormat("[ATTACHMENTS COMMAND MODULE]: REGION {0} LOADED", scene.RegionInfo.RegionName); |
92 | 92 | ||
93 | lock (m_scenes) | 93 | lock (m_scenes) |
94 | m_scenes.Add(scene); | 94 | m_scenes.Add(scene); |
95 | 95 | ||
@@ -144,14 +144,9 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments | |||
144 | 144 | ||
145 | private void GetAttachmentsReport(ScenePresence sp, StringBuilder sb) | 145 | private void GetAttachmentsReport(ScenePresence sp, StringBuilder sb) |
146 | { | 146 | { |
147 | sb.AppendFormat("Attachments for {0}\n", sp.Name); | 147 | sb.AppendFormat("Attachments for {0}\n\n", sp.Name); |
148 | 148 | ||
149 | ConsoleDisplayTable ct = new ConsoleDisplayTable() { Indent = 2 }; | 149 | ConsoleDisplayList ct = new ConsoleDisplayList(); |
150 | ct.Columns.Add(new ConsoleDisplayTableColumn("Attachment Name", 50)); | ||
151 | ct.Columns.Add(new ConsoleDisplayTableColumn("Local ID", 10)); | ||
152 | ct.Columns.Add(new ConsoleDisplayTableColumn("Item ID", 36)); | ||
153 | ct.Columns.Add(new ConsoleDisplayTableColumn("Attach Point", 14)); | ||
154 | ct.Columns.Add(new ConsoleDisplayTableColumn("Position", 15)); | ||
155 | 150 | ||
156 | // sb.AppendFormat( | 151 | // sb.AppendFormat( |
157 | // " {0,-36} {1,-10} {2,-36} {3,-14} {4,-15}\n", | 152 | // " {0,-36} {1,-10} {2,-36} {3,-14} {4,-15}\n", |
@@ -177,17 +172,17 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments | |||
177 | // attachmentObject.Name, attachmentObject.LocalId, attachmentObject.FromItemID, | 172 | // attachmentObject.Name, attachmentObject.LocalId, attachmentObject.FromItemID, |
178 | // (AttachmentPoint)attachmentObject.AttachmentPoint, attachmentObject.RootPart.AttachedPos); | 173 | // (AttachmentPoint)attachmentObject.AttachmentPoint, attachmentObject.RootPart.AttachedPos); |
179 | 174 | ||
180 | ct.AddRow( | 175 | ct.Indent = 2; |
181 | attachmentObject.Name, | 176 | ct.AddRow("Attachment Name", attachmentObject.Name); |
182 | attachmentObject.LocalId, | 177 | ct.AddRow("Local ID", attachmentObject.LocalId); |
183 | attachmentObject.FromItemID, | 178 | ct.AddRow("Item ID", attachmentObject.UUID); |
184 | ((AttachmentPoint)attachmentObject.AttachmentPoint), | 179 | ct.AddRow("From Item ID", attachmentObject.FromItemID); |
185 | attachmentObject.RootPart.AttachedPos); | 180 | ct.AddRow("Attach Point", ((AttachmentPoint)attachmentObject.AttachmentPoint)); |
181 | ct.AddRow("Position", attachmentObject.RootPart.AttachedPos + "\n\n"); | ||
186 | // } | 182 | // } |
187 | } | 183 | } |
188 | 184 | ||
189 | ct.AddToStringBuilder(sb); | 185 | ct.AddToStringBuilder(sb); |
190 | sb.Append("\n"); | ||
191 | } | 186 | } |
192 | } | 187 | } |
193 | } \ No newline at end of file | 188 | } \ No newline at end of file |
diff --git a/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs b/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs index 535bf67..c3f3851 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Attachments/TempAttachmentsModule.cs | |||
@@ -125,7 +125,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments | |||
125 | SendConsoleOutput(agentID, "Command parameter error"); | 125 | SendConsoleOutput(agentID, "Command parameter error"); |
126 | return; | 126 | return; |
127 | } | 127 | } |
128 | 128 | ||
129 | m_scene.StoreExtraSetting("auto_grant_attach_perms", val); | 129 | m_scene.StoreExtraSetting("auto_grant_attach_perms", val); |
130 | 130 | ||
131 | SendConsoleOutput(agentID, String.Format("auto_grant_attach_perms set to {0}", val)); | 131 | SendConsoleOutput(agentID, String.Format("auto_grant_attach_perms set to {0}", val)); |
@@ -134,11 +134,12 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments | |||
134 | private int llAttachToAvatarTemp(UUID host, UUID script, int attachmentPoint) | 134 | private int llAttachToAvatarTemp(UUID host, UUID script, int attachmentPoint) |
135 | { | 135 | { |
136 | SceneObjectPart hostPart = m_scene.GetSceneObjectPart(host); | 136 | SceneObjectPart hostPart = m_scene.GetSceneObjectPart(host); |
137 | |||
138 | if (hostPart == null) | 137 | if (hostPart == null) |
139 | return 0; | 138 | return 0; |
140 | 139 | ||
141 | if (hostPart.ParentGroup.IsAttachment) | 140 | SceneObjectGroup hostgroup = hostPart.ParentGroup; |
141 | |||
142 | if (hostgroup== null || hostgroup.IsAttachment) | ||
142 | return 0; | 143 | return 0; |
143 | 144 | ||
144 | IAttachmentsModule attachmentsModule = m_scene.RequestModuleInterface<IAttachmentsModule>(); | 145 | IAttachmentsModule attachmentsModule = m_scene.RequestModuleInterface<IAttachmentsModule>(); |
@@ -155,33 +156,33 @@ namespace OpenSim.Region.OptionalModules.Avatar.Attachments | |||
155 | ScenePresence target; | 156 | ScenePresence target; |
156 | if (!m_scene.TryGetScenePresence(item.PermsGranter, out target)) | 157 | if (!m_scene.TryGetScenePresence(item.PermsGranter, out target)) |
157 | return 0; | 158 | return 0; |
158 | 159 | ||
159 | if (target.UUID != hostPart.ParentGroup.OwnerID) | 160 | if (target.UUID != hostgroup.OwnerID) |
160 | { | 161 | { |
161 | uint effectivePerms = hostPart.ParentGroup.GetEffectivePermissions(); | 162 | uint effectivePerms = hostgroup.EffectiveOwnerPerms; |
162 | 163 | ||
163 | if ((effectivePerms & (uint)PermissionMask.Transfer) == 0) | 164 | if ((effectivePerms & (uint)PermissionMask.Transfer) == 0) |
164 | return 0; | 165 | return 0; |
165 | 166 | ||
166 | hostPart.ParentGroup.SetOwnerId(target.UUID); | 167 | hostgroup.SetOwner(target.UUID, target.ControllingClient.ActiveGroupId); |
167 | hostPart.ParentGroup.SetRootPartOwner(hostPart.ParentGroup.RootPart, target.UUID, target.ControllingClient.ActiveGroupId); | ||
168 | 168 | ||
169 | if (m_scene.Permissions.PropagatePermissions()) | 169 | if (m_scene.Permissions.PropagatePermissions()) |
170 | { | 170 | { |
171 | foreach (SceneObjectPart child in hostPart.ParentGroup.Parts) | 171 | foreach (SceneObjectPart child in hostgroup.Parts) |
172 | { | 172 | { |
173 | child.Inventory.ChangeInventoryOwner(target.UUID); | 173 | child.Inventory.ChangeInventoryOwner(target.UUID); |
174 | child.TriggerScriptChangedEvent(Changed.OWNER); | 174 | child.TriggerScriptChangedEvent(Changed.OWNER); |
175 | child.ApplyNextOwnerPermissions(); | 175 | child.ApplyNextOwnerPermissions(); |
176 | } | 176 | } |
177 | hostgroup.InvalidateEffectivePerms(); | ||
177 | } | 178 | } |
178 | 179 | ||
179 | hostPart.ParentGroup.RootPart.ObjectSaleType = 0; | 180 | hostgroup.RootPart.ObjectSaleType = 0; |
180 | hostPart.ParentGroup.RootPart.SalePrice = 10; | 181 | hostgroup.RootPart.SalePrice = 10; |
181 | 182 | ||
182 | hostPart.ParentGroup.HasGroupChanged = true; | 183 | hostgroup.HasGroupChanged = true; |
183 | hostPart.ParentGroup.RootPart.SendPropertiesToClient(target.ControllingClient); | 184 | hostgroup.RootPart.SendPropertiesToClient(target.ControllingClient); |
184 | hostPart.ParentGroup.RootPart.ScheduleFullUpdate(); | 185 | hostgroup.RootPart.ScheduleFullUpdate(); |
185 | } | 186 | } |
186 | 187 | ||
187 | return attachmentsModule.AttachObject(target, hostPart.ParentGroup, (uint)attachmentPoint, false, false, true) ? 1 : 0; | 188 | return attachmentsModule.AttachObject(target, hostPart.ParentGroup, (uint)attachmentPoint, false, false, true) ? 1 : 0; |