aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorUbitUmarov2017-10-13 20:36:29 +0100
committerUbitUmarov2017-10-13 20:36:29 +0100
commit68e9baf2e0d4fbd50b633d9a710892011fb80c8d (patch)
tree4395f966d8508d59b86004fee7c9763178943708 /OpenSim
parentMerge branch 'master' into httptests (diff)
parentMerge branch 'master' of git://opensimulator.org/git/opensim (Ubit beat (diff)
downloadopensim-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 '')
-rw-r--r--OpenSim/Region/CoreModules/World/Objects/Commands/ObjectCommandsModule.cs19
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs11
-rw-r--r--OpenSim/Region/PhysicsModules/BulletS/BSCharacter.cs14
-rwxr-xr-xOpenSim/Region/PhysicsModules/BulletS/BSParam.cs3
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