aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes
diff options
context:
space:
mode:
authorMike Rieker2010-05-27 21:31:10 -0400
committerMike Rieker2010-05-27 21:31:10 -0400
commit9ea42fdfab2ac99e24b386d67a08cf0024230f54 (patch)
treefdefa445346d03ad2d73b62687ffae4e3b635ba9 /OpenSim/Region/Framework/Scenes
parentfix hanging output throttle arithmetic (diff)
parentPrevent a null ref (diff)
downloadopensim-SC-9ea42fdfab2ac99e24b386d67a08cf0024230f54.zip
opensim-SC-9ea42fdfab2ac99e24b386d67a08cf0024230f54.tar.gz
opensim-SC-9ea42fdfab2ac99e24b386d67a08cf0024230f54.tar.bz2
opensim-SC-9ea42fdfab2ac99e24b386d67a08cf0024230f54.tar.xz
Merge branch 'careminster-presence-refactor' of www.3dhosting.de:/var/git/careminster into careminster-presence-refactor
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs2
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs13
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneViewer.cs3
3 files changed, 15 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index d174d04..683df93 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -3466,7 +3466,7 @@ namespace OpenSim.Region.Framework.Scenes
3466 /// <param name="alpha"></param> 3466 /// <param name="alpha"></param>
3467 public void SetText(string text, Vector3 color, double alpha) 3467 public void SetText(string text, Vector3 color, double alpha)
3468 { 3468 {
3469 Color = Color.FromArgb(0xff - (int) (alpha*0xff), 3469 Color = Color.FromArgb((int) (alpha*0xff),
3470 (int) (color.X*0xff), 3470 (int) (color.X*0xff),
3471 (int) (color.Y*0xff), 3471 (int) (color.Y*0xff),
3472 (int) (color.Z*0xff)); 3472 (int) (color.Z*0xff));
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index c45fc0f..d7660fd 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -140,6 +140,7 @@ namespace OpenSim.Region.Framework.Scenes
140 private Vector3? m_forceToApply; 140 private Vector3? m_forceToApply;
141 private uint m_requestedSitTargetID; 141 private uint m_requestedSitTargetID;
142 private UUID m_requestedSitTargetUUID; 142 private UUID m_requestedSitTargetUUID;
143 public bool SitGround = false;
143 144
144 private SendCourseLocationsMethod m_sendCourseLocationsMethod; 145 private SendCourseLocationsMethod m_sendCourseLocationsMethod;
145 146
@@ -1393,6 +1394,12 @@ namespace OpenSim.Region.Framework.Scenes
1393 { 1394 {
1394 m_updateCount = 0; // Kill animation update burst so that the SIT_G.. will stick. 1395 m_updateCount = 0; // Kill animation update burst so that the SIT_G.. will stick.
1395 Animator.TrySetMovementAnimation("SIT_GROUND_CONSTRAINED"); 1396 Animator.TrySetMovementAnimation("SIT_GROUND_CONSTRAINED");
1397
1398 // TODO: This doesn't prevent the user from walking yet.
1399 // Setting parent ID would fix this, if we knew what value
1400 // to use. Or we could add a m_isSitting variable.
1401 //Animator.TrySetMovementAnimation("SIT_GROUND_CONSTRAINED");
1402 SitGround = true;
1396 } 1403 }
1397 1404
1398 // In the future, these values might need to go global. 1405 // In the future, these values might need to go global.
@@ -1409,7 +1416,7 @@ namespace OpenSim.Region.Framework.Scenes
1409 1416
1410 bool update_movementflag = false; 1417 bool update_movementflag = false;
1411 1418
1412 if (m_allowMovement) 1419 if (m_allowMovement && !SitGround)
1413 { 1420 {
1414 if (agentData.UseClientAgentPosition) 1421 if (agentData.UseClientAgentPosition)
1415 { 1422 {
@@ -1637,7 +1644,7 @@ namespace OpenSim.Region.Framework.Scenes
1637 } 1644 }
1638 } 1645 }
1639 1646
1640 if (update_movementflag) 1647 if (update_movementflag && !SitGround)
1641 Animator.UpdateMovementAnimations(); 1648 Animator.UpdateMovementAnimations();
1642 1649
1643 m_scene.EventManager.TriggerOnClientMovement(this); 1650 m_scene.EventManager.TriggerOnClientMovement(this);
@@ -1748,6 +1755,8 @@ namespace OpenSim.Region.Framework.Scenes
1748 /// </summary> 1755 /// </summary>
1749 public void StandUp() 1756 public void StandUp()
1750 { 1757 {
1758 SitGround = false;
1759
1751 if (m_parentID != 0) 1760 if (m_parentID != 0)
1752 { 1761 {
1753 SceneObjectPart part = m_scene.GetSceneObjectPart(m_parentID); 1762 SceneObjectPart part = m_scene.GetSceneObjectPart(m_parentID);
diff --git a/OpenSim/Region/Framework/Scenes/SceneViewer.cs b/OpenSim/Region/Framework/Scenes/SceneViewer.cs
index 4ba4fab..2fc98e5 100644
--- a/OpenSim/Region/Framework/Scenes/SceneViewer.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneViewer.cs
@@ -84,6 +84,9 @@ namespace OpenSim.Region.Framework.Scenes
84 while (m_pendingObjects != null && m_pendingObjects.Count > 0) 84 while (m_pendingObjects != null && m_pendingObjects.Count > 0)
85 { 85 {
86 SceneObjectGroup g = m_pendingObjects.Dequeue(); 86 SceneObjectGroup g = m_pendingObjects.Dequeue();
87 // Yes, this can really happen
88 if (g == null)
89 continue;
87 90
88 // This is where we should check for draw distance 91 // This is where we should check for draw distance
89 // do culling and stuff. Problem with that is that until 92 // do culling and stuff. Problem with that is that until