aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/ScenePresence.cs
diff options
context:
space:
mode:
authordiva2008-12-29 22:22:05 +0000
committerdiva2008-12-29 22:22:05 +0000
commita3e2e03f7b8c42011ba6b06e8d2608645371f2cb (patch)
tree8c16a02079ad14d653cd35917f8844ca5edbec80 /OpenSim/Region/Environment/Scenes/ScenePresence.cs
parentThis is a beefy commit containing the communication modules that implement Se... (diff)
downloadopensim-SC-a3e2e03f7b8c42011ba6b06e8d2608645371f2cb.zip
opensim-SC-a3e2e03f7b8c42011ba6b06e8d2608645371f2cb.tar.gz
opensim-SC-a3e2e03f7b8c42011ba6b06e8d2608645371f2cb.tar.bz2
opensim-SC-a3e2e03f7b8c42011ba6b06e8d2608645371f2cb.tar.xz
Final part for implementing SendChildAgentDataUpdate with modules. This is the part that uses the modules in Scene and related classes. This commit breaks compatibility of sim-sim SendChildAgentUpdates with older versions of OpenSim.
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/ScenePresence.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/ScenePresence.cs22
1 files changed, 13 insertions, 9 deletions
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
index 8f6872e..41971fc 100644
--- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
@@ -2326,7 +2326,11 @@ namespace OpenSim.Region.Environment.Scenes
2326 //m_log.Info("[NeighborThrottle]: " + m_scene.GetInaccurateNeighborCount().ToString() + " - m: " + multiplier.ToString()); 2326 //m_log.Info("[NeighborThrottle]: " + m_scene.GetInaccurateNeighborCount().ToString() + " - m: " + multiplier.ToString());
2327 cadu.throttles = ControllingClient.GetThrottlesPacked(multiplier); 2327 cadu.throttles = ControllingClient.GetThrottlesPacked(multiplier);
2328 cadu.Velocity = new sLLVector3(Velocity); 2328 cadu.Velocity = new sLLVector3(Velocity);
2329 m_scene.SendOutChildAgentUpdates(cadu,this); 2329
2330 AgentData agent = new AgentData();
2331 agent.CopyFrom(cadu);
2332
2333 m_scene.SendOutChildAgentUpdates(agent, this);
2330 2334
2331 m_LastChildAgentUpdatePosition.X = AbsolutePosition.X; 2335 m_LastChildAgentUpdatePosition.X = AbsolutePosition.X;
2332 m_LastChildAgentUpdatePosition.Y = AbsolutePosition.Y; 2336 m_LastChildAgentUpdatePosition.Y = AbsolutePosition.Y;
@@ -2571,7 +2575,7 @@ namespace OpenSim.Region.Environment.Scenes
2571 /// This updates important decision making data about a child agent 2575 /// This updates important decision making data about a child agent
2572 /// The main purpose is to figure out what objects to send to a child agent that's in a neighboring region 2576 /// The main purpose is to figure out what objects to send to a child agent that's in a neighboring region
2573 /// </summary> 2577 /// </summary>
2574 public void ChildAgentDataUpdate(ChildAgentDataUpdate cAgentData, uint tRegionX, uint tRegionY, uint rRegionX, uint rRegionY) 2578 public void ChildAgentDataUpdate(AgentData cAgentData, uint tRegionX, uint tRegionY, uint rRegionX, uint rRegionY)
2575 { 2579 {
2576 // 2580 //
2577 if (!IsChildAgent) 2581 if (!IsChildAgent)
@@ -2580,19 +2584,19 @@ namespace OpenSim.Region.Environment.Scenes
2580 int shiftx = ((int)rRegionX - (int)tRegionX) * (int)Constants.RegionSize; 2584 int shiftx = ((int)rRegionX - (int)tRegionX) * (int)Constants.RegionSize;
2581 int shifty = ((int)rRegionY - (int)tRegionY) * (int)Constants.RegionSize; 2585 int shifty = ((int)rRegionY - (int)tRegionY) * (int)Constants.RegionSize;
2582 2586
2583 m_DrawDistance = cAgentData.drawdistance; 2587 m_DrawDistance = cAgentData.Far;
2584 m_pos = new Vector3(cAgentData.Position.x + shiftx, cAgentData.Position.y + shifty, cAgentData.Position.z); 2588 m_pos = new Vector3(cAgentData.Position.X + shiftx, cAgentData.Position.Y + shifty, cAgentData.Position.Z);
2585 2589
2586 // It's hard to say here.. We can't really tell where the camera position is unless it's in world cordinates from the sending region 2590 // It's hard to say here.. We can't really tell where the camera position is unless it's in world cordinates from the sending region
2587 m_CameraCenter = 2591 m_CameraCenter = cAgentData.Center;
2588 new Vector3(cAgentData.cameraPosition.x, cAgentData.cameraPosition.y, cAgentData.cameraPosition.z); 2592 // new Vector3(cAgentData.cameraPosition.x, cAgentData.cameraPosition.y, cAgentData.cameraPosition.z);
2589 2593
2590 2594
2591 m_godlevel = cAgentData.godlevel; 2595 m_godlevel = cAgentData.GodLevel;
2592 m_avHeight = cAgentData.AVHeight; 2596 m_avHeight = cAgentData.Size.Z;
2593 //SetHeight(cAgentData.AVHeight); 2597 //SetHeight(cAgentData.AVHeight);
2594 2598
2595 ControllingClient.SetChildAgentThrottle(cAgentData.throttles); 2599 ControllingClient.SetChildAgentThrottle(cAgentData.Throttles);
2596 2600
2597 // Sends out the objects in the user's draw distance if m_sendTasksToChild is true. 2601 // Sends out the objects in the user's draw distance if m_sendTasksToChild is true.
2598 if (m_scene.m_seeIntoRegionFromNeighbor) 2602 if (m_scene.m_seeIntoRegionFromNeighbor)