diff options
author | UbitUmarov | 2017-10-13 20:36:29 +0100 |
---|---|---|
committer | UbitUmarov | 2017-10-13 20:36:29 +0100 |
commit | 68e9baf2e0d4fbd50b633d9a710892011fb80c8d (patch) | |
tree | 4395f966d8508d59b86004fee7c9763178943708 /OpenSim | |
parent | Merge branch 'master' into httptests (diff) | |
parent | Merge branch 'master' of git://opensimulator.org/git/opensim (Ubit beat (diff) | |
download | opensim-SC-68e9baf2e0d4fbd50b633d9a710892011fb80c8d.zip opensim-SC-68e9baf2e0d4fbd50b633d9a710892011fb80c8d.tar.gz opensim-SC-68e9baf2e0d4fbd50b633d9a710892011fb80c8d.tar.bz2 opensim-SC-68e9baf2e0d4fbd50b633d9a710892011fb80c8d.tar.xz |
Merge branch 'master' into httptests
Diffstat (limited to '')
4 files changed, 31 insertions, 16 deletions
diff --git a/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs b/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs index 5a2a173..3d786dd 100644 --- a/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs +++ b/OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs | |||
@@ -803,12 +803,15 @@ namespace OpenSim.Region.CoreModules.World.Objects.Commands | |||
803 | else | 803 | else |
804 | so = m_scene.GetSceneObjectGroup(localId); | 804 | so = m_scene.GetSceneObjectGroup(localId); |
805 | 805 | ||
806 | if (so!= null && !so.IsAttachment) | 806 | if (so!= null) |
807 | deletes.Add(so); | 807 | { |
808 | 808 | deletes.Add(so); | |
809 | // if (deletes.Count == 0) | 809 | if(so.IsAttachment) |
810 | // m_console.OutputFormat("No objects were found with uuid {0}", match); | 810 | { |
811 | 811 | requireConfirmation = true; | |
812 | m_console.OutputFormat("Warning: object with uuid {0} is a attachment", uuid); | ||
813 | } | ||
814 | } | ||
812 | break; | 815 | break; |
813 | 816 | ||
814 | case "name": | 817 | case "name": |
@@ -904,11 +907,11 @@ namespace OpenSim.Region.CoreModules.World.Objects.Commands | |||
904 | if (useRegex) | 907 | if (useRegex) |
905 | { | 908 | { |
906 | Regex nameRegex = new Regex(name); | 909 | Regex nameRegex = new Regex(name); |
907 | searchAction = so => { if (nameRegex.IsMatch(so.Name)) { sceneObjects.Add(so); }}; | 910 | searchAction = so => { if (nameRegex.IsMatch(so.Name)) {if(!so.IsAttachment) sceneObjects.Add(so);}}; |
908 | } | 911 | } |
909 | else | 912 | else |
910 | { | 913 | { |
911 | searchAction = so => { if (so.Name == name) { sceneObjects.Add(so); }}; | 914 | searchAction = so => { if (so.Name == name) {if(!so.IsAttachment) sceneObjects.Add(so);}}; |
912 | } | 915 | } |
913 | 916 | ||
914 | m_scene.ForEachSOG(searchAction); | 917 | m_scene.ForEachSOG(searchAction); |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs index 4fef9c3..3fde5f1 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs | |||
@@ -306,14 +306,14 @@ namespace OpenSim.Region.Framework.Scenes | |||
306 | 306 | ||
307 | // If the touched prim handles touches, deliver it | 307 | // If the touched prim handles touches, deliver it |
308 | if ((part.ScriptEvents & scriptEvents.touch_start) != 0) | 308 | if ((part.ScriptEvents & scriptEvents.touch_start) != 0) |
309 | EventManager.TriggerObjectGrab(part.LocalId, 0, part.OffsetPosition, remoteClient, surfaceArg); | 309 | EventManager.TriggerObjectGrab(part.LocalId, 0, offsetPos, remoteClient, surfaceArg); |
310 | 310 | ||
311 | // Deliver to the root prim if the touched prim doesn't handle touches | 311 | // Deliver to the root prim if the touched prim doesn't handle touches |
312 | // or if we're meant to pass on touches anyway. | 312 | // or if we're meant to pass on touches anyway. |
313 | if (((part.ScriptEvents & scriptEvents.touch_start) == 0) || | 313 | if (((part.ScriptEvents & scriptEvents.touch_start) == 0) || |
314 | (part.PassTouches && (part.LocalId != obj.RootPart.LocalId))) | 314 | (part.PassTouches && (part.LocalId != obj.RootPart.LocalId))) |
315 | { | 315 | { |
316 | EventManager.TriggerObjectGrab(obj.RootPart.LocalId, part.LocalId, part.OffsetPosition, remoteClient, surfaceArg); | 316 | EventManager.TriggerObjectGrab(obj.RootPart.LocalId, part.LocalId, offsetPos, remoteClient, surfaceArg); |
317 | } | 317 | } |
318 | } | 318 | } |
319 | 319 | ||
@@ -343,15 +343,18 @@ namespace OpenSim.Region.Framework.Scenes | |||
343 | if (surfaceArgs != null && surfaceArgs.Count > 0) | 343 | if (surfaceArgs != null && surfaceArgs.Count > 0) |
344 | surfaceArg = surfaceArgs[0]; | 344 | surfaceArg = surfaceArgs[0]; |
345 | 345 | ||
346 | Vector3 grabOffset = pos - part.AbsolutePosition; | ||
346 | // If the touched prim handles touches, deliver it | 347 | // If the touched prim handles touches, deliver it |
347 | if ((part.ScriptEvents & scriptEvents.touch) != 0) | 348 | if ((part.ScriptEvents & scriptEvents.touch) != 0) |
348 | EventManager.TriggerObjectGrabbing(part.LocalId, 0, part.OffsetPosition, remoteClient, surfaceArg); | 349 | // EventManager.TriggerObjectGrabbing(part.LocalId, 0, part.OffsetPosition, remoteClient, surfaceArg); |
350 | EventManager.TriggerObjectGrabbing(part.LocalId, 0, grabOffset, remoteClient, surfaceArg); | ||
349 | // Deliver to the root prim if the touched prim doesn't handle touches | 351 | // Deliver to the root prim if the touched prim doesn't handle touches |
350 | // or if we're meant to pass on touches anyway. | 352 | // or if we're meant to pass on touches anyway. |
351 | if (((part.ScriptEvents & scriptEvents.touch) == 0) || | 353 | if (((part.ScriptEvents & scriptEvents.touch) == 0) || |
352 | (part.PassTouches && (part.LocalId != group.RootPart.LocalId))) | 354 | (part.PassTouches && (part.LocalId != group.RootPart.LocalId))) |
353 | { | 355 | { |
354 | EventManager.TriggerObjectGrabbing(group.RootPart.LocalId, part.LocalId, part.OffsetPosition, remoteClient, surfaceArg); | 356 | // EventManager.TriggerObjectGrabbing(group.RootPart.LocalId, part.LocalId, part.OffsetPosition, remoteClient, surfaceArg); |
357 | EventManager.TriggerObjectGrabbing(group.RootPart.LocalId, part.LocalId, grabOffset, remoteClient, surfaceArg); | ||
355 | } | 358 | } |
356 | } | 359 | } |
357 | 360 | ||
diff --git a/OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs b/OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs index 7faee70..d182c34 100644 --- a/OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs +++ b/OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs | |||
@@ -460,13 +460,19 @@ public sealed class BSCharacter : BSPhysObject | |||
460 | set | 460 | set |
461 | { | 461 | { |
462 | DetailLog("{0},BSCharacter.setTargetVelocity,call,vel={1}", LocalID, value); | 462 | DetailLog("{0},BSCharacter.setTargetVelocity,call,vel={1}", LocalID, value); |
463 | base.m_targetVelocity = value; | ||
464 | OMV.Vector3 targetVel = value; | 463 | OMV.Vector3 targetVel = value; |
465 | if (_setAlwaysRun && !_flying) | 464 | if (!_flying) |
466 | targetVel *= new OMV.Vector3(BSParam.AvatarAlwaysRunFactor, BSParam.AvatarAlwaysRunFactor, 1f); | 465 | { |
466 | if (_setAlwaysRun) | ||
467 | targetVel *= new OMV.Vector3(BSParam.AvatarAlwaysRunFactor, BSParam.AvatarAlwaysRunFactor, 1f); | ||
468 | else | ||
469 | if (BSParam.AvatarWalkVelocityFactor != 1f) | ||
470 | targetVel *= new OMV.Vector3(BSParam.AvatarWalkVelocityFactor, BSParam.AvatarWalkVelocityFactor, 1f); | ||
471 | } | ||
472 | base.m_targetVelocity = targetVel; | ||
467 | 473 | ||
468 | if (m_moveActor != null) | 474 | if (m_moveActor != null) |
469 | m_moveActor.SetVelocityAndTarget(RawVelocity, targetVel, false /* inTaintTime */); | 475 | m_moveActor.SetVelocityAndTarget(RawVelocity, base.m_targetVelocity, false /* inTaintTime */); |
470 | } | 476 | } |
471 | } | 477 | } |
472 | // Directly setting velocity means this is what the user really wants now. | 478 | // Directly setting velocity means this is what the user really wants now. |
diff --git a/OpenSim/Region/PhysicsModules/BulletS/BSParam.cs b/OpenSim/Region/PhysicsModules/BulletS/BSParam.cs index fcda92c..495f752 100755 --- a/OpenSim/Region/PhysicsModules/BulletS/BSParam.cs +++ b/OpenSim/Region/PhysicsModules/BulletS/BSParam.cs | |||
@@ -135,6 +135,7 @@ public static class BSParam | |||
135 | public static bool AvatarToAvatarCollisionsByDefault { get; private set; } | 135 | public static bool AvatarToAvatarCollisionsByDefault { get; private set; } |
136 | public static float AvatarFriction { get; private set; } | 136 | public static float AvatarFriction { get; private set; } |
137 | public static float AvatarStandingFriction { get; private set; } | 137 | public static float AvatarStandingFriction { get; private set; } |
138 | public static float AvatarWalkVelocityFactor { get; private set; } | ||
138 | public static float AvatarAlwaysRunFactor { get; private set; } | 139 | public static float AvatarAlwaysRunFactor { get; private set; } |
139 | public static float AvatarDensity { get; private set; } | 140 | public static float AvatarDensity { get; private set; } |
140 | public static float AvatarRestitution { get; private set; } | 141 | public static float AvatarRestitution { get; private set; } |
@@ -604,6 +605,8 @@ public static class BSParam | |||
604 | 0.2f ), | 605 | 0.2f ), |
605 | new ParameterDefn<float>("AvatarStandingFriction", "Avatar friction when standing. Changed on avatar recreation.", | 606 | new ParameterDefn<float>("AvatarStandingFriction", "Avatar friction when standing. Changed on avatar recreation.", |
606 | 0.95f ), | 607 | 0.95f ), |
608 | new ParameterDefn<float>("AvatarWalkVelocityFactor", "Speed multiplier if avatar is walking", | ||
609 | 1.0f ), | ||
607 | new ParameterDefn<float>("AvatarAlwaysRunFactor", "Speed multiplier if avatar is set to always run", | 610 | new ParameterDefn<float>("AvatarAlwaysRunFactor", "Speed multiplier if avatar is set to always run", |
608 | 1.3f ), | 611 | 1.3f ), |
609 | // For historical reasons, density is reported * 100 | 612 | // For historical reasons, density is reported * 100 |