aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Api/Implementation
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs54
1 files changed, 42 insertions, 12 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 7a7c8d6..f98a9bb 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -889,46 +889,76 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
889 return new LSL_Integer(parms.LinkNum); 889 return new LSL_Integer(parms.LinkNum);
890 } 890 }
891 891
892 /// <summary>
893 /// See http://wiki.secondlife.com/wiki/LlDetectedTouchBinormal for details
894 /// </summary>
892 public LSL_Vector llDetectedTouchBinormal(int index) 895 public LSL_Vector llDetectedTouchBinormal(int index)
893 { 896 {
894 m_host.AddScriptLPS(1); 897 m_host.AddScriptLPS(1);
895 NotImplemented("llDetectedTouchBinormal"); 898 DetectParams detectedParams = m_ScriptEngine.GetDetectParams(m_itemID, index);
896 return new LSL_Vector(); 899 if (detectedParams == null || detectedParams.TouchBinormal == null)
900 return new LSL_Vector();
901 return detectedParams.TouchBinormal;
897 } 902 }
898 903
904 /// <summary>
905 /// See http://wiki.secondlife.com/wiki/LlDetectedTouchFace for details
906 /// </summary>
899 public LSL_Integer llDetectedTouchFace(int index) 907 public LSL_Integer llDetectedTouchFace(int index)
900 { 908 {
901 m_host.AddScriptLPS(1); 909 m_host.AddScriptLPS(1);
902 NotImplemented("llDetectedTouchFace"); 910 DetectParams detectedParams = m_ScriptEngine.GetDetectParams(m_itemID, index);
903 return new LSL_Integer(0); 911 if (detectedParams == null || detectedParams.TouchFace == null)
912 return new LSL_Integer(-1);
913 return new LSL_Integer(detectedParams.TouchFace);
904 } 914 }
905 915
916 /// <summary>
917 /// See http://wiki.secondlife.com/wiki/LlDetectedTouchNormal for details
918 /// </summary>
906 public LSL_Vector llDetectedTouchNormal(int index) 919 public LSL_Vector llDetectedTouchNormal(int index)
907 { 920 {
908 m_host.AddScriptLPS(1); 921 m_host.AddScriptLPS(1);
909 NotImplemented("llDetectedTouchNormal"); 922 DetectParams detectedParams = m_ScriptEngine.GetDetectParams(m_itemID, index);
910 return new LSL_Vector(); 923 if (detectedParams == null || detectedParams.TouchNormal == null)
924 return new LSL_Vector();
925 return detectedParams.TouchNormal;
911 } 926 }
912 927
928 /// <summary>
929 /// See http://wiki.secondlife.com/wiki/LlDetectedTouchPos for details
930 /// </summary>
913 public LSL_Vector llDetectedTouchPos(int index) 931 public LSL_Vector llDetectedTouchPos(int index)
914 { 932 {
915 m_host.AddScriptLPS(1); 933 m_host.AddScriptLPS(1);
916 NotImplemented("llDetectedTouchPos"); 934 DetectParams detectedParams = m_ScriptEngine.GetDetectParams(m_itemID, index);
917 return new LSL_Vector(); 935 if (detectedParams == null || detectedParams.TouchPos == null)
936 return new LSL_Vector();
937 return detectedParams.TouchPos;
918 } 938 }
919 939
940 /// <summary>
941 /// See http://wiki.secondlife.com/wiki/LlDetectedTouchST for details
942 /// </summary>
920 public LSL_Vector llDetectedTouchST(int index) 943 public LSL_Vector llDetectedTouchST(int index)
921 { 944 {
922 m_host.AddScriptLPS(1); 945 m_host.AddScriptLPS(1);
923 NotImplemented("llDetectedTouchST"); 946 DetectParams detectedParams = m_ScriptEngine.GetDetectParams(m_itemID, index);
924 return new LSL_Vector(); 947 if (detectedParams == null || detectedParams.TouchST == null)
948 return new LSL_Vector(-1.0, -1.0, 0.0);
949 return detectedParams.TouchST;
925 } 950 }
926 951
952 /// <summary>
953 /// See http://wiki.secondlife.com/wiki/LlDetectedTouchUV for details
954 /// </summary>
927 public LSL_Vector llDetectedTouchUV(int index) 955 public LSL_Vector llDetectedTouchUV(int index)
928 { 956 {
929 m_host.AddScriptLPS(1); 957 m_host.AddScriptLPS(1);
930 NotImplemented("llDetectedTouchUV"); 958 DetectParams detectedParams = m_ScriptEngine.GetDetectParams(m_itemID, index);
931 return new LSL_Vector(); 959 if (detectedParams == null || detectedParams.TouchUV == null)
960 return new LSL_Vector(-1.0, -1.0, 0.0);
961 return detectedParams.TouchUV;
932 } 962 }
933 963
934 public void llDie() 964 public void llDie()