diff options
author | UbitUmarov | 2015-09-26 03:14:06 +0100 |
---|---|---|
committer | UbitUmarov | 2015-09-26 03:14:06 +0100 |
commit | 05db03e8095d2c68b7bbd1c5b02817df87364d06 (patch) | |
tree | fac023353afadb4b4919c92ae20b763ec01ecb31 | |
parent | fix object rez on terrain, i broke adding physics assistance (diff) | |
download | opensim-SC-05db03e8095d2c68b7bbd1c5b02817df87364d06.zip opensim-SC-05db03e8095d2c68b7bbd1c5b02817df87364d06.tar.gz opensim-SC-05db03e8095d2c68b7bbd1c5b02817df87364d06.tar.bz2 opensim-SC-05db03e8095d2c68b7bbd1c5b02817df87364d06.tar.xz |
fix unscripted sits without physics help
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index df1352d..ea20c36 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -3044,7 +3044,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
3044 | { | 3044 | { |
3045 | m_requestedSitTargetID = part.LocalId; | 3045 | m_requestedSitTargetID = part.LocalId; |
3046 | m_requestedSitTargetUUID = part.UUID; | 3046 | m_requestedSitTargetUUID = part.UUID; |
3047 | |||
3048 | } | 3047 | } |
3049 | else | 3048 | else |
3050 | { | 3049 | { |
@@ -3058,9 +3057,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3058 | public bool PhysicsSit(SceneObjectPart part, Vector3 offset) | 3057 | public bool PhysicsSit(SceneObjectPart part, Vector3 offset) |
3059 | { | 3058 | { |
3060 | if (part == null || part.ParentGroup.IsAttachment) | 3059 | if (part == null || part.ParentGroup.IsAttachment) |
3061 | { | ||
3062 | return true; | 3060 | return true; |
3063 | } | ||
3064 | 3061 | ||
3065 | if ( m_scene.PhysicsScene == null) | 3062 | if ( m_scene.PhysicsScene == null) |
3066 | return false; | 3063 | return false; |
@@ -3078,12 +3075,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
3078 | return true; | 3075 | return true; |
3079 | } | 3076 | } |
3080 | 3077 | ||
3081 | |||
3082 | // not doing autopilot | ||
3083 | m_requestedSitTargetID = 0; | ||
3084 | |||
3085 | if (m_scene.PhysicsScene.SitAvatar(part.PhysActor, AbsolutePosition, CameraPosition, offset, new Vector3(0.35f, 0, 0.65f), PhysicsSitResponse) != 0) | 3078 | if (m_scene.PhysicsScene.SitAvatar(part.PhysActor, AbsolutePosition, CameraPosition, offset, new Vector3(0.35f, 0, 0.65f), PhysicsSitResponse) != 0) |
3079 | { | ||
3086 | return true; | 3080 | return true; |
3081 | } | ||
3087 | 3082 | ||
3088 | return false; | 3083 | return false; |
3089 | } | 3084 | } |
@@ -3161,7 +3156,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3161 | m_pos = offset; | 3156 | m_pos = offset; |
3162 | 3157 | ||
3163 | ControllingClient.SendSitResponse( | 3158 | ControllingClient.SendSitResponse( |
3164 | part.ParentGroup.UUID, offset, Orientation, false, cameraAtOffset, cameraEyeOffset, forceMouselook); | 3159 | part.ParentGroup.UUID, offset, Orientation, true, cameraAtOffset, cameraEyeOffset, forceMouselook); |
3165 | 3160 | ||
3166 | 3161 | ||
3167 | m_requestedSitTargetID = 0; | 3162 | m_requestedSitTargetID = 0; |
@@ -4459,7 +4454,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4459 | PhysicsActor = scene.AddAvatar( | 4454 | PhysicsActor = scene.AddAvatar( |
4460 | LocalId, Firstname + "." + Lastname, pVec, | 4455 | LocalId, Firstname + "." + Lastname, pVec, |
4461 | Appearance.AvatarBoxSize,Appearance.AvatarFeetOffset, isFlying); | 4456 | Appearance.AvatarBoxSize,Appearance.AvatarFeetOffset, isFlying); |
4462 | 4457 | PhysicsActor.Orientation = m_bodyRot; | |
4463 | //PhysicsActor.OnRequestTerseUpdate += SendTerseUpdateToAllClients; | 4458 | //PhysicsActor.OnRequestTerseUpdate += SendTerseUpdateToAllClients; |
4464 | PhysicsActor.OnCollisionUpdate += PhysicsCollisionUpdate; | 4459 | PhysicsActor.OnCollisionUpdate += PhysicsCollisionUpdate; |
4465 | PhysicsActor.OnOutOfBounds += OutOfBoundsCall; // Called for PhysicsActors when there's something wrong | 4460 | PhysicsActor.OnOutOfBounds += OutOfBoundsCall; // Called for PhysicsActors when there's something wrong |