Deleting objects should now work. But beware they aren't send to your trash folder or anything so there is at the moment no way to recover deleted objects.

This commit is contained in:
MW
2007-07-29 13:05:57 +00:00
parent 8b3981f1fd
commit 5ee2e38c11
11 changed files with 247 additions and 204 deletions

View File

@@ -33,9 +33,9 @@ namespace OpenSim.Region.Environment.Scenes
public uint OwnerMask = FULL_MASK_PERMISSIONS;
public uint NextOwnerMask = FULL_MASK_PERMISSIONS;
public uint GroupMask = FULL_MASK_PERMISSIONS;
public uint EveryoneMask = FULL_MASK_PERMISSIONS;
public uint BaseMask = FULL_MASK_PERMISSIONS;
public uint GroupMask = 0;// FULL_MASK_PERMISSIONS;
public uint EveryoneMask = 0;//FULL_MASK_PERMISSIONS;
public uint BaseMask = 0;//FULL_MASK_PERMISSIONS;
private PrimitiveBaseShape m_Shape;
private byte[] m_particleSystem = new byte[0];

View File

@@ -217,7 +217,42 @@ namespace OpenSim.Region.Environment.Scenes
/// <param name="simClient"></param>
public void DeRezObject(Packet packet, IClientAPI simClient)
{
DeRezObjectPacket DeRezPacket = (DeRezObjectPacket)packet;
if (DeRezPacket.AgentBlock.DestinationID == LLUUID.Zero)
{
//currently following code not used (or don't know of any case of destination being zero
}
else
{
foreach (DeRezObjectPacket.ObjectDataBlock Data in DeRezPacket.ObjectData)
{
EntityBase selectedEnt = null;
//OpenSim.Framework.Console.MainConsole.Instance.WriteLine("LocalID:" + Data.ObjectLocalID.ToString());
foreach (EntityBase ent in this.Entities.Values)
{
if (ent.LocalId == Data.ObjectLocalID)
{
selectedEnt = ent;
break;
}
}
if (selectedEnt != null)
{
List<ScenePresence> avatars = this.RequestAvatarList();
foreach (ScenePresence avatar in avatars)
{
avatar.ControllingClient.SendKillObject(this.m_regionHandle, selectedEnt.LocalId);
}
lock (Entities)
{
Entities.Remove(selectedEnt.m_uuid);
}
}
}
}
}
/// <summary>
@@ -678,7 +713,7 @@ namespace OpenSim.Region.Environment.Scenes
asset.InvType = invType;
asset.Type = type;
asset.FullID = LLUUID.Random();
asset.Data = new byte[0];
asset.Data = new byte[1];
this.assetCache.AddAsset(asset);
InventoryItemBase item = new InventoryItemBase();
@@ -689,6 +724,7 @@ namespace OpenSim.Region.Environment.Scenes
item.inventoryDescription = description;
item.inventoryName = name;
item.assetType = invType;
item.invType = invType;
item.parentFolderID = folderID;
item.inventoryCurrentPermissions = 2147483647;
item.inventoryNextPermissions = nextOwnerMask;

View File

@@ -550,7 +550,7 @@ namespace OpenSim.Region.Environment.Scenes
m_estateManager.sendRegionHandshake(client);
CreateAndAddScenePresence(client);
m_LandManager.sendParcelOverlay(client);
//commsManager.UserProfiles.AddNewUser(client.AgentId);
// commsManager.UserProfiles.AddNewUser(client.AgentId);
}
protected virtual void SubscribeToClientEvents(IClientAPI client)
@@ -576,6 +576,7 @@ namespace OpenSim.Region.Environment.Scenes
client.OnObjectSelect += SelectPrim;
client.OnObjectDeselect += DeselectPrim;
client.OnGrapUpdate += MoveObject;
client.OnDeRezObject += DeRezObject;
client.OnNameFromUUIDRequest += commsManager.HandleUUIDNameRequest;
client.OnObjectDescription += PrimDescription;
client.OnObjectName += PrimName;

View File

@@ -459,6 +459,9 @@ namespace OpenSim.Region.Environment.Scenes
this.m_scene.InformClientOfNeighbours(this.ControllingClient);
this.newAvatar = false;
}
// this.SendFullUpdateToALLClients();
// this.SendArrearanceToAllOtherAgents();
}
/// <summary>
@@ -640,7 +643,7 @@ namespace OpenSim.Region.Environment.Scenes
}
}
public static void LoadTextureFile(string name)
public static void CreateDefaultTextureEntry(string name)
{
/* FileInfo fInfo = new FileInfo(name);
long numBytes = fInfo.Length;