aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Scenes')
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs10
-rw-r--r--OpenSim/Region/Environment/Scenes/ScenePresence.cs35
2 files changed, 30 insertions, 15 deletions
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
706 { 706 {
707 SubscribeToClientEvents(client); 707 SubscribeToClientEvents(client);
708 m_estateManager.sendRegionHandshake(client); 708 m_estateManager.sendRegionHandshake(client);
709
709 CreateAndAddScenePresence(client, child); 710 CreateAndAddScenePresence(client, child);
711
710 m_LandManager.sendParcelOverlay(client); 712 m_LandManager.sendParcelOverlay(client);
711 commsManager.UserProfiles.AddNewUser(client.AgentId); 713 commsManager.UserProfiles.AddNewUser(client.AgentId);
712 commsManager.TransactionsManager.AddUser(client.AgentId); 714 commsManager.TransactionsManager.AddUser(client.AgentId);
@@ -791,13 +793,7 @@ namespace OpenSim.Region.Environment.Scenes
791 MainLog.Instance.Verbose(RegionInfo.RegionName + ": Creating new root agent."); 793 MainLog.Instance.Verbose(RegionInfo.RegionName + ": Creating new root agent.");
792 MainLog.Instance.Verbose(RegionInfo.RegionName + ": Adding Physical agent."); 794 MainLog.Instance.Verbose(RegionInfo.RegionName + ": Adding Physical agent.");
793 795
794 PhysicsVector pVec = 796 newAvatar.AddToPhysicalScene( );
795 new PhysicsVector(newAvatar.AbsolutePosition.X, newAvatar.AbsolutePosition.Y,
796 newAvatar.AbsolutePosition.Z);
797 lock (m_syncRoot)
798 {
799 newAvatar.PhysActor = phyScene.AddAvatar(pVec);
800 }
801 } 797 }
802 798
803 lock (Entities) 799 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
265 } 265 }
266 } 266 }
267 267
268 /// <summary>
269 ///
270 /// </summary>
271 /// <param name="pos"></param>
272 public void MakeAvatar(LLVector3 pos, bool isFlying) 268 public void MakeAvatar(LLVector3 pos, bool isFlying)
273 { 269 {
274 //this.childAvatar = false;
275 AbsolutePosition = pos;
276 _physActor.Flying = isFlying;
277 newAvatar = true; 270 newAvatar = true;
278 childAgent = false; 271 childAgent = false;
272
273 AbsolutePosition = pos;
274
275 AddToPhysicalScene( );
276 _physActor.Flying = isFlying;
277
278
279 m_scene.SendAllSceneObjectsToClient(this); 279 m_scene.SendAllSceneObjectsToClient(this);
280 } 280 }
281 281
@@ -283,9 +283,17 @@ namespace OpenSim.Region.Environment.Scenes
283 { 283 {
284 Velocity = new LLVector3(0, 0, 0); 284 Velocity = new LLVector3(0, 0, 0);
285 childAgent = true; 285 childAgent = true;
286
287 RemoveFromPhysicalScene();
288
286 //this.Pos = new LLVector3(128, 128, 70); 289 //this.Pos = new LLVector3(128, 128, 70);
287 } 290 }
288 291
292 private void RemoveFromPhysicalScene()
293 {
294 m_scene.phyScene.RemoveAvatar( this.PhysActor );
295 }
296
289 /// <summary> 297 /// <summary>
290 /// 298 ///
291 /// </summary> 299 /// </summary>
@@ -832,7 +840,18 @@ namespace OpenSim.Region.Environment.Scenes
832 840
833 public override void SetText(string text, Vector3 color, double alpha) 841 public override void SetText(string text, Vector3 color, double alpha)
834 { 842 {
835 throw new Exception("The method or operation is not implemented."); 843 throw new Exception("Can't set Text on avatar.");
844 }
845
846 public void AddToPhysicalScene( )
847 {
848 PhysicsScene scene = m_scene.phyScene;
849
850 PhysicsVector pVec =
851 new PhysicsVector(AbsolutePosition.X, AbsolutePosition.Y,
852 AbsolutePosition.Z);
853
854 _physActor = scene.AddAvatar(pVec);
836 } 855 }
837 } 856 }
838} \ No newline at end of file 857} \ No newline at end of file