From d6bf4ede92694be450f556333050c49f95333964 Mon Sep 17 00:00:00 2001 From: MW Date: Sat, 17 Feb 2007 21:29:53 +0000 Subject: [PATCH] Added support for movements --- AgentManager.cs | 61 +++++++++---- Assets.cs | 14 ++- BerkeleyDatabase.cs | 38 ++++++-- ClientConnection.cs | 8 +- Controller.cs | 16 +++- GridManager.cs | 2 +- InventoryManager.cs | 6 ++ LocalStorageBase.cs | 1 + OpenSimLite.csproj | 8 ++ PhysicsManager.cs | 18 ++++ PrimManager.cs | 12 ++- SceneGraph.cs | 217 ++++++++++++++++++++++++++++++++++++++++++-- ViewerServer.cs | 5 +- 13 files changed, 360 insertions(+), 46 deletions(-) diff --git a/AgentManager.cs b/AgentManager.cs index 84248139c7..1eebb02d1f 100644 --- a/AgentManager.cs +++ b/AgentManager.cs @@ -49,29 +49,34 @@ namespace OpenSim public AgentName GetAgentName(LLUUID AgentID) { - AgentName name; - if(AgentList.ContainsKey(AgentID)) + lock(AgentList) { - name=AgentList[AgentID].Name; - } - else - { - name = new AgentName(); + if(AgentList.ContainsKey(AgentID)) + { + name=AgentList[AgentID].Name; + } + else + { + name = new AgentName(); + } } return(name); } public AgentProfile GetAgent(LLUUID id) { - if(!this.AgentList.ContainsKey(id)) + lock(AgentList) { - return null; - } - else - { - AgentProfile avatar = this.AgentList[id]; - return avatar; + if(!this.AgentList.ContainsKey(id)) + { + return null; + } + else + { + AgentProfile avatar = this.AgentList[id]; + return avatar; + } } } /// @@ -193,6 +198,28 @@ namespace OpenSim _server.SendPacket(packet, true, kp.Value.Avatar.NetInfo); } } + + public void SendTerseUpdateLists() + { + foreach (KeyValuePair kp in this.AgentList) + { + if(kp.Value.Avatar.TerseUpdateList.Count > 0) + { + ImprovedTerseObjectUpdatePacket im = new ImprovedTerseObjectUpdatePacket(); + im.RegionData.RegionHandle = Globals.Instance.RegionHandle;; + im.RegionData.TimeDilation = 64096; + + im.ObjectData = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock[kp.Value.Avatar.TerseUpdateList.Count]; + + for(int i = 0; i < kp.Value.Avatar.TerseUpdateList.Count; i++) + { + im.ObjectData[i] = kp.Value.Avatar.TerseUpdateList[i]; + } + _server.SendPacket(im, true, kp.Value.Avatar.NetInfo); + kp.Value.Avatar.TerseUpdateList.Clear(); + } + } + } } public struct AgentName @@ -219,7 +246,7 @@ namespace OpenSim public NetworkInfo NetInfo; public LLUUID FullID; public uint LocalID; - //public LLQuaternion Rotation; + public LLQuaternion BodyRotation; public bool Walk = false; public bool Started = false; //public TextureEntry TextureEntry; @@ -248,8 +275,8 @@ namespace OpenSim public class AvatarWearable { - public LLUUID AssetID; - public LLUUID ItemID; + public LLUUID AssetID = new LLUUID("00000000-0000-0000-0000-000000000000"); + public LLUUID ItemID = new LLUUID("00000000-0000-0000-0000-000000000000"); public AvatarWearable() { diff --git a/Assets.cs b/Assets.cs index a15c0e9fed..9ebc800528 100644 --- a/Assets.cs +++ b/Assets.cs @@ -41,7 +41,6 @@ namespace OpenSim public sbyte InvType; public string Name; public string Description; - public string Filename; public AssetBase() { @@ -58,9 +57,10 @@ namespace OpenSim this.PrimData = new PrimData(); } } - public class PrimData + public class PrimData : Node { public LLUUID OwnerID; + public uint LocalID; public byte PCode; public byte PathBegin; public byte PathEnd; @@ -82,6 +82,16 @@ namespace OpenSim { } + + public void FromBytes(byte[] bytes) + { + + } + + public byte[] ToBytes() + { + return null; + } } //a hangover from the old code, so is it needed for future use? diff --git a/BerkeleyDatabase.cs b/BerkeleyDatabase.cs index 4999225c0b..f4721e2e7a 100644 --- a/BerkeleyDatabase.cs +++ b/BerkeleyDatabase.cs @@ -71,7 +71,6 @@ namespace OpenSim public void Open(string dbDir, string appName, Stream errStream) { this.dbDir = dbDir; - //Remove(); // open local prim database Db db = new Db(DbCreateFlags.None); @@ -152,7 +151,11 @@ namespace OpenSim protected override void SerializeValue(PrimAsset value) { Formatter.Serialize(value.Name); Formatter.Serialize(value.Description); - + Formatter.Serialize((int?)value.Data.Length); + for( int i = 0; i < value.Data.Length; i++) + { + Formatter.Serialize((byte?)value.Data[i]); + } } protected override void DeserializeInstance(ref PrimAsset instance) { @@ -163,12 +166,22 @@ namespace OpenSim protected override void DeserializeMembers(PrimAsset instance) { Formatter.Deserialize(ref instance.Name); Formatter.Deserialize(ref instance.Description); + int dataLength; + dataLength =(int) Formatter.Deserialize(); + instance.Data = new byte[dataLength]; + for( int i = 0; i < dataLength; i++) + { + instance.Data[i] =(byte) Formatter.Deserialize(); + } } protected override void SkipValue() { if (Formatter.Skip()) - Formatter.Skip(); + if (Formatter.Skip()) + if ( Formatter.Skip()) + Formatter.Skip(); + } } @@ -179,7 +192,11 @@ namespace OpenSim protected override void SerializeValue(AssetBase value) { Formatter.Serialize(value.Name); Formatter.Serialize(value.Description); - + Formatter.Serialize((int?)value.Data.Length); + for( int i = 0; i < value.Data.Length; i++) + { + Formatter.Serialize((byte?)value.Data[i]); + } } protected override void DeserializeInstance(ref AssetBase instance) { @@ -190,12 +207,21 @@ namespace OpenSim protected override void DeserializeMembers(AssetBase instance) { Formatter.Deserialize(ref instance.Name); Formatter.Deserialize(ref instance.Description); - + int dataLength; + dataLength =(int) Formatter.Deserialize(); + instance.Data = new byte[dataLength]; + for( int i = 0; i < dataLength; i++) + { + instance.Data[i] =(byte) Formatter.Deserialize(); + } } protected override void SkipValue() { if (Formatter.Skip()) - Formatter.Skip(); + if (Formatter.Skip()) + if ( Formatter.Skip()) + Formatter.Skip(); + } } } diff --git a/ClientConnection.cs b/ClientConnection.cs index b2fa750749..28a3b1f195 100644 --- a/ClientConnection.cs +++ b/ClientConnection.cs @@ -105,7 +105,13 @@ namespace OpenSim Console.WriteLine("RegionHandshake reply"); Scene.SendTerrainData(this.NetInfo); Scene.AddNewAvatar(AgentManager.GetAgent(this.NetInfo.User.AgentID).Avatar); - // send current avatars and prims data + break; + case PacketType.AgentWearablesRequest: + AgentManager.RequestWearables(this.NetInfo); + break; + case PacketType.AgentUpdate: + AgentUpdatePacket agentUpdate = (AgentUpdatePacket)packet; + Scene.AvatarMovementCommand(this.NetInfo, agentUpdate); break; default: break; diff --git a/Controller.cs b/Controller.cs index 69cec5240e..48e3fed452 100644 --- a/Controller.cs +++ b/Controller.cs @@ -27,6 +27,7 @@ Copyright (c) OpenSim project, http://sim.opensecondlife.org/ using System; +using System.Timers; using System.Collections.Generic; using libsecondlife; using libsecondlife.Packets; @@ -43,6 +44,7 @@ namespace OpenSim private AssetManager _assetManager; private SceneGraph _scene; private PrimManager _primManager; + private Timer timer1 = new Timer(); public static void Main(string[] args) { @@ -50,14 +52,11 @@ namespace OpenSim bool Run = true; while( Run ) { - string input = Console.ReadLine(); - if(input == "Exit") { Run = false; - } - + } } BerkeleyDatabases.Instance.Close(); @@ -84,6 +83,9 @@ namespace OpenSim _loginServer = new LoginServer(_backboneServers.UserServer); _loginServer.Startup(); } + timer1.Enabled = true; + timer1.Interval = 200; + timer1.Elapsed +=new ElapsedEventHandler( this.Timer1Tick ); } @@ -98,6 +100,12 @@ namespace OpenSim } + void Timer1Tick( object sender, System.EventArgs e ) + { + //this.time++; + this._scene.Update(); + // this._assetManager.DoWork( time ); + } } public class BackboneServers diff --git a/GridManager.cs b/GridManager.cs index b45c1ff4d4..342622d372 100644 --- a/GridManager.cs +++ b/GridManager.cs @@ -241,7 +241,7 @@ namespace OpenSim XmlNode nodes = root.FirstChild; if (nodes.Name != "Grid") - throw new Exception("Error: Invalid File. first child should be "); + throw new Exception("Error: Invalid File. first child should be "); if (nodes.HasChildNodes) { foreach( XmlNode xmlnc in nodes.ChildNodes) diff --git a/InventoryManager.cs b/InventoryManager.cs index 56f2759135..423a3b83d0 100644 --- a/InventoryManager.cs +++ b/InventoryManager.cs @@ -52,10 +52,16 @@ namespace OpenSim public List Folders; public int LastCached; //time this was last stored/compared to user server public LLUUID AgentID; + public AvatarWearable[] Wearables; public AgentInventory() { Folders = new List(); + Wearables = new AvatarWearable[2]; + for(int i = 0; i < 2; i++) + { + Wearables[i] = new AvatarWearable(); + } } } diff --git a/LocalStorageBase.cs b/LocalStorageBase.cs index c062335e04..6c6c723a04 100644 --- a/LocalStorageBase.cs +++ b/LocalStorageBase.cs @@ -50,6 +50,7 @@ namespace OpenSim } public void CreateNewPrimStorage(PrimAsset prim) { + Console.WriteLine("prim data length is: "+prim.Data.Length); byte[] dataBuffer = new byte[4096]; byte[] keyBuffer = new byte[256]; int index; diff --git a/OpenSimLite.csproj b/OpenSimLite.csproj index 50081a135c..a82231d91c 100644 --- a/OpenSimLite.csproj +++ b/OpenSimLite.csproj @@ -39,6 +39,14 @@ bin\Debug\Kds.Serialization.dll False + + bin\Debug\Axiom.MathLib.dll + False + + + bin\Debug\log4net.dll + False + diff --git a/PhysicsManager.cs b/PhysicsManager.cs index 991be5a787..3b7c12161c 100644 --- a/PhysicsManager.cs +++ b/PhysicsManager.cs @@ -40,5 +40,23 @@ namespace OpenSim { _sceneGraph=sceneGraph; } + + public void UpdatePhysics() + { + lock(this._sceneGraph.RootNode) + { + for (int i = 0; i < _sceneGraph.RootNode.ChildrenCount; i++) + { + if(_sceneGraph.RootNode.GetChild(i).SceneType == 1) //check it is a avatar node + { + AvatarData avatar = (AvatarData)_sceneGraph.RootNode.GetChild(i); + avatar.Position.X += (avatar.Velocity.X * 0.2f); + avatar.Position.Y += (avatar.Velocity.Y * 0.2f); + avatar.Position.Z += (avatar.Velocity.Z * 0.2f); + } + } + } + } + } } diff --git a/PrimManager.cs b/PrimManager.cs index b753a0377e..f99a5adc40 100644 --- a/PrimManager.cs +++ b/PrimManager.cs @@ -41,17 +41,23 @@ namespace OpenSim { this._localPrimDB = new LocalPrimDb(); - //database test /*PrimAsset prim = new PrimAsset(); prim.Name="happy now"; prim.Description= "test"; prim.FullID = new LLUUID("00000000-0000-0000-0000-000000000008"); + prim.Data= new byte[10]; + prim.Data[0]=5; + prim.Data[1]=4; + prim.Data[2]=5; + prim.Data[3]=6; + prim.Data[4]=5; this._localPrimDB.CreateNewPrimStorage(prim); PrimAsset prim1 = this._localPrimDB.GetPrimFromStroage( new LLUUID("00000000-0000-0000-0000-000000000008")); - Console.WriteLine("prim recieved : "+prim1.Name + " "+ prim1.Description); - + Console.WriteLine("prim received : "+prim1.Name + " "+ prim1.Description); + Console.WriteLine("received prims data length is: "+prim1.Data.Length); + Console.WriteLine(Helpers.FieldToString(prim1.Data)); //this._localPrimDB.ReadWholedatabase(); */ } diff --git a/SceneGraph.cs b/SceneGraph.cs index 0c9b763fec..87d943b4a4 100644 --- a/SceneGraph.cs +++ b/SceneGraph.cs @@ -31,6 +31,7 @@ using System.Collections.Generic; using System.Threading; using libsecondlife; using libsecondlife.Packets; +using Axiom.MathLib; namespace OpenSim { @@ -98,6 +99,7 @@ namespace OpenSim public void Update() { // run physics engine to update positions etc since last frame + this._physics.UpdatePhysics(); // process command list lock(this.Commands) //do we want to stop new commands being added while we process? @@ -108,6 +110,21 @@ namespace OpenSim switch(command.CommandType) { case 1: + //movement command + if(command.SObject.SceneType == 1) + { + AvatarData avatar =(AvatarData) command.SObject; + avatar.Walk = !avatar.Walk; + command.SObject.InternVelocityX = command.InternVelocityX; + command.SObject.InternVelocityY = command.InternVelocityY; + command.SObject.InternVelocityZ = command.InternVelocityZ; + + command.SObject.Velocity = command.Velocity; + if((command.SObject.UpdateFlag & (1)) != 1) + { + command.SObject.UpdateFlag += 1; + } + } break; default: break; @@ -128,15 +145,16 @@ namespace OpenSim int updatemask = avatar.UpdateFlag & (128); if(updatemask == 128) //is a new avatar? { + Console.WriteLine("new avatar has been added to scene so update it on the current scene"); + this.SendAvatarDataToAll(avatar); //should send a avatar appearance to other clients except the avatar's owner + this.SendAvatarAppearanceToAllExcept(avatar); //and send complete scene update to the new avatar's owner this.SendCompleteSceneTo(avatar); - - //reset new avatar flag - //avatar.UpdateFlag -= 128; + avatar.Started = true; } } } @@ -167,9 +185,11 @@ namespace OpenSim { AvatarData avatar2 =(AvatarData) this.RootNode.GetChild(i); int newmask = avatar2.UpdateFlag & (128); - if(newmask != 128) //is a new avatar? + if(newmask != 128) + //is a new avatar? + //if it is then we don't need to tell it about updates as it has already received a full update of the scene { - //no its not so let add to its updatelist + //but if it is not then we add to its updatelist avatar2.TerseUpdateList.Add(this.CreateTerseBlock(avatar)); } } @@ -187,6 +207,81 @@ namespace OpenSim this.RootNode.GetChild(i).UpdateFlag = 0; } } + this._agentManager.SendTerseUpdateLists(); + } + + public void AvatarMovementCommand(NetworkInfo userInfo, AgentUpdatePacket updatePacket) + { + uint mask = updatePacket.AgentData.ControlFlags & (1); + AvatarData avatar = _agentManager.GetAgent(userInfo.User.AgentID).Avatar; + if (avatar != null) + { + if (avatar.Started) + { + if (mask == (1)) + { + if (!avatar.Walk) + { + UpdateCommand newCommand = new UpdateCommand(); + newCommand.CommandType = 1; + newCommand.SObject = avatar; + //start walking + Axiom.MathLib.Vector3 v3 = new Axiom.MathLib.Vector3(1, 0, 0); + Axiom.MathLib.Quaternion q = new Axiom.MathLib.Quaternion(updatePacket.AgentData.BodyRotation.W, updatePacket.AgentData.BodyRotation.X, updatePacket.AgentData.BodyRotation.Y, updatePacket.AgentData.BodyRotation.Z); + Axiom.MathLib.Vector3 direc = q * v3; + direc.Normalize(); + + Axiom.MathLib.Vector3 internDirec = new Vector3(direc.x, direc.y, direc.z); + + //work out velocity for sim physics system + direc = direc * ((0.03f) * 128f); + //because of us using a frame based system we can't update the avatar directly + //so we need to add the command to the list and let the update loop deal with it + newCommand.Velocity = new libsecondlife.LLVector3(0, 0 , 0); + newCommand.Velocity.X = direc.x; + newCommand.Velocity.Y = direc.y; + newCommand.Velocity.Z = direc.z; + //avatar.Walk = true; + + //work out velocity for internal clients movement commands + internDirec = internDirec * (0.03f); + internDirec.x += 1; + internDirec.y += 1; + internDirec.z += 1; + + newCommand.InternVelocityX = (ushort)(32768 * internDirec.x); + newCommand.InternVelocityY = (ushort)(32768 * internDirec.y); + newCommand.InternVelocityZ = (ushort)(32768 * internDirec.z); + lock(this.Commands) + { + this.Commands.Enqueue(newCommand); + } + } + } + else + { + if (avatar.Walk) + { + UpdateCommand newCommand = new UpdateCommand(); + newCommand.CommandType = 1; + newCommand.SObject = avatar; + //walking but key not pressed so need to stop + //avatar.Walk = false; + newCommand.Velocity.X = 0; + newCommand.Velocity.Y = 0; + newCommand.Velocity.Z = 0; + + newCommand.InternVelocityX = (ushort)(32768 ); + newCommand.InternVelocityY = (ushort)(32768 ); + newCommand.InternVelocityZ = (ushort)(32768 ); + lock(this.Commands) + { + this.Commands.Enqueue(newCommand); + } + } + } + } + } } #region send terrain data @@ -207,7 +302,7 @@ namespace OpenSim Console.WriteLine("Sent terrain data"); //test - this.SendAvatarData(userInfo); + //this.SendAvatarData(userInfo); } } @@ -246,9 +341,11 @@ namespace OpenSim public void AddNewAvatar(AvatarData avatar) { + Console.WriteLine("adding avatar to scene"); lock(this.RootNode) { avatar.SceneName = "Avatar" + this._objectCount.ToString("00000"); + avatar.Position = new LLVector3(100f, 100f, 22f); this._objectCount++; this.RootNode.AddChild(avatar); } @@ -316,6 +413,7 @@ namespace OpenSim #endregion private void SendAvatarDataToAll(AvatarData avatar) { + Console.WriteLine("sending avatar data"); ObjectUpdatePacket objupdate = new ObjectUpdatePacket(); objupdate.RegionData.RegionHandle = Globals.Instance.RegionHandle; objupdate.RegionData.TimeDilation = 0; @@ -326,7 +424,7 @@ namespace OpenSim objupdate.ObjectData[0].FullID = avatar.NetInfo.User.AgentID; objupdate.ObjectData[0].NameValue = _enc.GetBytes("FirstName STRING RW SV " + avatar.NetInfo.User.FirstName + "\nLastName STRING RW SV " + avatar.NetInfo.User.LastName + " \0"); - libsecondlife.LLVector3 pos2 = new LLVector3(100f, 100.0f, 22.0f); + libsecondlife.LLVector3 pos2 = avatar.Position; byte[] pb = pos2.GetBytes(); Array.Copy(pb, 0, objupdate.ObjectData[0].ObjectData, 16, pb.Length); @@ -345,12 +443,109 @@ namespace OpenSim public ImprovedTerseObjectUpdatePacket.ObjectDataBlock CreateTerseBlock(AvatarData avatar) { - return(null); + byte[] bytes = new byte[60]; + int i=0; + ImprovedTerseObjectUpdatePacket.ObjectDataBlock dat = new ImprovedTerseObjectUpdatePacket.ObjectDataBlock(); + + dat.TextureEntry = _avatarTemplate.TextureEntry; + libsecondlife.LLVector3 pos2 = new LLVector3(avatar.Position.X, avatar.Position.Y, avatar.Position.Z); + + uint ID = avatar.LocalID; + bytes[i++] = (byte)(ID % 256); + bytes[i++] = (byte)((ID >> 8) % 256); + bytes[i++] = (byte)((ID >> 16) % 256); + bytes[i++] = (byte)((ID >> 24) % 256); + + bytes[i++] = 0; + bytes[i++] = 1; + + i += 14; + bytes[i++] = 128; + bytes[i++] = 63; + byte[] pb = pos2.GetBytes(); + + Array.Copy(pb, 0, bytes, i, pb.Length); + i += 12; + ushort ac = 32767; + bytes[i++] = (byte)(avatar.InternVelocityX % 256); + bytes[i++] = (byte)((avatar.InternVelocityX >> 8) % 256); + + bytes[i++] = (byte)(avatar.InternVelocityY % 256); + bytes[i++] = (byte)((avatar.InternVelocityY>> 8) % 256); + + bytes[i++] = (byte)(avatar.InternVelocityZ % 256); + bytes[i++] = (byte)((avatar.InternVelocityZ >> 8) % 256); + + //accel + bytes[i++] = (byte)(ac % 256); + bytes[i++] = (byte)((ac >> 8) % 256); + + bytes[i++] = (byte)(ac % 256); + bytes[i++] = (byte)((ac >> 8) % 256); + + bytes[i++] = (byte)(ac % 256); + bytes[i++] = (byte)((ac >> 8) % 256); + + //rot + bytes[i++] = (byte)(ac % 256); + bytes[i++] = (byte)((ac >> 8) % 256); + + bytes[i++] = (byte)(ac % 256); + bytes[i++] = (byte)((ac >> 8) % 256); + + bytes[i++] = (byte)(ac % 256); + bytes[i++] = (byte)((ac >> 8) % 256); + + bytes[i++] = (byte)(ac % 256); + bytes[i++] = (byte)((ac >> 8) % 256); + + //rotation vel + bytes[i++] = (byte)(ac % 256); + bytes[i++] = (byte)((ac >> 8) % 256); + + bytes[i++] = (byte)(ac % 256); + bytes[i++] = (byte)((ac >> 8) % 256); + + bytes[i++] = (byte)(ac % 256); + bytes[i++] = (byte)((ac >> 8) % 256); + + dat.Data=bytes; + return(dat); } public void SendAvatarAppearanceToAllExcept(AvatarData avatar) { + AvatarAppearancePacket avp = new AvatarAppearancePacket(); + + avp.VisualParam = new AvatarAppearancePacket.VisualParamBlock[218]; + //avp.ObjectData.TextureEntry=this.avatar_template.TextureEntry;// br.ReadBytes((int)numBytes); + + FileInfo fInfo = new FileInfo("Avatar_texture3.dat"); + long numBytes = fInfo.Length; + FileStream fStream = new FileStream("Avatar_texture3.dat", FileMode.Open, FileAccess.Read); + BinaryReader br = new BinaryReader(fStream); + avp.ObjectData.TextureEntry = br.ReadBytes((int)numBytes); + br.Close(); + fStream.Close(); + + AvatarAppearancePacket.VisualParamBlock avblock = null; + for(int i = 0; i < 218; i++) + { + avblock = new AvatarAppearancePacket.VisualParamBlock(); + avblock.ParamValue = (byte)avatar.VisParams.Params[i]; + avp.VisualParam[i] = avblock; + } + + avp.Sender.IsTrial = false; + avp.Sender.ID = avatar.NetInfo.User.AgentID; + + SendInfo send = new SendInfo(); + send.Incr = true; + send.NetInfo = avatar.NetInfo; + send.Packet = avp; + send.SentTo = 2; //to all clients except avatar + this._updateSender.SendList.Enqueue(send); } } @@ -365,6 +560,9 @@ namespace OpenSim public LLVector3 Position; public LLVector3 Velocity = new LLVector3(0,0,0); public byte UpdateFlag; + public ushort InternVelocityX = 32768; + public ushort InternVelocityY = 32768; + public ushort InternVelocityZ = 32768; public List ChildNodes { @@ -529,6 +727,9 @@ namespace OpenSim public Node SObject; public LLVector3 Position; public LLVector3 Velocity; + public ushort InternVelocityX; + public ushort InternVelocityY; + public ushort InternVelocityZ; public LLQuaternion Rotation; public UpdateCommand() diff --git a/ViewerServer.cs b/ViewerServer.cs index 076cb4b4e8..79a5309180 100644 --- a/ViewerServer.cs +++ b/ViewerServer.cs @@ -209,6 +209,7 @@ namespace OpenSim /// Increment sequence number? public void SendPacket(Packet packet, bool incrementSequence, NetworkInfo User_info) { + lock(this._sendPacketSync) { byte[] buffer; @@ -459,7 +460,6 @@ namespace OpenSim { temp_agent=(NetworkInfo)this.User_agents[ii]; IPEndPoint ag_ip=(IPEndPoint)temp_agent.endpoint; - //this.callback_object.error("searching: address is "+ag_ip.Address +"port number is: "+ag_ip.Port.ToString()); if((ag_ip.Address.ToString()==send_ip.Address.ToString()) && (ag_ip.Port.ToString()==send_ip.Port.ToString())) { @@ -486,14 +486,12 @@ namespace OpenSim { //error finding agent - //this.CallbackObject.ErrorCallback("no user found"); return; } // Fail-safe check if (packet == null) { - //this.CallbackObject.ErrorCallback("couldn't build packet"); // Client.Log("Couldn't build a message from the incoming data", Helpers.LogLevel.Warning); return; } @@ -525,7 +523,6 @@ namespace OpenSim } // Avoid firing a callback twice for the same packet - // this.callback_object.error("avoiding callback"); return; } else