diff options
3 files changed, 36 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index be030af..acf4d8c 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -6637,6 +6637,36 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6637 | m_host.SetCameraAtOffset(offset); | 6637 | m_host.SetCameraAtOffset(offset); |
6638 | } | 6638 | } |
6639 | 6639 | ||
6640 | public void llSetLinkCamera(LSL_Integer link, LSL_Vector eye, LSL_Vector at) | ||
6641 | { | ||
6642 | m_host.AddScriptLPS(1); | ||
6643 | |||
6644 | if (link == ScriptBaseClass.LINK_SET || | ||
6645 | link == ScriptBaseClass.LINK_ALL_CHILDREN || | ||
6646 | link == ScriptBaseClass.LINK_ALL_OTHERS) return; | ||
6647 | |||
6648 | SceneObjectPart part = null; | ||
6649 | |||
6650 | switch (link) | ||
6651 | { | ||
6652 | case ScriptBaseClass.LINK_ROOT: | ||
6653 | part = m_host.ParentGroup.RootPart; | ||
6654 | break; | ||
6655 | case ScriptBaseClass.LINK_THIS: | ||
6656 | part = m_host; | ||
6657 | break; | ||
6658 | default: | ||
6659 | part = m_host.ParentGroup.GetLinkNumPart(link); | ||
6660 | break; | ||
6661 | } | ||
6662 | |||
6663 | if (null != part) | ||
6664 | { | ||
6665 | part.SetCameraEyeOffset(eye); | ||
6666 | part.SetCameraAtOffset(at); | ||
6667 | } | ||
6668 | } | ||
6669 | |||
6640 | public LSL_String llDumpList2String(LSL_List src, string seperator) | 6670 | public LSL_String llDumpList2String(LSL_List src, string seperator) |
6641 | { | 6671 | { |
6642 | m_host.AddScriptLPS(1); | 6672 | m_host.AddScriptLPS(1); |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs index e97ff9d..98f8be7 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs | |||
@@ -333,6 +333,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces | |||
333 | void llSetBuoyancy(double buoyancy); | 333 | void llSetBuoyancy(double buoyancy); |
334 | void llSetCameraAtOffset(LSL_Vector offset); | 334 | void llSetCameraAtOffset(LSL_Vector offset); |
335 | void llSetCameraEyeOffset(LSL_Vector offset); | 335 | void llSetCameraEyeOffset(LSL_Vector offset); |
336 | void llSetLinkCamera(LSL_Integer link, LSL_Vector eye, LSL_Vector at); | ||
336 | void llSetCameraParams(LSL_List rules); | 337 | void llSetCameraParams(LSL_List rules); |
337 | void llSetClickAction(int action); | 338 | void llSetClickAction(int action); |
338 | void llSetColor(LSL_Vector color, int face); | 339 | void llSetColor(LSL_Vector color, int face); |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs index c457880..36803a4 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Stub.cs | |||
@@ -1498,6 +1498,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase | |||
1498 | m_LSL_Functions.llSetCameraEyeOffset(offset); | 1498 | m_LSL_Functions.llSetCameraEyeOffset(offset); |
1499 | } | 1499 | } |
1500 | 1500 | ||
1501 | public void llSetLinkCamera(LSL_Integer link, LSL_Vector eye, LSL_Vector at) | ||
1502 | { | ||
1503 | m_LSL_Functions.llSetLinkCamera(link, eye, at); | ||
1504 | } | ||
1505 | |||
1501 | public void llSetCameraParams(LSL_List rules) | 1506 | public void llSetCameraParams(LSL_List rules) |
1502 | { | 1507 | { |
1503 | m_LSL_Functions.llSetCameraParams(rules); | 1508 | m_LSL_Functions.llSetCameraParams(rules); |