diff options
4 files changed, 37 insertions, 16 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 618f425..7bf0a99 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -2865,22 +2865,28 @@ namespace OpenSim.Region.Framework.Scenes | |||
2865 | { | 2865 | { |
2866 | lock (m_syncRoot) | 2866 | lock (m_syncRoot) |
2867 | { | 2867 | { |
2868 | if (m_physicsActor != null) | 2868 | // MT: Commented this because it's no longer needed. |
2869 | { | 2869 | // It used to be that the avatar height was calculated from the visual |
2870 | if (!IsChildAgent) | 2870 | // params, so any call to this method could change the physical actor's |
2871 | { | 2871 | // height. Now the height is supplied in the agent circuit data and never |
2872 | // This may seem like it's redundant, remove the avatar from the physics scene | 2872 | // changes here. So, we can leave physics alone. |
2873 | // just to add it back again, but it saves us from having to update | 2873 | // |
2874 | // 3 variables 10 times a second. | 2874 | // if (m_physicsActor != null) |
2875 | bool flyingTemp = m_physicsActor.Flying; | 2875 | // { |
2876 | RemoveFromPhysicalScene(); | 2876 | // if (!IsChildAgent) |
2877 | //m_scene.PhysicsScene.RemoveAvatar(m_physicsActor); | 2877 | // { |
2878 | 2878 | // // This may seem like it's redundant, remove the avatar from the physics scene | |
2879 | //PhysicsActor = null; | 2879 | // // just to add it back again, but it saves us from having to update |
2880 | 2880 | // // 3 variables 10 times a second. | |
2881 | AddToPhysicalScene(flyingTemp); | 2881 | // bool flyingTemp = m_physicsActor.Flying; |
2882 | } | 2882 | // RemoveFromPhysicalScene(); |
2883 | } | 2883 | // //m_scene.PhysicsScene.RemoveAvatar(m_physicsActor); |
2884 | // | ||
2885 | // //PhysicsActor = null; | ||
2886 | // | ||
2887 | // AddToPhysicalScene(flyingTemp); | ||
2888 | // } | ||
2889 | // } | ||
2884 | 2890 | ||
2885 | #region Bake Cache Check | 2891 | #region Bake Cache Check |
2886 | 2892 | ||
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 1b11f2c..2527757 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -10777,6 +10777,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
10777 | 10777 | ||
10778 | return GetLinkPrimitiveParams(obj, rules); | 10778 | return GetLinkPrimitiveParams(obj, rules); |
10779 | } | 10779 | } |
10780 | |||
10781 | public LSL_Integer llGetLinkNumberOfSides(LSL_Integer link) | ||
10782 | { | ||
10783 | List<SceneObjectPart> parts = GetLinkParts(link); | ||
10784 | if (parts.Count < 1) | ||
10785 | return 0; | ||
10786 | |||
10787 | return GetNumberOfSides(parts[0]); | ||
10788 | } | ||
10780 | } | 10789 | } |
10781 | 10790 | ||
10782 | public class NotecardCache | 10791 | public class NotecardCache |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs index 561e3b3..bae7d4b 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs | |||
@@ -398,6 +398,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces | |||
398 | LSL_Vector llWind(LSL_Vector offset); | 398 | LSL_Vector llWind(LSL_Vector offset); |
399 | LSL_String llXorBase64Strings(string str1, string str2); | 399 | LSL_String llXorBase64Strings(string str1, string str2); |
400 | LSL_String llXorBase64StringsCorrect(string str1, string str2); | 400 | LSL_String llXorBase64StringsCorrect(string str1, string str2); |
401 | LSL_Integer llGetLinkNumberOfSides(LSL_Integer link); | ||
401 | 402 | ||
402 | void SetPrimitiveParamsEx(LSL_Key prim, LSL_List rules); | 403 | void SetPrimitiveParamsEx(LSL_Key prim, LSL_List rules); |
403 | LSL_List GetLinkPrimitiveParamsEx(LSL_Key prim, LSL_List rules); | 404 | LSL_List GetLinkPrimitiveParamsEx(LSL_Key prim, LSL_List rules); |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs index f14967e..7c26824 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs | |||
@@ -1849,5 +1849,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase | |||
1849 | { | 1849 | { |
1850 | return m_LSL_Functions.llClearPrimMedia(face); | 1850 | return m_LSL_Functions.llClearPrimMedia(face); |
1851 | } | 1851 | } |
1852 | |||
1853 | public LSL_Integer llGetLinkNumberOfSides(LSL_Integer link) | ||
1854 | { | ||
1855 | return m_LSL_Functions.llGetLinkNumberOfSides(link); | ||
1856 | } | ||
1852 | } | 1857 | } |
1853 | } | 1858 | } |