aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorCharles Krinke2008-03-08 22:26:25 +0000
committerCharles Krinke2008-03-08 22:26:25 +0000
commitff75ba99a9ae10eacf7707137eb47d72b00117e3 (patch)
treeade39a7ee6b3982f3526d2770e5829390005c667 /OpenSim/Region
parentAdded new drawing command "PenColour", with format "PenColour <colourname>;" ... (diff)
downloadopensim-SC-ff75ba99a9ae10eacf7707137eb47d72b00117e3.zip
opensim-SC-ff75ba99a9ae10eacf7707137eb47d72b00117e3.tar.gz
opensim-SC-ff75ba99a9ae10eacf7707137eb47d72b00117e3.tar.bz2
opensim-SC-ff75ba99a9ae10eacf7707137eb47d72b00117e3.tar.xz
Thank you very much, Ldviopeng for :
Patch to implement the following LSL functions: llGetObjectPermMask() llSetObjectPermMask()
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs57
1 files changed, 54 insertions, 3 deletions
diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
index 93de3b4..1434f8a 100644
--- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
+++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
@@ -3722,14 +3722,65 @@ namespace OpenSim.Region.ScriptEngine.Common
3722 public int llGetObjectPermMask(int mask) 3722 public int llGetObjectPermMask(int mask)
3723 { 3723 {
3724 m_host.AddScriptLPS(1); 3724 m_host.AddScriptLPS(1);
3725 NotImplemented("llGetObjectPermMask"); 3725
3726 return 0; 3726 int permmask = 0;
3727
3728 if (mask == BuiltIn_Commands_BaseClass.MASK_BASE)//0
3729 {
3730 permmask = (int)m_host.BaseMask;
3731 }
3732
3733 else if (mask == BuiltIn_Commands_BaseClass.MASK_OWNER)//1
3734 {
3735 permmask = (int)m_host.OwnerMask;
3736 }
3737
3738 else if (mask == BuiltIn_Commands_BaseClass.MASK_GROUP)//2
3739 {
3740 permmask = (int)m_host.GroupMask;
3741 }
3742
3743 else if (mask == BuiltIn_Commands_BaseClass.MASK_EVERYONE)//3
3744 {
3745 permmask = (int)m_host.EveryoneMask;
3746 }
3747
3748 else if (mask == BuiltIn_Commands_BaseClass.MASK_NEXT)//4
3749 {
3750 permmask = (int)m_host.NextOwnerMask;
3751 }
3752
3753 return permmask;
3727 } 3754 }
3728 3755
3729 public void llSetObjectPermMask(int mask, int value) 3756 public void llSetObjectPermMask(int mask, int value)
3730 { 3757 {
3731 m_host.AddScriptLPS(1); 3758 m_host.AddScriptLPS(1);
3732 NotImplemented("llSetObjectPermMask"); 3759
3760 if (mask == BuiltIn_Commands_BaseClass.MASK_BASE)//0
3761 {
3762 m_host.BaseMask = (uint)value;
3763 }
3764
3765 else if (mask == BuiltIn_Commands_BaseClass.MASK_OWNER)//1
3766 {
3767 m_host.OwnerMask = (uint)value;
3768 }
3769
3770 else if (mask == BuiltIn_Commands_BaseClass.MASK_GROUP)//2
3771 {
3772 m_host.GroupMask = (uint)value;
3773 }
3774
3775 else if (mask == BuiltIn_Commands_BaseClass.MASK_EVERYONE)//3
3776 {
3777 m_host.EveryoneMask = (uint)value;
3778 }
3779
3780 else if (mask == BuiltIn_Commands_BaseClass.MASK_NEXT)//4
3781 {
3782 m_host.NextOwnerMask = (uint)value;
3783 }
3733 } 3784 }
3734 3785
3735 public void llGetInventoryPermMask(string item, int mask) 3786 public void llGetInventoryPermMask(string item, int mask)