aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs38
1 files changed, 37 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
index 70bd003..a90c5ff 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs
@@ -217,7 +217,42 @@ namespace OpenSim.Region.Environment.Scenes
217 /// <param name="simClient"></param> 217 /// <param name="simClient"></param>
218 public void DeRezObject(Packet packet, IClientAPI simClient) 218 public void DeRezObject(Packet packet, IClientAPI simClient)
219 { 219 {
220 DeRezObjectPacket DeRezPacket = (DeRezObjectPacket)packet;
220 221
222
223 if (DeRezPacket.AgentBlock.DestinationID == LLUUID.Zero)
224 {
225 //currently following code not used (or don't know of any case of destination being zero
226 }
227 else
228 {
229 foreach (DeRezObjectPacket.ObjectDataBlock Data in DeRezPacket.ObjectData)
230 {
231 EntityBase selectedEnt = null;
232 //OpenSim.Framework.Console.MainConsole.Instance.WriteLine("LocalID:" + Data.ObjectLocalID.ToString());
233 foreach (EntityBase ent in this.Entities.Values)
234 {
235 if (ent.LocalId == Data.ObjectLocalID)
236 {
237 selectedEnt = ent;
238 break;
239 }
240 }
241 if (selectedEnt != null)
242 {
243 List<ScenePresence> avatars = this.RequestAvatarList();
244 foreach (ScenePresence avatar in avatars)
245 {
246 avatar.ControllingClient.SendKillObject(this.m_regionHandle, selectedEnt.LocalId);
247 }
248
249 lock (Entities)
250 {
251 Entities.Remove(selectedEnt.m_uuid);
252 }
253 }
254 }
255 }
221 } 256 }
222 257
223 /// <summary> 258 /// <summary>
@@ -678,7 +713,7 @@ namespace OpenSim.Region.Environment.Scenes
678 asset.InvType = invType; 713 asset.InvType = invType;
679 asset.Type = type; 714 asset.Type = type;
680 asset.FullID = LLUUID.Random(); 715 asset.FullID = LLUUID.Random();
681 asset.Data = new byte[0]; 716 asset.Data = new byte[1];
682 this.assetCache.AddAsset(asset); 717 this.assetCache.AddAsset(asset);
683 718
684 InventoryItemBase item = new InventoryItemBase(); 719 InventoryItemBase item = new InventoryItemBase();
@@ -689,6 +724,7 @@ namespace OpenSim.Region.Environment.Scenes
689 item.inventoryDescription = description; 724 item.inventoryDescription = description;
690 item.inventoryName = name; 725 item.inventoryName = name;
691 item.assetType = invType; 726 item.assetType = invType;
727 item.invType = invType;
692 item.parentFolderID = folderID; 728 item.parentFolderID = folderID;
693 item.inventoryCurrentPermissions = 2147483647; 729 item.inventoryCurrentPermissions = 2147483647;
694 item.inventoryNextPermissions = nextOwnerMask; 730 item.inventoryNextPermissions = nextOwnerMask;