From 5ee2e38c11785e9b68ecf1767af7a4ea5b13b7c7 Mon Sep 17 00:00:00 2001
From: MW
Date: Sun, 29 Jul 2007 13:05:57 +0000
Subject: 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.
---
.../Framework/Communications/Cache/AssetCache.cs | 1 +
OpenSim/Framework/General/Interfaces/IClientAPI.cs | 2 +-
OpenSim/Framework/General/NullClientAPI.cs | 2 +-
OpenSim/Region/ClientStack/ClientView.API.cs | 4 +-
.../Region/ClientStack/RegionApplicationBase.cs | 2 +-
OpenSim/Region/Environment/Scenes/Primitive.cs | 6 +-
.../Environment/Scenes/Scene.PacketHandlers.cs | 38 +-
OpenSim/Region/Environment/Scenes/Scene.cs | 3 +-
OpenSim/Region/Environment/Scenes/ScenePresence.cs | 5 +-
.../Region/Examples/SimpleApp/MyNpcCharacter.cs | 2 +-
.../BasicPhysicsPlugin/BasicPhysicsPlugin.cs | 386 +++++++++++----------
11 files changed, 247 insertions(+), 204 deletions(-)
(limited to 'OpenSim')
diff --git a/OpenSim/Framework/Communications/Cache/AssetCache.cs b/OpenSim/Framework/Communications/Cache/AssetCache.cs
index 0c6d971..e4c01b3 100644
--- a/OpenSim/Framework/Communications/Cache/AssetCache.cs
+++ b/OpenSim/Framework/Communications/Cache/AssetCache.cs
@@ -272,6 +272,7 @@ namespace OpenSim.Framework.Communications.Caches
//inventory asset request
requestID = new LLUUID(transferRequest.TransferInfo.Params, 80);
source = 3;
+ Console.WriteLine("asset request " + requestID);
}
//check to see if asset is in local cache, if not we need to request it from asset server.
//Console.WriteLine("asset request " + requestID);
diff --git a/OpenSim/Framework/General/Interfaces/IClientAPI.cs b/OpenSim/Framework/General/Interfaces/IClientAPI.cs
index c1d91d5..1e2889c 100644
--- a/OpenSim/Framework/General/Interfaces/IClientAPI.cs
+++ b/OpenSim/Framework/General/Interfaces/IClientAPI.cs
@@ -174,7 +174,7 @@ namespace OpenSim.Framework.Interfaces
void SendWearables(AvatarWearable[] wearables);
void SendAppearance(LLUUID agentID, byte[] visualParams, byte[] textureEntry);
void SendStartPingCheck(byte seq);
- void SendKillObject(ulong regionHandle, uint avatarLocalID);
+ void SendKillObject(ulong regionHandle, uint localID);
void SendAnimation(LLUUID animID, int seq, LLUUID sourceAgentId);
void SendRegionHandshake(RegionInfo regionInfo);
void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID);
diff --git a/OpenSim/Framework/General/NullClientAPI.cs b/OpenSim/Framework/General/NullClientAPI.cs
index 45c1a14..c0b4e8a 100644
--- a/OpenSim/Framework/General/NullClientAPI.cs
+++ b/OpenSim/Framework/General/NullClientAPI.cs
@@ -106,7 +106,7 @@ namespace OpenSim.Framework
public virtual void SendWearables(AvatarWearable[] wearables){}
public virtual void SendAppearance(LLUUID agentID, byte[] visualParams, byte[] textureEntry) { }
public virtual void SendStartPingCheck(byte seq){}
- public virtual void SendKillObject(ulong regionHandle, uint avatarLocalID){}
+ public virtual void SendKillObject(ulong regionHandle, uint localID){}
public virtual void SendAnimation(LLUUID animID, int seq, LLUUID sourceAgentId){}
public virtual void SendRegionHandshake(RegionInfo regionInfo){}
public virtual void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID){}
diff --git a/OpenSim/Region/ClientStack/ClientView.API.cs b/OpenSim/Region/ClientStack/ClientView.API.cs
index 2733f0a..4b0352b 100644
--- a/OpenSim/Region/ClientStack/ClientView.API.cs
+++ b/OpenSim/Region/ClientStack/ClientView.API.cs
@@ -506,12 +506,12 @@ namespace OpenSim.Region.ClientStack
OutPacket(pc);
}
- public void SendKillObject(ulong regionHandle, uint avatarLocalID)
+ public void SendKillObject(ulong regionHandle, uint localID)
{
KillObjectPacket kill = new KillObjectPacket();
kill.ObjectData = new KillObjectPacket.ObjectDataBlock[1];
kill.ObjectData[0] = new KillObjectPacket.ObjectDataBlock();
- kill.ObjectData[0].ID = avatarLocalID;
+ kill.ObjectData[0].ID = localID;
OutPacket(kill);
}
diff --git a/OpenSim/Region/ClientStack/RegionApplicationBase.cs b/OpenSim/Region/ClientStack/RegionApplicationBase.cs
index bad7fec..008b4c7 100644
--- a/OpenSim/Region/ClientStack/RegionApplicationBase.cs
+++ b/OpenSim/Region/ClientStack/RegionApplicationBase.cs
@@ -70,7 +70,7 @@ namespace OpenSim.Region.ClientStack
Initialize();
- ScenePresence.LoadTextureFile("avatar-texture.dat");
+ ScenePresence.CreateDefaultTextureEntry("avatar-texture.dat");
m_httpServer = new BaseHttpServer( m_httpServerPort );
diff --git a/OpenSim/Region/Environment/Scenes/Primitive.cs b/OpenSim/Region/Environment/Scenes/Primitive.cs
index ba10893..60ea28f 100644
--- a/OpenSim/Region/Environment/Scenes/Primitive.cs
+++ b/OpenSim/Region/Environment/Scenes/Primitive.cs
@@ -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];
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
///
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 avatars = this.RequestAvatarList();
+ foreach (ScenePresence avatar in avatars)
+ {
+ avatar.ControllingClient.SendKillObject(this.m_regionHandle, selectedEnt.LocalId);
+ }
+
+ lock (Entities)
+ {
+ Entities.Remove(selectedEnt.m_uuid);
+ }
+ }
+ }
+ }
}
///
@@ -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;
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index 39584ad..70aead3 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -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;
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
index caa359e..4bb48b8 100644
--- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
@@ -459,6 +459,9 @@ namespace OpenSim.Region.Environment.Scenes
this.m_scene.InformClientOfNeighbours(this.ControllingClient);
this.newAvatar = false;
}
+
+ // this.SendFullUpdateToALLClients();
+ // this.SendArrearanceToAllOtherAgents();
}
///
@@ -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;
diff --git a/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs
index 6bcec5c..b9ffb71 100644
--- a/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs
+++ b/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs
@@ -121,7 +121,7 @@ namespace SimpleApp
public virtual void SendWearables(AvatarWearable[] wearables) { }
public virtual void SendAppearance(LLUUID agentID, byte[] visualParams, byte[] textureEntry) { }
public virtual void SendStartPingCheck(byte seq) { }
- public virtual void SendKillObject(ulong regionHandle, uint avatarLocalID) { }
+ public virtual void SendKillObject(ulong regionHandle, uint localID) { }
public virtual void SendAnimation(LLUUID animID, int seq, LLUUID sourceAgentId) { }
public virtual void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID) { }
public virtual void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID) { }
diff --git a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs
index 4d0699b..b722fdf 100644
--- a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs
+++ b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs
@@ -31,79 +31,97 @@ using OpenSim.Physics.Manager;
namespace OpenSim.Region.Physics.BasicPhysicsPlugin
{
- ///
- /// Will be the PhysX plugin but for now will be a very basic physics engine
- ///
- public class BasicPhysicsPlugin : IPhysicsPlugin
- {
- public BasicPhysicsPlugin()
- {
-
- }
-
- public bool Init()
- {
- return true;
- }
-
- public PhysicsScene GetScene()
- {
- return new BasicScene();
- }
-
- public string GetName()
- {
- return("basicphysics");
- }
-
- public void Dispose()
- {
-
- }
- }
-
- public class BasicScene :PhysicsScene
- {
- private List _actors = new List();
- private float[] _heightMap;
-
- public BasicScene()
- {
-
- }
-
- public override PhysicsActor AddAvatar(PhysicsVector position)
- {
- BasicActor act = new BasicActor();
- act.Position = position;
- _actors.Add(act);
- return act;
- }
+ ///
+ /// Will be the PhysX plugin but for now will be a very basic physics engine
+ ///
+ public class BasicPhysicsPlugin : IPhysicsPlugin
+ {
+ public BasicPhysicsPlugin()
+ {
+
+ }
+
+ public bool Init()
+ {
+ return true;
+ }
+
+ public PhysicsScene GetScene()
+ {
+ return new BasicScene();
+ }
+
+ public string GetName()
+ {
+ return ("basicphysics");
+ }
+
+ public void Dispose()
+ {
+
+ }
+ }
+
+ public class BasicScene : PhysicsScene
+ {
+ private List _actors = new List();
+ private float[] _heightMap;
+
+ public BasicScene()
+ {
+
+ }
+
+ public override PhysicsActor AddAvatar(PhysicsVector position)
+ {
+ BasicActor act = new BasicActor();
+ act.Position = position;
+ _actors.Add(act);
+ return act;
+ }
public override void RemoveAvatar(PhysicsActor actor)
{
BasicActor act = (BasicActor)actor;
- if(_actors.Contains(act))
+ if (_actors.Contains(act))
{
_actors.Remove(act);
}
}
- public override PhysicsActor AddPrim(PhysicsVector position, PhysicsVector size)
- {
- return null;
- }
-
- public override void Simulate(float timeStep)
- {
- foreach (BasicActor actor in _actors)
- {
- float height = _heightMap[(int)actor.Position.Y * 256 + (int)actor.Position.X] + 1.2f;
+ public override PhysicsActor AddPrim(PhysicsVector position, PhysicsVector size)
+ {
+ return null;
+ }
+
+ public override void Simulate(float timeStep)
+ {
+ foreach (BasicActor actor in _actors)
+ {
actor.Position.X = actor.Position.X + (actor.Velocity.X * timeStep);
actor.Position.Y = actor.Position.Y + (actor.Velocity.Y * timeStep);
+ if (actor.Position.Y < 0)
+ {
+ actor.Position.Y = 0;
+ }
+ else if (actor.Position.Y > 256)
+ {
+ actor.Position.Y = 256;
+ }
+
+ if (actor.Position.X < 0)
+ {
+ actor.Position.X = 0;
+ }
+ else if (actor.Position.X > 256)
+ {
+ actor.Position.X = 256;
+ }
+
+ float height = _heightMap[(int)actor.Position.Y * 256 + (int)actor.Position.X] + 1.2f;
if (actor.Flying)
- {
+ {
if (actor.Position.Z + (actor.Velocity.Z * timeStep) < _heightMap[(int)actor.Position.Y * 256 + (int)actor.Position.X] + 2)
{
actor.Position.Z = height;
@@ -120,145 +138,129 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin
actor.Velocity.Z = 0;
}
- if (actor.Position.Y < 0)
- {
- actor.Position.Y = 0;
- }
- else if (actor.Position.Y > 256)
- {
- actor.Position.Y = 256;
- }
- if (actor.Position.X < 0)
- {
- actor.Position.X = 0;
- }
- if (actor.Position.X > 256)
- {
- actor.Position.X = 256;
- }
}
- }
-
- public override void GetResults()
- {
-
- }
-
- public override bool IsThreaded
- {
- get
- {
- return(false); // for now we won't be multithreaded
- }
- }
-
- public override void SetTerrain(float[] heightMap)
- {
- this._heightMap = heightMap;
- }
+ }
+
+ public override void GetResults()
+ {
+
+ }
+
+ public override bool IsThreaded
+ {
+ get
+ {
+ return (false); // for now we won't be multithreaded
+ }
+ }
+
+ public override void SetTerrain(float[] heightMap)
+ {
+ this._heightMap = heightMap;
+ }
public override void DeleteTerrain()
{
}
- }
-
- public class BasicActor : PhysicsActor
- {
- private PhysicsVector _position;
- private PhysicsVector _velocity;
- private PhysicsVector _acceleration;
- private bool flying;
- public BasicActor()
- {
- _velocity = new PhysicsVector();
- _position = new PhysicsVector();
- _acceleration = new PhysicsVector();
- }
-
- public override bool Flying
- {
- get
- {
+ }
+
+ public class BasicActor : PhysicsActor
+ {
+ private PhysicsVector _position;
+ private PhysicsVector _velocity;
+ private PhysicsVector _acceleration;
+ private bool flying;
+ public BasicActor()
+ {
+ _velocity = new PhysicsVector();
+ _position = new PhysicsVector();
+ _acceleration = new PhysicsVector();
+ }
+
+ public override bool Flying
+ {
+ get
+ {
return flying;
- }
- set
- {
- flying= value;
- }
- }
-
- public override PhysicsVector Position
- {
- get
- {
- return _position;
- }
- set
- {
- _position = value;
- }
- }
-
- public override PhysicsVector Velocity
- {
- get
- {
- return _velocity;
- }
- set
- {
- _velocity = value;
- }
- }
-
- public override Quaternion Orientation
- {
- get
- {
- return Quaternion.Identity;
- }
- set
- {
-
- }
- }
-
- public override PhysicsVector Acceleration
- {
- get
- {
- return _acceleration;
- }
-
- }
-
- public override bool Kinematic
- {
- get
- {
- return true;
- }
- set
- {
-
- }
- }
- public void SetAcceleration (PhysicsVector accel)
- {
- this._acceleration = accel;
- }
-
- public override void AddForce(PhysicsVector force)
- {
-
- }
-
- public override void SetMomentum(PhysicsVector momentum)
- {
-
- }
- }
+ }
+ set
+ {
+ flying = value;
+ }
+ }
+
+ public override PhysicsVector Position
+ {
+ get
+ {
+ return _position;
+ }
+ set
+ {
+ _position = value;
+ }
+ }
+
+ public override PhysicsVector Velocity
+ {
+ get
+ {
+ return _velocity;
+ }
+ set
+ {
+ _velocity = value;
+ }
+ }
+
+ public override Quaternion Orientation
+ {
+ get
+ {
+ return Quaternion.Identity;
+ }
+ set
+ {
+
+ }
+ }
+
+ public override PhysicsVector Acceleration
+ {
+ get
+ {
+ return _acceleration;
+ }
+
+ }
+
+ public override bool Kinematic
+ {
+ get
+ {
+ return true;
+ }
+ set
+ {
+
+ }
+ }
+ public void SetAcceleration(PhysicsVector accel)
+ {
+ this._acceleration = accel;
+ }
+
+ public override void AddForce(PhysicsVector force)
+ {
+
+ }
+
+ public override void SetMomentum(PhysicsVector momentum)
+ {
+
+ }
+ }
}
--
cgit v1.1