diff options
author | Mike Rieker | 2010-05-27 21:31:10 -0400 |
---|---|---|
committer | Mike Rieker | 2010-05-27 21:31:10 -0400 |
commit | 9ea42fdfab2ac99e24b386d67a08cf0024230f54 (patch) | |
tree | fdefa445346d03ad2d73b62687ffae4e3b635ba9 /OpenSim/Region/Framework/Scenes | |
parent | fix hanging output throttle arithmetic (diff) | |
parent | Prevent a null ref (diff) | |
download | opensim-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.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 13 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneViewer.cs | 3 |
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 |