aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorUbitUmarov2016-08-06 05:21:15 +0100
committerUbitUmarov2016-08-06 05:21:15 +0100
commitf7419ad52d5e318f90862b28eb7546712e25d96d (patch)
tree099eb234fed108c8bf93f9487d55b9a6fe71e5c7 /OpenSim/Region
parent ubOde a few changes to collisions reporting (diff)
downloadopensim-SC-f7419ad52d5e318f90862b28eb7546712e25d96d.zip
opensim-SC-f7419ad52d5e318f90862b28eb7546712e25d96d.tar.gz
opensim-SC-f7419ad52d5e318f90862b28eb7546712e25d96d.tar.bz2
opensim-SC-f7419ad52d5e318f90862b28eb7546712e25d96d.tar.xz
ubOde revert making vehicle hover height disable hover. This at least breaks current scripts. wikis say it should, but makes no sense with vehicle type parameters defaults. Hover it again only disabled with timescale >300; handle llSameGroup on attachments
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/PhysicsModules/ubOde/ODEDynamics.cs2
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs34
2 files changed, 20 insertions, 16 deletions
diff --git a/OpenSim/Region/PhysicsModules/ubOde/ODEDynamics.cs b/OpenSim/Region/PhysicsModules/ubOde/ODEDynamics.cs
index be7cfea..d8a2272 100644
--- a/OpenSim/Region/PhysicsModules/ubOde/ODEDynamics.cs
+++ b/OpenSim/Region/PhysicsModules/ubOde/ODEDynamics.cs
@@ -828,7 +828,7 @@ namespace OpenSim.Region.PhysicsModule.ubOde
828 } 828 }
829 829
830 // hover 830 // hover
831 if (m_VhoverTimescale < 300 && m_VhoverHeight >0 && rootPrim.prim_geom != IntPtr.Zero) 831 if (m_VhoverTimescale < 300 && rootPrim.prim_geom != IntPtr.Zero)
832 { 832 {
833 // d.Vector3 pos = d.BodyGetPosition(Body); 833 // d.Vector3 pos = d.BodyGetPosition(Body);
834 d.Vector3 pos = d.GeomGetPosition(rootPrim.prim_geom); 834 d.Vector3 pos = d.GeomGetPosition(rootPrim.prim_geom);
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index cf61943..ce0e59c 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -6861,9 +6861,25 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
6861 if (uuid == m_host.ParentGroup.RootPart.GroupID) 6861 if (uuid == m_host.ParentGroup.RootPart.GroupID)
6862 return new LSL_Integer(1); 6862 return new LSL_Integer(1);
6863 6863
6864 // We got passed a UUID.Zero 6864 // Handle object case
6865 if (uuid == UUID.Zero) 6865 SceneObjectPart part = World.GetSceneObjectPart(uuid);
6866 return new LSL_Integer(0); 6866 if (part != null)
6867 {
6868
6869 if(part.ParentGroup.IsAttachment)
6870 {
6871 uuid = part.ParentGroup.AttachedAvatar;
6872 }
6873 else
6874 {
6875 // This will handle both deed and non-deed and also the no
6876 // group case
6877 if (part.ParentGroup.RootPart.GroupID == m_host.ParentGroup.RootPart.GroupID)
6878 return new LSL_Integer(1);
6879
6880 return new LSL_Integer(0);
6881 }
6882 }
6867 6883
6868 // Handle the case where id names an avatar 6884 // Handle the case where id names an avatar
6869 ScenePresence presence = World.GetScenePresence(uuid); 6885 ScenePresence presence = World.GetScenePresence(uuid);
@@ -6879,18 +6895,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
6879 return new LSL_Integer(0); 6895 return new LSL_Integer(0);
6880 } 6896 }
6881 6897
6882 // Handle object case
6883 SceneObjectPart part = World.GetSceneObjectPart(uuid);
6884 if (part != null)
6885 {
6886 // This will handle both deed and non-deed and also the no
6887 // group case
6888 if (part.ParentGroup.RootPart.GroupID == m_host.ParentGroup.RootPart.GroupID)
6889 return new LSL_Integer(1);
6890
6891 return new LSL_Integer(0);
6892 }
6893
6894 return new LSL_Integer(0); 6898 return new LSL_Integer(0);
6895 } 6899 }
6896 6900