From 2afbf8b22b1548c7994981acf92882c6d9628bb9 Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Wed, 19 Sep 2007 04:19:27 +0000
Subject: * Added AddToPhysicalScene and RemoveFromPhysicalScene and added to
MakeAvatar and MakeChildAgent respectively * Removed unused m_child from
ClientView
---
.../ClientStack/ClientView.ProcessPackets.cs | 19 ++++-----
OpenSim/Region/ClientStack/ClientView.cs | 1 -
OpenSim/Region/ClientStack/PacketServer.cs | 47 ----------------------
OpenSim/Region/ClientStack/UDPServer.cs | 2 +-
OpenSim/Region/Environment/Scenes/Scene.cs | 10 ++---
OpenSim/Region/Environment/Scenes/ScenePresence.cs | 35 ++++++++++++----
6 files changed, 39 insertions(+), 75 deletions(-)
diff --git a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs
index 3bb7c03..61fc498 100644
--- a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs
+++ b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs
@@ -175,18 +175,15 @@ namespace OpenSim.Region.ClientStack
}
break;
case PacketType.AgentAnimation:
- if (!m_child)
+ AgentAnimationPacket AgentAni = (AgentAnimationPacket)Pack;
+ for (int i = 0; i < AgentAni.AnimationList.Length; i++)
{
- AgentAnimationPacket AgentAni = (AgentAnimationPacket)Pack;
- for (int i = 0; i < AgentAni.AnimationList.Length; i++)
+ if (AgentAni.AnimationList[i].StartAnim)
{
- if (AgentAni.AnimationList[i].StartAnim)
- {
- if (OnStartAnim != null)
- {
- OnStartAnim(this, AgentAni.AnimationList[i].AnimID, 1);
- }
+ if (OnStartAnim != null)
+ {
+ OnStartAnim(this, AgentAni.AnimationList[i].AnimID, 1);
}
}
}
@@ -352,8 +349,8 @@ namespace OpenSim.Region.ClientStack
break;
case PacketType.AssetUploadRequest:
AssetUploadRequestPacket request = (AssetUploadRequestPacket)Pack;
- // Console.WriteLine("upload request " + Pack.ToString());
- // Console.WriteLine("upload request was for assetid: " + request.AssetBlock.TransactionID.Combine(this.SecureSessionID).ToStringHyphenated());
+ // Console.WriteLine("upload request " + Pack.ToString());
+ // Console.WriteLine("upload request was for assetid: " + request.AssetBlock.TransactionID.Combine(this.SecureSessionID).ToStringHyphenated());
if (OnAssetUploadRequest != null)
{
OnAssetUploadRequest(this, request.AssetBlock.TransactionID.Combine(this.SecureSessionID), request.AssetBlock.TransactionID, request.AssetBlock.Type, request.AssetBlock.AssetData, request.AssetBlock.StoreLocal);
diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs
index 2341b7b..dcca31c 100644
--- a/OpenSim/Region/ClientStack/ClientView.cs
+++ b/OpenSim/Region/ClientStack/ClientView.cs
@@ -62,7 +62,6 @@ namespace OpenSim.Region.ClientStack
public LLUUID SecureSessionID = LLUUID.Zero;
public string firstName;
public string lastName;
- public bool m_child = false;
private UseCircuitCodePacket cirpack;
public Thread ClientThread;
public LLVector3 startpos;
diff --git a/OpenSim/Region/ClientStack/PacketServer.cs b/OpenSim/Region/ClientStack/PacketServer.cs
index 3b26a59..f02f105 100644
--- a/OpenSim/Region/ClientStack/PacketServer.cs
+++ b/OpenSim/Region/ClientStack/PacketServer.cs
@@ -71,53 +71,6 @@ namespace OpenSim.Region.ClientStack
m_clientManager.InPacket(circuitCode, packet);
}
- ///
- ///
- ///
- ///
- ///
- public virtual bool AddNewCircuitCodeClient(uint circuitCode)
- {
- return false;
- }
-
- ///
- ///
- ///
- ///
- public virtual void SendPacketToAllClients(Packet packet)
- {
-
- }
-
- ///
- ///
- ///
- ///
- ///
- public virtual void SendPacketToAllExcept(Packet packet, IClientAPI simClient)
- {
-
- }
-
- ///
- ///
- ///
- ///
- ///
- public virtual void AddClientPacketHandler(PacketType packetType, PacketMethod handler)
- {
-
- }
-
- ///
- ///
- ///
- public virtual void RegisterClientPacketHandlers()
- {
-
- }
-
protected virtual IClientAPI CreateNewClient(EndPoint remoteEP, UseCircuitCodePacket initialcirpack, ClientManager clientManager, IScene scene, AssetCache assetCache, PacketServer packServer, AgentCircuitManager authenSessions)
{
return new ClientView(remoteEP, initialcirpack, clientManager, scene, assetCache, packServer, authenSessions );
diff --git a/OpenSim/Region/ClientStack/UDPServer.cs b/OpenSim/Region/ClientStack/UDPServer.cs
index 6d72853..64ed4b4 100644
--- a/OpenSim/Region/ClientStack/UDPServer.cs
+++ b/OpenSim/Region/ClientStack/UDPServer.cs
@@ -133,7 +133,7 @@ namespace OpenSim.Region.ClientStack
else if (packet.Type == PacketType.UseCircuitCode)
{
// new client
- this.AddNewClient(packet);
+ AddNewClient(packet);
}
else
{ // invalid client
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index df125aa..3a45e23 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -706,7 +706,9 @@ namespace OpenSim.Region.Environment.Scenes
{
SubscribeToClientEvents(client);
m_estateManager.sendRegionHandshake(client);
+
CreateAndAddScenePresence(client, child);
+
m_LandManager.sendParcelOverlay(client);
commsManager.UserProfiles.AddNewUser(client.AgentId);
commsManager.TransactionsManager.AddUser(client.AgentId);
@@ -791,13 +793,7 @@ namespace OpenSim.Region.Environment.Scenes
MainLog.Instance.Verbose(RegionInfo.RegionName + ": Creating new root agent.");
MainLog.Instance.Verbose(RegionInfo.RegionName + ": Adding Physical agent.");
- PhysicsVector pVec =
- new PhysicsVector(newAvatar.AbsolutePosition.X, newAvatar.AbsolutePosition.Y,
- newAvatar.AbsolutePosition.Z);
- lock (m_syncRoot)
- {
- newAvatar.PhysActor = phyScene.AddAvatar(pVec);
- }
+ newAvatar.AddToPhysicalScene( );
}
lock (Entities)
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
index 64c6eaa..811c962 100644
--- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
@@ -265,17 +265,17 @@ namespace OpenSim.Region.Environment.Scenes
}
}
- ///
- ///
- ///
- ///
public void MakeAvatar(LLVector3 pos, bool isFlying)
{
- //this.childAvatar = false;
- AbsolutePosition = pos;
- _physActor.Flying = isFlying;
newAvatar = true;
childAgent = false;
+
+ AbsolutePosition = pos;
+
+ AddToPhysicalScene( );
+ _physActor.Flying = isFlying;
+
+
m_scene.SendAllSceneObjectsToClient(this);
}
@@ -283,9 +283,17 @@ namespace OpenSim.Region.Environment.Scenes
{
Velocity = new LLVector3(0, 0, 0);
childAgent = true;
+
+ RemoveFromPhysicalScene();
+
//this.Pos = new LLVector3(128, 128, 70);
}
+ private void RemoveFromPhysicalScene()
+ {
+ m_scene.phyScene.RemoveAvatar( this.PhysActor );
+ }
+
///
///
///
@@ -832,7 +840,18 @@ namespace OpenSim.Region.Environment.Scenes
public override void SetText(string text, Vector3 color, double alpha)
{
- throw new Exception("The method or operation is not implemented.");
+ throw new Exception("Can't set Text on avatar.");
+ }
+
+ public void AddToPhysicalScene( )
+ {
+ PhysicsScene scene = m_scene.phyScene;
+
+ PhysicsVector pVec =
+ new PhysicsVector(AbsolutePosition.X, AbsolutePosition.Y,
+ AbsolutePosition.Z);
+
+ _physActor = scene.AddAvatar(pVec);
}
}
}
\ No newline at end of file
--
cgit v1.1