aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine
diff options
context:
space:
mode:
authorMelanie Thielker2008-09-26 15:34:23 +0000
committerMelanie Thielker2008-09-26 15:34:23 +0000
commit12a6b7c835cae71e87352a48087c253e8c147c38 (patch)
tree52b9d26b7cb62e0b1ae1a6a6f5db42dabe511899 /OpenSim/Region/ScriptEngine
parent* minor: fix lolbug in RestInventoryService spotted by jhurliman (diff)
downloadopensim-SC_OLD-12a6b7c835cae71e87352a48087c253e8c147c38.zip
opensim-SC_OLD-12a6b7c835cae71e87352a48087c253e8c147c38.tar.gz
opensim-SC_OLD-12a6b7c835cae71e87352a48087c253e8c147c38.tar.bz2
opensim-SC_OLD-12a6b7c835cae71e87352a48087c253e8c147c38.tar.xz
Yay! Common/ is gone! One API is achieved!
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r--OpenSim/Region/ScriptEngine/Common/Executor.cs128
-rw-r--r--OpenSim/Region/ScriptEngine/Common/ExecutorBase.cs213
-rw-r--r--OpenSim/Region/ScriptEngine/Common/IScript.cs38
-rw-r--r--OpenSim/Region/ScriptEngine/Common/Properties/AssemblyInfo.cs63
-rw-r--r--OpenSim/Region/ScriptEngine/Common/ScriptBaseClass.cs2474
-rw-r--r--OpenSim/Region/ScriptEngine/DotNetEngine/AppDomainManager.cs3
-rw-r--r--OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs41
-rw-r--r--OpenSim/Region/ScriptEngine/DotNetEngine/ScriptEngine.cs2
-rw-r--r--OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs9
9 files changed, 22 insertions, 2949 deletions
diff --git a/OpenSim/Region/ScriptEngine/Common/Executor.cs b/OpenSim/Region/ScriptEngine/Common/Executor.cs
deleted file mode 100644
index 792004a..0000000
--- a/OpenSim/Region/ScriptEngine/Common/Executor.cs
+++ /dev/null
@@ -1,128 +0,0 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSim Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using System;
29using System.Collections.Generic;
30using System.Reflection;
31
32namespace OpenSim.Region.ScriptEngine.Common
33{
34 public class Executor : ExecutorBase
35 {
36 // Cache functions by keeping a reference to them in a dictionary
37 private Dictionary<string, MethodInfo> Events = new Dictionary<string, MethodInfo>();
38 private Dictionary<string, scriptEvents> m_stateEvents = new Dictionary<string, scriptEvents>();
39
40 public Executor(IScript script) : base(script)
41 {
42 initEventFlags();
43 }
44
45
46 protected override scriptEvents DoGetStateEventFlags(string state)
47 {
48 // Console.WriteLine("Get event flags for " + state);
49
50 // Check to see if we've already computed the flags for this state
51 scriptEvents eventFlags = scriptEvents.None;
52 if (m_stateEvents.ContainsKey(state))
53 {
54 m_stateEvents.TryGetValue(state, out eventFlags);
55 return eventFlags;
56 }
57
58 // Fill in the events for this state, cache the results in the map
59 foreach (KeyValuePair<string, scriptEvents> kvp in m_eventFlagsMap)
60 {
61 string evname = state + "_event_" + kvp.Key;
62 Type type = m_Script.GetType();
63 try
64 {
65 MethodInfo mi = type.GetMethod(evname);
66 if (mi != null)
67 {
68 // Console.WriteLine("Found handler for " + kvp.Key);
69 eventFlags |= kvp.Value;
70 }
71 }
72 catch
73 {
74 }
75 }
76
77 // Save the flags we just computed and return the result
78 m_stateEvents.Add(state, eventFlags);
79 return (eventFlags);
80 }
81
82 protected override void DoExecuteEvent(string state, string FunctionName, object[] args)
83 {
84 // IMPORTANT: Types and MemberInfo-derived objects require a LOT of memory.
85 // Instead use RuntimeTypeHandle, RuntimeFieldHandle and RunTimeHandle (IntPtr) instead!
86
87 string EventName = state + "_event_" + FunctionName;
88
89//#if DEBUG
90// Console.WriteLine("ScriptEngine: Script event function name: " + EventName);
91//#endif
92
93 if (Events.ContainsKey(EventName) == false)
94 {
95 // Not found, create
96 Type type = m_Script.GetType();
97 try
98 {
99 MethodInfo mi = type.GetMethod(EventName);
100 Events.Add(EventName, mi);
101 }
102 catch
103 {
104 // Event name not found, cache it as not found
105 Events.Add(EventName, null);
106 }
107 }
108
109 // Get event
110 MethodInfo ev = null;
111 Events.TryGetValue(EventName, out ev);
112
113 if (ev == null) // No event by that name!
114 {
115 //Console.WriteLine("ScriptEngine Can not find any event named: \String.Empty + EventName + "\String.Empty);
116 return;
117 }
118
119//cfk 2-7-08 dont need this right now and the default Linux build has DEBUG defined
120#if DEBUG
121 //Console.WriteLine("ScriptEngine: Executing function name: " + EventName);
122#endif
123 // Found
124 ev.Invoke(m_Script, args);
125
126 }
127 }
128}
diff --git a/OpenSim/Region/ScriptEngine/Common/ExecutorBase.cs b/OpenSim/Region/ScriptEngine/Common/ExecutorBase.cs
deleted file mode 100644
index eba88f3..0000000
--- a/OpenSim/Region/ScriptEngine/Common/ExecutorBase.cs
+++ /dev/null
@@ -1,213 +0,0 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSim Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using System;
29using System.Collections.Generic;
30using System.Runtime.Remoting.Lifetime;
31
32namespace OpenSim.Region.ScriptEngine.Common
33{
34 public abstract class ExecutorBase : MarshalByRefObject
35 {
36 /// <summary>
37 /// Contains the script to execute functions in.
38 /// </summary>
39 protected IScript m_Script;
40 /// <summary>
41 /// If set to False events will not be executed.
42 /// </summary>
43 protected bool m_Running = true;
44 /// <summary>
45 /// True indicates that the ScriptManager has stopped
46 /// this script. This prevents a script that has been
47 /// stopped as part of deactivation from being
48 /// resumed by a pending llSetScriptState request.
49 /// </summary>
50 protected bool m_Disable = false;
51
52 /// <summary>
53 /// Indicate the scripts current running status.
54 /// </summary>
55 public bool Running
56 {
57 get { return m_Running; }
58 set
59 {
60 if (!m_Disable)
61 m_Running = value;
62 }
63 }
64
65 protected Dictionary<string, scriptEvents> m_eventFlagsMap = new Dictionary<string, scriptEvents>();
66
67 [Flags]
68 public enum scriptEvents : int
69 {
70 None = 0,
71 attach = 1,
72 collision = 16,
73 collision_end = 32,
74 collision_start = 64,
75 control = 128,
76 dataserver = 256,
77 email = 512,
78 http_response = 1024,
79 land_collision = 2048,
80 land_collision_end = 4096,
81 land_collision_start = 8192,
82 at_target = 16384,
83 listen = 32768,
84 money = 65536,
85 moving_end = 131072,
86 moving_start = 262144,
87 not_at_rot_target = 524288,
88 not_at_target = 1048576,
89 remote_data = 8388608,
90 run_time_permissions = 268435456,
91 state_entry = 1073741824,
92 state_exit = 2,
93 timer = 4,
94 touch = 8,
95 touch_end = 536870912,
96 touch_start = 2097152,
97 object_rez = 4194304
98 }
99
100 /// <summary>
101 /// Create a new instance of ExecutorBase
102 /// </summary>
103 /// <param name="Script"></param>
104 public ExecutorBase(IScript Script)
105 {
106 m_Script = Script;
107 initEventFlags();
108 }
109
110 /// <summary>
111 /// Make sure our object does not timeout when in AppDomain. (Called by ILease base class)
112 /// </summary>
113 /// <returns></returns>
114 public override Object InitializeLifetimeService()
115 {
116 //Console.WriteLine("Executor: InitializeLifetimeService()");
117 // return null;
118 ILease lease = (ILease)base.InitializeLifetimeService();
119
120 if (lease.CurrentState == LeaseState.Initial)
121 {
122 lease.InitialLeaseTime = TimeSpan.Zero; // TimeSpan.FromMinutes(1);
123 // lease.SponsorshipTimeout = TimeSpan.FromMinutes(2);
124 // lease.RenewOnCallTime = TimeSpan.FromSeconds(2);
125 }
126 return lease;
127 }
128
129 /// <summary>
130 /// Get current AppDomain
131 /// </summary>
132 /// <returns>Current AppDomain</returns>
133 public AppDomain GetAppDomain()
134 {
135 return AppDomain.CurrentDomain;
136 }
137
138 /// <summary>
139 /// Execute a specific function/event in script.
140 /// </summary>
141 /// <param name="FunctionName">Name of function to execute</param>
142 /// <param name="args">Arguments to pass to function</param>
143 public void ExecuteEvent(string state, string FunctionName, object[] args)
144 {
145 DoExecuteEvent(state, FunctionName, args);
146 }
147
148 protected abstract void DoExecuteEvent(string state, string FunctionName, object[] args);
149
150 /// <summary>
151 /// Compute the events handled by the current state of the script
152 /// </summary>
153 /// <returns>state mask</returns>
154 public scriptEvents GetStateEventFlags(string state)
155 {
156 return DoGetStateEventFlags(state);
157 }
158
159 protected abstract scriptEvents DoGetStateEventFlags(string state);
160
161 /// <summary>
162 /// Stop script from running. Event execution will be ignored.
163 /// </summary>
164 public void StopScript()
165 {
166 m_Running = false;
167 m_Disable = true;
168 }
169
170 protected void initEventFlags()
171 {
172 // Initialize the table if it hasn't already been done
173 if (m_eventFlagsMap.Count > 0)
174 {
175 return;
176 }
177
178 m_eventFlagsMap.Add("attach", scriptEvents.attach);
179 // m_eventFlagsMap.Add("at_rot_target",(long)scriptEvents.at_rot_target);
180 m_eventFlagsMap.Add("at_target", scriptEvents.at_target);
181 // m_eventFlagsMap.Add("changed",(long)scriptEvents.changed);
182 m_eventFlagsMap.Add("collision", scriptEvents.collision);
183 m_eventFlagsMap.Add("collision_end", scriptEvents.collision_end);
184 m_eventFlagsMap.Add("collision_start", scriptEvents.collision_start);
185 m_eventFlagsMap.Add("control", scriptEvents.control);
186 m_eventFlagsMap.Add("dataserver", scriptEvents.dataserver);
187 m_eventFlagsMap.Add("email", scriptEvents.email);
188 m_eventFlagsMap.Add("http_response", scriptEvents.http_response);
189 m_eventFlagsMap.Add("land_collision", scriptEvents.land_collision);
190 m_eventFlagsMap.Add("land_collision_end", scriptEvents.land_collision_end);
191 m_eventFlagsMap.Add("land_collision_start", scriptEvents.land_collision_start);
192 // m_eventFlagsMap.Add("link_message",scriptEvents.link_message);
193 m_eventFlagsMap.Add("listen", scriptEvents.listen);
194 m_eventFlagsMap.Add("money", scriptEvents.money);
195 m_eventFlagsMap.Add("moving_end", scriptEvents.moving_end);
196 m_eventFlagsMap.Add("moving_start", scriptEvents.moving_start);
197 m_eventFlagsMap.Add("not_at_rot_target", scriptEvents.not_at_rot_target);
198 m_eventFlagsMap.Add("not_at_target", scriptEvents.not_at_target);
199 // m_eventFlagsMap.Add("no_sensor",(long)scriptEvents.no_sensor);
200 // m_eventFlagsMap.Add("on_rez",(long)scriptEvents.on_rez);
201 m_eventFlagsMap.Add("remote_data", scriptEvents.remote_data);
202 m_eventFlagsMap.Add("run_time_permissions", scriptEvents.run_time_permissions);
203 // m_eventFlagsMap.Add("sensor",(long)scriptEvents.sensor);
204 m_eventFlagsMap.Add("state_entry", scriptEvents.state_entry);
205 m_eventFlagsMap.Add("state_exit", scriptEvents.state_exit);
206 m_eventFlagsMap.Add("timer", scriptEvents.timer);
207 m_eventFlagsMap.Add("touch", scriptEvents.touch);
208 m_eventFlagsMap.Add("touch_end", scriptEvents.touch_end);
209 m_eventFlagsMap.Add("touch_start", scriptEvents.touch_start);
210 m_eventFlagsMap.Add("object_rez", scriptEvents.object_rez);
211 }
212 }
213}
diff --git a/OpenSim/Region/ScriptEngine/Common/IScript.cs b/OpenSim/Region/ScriptEngine/Common/IScript.cs
deleted file mode 100644
index edd8236..0000000
--- a/OpenSim/Region/ScriptEngine/Common/IScript.cs
+++ /dev/null
@@ -1,38 +0,0 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSim Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using OpenSim.Region.ScriptEngine.Shared;
29using OpenSim.Region.ScriptEngine.Interfaces;
30
31namespace OpenSim.Region.ScriptEngine.Common
32{
33 public interface IScript
34 {
35 ExecutorBase Exec { get; }
36 void InitApi(string api, IScriptApi LSL_Functions);
37 }
38}
diff --git a/OpenSim/Region/ScriptEngine/Common/Properties/AssemblyInfo.cs b/OpenSim/Region/ScriptEngine/Common/Properties/AssemblyInfo.cs
deleted file mode 100644
index 335d1a0..0000000
--- a/OpenSim/Region/ScriptEngine/Common/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,63 +0,0 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSim Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using System.Reflection;
29using System.Runtime.InteropServices;
30
31// General information about an assembly is controlled through the following
32// set of attributes. Change these attribute values to modify the information
33// associated with an assembly.
34
35[assembly : AssemblyTitle("OpenSim.Region.ScriptEngine.Common")]
36[assembly : AssemblyDescription("")]
37[assembly : AssemblyConfiguration("")]
38[assembly : AssemblyCompany("")]
39[assembly : AssemblyProduct("OpenSim.Region.ScriptEngine.Common")]
40[assembly : AssemblyCopyright("Copyright (c) OpenSimulator.org Developers 2007-2008")]
41[assembly : AssemblyTrademark("")]
42[assembly : AssemblyCulture("")]
43
44// Setting ComVisible to false makes the types in this assembly not visible
45// to COM components. If you need to access a type in this assembly from
46// COM, set the ComVisible attribute to true on that type.
47
48[assembly : ComVisible(false)]
49
50// The following GUID is for the ID of the typelib if this project is exposed to COM
51
52[assembly : Guid("0bf07c53-ae51-487f-a907-e9b30c251602")]
53
54// Version information for an assembly consists of the following four values:
55//
56// Major Version
57// Minor Version
58// Build Number
59// Revision
60//
61
62[assembly : AssemblyVersion("1.0.0.0")]
63[assembly : AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/Region/ScriptEngine/Common/ScriptBaseClass.cs b/OpenSim/Region/ScriptEngine/Common/ScriptBaseClass.cs
deleted file mode 100644
index b5a7196..0000000
--- a/OpenSim/Region/ScriptEngine/Common/ScriptBaseClass.cs
+++ /dev/null
@@ -1,2474 +0,0 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSim Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using System;
29using System.Runtime.Remoting.Lifetime;
30using System.Threading;
31using OpenSim.Region.Environment.Interfaces;
32using OpenSim.Region.ScriptEngine.Shared;
33using OpenSim.Region.ScriptEngine.Shared.Api.Interfaces;
34using OpenSim.Region.ScriptEngine.Interfaces;
35
36using LSL_Float = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLFloat;
37using LSL_Integer = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger;
38using LSL_Key = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString;
39using LSL_List = OpenSim.Region.ScriptEngine.Shared.LSL_Types.list;
40using LSL_Rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion;
41using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString;
42using LSL_Vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3;
43
44namespace OpenSim.Region.ScriptEngine.Common
45{
46 public class ScriptBaseClass : MarshalByRefObject, IScript
47 {
48 //
49 // Included as base for any LSL-script that is compiled.
50 // Any function added here will be accessible to the LSL script. But it must also be added to "LSL_BuiltIn_Commands_Interface" in "OpenSim.Region.ScriptEngine.Common" class.
51 //
52 // Security note: This script will be running inside an restricted AppDomain. Currently AppDomain is not very restricted.
53 //
54
55 //private static readonly log4net.ILog m_log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
56
57 // Object never expires
58 public override Object InitializeLifetimeService()
59 {
60 //Console.WriteLine("LSL_BaseClass: InitializeLifetimeService()");
61 // return null;
62 ILease lease = (ILease)base.InitializeLifetimeService();
63
64 if (lease.CurrentState == LeaseState.Initial)
65 {
66 lease.InitialLeaseTime = TimeSpan.Zero; // TimeSpan.FromMinutes(1);
67 //lease.SponsorshipTimeout = TimeSpan.FromMinutes(2);
68 //lease.RenewOnCallTime = TimeSpan.FromSeconds(2);
69 }
70 return lease;
71 }
72
73 private Executor m_Exec;
74
75 //private string m_state = "default";
76
77 public void state(string newState)
78 {
79 m_LSL_Functions.state(newState);
80 }
81
82 ExecutorBase IScript.Exec
83 {
84 get
85 {
86 if (m_Exec == null)
87 m_Exec = new Executor(this);
88 return m_Exec;
89 }
90 }
91
92
93 public ILSL_Api m_LSL_Functions;
94 public IOSSL_Api m_OSSL_Functions;
95
96 public ScriptBaseClass()
97 {
98 }
99
100 public void InitApi(string api, IScriptApi LSL_Functions)
101 {
102 if (api == "LSL")
103 m_LSL_Functions = (ILSL_Api)LSL_Functions;
104 if (api == "OSSL")
105 m_OSSL_Functions = (IOSSL_Api)LSL_Functions;
106
107 //m_log.Info(ScriptEngineName, "LSL_BaseClass.Start() called.");
108
109 // Get this AppDomain's settings and display some of them.
110 // AppDomainSetup ads = AppDomain.CurrentDomain.SetupInformation;
111 // Console.WriteLine("AppName={0}, AppBase={1}, ConfigFile={2}",
112 // ads.ApplicationName,
113 // ads.ApplicationBase,
114 // ads.ConfigurationFile
115 // );
116
117 // Display the name of the calling AppDomain and the name
118 // of the second domain.
119 // NOTE: The application's thread has transitioned between
120 // AppDomains.
121 // Console.WriteLine("Calling to '{0}'.",
122 // Thread.GetDomain().FriendlyName
123 // );
124
125 return;
126 }
127
128
129
130// public OSSL_BuilIn_Commands.OSSLPrim Prim {
131// get { return m_LSL_Functions.Prim; }
132// }
133
134
135 //
136 // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs
137 //
138 // They are only forwarders to LSL_BuiltIn_Commands.cs
139 //
140
141// public ICommander GetCommander(string name)
142// {
143// return m_LSL_Functions.GetCommander(name);
144// }
145
146 public LSL_Integer llAbs(int i)
147 {
148 return m_LSL_Functions.llAbs(i);
149 }
150
151 public LSL_Float llAcos(double val)
152 {
153 return m_LSL_Functions.llAcos(val);
154 }
155
156 public void llAddToLandBanList(string avatar, double hours)
157 {
158 m_LSL_Functions.llAddToLandBanList(avatar, hours);
159 }
160
161 public void llAddToLandPassList(string avatar, double hours)
162 {
163 m_LSL_Functions.llAddToLandPassList(avatar, hours);
164 }
165
166 public void llAdjustSoundVolume(double volume)
167 {
168 m_LSL_Functions.llAdjustSoundVolume(volume);
169 }
170
171 public void llAllowInventoryDrop(int add)
172 {
173 m_LSL_Functions.llAllowInventoryDrop(add);
174 }
175
176 public LSL_Float llAngleBetween(LSL_Rotation a, LSL_Rotation b)
177 {
178 return m_LSL_Functions.llAngleBetween(a, b);
179 }
180
181 public void llApplyImpulse(LSL_Vector force, int local)
182 {
183 m_LSL_Functions.llApplyImpulse(force, local);
184 }
185
186 public void llApplyRotationalImpulse(LSL_Vector force, int local)
187 {
188 m_LSL_Functions.llApplyRotationalImpulse(force, local);
189 }
190
191 public LSL_Float llAsin(double val)
192 {
193 return m_LSL_Functions.llAsin(val);
194 }
195
196 public LSL_Float llAtan2(double x, double y)
197 {
198 return m_LSL_Functions.llAtan2(x, y);
199 }
200
201 public void llAttachToAvatar(int attachment)
202 {
203 m_LSL_Functions.llAttachToAvatar(attachment);
204 }
205
206 public LSL_Key llAvatarOnSitTarget()
207 {
208 return m_LSL_Functions.llAvatarOnSitTarget();
209 }
210
211 public LSL_Rotation llAxes2Rot(LSL_Vector fwd, LSL_Vector left, LSL_Vector up)
212 {
213 return m_LSL_Functions.llAxes2Rot(fwd, left, up);
214 }
215
216 public LSL_Rotation llAxisAngle2Rot(LSL_Vector axis, double angle)
217 {
218 return m_LSL_Functions.llAxisAngle2Rot(axis, angle);
219 }
220
221 public LSL_Integer llBase64ToInteger(string str)
222 {
223 return m_LSL_Functions.llBase64ToInteger(str);
224 }
225
226 public LSL_String llBase64ToString(string str)
227 {
228 return m_LSL_Functions.llBase64ToString(str);
229 }
230
231 public void llBreakAllLinks()
232 {
233 m_LSL_Functions.llBreakAllLinks();
234 }
235
236 public void llBreakLink(int linknum)
237 {
238 m_LSL_Functions.llBreakLink(linknum);
239 }
240
241 public LSL_Integer llCeil(double f)
242 {
243 return m_LSL_Functions.llCeil(f);
244 }
245
246 public void llClearCameraParams()
247 {
248 m_LSL_Functions.llClearCameraParams();
249 }
250
251 public void llCloseRemoteDataChannel(string channel)
252 {
253 m_LSL_Functions.llCloseRemoteDataChannel(channel);
254 }
255
256 public LSL_Float llCloud(LSL_Vector offset)
257 {
258 return m_LSL_Functions.llCloud(offset);
259 }
260
261 public void llCollisionFilter(string name, string id, int accept)
262 {
263 m_LSL_Functions.llCollisionFilter(name, id, accept);
264 }
265
266 public void llCollisionSound(string impact_sound, double impact_volume)
267 {
268 m_LSL_Functions.llCollisionSound(impact_sound, impact_volume);
269 }
270
271 public void llCollisionSprite(string impact_sprite)
272 {
273 m_LSL_Functions.llCollisionSprite(impact_sprite);
274 }
275
276 public LSL_Float llCos(double f)
277 {
278 return m_LSL_Functions.llCos(f);
279 }
280
281 public void llCreateLink(string target, int parent)
282 {
283 m_LSL_Functions.llCreateLink(target, parent);
284 }
285
286 public LSL_List llCSV2List(string src)
287 {
288 return m_LSL_Functions.llCSV2List(src);
289 }
290
291 public LSL_List llDeleteSubList(LSL_List src, int start, int end)
292 {
293 return m_LSL_Functions.llDeleteSubList(src, start, end);
294 }
295
296 public LSL_String llDeleteSubString(string src, int start, int end)
297 {
298 return m_LSL_Functions.llDeleteSubString(src, start, end);
299 }
300
301 public void llDetachFromAvatar()
302 {
303 m_LSL_Functions.llDetachFromAvatar();
304 }
305
306 public LSL_Vector llDetectedGrab(int number)
307 {
308 return m_LSL_Functions.llDetectedGrab(number);
309 }
310
311 public LSL_Integer llDetectedGroup(int number)
312 {
313 return m_LSL_Functions.llDetectedGroup(number);
314 }
315
316 public LSL_Key llDetectedKey(int number)
317 {
318 return m_LSL_Functions.llDetectedKey(number);
319 }
320
321 public LSL_Integer llDetectedLinkNumber(int number)
322 {
323 return m_LSL_Functions.llDetectedLinkNumber(number);
324 }
325
326 public LSL_String llDetectedName(int number)
327 {
328 return m_LSL_Functions.llDetectedName(number);
329 }
330
331 public LSL_Key llDetectedOwner(int number)
332 {
333 return m_LSL_Functions.llDetectedOwner(number);
334 }
335
336 public LSL_Vector llDetectedPos(int number)
337 {
338 return m_LSL_Functions.llDetectedPos(number);
339 }
340
341 public LSL_Rotation llDetectedRot(int number)
342 {
343 return m_LSL_Functions.llDetectedRot(number);
344 }
345
346 public LSL_Integer llDetectedType(int number)
347 {
348 return m_LSL_Functions.llDetectedType(number);
349 }
350
351 public LSL_Vector llDetectedTouchBinormal(int index)
352 {
353 return m_LSL_Functions.llDetectedTouchBinormal(index);
354 }
355
356 public LSL_Integer llDetectedTouchFace(int index)
357 {
358 return m_LSL_Functions.llDetectedTouchFace(index);
359 }
360
361 public LSL_Vector llDetectedTouchNormal(int index)
362 {
363 return m_LSL_Functions.llDetectedTouchNormal(index);
364 }
365
366 public LSL_Vector llDetectedTouchPos(int index)
367 {
368 return m_LSL_Functions.llDetectedTouchPos(index);
369 }
370
371 public LSL_Vector llDetectedTouchST(int index)
372 {
373 return m_LSL_Functions.llDetectedTouchST(index);
374 }
375
376 public LSL_Vector llDetectedTouchUV(int index)
377 {
378 return m_LSL_Functions.llDetectedTouchUV(index);
379 }
380
381 public LSL_Vector llDetectedVel(int number)
382 {
383 return m_LSL_Functions.llDetectedVel(number);
384 }
385
386 public void llDialog(string avatar, string message, LSL_List buttons, int chat_channel)
387 {
388 m_LSL_Functions.llDialog(avatar, message, buttons, chat_channel);
389 }
390
391 public void llDie()
392 {
393 m_LSL_Functions.llDie();
394 }
395
396 public LSL_String llDumpList2String(LSL_List src, string seperator)
397 {
398 return m_LSL_Functions.llDumpList2String(src, seperator);
399 }
400
401 public LSL_Integer llEdgeOfWorld(LSL_Vector pos, LSL_Vector dir)
402 {
403 return m_LSL_Functions.llEdgeOfWorld(pos, dir);
404 }
405
406 public void llEjectFromLand(string pest)
407 {
408 m_LSL_Functions.llEjectFromLand(pest);
409 }
410
411 public void llEmail(string address, string subject, string message)
412 {
413 m_LSL_Functions.llEmail(address, subject, message);
414 }
415
416 public LSL_String llEscapeURL(string url)
417 {
418 return m_LSL_Functions.llEscapeURL(url);
419 }
420
421 public LSL_Rotation llEuler2Rot(LSL_Vector v)
422 {
423 return m_LSL_Functions.llEuler2Rot(v);
424 }
425
426 public LSL_Float llFabs(double f)
427 {
428 return m_LSL_Functions.llFabs(f);
429 }
430
431 public LSL_Integer llFloor(double f)
432 {
433 return m_LSL_Functions.llFloor(f);
434 }
435
436 public void llForceMouselook(int mouselook)
437 {
438 m_LSL_Functions.llForceMouselook(mouselook);
439 }
440
441 public LSL_Float llFrand(double mag)
442 {
443 return m_LSL_Functions.llFrand(mag);
444 }
445
446 public LSL_Vector llGetAccel()
447 {
448 return m_LSL_Functions.llGetAccel();
449 }
450
451 public LSL_Integer llGetAgentInfo(string id)
452 {
453 return m_LSL_Functions.llGetAgentInfo(id);
454 }
455
456 public LSL_Vector llGetAgentSize(string id)
457 {
458 return m_LSL_Functions.llGetAgentSize(id);
459 }
460
461 public LSL_Float llGetAlpha(int face)
462 {
463 return m_LSL_Functions.llGetAlpha(face);
464 }
465
466 public LSL_Float llGetAndResetTime()
467 {
468 return m_LSL_Functions.llGetAndResetTime();
469 }
470
471 public LSL_String llGetAnimation(string id)
472 {
473 return m_LSL_Functions.llGetAnimation(id);
474 }
475
476 public LSL_List llGetAnimationList(string id)
477 {
478 return m_LSL_Functions.llGetAnimationList(id);
479 }
480
481 public LSL_Integer llGetAttached()
482 {
483 return m_LSL_Functions.llGetAttached();
484 }
485
486 public LSL_List llGetBoundingBox(string obj)
487 {
488 return m_LSL_Functions.llGetBoundingBox(obj);
489 }
490
491 public LSL_Vector llGetCameraPos()
492 {
493 return m_LSL_Functions.llGetCameraPos();
494 }
495
496 public LSL_Rotation llGetCameraRot()
497 {
498 return m_LSL_Functions.llGetCameraRot();
499 }
500
501 public LSL_Vector llGetCenterOfMass()
502 {
503 return m_LSL_Functions.llGetCenterOfMass();
504 }
505
506 public LSL_Vector llGetColor(int face)
507 {
508 return m_LSL_Functions.llGetColor(face);
509 }
510
511 public LSL_String llGetCreator()
512 {
513 return m_LSL_Functions.llGetCreator();
514 }
515
516 public LSL_String llGetDate()
517 {
518 return m_LSL_Functions.llGetDate();
519 }
520
521 public LSL_Float llGetEnergy()
522 {
523 return m_LSL_Functions.llGetEnergy();
524 }
525
526 public LSL_Vector llGetForce()
527 {
528 return m_LSL_Functions.llGetForce();
529 }
530
531 public LSL_Integer llGetFreeMemory()
532 {
533 return m_LSL_Functions.llGetFreeMemory();
534 }
535
536 public LSL_Vector llGetGeometricCenter()
537 {
538 return m_LSL_Functions.llGetGeometricCenter();
539 }
540
541 public LSL_Float llGetGMTclock()
542 {
543 return m_LSL_Functions.llGetGMTclock();
544 }
545
546 public LSL_Key llGetInventoryCreator(string item)
547 {
548 return m_LSL_Functions.llGetInventoryCreator(item);
549 }
550
551 public LSL_Key llGetInventoryKey(string name)
552 {
553 return m_LSL_Functions.llGetInventoryKey(name);
554 }
555
556 public LSL_String llGetInventoryName(int type, int number)
557 {
558 return m_LSL_Functions.llGetInventoryName(type, number);
559 }
560
561 public LSL_Integer llGetInventoryNumber(int type)
562 {
563 return m_LSL_Functions.llGetInventoryNumber(type);
564 }
565
566 public LSL_Integer llGetInventoryPermMask(string item, int mask)
567 {
568 return m_LSL_Functions.llGetInventoryPermMask(item, mask);
569 }
570
571 public LSL_Integer llGetInventoryType(string name)
572 {
573 return m_LSL_Functions.llGetInventoryType(name);
574 }
575
576 public LSL_Key llGetKey()
577 {
578 return m_LSL_Functions.llGetKey();
579 }
580
581 public LSL_Key llGetLandOwnerAt(LSL_Vector pos)
582 {
583 return m_LSL_Functions.llGetLandOwnerAt(pos);
584 }
585
586 public LSL_Key llGetLinkKey(int linknum)
587 {
588 return m_LSL_Functions.llGetLinkKey(linknum);
589 }
590
591 public LSL_String llGetLinkName(int linknum)
592 {
593 return m_LSL_Functions.llGetLinkName(linknum);
594 }
595
596 public LSL_Integer llGetLinkNumber()
597 {
598 return m_LSL_Functions.llGetLinkNumber();
599 }
600
601 public LSL_Integer llGetListEntryType(LSL_List src, int index)
602 {
603 return m_LSL_Functions.llGetListEntryType(src, index);
604 }
605
606 public LSL_Integer llGetListLength(LSL_List src)
607 {
608 return m_LSL_Functions.llGetListLength(src);
609 }
610
611 public LSL_Vector llGetLocalPos()
612 {
613 return m_LSL_Functions.llGetLocalPos();
614 }
615
616 public LSL_Rotation llGetLocalRot()
617 {
618 return m_LSL_Functions.llGetLocalRot();
619 }
620
621 public LSL_Float llGetMass()
622 {
623 return m_LSL_Functions.llGetMass();
624 }
625
626 public void llGetNextEmail(string address, string subject)
627 {
628 m_LSL_Functions.llGetNextEmail(address, subject);
629 }
630
631 public LSL_String llGetNotecardLine(string name, int line)
632 {
633 return m_LSL_Functions.llGetNotecardLine(name, line);
634 }
635
636 public LSL_Key llGetNumberOfNotecardLines(string name)
637 {
638 return m_LSL_Functions.llGetNumberOfNotecardLines(name);
639 }
640
641 public LSL_Integer llGetNumberOfPrims()
642 {
643 return m_LSL_Functions.llGetNumberOfPrims();
644 }
645
646 public LSL_Integer llGetNumberOfSides()
647 {
648 return m_LSL_Functions.llGetNumberOfSides();
649 }
650
651 public LSL_String llGetObjectDesc()
652 {
653 return m_LSL_Functions.llGetObjectDesc();
654 }
655
656 public LSL_List llGetObjectDetails(string id, LSL_List args)
657 {
658 return m_LSL_Functions.llGetObjectDetails(id, args);
659 }
660
661 public LSL_Float llGetObjectMass(string id)
662 {
663 return m_LSL_Functions.llGetObjectMass(id);
664 }
665
666 public LSL_String llGetObjectName()
667 {
668 return m_LSL_Functions.llGetObjectName();
669 }
670
671 public LSL_Integer llGetObjectPermMask(int mask)
672 {
673 return m_LSL_Functions.llGetObjectPermMask(mask);
674 }
675
676 public LSL_Integer llGetObjectPrimCount(string object_id)
677 {
678 return m_LSL_Functions.llGetObjectPrimCount(object_id);
679 }
680
681 public LSL_Vector llGetOmega()
682 {
683 return m_LSL_Functions.llGetOmega();
684 }
685
686 public LSL_Key llGetOwner()
687 {
688 return m_LSL_Functions.llGetOwner();
689 }
690
691 public LSL_Key llGetOwnerKey(string id)
692 {
693 return m_LSL_Functions.llGetOwnerKey(id);
694 }
695
696 public LSL_List llGetParcelDetails(LSL_Vector pos, LSL_List param)
697 {
698 return m_LSL_Functions.llGetParcelDetails(pos, param);
699 }
700
701 public LSL_Integer llGetParcelFlags(LSL_Vector pos)
702 {
703 return m_LSL_Functions.llGetParcelFlags(pos);
704 }
705
706 public LSL_Integer llGetParcelMaxPrims(LSL_Vector pos, int sim_wide)
707 {
708 return m_LSL_Functions.llGetParcelMaxPrims(pos, sim_wide);
709 }
710
711 public LSL_Integer llGetParcelPrimCount(LSL_Vector pos, int category, int sim_wide)
712 {
713 return m_LSL_Functions.llGetParcelPrimCount(pos, category, sim_wide);
714 }
715
716 public LSL_List llGetParcelPrimOwners(LSL_Vector pos)
717 {
718 return m_LSL_Functions.llGetParcelPrimOwners(pos);
719 }
720
721 public LSL_Integer llGetPermissions()
722 {
723 return m_LSL_Functions.llGetPermissions();
724 }
725
726 public LSL_Key llGetPermissionsKey()
727 {
728 return m_LSL_Functions.llGetPermissionsKey();
729 }
730
731 public LSL_Vector llGetPos()
732 {
733 return m_LSL_Functions.llGetPos();
734 }
735
736 public LSL_List llGetPrimitiveParams(LSL_List rules)
737 {
738 return m_LSL_Functions.llGetPrimitiveParams(rules);
739 }
740
741 public LSL_Integer llGetRegionAgentCount()
742 {
743 return m_LSL_Functions.llGetRegionAgentCount();
744 }
745
746 public LSL_Vector llGetRegionCorner()
747 {
748 return m_LSL_Functions.llGetRegionCorner();
749 }
750
751 public LSL_Integer llGetRegionFlags()
752 {
753 return m_LSL_Functions.llGetRegionFlags();
754 }
755
756 public LSL_Float llGetRegionFPS()
757 {
758 return m_LSL_Functions.llGetRegionFPS();
759 }
760
761 public LSL_String llGetRegionName()
762 {
763 return m_LSL_Functions.llGetRegionName();
764 }
765
766 public LSL_Float llGetRegionTimeDilation()
767 {
768 return m_LSL_Functions.llGetRegionTimeDilation();
769 }
770
771 public LSL_Vector llGetRootPosition()
772 {
773 return m_LSL_Functions.llGetRootPosition();
774 }
775
776 public LSL_Rotation llGetRootRotation()
777 {
778 return m_LSL_Functions.llGetRootRotation();
779 }
780
781 public LSL_Rotation llGetRot()
782 {
783 return m_LSL_Functions.llGetRot();
784 }
785
786 public LSL_Vector llGetScale()
787 {
788 return m_LSL_Functions.llGetScale();
789 }
790
791 public LSL_String llGetScriptName()
792 {
793 return m_LSL_Functions.llGetScriptName();
794 }
795
796 public LSL_Integer llGetScriptState(string name)
797 {
798 return m_LSL_Functions.llGetScriptState(name);
799 }
800
801 public LSL_String llGetSimulatorHostname()
802 {
803 return m_LSL_Functions.llGetSimulatorHostname();
804 }
805
806 public LSL_Integer llGetStartParameter()
807 {
808 return m_LSL_Functions.llGetStartParameter();
809 }
810
811 public LSL_Integer llGetStatus(int status)
812 {
813 return m_LSL_Functions.llGetStatus(status);
814 }
815
816 public LSL_String llGetSubString(string src, int start, int end)
817 {
818 return m_LSL_Functions.llGetSubString(src, start, end);
819 }
820
821 public LSL_Vector llGetSunDirection()
822 {
823 return m_LSL_Functions.llGetSunDirection();
824 }
825
826 public LSL_String llGetTexture(int face)
827 {
828 return m_LSL_Functions.llGetTexture(face);
829 }
830
831 public LSL_Vector llGetTextureOffset(int face)
832 {
833 return m_LSL_Functions.llGetTextureOffset(face);
834 }
835
836 public LSL_Float llGetTextureRot(int side)
837 {
838 return m_LSL_Functions.llGetTextureRot(side);
839 }
840
841 public LSL_Vector llGetTextureScale(int side)
842 {
843 return m_LSL_Functions.llGetTextureScale(side);
844 }
845
846 public LSL_Float llGetTime()
847 {
848 return m_LSL_Functions.llGetTime();
849 }
850
851 public LSL_Float llGetTimeOfDay()
852 {
853 return m_LSL_Functions.llGetTimeOfDay();
854 }
855
856 public LSL_String llGetTimestamp()
857 {
858 return m_LSL_Functions.llGetTimestamp();
859 }
860
861 public LSL_Vector llGetTorque()
862 {
863 return m_LSL_Functions.llGetTorque();
864 }
865
866 public LSL_Integer llGetUnixTime()
867 {
868 return m_LSL_Functions.llGetUnixTime();
869 }
870
871 public LSL_Vector llGetVel()
872 {
873 return m_LSL_Functions.llGetVel();
874 }
875
876 public LSL_Float llGetWallclock()
877 {
878 return m_LSL_Functions.llGetWallclock();
879 }
880
881 public void llGiveInventory(string destination, string inventory)
882 {
883 m_LSL_Functions.llGiveInventory(destination, inventory);
884 }
885
886 public void llGiveInventoryList(string destination, string category, LSL_List inventory)
887 {
888 m_LSL_Functions.llGiveInventoryList(destination, category, inventory);
889 }
890
891 public LSL_Integer llGiveMoney(string destination, int amount)
892 {
893 return m_LSL_Functions.llGiveMoney(destination, amount);
894 }
895
896 public void llGodLikeRezObject(string inventory, LSL_Vector pos)
897 {
898 m_LSL_Functions.llGodLikeRezObject(inventory, pos);
899 }
900
901 public LSL_Float llGround(LSL_Vector offset)
902 {
903 return m_LSL_Functions.llGround(offset);
904 }
905
906 public LSL_Vector llGroundContour(LSL_Vector offset)
907 {
908 return m_LSL_Functions.llGroundContour(offset);
909 }
910
911 public LSL_Vector llGroundNormal(LSL_Vector offset)
912 {
913 return m_LSL_Functions.llGroundNormal(offset);
914 }
915
916 public void llGroundRepel(double height, int water, double tau)
917 {
918 m_LSL_Functions.llGroundRepel(height, water, tau);
919 }
920
921 public LSL_Vector llGroundSlope(LSL_Vector offset)
922 {
923 return m_LSL_Functions.llGroundSlope(offset);
924 }
925
926 public LSL_String llHTTPRequest(string url, LSL_List parameters, string body)
927 {
928 return m_LSL_Functions.llHTTPRequest(url, parameters, body);
929 }
930
931 public LSL_String llInsertString(string dst, int position, string src)
932 {
933 return m_LSL_Functions.llInsertString(dst, position, src);
934 }
935
936 public void llInstantMessage(string user, string message)
937 {
938 m_LSL_Functions.llInstantMessage(user, message);
939 }
940
941 public LSL_String llIntegerToBase64(int number)
942 {
943 return m_LSL_Functions.llIntegerToBase64(number);
944 }
945
946 public LSL_String llKey2Name(string id)
947 {
948 return m_LSL_Functions.llKey2Name(id);
949 }
950
951 public LSL_String llList2CSV(LSL_List src)
952 {
953 return m_LSL_Functions.llList2CSV(src);
954 }
955
956 public LSL_Float llList2Float(LSL_List src, int index)
957 {
958 return m_LSL_Functions.llList2Float(src, index);
959 }
960
961 public LSL_Integer llList2Integer(LSL_List src, int index)
962 {
963 return m_LSL_Functions.llList2Integer(src, index);
964 }
965
966 public LSL_Key llList2Key(LSL_List src, int index)
967 {
968 return m_LSL_Functions.llList2Key(src, index);
969 }
970
971 public LSL_List llList2List(LSL_List src, int start, int end)
972 {
973 return m_LSL_Functions.llList2List(src, start, end);
974 }
975
976 public LSL_List llList2ListStrided(LSL_List src, int start, int end, int stride)
977 {
978 return m_LSL_Functions.llList2ListStrided(src, start, end, stride);
979 }
980
981 public LSL_Rotation llList2Rot(LSL_List src, int index)
982 {
983 return m_LSL_Functions.llList2Rot(src, index);
984 }
985
986 public LSL_String llList2String(LSL_List src, int index)
987 {
988 return m_LSL_Functions.llList2String(src, index);
989 }
990
991 public LSL_Vector llList2Vector(LSL_List src, int index)
992 {
993 return m_LSL_Functions.llList2Vector(src, index);
994 }
995
996 public LSL_Integer llListen(int channelID, string name, string ID, string msg)
997 {
998 return m_LSL_Functions.llListen(channelID, name, ID, msg);
999 }
1000
1001 public void llListenControl(int number, int active)
1002 {
1003 m_LSL_Functions.llListenControl(number, active);
1004 }
1005
1006 public void llListenRemove(int number)
1007 {
1008 m_LSL_Functions.llListenRemove(number);
1009 }
1010
1011 public LSL_Integer llListFindList(LSL_List src, LSL_List test)
1012 {
1013 return m_LSL_Functions.llListFindList(src, test);
1014 }
1015
1016 public LSL_List llListInsertList(LSL_List dest, LSL_List src, int start)
1017 {
1018 return m_LSL_Functions.llListInsertList(dest, src, start);
1019 }
1020
1021 public LSL_List llListRandomize(LSL_List src, int stride)
1022 {
1023 return m_LSL_Functions.llListRandomize(src, stride);
1024 }
1025
1026 public LSL_List llListReplaceList(LSL_List dest, LSL_List src, int start, int end)
1027 {
1028 return m_LSL_Functions.llListReplaceList(dest, src, start, end);
1029 }
1030
1031 public LSL_List llListSort(LSL_List src, int stride, int ascending)
1032 {
1033 return m_LSL_Functions.llListSort(src, stride, ascending);
1034 }
1035
1036 public LSL_Float llListStatistics(int operation, LSL_List src)
1037 {
1038 return m_LSL_Functions.llListStatistics(operation, src);
1039 }
1040
1041 public void llLoadURL(string avatar_id, string message, string url)
1042 {
1043 m_LSL_Functions.llLoadURL(avatar_id, message, url);
1044 }
1045
1046 public LSL_Float llLog(double val)
1047 {
1048 return m_LSL_Functions.llLog(val);
1049 }
1050
1051 public LSL_Float llLog10(double val)
1052 {
1053 return m_LSL_Functions.llLog10(val);
1054 }
1055
1056 public void llLookAt(LSL_Vector target, double strength, double damping)
1057 {
1058 m_LSL_Functions.llLookAt(target, strength, damping);
1059 }
1060
1061 public void llLoopSound(string sound, double volume)
1062 {
1063 m_LSL_Functions.llLoopSound(sound, volume);
1064 }
1065
1066 public void llLoopSoundMaster(string sound, double volume)
1067 {
1068 m_LSL_Functions.llLoopSoundMaster(sound, volume);
1069 }
1070
1071 public void llLoopSoundSlave(string sound, double volume)
1072 {
1073 m_LSL_Functions.llLoopSoundSlave(sound, volume);
1074 }
1075
1076 public void llMakeExplosion()
1077 {
1078 m_LSL_Functions.llMakeExplosion();
1079 }
1080
1081 public void llMakeFire()
1082 {
1083 m_LSL_Functions.llMakeFire();
1084 }
1085
1086 public void llMakeFountain()
1087 {
1088 m_LSL_Functions.llMakeFountain();
1089 }
1090
1091 public void llMakeSmoke()
1092 {
1093 m_LSL_Functions.llMakeSmoke();
1094 }
1095
1096 public void llMapDestination(string simname, LSL_Vector pos, LSL_Vector look_at)
1097 {
1098 m_LSL_Functions.llMapDestination(simname, pos, look_at);
1099 }
1100
1101 public LSL_String llMD5String(string src, int nonce)
1102 {
1103 return m_LSL_Functions.llMD5String(src, nonce);
1104 }
1105
1106 public void llMessageLinked(int linknum, int num, string str, string id)
1107 {
1108 m_LSL_Functions.llMessageLinked(linknum, num, str, id);
1109 }
1110
1111 public void llMinEventDelay(double delay)
1112 {
1113 m_LSL_Functions.llMinEventDelay(delay);
1114 }
1115
1116 public void llModifyLand(int action, int brush)
1117 {
1118 m_LSL_Functions.llModifyLand(action, brush);
1119 }
1120
1121 public LSL_Integer llModPow(int a, int b, int c)
1122 {
1123 return m_LSL_Functions.llModPow(a, b, c);
1124 }
1125
1126 public void llMoveToTarget(LSL_Vector target, double tau)
1127 {
1128 m_LSL_Functions.llMoveToTarget(target, tau);
1129 }
1130
1131 public void llOffsetTexture(double u, double v, int face)
1132 {
1133 m_LSL_Functions.llOffsetTexture(u, v, face);
1134 }
1135
1136 public void llOpenRemoteDataChannel()
1137 {
1138 m_LSL_Functions.llOpenRemoteDataChannel();
1139 }
1140
1141 public LSL_Integer llOverMyLand(string id)
1142 {
1143 return m_LSL_Functions.llOverMyLand(id);
1144 }
1145
1146 public void llOwnerSay(string msg)
1147 {
1148 m_LSL_Functions.llOwnerSay(msg);
1149 }
1150
1151 public void llParcelMediaCommandList(LSL_List commandList)
1152 {
1153 m_LSL_Functions.llParcelMediaCommandList(commandList);
1154 }
1155
1156 public LSL_List llParcelMediaQuery(LSL_List aList)
1157 {
1158 return m_LSL_Functions.llParcelMediaQuery(aList);
1159 }
1160
1161 public LSL_List llParseString2List(string str, LSL_List separators, LSL_List spacers)
1162 {
1163 return m_LSL_Functions.llParseString2List(str, separators, spacers);
1164 }
1165
1166 public LSL_List llParseStringKeepNulls(string src, LSL_List seperators, LSL_List spacers)
1167 {
1168 return m_LSL_Functions.llParseStringKeepNulls(src, seperators, spacers);
1169 }
1170
1171 public void llParticleSystem(LSL_List rules)
1172 {
1173 m_LSL_Functions.llParticleSystem(rules);
1174 }
1175
1176 public void llPassCollisions(int pass)
1177 {
1178 m_LSL_Functions.llPassCollisions(pass);
1179 }
1180
1181 public void llPassTouches(int pass)
1182 {
1183 m_LSL_Functions.llPassTouches(pass);
1184 }
1185
1186 public void llPlaySound(string sound, double volume)
1187 {
1188 m_LSL_Functions.llPlaySound(sound, volume);
1189 }
1190
1191 public void llPlaySoundSlave(string sound, double volume)
1192 {
1193 m_LSL_Functions.llPlaySoundSlave(sound, volume);
1194 }
1195
1196 public void llPointAt()
1197 {
1198 m_LSL_Functions.llPointAt();
1199 }
1200
1201 public LSL_Float llPow(double fbase, double fexponent)
1202 {
1203 return m_LSL_Functions.llPow(fbase, fexponent);
1204 }
1205
1206 public void llPreloadSound(string sound)
1207 {
1208 m_LSL_Functions.llPreloadSound(sound);
1209 }
1210
1211 public void llPushObject(string target, LSL_Vector impulse, LSL_Vector ang_impulse, int local)
1212 {
1213 m_LSL_Functions.llPushObject(target, impulse, ang_impulse, local);
1214 }
1215
1216 public void llRefreshPrimURL()
1217 {
1218 m_LSL_Functions.llRefreshPrimURL();
1219 }
1220
1221 public void llRegionSay(int channelID, string text)
1222 {
1223 m_LSL_Functions.llRegionSay(channelID, text);
1224 }
1225
1226 public void llReleaseCamera(string avatar)
1227 {
1228 m_LSL_Functions.llReleaseCamera(avatar);
1229 }
1230
1231 public void llReleaseControls()
1232 {
1233 m_LSL_Functions.llReleaseControls();
1234 }
1235
1236 public void llRemoteDataReply(string channel, string message_id, string sdata, int idata)
1237 {
1238 m_LSL_Functions.llRemoteDataReply(channel, message_id, sdata, idata);
1239 }
1240
1241 public void llRemoteDataSetRegion()
1242 {
1243 m_LSL_Functions.llRemoteDataSetRegion();
1244 }
1245
1246 public void llRemoteLoadScript()
1247 {
1248 m_LSL_Functions.llRemoteLoadScript();
1249 }
1250
1251 public void llRemoteLoadScriptPin(string target, string name, int pin, int running, int start_param)
1252 {
1253 m_LSL_Functions.llRemoteLoadScriptPin(target, name, pin, running, start_param);
1254 }
1255
1256 public void llRemoveFromLandBanList(string avatar)
1257 {
1258 m_LSL_Functions.llRemoveFromLandBanList(avatar);
1259 }
1260
1261 public void llRemoveFromLandPassList(string avatar)
1262 {
1263 m_LSL_Functions.llRemoveFromLandPassList(avatar);
1264 }
1265
1266 public void llRemoveInventory(string item)
1267 {
1268 m_LSL_Functions.llRemoveInventory(item);
1269 }
1270
1271 public void llRemoveVehicleFlags(int flags)
1272 {
1273 m_LSL_Functions.llRemoveVehicleFlags(flags);
1274 }
1275
1276 public LSL_Key llRequestAgentData(string id, int data)
1277 {
1278 return m_LSL_Functions.llRequestAgentData(id, data);
1279 }
1280
1281 public LSL_Key llRequestInventoryData(string name)
1282 {
1283 return m_LSL_Functions.llRequestInventoryData(name);
1284 }
1285
1286 public void llRequestPermissions(string agent, int perm)
1287 {
1288 m_LSL_Functions.llRequestPermissions(agent, perm);
1289 }
1290
1291 public LSL_Key llRequestSimulatorData(string simulator, int data)
1292 {
1293 return m_LSL_Functions.llRequestSimulatorData(simulator, data);
1294 }
1295
1296 public void llResetLandBanList()
1297 {
1298 m_LSL_Functions.llResetLandBanList();
1299 }
1300
1301 public void llResetLandPassList()
1302 {
1303 m_LSL_Functions.llResetLandPassList();
1304 }
1305
1306 public void llResetOtherScript(string name)
1307 {
1308 m_LSL_Functions.llResetOtherScript(name);
1309 }
1310
1311 public void llResetScript()
1312 {
1313 m_LSL_Functions.llResetScript();
1314 }
1315
1316 public void llResetTime()
1317 {
1318 m_LSL_Functions.llResetTime();
1319 }
1320
1321 public void llRezAtRoot(string inventory, LSL_Vector position, LSL_Vector velocity, LSL_Rotation rot, int param)
1322 {
1323 m_LSL_Functions.llRezAtRoot(inventory, position, velocity, rot, param);
1324 }
1325
1326 public void llRezObject(string inventory, LSL_Vector pos, LSL_Vector vel, LSL_Rotation rot, int param)
1327 {
1328 m_LSL_Functions.llRezObject(inventory, pos, vel, rot, param);
1329 }
1330
1331 public LSL_Float llRot2Angle(LSL_Rotation rot)
1332 {
1333 return m_LSL_Functions.llRot2Angle(rot);
1334 }
1335
1336 public LSL_Vector llRot2Axis(LSL_Rotation rot)
1337 {
1338 return m_LSL_Functions.llRot2Axis(rot);
1339 }
1340
1341 public LSL_Vector llRot2Euler(LSL_Rotation r)
1342 {
1343 return m_LSL_Functions.llRot2Euler(r);
1344 }
1345
1346 public LSL_Vector llRot2Fwd(LSL_Rotation r)
1347 {
1348 return m_LSL_Functions.llRot2Fwd(r);
1349 }
1350
1351 public LSL_Vector llRot2Left(LSL_Rotation r)
1352 {
1353 return m_LSL_Functions.llRot2Left(r);
1354 }
1355
1356 public LSL_Vector llRot2Up(LSL_Rotation r)
1357 {
1358 return m_LSL_Functions.llRot2Up(r);
1359 }
1360
1361 public void llRotateTexture(double rotation, int face)
1362 {
1363 m_LSL_Functions.llRotateTexture(rotation, face);
1364 }
1365
1366 public LSL_Rotation llRotBetween(LSL_Vector start, LSL_Vector end)
1367 {
1368 return m_LSL_Functions.llRotBetween(start, end);
1369 }
1370
1371 public void llRotLookAt(LSL_Rotation target, double strength, double damping)
1372 {
1373 m_LSL_Functions.llRotLookAt(target, strength, damping);
1374 }
1375
1376 public LSL_Integer llRotTarget(LSL_Rotation rot, double error)
1377 {
1378 return m_LSL_Functions.llRotTarget(rot, error);
1379 }
1380
1381 public void llRotTargetRemove(int number)
1382 {
1383 m_LSL_Functions.llRotTargetRemove(number);
1384 }
1385
1386 public LSL_Integer llRound(double f)
1387 {
1388 return m_LSL_Functions.llRound(f);
1389 }
1390
1391 public LSL_Integer llSameGroup(string agent)
1392 {
1393 return m_LSL_Functions.llSameGroup(agent);
1394 }
1395
1396 public void llSay(int channelID, string text)
1397 {
1398 m_LSL_Functions.llSay(channelID, text);
1399 }
1400
1401 public void llScaleTexture(double u, double v, int face)
1402 {
1403 m_LSL_Functions.llScaleTexture(u, v, face);
1404 }
1405
1406 public LSL_Integer llScriptDanger(LSL_Vector pos)
1407 {
1408 return m_LSL_Functions.llScriptDanger(pos);
1409 }
1410
1411 public LSL_Key llSendRemoteData(string channel, string dest, int idata, string sdata)
1412 {
1413 return m_LSL_Functions.llSendRemoteData(channel, dest, idata, sdata);
1414 }
1415
1416 public void llSensor(string name, string id, int type, double range, double arc)
1417 {
1418 m_LSL_Functions.llSensor(name, id, type, range, arc);
1419 }
1420
1421 public void llSensorRemove()
1422 {
1423 m_LSL_Functions.llSensorRemove();
1424 }
1425
1426 public void llSensorRepeat(string name, string id, int type, double range, double arc, double rate)
1427 {
1428 m_LSL_Functions.llSensorRepeat(name, id, type, range, arc, rate);
1429 }
1430
1431 public void llSetAlpha(double alpha, int face)
1432 {
1433 m_LSL_Functions.llSetAlpha(alpha, face);
1434 }
1435
1436 public void llSetBuoyancy(double buoyancy)
1437 {
1438 m_LSL_Functions.llSetBuoyancy(buoyancy);
1439 }
1440
1441 public void llSetCameraAtOffset(LSL_Vector offset)
1442 {
1443 m_LSL_Functions.llSetCameraAtOffset(offset);
1444 }
1445
1446 public void llSetCameraEyeOffset(LSL_Vector offset)
1447 {
1448 m_LSL_Functions.llSetCameraEyeOffset(offset);
1449 }
1450
1451 public void llSetCameraParams(LSL_List rules)
1452 {
1453 m_LSL_Functions.llSetCameraParams(rules);
1454 }
1455
1456 public void llSetClickAction(int action)
1457 {
1458 m_LSL_Functions.llSetClickAction(action);
1459 }
1460
1461 public void llSetColor(LSL_Vector color, int face)
1462 {
1463 m_LSL_Functions.llSetColor(color, face);
1464 }
1465
1466 public void llSetDamage(double damage)
1467 {
1468 m_LSL_Functions.llSetDamage(damage);
1469 }
1470
1471 public void llSetForce(LSL_Vector force, int local)
1472 {
1473 m_LSL_Functions.llSetForce(force, local);
1474 }
1475
1476 public void llSetForceAndTorque(LSL_Vector force, LSL_Vector torque, int local)
1477 {
1478 m_LSL_Functions.llSetForceAndTorque(force, torque, local);
1479 }
1480
1481 public void llSetHoverHeight(double height, int water, double tau)
1482 {
1483 m_LSL_Functions.llSetHoverHeight(height, water, tau);
1484 }
1485
1486 public void llSetInventoryPermMask(string item, int mask, int value)
1487 {
1488 m_LSL_Functions.llSetInventoryPermMask(item, mask, value);
1489 }
1490
1491 public void llSetLinkAlpha(int linknumber, double alpha, int face)
1492 {
1493 m_LSL_Functions.llSetLinkAlpha(linknumber, alpha, face);
1494 }
1495
1496 public void llSetLinkColor(int linknumber, LSL_Vector color, int face)
1497 {
1498 m_LSL_Functions.llSetLinkColor(linknumber, color, face);
1499 }
1500
1501 public void llSetLinkPrimitiveParams(int linknumber, LSL_List rules)
1502 {
1503 m_LSL_Functions.llSetLinkPrimitiveParams(linknumber, rules);
1504 }
1505
1506 public void llSetLinkTexture(int linknumber, string texture, int face)
1507 {
1508 m_LSL_Functions.llSetLinkTexture(linknumber, texture, face);
1509 }
1510
1511 public void llSetLocalRot(LSL_Rotation rot)
1512 {
1513 m_LSL_Functions.llSetLocalRot(rot);
1514 }
1515
1516 public void llSetObjectDesc(string desc)
1517 {
1518 m_LSL_Functions.llSetObjectDesc(desc);
1519 }
1520
1521 public void llSetObjectName(string name)
1522 {
1523 m_LSL_Functions.llSetObjectName(name);
1524 }
1525
1526 public void llSetObjectPermMask(int mask, int value)
1527 {
1528 m_LSL_Functions.llSetObjectPermMask(mask, value);
1529 }
1530
1531 public void llSetParcelMusicURL(string url)
1532 {
1533 m_LSL_Functions.llSetParcelMusicURL(url);
1534 }
1535
1536 public void llSetPayPrice(int price, LSL_List quick_pay_buttons)
1537 {
1538 m_LSL_Functions.llSetPayPrice(price, quick_pay_buttons);
1539 }
1540
1541 public void llSetPos(LSL_Vector pos)
1542 {
1543 m_LSL_Functions.llSetPos(pos);
1544 }
1545
1546 public void llSetPrimitiveParams(LSL_List rules)
1547 {
1548 m_LSL_Functions.llSetPrimitiveParams(rules);
1549 }
1550
1551 public void llSetPrimURL()
1552 {
1553 m_LSL_Functions.llSetPrimURL();
1554 }
1555
1556 public void llSetRemoteScriptAccessPin(int pin)
1557 {
1558 m_LSL_Functions.llSetRemoteScriptAccessPin(pin);
1559 }
1560
1561 public void llSetRot(LSL_Rotation rot)
1562 {
1563 m_LSL_Functions.llSetRot(rot);
1564 }
1565
1566 public void llSetScale(LSL_Vector scale)
1567 {
1568 m_LSL_Functions.llSetScale(scale);
1569 }
1570
1571 public void llSetScriptState(string name, int run)
1572 {
1573 m_LSL_Functions.llSetScriptState(name, run);
1574 }
1575
1576 public void llSetSitText(string text)
1577 {
1578 m_LSL_Functions.llSetSitText(text);
1579 }
1580
1581 public void llSetSoundQueueing(int queue)
1582 {
1583 m_LSL_Functions.llSetSoundQueueing(queue);
1584 }
1585
1586 public void llSetSoundRadius(double radius)
1587 {
1588 m_LSL_Functions.llSetSoundRadius(radius);
1589 }
1590
1591 public void llSetStatus(int status, int value)
1592 {
1593 m_LSL_Functions.llSetStatus(status, value);
1594 }
1595
1596 public void llSetText(string text, LSL_Vector color, double alpha)
1597 {
1598 m_LSL_Functions.llSetText(text, color, alpha);
1599 }
1600
1601 public void llSetTexture(string texture, int face)
1602 {
1603 m_LSL_Functions.llSetTexture(texture, face);
1604 }
1605
1606 public void llSetTextureAnim(int mode, int face, int sizex, int sizey, double start, double length, double rate)
1607 {
1608 m_LSL_Functions.llSetTextureAnim(mode, face, sizex, sizey, start, length, rate);
1609 }
1610
1611 public void llSetTimerEvent(double sec)
1612 {
1613 m_LSL_Functions.llSetTimerEvent(sec);
1614 }
1615
1616 public void llSetTorque(LSL_Vector torque, int local)
1617 {
1618 m_LSL_Functions.llSetTorque(torque, local);
1619 }
1620
1621 public void llSetTouchText(string text)
1622 {
1623 m_LSL_Functions.llSetTouchText(text);
1624 }
1625
1626 public void llSetVehicleFlags(int flags)
1627 {
1628 m_LSL_Functions.llSetVehicleFlags(flags);
1629 }
1630
1631 public void llSetVehicleFloatParam(int param, float value)
1632 {
1633 m_LSL_Functions.llSetVehicleFloatParam(param, value);
1634 }
1635
1636 public void llSetVehicleRotationParam(int param, LSL_Rotation rot)
1637 {
1638 m_LSL_Functions.llSetVehicleRotationParam(param, rot);
1639 }
1640
1641 public void llSetVehicleType(int type)
1642 {
1643 m_LSL_Functions.llSetVehicleType(type);
1644 }
1645
1646 public void llSetVehicleVectorParam(int param, LSL_Vector vec)
1647 {
1648 m_LSL_Functions.llSetVehicleVectorParam(param, vec);
1649 }
1650
1651 public void llShout(int channelID, string text)
1652 {
1653 m_LSL_Functions.llShout(channelID, text);
1654 }
1655
1656 public LSL_Float llSin(double f)
1657 {
1658 return m_LSL_Functions.llSin(f);
1659 }
1660
1661 public void llSitTarget(LSL_Vector offset, LSL_Rotation rot)
1662 {
1663 m_LSL_Functions.llSitTarget(offset, rot);
1664 }
1665
1666 public void llSleep(double sec)
1667 {
1668 m_LSL_Functions.llSleep(sec);
1669 }
1670
1671 public void llSound()
1672 {
1673 m_LSL_Functions.llSound();
1674 }
1675
1676 public void llSoundPreload()
1677 {
1678 m_LSL_Functions.llSoundPreload();
1679 }
1680
1681 public LSL_Float llSqrt(double f)
1682 {
1683 return m_LSL_Functions.llSqrt(f);
1684 }
1685
1686 public void llStartAnimation(string anim)
1687 {
1688 m_LSL_Functions.llStartAnimation(anim);
1689 }
1690
1691 public void llStopAnimation(string anim)
1692 {
1693 m_LSL_Functions.llStopAnimation(anim);
1694 }
1695
1696 public void llStopHover()
1697 {
1698 m_LSL_Functions.llStopHover();
1699 }
1700
1701 public void llStopLookAt()
1702 {
1703 m_LSL_Functions.llStopLookAt();
1704 }
1705
1706 public void llStopMoveToTarget()
1707 {
1708 m_LSL_Functions.llStopMoveToTarget();
1709 }
1710
1711 public void llStopPointAt()
1712 {
1713 m_LSL_Functions.llStopPointAt();
1714 }
1715
1716 public void llStopSound()
1717 {
1718 m_LSL_Functions.llStopSound();
1719 }
1720
1721 public LSL_Integer llStringLength(string str)
1722 {
1723 return m_LSL_Functions.llStringLength(str);
1724 }
1725
1726 public LSL_String llStringToBase64(string str)
1727 {
1728 return m_LSL_Functions.llStringToBase64(str);
1729 }
1730
1731 public LSL_String llStringTrim(string src, int type)
1732 {
1733 return m_LSL_Functions.llStringTrim(src, type);
1734 }
1735
1736 public LSL_Integer llSubStringIndex(string source, string pattern)
1737 {
1738 return m_LSL_Functions.llSubStringIndex(source, pattern);
1739 }
1740
1741 public void llTakeCamera(string avatar)
1742 {
1743 m_LSL_Functions.llTakeCamera(avatar);
1744 }
1745
1746 public void llTakeControls(int controls, int accept, int pass_on)
1747 {
1748 m_LSL_Functions.llTakeControls(controls, accept, pass_on);
1749 }
1750
1751 public LSL_Float llTan(double f)
1752 {
1753 return m_LSL_Functions.llTan(f);
1754 }
1755
1756 public LSL_Integer llTarget(LSL_Vector position, double range)
1757 {
1758 return m_LSL_Functions.llTarget(position, range);
1759 }
1760
1761 public void llTargetOmega(LSL_Vector axis, double spinrate, double gain)
1762 {
1763 m_LSL_Functions.llTargetOmega(axis, spinrate, gain);
1764 }
1765
1766 public void llTargetRemove(int number)
1767 {
1768 m_LSL_Functions.llTargetRemove(number);
1769 }
1770
1771 public void llTeleportAgentHome(string agent)
1772 {
1773 m_LSL_Functions.llTeleportAgentHome(agent);
1774 }
1775
1776 public void llTextBox(string avatar, string message, int chat_channel)
1777 {
1778 m_LSL_Functions.llTextBox(avatar, message, chat_channel);
1779 }
1780
1781 public LSL_String llToLower(string source)
1782 {
1783 return m_LSL_Functions.llToLower(source);
1784 }
1785
1786 public LSL_String llToUpper(string source)
1787 {
1788 return m_LSL_Functions.llToUpper(source);
1789 }
1790
1791 public void llTriggerSound(string sound, double volume)
1792 {
1793 m_LSL_Functions.llTriggerSound(sound, volume);
1794 }
1795
1796 public void llTriggerSoundLimited(string sound, double volume, LSL_Vector top_north_east, LSL_Vector bottom_south_west)
1797 {
1798 m_LSL_Functions.llTriggerSoundLimited(sound, volume, top_north_east, bottom_south_west);
1799 }
1800
1801 public LSL_String llUnescapeURL(string url)
1802 {
1803 return m_LSL_Functions.llUnescapeURL(url);
1804 }
1805
1806 public void llUnSit(string id)
1807 {
1808 m_LSL_Functions.llUnSit(id);
1809 }
1810
1811 public LSL_Float llVecDist(LSL_Vector a, LSL_Vector b)
1812 {
1813 return m_LSL_Functions.llVecDist(a, b);
1814 }
1815
1816 public LSL_Float llVecMag(LSL_Vector v)
1817 {
1818 return m_LSL_Functions.llVecMag(v);
1819 }
1820
1821 public LSL_Vector llVecNorm(LSL_Vector v)
1822 {
1823 return m_LSL_Functions.llVecNorm(v);
1824 }
1825
1826 public void llVolumeDetect(int detect)
1827 {
1828 m_LSL_Functions.llVolumeDetect(detect);
1829 }
1830
1831 public LSL_Float llWater(LSL_Vector offset)
1832 {
1833 return m_LSL_Functions.llWater(offset);
1834 }
1835
1836 public void llWhisper(int channelID, string text)
1837 {
1838 m_LSL_Functions.llWhisper(channelID, text);
1839 }
1840
1841 public LSL_Vector llWind(LSL_Vector offset)
1842 {
1843 return m_LSL_Functions.llWind(offset);
1844 }
1845
1846 public void llXorBase64Strings()
1847 {
1848 m_LSL_Functions.llXorBase64Strings();
1849 }
1850
1851 public LSL_String llXorBase64StringsCorrect(string str1, string str2)
1852 {
1853 return m_LSL_Functions.llXorBase64StringsCorrect(str1, str2);
1854 }
1855
1856 //
1857 // OpenSim Functions
1858 //
1859 public string osSetDynamicTextureURL(string dynamicID, string contentType, string url, string extraParams,
1860 int timer)
1861 {
1862 return m_OSSL_Functions.osSetDynamicTextureURL(dynamicID, contentType, url, extraParams, timer);
1863 }
1864
1865 public string osSetDynamicTextureData(string dynamicID, string contentType, string data, string extraParams,
1866 int timer)
1867 {
1868 return m_OSSL_Functions.osSetDynamicTextureData(dynamicID, contentType, data, extraParams, timer);
1869 }
1870
1871 public string osSetDynamicTextureURLBlend(string dynamicID, string contentType, string url, string extraParams,
1872 int timer, int alpha)
1873 {
1874 return m_OSSL_Functions.osSetDynamicTextureURLBlend(dynamicID, contentType, url, extraParams, timer, alpha);
1875 }
1876
1877 public string osSetDynamicTextureDataBlend(string dynamicID, string contentType, string data, string extraParams,
1878 int timer, int alpha)
1879 {
1880 return m_OSSL_Functions.osSetDynamicTextureDataBlend(dynamicID, contentType, data, extraParams, timer, alpha);
1881 }
1882
1883 public double osTerrainGetHeight(int x, int y)
1884 {
1885 return m_OSSL_Functions.osTerrainGetHeight(x, y);
1886 }
1887
1888 public int osTerrainSetHeight(int x, int y, double val)
1889 {
1890 return m_OSSL_Functions.osTerrainSetHeight(x, y, val);
1891 }
1892
1893 public int osRegionRestart(double seconds)
1894 {
1895 return m_OSSL_Functions.osRegionRestart(seconds);
1896 }
1897
1898 public void osRegionNotice(string msg)
1899 {
1900 m_OSSL_Functions.osRegionNotice(msg);
1901 }
1902
1903 public bool osConsoleCommand(string Command)
1904 {
1905 return m_OSSL_Functions.osConsoleCommand(Command);
1906 }
1907
1908 public void osSetParcelMediaURL(string url)
1909 {
1910 m_OSSL_Functions.osSetParcelMediaURL(url);
1911 }
1912
1913 public void osSetPrimFloatOnWater(int floatYN)
1914 {
1915 m_OSSL_Functions.osSetPrimFloatOnWater(floatYN);
1916 }
1917
1918 // Teleport Functions
1919
1920 public void osTeleportAgent(string agent, string regionName, LSL_Vector position, LSL_Vector lookat)
1921 {
1922 m_OSSL_Functions.osTeleportAgent(agent, regionName, position, lookat);
1923 }
1924
1925 public void osTeleportAgent(string agent, LSL_Vector position, LSL_Vector lookat)
1926 {
1927 m_OSSL_Functions.osTeleportAgent(agent, position, lookat);
1928 }
1929
1930 // Animation Functions
1931
1932 public void osAvatarPlayAnimation(string avatar, string animation)
1933 {
1934 m_OSSL_Functions.osAvatarPlayAnimation(avatar, animation);
1935 }
1936
1937 public void osAvatarStopAnimation(string avatar, string animation)
1938 {
1939 m_OSSL_Functions.osAvatarStopAnimation(avatar, animation);
1940 }
1941
1942
1943 //Texture Draw functions
1944
1945 public string osMovePen(string drawList, int x, int y)
1946 {
1947 return m_OSSL_Functions.osMovePen(drawList, x, y);
1948 }
1949
1950 public string osDrawLine(string drawList, int startX, int startY, int endX, int endY)
1951 {
1952 return m_OSSL_Functions.osDrawLine(drawList, startX, startY, endX, endY);
1953 }
1954
1955 public string osDrawLine(string drawList, int endX, int endY)
1956 {
1957 return m_OSSL_Functions.osDrawLine(drawList, endX, endY);
1958 }
1959
1960 public string osDrawText(string drawList, string text)
1961 {
1962 return m_OSSL_Functions.osDrawText(drawList, text);
1963 }
1964
1965 public string osDrawEllipse(string drawList, int width, int height)
1966 {
1967 return m_OSSL_Functions.osDrawEllipse(drawList, width, height);
1968 }
1969
1970 public string osDrawRectangle(string drawList, int width, int height)
1971 {
1972 return m_OSSL_Functions.osDrawRectangle(drawList, width, height);
1973 }
1974
1975 public string osDrawFilledRectangle(string drawList, int width, int height)
1976 {
1977 return m_OSSL_Functions.osDrawFilledRectangle(drawList, width, height);
1978 }
1979
1980 public string osSetFontSize(string drawList, int fontSize)
1981 {
1982 return m_OSSL_Functions.osSetFontSize(drawList, fontSize);
1983 }
1984
1985 public string osSetPenSize(string drawList, int penSize)
1986 {
1987 return m_OSSL_Functions.osSetPenSize(drawList, penSize);
1988 }
1989
1990 public string osSetPenColour(string drawList, string colour)
1991 {
1992 return m_OSSL_Functions.osSetPenColour(drawList, colour);
1993 }
1994
1995 public string osDrawImage(string drawList, int width, int height, string imageUrl)
1996 {
1997 return m_OSSL_Functions.osDrawImage(drawList, width, height, imageUrl);
1998 }
1999
2000 public void osSetStateEvents(int events)
2001 {
2002 m_OSSL_Functions.osSetStateEvents(events);
2003 }
2004
2005// public void osOpenRemoteDataChannel(string channel)
2006// {
2007// m_OSSL_Functions.osOpenRemoteDataChannel(channel);
2008// }
2009
2010 public string osGetScriptEngineName()
2011 {
2012 return m_OSSL_Functions.osGetScriptEngineName();
2013 }
2014
2015 public System.Collections.Hashtable osParseJSON(string JSON)
2016 {
2017 return m_OSSL_Functions.osParseJSON(JSON);
2018 }
2019
2020 //for testing purposes only
2021 public void osSetParcelMediaTime(double time)
2022 {
2023 m_OSSL_Functions.osSetParcelMediaTime(time);
2024 }
2025
2026 // LSL CONSTANTS
2027 public const int TRUE = 1;
2028 public const int FALSE = 0;
2029
2030 public const int STATUS_PHYSICS = 1;
2031 public const int STATUS_ROTATE_X = 2;
2032 public const int STATUS_ROTATE_Y = 4;
2033 public const int STATUS_ROTATE_Z = 8;
2034 public const int STATUS_PHANTOM = 16;
2035 public const int STATUS_SANDBOX = 32;
2036 public const int STATUS_BLOCK_GRAB = 64;
2037 public const int STATUS_DIE_AT_EDGE = 128;
2038 public const int STATUS_RETURN_AT_EDGE = 256;
2039 public const int STATUS_CAST_SHADOWS = 512;
2040
2041 public const int AGENT = 1;
2042 public const int ACTIVE = 2;
2043 public const int PASSIVE = 4;
2044 public const int SCRIPTED = 8;
2045
2046 public const int CONTROL_FWD = 1;
2047 public const int CONTROL_BACK = 2;
2048 public const int CONTROL_LEFT = 4;
2049 public const int CONTROL_RIGHT = 8;
2050 public const int CONTROL_UP = 16;
2051 public const int CONTROL_DOWN = 32;
2052 public const int CONTROL_ROT_LEFT = 256;
2053 public const int CONTROL_ROT_RIGHT = 512;
2054 public const int CONTROL_LBUTTON = 268435456;
2055 public const int CONTROL_ML_LBUTTON = 1073741824;
2056
2057 //Permissions
2058 public const int PERMISSION_DEBIT = 2;
2059 public const int PERMISSION_TAKE_CONTROLS = 4;
2060 public const int PERMISSION_REMAP_CONTROLS = 8;
2061 public const int PERMISSION_TRIGGER_ANIMATION = 16;
2062 public const int PERMISSION_ATTACH = 32;
2063 public const int PERMISSION_RELEASE_OWNERSHIP = 64;
2064 public const int PERMISSION_CHANGE_LINKS = 128;
2065 public const int PERMISSION_CHANGE_JOINTS = 256;
2066 public const int PERMISSION_CHANGE_PERMISSIONS = 512;
2067 public const int PERMISSION_TRACK_CAMERA = 1024;
2068 public const int PERMISSION_CONTROL_CAMERA = 2048;
2069
2070 public const int AGENT_FLYING = 1;
2071 public const int AGENT_ATTACHMENTS = 2;
2072 public const int AGENT_SCRIPTED = 4;
2073 public const int AGENT_MOUSELOOK = 8;
2074 public const int AGENT_SITTING = 16;
2075 public const int AGENT_ON_OBJECT = 32;
2076 public const int AGENT_AWAY = 64;
2077 public const int AGENT_WALKING = 128;
2078 public const int AGENT_IN_AIR = 256;
2079 public const int AGENT_TYPING = 512;
2080 public const int AGENT_CROUCHING = 1024;
2081 public const int AGENT_BUSY = 2048;
2082 public const int AGENT_ALWAYS_RUN = 4096;
2083
2084 //Particle Systems
2085 public const int PSYS_PART_INTERP_COLOR_MASK = 1;
2086 public const int PSYS_PART_INTERP_SCALE_MASK = 2;
2087 public const int PSYS_PART_BOUNCE_MASK = 4;
2088 public const int PSYS_PART_WIND_MASK = 8;
2089 public const int PSYS_PART_FOLLOW_SRC_MASK = 16;
2090 public const int PSYS_PART_FOLLOW_VELOCITY_MASK = 32;
2091 public const int PSYS_PART_TARGET_POS_MASK = 64;
2092 public const int PSYS_PART_TARGET_LINEAR_MASK = 128;
2093 public const int PSYS_PART_EMISSIVE_MASK = 256;
2094 public const int PSYS_PART_FLAGS = 0;
2095 public const int PSYS_PART_START_COLOR = 1;
2096 public const int PSYS_PART_START_ALPHA = 2;
2097 public const int PSYS_PART_END_COLOR = 3;
2098 public const int PSYS_PART_END_ALPHA = 4;
2099 public const int PSYS_PART_START_SCALE = 5;
2100 public const int PSYS_PART_END_SCALE = 6;
2101 public const int PSYS_PART_MAX_AGE = 7;
2102 public const int PSYS_SRC_ACCEL = 8;
2103 public const int PSYS_SRC_PATTERN = 9;
2104 public const int PSYS_SRC_INNERANGLE = 10;
2105 public const int PSYS_SRC_OUTERANGLE = 11;
2106 public const int PSYS_SRC_TEXTURE = 12;
2107 public const int PSYS_SRC_BURST_RATE = 13;
2108 public const int PSYS_SRC_BURST_PART_COUNT = 15;
2109 public const int PSYS_SRC_BURST_RADIUS = 16;
2110 public const int PSYS_SRC_BURST_SPEED_MIN = 17;
2111 public const int PSYS_SRC_BURST_SPEED_MAX = 18;
2112 public const int PSYS_SRC_MAX_AGE = 19;
2113 public const int PSYS_SRC_TARGET_KEY = 20;
2114 public const int PSYS_SRC_OMEGA = 21;
2115 public const int PSYS_SRC_ANGLE_BEGIN = 22;
2116 public const int PSYS_SRC_ANGLE_END = 23;
2117 public const int PSYS_SRC_PATTERN_DROP = 1;
2118 public const int PSYS_SRC_PATTERN_EXPLODE = 2;
2119 public const int PSYS_SRC_PATTERN_ANGLE = 4;
2120 public const int PSYS_SRC_PATTERN_ANGLE_CONE = 8;
2121 public const int PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY = 16;
2122
2123 public const int VEHICLE_TYPE_NONE = 0;
2124 public const int VEHICLE_TYPE_SLED = 1;
2125 public const int VEHICLE_TYPE_CAR = 2;
2126 public const int VEHICLE_TYPE_BOAT = 3;
2127 public const int VEHICLE_TYPE_AIRPLANE = 4;
2128 public const int VEHICLE_TYPE_BALLOON = 5;
2129 public const int VEHICLE_LINEAR_FRICTION_TIMESCALE = 16;
2130 public const int VEHICLE_ANGULAR_FRICTION_TIMESCALE = 17;
2131 public const int VEHICLE_LINEAR_MOTOR_DIRECTION = 18;
2132 public const int VEHICLE_LINEAR_MOTOR_OFFSET = 20;
2133 public const int VEHICLE_ANGULAR_MOTOR_DIRECTION = 19;
2134 public const int VEHICLE_HOVER_HEIGHT = 24;
2135 public const int VEHICLE_HOVER_EFFICIENCY = 25;
2136 public const int VEHICLE_HOVER_TIMESCALE = 26;
2137 public const int VEHICLE_BUOYANCY = 27;
2138 public const int VEHICLE_LINEAR_DEFLECTION_EFFICIENCY = 28;
2139 public const int VEHICLE_LINEAR_DEFLECTION_TIMESCALE = 29;
2140 public const int VEHICLE_LINEAR_MOTOR_TIMESCALE = 30;
2141 public const int VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE = 31;
2142 public const int VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY = 32;
2143 public const int VEHICLE_ANGULAR_DEFLECTION_TIMESCALE = 33;
2144 public const int VEHICLE_ANGULAR_MOTOR_TIMESCALE = 34;
2145 public const int VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE = 35;
2146 public const int VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY = 36;
2147 public const int VEHICLE_VERTICAL_ATTRACTION_TIMESCALE = 37;
2148 public const int VEHICLE_BANKING_EFFICIENCY = 38;
2149 public const int VEHICLE_BANKING_MIX = 39;
2150 public const int VEHICLE_BANKING_TIMESCALE = 40;
2151 public const int VEHICLE_REFERENCE_FRAME = 44;
2152 public const int VEHICLE_FLAG_NO_DEFLECTION_UP = 1;
2153 public const int VEHICLE_FLAG_LIMIT_ROLL_ONLY = 2;
2154 public const int VEHICLE_FLAG_HOVER_WATER_ONLY = 4;
2155 public const int VEHICLE_FLAG_HOVER_TERRAIN_ONLY = 8;
2156 public const int VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT = 16;
2157 public const int VEHICLE_FLAG_HOVER_UP_ONLY = 32;
2158 public const int VEHICLE_FLAG_LIMIT_MOTOR_UP = 64;
2159 public const int VEHICLE_FLAG_MOUSELOOK_STEER = 128;
2160 public const int VEHICLE_FLAG_MOUSELOOK_BANK = 256;
2161 public const int VEHICLE_FLAG_CAMERA_DECOUPLED = 512;
2162
2163 public const int INVENTORY_ALL = -1;
2164 public const int INVENTORY_NONE = -1;
2165 public const int INVENTORY_TEXTURE = 0;
2166 public const int INVENTORY_SOUND = 1;
2167 public const int INVENTORY_LANDMARK = 3;
2168 public const int INVENTORY_CLOTHING = 5;
2169 public const int INVENTORY_OBJECT = 6;
2170 public const int INVENTORY_NOTECARD = 7;
2171 public const int INVENTORY_SCRIPT = 10;
2172 public const int INVENTORY_BODYPART = 13;
2173 public const int INVENTORY_ANIMATION = 20;
2174 public const int INVENTORY_GESTURE = 21;
2175
2176 public const int ATTACH_CHEST = 1;
2177 public const int ATTACH_HEAD = 2;
2178 public const int ATTACH_LSHOULDER = 3;
2179 public const int ATTACH_RSHOULDER = 4;
2180 public const int ATTACH_LHAND = 5;
2181 public const int ATTACH_RHAND = 6;
2182 public const int ATTACH_LFOOT = 7;
2183 public const int ATTACH_RFOOT = 8;
2184 public const int ATTACH_BACK = 9;
2185 public const int ATTACH_PELVIS = 10;
2186 public const int ATTACH_MOUTH = 11;
2187 public const int ATTACH_CHIN = 12;
2188 public const int ATTACH_LEAR = 13;
2189 public const int ATTACH_REAR = 14;
2190 public const int ATTACH_LEYE = 15;
2191 public const int ATTACH_REYE = 16;
2192 public const int ATTACH_NOSE = 17;
2193 public const int ATTACH_RUARM = 18;
2194 public const int ATTACH_RLARM = 19;
2195 public const int ATTACH_LUARM = 20;
2196 public const int ATTACH_LLARM = 21;
2197 public const int ATTACH_RHIP = 22;
2198 public const int ATTACH_RULEG = 23;
2199 public const int ATTACH_RLLEG = 24;
2200 public const int ATTACH_LHIP = 25;
2201 public const int ATTACH_LULEG = 26;
2202 public const int ATTACH_LLLEG = 27;
2203 public const int ATTACH_BELLY = 28;
2204 public const int ATTACH_RPEC = 29;
2205 public const int ATTACH_LPEC = 30;
2206
2207 public const int LAND_LEVEL = 0;
2208 public const int LAND_RAISE = 1;
2209 public const int LAND_LOWER = 2;
2210 public const int LAND_SMOOTH = 3;
2211 public const int LAND_NOISE = 4;
2212 public const int LAND_REVERT = 5;
2213 public const int LAND_SMALL_BRUSH = 1;
2214 public const int LAND_MEDIUM_BRUSH = 2;
2215 public const int LAND_LARGE_BRUSH = 3;
2216
2217 //Agent Dataserver
2218 public const int DATA_ONLINE = 1;
2219 public const int DATA_NAME = 2;
2220 public const int DATA_BORN = 3;
2221 public const int DATA_RATING = 4;
2222 public const int DATA_SIM_POS = 5;
2223 public const int DATA_SIM_STATUS = 6;
2224 public const int DATA_SIM_RATING = 7;
2225 public const int DATA_PAYINFO = 8;
2226 public const int DATA_SIM_RELEASE = 128;
2227
2228 public const int ANIM_ON = 1;
2229 public const int LOOP = 2;
2230 public const int REVERSE = 4;
2231 public const int PING_PONG = 8;
2232 public const int SMOOTH = 16;
2233 public const int ROTATE = 32;
2234 public const int SCALE = 64;
2235 public const int ALL_SIDES = -1;
2236 public const int LINK_SET = -1;
2237 public const int LINK_ROOT = 1;
2238 public const int LINK_ALL_OTHERS = -2;
2239 public const int LINK_ALL_CHILDREN = -3;
2240 public const int LINK_THIS = -4;
2241 public const int CHANGED_INVENTORY = 1;
2242 public const int CHANGED_COLOR = 2;
2243 public const int CHANGED_SHAPE = 4;
2244 public const int CHANGED_SCALE = 8;
2245 public const int CHANGED_TEXTURE = 16;
2246 public const int CHANGED_LINK = 32;
2247 public const int CHANGED_ALLOWED_DROP = 64;
2248 public const int CHANGED_OWNER = 128;
2249 public const int CHANGED_REGION_RESTART = 256;
2250 public const int CHANGED_REGION = 512;
2251 public const int CHANGED_TELEPORT = 1024;
2252 public const int TYPE_INVALID = 0;
2253 public const int TYPE_INTEGER = 1;
2254 public const int TYPE_double = 2;
2255 public const int TYPE_STRING = 3;
2256 public const int TYPE_KEY = 4;
2257 public const int TYPE_VECTOR = 5;
2258 public const int TYPE_ROTATION = 6;
2259
2260 //XML RPC Remote Data Channel
2261 public const int REMOTE_DATA_CHANNEL = 1;
2262 public const int REMOTE_DATA_REQUEST = 2;
2263 public const int REMOTE_DATA_REPLY = 3;
2264
2265 //llHTTPRequest
2266 public const int HTTP_METHOD = 0;
2267 public const int HTTP_MIMETYPE = 1;
2268 public const int HTTP_BODY_MAXLENGTH = 2;
2269 public const int HTTP_VERIFY_CERT = 3;
2270
2271 public const int PRIM_MATERIAL = 2;
2272 public const int PRIM_PHYSICS = 3;
2273 public const int PRIM_TEMP_ON_REZ = 4;
2274 public const int PRIM_PHANTOM = 5;
2275 public const int PRIM_POSITION = 6;
2276 public const int PRIM_SIZE = 7;
2277 public const int PRIM_ROTATION = 8;
2278 public const int PRIM_TYPE = 9;
2279 public const int PRIM_TEXTURE = 17;
2280 public const int PRIM_COLOR = 18;
2281 public const int PRIM_BUMP_SHINY = 19;
2282 public const int PRIM_FULLBRIGHT = 20;
2283 public const int PRIM_FLEXIBLE = 21;
2284 public const int PRIM_TEXGEN = 22;
2285 public const int PRIM_CAST_SHADOWS = 24; // Not implemented, here for completeness sake
2286 public const int PRIM_POINT_LIGHT = 23; // Huh?
2287 public const int PRIM_GLOW = 25;
2288 public const int PRIM_TEXGEN_DEFAULT = 0;
2289 public const int PRIM_TEXGEN_PLANAR = 1;
2290
2291 public const int PRIM_TYPE_BOX = 0;
2292 public const int PRIM_TYPE_CYLINDER = 1;
2293 public const int PRIM_TYPE_PRISM = 2;
2294 public const int PRIM_TYPE_SPHERE = 3;
2295 public const int PRIM_TYPE_TORUS = 4;
2296 public const int PRIM_TYPE_TUBE = 5;
2297 public const int PRIM_TYPE_RING = 6;
2298 public const int PRIM_TYPE_SCULPT = 7;
2299
2300 public const int PRIM_HOLE_DEFAULT = 0;
2301 public const int PRIM_HOLE_CIRCLE = 16;
2302 public const int PRIM_HOLE_SQUARE = 32;
2303 public const int PRIM_HOLE_TRIANGLE = 48;
2304
2305 public const int PRIM_MATERIAL_STONE = 0;
2306 public const int PRIM_MATERIAL_METAL = 1;
2307 public const int PRIM_MATERIAL_GLASS = 2;
2308 public const int PRIM_MATERIAL_WOOD = 3;
2309 public const int PRIM_MATERIAL_FLESH = 4;
2310 public const int PRIM_MATERIAL_PLASTIC = 5;
2311 public const int PRIM_MATERIAL_RUBBER = 6;
2312 public const int PRIM_MATERIAL_LIGHT = 7;
2313
2314 public const int PRIM_SHINY_NONE = 0;
2315 public const int PRIM_SHINY_LOW = 1;
2316 public const int PRIM_SHINY_MEDIUM = 2;
2317 public const int PRIM_SHINY_HIGH = 3;
2318 public const int PRIM_BUMP_NONE = 0;
2319 public const int PRIM_BUMP_BRIGHT = 1;
2320 public const int PRIM_BUMP_DARK = 2;
2321 public const int PRIM_BUMP_WOOD = 3;
2322 public const int PRIM_BUMP_BARK = 4;
2323 public const int PRIM_BUMP_BRICKS = 5;
2324 public const int PRIM_BUMP_CHECKER = 6;
2325 public const int PRIM_BUMP_CONCRETE = 7;
2326 public const int PRIM_BUMP_TILE = 8;
2327 public const int PRIM_BUMP_STONE = 9;
2328 public const int PRIM_BUMP_DISKS = 10;
2329 public const int PRIM_BUMP_GRAVEL = 11;
2330 public const int PRIM_BUMP_BLOBS = 12;
2331 public const int PRIM_BUMP_SIDING = 13;
2332 public const int PRIM_BUMP_LARGETILE = 14;
2333 public const int PRIM_BUMP_STUCCO = 15;
2334 public const int PRIM_BUMP_SUCTION = 16;
2335 public const int PRIM_BUMP_WEAVE = 17;
2336
2337 public const int PRIM_SCULPT_TYPE_SPHERE = 1;
2338 public const int PRIM_SCULPT_TYPE_TORUS = 2;
2339 public const int PRIM_SCULPT_TYPE_PLANE = 3;
2340 public const int PRIM_SCULPT_TYPE_CYLINDER = 4;
2341
2342 public const int MASK_BASE = 0;
2343 public const int MASK_OWNER = 1;
2344 public const int MASK_GROUP = 2;
2345 public const int MASK_EVERYONE = 3;
2346 public const int MASK_NEXT = 4;
2347
2348 public const int PERM_TRANSFER = 8192;
2349 public const int PERM_MODIFY = 16384;
2350 public const int PERM_COPY = 32768;
2351 public const int PERM_MOVE = 524288;
2352 public const int PERM_ALL = 2147483647;
2353
2354 public const int PARCEL_MEDIA_COMMAND_STOP = 0;
2355 public const int PARCEL_MEDIA_COMMAND_PAUSE = 1;
2356 public const int PARCEL_MEDIA_COMMAND_PLAY = 2;
2357 public const int PARCEL_MEDIA_COMMAND_LOOP = 3;
2358 public const int PARCEL_MEDIA_COMMAND_TEXTURE = 4;
2359 public const int PARCEL_MEDIA_COMMAND_URL = 5;
2360 public const int PARCEL_MEDIA_COMMAND_TIME = 6;
2361 public const int PARCEL_MEDIA_COMMAND_AGENT = 7;
2362 public const int PARCEL_MEDIA_COMMAND_UNLOAD = 8;
2363 public const int PARCEL_MEDIA_COMMAND_AUTO_ALIGN = 9;
2364
2365 public const int PARCEL_FLAG_ALLOW_FLY = 0x1; // parcel allows flying
2366 public const int PARCEL_FLAG_ALLOW_SCRIPTS = 0x2; // parcel allows outside scripts
2367 public const int PARCEL_FLAG_ALLOW_LANDMARK = 0x8; // parcel allows landmarks to be created
2368 public const int PARCEL_FLAG_ALLOW_TERRAFORM = 0x10; // parcel allows anyone to terraform the land
2369 public const int PARCEL_FLAG_ALLOW_DAMAGE = 0x20; // parcel allows damage
2370 public const int PARCEL_FLAG_ALLOW_CREATE_OBJECTS = 0x40; // parcel allows anyone to create objects
2371 public const int PARCEL_FLAG_USE_ACCESS_GROUP = 0x100; // parcel limits access to a group
2372 public const int PARCEL_FLAG_USE_ACCESS_LIST = 0x200; // parcel limits access to a list of residents
2373 public const int PARCEL_FLAG_USE_BAN_LIST = 0x400; // parcel uses a ban list, including restricting access based on payment info
2374 public const int PARCEL_FLAG_USE_LAND_PASS_LIST = 0x800; // parcel allows passes to be purchased
2375 public const int PARCEL_FLAG_LOCAL_SOUND_ONLY = 0x8000; // parcel restricts spatialized sound to the parcel
2376 public const int PARCEL_FLAG_RESTRICT_PUSHOBJECT = 0x200000; // parcel restricts llPushObject
2377 public const int PARCEL_FLAG_ALLOW_GROUP_SCRIPTS = 0x2000000; // parcel allows scripts owned by group
2378 public const int PARCEL_FLAG_ALLOW_CREATE_GROUP_OBJECTS = 0x4000000; // parcel allows group object creation
2379 public const int PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY = 0x8000000; // parcel allows objects owned by any user to enter
2380 public const int PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY = 0x10000000; // parcel allows with the same group to enter
2381
2382 public const int REGION_FLAG_ALLOW_DAMAGE = 0x1; // region is entirely damage enabled
2383 public const int REGION_FLAG_FIXED_SUN = 0x10; // region has a fixed sun position
2384 public const int REGION_FLAG_BLOCK_TERRAFORM = 0x40; // region terraforming disabled
2385 public const int REGION_FLAG_SANDBOX = 0x100; // region is a sandbox
2386 public const int REGION_FLAG_DISABLE_COLLISIONS = 0x1000; // region has disabled collisions
2387 public const int REGION_FLAG_DISABLE_PHYSICS = 0x4000; // region has disabled physics
2388 public const int REGION_FLAG_BLOCK_FLY = 0x80000; // region blocks flying
2389 public const int REGION_FLAG_ALLOW_DIRECT_TELEPORT = 0x100000; // region allows direct teleports
2390 public const int REGION_FLAG_RESTRICT_PUSHOBJECT = 0x400000; // region restricts llPushObject
2391
2392 public const int PAY_HIDE = -1;
2393 public const int PAY_DEFAULT = -2;
2394
2395 public const string NULL_KEY = "00000000-0000-0000-0000-000000000000";
2396 public const string EOF = "\n\n\n";
2397 public const double PI = 3.14159274f;
2398 public const double TWO_PI = 6.28318548f;
2399 public const double PI_BY_TWO = 1.57079637f;
2400 public const double DEG_TO_RAD = 0.01745329238f;
2401 public const double RAD_TO_DEG = 57.29578f;
2402 public const double SQRT2 = 1.414213538f;
2403 public const int STRING_TRIM_HEAD = 1;
2404 public const int STRING_TRIM_TAIL = 2;
2405 public const int STRING_TRIM = 3;
2406 public const int LIST_STAT_RANGE = 0;
2407 public const int LIST_STAT_MIN = 1;
2408 public const int LIST_STAT_MAX = 2;
2409 public const int LIST_STAT_MEAN = 3;
2410 public const int LIST_STAT_MEDIAN = 4;
2411 public const int LIST_STAT_STD_DEV = 5;
2412 public const int LIST_STAT_SUM = 6;
2413 public const int LIST_STAT_SUM_SQUARES = 7;
2414 public const int LIST_STAT_NUM_COUNT = 8;
2415 public const int LIST_STAT_GEOMETRIC_MEAN = 9;
2416 public const int LIST_STAT_HARMONIC_MEAN = 100;
2417
2418 //ParcelPrim Categories
2419 public const int PARCEL_COUNT_TOTAL = 0;
2420 public const int PARCEL_COUNT_OWNER = 1;
2421 public const int PARCEL_COUNT_GROUP = 2;
2422 public const int PARCEL_COUNT_OTHER = 3;
2423 public const int PARCEL_COUNT_SELECTED = 4;
2424 public const int PARCEL_COUNT_TEMP = 5;
2425
2426 public const int DEBUG_CHANNEL = 0x7FFFFFFF;
2427 public const int PUBLIC_CHANNEL = 0x00000000;
2428
2429 public const int OBJECT_NAME = 1;
2430 public const int OBJECT_DESC = 2;
2431 public const int OBJECT_POS = 3;
2432 public const int OBJECT_ROT = 4;
2433 public const int OBJECT_VELOCITY = 5;
2434 public const int OBJECT_OWNER = 6;
2435 public const int OBJECT_GROUP = 7;
2436 public const int OBJECT_CREATOR = 8;
2437
2438 // Can not be public const?
2439 public static readonly LSL_Vector ZERO_VECTOR = new LSL_Vector(0f, 0f, 0f);
2440 public static readonly LSL_Rotation ZERO_ROTATION = new LSL_Rotation(0f, 0f, 0f, 1f);
2441
2442 // constants for llSetCameraParams
2443 public const int CAMERA_PITCH = 0;
2444 public const int CAMERA_FOCUS_OFFSET = 1;
2445 public const int CAMERA_FOCUS_OFFSET_X = 2;
2446 public const int CAMERA_FOCUS_OFFSET_Y = 3;
2447 public const int CAMERA_FOCUS_OFFSET_Z = 4;
2448 public const int CAMERA_POSITION_LAG = 5;
2449 public const int CAMERA_FOCUS_LAG = 6;
2450 public const int CAMERA_DISTANCE = 7;
2451 public const int CAMERA_BEHINDNESS_ANGLE = 8;
2452 public const int CAMERA_BEHINDNESS_LAG = 9;
2453 public const int CAMERA_POSITION_THRESHOLD = 10;
2454 public const int CAMERA_FOCUS_THRESHOLD = 11;
2455 public const int CAMERA_ACTIVE = 12;
2456 public const int CAMERA_POSITION = 13;
2457 public const int CAMERA_POSITION_X = 14;
2458 public const int CAMERA_POSITION_Y = 15;
2459 public const int CAMERA_POSITION_Z = 16;
2460 public const int CAMERA_FOCUS = 17;
2461 public const int CAMERA_FOCUS_X = 18;
2462 public const int CAMERA_FOCUS_Y = 19;
2463 public const int CAMERA_FOCUS_Z = 20;
2464 public const int CAMERA_POSITION_LOCKED = 21;
2465 public const int CAMERA_FOCUS_LOCKED = 22;
2466
2467 // constants for llGetParcelDetails
2468 public const int PARCEL_DETAILS_NAME = 0;
2469 public const int PARCEL_DETAILS_DESC = 1;
2470 public const int PARCEL_DETAILS_OWNER = 2;
2471 public const int PARCEL_DETAILS_GROUP = 3;
2472 public const int PARCEL_DETAILS_AREA = 4;
2473 }
2474}
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/AppDomainManager.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/AppDomainManager.cs
index e32c342..e37b18e 100644
--- a/OpenSim/Region/ScriptEngine/DotNetEngine/AppDomainManager.cs
+++ b/OpenSim/Region/ScriptEngine/DotNetEngine/AppDomainManager.cs
@@ -29,7 +29,8 @@ using System;
29using System.Collections; 29using System.Collections;
30using System.Collections.Generic; 30using System.Collections.Generic;
31using System.Reflection; 31using System.Reflection;
32using OpenSim.Region.ScriptEngine.Common; 32using OpenSim.Region.ScriptEngine.Interfaces;
33using OpenSim.Region.ScriptEngine.Shared.ScriptBase;
33 34
34namespace OpenSim.Region.ScriptEngine.DotNetEngine 35namespace OpenSim.Region.ScriptEngine.DotNetEngine
35{ 36{
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs
index 4cb74fa..4adedc3 100644
--- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs
+++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs
@@ -217,23 +217,6 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
217 217
218 } 218 }
219 219
220 ////private ICodeCompiler icc = codeProvider.CreateCompiler();
221 //public string CompileFromFile(string LSOFileName)
222 //{
223 // switch (Path.GetExtension(LSOFileName).ToLower())
224 // {
225 // case ".txt":
226 // case ".lsl":
227 // Common.ScriptEngineBase.Common.SendToDebug("Source code is LSL, converting to CS");
228 // return CompileFromLSLText(File.ReadAllText(LSOFileName));
229 // case ".cs":
230 // Common.ScriptEngineBase.Common.SendToDebug("Source code is CS");
231 // return CompileFromCSText(File.ReadAllText(LSOFileName));
232 // default:
233 // throw new Exception("Unknown script type.");
234 // }
235 //}
236
237 /// <summary> 220 /// <summary>
238 /// Converts script from LSL to CS and calls CompileFromCSText 221 /// Converts script from LSL to CS and calls CompileFromCSText
239 /// </summary> 222 /// </summary>
@@ -332,9 +315,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
332 private static string CreateJSCompilerScript(string compileScript) 315 private static string CreateJSCompilerScript(string compileScript)
333 { 316 {
334 compileScript = String.Empty + 317 compileScript = String.Empty +
335 "import OpenSim.Region.ScriptEngine.Common; import OpenSim.Region.ScriptEngine.Shared; import System.Collections.Generic;\r\n" + 318 "import OpenSim.Region.ScriptEngine.Shared; import System.Collections.Generic;\r\n" +
336 "package SecondLife {\r\n" + 319 "package SecondLife {\r\n" +
337 "class Script extends OpenSim.Region.ScriptEngine.Common.ScriptBaseClass { \r\n" + 320 "class Script extends OpenSim.Region.ScriptEngine.Shared.ScriptBase.ScriptBaseClass { \r\n" +
338 compileScript + 321 compileScript +
339 "} }\r\n"; 322 "} }\r\n";
340 return compileScript; 323 return compileScript;
@@ -343,9 +326,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
343 private static string CreateCSCompilerScript(string compileScript) 326 private static string CreateCSCompilerScript(string compileScript)
344 { 327 {
345 compileScript = String.Empty + 328 compileScript = String.Empty +
346 "using OpenSim.Region.ScriptEngine.Common; using OpenSim.Region.ScriptEngine.Shared; using System.Collections.Generic;\r\n" + 329 "using OpenSim.Region.ScriptEngine.Shared; using System.Collections.Generic;\r\n" +
347 String.Empty + "namespace SecondLife { " + 330 String.Empty + "namespace SecondLife { " +
348 String.Empty + "public class Script : OpenSim.Region.ScriptEngine.Common.ScriptBaseClass { \r\n" + 331 String.Empty + "public class Script : OpenSim.Region.ScriptEngine.Shared.ScriptBase.ScriptBaseClass { \r\n" +
349 @"public Script() { } " + 332 @"public Script() { } " +
350 compileScript + 333 compileScript +
351 "} }\r\n"; 334 "} }\r\n";
@@ -356,9 +339,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
356 { 339 {
357 compileScript = String.Empty + 340 compileScript = String.Empty +
358 "using OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog; " + 341 "using OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog; " +
359 "using OpenSim.Region.ScriptEngine.Common; using OpenSim.Region.ScriptEngine.Shared; using System.Collections.Generic;\r\n" + 342 "using OpenSim.Region.ScriptEngine.Shared; using System.Collections.Generic;\r\n" +
360 String.Empty + "namespace SecondLife { " + 343 String.Empty + "namespace SecondLife { " +
361 String.Empty + "public class Script : OpenSim.Region.ScriptEngine.Common.ScriptBaseClass { \r\n" + 344 String.Empty + "public class Script : OpenSim.Region.ScriptEngine.Shared.ScriptBase.ScriptBaseClass { \r\n" +
362 //@"public Script() { } " + 345 //@"public Script() { } " +
363 @"static OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog.YP YP=null; " + 346 @"static OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog.YP YP=null; " +
364 @"public Script() { YP= new OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog.YP(); } "+ 347 @"public Script() { YP= new OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.YieldProlog.YP(); } "+
@@ -371,9 +354,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
371 private static string CreateVBCompilerScript(string compileScript) 354 private static string CreateVBCompilerScript(string compileScript)
372 { 355 {
373 compileScript = String.Empty + 356 compileScript = String.Empty +
374 "Imports OpenSim.Region.ScriptEngine.Common: Imports OpenSim.Region.ScriptEngine.Shared: Imports System.Collections.Generic: " + 357 "Imports OpenSim.Region.ScriptEngine.Shared: Imports System.Collections.Generic: " +
375 String.Empty + "NameSpace SecondLife:" + 358 String.Empty + "NameSpace SecondLife:" +
376 String.Empty + "Public Class Script: Inherits OpenSim.Region.ScriptEngine.Common.ScriptBaseClass: " + 359 String.Empty + "Public Class Script: Inherits OpenSim.Region.ScriptEngine.Shared.ScriptBase.ScriptBaseClass: " +
377 "\r\nPublic Sub New()\r\nEnd Sub: " + 360 "\r\nPublic Sub New()\r\nEnd Sub: " +
378 compileScript + 361 compileScript +
379 ":End Class :End Namespace\r\n"; 362 ":End Class :End Namespace\r\n";
@@ -439,9 +422,13 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
439 string rootPath = Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory); 422 string rootPath = Path.GetDirectoryName(AppDomain.CurrentDomain.BaseDirectory);
440 string rootPathSE = Path.GetDirectoryName(GetType().Assembly.Location); 423 string rootPathSE = Path.GetDirectoryName(GetType().Assembly.Location);
441 //Console.WriteLine("Assembly location: " + rootPath); 424 //Console.WriteLine("Assembly location: " + rootPath);
442 parameters.ReferencedAssemblies.Add(Path.Combine(rootPath, "OpenSim.Region.ScriptEngine.Common.dll"));
443 parameters.ReferencedAssemblies.Add(Path.Combine(rootPath, "OpenSim.Region.ScriptEngine.Shared.dll")); 425 parameters.ReferencedAssemblies.Add(Path.Combine(rootPath, "OpenSim.Region.ScriptEngine.Shared.dll"));
444 parameters.ReferencedAssemblies.Add(Path.Combine(rootPathSE, "OpenSim.Region.ScriptEngine.DotNetEngine.dll")); 426 parameters.ReferencedAssemblies.Add(Path.Combine(rootPath, "OpenSim.Region.ScriptEngine.Shared.Api.Runtime.dll"));
427
428 if (lang == enumCompileType.yp)
429 {
430 parameters.ReferencedAssemblies.Add(Path.Combine(rootPath, "OpenSim.Region.ScriptEngine.Shared.YieldProlog.dll"));
431 }
445 432
446 //parameters.ReferencedAssemblies.Add("OpenSim.Region.Environment"); 433 //parameters.ReferencedAssemblies.Add("OpenSim.Region.Environment");
447 parameters.GenerateExecutable = false; 434 parameters.GenerateExecutable = false;
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptEngine.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptEngine.cs
index 6a3f388..a2b5621 100644
--- a/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptEngine.cs
+++ b/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptEngine.cs
@@ -36,7 +36,7 @@ using OpenSim.Region.Environment.Scenes;
36using OpenSim.Region.ScriptEngine.Interfaces; 36using OpenSim.Region.ScriptEngine.Interfaces;
37using OpenMetaverse; 37using OpenMetaverse;
38using OpenSim.Region.ScriptEngine.Shared; 38using OpenSim.Region.ScriptEngine.Shared;
39using OpenSim.Region.ScriptEngine.Common; 39using OpenSim.Region.ScriptEngine.Shared.ScriptBase;
40 40
41namespace OpenSim.Region.ScriptEngine.DotNetEngine 41namespace OpenSim.Region.ScriptEngine.DotNetEngine
42{ 42{
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs
index 99f61cd..32e1df1 100644
--- a/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs
+++ b/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs
@@ -31,13 +31,14 @@ using log4net;
31using OpenMetaverse; 31using OpenMetaverse;
32using OpenSim.Framework; 32using OpenSim.Framework;
33using OpenSim.Region.Environment.Scenes; 33using OpenSim.Region.Environment.Scenes;
34using OpenSim.Region.ScriptEngine.Common; 34using OpenSim.Region.ScriptEngine.Interfaces;
35using OpenSim.Region.ScriptEngine.Shared; 35using OpenSim.Region.ScriptEngine.Shared;
36using OpenSim.Region.ScriptEngine.Shared.Api; 36using OpenSim.Region.ScriptEngine.Shared.Api;
37using System.Collections.Generic; 37using System.Collections.Generic;
38using System.IO; 38using System.IO;
39using System.Runtime.Serialization.Formatters.Binary; 39using System.Runtime.Serialization.Formatters.Binary;
40using System.Threading; 40using System.Threading;
41using OpenSim.Region.ScriptEngine.Shared.ScriptBase;
41 42
42namespace OpenSim.Region.ScriptEngine.DotNetEngine 43namespace OpenSim.Region.ScriptEngine.DotNetEngine
43{ 44{
@@ -446,7 +447,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
446 447
447 detparms[id] = qParams; 448 detparms[id] = qParams;
448 if (id.Running) 449 if (id.Running)
449 id.Script.Exec.ExecuteEvent(id.State, FunctionName, args); 450 id.Script.ExecuteEvent(id.State, FunctionName, args);
450 detparms.Remove(id); 451 detparms.Remove(id);
451 } 452 }
452 453
@@ -470,8 +471,8 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
470 { 471 {
471 return 0; 472 return 0;
472 } 473 }
473 ExecutorBase.scriptEvents evflags = 474 int evflags = id.Script.GetStateEventFlags(id.State);
474 id.Script.Exec.GetStateEventFlags(id.State); 475
475 return (int)evflags; 476 return (int)evflags;
476 } 477 }
477 catch (Exception) 478 catch (Exception)