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(-) (limited to 'OpenSim/Region') 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