diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/CollisionSounds.cs | 6 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 9 |
2 files changed, 11 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/CollisionSounds.cs b/OpenSim/Region/Framework/Scenes/CollisionSounds.cs index a95e75a..075724e 100644 --- a/OpenSim/Region/Framework/Scenes/CollisionSounds.cs +++ b/OpenSim/Region/Framework/Scenes/CollisionSounds.cs | |||
@@ -266,9 +266,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
266 | else | 266 | else |
267 | { | 267 | { |
268 | volume = Math.Abs(colInfo.relativeVel); | 268 | volume = Math.Abs(colInfo.relativeVel); |
269 | if (volume < 0.2f) | 269 | // Most noral collisions (running into walls, stairs) |
270 | // should never be heard. | ||
271 | if (volume < 3.2f) | ||
270 | continue; | 272 | continue; |
271 | m_log.DebugFormat("Collision speed was {0}", volume); | 273 | // m_log.DebugFormat("Collision speed was {0}", volume); |
272 | 274 | ||
273 | // Cap to 0.2 times volume because climbing stairs should not be noisy | 275 | // Cap to 0.2 times volume because climbing stairs should not be noisy |
274 | // Also changed scaling | 276 | // Also changed scaling |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index e83696b..6feb883 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -1059,6 +1059,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1059 | IsChildAgent = true; | 1059 | IsChildAgent = true; |
1060 | m_scene.SwapRootAgentCount(true); | 1060 | m_scene.SwapRootAgentCount(true); |
1061 | RemoveFromPhysicalScene(); | 1061 | RemoveFromPhysicalScene(); |
1062 | ParentID = 0; // Child agents can't be sitting | ||
1062 | 1063 | ||
1063 | // FIXME: Set RegionHandle to the region handle of the scene this agent is moving into | 1064 | // FIXME: Set RegionHandle to the region handle of the scene this agent is moving into |
1064 | 1065 | ||
@@ -2102,6 +2103,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
2102 | 2103 | ||
2103 | public void HandleAgentRequestSit(IClientAPI remoteClient, UUID agentID, UUID targetID, Vector3 offset) | 2104 | public void HandleAgentRequestSit(IClientAPI remoteClient, UUID agentID, UUID targetID, Vector3 offset) |
2104 | { | 2105 | { |
2106 | if (IsChildAgent) | ||
2107 | return; | ||
2108 | |||
2105 | if (ParentID != 0) | 2109 | if (ParentID != 0) |
2106 | { | 2110 | { |
2107 | StandUp(); | 2111 | StandUp(); |
@@ -2905,8 +2909,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
2905 | 2909 | ||
2906 | // If we don't have a PhysActor, we can't cross anyway | 2910 | // If we don't have a PhysActor, we can't cross anyway |
2907 | // Also don't do this while sat, sitting avatars cross with the | 2911 | // Also don't do this while sat, sitting avatars cross with the |
2908 | // object they sit on. | 2912 | // object they sit on. ParentUUID denoted a pending sit, don't |
2909 | if (ParentID != 0 || PhysicsActor == null) | 2913 | // interfere with it. |
2914 | if (ParentID != 0 || PhysicsActor == null || ParentUUID != UUID.Zero) | ||
2910 | return; | 2915 | return; |
2911 | 2916 | ||
2912 | if (!IsInTransit) | 2917 | if (!IsInTransit) |