aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/ScenePresence.cs
diff options
context:
space:
mode:
authorTeravus Ovares2007-11-21 02:17:24 +0000
committerTeravus Ovares2007-11-21 02:17:24 +0000
commit7cb38712d5ad6781e672e4f1c8500ecd88d85f3e (patch)
tree5203c9901fdbba5ec8d9a21880d7895f593af540 /OpenSim/Region/Environment/Scenes/ScenePresence.cs
parentfix for mantis #2 from Justin Casey (IBM) (diff)
downloadopensim-SC_OLD-7cb38712d5ad6781e672e4f1c8500ecd88d85f3e.zip
opensim-SC_OLD-7cb38712d5ad6781e672e4f1c8500ecd88d85f3e.tar.gz
opensim-SC_OLD-7cb38712d5ad6781e672e4f1c8500ecd88d85f3e.tar.bz2
opensim-SC_OLD-7cb38712d5ad6781e672e4f1c8500ecd88d85f3e.tar.xz
* Did some initial work for prim crossing. Just glue so far.
* Added the child_get_tasks OpenSim.ini flag for testing the UDP packet sending code and packet throttler. This flag gets purposely disabled in grid mode. This flag also has the consequence that you can see the prim in neighboring regions without going into them. Be warned, this causes tons of dropped packets.
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/ScenePresence.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/ScenePresence.cs25
1 files changed, 21 insertions, 4 deletions
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
index ea8d5c4..be21748 100644
--- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
@@ -69,6 +69,7 @@ namespace OpenSim.Region.Environment.Scenes
69 private bool m_newForce = false; 69 private bool m_newForce = false;
70 private bool m_newAvatar = false; 70 private bool m_newAvatar = false;
71 private bool m_newCoarseLocations = true; 71 private bool m_newCoarseLocations = true;
72 private bool m_gotAllObjectsInScene = false;
72 private float m_avHeight = 127.0f; 73 private float m_avHeight = 127.0f;
73 74
74 protected RegionInfo m_regionInfo; 75 protected RegionInfo m_regionInfo;
@@ -327,7 +328,14 @@ namespace OpenSim.Region.Environment.Scenes
327 // this.UpdateQuadTreeNode(); 328 // this.UpdateQuadTreeNode();
328 //this.RefreshQuadObject(); 329 //this.RefreshQuadObject();
329 //} 330 //}
330 331 if (!m_gotAllObjectsInScene)
332 {
333 if (!m_isChildAgent || m_scene.m_sendTasksToChild)
334 {
335 m_scene.SendAllSceneObjectsToClient(this);
336 m_gotAllObjectsInScene = true;
337 }
338 }
331 if (m_partsUpdateQueue.Count > 0) 339 if (m_partsUpdateQueue.Count > 0)
332 { 340 {
333 bool runUpdate = true; 341 bool runUpdate = true;
@@ -400,7 +408,12 @@ namespace OpenSim.Region.Environment.Scenes
400 AddToPhysicalScene(); 408 AddToPhysicalScene();
401 m_physicsActor.Flying = isFlying; 409 m_physicsActor.Flying = isFlying;
402 410
403 m_scene.SendAllSceneObjectsToClient(this); 411 if (!m_gotAllObjectsInScene)
412 {
413 m_scene.SendAllSceneObjectsToClient(this);
414 m_gotAllObjectsInScene = true;
415 }
416
404 } 417 }
405 418
406 public void MakeChildAgent() 419 public void MakeChildAgent()
@@ -409,7 +422,7 @@ namespace OpenSim.Region.Environment.Scenes
409 m_isChildAgent = true; 422 m_isChildAgent = true;
410 423
411 RemoveFromPhysicalScene(); 424 RemoveFromPhysicalScene();
412 425
413 //this.Pos = new LLVector3(128, 128, 70); 426 //this.Pos = new LLVector3(128, 128, 70);
414 } 427 }
415 428
@@ -952,7 +965,7 @@ namespace OpenSim.Region.Environment.Scenes
952 SendFullUpdateToOtherClient(avatar); 965 SendFullUpdateToOtherClient(avatar);
953 if (avatar.LocalId != LocalId) 966 if (avatar.LocalId != LocalId)
954 { 967 {
955 if (!avatar.m_isChildAgent) 968 if (!avatar.m_isChildAgent || m_scene.m_sendTasksToChild)
956 { 969 {
957 avatar.SendFullUpdateToOtherClient(this); 970 avatar.SendFullUpdateToOtherClient(this);
958 avatar.SendAppearanceToOtherAgent(this); 971 avatar.SendAppearanceToOtherAgent(this);
@@ -985,7 +998,11 @@ namespace OpenSim.Region.Environment.Scenes
985 public void SendOwnAppearance( ) 998 public void SendOwnAppearance( )
986 { 999 {
987 SendOwnWearables( ); 1000 SendOwnWearables( );
1001
1002 //Ugly hack x.x - Trap set appearence to send all objects in this scene!
1003
988 m_scene.SendAllSceneObjectsToClient(this); 1004 m_scene.SendAllSceneObjectsToClient(this);
1005 m_gotAllObjectsInScene = true;
989 // TODO: remove this once the SunModule is slightly more tested 1006 // TODO: remove this once the SunModule is slightly more tested
990 // m_controllingClient.SendViewerTime(m_scene.TimePhase); 1007 // m_controllingClient.SendViewerTime(m_scene.TimePhase);
991 } 1008 }