diff options
author | Tedd Hansen | 2008-01-12 14:30:22 +0000 |
---|---|---|
committer | Tedd Hansen | 2008-01-12 14:30:22 +0000 |
commit | bacbade369a5244f9bcc611488b59f3bd4c8a564 (patch) | |
tree | 2cd909eff401066a69dba96615cbf736fdd73be5 /OpenSim/Region/ScriptEngine/DotNetEngine/Compiler | |
parent | * Trying something to see if it helps teleports and border crossings (diff) | |
download | opensim-SC-bacbade369a5244f9bcc611488b59f3bd4c8a564.zip opensim-SC-bacbade369a5244f9bcc611488b59f3bd4c8a564.tar.gz opensim-SC-bacbade369a5244f9bcc611488b59f3bd4c8a564.tar.bz2 opensim-SC-bacbade369a5244f9bcc611488b59f3bd4c8a564.tar.xz |
Major reorganizing of DotNetEngine. Moved common script engine parts to ScriptEngine.Common, only .Net-specific code in DotNetEngine. AppDomains, event handling, event execution queue and multithreading, script load/unload queue, etc has been moved to ScriptEngine.Common.
Loads of things has been put into interfaces instead of the specific class.
We are now one step closer to ScriptServer, and its very easy to implement new script languages. Just a few lines required to make them a OpenSim script module with all its glory.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Common/LSL_BaseClass.cs (renamed from OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL_BaseClass.cs) | 4317 | ||||
-rw-r--r-- | OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs (renamed from OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs) | 6018 | ||||
-rw-r--r-- | OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs | 4 | ||||
-rw-r--r-- | OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL2CSConverter.cs | 2 |
4 files changed, 5170 insertions, 5171 deletions
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL_BaseClass.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BaseClass.cs index 7c1d66e..5de9a85 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL_BaseClass.cs +++ b/OpenSim/Region/ScriptEngine/Common/LSL_BaseClass.cs | |||
@@ -1,2154 +1,2165 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) Contributors, http://opensimulator.org/ | 2 | * Copyright (c) Contributors, http://opensimulator.org/ |
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | 3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. |
4 | * | 4 | * |
5 | * Redistribution and use in source and binary forms, with or without | 5 | * Redistribution and use in source and binary forms, with or without |
6 | * modification, are permitted provided that the following conditions are met: | 6 | * modification, are permitted provided that the following conditions are met: |
7 | * * Redistributions of source code must retain the above copyright | 7 | * * Redistributions of source code must retain the above copyright |
8 | * notice, this list of conditions and the following disclaimer. | 8 | * notice, this list of conditions and the following disclaimer. |
9 | * * Redistributions in binary form must reproduce the above copyright | 9 | * * Redistributions in binary form must reproduce the above copyright |
10 | * notice, this list of conditions and the following disclaimer in the | 10 | * notice, this list of conditions and the following disclaimer in the |
11 | * documentation and/or other materials provided with the distribution. | 11 | * documentation and/or other materials provided with the distribution. |
12 | * * Neither the name of the OpenSim Project nor the | 12 | * * Neither the name of the OpenSim Project nor the |
13 | * names of its contributors may be used to endorse or promote products | 13 | * names of its contributors may be used to endorse or promote products |
14 | * derived from this software without specific prior written permission. | 14 | * derived from this software without specific prior written permission. |
15 | * | 15 | * |
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY | 16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY |
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | 17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | 19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY |
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | 20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | 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 | 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 | 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 | 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. | 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | * | 26 | * |
27 | */ | 27 | */ |
28 | 28 | ||
29 | using System; | 29 | using System; |
30 | using System.Collections.Generic; | 30 | using System.Collections.Generic; |
31 | using System.Runtime.Remoting.Lifetime; | 31 | using System.Runtime.Remoting.Lifetime; |
32 | using System.Threading; | 32 | using System.Threading; |
33 | using OpenSim.Region.ScriptEngine.Common; | 33 | using OpenSim.Region.ScriptEngine.Common; |
34 | using integer = System.Int32; | 34 | using integer = System.Int32; |
35 | using key = System.String; | 35 | using key = System.String; |
36 | using vector = OpenSim.Region.ScriptEngine.Common.LSL_Types.Vector3; | 36 | using vector = OpenSim.Region.ScriptEngine.Common.LSL_Types.Vector3; |
37 | using rotation = OpenSim.Region.ScriptEngine.Common.LSL_Types.Quaternion; | 37 | using rotation = OpenSim.Region.ScriptEngine.Common.LSL_Types.Quaternion; |
38 | 38 | ||
39 | namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL | 39 | namespace OpenSim.Region.ScriptEngine.Common |
40 | { | 40 | { |
41 | //[Serializable] | 41 | public class LSL_BaseClass : MarshalByRefObject, LSL_BuiltIn_Commands_Interface, IScript |
42 | public class LSL_BaseClass : MarshalByRefObject, LSL_BuiltIn_Commands_Interface, IScript | 42 | { |
43 | { | 43 | |
44 | 44 | // | |
45 | // | 45 | // Included as base for any LSL-script that is compiled. |
46 | // Included as base for any LSL-script that is compiled. | 46 | // 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. |
47 | // 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. | 47 | // |
48 | // | 48 | // Security note: This script will be running inside an restricted AppDomain. Currently AppDomain is not very restricted. |
49 | // Security note: This script will be running inside an restricted AppDomain. Currently AppDomain is not very restricted.zxs | 49 | // |
50 | // | 50 | |
51 | 51 | // Object never expires | |
52 | // Object never expires | 52 | public override Object InitializeLifetimeService() |
53 | public override Object InitializeLifetimeService() | 53 | { |
54 | { | 54 | //Console.WriteLine("LSL_BaseClass: InitializeLifetimeService()"); |
55 | //Console.WriteLine("LSL_BaseClass: InitializeLifetimeService()"); | 55 | // return null; |
56 | // return null; | 56 | ILease lease = (ILease)base.InitializeLifetimeService(); |
57 | ILease lease = (ILease)base.InitializeLifetimeService(); | 57 | |
58 | 58 | if (lease.CurrentState == LeaseState.Initial) | |
59 | if (lease.CurrentState == LeaseState.Initial) | 59 | { |
60 | { | 60 | lease.InitialLeaseTime = TimeSpan.Zero; // TimeSpan.FromMinutes(1); |
61 | lease.InitialLeaseTime = TimeSpan.Zero; // TimeSpan.FromMinutes(1); | 61 | //lease.SponsorshipTimeout = TimeSpan.FromMinutes(2); |
62 | //lease.SponsorshipTimeout = TimeSpan.FromMinutes(2); | 62 | //lease.RenewOnCallTime = TimeSpan.FromSeconds(2); |
63 | //lease.RenewOnCallTime = TimeSpan.FromSeconds(2); | 63 | } |
64 | } | 64 | return lease; |
65 | return lease; | 65 | } |
66 | } | 66 | |
67 | 67 | ||
68 | 68 | private Executor m_Exec; | |
69 | private Executor m_Exec; | 69 | |
70 | 70 | Executor IScript.Exec | |
71 | public Executor Exec | 71 | { |
72 | { | 72 | get |
73 | get | 73 | { |
74 | { | 74 | if (m_Exec == null) |
75 | if (m_Exec == null) | 75 | m_Exec = new Executor(this); |
76 | m_Exec = new Executor(this); | 76 | return m_Exec; |
77 | return m_Exec; | 77 | } |
78 | } | 78 | } |
79 | } | 79 | |
80 | 80 | ||
81 | public LSL_BuiltIn_Commands_Interface m_LSL_Functions; | 81 | public LSL_BuiltIn_Commands_Interface m_LSL_Functions; |
82 | public string SourceCode = ""; | 82 | private string _Source = ""; |
83 | 83 | public string Source | |
84 | public LSL_BaseClass() | 84 | { |
85 | { | 85 | get |
86 | } | 86 | { |
87 | 87 | return _Source; | |
88 | public string State() | 88 | } |
89 | { | 89 | set { _Source = value; } |
90 | return m_LSL_Functions.State(); | 90 | } |
91 | } | 91 | |
92 | 92 | ||
93 | 93 | public LSL_BaseClass() | |
94 | public void Start(LSL_BuiltIn_Commands_Interface LSL_Functions) | 94 | { |
95 | { | 95 | } |
96 | m_LSL_Functions = LSL_Functions; | 96 | |
97 | 97 | public string State() | |
98 | //MainLog.Instance.Notice("ScriptEngine", "LSL_BaseClass.Start() called."); | 98 | { |
99 | 99 | return m_LSL_Functions.State(); | |
100 | // Get this AppDomain's settings and display some of them. | 100 | } |
101 | AppDomainSetup ads = AppDomain.CurrentDomain.SetupInformation; | 101 | |
102 | Console.WriteLine("AppName={0}, AppBase={1}, ConfigFile={2}", | 102 | |
103 | ads.ApplicationName, | 103 | |
104 | ads.ApplicationBase, | 104 | public void Start(LSL_BuiltIn_Commands_Interface LSL_Functions) |
105 | ads.ConfigurationFile | 105 | { |
106 | ); | 106 | m_LSL_Functions = LSL_Functions; |
107 | 107 | ||
108 | // Display the name of the calling AppDomain and the name | 108 | //MainLog.Instance.Notice("ScriptEngine", "LSL_BaseClass.Start() called."); |
109 | // of the second domain. | 109 | |
110 | // NOTE: The application's thread has transitioned between | 110 | // Get this AppDomain's settings and display some of them. |
111 | // AppDomains. | 111 | AppDomainSetup ads = AppDomain.CurrentDomain.SetupInformation; |
112 | Console.WriteLine("Calling to '{0}'.", | 112 | Console.WriteLine("AppName={0}, AppBase={1}, ConfigFile={2}", |
113 | Thread.GetDomain().FriendlyName | 113 | ads.ApplicationName, |
114 | ); | 114 | ads.ApplicationBase, |
115 | 115 | ads.ConfigurationFile | |
116 | return; | 116 | ); |
117 | } | 117 | |
118 | 118 | // Display the name of the calling AppDomain and the name | |
119 | 119 | // of the second domain. | |
120 | // | 120 | // NOTE: The application's thread has transitioned between |
121 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs | 121 | // AppDomains. |
122 | // | 122 | Console.WriteLine("Calling to '{0}'.", |
123 | // They are only forwarders to LSL_BuiltIn_Commands.cs | 123 | Thread.GetDomain().FriendlyName |
124 | // | 124 | ); |
125 | public double llSin(double f) | 125 | |
126 | { | 126 | return; |
127 | return m_LSL_Functions.llSin(f); | 127 | } |
128 | } | 128 | |
129 | 129 | ||
130 | public double llCos(double f) | 130 | // |
131 | { | 131 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs |
132 | return m_LSL_Functions.llCos(f); | 132 | // |
133 | } | 133 | // They are only forwarders to LSL_BuiltIn_Commands.cs |
134 | 134 | // | |
135 | public double llTan(double f) | 135 | public double llSin(double f) |
136 | { | 136 | { |
137 | return m_LSL_Functions.llTan(f); | 137 | return m_LSL_Functions.llSin(f); |
138 | } | 138 | } |
139 | 139 | ||
140 | public double llAtan2(double x, double y) | 140 | public double llCos(double f) |
141 | { | 141 | { |
142 | return m_LSL_Functions.llAtan2(x, y); | 142 | return m_LSL_Functions.llCos(f); |
143 | } | 143 | } |
144 | 144 | ||
145 | public double llSqrt(double f) | 145 | public double llTan(double f) |
146 | { | 146 | { |
147 | return m_LSL_Functions.llSqrt(f); | 147 | return m_LSL_Functions.llTan(f); |
148 | } | 148 | } |
149 | 149 | ||
150 | public double llPow(double fbase, double fexponent) | 150 | public double llAtan2(double x, double y) |
151 | { | 151 | { |
152 | return m_LSL_Functions.llPow(fbase, fexponent); | 152 | return m_LSL_Functions.llAtan2(x, y); |
153 | } | 153 | } |
154 | 154 | ||
155 | public int llAbs(int i) | 155 | public double llSqrt(double f) |
156 | { | 156 | { |
157 | return m_LSL_Functions.llAbs(i); | 157 | return m_LSL_Functions.llSqrt(f); |
158 | } | 158 | } |
159 | 159 | ||
160 | public double llFabs(double f) | 160 | public double llPow(double fbase, double fexponent) |
161 | { | 161 | { |
162 | return m_LSL_Functions.llFabs(f); | 162 | return m_LSL_Functions.llPow(fbase, fexponent); |
163 | } | 163 | } |
164 | 164 | ||
165 | public double llFrand(double mag) | 165 | public int llAbs(int i) |
166 | { | 166 | { |
167 | return m_LSL_Functions.llFrand(mag); | 167 | return m_LSL_Functions.llAbs(i); |
168 | } | 168 | } |
169 | 169 | ||
170 | public int llFloor(double f) | 170 | public double llFabs(double f) |
171 | { | 171 | { |
172 | return m_LSL_Functions.llFloor(f); | 172 | return m_LSL_Functions.llFabs(f); |
173 | } | 173 | } |
174 | 174 | ||
175 | public int llCeil(double f) | 175 | public double llFrand(double mag) |
176 | { | 176 | { |
177 | return m_LSL_Functions.llCeil(f); | 177 | return m_LSL_Functions.llFrand(mag); |
178 | } | 178 | } |
179 | 179 | ||
180 | public int llRound(double f) | 180 | public int llFloor(double f) |
181 | { | 181 | { |
182 | return m_LSL_Functions.llRound(f); | 182 | return m_LSL_Functions.llFloor(f); |
183 | } | 183 | } |
184 | 184 | ||
185 | public double llVecMag(vector v) | 185 | public int llCeil(double f) |
186 | { | 186 | { |
187 | return m_LSL_Functions.llVecMag(v); | 187 | return m_LSL_Functions.llCeil(f); |
188 | } | 188 | } |
189 | 189 | ||
190 | public vector llVecNorm(vector v) | 190 | public int llRound(double f) |
191 | { | 191 | { |
192 | return m_LSL_Functions.llVecNorm(v); | 192 | return m_LSL_Functions.llRound(f); |
193 | } | 193 | } |
194 | 194 | ||
195 | public double llVecDist(vector a, vector b) | 195 | public double llVecMag(vector v) |
196 | { | 196 | { |
197 | return m_LSL_Functions.llVecDist(a, b); | 197 | return m_LSL_Functions.llVecMag(v); |
198 | } | 198 | } |
199 | 199 | ||
200 | public vector llRot2Euler(rotation r) | 200 | public vector llVecNorm(vector v) |
201 | { | 201 | { |
202 | return m_LSL_Functions.llRot2Euler(r); | 202 | return m_LSL_Functions.llVecNorm(v); |
203 | } | 203 | } |
204 | 204 | ||
205 | public rotation llEuler2Rot(vector v) | 205 | public double llVecDist(vector a, vector b) |
206 | { | 206 | { |
207 | return m_LSL_Functions.llEuler2Rot(v); | 207 | return m_LSL_Functions.llVecDist(a, b); |
208 | } | 208 | } |
209 | 209 | ||
210 | public rotation llAxes2Rot(vector fwd, vector left, vector up) | 210 | public vector llRot2Euler(rotation r) |
211 | { | 211 | { |
212 | return m_LSL_Functions.llAxes2Rot(fwd, left, up); | 212 | return m_LSL_Functions.llRot2Euler(r); |
213 | } | 213 | } |
214 | 214 | ||
215 | public vector llRot2Fwd(rotation r) | 215 | public rotation llEuler2Rot(vector v) |
216 | { | 216 | { |
217 | return m_LSL_Functions.llRot2Fwd(r); | 217 | return m_LSL_Functions.llEuler2Rot(v); |
218 | } | 218 | } |
219 | 219 | ||
220 | public vector llRot2Left(rotation r) | 220 | public rotation llAxes2Rot(vector fwd, vector left, vector up) |
221 | { | 221 | { |
222 | return m_LSL_Functions.llRot2Left(r); | 222 | return m_LSL_Functions.llAxes2Rot(fwd, left, up); |
223 | } | 223 | } |
224 | 224 | ||
225 | public vector llRot2Up(rotation r) | 225 | public vector llRot2Fwd(rotation r) |
226 | { | 226 | { |
227 | return m_LSL_Functions.llRot2Up(r); | 227 | return m_LSL_Functions.llRot2Fwd(r); |
228 | } | 228 | } |
229 | 229 | ||
230 | public rotation llRotBetween(vector start, vector end) | 230 | public vector llRot2Left(rotation r) |
231 | { | 231 | { |
232 | return m_LSL_Functions.llRotBetween(start, end); | 232 | return m_LSL_Functions.llRot2Left(r); |
233 | } | 233 | } |
234 | 234 | ||
235 | public void llWhisper(int channelID, string text) | 235 | public vector llRot2Up(rotation r) |
236 | { | 236 | { |
237 | m_LSL_Functions.llWhisper(channelID, text); | 237 | return m_LSL_Functions.llRot2Up(r); |
238 | } | 238 | } |
239 | 239 | ||
240 | public void llSay(int channelID, string text) | 240 | public rotation llRotBetween(vector start, vector end) |
241 | { | 241 | { |
242 | m_LSL_Functions.llSay(channelID, text); | 242 | return m_LSL_Functions.llRotBetween(start, end); |
243 | } | 243 | } |
244 | 244 | ||
245 | // | 245 | public void llWhisper(int channelID, string text) |
246 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs | 246 | { |
247 | // | 247 | m_LSL_Functions.llWhisper(channelID, text); |
248 | public void llShout(int channelID, string text) | 248 | } |
249 | { | 249 | |
250 | m_LSL_Functions.llShout(channelID, text); | 250 | public void llSay(int channelID, string text) |
251 | } | 251 | { |
252 | 252 | m_LSL_Functions.llSay(channelID, text); | |
253 | public int llListen(int channelID, string name, string ID, string msg) | 253 | } |
254 | { | 254 | |
255 | return m_LSL_Functions.llListen(channelID, name, ID, msg); | 255 | // |
256 | } | 256 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs |
257 | 257 | // | |
258 | public void llListenControl(int number, int active) | 258 | public void llShout(int channelID, string text) |
259 | { | 259 | { |
260 | m_LSL_Functions.llListenControl(number, active); | 260 | m_LSL_Functions.llShout(channelID, text); |
261 | } | 261 | } |
262 | 262 | ||
263 | public void llListenRemove(int number) | 263 | public int llListen(int channelID, string name, string ID, string msg) |
264 | { | 264 | { |
265 | m_LSL_Functions.llListenRemove(number); | 265 | return m_LSL_Functions.llListen(channelID, name, ID, msg); |
266 | } | 266 | } |
267 | 267 | ||
268 | public void llSensor(string name, string id, int type, double range, double arc) | 268 | public void llListenControl(int number, int active) |
269 | { | 269 | { |
270 | m_LSL_Functions.llSensor(name, id, type, range, arc); | 270 | m_LSL_Functions.llListenControl(number, active); |
271 | } | 271 | } |
272 | 272 | ||
273 | public void llSensorRepeat(string name, string id, int type, double range, double arc, double rate) | 273 | public void llListenRemove(int number) |
274 | { | 274 | { |
275 | m_LSL_Functions.llSensorRepeat(name, id, type, range, arc, rate); | 275 | m_LSL_Functions.llListenRemove(number); |
276 | } | 276 | } |
277 | 277 | ||
278 | public void llSensorRemove() | 278 | public void llSensor(string name, string id, int type, double range, double arc) |
279 | { | 279 | { |
280 | m_LSL_Functions.llSensorRemove(); | 280 | m_LSL_Functions.llSensor(name, id, type, range, arc); |
281 | } | 281 | } |
282 | 282 | ||
283 | public string llDetectedName(int number) | 283 | public void llSensorRepeat(string name, string id, int type, double range, double arc, double rate) |
284 | { | 284 | { |
285 | return m_LSL_Functions.llDetectedName(number); | 285 | m_LSL_Functions.llSensorRepeat(name, id, type, range, arc, rate); |
286 | } | 286 | } |
287 | 287 | ||
288 | public string llDetectedKey(int number) | 288 | public void llSensorRemove() |
289 | { | 289 | { |
290 | return m_LSL_Functions.llDetectedKey(number); | 290 | m_LSL_Functions.llSensorRemove(); |
291 | } | 291 | } |
292 | 292 | ||
293 | public string llDetectedOwner(int number) | 293 | public string llDetectedName(int number) |
294 | { | 294 | { |
295 | return m_LSL_Functions.llDetectedOwner(number); | 295 | return m_LSL_Functions.llDetectedName(number); |
296 | } | 296 | } |
297 | 297 | ||
298 | public int llDetectedType(int number) | 298 | public string llDetectedKey(int number) |
299 | { | 299 | { |
300 | return m_LSL_Functions.llDetectedType(number); | 300 | return m_LSL_Functions.llDetectedKey(number); |
301 | } | 301 | } |
302 | 302 | ||
303 | public vector llDetectedPos(int number) | 303 | public string llDetectedOwner(int number) |
304 | { | 304 | { |
305 | return m_LSL_Functions.llDetectedPos(number); | 305 | return m_LSL_Functions.llDetectedOwner(number); |
306 | } | 306 | } |
307 | 307 | ||
308 | public vector llDetectedVel(int number) | 308 | public int llDetectedType(int number) |
309 | { | 309 | { |
310 | return m_LSL_Functions.llDetectedVel(number); | 310 | return m_LSL_Functions.llDetectedType(number); |
311 | } | 311 | } |
312 | 312 | ||
313 | public vector llDetectedGrab(int number) | 313 | public vector llDetectedPos(int number) |
314 | { | 314 | { |
315 | return m_LSL_Functions.llDetectedGrab(number); | 315 | return m_LSL_Functions.llDetectedPos(number); |
316 | } | 316 | } |
317 | 317 | ||
318 | public rotation llDetectedRot(int number) | 318 | public vector llDetectedVel(int number) |
319 | { | 319 | { |
320 | return m_LSL_Functions.llDetectedRot(number); | 320 | return m_LSL_Functions.llDetectedVel(number); |
321 | } | 321 | } |
322 | 322 | ||
323 | public int llDetectedGroup(int number) | 323 | public vector llDetectedGrab(int number) |
324 | { | 324 | { |
325 | return m_LSL_Functions.llDetectedGroup(number); | 325 | return m_LSL_Functions.llDetectedGrab(number); |
326 | } | 326 | } |
327 | 327 | ||
328 | public int llDetectedLinkNumber(int number) | 328 | public rotation llDetectedRot(int number) |
329 | { | 329 | { |
330 | return m_LSL_Functions.llDetectedLinkNumber(number); | 330 | return m_LSL_Functions.llDetectedRot(number); |
331 | } | 331 | } |
332 | 332 | ||
333 | // | 333 | public int llDetectedGroup(int number) |
334 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs | 334 | { |
335 | // | 335 | return m_LSL_Functions.llDetectedGroup(number); |
336 | public void llDie() | 336 | } |
337 | { | 337 | |
338 | m_LSL_Functions.llDie(); | 338 | public int llDetectedLinkNumber(int number) |
339 | } | 339 | { |
340 | 340 | return m_LSL_Functions.llDetectedLinkNumber(number); | |
341 | public double llGround(vector offset) | 341 | } |
342 | { | 342 | |
343 | return m_LSL_Functions.llGround(offset); | 343 | // |
344 | } | 344 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs |
345 | 345 | // | |
346 | public double llCloud(vector offset) | 346 | public void llDie() |
347 | { | 347 | { |
348 | return m_LSL_Functions.llCloud(offset); | 348 | m_LSL_Functions.llDie(); |
349 | } | 349 | } |
350 | 350 | ||
351 | public vector llWind(vector offset) | 351 | public double llGround(vector offset) |
352 | { | 352 | { |
353 | return m_LSL_Functions.llWind(offset); | 353 | return m_LSL_Functions.llGround(offset); |
354 | } | 354 | } |
355 | 355 | ||
356 | public void llSetStatus(int status, int value) | 356 | public double llCloud(vector offset) |
357 | { | 357 | { |
358 | m_LSL_Functions.llSetStatus(status, value); | 358 | return m_LSL_Functions.llCloud(offset); |
359 | } | 359 | } |
360 | 360 | ||
361 | public int llGetStatus(int status) | 361 | public vector llWind(vector offset) |
362 | { | 362 | { |
363 | return m_LSL_Functions.llGetStatus(status); | 363 | return m_LSL_Functions.llWind(offset); |
364 | } | 364 | } |
365 | 365 | ||
366 | public void llSetScale(vector scale) | 366 | public void llSetStatus(int status, int value) |
367 | { | 367 | { |
368 | m_LSL_Functions.llSetScale(scale); | 368 | m_LSL_Functions.llSetStatus(status, value); |
369 | } | 369 | } |
370 | 370 | ||
371 | public vector llGetScale() | 371 | public int llGetStatus(int status) |
372 | { | 372 | { |
373 | return m_LSL_Functions.llGetScale(); | 373 | return m_LSL_Functions.llGetStatus(status); |
374 | } | 374 | } |
375 | 375 | ||
376 | public void llSetColor(vector color, int face) | 376 | public void llSetScale(vector scale) |
377 | { | 377 | { |
378 | m_LSL_Functions.llSetColor(color, face); | 378 | m_LSL_Functions.llSetScale(scale); |
379 | } | 379 | } |
380 | 380 | ||
381 | public double llGetAlpha(int face) | 381 | public vector llGetScale() |
382 | { | 382 | { |
383 | return m_LSL_Functions.llGetAlpha(face); | 383 | return m_LSL_Functions.llGetScale(); |
384 | } | 384 | } |
385 | 385 | ||
386 | public void llSetAlpha(double alpha, int face) | 386 | public void llSetColor(vector color, int face) |
387 | { | 387 | { |
388 | m_LSL_Functions.llSetAlpha(alpha, face); | 388 | m_LSL_Functions.llSetColor(color, face); |
389 | } | 389 | } |
390 | 390 | ||
391 | public vector llGetColor(int face) | 391 | public double llGetAlpha(int face) |
392 | { | 392 | { |
393 | return m_LSL_Functions.llGetColor(face); | 393 | return m_LSL_Functions.llGetAlpha(face); |
394 | } | 394 | } |
395 | 395 | ||
396 | public void llSetTexture(string texture, int face) | 396 | public void llSetAlpha(double alpha, int face) |
397 | { | 397 | { |
398 | m_LSL_Functions.llSetTexture(texture, face); | 398 | m_LSL_Functions.llSetAlpha(alpha, face); |
399 | } | 399 | } |
400 | 400 | ||
401 | public void llScaleTexture(double u, double v, int face) | 401 | public vector llGetColor(int face) |
402 | { | 402 | { |
403 | m_LSL_Functions.llScaleTexture(u, v, face); | 403 | return m_LSL_Functions.llGetColor(face); |
404 | } | 404 | } |
405 | 405 | ||
406 | public void llOffsetTexture(double u, double v, int face) | 406 | public void llSetTexture(string texture, int face) |
407 | { | 407 | { |
408 | m_LSL_Functions.llOffsetTexture(u, v, face); | 408 | m_LSL_Functions.llSetTexture(texture, face); |
409 | } | 409 | } |
410 | 410 | ||
411 | public void llRotateTexture(double rotation, int face) | 411 | public void llScaleTexture(double u, double v, int face) |
412 | { | 412 | { |
413 | m_LSL_Functions.llRotateTexture(rotation, face); | 413 | m_LSL_Functions.llScaleTexture(u, v, face); |
414 | } | 414 | } |
415 | 415 | ||
416 | public string llGetTexture(int face) | 416 | public void llOffsetTexture(double u, double v, int face) |
417 | { | 417 | { |
418 | return m_LSL_Functions.llGetTexture(face); | 418 | m_LSL_Functions.llOffsetTexture(u, v, face); |
419 | } | 419 | } |
420 | 420 | ||
421 | // | 421 | public void llRotateTexture(double rotation, int face) |
422 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs | 422 | { |
423 | // | 423 | m_LSL_Functions.llRotateTexture(rotation, face); |
424 | public void llSetPos(vector pos) | 424 | } |
425 | { | 425 | |
426 | m_LSL_Functions.llSetPos(pos); | 426 | public string llGetTexture(int face) |
427 | } | 427 | { |
428 | 428 | return m_LSL_Functions.llGetTexture(face); | |
429 | public vector llGetPos() | 429 | } |
430 | { | 430 | |
431 | return m_LSL_Functions.llGetPos(); | 431 | // |
432 | } | 432 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs |
433 | 433 | // | |
434 | public vector llGetLocalPos() | 434 | public void llSetPos(vector pos) |
435 | { | 435 | { |
436 | return m_LSL_Functions.llGetLocalPos(); | 436 | m_LSL_Functions.llSetPos(pos); |
437 | } | 437 | } |
438 | 438 | ||
439 | public void llSetRot(rotation rot) | 439 | public vector llGetPos() |
440 | { | 440 | { |
441 | m_LSL_Functions.llSetRot(rot); | 441 | return m_LSL_Functions.llGetPos(); |
442 | } | 442 | } |
443 | 443 | ||
444 | public rotation llGetRot() | 444 | public vector llGetLocalPos() |
445 | { | 445 | { |
446 | return m_LSL_Functions.llGetRot(); | 446 | return m_LSL_Functions.llGetLocalPos(); |
447 | } | 447 | } |
448 | 448 | ||
449 | public rotation llGetLocalRot() | 449 | public void llSetRot(rotation rot) |
450 | { | 450 | { |
451 | return m_LSL_Functions.llGetLocalRot(); | 451 | m_LSL_Functions.llSetRot(rot); |
452 | } | 452 | } |
453 | 453 | ||
454 | public void llSetForce(vector force, int local) | 454 | public rotation llGetRot() |
455 | { | 455 | { |
456 | m_LSL_Functions.llSetForce(force, local); | 456 | return m_LSL_Functions.llGetRot(); |
457 | } | 457 | } |
458 | 458 | ||
459 | public vector llGetForce() | 459 | public rotation llGetLocalRot() |
460 | { | 460 | { |
461 | return m_LSL_Functions.llGetForce(); | 461 | return m_LSL_Functions.llGetLocalRot(); |
462 | } | 462 | } |
463 | 463 | ||
464 | public int llTarget(vector position, double range) | 464 | public void llSetForce(vector force, int local) |
465 | { | 465 | { |
466 | return m_LSL_Functions.llTarget(position, range); | 466 | m_LSL_Functions.llSetForce(force, local); |
467 | } | 467 | } |
468 | 468 | ||
469 | public void llTargetRemove(int number) | 469 | public vector llGetForce() |
470 | { | 470 | { |
471 | m_LSL_Functions.llTargetRemove(number); | 471 | return m_LSL_Functions.llGetForce(); |
472 | } | 472 | } |
473 | 473 | ||
474 | public int llRotTarget(rotation rot, double error) | 474 | public int llTarget(vector position, double range) |
475 | { | 475 | { |
476 | return m_LSL_Functions.llRotTarget(rot, error); | 476 | return m_LSL_Functions.llTarget(position, range); |
477 | } | 477 | } |
478 | 478 | ||
479 | public void llRotTargetRemove(int number) | 479 | public void llTargetRemove(int number) |
480 | { | 480 | { |
481 | m_LSL_Functions.llRotTargetRemove(number); | 481 | m_LSL_Functions.llTargetRemove(number); |
482 | } | 482 | } |
483 | 483 | ||
484 | public void llMoveToTarget(vector target, double tau) | 484 | public int llRotTarget(rotation rot, double error) |
485 | { | 485 | { |
486 | m_LSL_Functions.llMoveToTarget(target, tau); | 486 | return m_LSL_Functions.llRotTarget(rot, error); |
487 | } | 487 | } |
488 | 488 | ||
489 | public void llStopMoveToTarget() | 489 | public void llRotTargetRemove(int number) |
490 | { | 490 | { |
491 | m_LSL_Functions.llStopMoveToTarget(); | 491 | m_LSL_Functions.llRotTargetRemove(number); |
492 | } | 492 | } |
493 | 493 | ||
494 | public void llApplyImpulse(vector force, int local) | 494 | public void llMoveToTarget(vector target, double tau) |
495 | { | 495 | { |
496 | m_LSL_Functions.llApplyImpulse(force, local); | 496 | m_LSL_Functions.llMoveToTarget(target, tau); |
497 | } | 497 | } |
498 | 498 | ||
499 | // | 499 | public void llStopMoveToTarget() |
500 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs | 500 | { |
501 | // | 501 | m_LSL_Functions.llStopMoveToTarget(); |
502 | public void llApplyRotationalImpulse(vector force, int local) | 502 | } |
503 | { | 503 | |
504 | m_LSL_Functions.llApplyRotationalImpulse(force, local); | 504 | public void llApplyImpulse(vector force, int local) |
505 | } | 505 | { |
506 | 506 | m_LSL_Functions.llApplyImpulse(force, local); | |
507 | public void llSetTorque(vector torque, int local) | 507 | } |
508 | { | 508 | |
509 | m_LSL_Functions.llSetTorque(torque, local); | 509 | // |
510 | } | 510 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs |
511 | 511 | // | |
512 | public vector llGetTorque() | 512 | public void llApplyRotationalImpulse(vector force, int local) |
513 | { | 513 | { |
514 | return m_LSL_Functions.llGetTorque(); | 514 | m_LSL_Functions.llApplyRotationalImpulse(force, local); |
515 | } | 515 | } |
516 | 516 | ||
517 | public void llSetForceAndTorque(vector force, vector torque, int local) | 517 | public void llSetTorque(vector torque, int local) |
518 | { | 518 | { |
519 | m_LSL_Functions.llSetForceAndTorque(force, torque, local); | 519 | m_LSL_Functions.llSetTorque(torque, local); |
520 | } | 520 | } |
521 | 521 | ||
522 | public vector llGetVel() | 522 | public vector llGetTorque() |
523 | { | 523 | { |
524 | return m_LSL_Functions.llGetVel(); | 524 | return m_LSL_Functions.llGetTorque(); |
525 | } | 525 | } |
526 | 526 | ||
527 | public vector llGetAccel() | 527 | public void llSetForceAndTorque(vector force, vector torque, int local) |
528 | { | 528 | { |
529 | return m_LSL_Functions.llGetAccel(); | 529 | m_LSL_Functions.llSetForceAndTorque(force, torque, local); |
530 | } | 530 | } |
531 | 531 | ||
532 | public vector llGetOmega() | 532 | public vector llGetVel() |
533 | { | 533 | { |
534 | return m_LSL_Functions.llGetOmega(); | 534 | return m_LSL_Functions.llGetVel(); |
535 | } | 535 | } |
536 | 536 | ||
537 | public double llGetTimeOfDay() | 537 | public vector llGetAccel() |
538 | { | 538 | { |
539 | return m_LSL_Functions.llGetTimeOfDay(); | 539 | return m_LSL_Functions.llGetAccel(); |
540 | } | 540 | } |
541 | 541 | ||
542 | public double llGetWallclock() | 542 | public vector llGetOmega() |
543 | { | 543 | { |
544 | return m_LSL_Functions.llGetWallclock(); | 544 | return m_LSL_Functions.llGetOmega(); |
545 | } | 545 | } |
546 | 546 | ||
547 | public double llGetTime() | 547 | public double llGetTimeOfDay() |
548 | { | 548 | { |
549 | return m_LSL_Functions.llGetTime(); | 549 | return m_LSL_Functions.llGetTimeOfDay(); |
550 | } | 550 | } |
551 | 551 | ||
552 | public void llResetTime() | 552 | public double llGetWallclock() |
553 | { | 553 | { |
554 | m_LSL_Functions.llResetTime(); | 554 | return m_LSL_Functions.llGetWallclock(); |
555 | } | 555 | } |
556 | 556 | ||
557 | public double llGetAndResetTime() | 557 | public double llGetTime() |
558 | { | 558 | { |
559 | return m_LSL_Functions.llGetAndResetTime(); | 559 | return m_LSL_Functions.llGetTime(); |
560 | } | 560 | } |
561 | 561 | ||
562 | public void llSound() | 562 | public void llResetTime() |
563 | { | 563 | { |
564 | m_LSL_Functions.llSound(); | 564 | m_LSL_Functions.llResetTime(); |
565 | } | 565 | } |
566 | 566 | ||
567 | public void llPlaySound(string sound, double volume) | 567 | public double llGetAndResetTime() |
568 | { | 568 | { |
569 | m_LSL_Functions.llPlaySound(sound, volume); | 569 | return m_LSL_Functions.llGetAndResetTime(); |
570 | } | 570 | } |
571 | 571 | ||
572 | public void llLoopSound(string sound, double volume) | 572 | public void llSound() |
573 | { | 573 | { |
574 | m_LSL_Functions.llLoopSound(sound, volume); | 574 | m_LSL_Functions.llSound(); |
575 | } | 575 | } |
576 | 576 | ||
577 | public void llLoopSoundMaster(string sound, double volume) | 577 | public void llPlaySound(string sound, double volume) |
578 | { | 578 | { |
579 | m_LSL_Functions.llLoopSoundMaster(sound, volume); | 579 | m_LSL_Functions.llPlaySound(sound, volume); |
580 | } | 580 | } |
581 | 581 | ||
582 | public void llLoopSoundSlave(string sound, double volume) | 582 | public void llLoopSound(string sound, double volume) |
583 | { | 583 | { |
584 | m_LSL_Functions.llLoopSoundSlave(sound, volume); | 584 | m_LSL_Functions.llLoopSound(sound, volume); |
585 | } | 585 | } |
586 | 586 | ||
587 | public void llPlaySoundSlave(string sound, double volume) | 587 | public void llLoopSoundMaster(string sound, double volume) |
588 | { | 588 | { |
589 | m_LSL_Functions.llPlaySoundSlave(sound, volume); | 589 | m_LSL_Functions.llLoopSoundMaster(sound, volume); |
590 | } | 590 | } |
591 | 591 | ||
592 | // | 592 | public void llLoopSoundSlave(string sound, double volume) |
593 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs | 593 | { |
594 | // | 594 | m_LSL_Functions.llLoopSoundSlave(sound, volume); |
595 | public void llTriggerSound(string sound, double volume) | 595 | } |
596 | { | 596 | |
597 | m_LSL_Functions.llTriggerSound(sound, volume); | 597 | public void llPlaySoundSlave(string sound, double volume) |
598 | } | 598 | { |
599 | 599 | m_LSL_Functions.llPlaySoundSlave(sound, volume); | |
600 | public void llStopSound() | 600 | } |
601 | { | 601 | |
602 | m_LSL_Functions.llStopSound(); | 602 | // |
603 | } | 603 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs |
604 | 604 | // | |
605 | public void llPreloadSound(string sound) | 605 | public void llTriggerSound(string sound, double volume) |
606 | { | 606 | { |
607 | m_LSL_Functions.llPreloadSound(sound); | 607 | m_LSL_Functions.llTriggerSound(sound, volume); |
608 | } | 608 | } |
609 | 609 | ||
610 | public string llGetSubString(string src, int start, int end) | 610 | public void llStopSound() |
611 | { | 611 | { |
612 | return m_LSL_Functions.llGetSubString(src, start, end); | 612 | m_LSL_Functions.llStopSound(); |
613 | } | 613 | } |
614 | 614 | ||
615 | public string llDeleteSubString(string src, int start, int end) | 615 | public void llPreloadSound(string sound) |
616 | { | 616 | { |
617 | return m_LSL_Functions.llDeleteSubString(src, start, end); | 617 | m_LSL_Functions.llPreloadSound(sound); |
618 | } | 618 | } |
619 | 619 | ||
620 | public string llInsertString(string dst, int position, string src) | 620 | public string llGetSubString(string src, int start, int end) |
621 | { | 621 | { |
622 | return m_LSL_Functions.llInsertString(dst, position, src); | 622 | return m_LSL_Functions.llGetSubString(src, start, end); |
623 | } | 623 | } |
624 | 624 | ||
625 | public string llToUpper(string source) | 625 | public string llDeleteSubString(string src, int start, int end) |
626 | { | 626 | { |
627 | return m_LSL_Functions.llToUpper(source); | 627 | return m_LSL_Functions.llDeleteSubString(src, start, end); |
628 | } | 628 | } |
629 | 629 | ||
630 | public string llToLower(string source) | 630 | public string llInsertString(string dst, int position, string src) |
631 | { | 631 | { |
632 | return m_LSL_Functions.llToLower(source); | 632 | return m_LSL_Functions.llInsertString(dst, position, src); |
633 | } | 633 | } |
634 | 634 | ||
635 | public int llGiveMoney(string destination, int amount) | 635 | public string llToUpper(string source) |
636 | { | 636 | { |
637 | return m_LSL_Functions.llGiveMoney(destination, amount); | 637 | return m_LSL_Functions.llToUpper(source); |
638 | } | 638 | } |
639 | 639 | ||
640 | public void llMakeExplosion() | 640 | public string llToLower(string source) |
641 | { | 641 | { |
642 | m_LSL_Functions.llMakeExplosion(); | 642 | return m_LSL_Functions.llToLower(source); |
643 | } | 643 | } |
644 | 644 | ||
645 | public void llMakeFountain() | 645 | public int llGiveMoney(string destination, int amount) |
646 | { | 646 | { |
647 | m_LSL_Functions.llMakeFountain(); | 647 | return m_LSL_Functions.llGiveMoney(destination, amount); |
648 | } | 648 | } |
649 | 649 | ||
650 | public void llMakeSmoke() | 650 | public void llMakeExplosion() |
651 | { | 651 | { |
652 | m_LSL_Functions.llMakeSmoke(); | 652 | m_LSL_Functions.llMakeExplosion(); |
653 | } | 653 | } |
654 | 654 | ||
655 | public void llMakeFire() | 655 | public void llMakeFountain() |
656 | { | 656 | { |
657 | m_LSL_Functions.llMakeFire(); | 657 | m_LSL_Functions.llMakeFountain(); |
658 | } | 658 | } |
659 | 659 | ||
660 | public void llRezObject(string inventory, vector pos, rotation rot, int param) | 660 | public void llMakeSmoke() |
661 | { | 661 | { |
662 | m_LSL_Functions.llRezObject(inventory, pos, rot, param); | 662 | m_LSL_Functions.llMakeSmoke(); |
663 | } | 663 | } |
664 | 664 | ||
665 | public void llLookAt(vector target, double strength, double damping) | 665 | public void llMakeFire() |
666 | { | 666 | { |
667 | m_LSL_Functions.llLookAt(target, strength, damping); | 667 | m_LSL_Functions.llMakeFire(); |
668 | } | 668 | } |
669 | 669 | ||
670 | public void llStopLookAt() | 670 | public void llRezObject(string inventory, vector pos, rotation rot, int param) |
671 | { | 671 | { |
672 | m_LSL_Functions.llStopLookAt(); | 672 | m_LSL_Functions.llRezObject(inventory, pos, rot, param); |
673 | } | 673 | } |
674 | 674 | ||
675 | public void llSetTimerEvent(double sec) | 675 | public void llLookAt(vector target, double strength, double damping) |
676 | { | 676 | { |
677 | m_LSL_Functions.llSetTimerEvent(sec); | 677 | m_LSL_Functions.llLookAt(target, strength, damping); |
678 | } | 678 | } |
679 | 679 | ||
680 | public void llSleep(double sec) | 680 | public void llStopLookAt() |
681 | { | 681 | { |
682 | m_LSL_Functions.llSleep(sec); | 682 | m_LSL_Functions.llStopLookAt(); |
683 | } | 683 | } |
684 | 684 | ||
685 | // | 685 | public void llSetTimerEvent(double sec) |
686 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs | 686 | { |
687 | // | 687 | m_LSL_Functions.llSetTimerEvent(sec); |
688 | public double llGetMass() | 688 | } |
689 | { | 689 | |
690 | return m_LSL_Functions.llGetMass(); | 690 | public void llSleep(double sec) |
691 | } | 691 | { |
692 | 692 | m_LSL_Functions.llSleep(sec); | |
693 | public void llCollisionFilter(string name, string id, int accept) | 693 | } |
694 | { | 694 | |
695 | m_LSL_Functions.llCollisionFilter(name, id, accept); | 695 | // |
696 | } | 696 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs |
697 | 697 | // | |
698 | public void llTakeControls(int controls, int accept, int pass_on) | 698 | public double llGetMass() |
699 | { | 699 | { |
700 | m_LSL_Functions.llTakeControls(controls, accept, pass_on); | 700 | return m_LSL_Functions.llGetMass(); |
701 | } | 701 | } |
702 | 702 | ||
703 | public void llReleaseControls() | 703 | public void llCollisionFilter(string name, string id, int accept) |
704 | { | 704 | { |
705 | m_LSL_Functions.llReleaseControls(); | 705 | m_LSL_Functions.llCollisionFilter(name, id, accept); |
706 | } | 706 | } |
707 | 707 | ||
708 | public void llAttachToAvatar(int attachment) | 708 | public void llTakeControls(int controls, int accept, int pass_on) |
709 | { | 709 | { |
710 | m_LSL_Functions.llAttachToAvatar(attachment); | 710 | m_LSL_Functions.llTakeControls(controls, accept, pass_on); |
711 | } | 711 | } |
712 | 712 | ||
713 | public void llDetachFromAvatar() | 713 | public void llReleaseControls() |
714 | { | 714 | { |
715 | m_LSL_Functions.llDetachFromAvatar(); | 715 | m_LSL_Functions.llReleaseControls(); |
716 | } | 716 | } |
717 | 717 | ||
718 | public void llTakeCamera() | 718 | public void llAttachToAvatar(int attachment) |
719 | { | 719 | { |
720 | m_LSL_Functions.llTakeCamera(); | 720 | m_LSL_Functions.llAttachToAvatar(attachment); |
721 | } | 721 | } |
722 | 722 | ||
723 | public void llReleaseCamera() | 723 | public void llDetachFromAvatar() |
724 | { | 724 | { |
725 | m_LSL_Functions.llReleaseCamera(); | 725 | m_LSL_Functions.llDetachFromAvatar(); |
726 | } | 726 | } |
727 | 727 | ||
728 | public string llGetOwner() | 728 | public void llTakeCamera() |
729 | { | 729 | { |
730 | return m_LSL_Functions.llGetOwner(); | 730 | m_LSL_Functions.llTakeCamera(); |
731 | } | 731 | } |
732 | 732 | ||
733 | public void llInstantMessage(string user, string message) | 733 | public void llReleaseCamera() |
734 | { | 734 | { |
735 | m_LSL_Functions.llInstantMessage(user, message); | 735 | m_LSL_Functions.llReleaseCamera(); |
736 | } | 736 | } |
737 | 737 | ||
738 | public void llEmail(string address, string subject, string message) | 738 | public string llGetOwner() |
739 | { | 739 | { |
740 | m_LSL_Functions.llEmail(address, subject, message); | 740 | return m_LSL_Functions.llGetOwner(); |
741 | } | 741 | } |
742 | 742 | ||
743 | public void llGetNextEmail(string address, string subject) | 743 | public void llInstantMessage(string user, string message) |
744 | { | 744 | { |
745 | m_LSL_Functions.llGetNextEmail(address, subject); | 745 | m_LSL_Functions.llInstantMessage(user, message); |
746 | } | 746 | } |
747 | 747 | ||
748 | public string llGetKey() | 748 | public void llEmail(string address, string subject, string message) |
749 | { | 749 | { |
750 | return m_LSL_Functions.llGetKey(); | 750 | m_LSL_Functions.llEmail(address, subject, message); |
751 | } | 751 | } |
752 | 752 | ||
753 | public void llSetBuoyancy(double buoyancy) | 753 | public void llGetNextEmail(string address, string subject) |
754 | { | 754 | { |
755 | m_LSL_Functions.llSetBuoyancy(buoyancy); | 755 | m_LSL_Functions.llGetNextEmail(address, subject); |
756 | } | 756 | } |
757 | 757 | ||
758 | public void llSetHoverHeight(double height, int water, double tau) | 758 | public string llGetKey() |
759 | { | 759 | { |
760 | m_LSL_Functions.llSetHoverHeight(height, water, tau); | 760 | return m_LSL_Functions.llGetKey(); |
761 | } | 761 | } |
762 | 762 | ||
763 | public void llStopHover() | 763 | public void llSetBuoyancy(double buoyancy) |
764 | { | 764 | { |
765 | m_LSL_Functions.llStopHover(); | 765 | m_LSL_Functions.llSetBuoyancy(buoyancy); |
766 | } | 766 | } |
767 | 767 | ||
768 | public void llMinEventDelay(double delay) | 768 | public void llSetHoverHeight(double height, int water, double tau) |
769 | { | 769 | { |
770 | m_LSL_Functions.llMinEventDelay(delay); | 770 | m_LSL_Functions.llSetHoverHeight(height, water, tau); |
771 | } | 771 | } |
772 | 772 | ||
773 | public void llSoundPreload() | 773 | public void llStopHover() |
774 | { | 774 | { |
775 | m_LSL_Functions.llSoundPreload(); | 775 | m_LSL_Functions.llStopHover(); |
776 | } | 776 | } |
777 | 777 | ||
778 | public void llRotLookAt(rotation target, double strength, double damping) | 778 | public void llMinEventDelay(double delay) |
779 | { | 779 | { |
780 | m_LSL_Functions.llRotLookAt(target, strength, damping); | 780 | m_LSL_Functions.llMinEventDelay(delay); |
781 | } | 781 | } |
782 | 782 | ||
783 | // | 783 | public void llSoundPreload() |
784 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs | 784 | { |
785 | // | 785 | m_LSL_Functions.llSoundPreload(); |
786 | public int llStringLength(string str) | 786 | } |
787 | { | 787 | |
788 | return m_LSL_Functions.llStringLength(str); | 788 | public void llRotLookAt(rotation target, double strength, double damping) |
789 | } | 789 | { |
790 | 790 | m_LSL_Functions.llRotLookAt(target, strength, damping); | |
791 | public void llStartAnimation(string anim) | 791 | } |
792 | { | 792 | |
793 | m_LSL_Functions.llStartAnimation(anim); | 793 | // |
794 | } | 794 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs |
795 | 795 | // | |
796 | public void llStopAnimation(string anim) | 796 | public int llStringLength(string str) |
797 | { | 797 | { |
798 | m_LSL_Functions.llStopAnimation(anim); | 798 | return m_LSL_Functions.llStringLength(str); |
799 | } | 799 | } |
800 | 800 | ||
801 | public void llPointAt() | 801 | public void llStartAnimation(string anim) |
802 | { | 802 | { |
803 | m_LSL_Functions.llPointAt(); | 803 | m_LSL_Functions.llStartAnimation(anim); |
804 | } | 804 | } |
805 | 805 | ||
806 | public void llStopPointAt() | 806 | public void llStopAnimation(string anim) |
807 | { | 807 | { |
808 | m_LSL_Functions.llStopPointAt(); | 808 | m_LSL_Functions.llStopAnimation(anim); |
809 | } | 809 | } |
810 | 810 | ||
811 | public void llTargetOmega(vector axis, double spinrate, double gain) | 811 | public void llPointAt() |
812 | { | 812 | { |
813 | m_LSL_Functions.llTargetOmega(axis, spinrate, gain); | 813 | m_LSL_Functions.llPointAt(); |
814 | } | 814 | } |
815 | 815 | ||
816 | public int llGetStartParameter() | 816 | public void llStopPointAt() |
817 | { | 817 | { |
818 | return m_LSL_Functions.llGetStartParameter(); | 818 | m_LSL_Functions.llStopPointAt(); |
819 | } | 819 | } |
820 | 820 | ||
821 | public void llGodLikeRezObject(string inventory, vector pos) | 821 | public void llTargetOmega(vector axis, double spinrate, double gain) |
822 | { | 822 | { |
823 | m_LSL_Functions.llGodLikeRezObject(inventory, pos); | 823 | m_LSL_Functions.llTargetOmega(axis, spinrate, gain); |
824 | } | 824 | } |
825 | 825 | ||
826 | public void llRequestPermissions(string agent, int perm) | 826 | public int llGetStartParameter() |
827 | { | 827 | { |
828 | m_LSL_Functions.llRequestPermissions(agent, perm); | 828 | return m_LSL_Functions.llGetStartParameter(); |
829 | } | 829 | } |
830 | 830 | ||
831 | public string llGetPermissionsKey() | 831 | public void llGodLikeRezObject(string inventory, vector pos) |
832 | { | 832 | { |
833 | return m_LSL_Functions.llGetPermissionsKey(); | 833 | m_LSL_Functions.llGodLikeRezObject(inventory, pos); |
834 | } | 834 | } |
835 | 835 | ||
836 | public int llGetPermissions() | 836 | public void llRequestPermissions(string agent, int perm) |
837 | { | 837 | { |
838 | return m_LSL_Functions.llGetPermissions(); | 838 | m_LSL_Functions.llRequestPermissions(agent, perm); |
839 | } | 839 | } |
840 | 840 | ||
841 | public int llGetLinkNumber() | 841 | public string llGetPermissionsKey() |
842 | { | 842 | { |
843 | return m_LSL_Functions.llGetLinkNumber(); | 843 | return m_LSL_Functions.llGetPermissionsKey(); |
844 | } | 844 | } |
845 | 845 | ||
846 | public void llSetLinkColor(int linknumber, vector color, int face) | 846 | public int llGetPermissions() |
847 | { | 847 | { |
848 | m_LSL_Functions.llSetLinkColor(linknumber, color, face); | 848 | return m_LSL_Functions.llGetPermissions(); |
849 | } | 849 | } |
850 | 850 | ||
851 | public void llCreateLink(string target, int parent) | 851 | public int llGetLinkNumber() |
852 | { | 852 | { |
853 | m_LSL_Functions.llCreateLink(target, parent); | 853 | return m_LSL_Functions.llGetLinkNumber(); |
854 | } | 854 | } |
855 | 855 | ||
856 | public void llBreakLink(int linknum) | 856 | public void llSetLinkColor(int linknumber, vector color, int face) |
857 | { | 857 | { |
858 | m_LSL_Functions.llBreakLink(linknum); | 858 | m_LSL_Functions.llSetLinkColor(linknumber, color, face); |
859 | } | 859 | } |
860 | 860 | ||
861 | public void llBreakAllLinks() | 861 | public void llCreateLink(string target, int parent) |
862 | { | 862 | { |
863 | m_LSL_Functions.llBreakAllLinks(); | 863 | m_LSL_Functions.llCreateLink(target, parent); |
864 | } | 864 | } |
865 | 865 | ||
866 | public string llGetLinkKey(int linknum) | 866 | public void llBreakLink(int linknum) |
867 | { | 867 | { |
868 | return m_LSL_Functions.llGetLinkKey(linknum); | 868 | m_LSL_Functions.llBreakLink(linknum); |
869 | } | 869 | } |
870 | 870 | ||
871 | public string llGetLinkName(int linknum) | 871 | public void llBreakAllLinks() |
872 | { | 872 | { |
873 | return m_LSL_Functions.llGetLinkName(linknum); | 873 | m_LSL_Functions.llBreakAllLinks(); |
874 | } | 874 | } |
875 | 875 | ||
876 | public int llGetInventoryNumber(int type) | 876 | public string llGetLinkKey(int linknum) |
877 | { | 877 | { |
878 | return m_LSL_Functions.llGetInventoryNumber(type); | 878 | return m_LSL_Functions.llGetLinkKey(linknum); |
879 | } | 879 | } |
880 | 880 | ||
881 | public string llGetInventoryName(int type, int number) | 881 | public string llGetLinkName(int linknum) |
882 | { | 882 | { |
883 | return m_LSL_Functions.llGetInventoryName(type, number); | 883 | return m_LSL_Functions.llGetLinkName(linknum); |
884 | } | 884 | } |
885 | 885 | ||
886 | // | 886 | public int llGetInventoryNumber(int type) |
887 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs | 887 | { |
888 | // | 888 | return m_LSL_Functions.llGetInventoryNumber(type); |
889 | public void llSetScriptState(string name, int run) | 889 | } |
890 | { | 890 | |
891 | m_LSL_Functions.llSetScriptState(name, run); | 891 | public string llGetInventoryName(int type, int number) |
892 | } | 892 | { |
893 | 893 | return m_LSL_Functions.llGetInventoryName(type, number); | |
894 | public double llGetEnergy() | 894 | } |
895 | { | 895 | |
896 | return m_LSL_Functions.llGetEnergy(); | 896 | // |
897 | } | 897 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs |
898 | 898 | // | |
899 | public void llGiveInventory(string destination, string inventory) | 899 | public void llSetScriptState(string name, int run) |
900 | { | 900 | { |
901 | m_LSL_Functions.llGiveInventory(destination, inventory); | 901 | m_LSL_Functions.llSetScriptState(name, run); |
902 | } | 902 | } |
903 | 903 | ||
904 | public void llRemoveInventory(string item) | 904 | public double llGetEnergy() |
905 | { | 905 | { |
906 | m_LSL_Functions.llRemoveInventory(item); | 906 | return m_LSL_Functions.llGetEnergy(); |
907 | } | 907 | } |
908 | 908 | ||
909 | public void llSetText(string text, vector color, double alpha) | 909 | public void llGiveInventory(string destination, string inventory) |
910 | { | 910 | { |
911 | m_LSL_Functions.llSetText(text, color, alpha); | 911 | m_LSL_Functions.llGiveInventory(destination, inventory); |
912 | } | 912 | } |
913 | 913 | ||
914 | public double llWater(vector offset) | 914 | public void llRemoveInventory(string item) |
915 | { | 915 | { |
916 | return m_LSL_Functions.llWater(offset); | 916 | m_LSL_Functions.llRemoveInventory(item); |
917 | } | 917 | } |
918 | 918 | ||
919 | public void llPassTouches(int pass) | 919 | public void llSetText(string text, vector color, double alpha) |
920 | { | 920 | { |
921 | m_LSL_Functions.llPassTouches(pass); | 921 | m_LSL_Functions.llSetText(text, color, alpha); |
922 | } | 922 | } |
923 | 923 | ||
924 | public string llRequestAgentData(string id, int data) | 924 | public double llWater(vector offset) |
925 | { | 925 | { |
926 | return m_LSL_Functions.llRequestAgentData(id, data); | 926 | return m_LSL_Functions.llWater(offset); |
927 | } | 927 | } |
928 | 928 | ||
929 | public string llRequestInventoryData(string name) | 929 | public void llPassTouches(int pass) |
930 | { | 930 | { |
931 | return m_LSL_Functions.llRequestInventoryData(name); | 931 | m_LSL_Functions.llPassTouches(pass); |
932 | } | 932 | } |
933 | 933 | ||
934 | public void llSetDamage(double damage) | 934 | public string llRequestAgentData(string id, int data) |
935 | { | 935 | { |
936 | m_LSL_Functions.llSetDamage(damage); | 936 | return m_LSL_Functions.llRequestAgentData(id, data); |
937 | } | 937 | } |
938 | 938 | ||
939 | public void llTeleportAgentHome(string agent) | 939 | public string llRequestInventoryData(string name) |
940 | { | 940 | { |
941 | m_LSL_Functions.llTeleportAgentHome(agent); | 941 | return m_LSL_Functions.llRequestInventoryData(name); |
942 | } | 942 | } |
943 | 943 | ||
944 | public void llModifyLand(int action, int brush) | 944 | public void llSetDamage(double damage) |
945 | { | 945 | { |
946 | m_LSL_Functions.llModifyLand(action, brush); | 946 | m_LSL_Functions.llSetDamage(damage); |
947 | } | 947 | } |
948 | 948 | ||
949 | public void llCollisionSound(string impact_sound, double impact_volume) | 949 | public void llTeleportAgentHome(string agent) |
950 | { | 950 | { |
951 | m_LSL_Functions.llCollisionSound(impact_sound, impact_volume); | 951 | m_LSL_Functions.llTeleportAgentHome(agent); |
952 | } | 952 | } |
953 | 953 | ||
954 | public void llCollisionSprite(string impact_sprite) | 954 | public void llModifyLand(int action, int brush) |
955 | { | 955 | { |
956 | m_LSL_Functions.llCollisionSprite(impact_sprite); | 956 | m_LSL_Functions.llModifyLand(action, brush); |
957 | } | 957 | } |
958 | 958 | ||
959 | public string llGetAnimation(string id) | 959 | public void llCollisionSound(string impact_sound, double impact_volume) |
960 | { | 960 | { |
961 | return m_LSL_Functions.llGetAnimation(id); | 961 | m_LSL_Functions.llCollisionSound(impact_sound, impact_volume); |
962 | } | 962 | } |
963 | 963 | ||
964 | public void llResetScript() | 964 | public void llCollisionSprite(string impact_sprite) |
965 | { | 965 | { |
966 | m_LSL_Functions.llResetScript(); | 966 | m_LSL_Functions.llCollisionSprite(impact_sprite); |
967 | } | 967 | } |
968 | 968 | ||
969 | public void llMessageLinked(int linknum, int num, string str, string id) | 969 | public string llGetAnimation(string id) |
970 | { | 970 | { |
971 | m_LSL_Functions.llMessageLinked(linknum, num, str, id); | 971 | return m_LSL_Functions.llGetAnimation(id); |
972 | } | 972 | } |
973 | 973 | ||
974 | public void llPushObject(string target, vector impulse, vector ang_impulse, int local) | 974 | public void llResetScript() |
975 | { | 975 | { |
976 | m_LSL_Functions.llPushObject(target, impulse, ang_impulse, local); | 976 | m_LSL_Functions.llResetScript(); |
977 | } | 977 | } |
978 | 978 | ||
979 | public void llPassCollisions(int pass) | 979 | public void llMessageLinked(int linknum, int num, string str, string id) |
980 | { | 980 | { |
981 | m_LSL_Functions.llPassCollisions(pass); | 981 | m_LSL_Functions.llMessageLinked(linknum, num, str, id); |
982 | } | 982 | } |
983 | 983 | ||
984 | public string llGetScriptName() | 984 | public void llPushObject(string target, vector impulse, vector ang_impulse, int local) |
985 | { | 985 | { |
986 | return m_LSL_Functions.llGetScriptName(); | 986 | m_LSL_Functions.llPushObject(target, impulse, ang_impulse, local); |
987 | } | 987 | } |
988 | 988 | ||
989 | public int llGetNumberOfSides() | 989 | public void llPassCollisions(int pass) |
990 | { | 990 | { |
991 | return m_LSL_Functions.llGetNumberOfSides(); | 991 | m_LSL_Functions.llPassCollisions(pass); |
992 | } | 992 | } |
993 | 993 | ||
994 | // | 994 | public string llGetScriptName() |
995 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs | 995 | { |
996 | // | 996 | return m_LSL_Functions.llGetScriptName(); |
997 | public rotation llAxisAngle2Rot(vector axis, double angle) | 997 | } |
998 | { | 998 | |
999 | return m_LSL_Functions.llAxisAngle2Rot(axis, angle); | 999 | public int llGetNumberOfSides() |
1000 | } | 1000 | { |
1001 | 1001 | return m_LSL_Functions.llGetNumberOfSides(); | |
1002 | public vector llRot2Axis(rotation rot) | 1002 | } |
1003 | { | 1003 | |
1004 | return m_LSL_Functions.llRot2Axis(rot); | 1004 | // |
1005 | } | 1005 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs |
1006 | 1006 | // | |
1007 | public void llRot2Angle() | 1007 | public rotation llAxisAngle2Rot(vector axis, double angle) |
1008 | { | 1008 | { |
1009 | m_LSL_Functions.llRot2Angle(); | 1009 | return m_LSL_Functions.llAxisAngle2Rot(axis, angle); |
1010 | } | 1010 | } |
1011 | 1011 | ||
1012 | public double llAcos(double val) | 1012 | public vector llRot2Axis(rotation rot) |
1013 | { | 1013 | { |
1014 | return m_LSL_Functions.llAcos(val); | 1014 | return m_LSL_Functions.llRot2Axis(rot); |
1015 | } | 1015 | } |
1016 | 1016 | ||
1017 | public double llAsin(double val) | 1017 | public void llRot2Angle() |
1018 | { | 1018 | { |
1019 | return m_LSL_Functions.llAsin(val); | 1019 | m_LSL_Functions.llRot2Angle(); |
1020 | } | 1020 | } |
1021 | 1021 | ||
1022 | public double llAngleBetween(rotation a, rotation b) | 1022 | public double llAcos(double val) |
1023 | { | 1023 | { |
1024 | return m_LSL_Functions.llAngleBetween(a, b); | 1024 | return m_LSL_Functions.llAcos(val); |
1025 | } | 1025 | } |
1026 | 1026 | ||
1027 | public string llGetInventoryKey(string name) | 1027 | public double llAsin(double val) |
1028 | { | 1028 | { |
1029 | return m_LSL_Functions.llGetInventoryKey(name); | 1029 | return m_LSL_Functions.llAsin(val); |
1030 | } | 1030 | } |
1031 | 1031 | ||
1032 | public void llAllowInventoryDrop(int add) | 1032 | public double llAngleBetween(rotation a, rotation b) |
1033 | { | 1033 | { |
1034 | m_LSL_Functions.llAllowInventoryDrop(add); | 1034 | return m_LSL_Functions.llAngleBetween(a, b); |
1035 | } | 1035 | } |
1036 | 1036 | ||
1037 | public vector llGetSunDirection() | 1037 | public string llGetInventoryKey(string name) |
1038 | { | 1038 | { |
1039 | return m_LSL_Functions.llGetSunDirection(); | 1039 | return m_LSL_Functions.llGetInventoryKey(name); |
1040 | } | 1040 | } |
1041 | 1041 | ||
1042 | public vector llGetTextureOffset(int face) | 1042 | public void llAllowInventoryDrop(int add) |
1043 | { | 1043 | { |
1044 | return m_LSL_Functions.llGetTextureOffset(face); | 1044 | m_LSL_Functions.llAllowInventoryDrop(add); |
1045 | } | 1045 | } |
1046 | 1046 | ||
1047 | public vector llGetTextureScale(int side) | 1047 | public vector llGetSunDirection() |
1048 | { | 1048 | { |
1049 | return m_LSL_Functions.llGetTextureScale(side); | 1049 | return m_LSL_Functions.llGetSunDirection(); |
1050 | } | 1050 | } |
1051 | 1051 | ||
1052 | public double llGetTextureRot(int side) | 1052 | public vector llGetTextureOffset(int face) |
1053 | { | 1053 | { |
1054 | return m_LSL_Functions.llGetTextureRot(side); | 1054 | return m_LSL_Functions.llGetTextureOffset(face); |
1055 | } | 1055 | } |
1056 | 1056 | ||
1057 | public int llSubStringIndex(string source, string pattern) | 1057 | public vector llGetTextureScale(int side) |
1058 | { | 1058 | { |
1059 | return m_LSL_Functions.llSubStringIndex(source, pattern); | 1059 | return m_LSL_Functions.llGetTextureScale(side); |
1060 | } | 1060 | } |
1061 | 1061 | ||
1062 | public string llGetOwnerKey(string id) | 1062 | public double llGetTextureRot(int side) |
1063 | { | 1063 | { |
1064 | return m_LSL_Functions.llGetOwnerKey(id); | 1064 | return m_LSL_Functions.llGetTextureRot(side); |
1065 | } | 1065 | } |
1066 | 1066 | ||
1067 | public vector llGetCenterOfMass() | 1067 | public int llSubStringIndex(string source, string pattern) |
1068 | { | 1068 | { |
1069 | return m_LSL_Functions.llGetCenterOfMass(); | 1069 | return m_LSL_Functions.llSubStringIndex(source, pattern); |
1070 | } | 1070 | } |
1071 | 1071 | ||
1072 | public LSL_Types.list llListSort(LSL_Types.list src, int stride, int ascending) | 1072 | public string llGetOwnerKey(string id) |
1073 | { | 1073 | { |
1074 | return m_LSL_Functions.llListSort(src, stride, ascending); | 1074 | return m_LSL_Functions.llGetOwnerKey(id); |
1075 | } | 1075 | } |
1076 | 1076 | ||
1077 | public int llGetListLength(LSL_Types.list src) | 1077 | public vector llGetCenterOfMass() |
1078 | { | 1078 | { |
1079 | return m_LSL_Functions.llGetListLength(src); | 1079 | return m_LSL_Functions.llGetCenterOfMass(); |
1080 | } | 1080 | } |
1081 | 1081 | ||
1082 | // | 1082 | public LSL_Types.list llListSort(LSL_Types.list src, int stride, int ascending) |
1083 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs | 1083 | { |
1084 | // | 1084 | return m_LSL_Functions.llListSort(src, stride, ascending); |
1085 | public int llList2Integer(LSL_Types.list src, int index) | 1085 | } |
1086 | { | 1086 | |
1087 | return m_LSL_Functions.llList2Integer(src, index); | 1087 | public int llGetListLength(LSL_Types.list src) |
1088 | } | 1088 | { |
1089 | 1089 | return m_LSL_Functions.llGetListLength(src); | |
1090 | public double osList2Double(LSL_Types.list src, int index) | 1090 | } |
1091 | { | 1091 | |
1092 | return m_LSL_Functions.osList2Double(src, index); | 1092 | // |
1093 | } | 1093 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs |
1094 | 1094 | // | |
1095 | public string llList2String(LSL_Types.list src, int index) | 1095 | public int llList2Integer(LSL_Types.list src, int index) |
1096 | { | 1096 | { |
1097 | return m_LSL_Functions.llList2String(src, index); | 1097 | return m_LSL_Functions.llList2Integer(src, index); |
1098 | } | 1098 | } |
1099 | 1099 | ||
1100 | public string llList2Key(LSL_Types.list src, int index) | 1100 | public double osList2Double(LSL_Types.list src, int index) |
1101 | { | 1101 | { |
1102 | return m_LSL_Functions.llList2Key(src, index); | 1102 | return m_LSL_Functions.osList2Double(src, index); |
1103 | } | 1103 | } |
1104 | 1104 | ||
1105 | public vector llList2Vector(LSL_Types.list src, int index) | 1105 | public string llList2String(LSL_Types.list src, int index) |
1106 | { | 1106 | { |
1107 | return m_LSL_Functions.llList2Vector(src, index); | 1107 | return m_LSL_Functions.llList2String(src, index); |
1108 | } | 1108 | } |
1109 | 1109 | ||
1110 | public rotation llList2Rot(LSL_Types.list src, int index) | 1110 | public string llList2Key(LSL_Types.list src, int index) |
1111 | { | 1111 | { |
1112 | return m_LSL_Functions.llList2Rot(src, index); | 1112 | return m_LSL_Functions.llList2Key(src, index); |
1113 | } | 1113 | } |
1114 | 1114 | ||
1115 | public LSL_Types.list llList2List(LSL_Types.list src, int start, int end) | 1115 | public vector llList2Vector(LSL_Types.list src, int index) |
1116 | { | 1116 | { |
1117 | return m_LSL_Functions.llList2List(src, start, end); | 1117 | return m_LSL_Functions.llList2Vector(src, index); |
1118 | } | 1118 | } |
1119 | 1119 | ||
1120 | public LSL_Types.list llDeleteSubList(LSL_Types.list src, int start, int end) | 1120 | public rotation llList2Rot(LSL_Types.list src, int index) |
1121 | { | 1121 | { |
1122 | return m_LSL_Functions.llDeleteSubList(src, start, end); | 1122 | return m_LSL_Functions.llList2Rot(src, index); |
1123 | } | 1123 | } |
1124 | 1124 | ||
1125 | public int llGetListEntryType(LSL_Types.list src, int index) | 1125 | public LSL_Types.list llList2List(LSL_Types.list src, int start, int end) |
1126 | { | 1126 | { |
1127 | return m_LSL_Functions.llGetListEntryType(src, index); | 1127 | return m_LSL_Functions.llList2List(src, start, end); |
1128 | } | 1128 | } |
1129 | 1129 | ||
1130 | public string llList2CSV(LSL_Types.list src) | 1130 | public LSL_Types.list llDeleteSubList(LSL_Types.list src, int start, int end) |
1131 | { | 1131 | { |
1132 | return m_LSL_Functions.llList2CSV(src); | 1132 | return m_LSL_Functions.llDeleteSubList(src, start, end); |
1133 | } | 1133 | } |
1134 | 1134 | ||
1135 | public LSL_Types.list llCSV2List(string src) | 1135 | public int llGetListEntryType(LSL_Types.list src, int index) |
1136 | { | 1136 | { |
1137 | return m_LSL_Functions.llCSV2List(src); | 1137 | return m_LSL_Functions.llGetListEntryType(src, index); |
1138 | } | 1138 | } |
1139 | 1139 | ||
1140 | public LSL_Types.list llListRandomize(LSL_Types.list src, int stride) | 1140 | public string llList2CSV(LSL_Types.list src) |
1141 | { | 1141 | { |
1142 | return m_LSL_Functions.llListRandomize(src, stride); | 1142 | return m_LSL_Functions.llList2CSV(src); |
1143 | } | 1143 | } |
1144 | 1144 | ||
1145 | public LSL_Types.list llList2ListStrided(LSL_Types.list src, int start, int end, int stride) | 1145 | public LSL_Types.list llCSV2List(string src) |
1146 | { | 1146 | { |
1147 | return m_LSL_Functions.llList2ListStrided(src, start, end, stride); | 1147 | return m_LSL_Functions.llCSV2List(src); |
1148 | } | 1148 | } |
1149 | 1149 | ||
1150 | public vector llGetRegionCorner() | 1150 | public LSL_Types.list llListRandomize(LSL_Types.list src, int stride) |
1151 | { | 1151 | { |
1152 | return m_LSL_Functions.llGetRegionCorner(); | 1152 | return m_LSL_Functions.llListRandomize(src, stride); |
1153 | } | 1153 | } |
1154 | 1154 | ||
1155 | public LSL_Types.list llListInsertList(LSL_Types.list dest, LSL_Types.list src, int start) | 1155 | public LSL_Types.list llList2ListStrided(LSL_Types.list src, int start, int end, int stride) |
1156 | { | 1156 | { |
1157 | return m_LSL_Functions.llListInsertList(dest, src, start); | 1157 | return m_LSL_Functions.llList2ListStrided(src, start, end, stride); |
1158 | } | 1158 | } |
1159 | 1159 | ||
1160 | public int llListFindList(LSL_Types.list src, LSL_Types.list test) | 1160 | public vector llGetRegionCorner() |
1161 | { | 1161 | { |
1162 | return m_LSL_Functions.llListFindList(src, test); | 1162 | return m_LSL_Functions.llGetRegionCorner(); |
1163 | } | 1163 | } |
1164 | 1164 | ||
1165 | public string llGetObjectName() | 1165 | public LSL_Types.list llListInsertList(LSL_Types.list dest, LSL_Types.list src, int start) |
1166 | { | 1166 | { |
1167 | return m_LSL_Functions.llGetObjectName(); | 1167 | return m_LSL_Functions.llListInsertList(dest, src, start); |
1168 | } | 1168 | } |
1169 | 1169 | ||
1170 | public void llSetObjectName(string name) | 1170 | public int llListFindList(LSL_Types.list src, LSL_Types.list test) |
1171 | { | 1171 | { |
1172 | m_LSL_Functions.llSetObjectName(name); | 1172 | return m_LSL_Functions.llListFindList(src, test); |
1173 | } | 1173 | } |
1174 | 1174 | ||
1175 | public string llGetDate() | 1175 | public string llGetObjectName() |
1176 | { | 1176 | { |
1177 | return m_LSL_Functions.llGetDate(); | 1177 | return m_LSL_Functions.llGetObjectName(); |
1178 | } | 1178 | } |
1179 | 1179 | ||
1180 | public int llEdgeOfWorld(vector pos, vector dir) | 1180 | public void llSetObjectName(string name) |
1181 | { | 1181 | { |
1182 | return m_LSL_Functions.llEdgeOfWorld(pos, dir); | 1182 | m_LSL_Functions.llSetObjectName(name); |
1183 | } | 1183 | } |
1184 | 1184 | ||
1185 | public int llGetAgentInfo(string id) | 1185 | public string llGetDate() |
1186 | { | 1186 | { |
1187 | return m_LSL_Functions.llGetAgentInfo(id); | 1187 | return m_LSL_Functions.llGetDate(); |
1188 | } | 1188 | } |
1189 | 1189 | ||
1190 | // | 1190 | public int llEdgeOfWorld(vector pos, vector dir) |
1191 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs | 1191 | { |
1192 | // | 1192 | return m_LSL_Functions.llEdgeOfWorld(pos, dir); |
1193 | public void llAdjustSoundVolume(double volume) | 1193 | } |
1194 | { | 1194 | |
1195 | m_LSL_Functions.llAdjustSoundVolume(volume); | 1195 | public int llGetAgentInfo(string id) |
1196 | } | 1196 | { |
1197 | 1197 | return m_LSL_Functions.llGetAgentInfo(id); | |
1198 | public void llSetSoundQueueing(int queue) | 1198 | } |
1199 | { | 1199 | |
1200 | m_LSL_Functions.llSetSoundQueueing(queue); | 1200 | // |
1201 | } | 1201 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs |
1202 | 1202 | // | |
1203 | public void llSetSoundRadius(double radius) | 1203 | public void llAdjustSoundVolume(double volume) |
1204 | { | 1204 | { |
1205 | m_LSL_Functions.llSetSoundRadius(radius); | 1205 | m_LSL_Functions.llAdjustSoundVolume(volume); |
1206 | } | 1206 | } |
1207 | 1207 | ||
1208 | public string llKey2Name(string id) | 1208 | public void llSetSoundQueueing(int queue) |
1209 | { | 1209 | { |
1210 | return m_LSL_Functions.llKey2Name(id); | 1210 | m_LSL_Functions.llSetSoundQueueing(queue); |
1211 | } | 1211 | } |
1212 | 1212 | ||
1213 | public void llSetTextureAnim(int mode, int face, int sizex, int sizey, double start, double length, double rate) | 1213 | public void llSetSoundRadius(double radius) |
1214 | { | 1214 | { |
1215 | m_LSL_Functions.llSetTextureAnim(mode, face, sizex, sizey, start, length, rate); | 1215 | m_LSL_Functions.llSetSoundRadius(radius); |
1216 | } | 1216 | } |
1217 | 1217 | ||
1218 | public void llTriggerSoundLimited(string sound, double volume, vector top_north_east, vector bottom_south_west) | 1218 | public string llKey2Name(string id) |
1219 | { | 1219 | { |
1220 | m_LSL_Functions.llTriggerSoundLimited(sound, volume, top_north_east, bottom_south_west); | 1220 | return m_LSL_Functions.llKey2Name(id); |
1221 | } | 1221 | } |
1222 | 1222 | ||
1223 | public void llEjectFromLand(string pest) | 1223 | public void llSetTextureAnim(int mode, int face, int sizex, int sizey, double start, double length, double rate) |
1224 | { | 1224 | { |
1225 | m_LSL_Functions.llEjectFromLand(pest); | 1225 | m_LSL_Functions.llSetTextureAnim(mode, face, sizex, sizey, start, length, rate); |
1226 | } | 1226 | } |
1227 | 1227 | ||
1228 | public void llParseString2List() | 1228 | public void llTriggerSoundLimited(string sound, double volume, vector top_north_east, vector bottom_south_west) |
1229 | { | 1229 | { |
1230 | m_LSL_Functions.llParseString2List(); | 1230 | m_LSL_Functions.llTriggerSoundLimited(sound, volume, top_north_east, bottom_south_west); |
1231 | } | 1231 | } |
1232 | 1232 | ||
1233 | public int llOverMyLand(string id) | 1233 | public void llEjectFromLand(string pest) |
1234 | { | 1234 | { |
1235 | return m_LSL_Functions.llOverMyLand(id); | 1235 | m_LSL_Functions.llEjectFromLand(pest); |
1236 | } | 1236 | } |
1237 | 1237 | ||
1238 | public string llGetLandOwnerAt(vector pos) | 1238 | public void llParseString2List() |
1239 | { | 1239 | { |
1240 | return m_LSL_Functions.llGetLandOwnerAt(pos); | 1240 | m_LSL_Functions.llParseString2List(); |
1241 | } | 1241 | } |
1242 | 1242 | ||
1243 | public string llGetNotecardLine(string name, int line) | 1243 | public int llOverMyLand(string id) |
1244 | { | 1244 | { |
1245 | return m_LSL_Functions.llGetNotecardLine(name, line); | 1245 | return m_LSL_Functions.llOverMyLand(id); |
1246 | } | 1246 | } |
1247 | 1247 | ||
1248 | public vector llGetAgentSize(string id) | 1248 | public string llGetLandOwnerAt(vector pos) |
1249 | { | 1249 | { |
1250 | return m_LSL_Functions.llGetAgentSize(id); | 1250 | return m_LSL_Functions.llGetLandOwnerAt(pos); |
1251 | } | 1251 | } |
1252 | 1252 | ||
1253 | public int llSameGroup(string agent) | 1253 | public string llGetNotecardLine(string name, int line) |
1254 | { | 1254 | { |
1255 | return m_LSL_Functions.llSameGroup(agent); | 1255 | return m_LSL_Functions.llGetNotecardLine(name, line); |
1256 | } | 1256 | } |
1257 | 1257 | ||
1258 | public void llUnSit(string id) | 1258 | public vector llGetAgentSize(string id) |
1259 | { | 1259 | { |
1260 | m_LSL_Functions.llUnSit(id); | 1260 | return m_LSL_Functions.llGetAgentSize(id); |
1261 | } | 1261 | } |
1262 | 1262 | ||
1263 | public vector llGroundSlope(vector offset) | 1263 | public int llSameGroup(string agent) |
1264 | { | 1264 | { |
1265 | return m_LSL_Functions.llGroundSlope(offset); | 1265 | return m_LSL_Functions.llSameGroup(agent); |
1266 | } | 1266 | } |
1267 | 1267 | ||
1268 | public vector llGroundNormal(vector offset) | 1268 | public void llUnSit(string id) |
1269 | { | 1269 | { |
1270 | return m_LSL_Functions.llGroundNormal(offset); | 1270 | m_LSL_Functions.llUnSit(id); |
1271 | } | 1271 | } |
1272 | 1272 | ||
1273 | public vector llGroundContour(vector offset) | 1273 | public vector llGroundSlope(vector offset) |
1274 | { | 1274 | { |
1275 | return m_LSL_Functions.llGroundContour(offset); | 1275 | return m_LSL_Functions.llGroundSlope(offset); |
1276 | } | 1276 | } |
1277 | 1277 | ||
1278 | public int llGetAttached() | 1278 | public vector llGroundNormal(vector offset) |
1279 | { | 1279 | { |
1280 | return m_LSL_Functions.llGetAttached(); | 1280 | return m_LSL_Functions.llGroundNormal(offset); |
1281 | } | 1281 | } |
1282 | 1282 | ||
1283 | public int llGetFreeMemory() | 1283 | public vector llGroundContour(vector offset) |
1284 | { | 1284 | { |
1285 | return m_LSL_Functions.llGetFreeMemory(); | 1285 | return m_LSL_Functions.llGroundContour(offset); |
1286 | } | 1286 | } |
1287 | 1287 | ||
1288 | public string llGetRegionName() | 1288 | public int llGetAttached() |
1289 | { | 1289 | { |
1290 | return m_LSL_Functions.llGetRegionName(); | 1290 | return m_LSL_Functions.llGetAttached(); |
1291 | } | 1291 | } |
1292 | 1292 | ||
1293 | public double llGetRegionTimeDilation() | 1293 | public int llGetFreeMemory() |
1294 | { | 1294 | { |
1295 | return m_LSL_Functions.llGetRegionTimeDilation(); | 1295 | return m_LSL_Functions.llGetFreeMemory(); |
1296 | } | 1296 | } |
1297 | 1297 | ||
1298 | public double llGetRegionFPS() | 1298 | public string llGetRegionName() |
1299 | { | 1299 | { |
1300 | return m_LSL_Functions.llGetRegionFPS(); | 1300 | return m_LSL_Functions.llGetRegionName(); |
1301 | } | 1301 | } |
1302 | 1302 | ||
1303 | // | 1303 | public double llGetRegionTimeDilation() |
1304 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs | 1304 | { |
1305 | // | 1305 | return m_LSL_Functions.llGetRegionTimeDilation(); |
1306 | public void llParticleSystem(List<Object> rules) | 1306 | } |
1307 | { | 1307 | |
1308 | m_LSL_Functions.llParticleSystem(rules); | 1308 | public double llGetRegionFPS() |
1309 | } | 1309 | { |
1310 | 1310 | return m_LSL_Functions.llGetRegionFPS(); | |
1311 | public void llGroundRepel(double height, int water, double tau) | 1311 | } |
1312 | { | 1312 | |
1313 | m_LSL_Functions.llGroundRepel(height, water, tau); | 1313 | // |
1314 | } | 1314 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs |
1315 | 1315 | // | |
1316 | public void llGiveInventoryList() | 1316 | public void llParticleSystem(List<Object> rules) |
1317 | { | 1317 | { |
1318 | m_LSL_Functions.llGiveInventoryList(); | 1318 | m_LSL_Functions.llParticleSystem(rules); |
1319 | } | 1319 | } |
1320 | 1320 | ||
1321 | public void llSetVehicleType(int type) | 1321 | public void llGroundRepel(double height, int water, double tau) |
1322 | { | 1322 | { |
1323 | m_LSL_Functions.llSetVehicleType(type); | 1323 | m_LSL_Functions.llGroundRepel(height, water, tau); |
1324 | } | 1324 | } |
1325 | 1325 | ||
1326 | public void llSetVehicledoubleParam(int param, double value) | 1326 | public void llGiveInventoryList() |
1327 | { | 1327 | { |
1328 | m_LSL_Functions.llSetVehicledoubleParam(param, value); | 1328 | m_LSL_Functions.llGiveInventoryList(); |
1329 | } | 1329 | } |
1330 | 1330 | ||
1331 | public void llSetVehicleVectorParam(int param, vector vec) | 1331 | public void llSetVehicleType(int type) |
1332 | { | 1332 | { |
1333 | m_LSL_Functions.llSetVehicleVectorParam(param, vec); | 1333 | m_LSL_Functions.llSetVehicleType(type); |
1334 | } | 1334 | } |
1335 | 1335 | ||
1336 | public void llSetVehicleRotationParam(int param, rotation rot) | 1336 | public void llSetVehicledoubleParam(int param, double value) |
1337 | { | 1337 | { |
1338 | m_LSL_Functions.llSetVehicleRotationParam(param, rot); | 1338 | m_LSL_Functions.llSetVehicledoubleParam(param, value); |
1339 | } | 1339 | } |
1340 | 1340 | ||
1341 | public void llSetVehicleFlags(int flags) | 1341 | public void llSetVehicleVectorParam(int param, vector vec) |
1342 | { | 1342 | { |
1343 | m_LSL_Functions.llSetVehicleFlags(flags); | 1343 | m_LSL_Functions.llSetVehicleVectorParam(param, vec); |
1344 | } | 1344 | } |
1345 | 1345 | ||
1346 | public void llRemoveVehicleFlags(int flags) | 1346 | public void llSetVehicleRotationParam(int param, rotation rot) |
1347 | { | 1347 | { |
1348 | m_LSL_Functions.llRemoveVehicleFlags(flags); | 1348 | m_LSL_Functions.llSetVehicleRotationParam(param, rot); |
1349 | } | 1349 | } |
1350 | 1350 | ||
1351 | public void llSitTarget(vector offset, rotation rot) | 1351 | public void llSetVehicleFlags(int flags) |
1352 | { | 1352 | { |
1353 | m_LSL_Functions.llSitTarget(offset, rot); | 1353 | m_LSL_Functions.llSetVehicleFlags(flags); |
1354 | } | 1354 | } |
1355 | 1355 | ||
1356 | public string llAvatarOnSitTarget() | 1356 | public void llRemoveVehicleFlags(int flags) |
1357 | { | 1357 | { |
1358 | return m_LSL_Functions.llAvatarOnSitTarget(); | 1358 | m_LSL_Functions.llRemoveVehicleFlags(flags); |
1359 | } | 1359 | } |
1360 | 1360 | ||
1361 | public void llAddToLandPassList(string avatar, double hours) | 1361 | public void llSitTarget(vector offset, rotation rot) |
1362 | { | 1362 | { |
1363 | m_LSL_Functions.llAddToLandPassList(avatar, hours); | 1363 | m_LSL_Functions.llSitTarget(offset, rot); |
1364 | } | 1364 | } |
1365 | 1365 | ||
1366 | public void llSetTouchText(string text) | 1366 | public string llAvatarOnSitTarget() |
1367 | { | 1367 | { |
1368 | m_LSL_Functions.llSetTouchText(text); | 1368 | return m_LSL_Functions.llAvatarOnSitTarget(); |
1369 | } | 1369 | } |
1370 | 1370 | ||
1371 | public void llSetSitText(string text) | 1371 | public void llAddToLandPassList(string avatar, double hours) |
1372 | { | 1372 | { |
1373 | m_LSL_Functions.llSetSitText(text); | 1373 | m_LSL_Functions.llAddToLandPassList(avatar, hours); |
1374 | } | 1374 | } |
1375 | 1375 | ||
1376 | public void llSetCameraEyeOffset(vector offset) | 1376 | public void llSetTouchText(string text) |
1377 | { | 1377 | { |
1378 | m_LSL_Functions.llSetCameraEyeOffset(offset); | 1378 | m_LSL_Functions.llSetTouchText(text); |
1379 | } | 1379 | } |
1380 | 1380 | ||
1381 | public void llSetCameraAtOffset(vector offset) | 1381 | public void llSetSitText(string text) |
1382 | { | 1382 | { |
1383 | m_LSL_Functions.llSetCameraAtOffset(offset); | 1383 | m_LSL_Functions.llSetSitText(text); |
1384 | } | 1384 | } |
1385 | 1385 | ||
1386 | public string llDumpList2String(LSL_Types.list src, string seperator) | 1386 | public void llSetCameraEyeOffset(vector offset) |
1387 | { | 1387 | { |
1388 | return m_LSL_Functions.llDumpList2String(src, seperator); | 1388 | m_LSL_Functions.llSetCameraEyeOffset(offset); |
1389 | } | 1389 | } |
1390 | 1390 | ||
1391 | public void llScriptDanger(vector pos) | 1391 | public void llSetCameraAtOffset(vector offset) |
1392 | { | 1392 | { |
1393 | m_LSL_Functions.llScriptDanger(pos); | 1393 | m_LSL_Functions.llSetCameraAtOffset(offset); |
1394 | } | 1394 | } |
1395 | 1395 | ||
1396 | public void llDialog(string avatar, string message, LSL_Types.list buttons, int chat_channel) | 1396 | public string llDumpList2String(LSL_Types.list src, string seperator) |
1397 | { | 1397 | { |
1398 | m_LSL_Functions.llDialog(avatar, message, buttons, chat_channel); | 1398 | return m_LSL_Functions.llDumpList2String(src, seperator); |
1399 | } | 1399 | } |
1400 | 1400 | ||
1401 | public void llVolumeDetect(int detect) | 1401 | public void llScriptDanger(vector pos) |
1402 | { | 1402 | { |
1403 | m_LSL_Functions.llVolumeDetect(detect); | 1403 | m_LSL_Functions.llScriptDanger(pos); |
1404 | } | 1404 | } |
1405 | 1405 | ||
1406 | public void llResetOtherScript(string name) | 1406 | public void llDialog(string avatar, string message, LSL_Types.list buttons, int chat_channel) |
1407 | { | 1407 | { |
1408 | m_LSL_Functions.llResetOtherScript(name); | 1408 | m_LSL_Functions.llDialog(avatar, message, buttons, chat_channel); |
1409 | } | 1409 | } |
1410 | 1410 | ||
1411 | public int llGetScriptState(string name) | 1411 | public void llVolumeDetect(int detect) |
1412 | { | 1412 | { |
1413 | return m_LSL_Functions.llGetScriptState(name); | 1413 | m_LSL_Functions.llVolumeDetect(detect); |
1414 | } | 1414 | } |
1415 | 1415 | ||
1416 | public void llRemoteLoadScript() | 1416 | public void llResetOtherScript(string name) |
1417 | { | 1417 | { |
1418 | m_LSL_Functions.llRemoteLoadScript(); | 1418 | m_LSL_Functions.llResetOtherScript(name); |
1419 | } | 1419 | } |
1420 | 1420 | ||
1421 | public void llSetRemoteScriptAccessPin(int pin) | 1421 | public int llGetScriptState(string name) |
1422 | { | 1422 | { |
1423 | m_LSL_Functions.llSetRemoteScriptAccessPin(pin); | 1423 | return m_LSL_Functions.llGetScriptState(name); |
1424 | } | 1424 | } |
1425 | 1425 | ||
1426 | public void llRemoteLoadScriptPin(string target, string name, int pin, int running, int start_param) | 1426 | public void llRemoteLoadScript() |
1427 | { | 1427 | { |
1428 | m_LSL_Functions.llRemoteLoadScriptPin(target, name, pin, running, start_param); | 1428 | m_LSL_Functions.llRemoteLoadScript(); |
1429 | } | 1429 | } |
1430 | 1430 | ||
1431 | // | 1431 | public void llSetRemoteScriptAccessPin(int pin) |
1432 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs | 1432 | { |
1433 | // | 1433 | m_LSL_Functions.llSetRemoteScriptAccessPin(pin); |
1434 | public void llOpenRemoteDataChannel() | 1434 | } |
1435 | { | 1435 | |
1436 | m_LSL_Functions.llOpenRemoteDataChannel(); | 1436 | public void llRemoteLoadScriptPin(string target, string name, int pin, int running, int start_param) |
1437 | } | 1437 | { |
1438 | 1438 | m_LSL_Functions.llRemoteLoadScriptPin(target, name, pin, running, start_param); | |
1439 | public string llSendRemoteData(string channel, string dest, int idata, string sdata) | 1439 | } |
1440 | { | 1440 | |
1441 | return m_LSL_Functions.llSendRemoteData(channel, dest, idata, sdata); | 1441 | // |
1442 | } | 1442 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs |
1443 | 1443 | // | |
1444 | public void llRemoteDataReply(string channel, string message_id, string sdata, int idata) | 1444 | public void llOpenRemoteDataChannel() |
1445 | { | 1445 | { |
1446 | m_LSL_Functions.llRemoteDataReply(channel, message_id, sdata, idata); | 1446 | m_LSL_Functions.llOpenRemoteDataChannel(); |
1447 | } | 1447 | } |
1448 | 1448 | ||
1449 | public void llCloseRemoteDataChannel(string channel) | 1449 | public string llSendRemoteData(string channel, string dest, int idata, string sdata) |
1450 | { | 1450 | { |
1451 | m_LSL_Functions.llCloseRemoteDataChannel(channel); | 1451 | return m_LSL_Functions.llSendRemoteData(channel, dest, idata, sdata); |
1452 | } | 1452 | } |
1453 | 1453 | ||
1454 | public string llMD5String(string src, int nonce) | 1454 | public void llRemoteDataReply(string channel, string message_id, string sdata, int idata) |
1455 | { | 1455 | { |
1456 | return m_LSL_Functions.llMD5String(src, nonce); | 1456 | m_LSL_Functions.llRemoteDataReply(channel, message_id, sdata, idata); |
1457 | } | 1457 | } |
1458 | 1458 | ||
1459 | public void llSetPrimitiveParams(LSL_Types.list rules) | 1459 | public void llCloseRemoteDataChannel(string channel) |
1460 | { | 1460 | { |
1461 | m_LSL_Functions.llSetPrimitiveParams(rules); | 1461 | m_LSL_Functions.llCloseRemoteDataChannel(channel); |
1462 | } | 1462 | } |
1463 | 1463 | ||
1464 | public string llStringToBase64(string str) | 1464 | public string llMD5String(string src, int nonce) |
1465 | { | 1465 | { |
1466 | return m_LSL_Functions.llStringToBase64(str); | 1466 | return m_LSL_Functions.llMD5String(src, nonce); |
1467 | } | 1467 | } |
1468 | 1468 | ||
1469 | public string llBase64ToString(string str) | 1469 | public void llSetPrimitiveParams(LSL_Types.list rules) |
1470 | { | 1470 | { |
1471 | return m_LSL_Functions.llBase64ToString(str); | 1471 | m_LSL_Functions.llSetPrimitiveParams(rules); |
1472 | } | 1472 | } |
1473 | 1473 | ||
1474 | public void llXorBase64Strings() | 1474 | public string llStringToBase64(string str) |
1475 | { | 1475 | { |
1476 | m_LSL_Functions.llXorBase64Strings(); | 1476 | return m_LSL_Functions.llStringToBase64(str); |
1477 | } | 1477 | } |
1478 | 1478 | ||
1479 | public void llRemoteDataSetRegion() | 1479 | public string llBase64ToString(string str) |
1480 | { | 1480 | { |
1481 | m_LSL_Functions.llRemoteDataSetRegion(); | 1481 | return m_LSL_Functions.llBase64ToString(str); |
1482 | } | 1482 | } |
1483 | 1483 | ||
1484 | public double llLog10(double val) | 1484 | public void llXorBase64Strings() |
1485 | { | 1485 | { |
1486 | return m_LSL_Functions.llLog10(val); | 1486 | m_LSL_Functions.llXorBase64Strings(); |
1487 | } | 1487 | } |
1488 | 1488 | ||
1489 | public double llLog(double val) | 1489 | public void llRemoteDataSetRegion() |
1490 | { | 1490 | { |
1491 | return m_LSL_Functions.llLog(val); | 1491 | m_LSL_Functions.llRemoteDataSetRegion(); |
1492 | } | 1492 | } |
1493 | 1493 | ||
1494 | public LSL_Types.list llGetAnimationList(string id) | 1494 | public double llLog10(double val) |
1495 | { | 1495 | { |
1496 | return m_LSL_Functions.llGetAnimationList(id); | 1496 | return m_LSL_Functions.llLog10(val); |
1497 | } | 1497 | } |
1498 | 1498 | ||
1499 | public void llSetParcelMusicURL(string url) | 1499 | public double llLog(double val) |
1500 | { | 1500 | { |
1501 | m_LSL_Functions.llSetParcelMusicURL(url); | 1501 | return m_LSL_Functions.llLog(val); |
1502 | } | 1502 | } |
1503 | 1503 | ||
1504 | public vector llGetRootPosition() | 1504 | public LSL_Types.list llGetAnimationList(string id) |
1505 | { | 1505 | { |
1506 | return m_LSL_Functions.llGetRootPosition(); | 1506 | return m_LSL_Functions.llGetAnimationList(id); |
1507 | } | 1507 | } |
1508 | 1508 | ||
1509 | public rotation llGetRootRotation() | 1509 | public void llSetParcelMusicURL(string url) |
1510 | { | 1510 | { |
1511 | return m_LSL_Functions.llGetRootRotation(); | 1511 | m_LSL_Functions.llSetParcelMusicURL(url); |
1512 | } | 1512 | } |
1513 | 1513 | ||
1514 | public string llGetObjectDesc() | 1514 | public vector llGetRootPosition() |
1515 | { | 1515 | { |
1516 | return m_LSL_Functions.llGetObjectDesc(); | 1516 | return m_LSL_Functions.llGetRootPosition(); |
1517 | } | 1517 | } |
1518 | 1518 | ||
1519 | public void llSetObjectDesc(string desc) | 1519 | public rotation llGetRootRotation() |
1520 | { | 1520 | { |
1521 | m_LSL_Functions.llSetObjectDesc(desc); | 1521 | return m_LSL_Functions.llGetRootRotation(); |
1522 | } | 1522 | } |
1523 | 1523 | ||
1524 | public string llGetCreator() | 1524 | public string llGetObjectDesc() |
1525 | { | 1525 | { |
1526 | return m_LSL_Functions.llGetCreator(); | 1526 | return m_LSL_Functions.llGetObjectDesc(); |
1527 | } | 1527 | } |
1528 | 1528 | ||
1529 | public string llGetTimestamp() | 1529 | public void llSetObjectDesc(string desc) |
1530 | { | 1530 | { |
1531 | return m_LSL_Functions.llGetTimestamp(); | 1531 | m_LSL_Functions.llSetObjectDesc(desc); |
1532 | } | 1532 | } |
1533 | 1533 | ||
1534 | public void llSetLinkAlpha(int linknumber, double alpha, int face) | 1534 | public string llGetCreator() |
1535 | { | 1535 | { |
1536 | m_LSL_Functions.llSetLinkAlpha(linknumber, alpha, face); | 1536 | return m_LSL_Functions.llGetCreator(); |
1537 | } | 1537 | } |
1538 | 1538 | ||
1539 | public int llGetNumberOfPrims() | 1539 | public string llGetTimestamp() |
1540 | { | 1540 | { |
1541 | return m_LSL_Functions.llGetNumberOfPrims(); | 1541 | return m_LSL_Functions.llGetTimestamp(); |
1542 | } | 1542 | } |
1543 | 1543 | ||
1544 | public string llGetNumberOfNotecardLines(string name) | 1544 | public void llSetLinkAlpha(int linknumber, double alpha, int face) |
1545 | { | 1545 | { |
1546 | return m_LSL_Functions.llGetNumberOfNotecardLines(name); | 1546 | m_LSL_Functions.llSetLinkAlpha(linknumber, alpha, face); |
1547 | } | 1547 | } |
1548 | 1548 | ||
1549 | public LSL_Types.list llGetBoundingBox(string obj) | 1549 | public int llGetNumberOfPrims() |
1550 | { | 1550 | { |
1551 | return m_LSL_Functions.llGetBoundingBox(obj); | 1551 | return m_LSL_Functions.llGetNumberOfPrims(); |
1552 | } | 1552 | } |
1553 | 1553 | ||
1554 | public vector llGetGeometricCenter() | 1554 | public string llGetNumberOfNotecardLines(string name) |
1555 | { | 1555 | { |
1556 | return m_LSL_Functions.llGetGeometricCenter(); | 1556 | return m_LSL_Functions.llGetNumberOfNotecardLines(name); |
1557 | } | 1557 | } |
1558 | 1558 | ||
1559 | public void llGetPrimitiveParams() | 1559 | public LSL_Types.list llGetBoundingBox(string obj) |
1560 | { | 1560 | { |
1561 | m_LSL_Functions.llGetPrimitiveParams(); | 1561 | return m_LSL_Functions.llGetBoundingBox(obj); |
1562 | } | 1562 | } |
1563 | 1563 | ||
1564 | // | 1564 | public vector llGetGeometricCenter() |
1565 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs | 1565 | { |
1566 | // | 1566 | return m_LSL_Functions.llGetGeometricCenter(); |
1567 | public string llIntegerToBase64(int number) | 1567 | } |
1568 | { | 1568 | |
1569 | return m_LSL_Functions.llIntegerToBase64(number); | 1569 | public void llGetPrimitiveParams() |
1570 | } | 1570 | { |
1571 | 1571 | m_LSL_Functions.llGetPrimitiveParams(); | |
1572 | public int llBase64ToInteger(string str) | 1572 | } |
1573 | { | 1573 | |
1574 | return m_LSL_Functions.llBase64ToInteger(str); | 1574 | // |
1575 | } | 1575 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs |
1576 | 1576 | // | |
1577 | public double llGetGMTclock() | 1577 | public string llIntegerToBase64(int number) |
1578 | { | 1578 | { |
1579 | return m_LSL_Functions.llGetGMTclock(); | 1579 | return m_LSL_Functions.llIntegerToBase64(number); |
1580 | } | 1580 | } |
1581 | 1581 | ||
1582 | public string llGetSimulatorHostname() | 1582 | public int llBase64ToInteger(string str) |
1583 | { | 1583 | { |
1584 | return m_LSL_Functions.llGetSimulatorHostname(); | 1584 | return m_LSL_Functions.llBase64ToInteger(str); |
1585 | } | 1585 | } |
1586 | 1586 | ||
1587 | public void llSetLocalRot(rotation rot) | 1587 | public double llGetGMTclock() |
1588 | { | 1588 | { |
1589 | m_LSL_Functions.llSetLocalRot(rot); | 1589 | return m_LSL_Functions.llGetGMTclock(); |
1590 | } | 1590 | } |
1591 | 1591 | ||
1592 | public LSL_Types.list llParseStringKeepNulls(string src, LSL_Types.list seperators, LSL_Types.list spacers) | 1592 | public string llGetSimulatorHostname() |
1593 | { | 1593 | { |
1594 | return m_LSL_Functions.llParseStringKeepNulls(src, seperators, spacers); | 1594 | return m_LSL_Functions.llGetSimulatorHostname(); |
1595 | } | 1595 | } |
1596 | 1596 | ||
1597 | public void llRezAtRoot(string inventory, vector position, vector velocity, rotation rot, int param) | 1597 | public void llSetLocalRot(rotation rot) |
1598 | { | 1598 | { |
1599 | m_LSL_Functions.llRezAtRoot(inventory, position, velocity, rot, param); | 1599 | m_LSL_Functions.llSetLocalRot(rot); |
1600 | } | 1600 | } |
1601 | 1601 | ||
1602 | public int llGetObjectPermMask(int mask) | 1602 | public LSL_Types.list llParseStringKeepNulls(string src, LSL_Types.list seperators, LSL_Types.list spacers) |
1603 | { | 1603 | { |
1604 | return m_LSL_Functions.llGetObjectPermMask(mask); | 1604 | return m_LSL_Functions.llParseStringKeepNulls(src, seperators, spacers); |
1605 | } | 1605 | } |
1606 | 1606 | ||
1607 | public void llSetObjectPermMask(int mask, int value) | 1607 | public void llRezAtRoot(string inventory, vector position, vector velocity, rotation rot, int param) |
1608 | { | 1608 | { |
1609 | m_LSL_Functions.llSetObjectPermMask(mask, value); | 1609 | m_LSL_Functions.llRezAtRoot(inventory, position, velocity, rot, param); |
1610 | } | 1610 | } |
1611 | 1611 | ||
1612 | public void llGetInventoryPermMask(string item, int mask) | 1612 | public int llGetObjectPermMask(int mask) |
1613 | { | 1613 | { |
1614 | m_LSL_Functions.llGetInventoryPermMask(item, mask); | 1614 | return m_LSL_Functions.llGetObjectPermMask(mask); |
1615 | } | 1615 | } |
1616 | 1616 | ||
1617 | public void llSetInventoryPermMask(string item, int mask, int value) | 1617 | public void llSetObjectPermMask(int mask, int value) |
1618 | { | 1618 | { |
1619 | m_LSL_Functions.llSetInventoryPermMask(item, mask, value); | 1619 | m_LSL_Functions.llSetObjectPermMask(mask, value); |
1620 | } | 1620 | } |
1621 | 1621 | ||
1622 | public string llGetInventoryCreator(string item) | 1622 | public void llGetInventoryPermMask(string item, int mask) |
1623 | { | 1623 | { |
1624 | return m_LSL_Functions.llGetInventoryCreator(item); | 1624 | m_LSL_Functions.llGetInventoryPermMask(item, mask); |
1625 | } | 1625 | } |
1626 | 1626 | ||
1627 | public void llOwnerSay(string msg) | 1627 | public void llSetInventoryPermMask(string item, int mask, int value) |
1628 | { | 1628 | { |
1629 | m_LSL_Functions.llOwnerSay(msg); | 1629 | m_LSL_Functions.llSetInventoryPermMask(item, mask, value); |
1630 | } | 1630 | } |
1631 | 1631 | ||
1632 | public void llRequestSimulatorData(string simulator, int data) | 1632 | public string llGetInventoryCreator(string item) |
1633 | { | 1633 | { |
1634 | m_LSL_Functions.llRequestSimulatorData(simulator, data); | 1634 | return m_LSL_Functions.llGetInventoryCreator(item); |
1635 | } | 1635 | } |
1636 | 1636 | ||
1637 | public void llForceMouselook(int mouselook) | 1637 | public void llOwnerSay(string msg) |
1638 | { | 1638 | { |
1639 | m_LSL_Functions.llForceMouselook(mouselook); | 1639 | m_LSL_Functions.llOwnerSay(msg); |
1640 | } | 1640 | } |
1641 | 1641 | ||
1642 | public double llGetObjectMass(string id) | 1642 | public void llRequestSimulatorData(string simulator, int data) |
1643 | { | 1643 | { |
1644 | return m_LSL_Functions.llGetObjectMass(id); | 1644 | m_LSL_Functions.llRequestSimulatorData(simulator, data); |
1645 | } | 1645 | } |
1646 | 1646 | ||
1647 | public LSL_Types.list llListReplaceList(LSL_Types.list dest, LSL_Types.list src, int start, int end) | 1647 | public void llForceMouselook(int mouselook) |
1648 | { | 1648 | { |
1649 | return m_LSL_Functions.llListReplaceList(dest, src, start, end); | 1649 | m_LSL_Functions.llForceMouselook(mouselook); |
1650 | } | 1650 | } |
1651 | 1651 | ||
1652 | public void llLoadURL(string avatar_id, string message, string url) | 1652 | public double llGetObjectMass(string id) |
1653 | { | 1653 | { |
1654 | m_LSL_Functions.llLoadURL(avatar_id, message, url); | 1654 | return m_LSL_Functions.llGetObjectMass(id); |
1655 | } | 1655 | } |
1656 | 1656 | ||
1657 | public void llParcelMediaCommandList(LSL_Types.list commandList) | 1657 | public LSL_Types.list llListReplaceList(LSL_Types.list dest, LSL_Types.list src, int start, int end) |
1658 | { | 1658 | { |
1659 | m_LSL_Functions.llParcelMediaCommandList(commandList); | 1659 | return m_LSL_Functions.llListReplaceList(dest, src, start, end); |
1660 | } | 1660 | } |
1661 | 1661 | ||
1662 | public void llParcelMediaQuery() | 1662 | public void llLoadURL(string avatar_id, string message, string url) |
1663 | { | 1663 | { |
1664 | m_LSL_Functions.llParcelMediaQuery(); | 1664 | m_LSL_Functions.llLoadURL(avatar_id, message, url); |
1665 | } | 1665 | } |
1666 | 1666 | ||
1667 | public int llModPow(int a, int b, int c) | 1667 | public void llParcelMediaCommandList(LSL_Types.list commandList) |
1668 | { | 1668 | { |
1669 | return m_LSL_Functions.llModPow(a, b, c); | 1669 | m_LSL_Functions.llParcelMediaCommandList(commandList); |
1670 | } | 1670 | } |
1671 | 1671 | ||
1672 | // | 1672 | public void llParcelMediaQuery() |
1673 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs | 1673 | { |
1674 | // | 1674 | m_LSL_Functions.llParcelMediaQuery(); |
1675 | public int llGetInventoryType(string name) | 1675 | } |
1676 | { | 1676 | |
1677 | return m_LSL_Functions.llGetInventoryType(name); | 1677 | public int llModPow(int a, int b, int c) |
1678 | } | 1678 | { |
1679 | 1679 | return m_LSL_Functions.llModPow(a, b, c); | |
1680 | public void llSetPayPrice(int price, LSL_Types.list quick_pay_buttons) | 1680 | } |
1681 | { | 1681 | |
1682 | m_LSL_Functions.llSetPayPrice(price, quick_pay_buttons); | 1682 | // |
1683 | } | 1683 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs |
1684 | 1684 | // | |
1685 | public vector llGetCameraPos() | 1685 | public int llGetInventoryType(string name) |
1686 | { | 1686 | { |
1687 | return m_LSL_Functions.llGetCameraPos(); | 1687 | return m_LSL_Functions.llGetInventoryType(name); |
1688 | } | 1688 | } |
1689 | 1689 | ||
1690 | public rotation llGetCameraRot() | 1690 | public void llSetPayPrice(int price, LSL_Types.list quick_pay_buttons) |
1691 | { | 1691 | { |
1692 | return m_LSL_Functions.llGetCameraRot(); | 1692 | m_LSL_Functions.llSetPayPrice(price, quick_pay_buttons); |
1693 | } | 1693 | } |
1694 | 1694 | ||
1695 | public void llSetPrimURL() | 1695 | public vector llGetCameraPos() |
1696 | { | 1696 | { |
1697 | m_LSL_Functions.llSetPrimURL(); | 1697 | return m_LSL_Functions.llGetCameraPos(); |
1698 | } | 1698 | } |
1699 | 1699 | ||
1700 | public void llRefreshPrimURL() | 1700 | public rotation llGetCameraRot() |
1701 | { | 1701 | { |
1702 | m_LSL_Functions.llRefreshPrimURL(); | 1702 | return m_LSL_Functions.llGetCameraRot(); |
1703 | } | 1703 | } |
1704 | 1704 | ||
1705 | public string llEscapeURL(string url) | 1705 | public void llSetPrimURL() |
1706 | { | 1706 | { |
1707 | return m_LSL_Functions.llEscapeURL(url); | 1707 | m_LSL_Functions.llSetPrimURL(); |
1708 | } | 1708 | } |
1709 | 1709 | ||
1710 | public string llUnescapeURL(string url) | 1710 | public void llRefreshPrimURL() |
1711 | { | 1711 | { |
1712 | return m_LSL_Functions.llUnescapeURL(url); | 1712 | m_LSL_Functions.llRefreshPrimURL(); |
1713 | } | 1713 | } |
1714 | 1714 | ||
1715 | public void llMapDestination(string simname, vector pos, vector look_at) | 1715 | public string llEscapeURL(string url) |
1716 | { | 1716 | { |
1717 | m_LSL_Functions.llMapDestination(simname, pos, look_at); | 1717 | return m_LSL_Functions.llEscapeURL(url); |
1718 | } | 1718 | } |
1719 | 1719 | ||
1720 | public void llAddToLandBanList(string avatar, double hours) | 1720 | public string llUnescapeURL(string url) |
1721 | { | 1721 | { |
1722 | m_LSL_Functions.llAddToLandBanList(avatar, hours); | 1722 | return m_LSL_Functions.llUnescapeURL(url); |
1723 | } | 1723 | } |
1724 | 1724 | ||
1725 | public void llRemoveFromLandPassList(string avatar) | 1725 | public void llMapDestination(string simname, vector pos, vector look_at) |
1726 | { | 1726 | { |
1727 | m_LSL_Functions.llRemoveFromLandPassList(avatar); | 1727 | m_LSL_Functions.llMapDestination(simname, pos, look_at); |
1728 | } | 1728 | } |
1729 | 1729 | ||
1730 | public void llRemoveFromLandBanList(string avatar) | 1730 | public void llAddToLandBanList(string avatar, double hours) |
1731 | { | 1731 | { |
1732 | m_LSL_Functions.llRemoveFromLandBanList(avatar); | 1732 | m_LSL_Functions.llAddToLandBanList(avatar, hours); |
1733 | } | 1733 | } |
1734 | 1734 | ||
1735 | public void llSetCameraParams(LSL_Types.list rules) | 1735 | public void llRemoveFromLandPassList(string avatar) |
1736 | { | 1736 | { |
1737 | m_LSL_Functions.llSetCameraParams(rules); | 1737 | m_LSL_Functions.llRemoveFromLandPassList(avatar); |
1738 | } | 1738 | } |
1739 | 1739 | ||
1740 | public void llClearCameraParams() | 1740 | public void llRemoveFromLandBanList(string avatar) |
1741 | { | 1741 | { |
1742 | m_LSL_Functions.llClearCameraParams(); | 1742 | m_LSL_Functions.llRemoveFromLandBanList(avatar); |
1743 | } | 1743 | } |
1744 | 1744 | ||
1745 | public double llListStatistics(int operation, LSL_Types.list src) | 1745 | public void llSetCameraParams(LSL_Types.list rules) |
1746 | { | 1746 | { |
1747 | return m_LSL_Functions.llListStatistics(operation, src); | 1747 | m_LSL_Functions.llSetCameraParams(rules); |
1748 | } | 1748 | } |
1749 | 1749 | ||
1750 | public int llGetUnixTime() | 1750 | public void llClearCameraParams() |
1751 | { | 1751 | { |
1752 | return m_LSL_Functions.llGetUnixTime(); | 1752 | m_LSL_Functions.llClearCameraParams(); |
1753 | } | 1753 | } |
1754 | 1754 | ||
1755 | public int llGetParcelFlags(vector pos) | 1755 | public double llListStatistics(int operation, LSL_Types.list src) |
1756 | { | 1756 | { |
1757 | return m_LSL_Functions.llGetParcelFlags(pos); | 1757 | return m_LSL_Functions.llListStatistics(operation, src); |
1758 | } | 1758 | } |
1759 | 1759 | ||
1760 | public int llGetRegionFlags() | 1760 | public int llGetUnixTime() |
1761 | { | 1761 | { |
1762 | return m_LSL_Functions.llGetRegionFlags(); | 1762 | return m_LSL_Functions.llGetUnixTime(); |
1763 | } | 1763 | } |
1764 | 1764 | ||
1765 | public string llXorBase64StringsCorrect(string str1, string str2) | 1765 | public int llGetParcelFlags(vector pos) |
1766 | { | 1766 | { |
1767 | return m_LSL_Functions.llXorBase64StringsCorrect(str1, str2); | 1767 | return m_LSL_Functions.llGetParcelFlags(pos); |
1768 | } | 1768 | } |
1769 | 1769 | ||
1770 | public string llHTTPRequest(string url, LSL_Types.list parameters, string body) | 1770 | public int llGetRegionFlags() |
1771 | { | 1771 | { |
1772 | return m_LSL_Functions.llHTTPRequest(url, parameters, body); | 1772 | return m_LSL_Functions.llGetRegionFlags(); |
1773 | } | 1773 | } |
1774 | 1774 | ||
1775 | public void llResetLandBanList() | 1775 | public string llXorBase64StringsCorrect(string str1, string str2) |
1776 | { | 1776 | { |
1777 | m_LSL_Functions.llResetLandBanList(); | 1777 | return m_LSL_Functions.llXorBase64StringsCorrect(str1, str2); |
1778 | } | 1778 | } |
1779 | 1779 | ||
1780 | public void llResetLandPassList() | 1780 | public string llHTTPRequest(string url, LSL_Types.list parameters, string body) |
1781 | { | 1781 | { |
1782 | m_LSL_Functions.llResetLandPassList(); | 1782 | return m_LSL_Functions.llHTTPRequest(url, parameters, body); |
1783 | } | 1783 | } |
1784 | 1784 | ||
1785 | public int llGetParcelPrimCount(vector pos, int category, int sim_wide) | 1785 | public void llResetLandBanList() |
1786 | { | 1786 | { |
1787 | return m_LSL_Functions.llGetParcelPrimCount(pos, category, sim_wide); | 1787 | m_LSL_Functions.llResetLandBanList(); |
1788 | } | 1788 | } |
1789 | 1789 | ||
1790 | public LSL_Types.list llGetParcelPrimOwners(vector pos) | 1790 | public void llResetLandPassList() |
1791 | { | 1791 | { |
1792 | return m_LSL_Functions.llGetParcelPrimOwners(pos); | 1792 | m_LSL_Functions.llResetLandPassList(); |
1793 | } | 1793 | } |
1794 | 1794 | ||
1795 | public int llGetObjectPrimCount(string object_id) | 1795 | public int llGetParcelPrimCount(vector pos, int category, int sim_wide) |
1796 | { | 1796 | { |
1797 | return m_LSL_Functions.llGetObjectPrimCount(object_id); | 1797 | return m_LSL_Functions.llGetParcelPrimCount(pos, category, sim_wide); |
1798 | } | 1798 | } |
1799 | 1799 | ||
1800 | // | 1800 | public LSL_Types.list llGetParcelPrimOwners(vector pos) |
1801 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs | 1801 | { |
1802 | // | 1802 | return m_LSL_Functions.llGetParcelPrimOwners(pos); |
1803 | public int llGetParcelMaxPrims(vector pos, int sim_wide) | 1803 | } |
1804 | { | 1804 | |
1805 | return m_LSL_Functions.llGetParcelMaxPrims(pos, sim_wide); | 1805 | public int llGetObjectPrimCount(string object_id) |
1806 | } | 1806 | { |
1807 | 1807 | return m_LSL_Functions.llGetObjectPrimCount(object_id); | |
1808 | public LSL_Types.list llGetParcelDetails(vector pos, LSL_Types.list param) | 1808 | } |
1809 | { | 1809 | |
1810 | return m_LSL_Functions.llGetParcelDetails(pos, param); | 1810 | // |
1811 | } | 1811 | // DO NOT MODIFY HERE: MODIFY IN LSL_BuiltIn_Commands.cs |
1812 | 1812 | // | |
1813 | // | 1813 | public int llGetParcelMaxPrims(vector pos, int sim_wide) |
1814 | // OpenSim Functions | 1814 | { |
1815 | // | 1815 | return m_LSL_Functions.llGetParcelMaxPrims(pos, sim_wide); |
1816 | public string osSetDynamicTextureURL(string dynamicID, string contentType, string url, string extraParams, | 1816 | } |
1817 | int timer) | 1817 | |
1818 | { | 1818 | public LSL_Types.list llGetParcelDetails(vector pos, LSL_Types.list param) |
1819 | return m_LSL_Functions.osSetDynamicTextureURL(dynamicID, contentType, url, extraParams, timer); | 1819 | { |
1820 | } | 1820 | return m_LSL_Functions.llGetParcelDetails(pos, param); |
1821 | 1821 | } | |
1822 | public double osTerrainGetHeight(int x, int y) | 1822 | |
1823 | { | 1823 | // |
1824 | return m_LSL_Functions.osTerrainGetHeight(x, y); | 1824 | // OpenSim Functions |
1825 | } | 1825 | // |
1826 | 1826 | public string osSetDynamicTextureURL(string dynamicID, string contentType, string url, string extraParams, | |
1827 | public int osTerrainSetHeight(int x, int y, double val) | 1827 | int timer) |
1828 | { | 1828 | { |
1829 | return m_LSL_Functions.osTerrainSetHeight(x, y, val); | 1829 | return m_LSL_Functions.osSetDynamicTextureURL(dynamicID, contentType, url, extraParams, timer); |
1830 | } | 1830 | } |
1831 | 1831 | ||
1832 | public int osRegionRestart(double seconds) | 1832 | public double osTerrainGetHeight(int x, int y) |
1833 | { | 1833 | { |
1834 | return m_LSL_Functions.osRegionRestart(seconds); | 1834 | return m_LSL_Functions.osTerrainGetHeight(x, y); |
1835 | } | 1835 | } |
1836 | 1836 | ||
1837 | // LSL CONSTANTS | 1837 | public int osTerrainSetHeight(int x, int y, double val) |
1838 | public const int TRUE = 1; | 1838 | { |
1839 | public const int FALSE = 0; | 1839 | return m_LSL_Functions.osTerrainSetHeight(x, y, val); |
1840 | public const int STATUS_PHYSICS = 1; | 1840 | } |
1841 | public const int STATUS_ROTATE_X = 2; | 1841 | |
1842 | public const int STATUS_ROTATE_Y = 4; | 1842 | public int osRegionRestart(double seconds) |
1843 | public const int STATUS_ROTATE_Z = 8; | 1843 | { |
1844 | public const int STATUS_PHANTOM = 16; | 1844 | return m_LSL_Functions.osRegionRestart(seconds); |
1845 | public const int STATUS_SANDBOX = 32; | 1845 | } |
1846 | public const int STATUS_BLOCK_GRAB = 64; | 1846 | |
1847 | public const int STATUS_DIE_AT_EDGE = 128; | 1847 | // LSL CONSTANTS |
1848 | public const int STATUS_RETURN_AT_EDGE = 256; | 1848 | public const int TRUE = 1; |
1849 | public const int AGENT = 1; | 1849 | public const int FALSE = 0; |
1850 | public const int ACTIVE = 2; | 1850 | public const int STATUS_PHYSICS = 1; |
1851 | public const int PASSIVE = 4; | 1851 | public const int STATUS_ROTATE_X = 2; |
1852 | public const int SCRIPTED = 8; | 1852 | public const int STATUS_ROTATE_Y = 4; |
1853 | public const int CONTROL_FWD = 1; | 1853 | public const int STATUS_ROTATE_Z = 8; |
1854 | public const int CONTROL_BACK = 2; | 1854 | public const int STATUS_PHANTOM = 16; |
1855 | public const int CONTROL_LEFT = 4; | 1855 | public const int STATUS_SANDBOX = 32; |
1856 | public const int CONTROL_RIGHT = 8; | 1856 | public const int STATUS_BLOCK_GRAB = 64; |
1857 | public const int CONTROL_UP = 16; | 1857 | public const int STATUS_DIE_AT_EDGE = 128; |
1858 | public const int CONTROL_DOWN = 32; | 1858 | public const int STATUS_RETURN_AT_EDGE = 256; |
1859 | public const int CONTROL_ROT_LEFT = 256; | 1859 | public const int AGENT = 1; |
1860 | public const int CONTROL_ROT_RIGHT = 512; | 1860 | public const int ACTIVE = 2; |
1861 | public const int CONTROL_LBUTTON = 268435456; | 1861 | public const int PASSIVE = 4; |
1862 | public const int CONTROL_ML_LBUTTON = 1073741824; | 1862 | public const int SCRIPTED = 8; |
1863 | public const int PERMISSION_DEBIT = 2; | 1863 | public const int CONTROL_FWD = 1; |
1864 | public const int PERMISSION_TAKE_CONTROLS = 4; | 1864 | public const int CONTROL_BACK = 2; |
1865 | public const int PERMISSION_REMAP_CONTROLS = 8; | 1865 | public const int CONTROL_LEFT = 4; |
1866 | public const int PERMISSION_TRIGGER_ANIMATION = 16; | 1866 | public const int CONTROL_RIGHT = 8; |
1867 | public const int PERMISSION_ATTACH = 32; | 1867 | public const int CONTROL_UP = 16; |
1868 | public const int PERMISSION_RELEASE_OWNERSHIP = 64; | 1868 | public const int CONTROL_DOWN = 32; |
1869 | public const int PERMISSION_CHANGE_LINKS = 128; | 1869 | public const int CONTROL_ROT_LEFT = 256; |
1870 | public const int PERMISSION_CHANGE_JOINTS = 256; | 1870 | public const int CONTROL_ROT_RIGHT = 512; |
1871 | public const int PERMISSION_CHANGE_PERMISSIONS = 512; | 1871 | public const int CONTROL_LBUTTON = 268435456; |
1872 | public const int PERMISSION_TRACK_CAMERA = 1024; | 1872 | public const int CONTROL_ML_LBUTTON = 1073741824; |
1873 | public const int AGENT_FLYING = 1; | 1873 | public const int PERMISSION_DEBIT = 2; |
1874 | public const int AGENT_ATTACHMENTS = 2; | 1874 | public const int PERMISSION_TAKE_CONTROLS = 4; |
1875 | public const int AGENT_SCRIPTED = 4; | 1875 | public const int PERMISSION_REMAP_CONTROLS = 8; |
1876 | public const int AGENT_MOUSELOOK = 8; | 1876 | public const int PERMISSION_TRIGGER_ANIMATION = 16; |
1877 | public const int AGENT_SITTING = 16; | 1877 | public const int PERMISSION_ATTACH = 32; |
1878 | public const int AGENT_ON_OBJECT = 32; | 1878 | public const int PERMISSION_RELEASE_OWNERSHIP = 64; |
1879 | public const int AGENT_AWAY = 64; | 1879 | public const int PERMISSION_CHANGE_LINKS = 128; |
1880 | public const int AGENT_WALKING = 128; | 1880 | public const int PERMISSION_CHANGE_JOINTS = 256; |
1881 | public const int AGENT_IN_AIR = 256; | 1881 | public const int PERMISSION_CHANGE_PERMISSIONS = 512; |
1882 | public const int AGENT_TYPING = 512; | 1882 | public const int PERMISSION_TRACK_CAMERA = 1024; |
1883 | public const int AGENT_CROUCHING = 1024; | 1883 | public const int AGENT_FLYING = 1; |
1884 | public const int AGENT_BUSY = 2048; | 1884 | public const int AGENT_ATTACHMENTS = 2; |
1885 | public const int AGENT_ALWAYS_RUN = 4096; | 1885 | public const int AGENT_SCRIPTED = 4; |
1886 | public const int PSYS_PART_INTERP_COLOR_MASK = 1; | 1886 | public const int AGENT_MOUSELOOK = 8; |
1887 | public const int PSYS_PART_INTERP_SCALE_MASK = 2; | 1887 | public const int AGENT_SITTING = 16; |
1888 | public const int PSYS_PART_BOUNCE_MASK = 4; | 1888 | public const int AGENT_ON_OBJECT = 32; |
1889 | public const int PSYS_PART_WIND_MASK = 8; | 1889 | public const int AGENT_AWAY = 64; |
1890 | public const int PSYS_PART_FOLLOW_SRC_MASK = 16; | 1890 | public const int AGENT_WALKING = 128; |
1891 | public const int PSYS_PART_FOLLOW_VELOCITY_MASK = 32; | 1891 | public const int AGENT_IN_AIR = 256; |
1892 | public const int PSYS_PART_TARGET_POS_MASK = 64; | 1892 | public const int AGENT_TYPING = 512; |
1893 | public const int PSYS_PART_TARGET_LINEAR_MASK = 128; | 1893 | public const int AGENT_CROUCHING = 1024; |
1894 | public const int PSYS_PART_EMISSIVE_MASK = 256; | 1894 | public const int AGENT_BUSY = 2048; |
1895 | public const int PSYS_PART_FLAGS = 0; | 1895 | public const int AGENT_ALWAYS_RUN = 4096; |
1896 | public const int PSYS_PART_START_COLOR = 1; | 1896 | public const int PSYS_PART_INTERP_COLOR_MASK = 1; |
1897 | public const int PSYS_PART_START_ALPHA = 2; | 1897 | public const int PSYS_PART_INTERP_SCALE_MASK = 2; |
1898 | public const int PSYS_PART_END_COLOR = 3; | 1898 | public const int PSYS_PART_BOUNCE_MASK = 4; |
1899 | public const int PSYS_PART_END_ALPHA = 4; | 1899 | public const int PSYS_PART_WIND_MASK = 8; |
1900 | public const int PSYS_PART_START_SCALE = 5; | 1900 | public const int PSYS_PART_FOLLOW_SRC_MASK = 16; |
1901 | public const int PSYS_PART_END_SCALE = 6; | 1901 | public const int PSYS_PART_FOLLOW_VELOCITY_MASK = 32; |
1902 | public const int PSYS_PART_MAX_AGE = 7; | 1902 | public const int PSYS_PART_TARGET_POS_MASK = 64; |
1903 | public const int PSYS_SRC_ACCEL = 8; | 1903 | public const int PSYS_PART_TARGET_LINEAR_MASK = 128; |
1904 | public const int PSYS_SRC_PATTERN = 9; | 1904 | public const int PSYS_PART_EMISSIVE_MASK = 256; |
1905 | public const int PSYS_SRC_INNERANGLE = 10; | 1905 | public const int PSYS_PART_FLAGS = 0; |
1906 | public const int PSYS_SRC_OUTERANGLE = 11; | 1906 | public const int PSYS_PART_START_COLOR = 1; |
1907 | public const int PSYS_SRC_TEXTURE = 12; | 1907 | public const int PSYS_PART_START_ALPHA = 2; |
1908 | public const int PSYS_SRC_BURST_RATE = 13; | 1908 | public const int PSYS_PART_END_COLOR = 3; |
1909 | public const int PSYS_SRC_BURST_PART_COUNT = 15; | 1909 | public const int PSYS_PART_END_ALPHA = 4; |
1910 | public const int PSYS_SRC_BURST_RADIUS = 16; | 1910 | public const int PSYS_PART_START_SCALE = 5; |
1911 | public const int PSYS_SRC_BURST_SPEED_MIN = 17; | 1911 | public const int PSYS_PART_END_SCALE = 6; |
1912 | public const int PSYS_SRC_BURST_SPEED_MAX = 18; | 1912 | public const int PSYS_PART_MAX_AGE = 7; |
1913 | public const int PSYS_SRC_MAX_AGE = 19; | 1913 | public const int PSYS_SRC_ACCEL = 8; |
1914 | public const int PSYS_SRC_TARGET_KEY = 20; | 1914 | public const int PSYS_SRC_PATTERN = 9; |
1915 | public const int PSYS_SRC_OMEGA = 21; | 1915 | public const int PSYS_SRC_INNERANGLE = 10; |
1916 | public const int PSYS_SRC_ANGLE_BEGIN = 22; | 1916 | public const int PSYS_SRC_OUTERANGLE = 11; |
1917 | public const int PSYS_SRC_ANGLE_END = 23; | 1917 | public const int PSYS_SRC_TEXTURE = 12; |
1918 | public const int PSYS_SRC_PATTERN_DROP = 1; | 1918 | public const int PSYS_SRC_BURST_RATE = 13; |
1919 | public const int PSYS_SRC_PATTERN_EXPLODE = 2; | 1919 | public const int PSYS_SRC_BURST_PART_COUNT = 15; |
1920 | public const int PSYS_SRC_PATTERN_ANGLE = 4; | 1920 | public const int PSYS_SRC_BURST_RADIUS = 16; |
1921 | public const int PSYS_SRC_PATTERN_ANGLE_CONE = 8; | 1921 | public const int PSYS_SRC_BURST_SPEED_MIN = 17; |
1922 | public const int PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY = 16; | 1922 | public const int PSYS_SRC_BURST_SPEED_MAX = 18; |
1923 | public const int VEHICLE_TYPE_NONE = 0; | 1923 | public const int PSYS_SRC_MAX_AGE = 19; |
1924 | public const int VEHICLE_TYPE_SLED = 1; | 1924 | public const int PSYS_SRC_TARGET_KEY = 20; |
1925 | public const int VEHICLE_TYPE_CAR = 2; | 1925 | public const int PSYS_SRC_OMEGA = 21; |
1926 | public const int VEHICLE_TYPE_BOAT = 3; | 1926 | public const int PSYS_SRC_ANGLE_BEGIN = 22; |
1927 | public const int VEHICLE_TYPE_AIRPLANE = 4; | 1927 | public const int PSYS_SRC_ANGLE_END = 23; |
1928 | public const int VEHICLE_TYPE_BALLOON = 5; | 1928 | public const int PSYS_SRC_PATTERN_DROP = 1; |
1929 | public const int VEHICLE_LINEAR_FRICTION_TIMESCALE = 16; | 1929 | public const int PSYS_SRC_PATTERN_EXPLODE = 2; |
1930 | public const int VEHICLE_ANGULAR_FRICTION_TIMESCALE = 17; | 1930 | public const int PSYS_SRC_PATTERN_ANGLE = 4; |
1931 | public const int VEHICLE_LINEAR_MOTOR_DIRECTION = 18; | 1931 | public const int PSYS_SRC_PATTERN_ANGLE_CONE = 8; |
1932 | public const int VEHICLE_LINEAR_MOTOR_OFFSET = 20; | 1932 | public const int PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY = 16; |
1933 | public const int VEHICLE_ANGULAR_MOTOR_DIRECTION = 19; | 1933 | public const int VEHICLE_TYPE_NONE = 0; |
1934 | public const int VEHICLE_HOVER_HEIGHT = 24; | 1934 | public const int VEHICLE_TYPE_SLED = 1; |
1935 | public const int VEHICLE_HOVER_EFFICIENCY = 25; | 1935 | public const int VEHICLE_TYPE_CAR = 2; |
1936 | public const int VEHICLE_HOVER_TIMESCALE = 26; | 1936 | public const int VEHICLE_TYPE_BOAT = 3; |
1937 | public const int VEHICLE_BUOYANCY = 27; | 1937 | public const int VEHICLE_TYPE_AIRPLANE = 4; |
1938 | public const int VEHICLE_LINEAR_DEFLECTION_EFFICIENCY = 28; | 1938 | public const int VEHICLE_TYPE_BALLOON = 5; |
1939 | public const int VEHICLE_LINEAR_DEFLECTION_TIMESCALE = 29; | 1939 | public const int VEHICLE_LINEAR_FRICTION_TIMESCALE = 16; |
1940 | public const int VEHICLE_LINEAR_MOTOR_TIMESCALE = 30; | 1940 | public const int VEHICLE_ANGULAR_FRICTION_TIMESCALE = 17; |
1941 | public const int VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE = 31; | 1941 | public const int VEHICLE_LINEAR_MOTOR_DIRECTION = 18; |
1942 | public const int VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY = 32; | 1942 | public const int VEHICLE_LINEAR_MOTOR_OFFSET = 20; |
1943 | public const int VEHICLE_ANGULAR_DEFLECTION_TIMESCALE = 33; | 1943 | public const int VEHICLE_ANGULAR_MOTOR_DIRECTION = 19; |
1944 | public const int VEHICLE_ANGULAR_MOTOR_TIMESCALE = 34; | 1944 | public const int VEHICLE_HOVER_HEIGHT = 24; |
1945 | public const int VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE = 35; | 1945 | public const int VEHICLE_HOVER_EFFICIENCY = 25; |
1946 | public const int VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY = 36; | 1946 | public const int VEHICLE_HOVER_TIMESCALE = 26; |
1947 | public const int VEHICLE_VERTICAL_ATTRACTION_TIMESCALE = 37; | 1947 | public const int VEHICLE_BUOYANCY = 27; |
1948 | public const int VEHICLE_BANKING_EFFICIENCY = 38; | 1948 | public const int VEHICLE_LINEAR_DEFLECTION_EFFICIENCY = 28; |
1949 | public const int VEHICLE_BANKING_MIX = 39; | 1949 | public const int VEHICLE_LINEAR_DEFLECTION_TIMESCALE = 29; |
1950 | public const int VEHICLE_BANKING_TIMESCALE = 40; | 1950 | public const int VEHICLE_LINEAR_MOTOR_TIMESCALE = 30; |
1951 | public const int VEHICLE_REFERENCE_FRAME = 44; | 1951 | public const int VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE = 31; |
1952 | public const int VEHICLE_FLAG_NO_DEFLECTION_UP = 1; | 1952 | public const int VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY = 32; |
1953 | public const int VEHICLE_FLAG_LIMIT_ROLL_ONLY = 2; | 1953 | public const int VEHICLE_ANGULAR_DEFLECTION_TIMESCALE = 33; |
1954 | public const int VEHICLE_FLAG_HOVER_WATER_ONLY = 4; | 1954 | public const int VEHICLE_ANGULAR_MOTOR_TIMESCALE = 34; |
1955 | public const int VEHICLE_FLAG_HOVER_TERRAIN_ONLY = 8; | 1955 | public const int VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE = 35; |
1956 | public const int VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT = 16; | 1956 | public const int VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY = 36; |
1957 | public const int VEHICLE_FLAG_HOVER_UP_ONLY = 32; | 1957 | public const int VEHICLE_VERTICAL_ATTRACTION_TIMESCALE = 37; |
1958 | public const int VEHICLE_FLAG_LIMIT_MOTOR_UP = 64; | 1958 | public const int VEHICLE_BANKING_EFFICIENCY = 38; |
1959 | public const int VEHICLE_FLAG_MOUSELOOK_STEER = 128; | 1959 | public const int VEHICLE_BANKING_MIX = 39; |
1960 | public const int VEHICLE_FLAG_MOUSELOOK_BANK = 256; | 1960 | public const int VEHICLE_BANKING_TIMESCALE = 40; |
1961 | public const int VEHICLE_FLAG_CAMERA_DECOUPLED = 512; | 1961 | public const int VEHICLE_REFERENCE_FRAME = 44; |
1962 | public const int INVENTORY_ALL = -1; | 1962 | public const int VEHICLE_FLAG_NO_DEFLECTION_UP = 1; |
1963 | public const int INVENTORY_NONE = -1; | 1963 | public const int VEHICLE_FLAG_LIMIT_ROLL_ONLY = 2; |
1964 | public const int INVENTORY_TEXTURE = 0; | 1964 | public const int VEHICLE_FLAG_HOVER_WATER_ONLY = 4; |
1965 | public const int INVENTORY_SOUND = 1; | 1965 | public const int VEHICLE_FLAG_HOVER_TERRAIN_ONLY = 8; |
1966 | public const int INVENTORY_LANDMARK = 3; | 1966 | public const int VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT = 16; |
1967 | public const int INVENTORY_CLOTHING = 5; | 1967 | public const int VEHICLE_FLAG_HOVER_UP_ONLY = 32; |
1968 | public const int INVENTORY_OBJECT = 6; | 1968 | public const int VEHICLE_FLAG_LIMIT_MOTOR_UP = 64; |
1969 | public const int INVENTORY_NOTECARD = 7; | 1969 | public const int VEHICLE_FLAG_MOUSELOOK_STEER = 128; |
1970 | public const int INVENTORY_SCRIPT = 10; | 1970 | public const int VEHICLE_FLAG_MOUSELOOK_BANK = 256; |
1971 | public const int INVENTORY_BODYPART = 13; | 1971 | public const int VEHICLE_FLAG_CAMERA_DECOUPLED = 512; |
1972 | public const int INVENTORY_ANIMATION = 20; | 1972 | public const int INVENTORY_ALL = -1; |
1973 | public const int INVENTORY_GESTURE = 21; | 1973 | public const int INVENTORY_NONE = -1; |
1974 | public const int ATTACH_CHEST = 1; | 1974 | public const int INVENTORY_TEXTURE = 0; |
1975 | public const int ATTACH_HEAD = 2; | 1975 | public const int INVENTORY_SOUND = 1; |
1976 | public const int ATTACH_LSHOULDER = 3; | 1976 | public const int INVENTORY_LANDMARK = 3; |
1977 | public const int ATTACH_RSHOULDER = 4; | 1977 | public const int INVENTORY_CLOTHING = 5; |
1978 | public const int ATTACH_LHAND = 5; | 1978 | public const int INVENTORY_OBJECT = 6; |
1979 | public const int ATTACH_RHAND = 6; | 1979 | public const int INVENTORY_NOTECARD = 7; |
1980 | public const int ATTACH_LFOOT = 7; | 1980 | public const int INVENTORY_SCRIPT = 10; |
1981 | public const int ATTACH_RFOOT = 8; | 1981 | public const int INVENTORY_BODYPART = 13; |
1982 | public const int ATTACH_BACK = 9; | 1982 | public const int INVENTORY_ANIMATION = 20; |
1983 | public const int ATTACH_PELVIS = 10; | 1983 | public const int INVENTORY_GESTURE = 21; |
1984 | public const int ATTACH_MOUTH = 11; | 1984 | public const int ATTACH_CHEST = 1; |
1985 | public const int ATTACH_CHIN = 12; | 1985 | public const int ATTACH_HEAD = 2; |
1986 | public const int ATTACH_LEAR = 13; | 1986 | public const int ATTACH_LSHOULDER = 3; |
1987 | public const int ATTACH_REAR = 14; | 1987 | public const int ATTACH_RSHOULDER = 4; |
1988 | public const int ATTACH_LEYE = 15; | 1988 | public const int ATTACH_LHAND = 5; |
1989 | public const int ATTACH_REYE = 16; | 1989 | public const int ATTACH_RHAND = 6; |
1990 | public const int ATTACH_NOSE = 17; | 1990 | public const int ATTACH_LFOOT = 7; |
1991 | public const int ATTACH_RUARM = 18; | 1991 | public const int ATTACH_RFOOT = 8; |
1992 | public const int ATTACH_RLARM = 19; | 1992 | public const int ATTACH_BACK = 9; |
1993 | public const int ATTACH_LUARM = 20; | 1993 | public const int ATTACH_PELVIS = 10; |
1994 | public const int ATTACH_LLARM = 21; | 1994 | public const int ATTACH_MOUTH = 11; |
1995 | public const int ATTACH_RHIP = 22; | 1995 | public const int ATTACH_CHIN = 12; |
1996 | public const int ATTACH_RULEG = 23; | 1996 | public const int ATTACH_LEAR = 13; |
1997 | public const int ATTACH_RLLEG = 24; | 1997 | public const int ATTACH_REAR = 14; |
1998 | public const int ATTACH_LHIP = 25; | 1998 | public const int ATTACH_LEYE = 15; |
1999 | public const int ATTACH_LULEG = 26; | 1999 | public const int ATTACH_REYE = 16; |
2000 | public const int ATTACH_LLLEG = 27; | 2000 | public const int ATTACH_NOSE = 17; |
2001 | public const int ATTACH_BELLY = 28; | 2001 | public const int ATTACH_RUARM = 18; |
2002 | public const int ATTACH_RPEC = 29; | 2002 | public const int ATTACH_RLARM = 19; |
2003 | public const int ATTACH_LPEC = 30; | 2003 | public const int ATTACH_LUARM = 20; |
2004 | public const int LAND_LEVEL = 0; | 2004 | public const int ATTACH_LLARM = 21; |
2005 | public const int LAND_RAISE = 1; | 2005 | public const int ATTACH_RHIP = 22; |
2006 | public const int LAND_LOWER = 2; | 2006 | public const int ATTACH_RULEG = 23; |
2007 | public const int LAND_SMOOTH = 3; | 2007 | public const int ATTACH_RLLEG = 24; |
2008 | public const int LAND_NOISE = 4; | 2008 | public const int ATTACH_LHIP = 25; |
2009 | public const int LAND_REVERT = 5; | 2009 | public const int ATTACH_LULEG = 26; |
2010 | public const int LAND_SMALL_BRUSH = 1; | 2010 | public const int ATTACH_LLLEG = 27; |
2011 | public const int LAND_MEDIUM_BRUSH = 2; | 2011 | public const int ATTACH_BELLY = 28; |
2012 | public const int LAND_LARGE_BRUSH = 3; | 2012 | public const int ATTACH_RPEC = 29; |
2013 | public const int DATA_ONLINE = 1; | 2013 | public const int ATTACH_LPEC = 30; |
2014 | public const int DATA_NAME = 2; | 2014 | public const int LAND_LEVEL = 0; |
2015 | public const int DATA_BORN = 3; | 2015 | public const int LAND_RAISE = 1; |
2016 | public const int DATA_RATING = 4; | 2016 | public const int LAND_LOWER = 2; |
2017 | public const int DATA_SIM_POS = 5; | 2017 | public const int LAND_SMOOTH = 3; |
2018 | public const int DATA_SIM_STATUS = 6; | 2018 | public const int LAND_NOISE = 4; |
2019 | public const int DATA_SIM_RATING = 7; | 2019 | public const int LAND_REVERT = 5; |
2020 | public const int ANIM_ON = 1; | 2020 | public const int LAND_SMALL_BRUSH = 1; |
2021 | public const int LOOP = 2; | 2021 | public const int LAND_MEDIUM_BRUSH = 2; |
2022 | public const int REVERSE = 4; | 2022 | public const int LAND_LARGE_BRUSH = 3; |
2023 | public const int PING_PONG = 8; | 2023 | public const int DATA_ONLINE = 1; |
2024 | public const int SMOOTH = 16; | 2024 | public const int DATA_NAME = 2; |
2025 | public const int ROTATE = 32; | 2025 | public const int DATA_BORN = 3; |
2026 | public const int SCALE = 64; | 2026 | public const int DATA_RATING = 4; |
2027 | public const int ALL_SIDES = -1; | 2027 | public const int DATA_SIM_POS = 5; |
2028 | public const int LINK_SET = -1; | 2028 | public const int DATA_SIM_STATUS = 6; |
2029 | public const int LINK_ROOT = 1; | 2029 | public const int DATA_SIM_RATING = 7; |
2030 | public const int LINK_ALL_OTHERS = -2; | 2030 | public const int ANIM_ON = 1; |
2031 | public const int LINK_ALL_CHILDREN = -3; | 2031 | public const int LOOP = 2; |
2032 | public const int LINK_THIS = -4; | 2032 | public const int REVERSE = 4; |
2033 | public const int CHANGED_INVENTORY = 1; | 2033 | public const int PING_PONG = 8; |
2034 | public const int CHANGED_COLOR = 2; | 2034 | public const int SMOOTH = 16; |
2035 | public const int CHANGED_SHAPE = 4; | 2035 | public const int ROTATE = 32; |
2036 | public const int CHANGED_SCALE = 8; | 2036 | public const int SCALE = 64; |
2037 | public const int CHANGED_TEXTURE = 16; | 2037 | public const int ALL_SIDES = -1; |
2038 | public const int CHANGED_LINK = 32; | 2038 | public const int LINK_SET = -1; |
2039 | public const int CHANGED_ALLOWED_DROP = 64; | 2039 | public const int LINK_ROOT = 1; |
2040 | public const int CHANGED_OWNER = 128; | 2040 | public const int LINK_ALL_OTHERS = -2; |
2041 | public const int TYPE_INVALID = 0; | 2041 | public const int LINK_ALL_CHILDREN = -3; |
2042 | public const int TYPE_INTEGER = 1; | 2042 | public const int LINK_THIS = -4; |
2043 | public const int TYPE_double = 2; | 2043 | public const int CHANGED_INVENTORY = 1; |
2044 | public const int TYPE_STRING = 3; | 2044 | public const int CHANGED_COLOR = 2; |
2045 | public const int TYPE_KEY = 4; | 2045 | public const int CHANGED_SHAPE = 4; |
2046 | public const int TYPE_VECTOR = 5; | 2046 | public const int CHANGED_SCALE = 8; |
2047 | public const int TYPE_ROTATION = 6; | 2047 | public const int CHANGED_TEXTURE = 16; |
2048 | public const int REMOTE_DATA_CHANNEL = 1; | 2048 | public const int CHANGED_LINK = 32; |
2049 | public const int REMOTE_DATA_REQUEST = 2; | 2049 | public const int CHANGED_ALLOWED_DROP = 64; |
2050 | public const int REMOTE_DATA_REPLY = 3; | 2050 | public const int CHANGED_OWNER = 128; |
2051 | 2051 | public const int TYPE_INVALID = 0; | |
2052 | public const int PRIM_MATERIAL = 2; | 2052 | public const int TYPE_INTEGER = 1; |
2053 | public const int PRIM_PHYSICS = 3; | 2053 | public const int TYPE_double = 2; |
2054 | public const int PRIM_TEMP_ON_REZ = 4; | 2054 | public const int TYPE_STRING = 3; |
2055 | public const int PRIM_PHANTOM = 5; | 2055 | public const int TYPE_KEY = 4; |
2056 | public const int PRIM_POSITION = 6; | 2056 | public const int TYPE_VECTOR = 5; |
2057 | public const int PRIM_SIZE = 7; | 2057 | public const int TYPE_ROTATION = 6; |
2058 | public const int PRIM_ROTATION = 8; | 2058 | public const int REMOTE_DATA_CHANNEL = 1; |
2059 | public const int PRIM_TYPE = 9; | 2059 | public const int REMOTE_DATA_REQUEST = 2; |
2060 | public const int PRIM_TEXTURE = 17; | 2060 | public const int REMOTE_DATA_REPLY = 3; |
2061 | public const int PRIM_COLOR = 18; | 2061 | |
2062 | public const int PRIM_BUMP_SHINY = 19; | 2062 | public const int PRIM_MATERIAL = 2; |
2063 | public const int PRIM_FULLBRIGHT = 20; | 2063 | public const int PRIM_PHYSICS = 3; |
2064 | public const int PRIM_FLEXIBLE = 21; | 2064 | public const int PRIM_TEMP_ON_REZ = 4; |
2065 | public const int PRIM_TEXGEN = 22; | 2065 | public const int PRIM_PHANTOM = 5; |
2066 | public const int PRIM_CAST_SHADOWS = 24; // Not implemented, here for completeness sake | 2066 | public const int PRIM_POSITION = 6; |
2067 | public const int PRIM_POINT_LIGHT = 23; // Huh? | 2067 | public const int PRIM_SIZE = 7; |
2068 | public const int PRIM_TEXGEN_DEFAULT = 0; | 2068 | public const int PRIM_ROTATION = 8; |
2069 | public const int PRIM_TEXGEN_PLANAR = 1; | 2069 | public const int PRIM_TYPE = 9; |
2070 | public const int PRIM_TYPE_BOX = 0; | 2070 | public const int PRIM_TEXTURE = 17; |
2071 | public const int PRIM_TYPE_CYLINDER = 1; | 2071 | public const int PRIM_COLOR = 18; |
2072 | public const int PRIM_TYPE_PRISM = 2; | 2072 | public const int PRIM_BUMP_SHINY = 19; |
2073 | public const int PRIM_TYPE_SPHERE = 3; | 2073 | public const int PRIM_FULLBRIGHT = 20; |
2074 | public const int PRIM_TYPE_TORUS = 4; | 2074 | public const int PRIM_FLEXIBLE = 21; |
2075 | public const int PRIM_TYPE_TUBE = 5; | 2075 | public const int PRIM_TEXGEN = 22; |
2076 | public const int PRIM_TYPE_RING = 6; | 2076 | public const int PRIM_CAST_SHADOWS = 24; // Not implemented, here for completeness sake |
2077 | public const int PRIM_TYPE_SCULPT = 7; | 2077 | public const int PRIM_POINT_LIGHT = 23; // Huh? |
2078 | public const int PRIM_HOLE_DEFAULT = 0; | 2078 | public const int PRIM_TEXGEN_DEFAULT = 0; |
2079 | public const int PRIM_HOLE_CIRCLE = 16; | 2079 | public const int PRIM_TEXGEN_PLANAR = 1; |
2080 | public const int PRIM_HOLE_SQUARE = 32; | 2080 | public const int PRIM_TYPE_BOX = 0; |
2081 | public const int PRIM_HOLE_TRIANGLE = 48; | 2081 | public const int PRIM_TYPE_CYLINDER = 1; |
2082 | public const int PRIM_MATERIAL_STONE = 0; | 2082 | public const int PRIM_TYPE_PRISM = 2; |
2083 | public const int PRIM_MATERIAL_METAL = 1; | 2083 | public const int PRIM_TYPE_SPHERE = 3; |
2084 | public const int PRIM_MATERIAL_GLASS = 2; | 2084 | public const int PRIM_TYPE_TORUS = 4; |
2085 | public const int PRIM_MATERIAL_WOOD = 3; | 2085 | public const int PRIM_TYPE_TUBE = 5; |
2086 | public const int PRIM_MATERIAL_FLESH = 4; | 2086 | public const int PRIM_TYPE_RING = 6; |
2087 | public const int PRIM_MATERIAL_PLASTIC = 5; | 2087 | public const int PRIM_TYPE_SCULPT = 7; |
2088 | public const int PRIM_MATERIAL_RUBBER = 6; | 2088 | public const int PRIM_HOLE_DEFAULT = 0; |
2089 | public const int PRIM_MATERIAL_LIGHT = 7; | 2089 | public const int PRIM_HOLE_CIRCLE = 16; |
2090 | public const int PRIM_SHINY_NONE = 0; | 2090 | public const int PRIM_HOLE_SQUARE = 32; |
2091 | public const int PRIM_SHINY_LOW = 1; | 2091 | public const int PRIM_HOLE_TRIANGLE = 48; |
2092 | public const int PRIM_SHINY_MEDIUM = 2; | 2092 | public const int PRIM_MATERIAL_STONE = 0; |
2093 | public const int PRIM_SHINY_HIGH = 3; | 2093 | public const int PRIM_MATERIAL_METAL = 1; |
2094 | public const int PRIM_BUMP_NONE = 0; | 2094 | public const int PRIM_MATERIAL_GLASS = 2; |
2095 | public const int PRIM_BUMP_BRIGHT = 1; | 2095 | public const int PRIM_MATERIAL_WOOD = 3; |
2096 | public const int PRIM_BUMP_DARK = 2; | 2096 | public const int PRIM_MATERIAL_FLESH = 4; |
2097 | public const int PRIM_BUMP_WOOD = 3; | 2097 | public const int PRIM_MATERIAL_PLASTIC = 5; |
2098 | public const int PRIM_BUMP_BARK = 4; | 2098 | public const int PRIM_MATERIAL_RUBBER = 6; |
2099 | public const int PRIM_BUMP_BRICKS = 5; | 2099 | public const int PRIM_MATERIAL_LIGHT = 7; |
2100 | public const int PRIM_BUMP_CHECKER = 6; | 2100 | public const int PRIM_SHINY_NONE = 0; |
2101 | public const int PRIM_BUMP_CONCRETE = 7; | 2101 | public const int PRIM_SHINY_LOW = 1; |
2102 | public const int PRIM_BUMP_TILE = 8; | 2102 | public const int PRIM_SHINY_MEDIUM = 2; |
2103 | public const int PRIM_BUMP_STONE = 9; | 2103 | public const int PRIM_SHINY_HIGH = 3; |
2104 | public const int PRIM_BUMP_DISKS = 10; | 2104 | public const int PRIM_BUMP_NONE = 0; |
2105 | public const int PRIM_BUMP_GRAVEL = 11; | 2105 | public const int PRIM_BUMP_BRIGHT = 1; |
2106 | public const int PRIM_BUMP_BLOBS = 12; | 2106 | public const int PRIM_BUMP_DARK = 2; |
2107 | public const int PRIM_BUMP_SIDING = 13; | 2107 | public const int PRIM_BUMP_WOOD = 3; |
2108 | public const int PRIM_BUMP_LARGETILE = 14; | 2108 | public const int PRIM_BUMP_BARK = 4; |
2109 | public const int PRIM_BUMP_STUCCO = 15; | 2109 | public const int PRIM_BUMP_BRICKS = 5; |
2110 | public const int PRIM_BUMP_SUCTION = 16; | 2110 | public const int PRIM_BUMP_CHECKER = 6; |
2111 | public const int PRIM_BUMP_WEAVE = 17; | 2111 | public const int PRIM_BUMP_CONCRETE = 7; |
2112 | 2112 | public const int PRIM_BUMP_TILE = 8; | |
2113 | public const int PRIM_SCULPT_TYPE_SPHERE = 1; | 2113 | public const int PRIM_BUMP_STONE = 9; |
2114 | public const int PRIM_SCULPT_TYPE_TORUS = 2; | 2114 | public const int PRIM_BUMP_DISKS = 10; |
2115 | public const int PRIM_SCULPT_TYPE_PLANE = 3; | 2115 | public const int PRIM_BUMP_GRAVEL = 11; |
2116 | public const int PRIM_SCULPT_TYPE_CYLINDER = 4; | 2116 | public const int PRIM_BUMP_BLOBS = 12; |
2117 | 2117 | public const int PRIM_BUMP_SIDING = 13; | |
2118 | 2118 | public const int PRIM_BUMP_LARGETILE = 14; | |
2119 | public const int MASK_BASE = 0; | 2119 | public const int PRIM_BUMP_STUCCO = 15; |
2120 | public const int MASK_OWNER = 1; | 2120 | public const int PRIM_BUMP_SUCTION = 16; |
2121 | public const int MASK_GROUP = 2; | 2121 | public const int PRIM_BUMP_WEAVE = 17; |
2122 | public const int MASK_EVERYONE = 3; | 2122 | |
2123 | public const int MASK_NEXT = 4; | 2123 | public const int PRIM_SCULPT_TYPE_SPHERE = 1; |
2124 | public const int PERM_TRANSFER = 8192; | 2124 | public const int PRIM_SCULPT_TYPE_TORUS = 2; |
2125 | public const int PERM_MODIFY = 16384; | 2125 | public const int PRIM_SCULPT_TYPE_PLANE = 3; |
2126 | public const int PERM_COPY = 32768; | 2126 | public const int PRIM_SCULPT_TYPE_CYLINDER = 4; |
2127 | public const int PERM_MOVE = 524288; | 2127 | |
2128 | public const int PERM_ALL = 2147483647; | 2128 | |
2129 | public const int PARCEL_MEDIA_COMMAND_STOP = 0; | 2129 | public const int MASK_BASE = 0; |
2130 | public const int PARCEL_MEDIA_COMMAND_PAUSE = 1; | 2130 | public const int MASK_OWNER = 1; |
2131 | public const int PARCEL_MEDIA_COMMAND_PLAY = 2; | 2131 | public const int MASK_GROUP = 2; |
2132 | public const int PARCEL_MEDIA_COMMAND_LOOP = 3; | 2132 | public const int MASK_EVERYONE = 3; |
2133 | public const int PARCEL_MEDIA_COMMAND_TEXTURE = 4; | 2133 | public const int MASK_NEXT = 4; |
2134 | public const int PARCEL_MEDIA_COMMAND_URL = 5; | 2134 | public const int PERM_TRANSFER = 8192; |
2135 | public const int PARCEL_MEDIA_COMMAND_TIME = 6; | 2135 | public const int PERM_MODIFY = 16384; |
2136 | public const int PARCEL_MEDIA_COMMAND_AGENT = 7; | 2136 | public const int PERM_COPY = 32768; |
2137 | public const int PARCEL_MEDIA_COMMAND_UNLOAD = 8; | 2137 | public const int PERM_MOVE = 524288; |
2138 | public const int PARCEL_MEDIA_COMMAND_AUTO_ALIGN = 9; | 2138 | public const int PERM_ALL = 2147483647; |
2139 | public const int PAY_HIDE = -1; | 2139 | public const int PARCEL_MEDIA_COMMAND_STOP = 0; |
2140 | public const int PAY_DEFAULT = -2; | 2140 | public const int PARCEL_MEDIA_COMMAND_PAUSE = 1; |
2141 | public const string NULL_KEY = "00000000-0000-0000-0000-000000000000"; | 2141 | public const int PARCEL_MEDIA_COMMAND_PLAY = 2; |
2142 | public const string EOF = "\n\n\n"; | 2142 | public const int PARCEL_MEDIA_COMMAND_LOOP = 3; |
2143 | public const double PI = 3.14159274f; | 2143 | public const int PARCEL_MEDIA_COMMAND_TEXTURE = 4; |
2144 | public const double TWO_PI = 6.28318548f; | 2144 | public const int PARCEL_MEDIA_COMMAND_URL = 5; |
2145 | public const double PI_BY_TWO = 1.57079637f; | 2145 | public const int PARCEL_MEDIA_COMMAND_TIME = 6; |
2146 | public const double DEG_TO_RAD = 0.01745329238f; | 2146 | public const int PARCEL_MEDIA_COMMAND_AGENT = 7; |
2147 | public const double RAD_TO_DEG = 57.29578f; | 2147 | public const int PARCEL_MEDIA_COMMAND_UNLOAD = 8; |
2148 | public const double SQRT2 = 1.414213538f; | 2148 | public const int PARCEL_MEDIA_COMMAND_AUTO_ALIGN = 9; |
2149 | 2149 | public const int PAY_HIDE = -1; | |
2150 | // Can not be public const? | 2150 | public const int PAY_DEFAULT = -2; |
2151 | public vector ZERO_VECTOR = new vector(0, 0, 0); | 2151 | public const string NULL_KEY = "00000000-0000-0000-0000-000000000000"; |
2152 | public rotation ZERO_ROTATION = new rotation(0, 0, 0, 0); | 2152 | public const string EOF = "\n\n\n"; |
2153 | } | 2153 | public const double PI = 3.14159274f; |
2154 | public const double TWO_PI = 6.28318548f; | ||
2155 | public const double PI_BY_TWO = 1.57079637f; | ||
2156 | public const double DEG_TO_RAD = 0.01745329238f; | ||
2157 | public const double RAD_TO_DEG = 57.29578f; | ||
2158 | public const double SQRT2 = 1.414213538f; | ||
2159 | |||
2160 | // Can not be public const? | ||
2161 | public vector ZERO_VECTOR = new vector(0, 0, 0); | ||
2162 | public rotation ZERO_ROTATION = new rotation(0, 0, 0, 0); | ||
2163 | |||
2164 | } | ||
2154 | } \ No newline at end of file | 2165 | } \ No newline at end of file |
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs index 1d9ca96..f4a1a00 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs +++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs | |||
@@ -1,3015 +1,3003 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) Contributors, http://opensimulator.org/ | 2 | * Copyright (c) Contributors, http://opensimulator.org/ |
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | 3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. |
4 | * | 4 | * |
5 | * Redistribution and use in source and binary forms, with or without | 5 | * Redistribution and use in source and binary forms, with or without |
6 | * modification, are permitted provided that the following conditions are met: | 6 | * modification, are permitted provided that the following conditions are met: |
7 | * * Redistributions of source code must retain the above copyright | 7 | * * Redistributions of source code must retain the above copyright |
8 | * notice, this list of conditions and the following disclaimer. | 8 | * notice, this list of conditions and the following disclaimer. |
9 | * * Redistributions in binary form must reproduce the above copyright | 9 | * * Redistributions in binary form must reproduce the above copyright |
10 | * notice, this list of conditions and the following disclaimer in the | 10 | * notice, this list of conditions and the following disclaimer in the |
11 | * documentation and/or other materials provided with the distribution. | 11 | * documentation and/or other materials provided with the distribution. |
12 | * * Neither the name of the OpenSim Project nor the | 12 | * * Neither the name of the OpenSim Project nor the |
13 | * names of its contributors may be used to endorse or promote products | 13 | * names of its contributors may be used to endorse or promote products |
14 | * derived from this software without specific prior written permission. | 14 | * derived from this software without specific prior written permission. |
15 | * | 15 | * |
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY | 16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS AS IS AND ANY |
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | 17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | 18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | 19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY |
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | 20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | 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 | 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 | 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 | 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. | 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | * | 26 | * |
27 | */ | 27 | */ |
28 | 28 | ||
29 | using System; | 29 | using System; |
30 | using System.Collections.Generic; | 30 | using System.Collections.Generic; |
31 | using System.Runtime.Remoting.Lifetime; | 31 | using System.Runtime.Remoting.Lifetime; |
32 | using System.Text; | 32 | using System.Text; |
33 | using System.Threading; | 33 | using System.Threading; |
34 | using Axiom.Math; | 34 | using Axiom.Math; |
35 | using libsecondlife; | 35 | using libsecondlife; |
36 | using OpenSim.Framework; | 36 | using OpenSim.Framework; |
37 | using OpenSim.Region.Environment.Interfaces; | 37 | using OpenSim.Region.Environment.Interfaces; |
38 | using OpenSim.Region.Environment.Scenes; | 38 | using OpenSim.Region.Environment.Scenes; |
39 | using OpenSim.Region.ScriptEngine.Common; | 39 | using OpenSim.Region.ScriptEngine.Common; |
40 | using OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL; | 40 | //using OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL; |
41 | 41 | ||
42 | namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | 42 | namespace OpenSim.Region.ScriptEngine.Common |
43 | { | 43 | { |
44 | // | 44 | /// <summary> |
45 | // !!!IMPORTANT!!! | 45 | /// Contains all LSL ll-functions. This class will be in Default AppDomain. |
46 | // | 46 | /// </summary> |
47 | // REMEMBER TO UPDATE http://opensimulator.org/wiki/LlFunction_implementation_status | 47 | public class LSL_BuiltIn_Commands : MarshalByRefObject, LSL_BuiltIn_Commands_Interface |
48 | // | 48 | { |
49 | 49 | private ASCIIEncoding enc = new ASCIIEncoding(); | |
50 | // Notes: | 50 | private ScriptEngineBase.ScriptEngine m_ScriptEngine; |
51 | // * If any function here needs to execute a LSL event in the script, use instance of "EventQueueManager" in "ScriptEngine". | 51 | private SceneObjectPart m_host; |
52 | // * If any function here needs to do some more advanced stuff like waiting for IO callbacks or similar that takes a long time then use "llSetTimerEvent" function as example. | 52 | private uint m_localID; |
53 | // There is a class called "LSLLongCmdHandler" that is used for long LSL commands. | 53 | private LLUUID m_itemID; |
54 | 54 | private bool throwErrorOnNotImplemented = true; | |
55 | 55 | ||
56 | /// <summary> | 56 | public LSL_BuiltIn_Commands(ScriptEngineBase.ScriptEngine ScriptEngine, SceneObjectPart host, uint localID, LLUUID itemID) |
57 | /// Contains all LSL ll-functions. This class will be in Default AppDomain. | 57 | { |
58 | /// </summary> | 58 | m_ScriptEngine = ScriptEngine; |
59 | public class LSL_BuiltIn_Commands : MarshalByRefObject, LSL_BuiltIn_Commands_Interface | 59 | m_host = host; |
60 | { | 60 | m_localID = localID; |
61 | private ASCIIEncoding enc = new ASCIIEncoding(); | 61 | m_itemID = itemID; |
62 | private ScriptEngine m_ScriptEngine; | 62 | |
63 | private SceneObjectPart m_host; | 63 | //MainLog.Instance.Notice("ScriptEngine", "LSL_BaseClass.Start() called. Hosted by [" + m_host.Name + ":" + m_host.UUID + "@" + m_host.AbsolutePosition + "]"); |
64 | private uint m_localID; | 64 | } |
65 | private LLUUID m_itemID; | 65 | |
66 | private bool throwErrorOnNotImplemented = true; | 66 | private DateTime m_timer = DateTime.Now; |
67 | 67 | private string m_state = "default"; | |
68 | public LSL_BuiltIn_Commands(ScriptEngine ScriptEngine, SceneObjectPart host, uint localID, LLUUID itemID) | 68 | |
69 | { | 69 | public string State() |
70 | m_ScriptEngine = ScriptEngine; | 70 | { |
71 | m_host = host; | 71 | return m_state; |
72 | m_localID = localID; | 72 | } |
73 | m_itemID = itemID; | 73 | |
74 | 74 | // Object never expires | |
75 | //MainLog.Instance.Notice("ScriptEngine", "LSL_BaseClass.Start() called. Hosted by [" + m_host.Name + ":" + m_host.UUID + "@" + m_host.AbsolutePosition + "]"); | 75 | public override Object InitializeLifetimeService() |
76 | } | 76 | { |
77 | 77 | //Console.WriteLine("LSL_BuiltIn_Commands: InitializeLifetimeService()"); | |
78 | private DateTime m_timer = DateTime.Now; | 78 | // return null; |
79 | private string m_state = "default"; | 79 | ILease lease = (ILease)base.InitializeLifetimeService(); |
80 | 80 | ||
81 | public string State() | 81 | if (lease.CurrentState == LeaseState.Initial) |
82 | { | 82 | { |
83 | return m_state; | 83 | lease.InitialLeaseTime = TimeSpan.Zero; // TimeSpan.FromMinutes(1); |
84 | } | 84 | // lease.SponsorshipTimeout = TimeSpan.FromMinutes(2); |
85 | 85 | // lease.RenewOnCallTime = TimeSpan.FromSeconds(2); | |
86 | // Object never expires | 86 | } |
87 | public override Object InitializeLifetimeService() | 87 | return lease; |
88 | { | 88 | } |
89 | //Console.WriteLine("LSL_BuiltIn_Commands: InitializeLifetimeService()"); | 89 | |
90 | // return null; | 90 | public Scene World |
91 | ILease lease = (ILease)base.InitializeLifetimeService(); | 91 | { |
92 | 92 | get { return m_ScriptEngine.World; } | |
93 | if (lease.CurrentState == LeaseState.Initial) | 93 | } |
94 | { | 94 | |
95 | lease.InitialLeaseTime = TimeSpan.Zero; // TimeSpan.FromMinutes(1); | 95 | //These are the implementations of the various ll-functions used by the LSL scripts. |
96 | // lease.SponsorshipTimeout = TimeSpan.FromMinutes(2); | 96 | //starting out, we use the System.Math library for trig functions. - ckrinke 8-14-07 |
97 | // lease.RenewOnCallTime = TimeSpan.FromSeconds(2); | 97 | public double llSin(double f) |
98 | } | 98 | { |
99 | return lease; | 99 | |
100 | } | 100 | return (double)Math.Sin(f); |
101 | 101 | } | |
102 | public Scene World | 102 | |
103 | { | 103 | public double llCos(double f) |
104 | get { return m_ScriptEngine.World; } | 104 | { |
105 | } | 105 | return (double)Math.Cos(f); |
106 | 106 | } | |
107 | //These are the implementations of the various ll-functions used by the LSL scripts. | 107 | |
108 | //starting out, we use the System.Math library for trig functions. - ckrinke 8-14-07 | 108 | public double llTan(double f) |
109 | public double llSin(double f) | 109 | { |
110 | { | 110 | return (double)Math.Tan(f); |
111 | 111 | } | |
112 | return (double)Math.Sin(f); | 112 | |
113 | } | 113 | public double llAtan2(double x, double y) |
114 | 114 | { | |
115 | public double llCos(double f) | 115 | return (double)Math.Atan2(y, x); |
116 | { | 116 | } |
117 | return (double)Math.Cos(f); | 117 | |
118 | } | 118 | public double llSqrt(double f) |
119 | 119 | { | |
120 | public double llTan(double f) | 120 | return (double)Math.Sqrt(f); |
121 | { | 121 | } |
122 | return (double)Math.Tan(f); | 122 | |
123 | } | 123 | public double llPow(double fbase, double fexponent) |
124 | 124 | { | |
125 | public double llAtan2(double x, double y) | 125 | return (double)Math.Pow(fbase, fexponent); |
126 | { | 126 | } |
127 | return (double)Math.Atan2(y, x); | 127 | |
128 | } | 128 | public int llAbs(int i) |
129 | 129 | { | |
130 | public double llSqrt(double f) | 130 | return (int)Math.Abs(i); |
131 | { | 131 | } |
132 | return (double)Math.Sqrt(f); | 132 | |
133 | } | 133 | public double llFabs(double f) |
134 | 134 | { | |
135 | public double llPow(double fbase, double fexponent) | 135 | return (double)Math.Abs(f); |
136 | { | 136 | } |
137 | return (double)Math.Pow(fbase, fexponent); | 137 | |
138 | } | 138 | public double llFrand(double mag) |
139 | 139 | { | |
140 | public int llAbs(int i) | 140 | lock (Util.RandomClass) |
141 | { | 141 | { |
142 | return (int)Math.Abs(i); | 142 | return Util.RandomClass.NextDouble() * mag; |
143 | } | 143 | } |
144 | 144 | } | |
145 | public double llFabs(double f) | 145 | |
146 | { | 146 | public int llFloor(double f) |
147 | return (double)Math.Abs(f); | 147 | { |
148 | } | 148 | return (int)Math.Floor(f); |
149 | 149 | } | |
150 | public double llFrand(double mag) | 150 | |
151 | { | 151 | public int llCeil(double f) |
152 | lock (Util.RandomClass) | 152 | { |
153 | { | 153 | return (int)Math.Ceiling(f); |
154 | return Util.RandomClass.NextDouble() * mag; | 154 | } |
155 | } | 155 | |
156 | } | 156 | public int llRound(double f) |
157 | 157 | { | |
158 | public int llFloor(double f) | 158 | return (int)Math.Round(f, 0); |
159 | { | 159 | } |
160 | return (int)Math.Floor(f); | 160 | |
161 | } | 161 | //This next group are vector operations involving squaring and square root. ckrinke |
162 | 162 | public double llVecMag(LSL_Types.Vector3 v) | |
163 | public int llCeil(double f) | 163 | { |
164 | { | 164 | return (v.x * v.x + v.y * v.y + v.z * v.z); |
165 | return (int)Math.Ceiling(f); | 165 | } |
166 | } | 166 | |
167 | 167 | public LSL_Types.Vector3 llVecNorm(LSL_Types.Vector3 v) | |
168 | public int llRound(double f) | 168 | { |
169 | { | 169 | double mag = v.x * v.x + v.y * v.y + v.z * v.z; |
170 | return (int)Math.Round(f, 0); | 170 | LSL_Types.Vector3 nor = new LSL_Types.Vector3(); |
171 | } | 171 | nor.x = v.x / mag; |
172 | 172 | nor.y = v.y / mag; | |
173 | //This next group are vector operations involving squaring and square root. ckrinke | 173 | nor.z = v.z / mag; |
174 | public double llVecMag(LSL_Types.Vector3 v) | 174 | return nor; |
175 | { | 175 | } |
176 | return (v.x * v.x + v.y * v.y + v.z * v.z); | 176 | |
177 | } | 177 | public double llVecDist(LSL_Types.Vector3 a, LSL_Types.Vector3 b) |
178 | 178 | { | |
179 | public LSL_Types.Vector3 llVecNorm(LSL_Types.Vector3 v) | 179 | double dx = a.x - b.x; |
180 | { | 180 | double dy = a.y - b.y; |
181 | double mag = v.x * v.x + v.y * v.y + v.z * v.z; | 181 | double dz = a.z - b.z; |
182 | LSL_Types.Vector3 nor = new LSL_Types.Vector3(); | 182 | return Math.Sqrt(dx * dx + dy * dy + dz * dz); |
183 | nor.x = v.x / mag; | 183 | } |
184 | nor.y = v.y / mag; | 184 | |
185 | nor.z = v.z / mag; | 185 | //Now we start getting into quaternions which means sin/cos, matrices and vectors. ckrinke |
186 | return nor; | 186 | public LSL_Types.Vector3 llRot2Euler(LSL_Types.Quaternion r) |
187 | } | 187 | { |
188 | 188 | //This implementation is from http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions. ckrinke | |
189 | public double llVecDist(LSL_Types.Vector3 a, LSL_Types.Vector3 b) | 189 | LSL_Types.Quaternion t = new LSL_Types.Quaternion(r.x * r.x, r.y * r.y, r.z * r.z, r.s * r.s); |
190 | { | 190 | double m = (t.x + t.y + t.z + t.s); |
191 | double dx = a.x - b.x; | 191 | if (m == 0) return new LSL_Types.Vector3(); |
192 | double dy = a.y - b.y; | 192 | double n = 2 * (r.y * r.s + r.x * r.z); |
193 | double dz = a.z - b.z; | 193 | double p = m * m - n * n; |
194 | return Math.Sqrt(dx * dx + dy * dy + dz * dz); | 194 | if (p > 0) |
195 | } | 195 | return new LSL_Types.Vector3(Math.Atan2(2.0 * (r.x * r.s - r.y * r.z), (-t.x - t.y + t.z + t.s)), |
196 | 196 | Math.Atan2(n, Math.Sqrt(p)), | |
197 | //Now we start getting into quaternions which means sin/cos, matrices and vectors. ckrinke | 197 | Math.Atan2(2.0 * (r.z * r.s - r.x * r.y), (t.x - t.y - t.z + t.s))); |
198 | public LSL_Types.Vector3 llRot2Euler(LSL_Types.Quaternion r) | 198 | else if (n > 0) |
199 | { | 199 | return new LSL_Types.Vector3(0.0, Math.PI / 2, Math.Atan2((r.z * r.s + r.x * r.y), 0.5 - t.x - t.z)); |
200 | //This implementation is from http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions. ckrinke | 200 | else |
201 | LSL_Types.Quaternion t = new LSL_Types.Quaternion(r.x * r.x, r.y * r.y, r.z * r.z, r.s * r.s); | 201 | return new LSL_Types.Vector3(0.0, -Math.PI / 2, Math.Atan2((r.z * r.s + r.x * r.y), 0.5 - t.x - t.z)); |
202 | double m = (t.x + t.y + t.z + t.s); | 202 | } |
203 | if (m == 0) return new LSL_Types.Vector3(); | 203 | |
204 | double n = 2 * (r.y * r.s + r.x * r.z); | 204 | public LSL_Types.Quaternion llEuler2Rot(LSL_Types.Vector3 v) |
205 | double p = m * m - n * n; | 205 | { |
206 | if (p > 0) | 206 | //this comes from from http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions but is incomplete as of 8/19/07 |
207 | return new LSL_Types.Vector3(Math.Atan2(2.0 * (r.x * r.s - r.y * r.z), (-t.x - t.y + t.z + t.s)), | 207 | float err = 0.00001f; |
208 | Math.Atan2(n, Math.Sqrt(p)), | 208 | double ax = Math.Sin(v.x / 2); |
209 | Math.Atan2(2.0 * (r.z * r.s - r.x * r.y), (t.x - t.y - t.z + t.s))); | 209 | double aw = Math.Cos(v.x / 2); |
210 | else if (n > 0) | 210 | double by = Math.Sin(v.y / 2); |
211 | return new LSL_Types.Vector3(0.0, Math.PI / 2, Math.Atan2((r.z * r.s + r.x * r.y), 0.5 - t.x - t.z)); | 211 | double bw = Math.Cos(v.y / 2); |
212 | else | 212 | double cz = Math.Sin(v.z / 2); |
213 | return new LSL_Types.Vector3(0.0, -Math.PI / 2, Math.Atan2((r.z * r.s + r.x * r.y), 0.5 - t.x - t.z)); | 213 | double cw = Math.Cos(v.z / 2); |
214 | } | 214 | LSL_Types.Quaternion a1 = new LSL_Types.Quaternion(0.0, 0.0, cz, cw); |
215 | 215 | LSL_Types.Quaternion a2 = new LSL_Types.Quaternion(0.0, by, 0.0, bw); | |
216 | public LSL_Types.Quaternion llEuler2Rot(LSL_Types.Vector3 v) | 216 | LSL_Types.Quaternion a3 = new LSL_Types.Quaternion(ax, 0.0, 0.0, aw); |
217 | { | 217 | LSL_Types.Quaternion a = (a1 * a2) * a3; |
218 | //this comes from from http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions but is incomplete as of 8/19/07 | 218 | //This multiplication doesnt compile, yet. a = a1 * a2 * a3; |
219 | float err = 0.00001f; | 219 | LSL_Types.Quaternion b = new LSL_Types.Quaternion(ax * bw * cw + aw * by * cz, |
220 | double ax = Math.Sin(v.x / 2); | 220 | aw * by * cw - ax * bw * cz, aw * bw * cz + ax * by * cw, |
221 | double aw = Math.Cos(v.x / 2); | 221 | aw * bw * cw - ax * by * cz); |
222 | double by = Math.Sin(v.y / 2); | 222 | LSL_Types.Quaternion c = new LSL_Types.Quaternion(); |
223 | double bw = Math.Cos(v.y / 2); | 223 | //This addition doesnt compile yet c = a + b; |
224 | double cz = Math.Sin(v.z / 2); | 224 | LSL_Types.Quaternion d = new LSL_Types.Quaternion(); |
225 | double cw = Math.Cos(v.z / 2); | 225 | //This addition doesnt compile yet d = a - b; |
226 | LSL_Types.Quaternion a1 = new LSL_Types.Quaternion(0.0, 0.0, cz, cw); | 226 | if ((Math.Abs(c.x) > err && Math.Abs(d.x) > err) || |
227 | LSL_Types.Quaternion a2 = new LSL_Types.Quaternion(0.0, by, 0.0, bw); | 227 | (Math.Abs(c.y) > err && Math.Abs(d.y) > err) || |
228 | LSL_Types.Quaternion a3 = new LSL_Types.Quaternion(ax, 0.0, 0.0, aw); | 228 | (Math.Abs(c.z) > err && Math.Abs(d.z) > err) || |
229 | LSL_Types.Quaternion a = (a1 * a2) * a3; | 229 | (Math.Abs(c.s) > err && Math.Abs(d.s) > err)) |
230 | //This multiplication doesnt compile, yet. a = a1 * a2 * a3; | 230 | { |
231 | LSL_Types.Quaternion b = new LSL_Types.Quaternion(ax * bw * cw + aw * by * cz, | 231 | return b; |
232 | aw * by * cw - ax * bw * cz, aw * bw * cz + ax * by * cw, | 232 | //return a new Quaternion that is null until I figure this out |
233 | aw * bw * cw - ax * by * cz); | 233 | // return b; |
234 | LSL_Types.Quaternion c = new LSL_Types.Quaternion(); | 234 | // return a; |
235 | //This addition doesnt compile yet c = a + b; | 235 | } |
236 | LSL_Types.Quaternion d = new LSL_Types.Quaternion(); | 236 | return a; |
237 | //This addition doesnt compile yet d = a - b; | 237 | } |
238 | if ((Math.Abs(c.x) > err && Math.Abs(d.x) > err) || | 238 | |
239 | (Math.Abs(c.y) > err && Math.Abs(d.y) > err) || | 239 | public LSL_Types.Quaternion llAxes2Rot(LSL_Types.Vector3 fwd, LSL_Types.Vector3 left, LSL_Types.Vector3 up) |
240 | (Math.Abs(c.z) > err && Math.Abs(d.z) > err) || | 240 | { |
241 | (Math.Abs(c.s) > err && Math.Abs(d.s) > err)) | 241 | return new LSL_Types.Quaternion(); |
242 | { | 242 | } |
243 | return b; | 243 | |
244 | //return a new Quaternion that is null until I figure this out | 244 | public LSL_Types.Vector3 llRot2Fwd(LSL_Types.Quaternion r) |
245 | // return b; | 245 | { |
246 | // return a; | 246 | return new LSL_Types.Vector3(); |
247 | } | 247 | } |
248 | return a; | 248 | |
249 | } | 249 | public LSL_Types.Vector3 llRot2Left(LSL_Types.Quaternion r) |
250 | 250 | { | |
251 | public LSL_Types.Quaternion llAxes2Rot(LSL_Types.Vector3 fwd, LSL_Types.Vector3 left, LSL_Types.Vector3 up) | 251 | return new LSL_Types.Vector3(); |
252 | { | 252 | } |
253 | return new LSL_Types.Quaternion(); | 253 | |
254 | } | 254 | public LSL_Types.Vector3 llRot2Up(LSL_Types.Quaternion r) |
255 | 255 | { | |
256 | public LSL_Types.Vector3 llRot2Fwd(LSL_Types.Quaternion r) | 256 | return new LSL_Types.Vector3(); |
257 | { | 257 | } |
258 | return new LSL_Types.Vector3(); | 258 | public LSL_Types.Quaternion llRotBetween(LSL_Types.Vector3 a, LSL_Types.Vector3 b) |
259 | } | 259 | { |
260 | 260 | //A and B should both be normalized | |
261 | public LSL_Types.Vector3 llRot2Left(LSL_Types.Quaternion r) | 261 | |
262 | { | 262 | double dotProduct = LSL_Types.Vector3.Dot(a, b); |
263 | return new LSL_Types.Vector3(); | 263 | LSL_Types.Vector3 crossProduct = LSL_Types.Vector3.Cross(a, b); |
264 | } | 264 | double magProduct = LSL_Types.Vector3.Mag(a) * LSL_Types.Vector3.Mag(b); |
265 | 265 | double angle = Math.Acos(dotProduct / magProduct); | |
266 | public LSL_Types.Vector3 llRot2Up(LSL_Types.Quaternion r) | 266 | LSL_Types.Vector3 axis = LSL_Types.Vector3.Norm(crossProduct); |
267 | { | 267 | double s = Math.Sin(angle / 2); |
268 | return new LSL_Types.Vector3(); | 268 | |
269 | } | 269 | return new LSL_Types.Quaternion(axis.x * s, axis.y * s, axis.z * s, (float)Math.Cos(angle / 2)); |
270 | public LSL_Types.Quaternion llRotBetween(LSL_Types.Vector3 a, LSL_Types.Vector3 b) | 270 | } |
271 | { | 271 | public void llWhisper(int channelID, string text) |
272 | //A and B should both be normalized | 272 | { |
273 | 273 | World.SimChat(Helpers.StringToField(text), | |
274 | double dotProduct = LSL_Types.Vector3.Dot(a, b); | 274 | ChatTypeEnum.Whisper, channelID, m_host.AbsolutePosition, m_host.Name, m_host.UUID); |
275 | LSL_Types.Vector3 crossProduct = LSL_Types.Vector3.Cross(a, b); | 275 | |
276 | double magProduct = LSL_Types.Vector3.Mag(a) * LSL_Types.Vector3.Mag(b); | 276 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); |
277 | double angle = Math.Acos(dotProduct / magProduct); | 277 | wComm.DeliverMessage(m_host.UUID.ToString(), ChatTypeEnum.Whisper, channelID, m_host.Name, text); |
278 | LSL_Types.Vector3 axis = LSL_Types.Vector3.Norm(crossProduct); | 278 | } |
279 | double s = Math.Sin(angle / 2); | 279 | |
280 | 280 | public void llSay(int channelID, string text) | |
281 | return new LSL_Types.Quaternion(axis.x * s, axis.y * s, axis.z * s, (float)Math.Cos(angle / 2)); | 281 | { |
282 | } | 282 | World.SimChat(Helpers.StringToField(text), |
283 | public void llWhisper(int channelID, string text) | 283 | ChatTypeEnum.Say, channelID, m_host.AbsolutePosition, m_host.Name, m_host.UUID); |
284 | { | 284 | |
285 | World.SimChat(Helpers.StringToField(text), | 285 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); |
286 | ChatTypeEnum.Whisper, channelID, m_host.AbsolutePosition, m_host.Name, m_host.UUID); | 286 | wComm.DeliverMessage(m_host.UUID.ToString(), ChatTypeEnum.Say, channelID, m_host.Name, text); |
287 | 287 | } | |
288 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); | 288 | |
289 | wComm.DeliverMessage(m_host.UUID.ToString(), ChatTypeEnum.Whisper, channelID, m_host.Name, text); | 289 | public void llShout(int channelID, string text) |
290 | } | 290 | { |
291 | 291 | World.SimChat(Helpers.StringToField(text), | |
292 | public void llSay(int channelID, string text) | 292 | ChatTypeEnum.Shout, channelID, m_host.AbsolutePosition, m_host.Name, m_host.UUID); |
293 | { | 293 | |
294 | World.SimChat(Helpers.StringToField(text), | 294 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); |
295 | ChatTypeEnum.Say, channelID, m_host.AbsolutePosition, m_host.Name, m_host.UUID); | 295 | wComm.DeliverMessage(m_host.UUID.ToString(), ChatTypeEnum.Shout, channelID, m_host.Name, text); |
296 | 296 | } | |
297 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); | 297 | |
298 | wComm.DeliverMessage(m_host.UUID.ToString(), ChatTypeEnum.Say, channelID, m_host.Name, text); | 298 | public int llListen(int channelID, string name, string ID, string msg) |
299 | } | 299 | { |
300 | 300 | if (ID == "") | |
301 | public void llShout(int channelID, string text) | 301 | { |
302 | { | 302 | ID = LLUUID.Zero.ToString(); |
303 | World.SimChat(Helpers.StringToField(text), | 303 | } |
304 | ChatTypeEnum.Shout, channelID, m_host.AbsolutePosition, m_host.Name, m_host.UUID); | 304 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); |
305 | 305 | return wComm.Listen(m_localID, m_itemID, m_host.UUID, channelID, name, ID, msg); | |
306 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); | 306 | } |
307 | wComm.DeliverMessage(m_host.UUID.ToString(), ChatTypeEnum.Shout, channelID, m_host.Name, text); | 307 | |
308 | } | 308 | public void llListenControl(int number, int active) |
309 | 309 | { | |
310 | public int llListen(int channelID, string name, string ID, string msg) | 310 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); |
311 | { | 311 | wComm.ListenControl(number, active); |
312 | if (ID == "") | 312 | } |
313 | { | 313 | |
314 | ID = LLUUID.Zero.ToString(); | 314 | public void llListenRemove(int number) |
315 | } | 315 | { |
316 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); | 316 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); |
317 | return wComm.Listen(m_localID, m_itemID, m_host.UUID, channelID, name, ID, msg); | 317 | wComm.ListenRemove(number); |
318 | } | 318 | } |
319 | 319 | ||
320 | public void llListenControl(int number, int active) | 320 | public void llSensor(string name, string id, int type, double range, double arc) |
321 | { | 321 | { |
322 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); | 322 | NotImplemented("llSensor"); |
323 | wComm.ListenControl(number, active); | 323 | return; |
324 | } | 324 | } |
325 | 325 | ||
326 | public void llListenRemove(int number) | 326 | public void llSensorRepeat(string name, string id, int type, double range, double arc, double rate) |
327 | { | 327 | { |
328 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); | 328 | NotImplemented("llSensorRepeat"); |
329 | wComm.ListenRemove(number); | 329 | return; |
330 | } | 330 | } |
331 | 331 | ||
332 | public void llSensor(string name, string id, int type, double range, double arc) | 332 | public void llSensorRemove() |
333 | { | 333 | { |
334 | NotImplemented("llSensor"); | 334 | NotImplemented("llSensorRemove"); |
335 | return; | 335 | return; |
336 | } | 336 | } |
337 | 337 | ||
338 | public void llSensorRepeat(string name, string id, int type, double range, double arc, double rate) | 338 | public string llDetectedName(int number) |
339 | { | 339 | { |
340 | NotImplemented("llSensorRepeat"); | 340 | NotImplemented("llDetectedName"); |
341 | return; | 341 | return ""; |
342 | } | 342 | } |
343 | 343 | ||
344 | public void llSensorRemove() | 344 | public string llDetectedKey(int number) |
345 | { | 345 | { |
346 | NotImplemented("llSensorRemove"); | 346 | NotImplemented("llDetectedKey"); |
347 | return; | 347 | return ""; |
348 | } | 348 | } |
349 | 349 | ||
350 | public string llDetectedName(int number) | 350 | public string llDetectedOwner(int number) |
351 | { | 351 | { |
352 | NotImplemented("llDetectedName"); | 352 | NotImplemented("llDetectedOwner"); |
353 | return ""; | 353 | return ""; |
354 | } | 354 | } |
355 | 355 | ||
356 | public string llDetectedKey(int number) | 356 | public int llDetectedType(int number) |
357 | { | 357 | { |
358 | NotImplemented("llDetectedKey"); | 358 | NotImplemented("llDetectedType"); |
359 | return ""; | 359 | return 0; |
360 | } | 360 | } |
361 | 361 | ||
362 | public string llDetectedOwner(int number) | 362 | public LSL_Types.Vector3 llDetectedPos(int number) |
363 | { | 363 | { |
364 | NotImplemented("llDetectedOwner"); | 364 | NotImplemented("llDetectedPos"); |
365 | return ""; | 365 | return new LSL_Types.Vector3(); |
366 | } | 366 | } |
367 | 367 | ||
368 | public int llDetectedType(int number) | 368 | public LSL_Types.Vector3 llDetectedVel(int number) |
369 | { | 369 | { |
370 | NotImplemented("llDetectedType"); | 370 | NotImplemented("llDetectedVel"); |
371 | return 0; | 371 | return new LSL_Types.Vector3(); |
372 | } | 372 | } |
373 | 373 | ||
374 | public LSL_Types.Vector3 llDetectedPos(int number) | 374 | public LSL_Types.Vector3 llDetectedGrab(int number) |
375 | { | 375 | { |
376 | NotImplemented("llDetectedPos"); | 376 | NotImplemented("llDetectedGrab"); |
377 | return new LSL_Types.Vector3(); | 377 | return new LSL_Types.Vector3(); |
378 | } | 378 | } |
379 | 379 | ||
380 | public LSL_Types.Vector3 llDetectedVel(int number) | 380 | public LSL_Types.Quaternion llDetectedRot(int number) |
381 | { | 381 | { |
382 | NotImplemented("llDetectedVel"); | 382 | NotImplemented("llDetectedRot"); |
383 | return new LSL_Types.Vector3(); | 383 | return new LSL_Types.Quaternion(); |
384 | } | 384 | } |
385 | 385 | ||
386 | public LSL_Types.Vector3 llDetectedGrab(int number) | 386 | public int llDetectedGroup(int number) |
387 | { | 387 | { |
388 | NotImplemented("llDetectedGrab"); | 388 | NotImplemented("llDetectedGroup"); |
389 | return new LSL_Types.Vector3(); | 389 | return 0; |
390 | } | 390 | } |
391 | 391 | ||
392 | public LSL_Types.Quaternion llDetectedRot(int number) | 392 | public int llDetectedLinkNumber(int number) |
393 | { | 393 | { |
394 | NotImplemented("llDetectedRot"); | 394 | NotImplemented("llDetectedLinkNumber"); |
395 | return new LSL_Types.Quaternion(); | 395 | return 0; |
396 | } | 396 | } |
397 | 397 | ||
398 | public int llDetectedGroup(int number) | 398 | public void llDie() |
399 | { | 399 | { |
400 | NotImplemented("llDetectedGroup"); | 400 | World.DeleteSceneObjectGroup(m_host.ParentGroup); |
401 | return 0; | 401 | return; |
402 | } | 402 | } |
403 | 403 | ||
404 | public int llDetectedLinkNumber(int number) | 404 | public double llGround(LSL_Types.Vector3 offset) |
405 | { | 405 | { |
406 | NotImplemented("llDetectedLinkNumber"); | 406 | int x = (int)(m_host.AbsolutePosition.X + offset.x); |
407 | return 0; | 407 | int y = (int)(m_host.AbsolutePosition.Y + offset.y); |
408 | } | 408 | return World.GetLandHeight(x, y); |
409 | 409 | } | |
410 | public void llDie() | 410 | |
411 | { | 411 | public double llCloud(LSL_Types.Vector3 offset) |
412 | World.DeleteSceneObjectGroup(m_host.ParentGroup); | 412 | { |
413 | return; | 413 | NotImplemented("llCloud"); |
414 | } | 414 | return 0; |
415 | 415 | } | |
416 | public double llGround(LSL_Types.Vector3 offset) | 416 | |
417 | { | 417 | public LSL_Types.Vector3 llWind(LSL_Types.Vector3 offset) |
418 | int x = (int)(m_host.AbsolutePosition.X + offset.x); | 418 | { |
419 | int y = (int)(m_host.AbsolutePosition.Y + offset.y); | 419 | NotImplemented("llWind"); |
420 | return World.GetLandHeight(x, y); | 420 | return new LSL_Types.Vector3(); |
421 | } | 421 | } |
422 | 422 | ||
423 | public double llCloud(LSL_Types.Vector3 offset) | 423 | public void llSetStatus(int status, int value) |
424 | { | 424 | { |
425 | NotImplemented("llCloud"); | 425 | NotImplemented("llSetStatus"); |
426 | return 0; | 426 | return; |
427 | } | 427 | } |
428 | 428 | ||
429 | public LSL_Types.Vector3 llWind(LSL_Types.Vector3 offset) | 429 | public int llGetStatus(int status) |
430 | { | 430 | { |
431 | NotImplemented("llWind"); | 431 | NotImplemented("llGetStatus"); |
432 | return new LSL_Types.Vector3(); | 432 | return 0; |
433 | } | 433 | } |
434 | 434 | ||
435 | public void llSetStatus(int status, int value) | 435 | public void llSetScale(LSL_Types.Vector3 scale) |
436 | { | 436 | { |
437 | NotImplemented("llSetStatus"); | 437 | // TODO: this needs to trigger a persistance save as well |
438 | return; | 438 | LLVector3 tmp = m_host.Scale; |
439 | } | 439 | tmp.X = (float)scale.x; |
440 | 440 | tmp.Y = (float)scale.y; | |
441 | public int llGetStatus(int status) | 441 | tmp.Z = (float)scale.z; |
442 | { | 442 | m_host.Scale = tmp; |
443 | NotImplemented("llGetStatus"); | 443 | m_host.SendFullUpdateToAllClients(); |
444 | return 0; | 444 | return; |
445 | } | 445 | } |
446 | 446 | ||
447 | public void llSetScale(LSL_Types.Vector3 scale) | 447 | public LSL_Types.Vector3 llGetScale() |
448 | { | 448 | { |
449 | // TODO: this needs to trigger a persistance save as well | 449 | return new LSL_Types.Vector3(m_host.Scale.X, m_host.Scale.Y, m_host.Scale.Z); |
450 | LLVector3 tmp = m_host.Scale; | 450 | } |
451 | tmp.X = (float)scale.x; | 451 | |
452 | tmp.Y = (float)scale.y; | 452 | public void llSetColor(LSL_Types.Vector3 color, int face) |
453 | tmp.Z = (float)scale.z; | 453 | { |
454 | m_host.Scale = tmp; | 454 | LLObject.TextureEntry tex = m_host.Shape.Textures; |
455 | m_host.SendFullUpdateToAllClients(); | 455 | LLColor texcolor; |
456 | return; | 456 | if (face > -1) |
457 | } | 457 | { |
458 | 458 | texcolor = tex.CreateFace((uint)face).RGBA; | |
459 | public LSL_Types.Vector3 llGetScale() | 459 | texcolor.R = (float)Math.Abs(color.x - 1); |
460 | { | 460 | texcolor.G = (float)Math.Abs(color.y - 1); |
461 | return new LSL_Types.Vector3(m_host.Scale.X, m_host.Scale.Y, m_host.Scale.Z); | 461 | texcolor.B = (float)Math.Abs(color.z - 1); |
462 | } | 462 | tex.FaceTextures[face].RGBA = texcolor; |
463 | 463 | m_host.UpdateTexture(tex); | |
464 | public void llSetColor(LSL_Types.Vector3 color, int face) | 464 | return; |
465 | { | 465 | } |
466 | LLObject.TextureEntry tex = m_host.Shape.Textures; | 466 | else if (face == -1) |
467 | LLColor texcolor; | 467 | { |
468 | if (face > -1) | 468 | for (uint i = 0; i < 32; i++) |
469 | { | 469 | { |
470 | texcolor = tex.CreateFace((uint)face).RGBA; | 470 | if (tex.FaceTextures[i] != null) |
471 | texcolor.R = (float)Math.Abs(color.x - 1); | 471 | { |
472 | texcolor.G = (float)Math.Abs(color.y - 1); | 472 | texcolor = tex.FaceTextures[i].RGBA; |
473 | texcolor.B = (float)Math.Abs(color.z - 1); | 473 | texcolor.R = (float)Math.Abs(color.x - 1); |
474 | tex.FaceTextures[face].RGBA = texcolor; | 474 | texcolor.G = (float)Math.Abs(color.y - 1); |
475 | m_host.UpdateTexture(tex); | 475 | texcolor.B = (float)Math.Abs(color.z - 1); |
476 | return; | 476 | tex.FaceTextures[i].RGBA = texcolor; |
477 | } | 477 | } |
478 | else if (face == -1) | 478 | texcolor = tex.DefaultTexture.RGBA; |
479 | { | 479 | texcolor.R = (float)Math.Abs(color.x - 1); |
480 | for (uint i = 0; i < 32; i++) | 480 | texcolor.G = (float)Math.Abs(color.y - 1); |
481 | { | 481 | texcolor.B = (float)Math.Abs(color.z - 1); |
482 | if (tex.FaceTextures[i] != null) | 482 | tex.DefaultTexture.RGBA = texcolor; |
483 | { | 483 | } |
484 | texcolor = tex.FaceTextures[i].RGBA; | 484 | m_host.UpdateTexture(tex); |
485 | texcolor.R = (float)Math.Abs(color.x - 1); | 485 | return; |
486 | texcolor.G = (float)Math.Abs(color.y - 1); | 486 | } |
487 | texcolor.B = (float)Math.Abs(color.z - 1); | 487 | NotImplemented("llSetColor"); |
488 | tex.FaceTextures[i].RGBA = texcolor; | 488 | return; |
489 | } | 489 | } |
490 | texcolor = tex.DefaultTexture.RGBA; | 490 | |
491 | texcolor.R = (float)Math.Abs(color.x - 1); | 491 | public double llGetAlpha(int face) |
492 | texcolor.G = (float)Math.Abs(color.y - 1); | 492 | { |
493 | texcolor.B = (float)Math.Abs(color.z - 1); | 493 | LLObject.TextureEntry tex = m_host.Shape.Textures; |
494 | tex.DefaultTexture.RGBA = texcolor; | 494 | if (face == -1) // TMP: Until we can determine number of sides, ALL_SIDES (-1) will return default color |
495 | } | 495 | { |
496 | m_host.UpdateTexture(tex); | 496 | return (double)((tex.DefaultTexture.RGBA.A * 255) / 255); |
497 | return; | 497 | } |
498 | } | 498 | if (face > -1) |
499 | NotImplemented("llSetColor"); | 499 | { |
500 | return; | 500 | return (double)((tex.GetFace((uint)face).RGBA.A * 255) / 255); |
501 | } | 501 | } |
502 | 502 | return 0; | |
503 | public double llGetAlpha(int face) | 503 | } |
504 | { | 504 | |
505 | LLObject.TextureEntry tex = m_host.Shape.Textures; | 505 | public void llSetAlpha(double alpha, int face) |
506 | if (face == -1) // TMP: Until we can determine number of sides, ALL_SIDES (-1) will return default color | 506 | { |
507 | { | 507 | LLObject.TextureEntry tex = m_host.Shape.Textures; |
508 | return (double)((tex.DefaultTexture.RGBA.A * 255) / 255); | 508 | LLColor texcolor; |
509 | } | 509 | if (face > -1) |
510 | if (face > -1) | 510 | { |
511 | { | 511 | texcolor = tex.CreateFace((uint)face).RGBA; |
512 | return (double)((tex.GetFace((uint)face).RGBA.A * 255) / 255); | 512 | texcolor.A = (float)Math.Abs(alpha - 1); |
513 | } | 513 | tex.FaceTextures[face].RGBA = texcolor; |
514 | return 0; | 514 | m_host.UpdateTexture(tex); |
515 | } | 515 | return; |
516 | 516 | } | |
517 | public void llSetAlpha(double alpha, int face) | 517 | else if (face == -1) |
518 | { | 518 | { |
519 | LLObject.TextureEntry tex = m_host.Shape.Textures; | 519 | for (int i = 0; i < 32; i++) |
520 | LLColor texcolor; | 520 | { |
521 | if (face > -1) | 521 | if (tex.FaceTextures[i] != null) |
522 | { | 522 | { |
523 | texcolor = tex.CreateFace((uint)face).RGBA; | 523 | texcolor = tex.FaceTextures[i].RGBA; |
524 | texcolor.A = (float)Math.Abs(alpha - 1); | 524 | texcolor.A = (float)Math.Abs(alpha - 1); |
525 | tex.FaceTextures[face].RGBA = texcolor; | 525 | tex.FaceTextures[i].RGBA = texcolor; |
526 | m_host.UpdateTexture(tex); | 526 | } |
527 | return; | 527 | } |
528 | } | 528 | texcolor = tex.DefaultTexture.RGBA; |
529 | else if (face == -1) | 529 | texcolor.A = (float)Math.Abs(alpha - 1); |
530 | { | 530 | tex.DefaultTexture.RGBA = texcolor; |
531 | for (int i = 0; i < 32; i++) | 531 | m_host.UpdateTexture(tex); |
532 | { | 532 | return; |
533 | if (tex.FaceTextures[i] != null) | 533 | } |
534 | { | 534 | NotImplemented("llSetAlpha"); |
535 | texcolor = tex.FaceTextures[i].RGBA; | 535 | return; |
536 | texcolor.A = (float)Math.Abs(alpha - 1); | 536 | } |
537 | tex.FaceTextures[i].RGBA = texcolor; | 537 | |
538 | } | 538 | public LSL_Types.Vector3 llGetColor(int face) |
539 | } | 539 | { |
540 | texcolor = tex.DefaultTexture.RGBA; | 540 | LLObject.TextureEntry tex = m_host.Shape.Textures; |
541 | texcolor.A = (float)Math.Abs(alpha - 1); | 541 | LLColor texcolor; |
542 | tex.DefaultTexture.RGBA = texcolor; | 542 | LSL_Types.Vector3 rgb; |
543 | m_host.UpdateTexture(tex); | 543 | if (face == -1) // TMP: Until we can determine number of sides, ALL_SIDES (-1) will return default color |
544 | return; | 544 | { |
545 | } | 545 | texcolor = tex.DefaultTexture.RGBA; |
546 | NotImplemented("llSetAlpha"); | 546 | rgb.x = (255 - (texcolor.R * 255)) / 255; |
547 | return; | 547 | rgb.y = (255 - (texcolor.G * 255)) / 255; |
548 | } | 548 | rgb.z = (255 - (texcolor.B * 255)) / 255; |
549 | 549 | return rgb; | |
550 | public LSL_Types.Vector3 llGetColor(int face) | 550 | } |
551 | { | 551 | if (face > -1) |
552 | LLObject.TextureEntry tex = m_host.Shape.Textures; | 552 | { |
553 | LLColor texcolor; | 553 | texcolor = tex.GetFace((uint)face).RGBA; |
554 | LSL_Types.Vector3 rgb; | 554 | rgb.x = (255 - (texcolor.R * 255)) / 255; |
555 | if (face == -1) // TMP: Until we can determine number of sides, ALL_SIDES (-1) will return default color | 555 | rgb.y = (255 - (texcolor.G * 255)) / 255; |
556 | { | 556 | rgb.z = (255 - (texcolor.B * 255)) / 255; |
557 | texcolor = tex.DefaultTexture.RGBA; | 557 | return rgb; |
558 | rgb.x = (255 - (texcolor.R * 255)) / 255; | 558 | } |
559 | rgb.y = (255 - (texcolor.G * 255)) / 255; | 559 | NotImplemented("llGetColor"); |
560 | rgb.z = (255 - (texcolor.B * 255)) / 255; | 560 | return new LSL_Types.Vector3(); |
561 | return rgb; | 561 | } |
562 | } | 562 | |
563 | if (face > -1) | 563 | public void llSetTexture(string texture, int face) |
564 | { | 564 | { |
565 | texcolor = tex.GetFace((uint)face).RGBA; | 565 | LLObject.TextureEntry tex = m_host.Shape.Textures; |
566 | rgb.x = (255 - (texcolor.R * 255)) / 255; | 566 | |
567 | rgb.y = (255 - (texcolor.G * 255)) / 255; | 567 | if (face > -1) |
568 | rgb.z = (255 - (texcolor.B * 255)) / 255; | 568 | { |
569 | return rgb; | 569 | LLObject.TextureEntryFace texface = tex.CreateFace((uint)face); |
570 | } | 570 | texface.TextureID = new LLUUID(texture); |
571 | NotImplemented("llGetColor"); | 571 | tex.FaceTextures[face] = texface; |
572 | return new LSL_Types.Vector3(); | 572 | m_host.UpdateTexture(tex); |
573 | } | 573 | return; |
574 | 574 | } | |
575 | public void llSetTexture(string texture, int face) | 575 | else if (face == -1) |
576 | { | 576 | { |
577 | LLObject.TextureEntry tex = m_host.Shape.Textures; | 577 | for (uint i = 0; i < 32; i++) |
578 | 578 | { | |
579 | if (face > -1) | 579 | if (tex.FaceTextures[i] != null) |
580 | { | 580 | { |
581 | LLObject.TextureEntryFace texface = tex.CreateFace((uint)face); | 581 | tex.FaceTextures[i].TextureID = new LLUUID(texture); |
582 | texface.TextureID = new LLUUID(texture); | 582 | } |
583 | tex.FaceTextures[face] = texface; | 583 | } |
584 | m_host.UpdateTexture(tex); | 584 | tex.DefaultTexture.TextureID = new LLUUID(texture); |
585 | return; | 585 | m_host.UpdateTexture(tex); |
586 | } | 586 | return; |
587 | else if (face == -1) | 587 | } |
588 | { | 588 | NotImplemented("llSetTexture"); |
589 | for (uint i = 0; i < 32; i++) | 589 | return; |
590 | { | 590 | } |
591 | if (tex.FaceTextures[i] != null) | 591 | |
592 | { | 592 | public void llScaleTexture(double u, double v, int face) |
593 | tex.FaceTextures[i].TextureID = new LLUUID(texture); | 593 | { |
594 | } | 594 | LLObject.TextureEntry tex = m_host.Shape.Textures; |
595 | } | 595 | if (face > -1) |
596 | tex.DefaultTexture.TextureID = new LLUUID(texture); | 596 | { |
597 | m_host.UpdateTexture(tex); | 597 | LLObject.TextureEntryFace texface = tex.CreateFace((uint)face); |
598 | return; | 598 | texface.RepeatU = (float)u; |
599 | } | 599 | texface.RepeatV = (float)v; |
600 | NotImplemented("llSetTexture"); | 600 | tex.FaceTextures[face] = texface; |
601 | return; | 601 | m_host.UpdateTexture(tex); |
602 | } | 602 | return; |
603 | 603 | } | |
604 | public void llScaleTexture(double u, double v, int face) | 604 | if (face == -1) |
605 | { | 605 | { |
606 | LLObject.TextureEntry tex = m_host.Shape.Textures; | 606 | for (int i = 0; i < 32; i++) |
607 | if (face > -1) | 607 | { |
608 | { | 608 | if (tex.FaceTextures[i] != null) |
609 | LLObject.TextureEntryFace texface = tex.CreateFace((uint)face); | 609 | { |
610 | texface.RepeatU = (float)u; | 610 | tex.FaceTextures[i].RepeatU = (float)u; |
611 | texface.RepeatV = (float)v; | 611 | tex.FaceTextures[i].RepeatV = (float)v; |
612 | tex.FaceTextures[face] = texface; | 612 | } |
613 | m_host.UpdateTexture(tex); | 613 | } |
614 | return; | 614 | tex.DefaultTexture.RepeatU = (float)u; |
615 | } | 615 | tex.DefaultTexture.RepeatV = (float)v; |
616 | if (face == -1) | 616 | m_host.UpdateTexture(tex); |
617 | { | 617 | return; |
618 | for (int i = 0; i < 32; i++) | 618 | } |
619 | { | 619 | NotImplemented("llScaleTexture"); |
620 | if (tex.FaceTextures[i] != null) | 620 | return; |
621 | { | 621 | } |
622 | tex.FaceTextures[i].RepeatU = (float)u; | 622 | |
623 | tex.FaceTextures[i].RepeatV = (float)v; | 623 | public void llOffsetTexture(double u, double v, int face) |
624 | } | 624 | { |
625 | } | 625 | LLObject.TextureEntry tex = m_host.Shape.Textures; |
626 | tex.DefaultTexture.RepeatU = (float)u; | 626 | if (face > -1) |
627 | tex.DefaultTexture.RepeatV = (float)v; | 627 | { |
628 | m_host.UpdateTexture(tex); | 628 | LLObject.TextureEntryFace texface = tex.CreateFace((uint)face); |
629 | return; | 629 | texface.OffsetU = (float)u; |
630 | } | 630 | texface.OffsetV = (float)v; |
631 | NotImplemented("llScaleTexture"); | 631 | tex.FaceTextures[face] = texface; |
632 | return; | 632 | m_host.UpdateTexture(tex); |
633 | } | 633 | return; |
634 | 634 | } | |
635 | public void llOffsetTexture(double u, double v, int face) | 635 | if (face == -1) |
636 | { | 636 | { |
637 | LLObject.TextureEntry tex = m_host.Shape.Textures; | 637 | for (int i = 0; i < 32; i++) |
638 | if (face > -1) | 638 | { |
639 | { | 639 | if (tex.FaceTextures[i] != null) |
640 | LLObject.TextureEntryFace texface = tex.CreateFace((uint)face); | 640 | { |
641 | texface.OffsetU = (float)u; | 641 | tex.FaceTextures[i].OffsetU = (float)u; |
642 | texface.OffsetV = (float)v; | 642 | tex.FaceTextures[i].OffsetV = (float)v; |
643 | tex.FaceTextures[face] = texface; | 643 | } |
644 | m_host.UpdateTexture(tex); | 644 | } |
645 | return; | 645 | tex.DefaultTexture.OffsetU = (float)u; |
646 | } | 646 | tex.DefaultTexture.OffsetV = (float)v; |
647 | if (face == -1) | 647 | m_host.UpdateTexture(tex); |
648 | { | 648 | return; |
649 | for (int i = 0; i < 32; i++) | 649 | } |
650 | { | 650 | NotImplemented("llOffsetTexture"); |
651 | if (tex.FaceTextures[i] != null) | 651 | return; |
652 | { | 652 | } |
653 | tex.FaceTextures[i].OffsetU = (float)u; | 653 | |
654 | tex.FaceTextures[i].OffsetV = (float)v; | 654 | public void llRotateTexture(double rotation, int face) |
655 | } | 655 | { |
656 | } | 656 | LLObject.TextureEntry tex = m_host.Shape.Textures; |
657 | tex.DefaultTexture.OffsetU = (float)u; | 657 | if (face > -1) |
658 | tex.DefaultTexture.OffsetV = (float)v; | 658 | { |
659 | m_host.UpdateTexture(tex); | 659 | LLObject.TextureEntryFace texface = tex.CreateFace((uint)face); |
660 | return; | 660 | texface.Rotation = (float)rotation; |
661 | } | 661 | tex.FaceTextures[face] = texface; |
662 | NotImplemented("llOffsetTexture"); | 662 | m_host.UpdateTexture(tex); |
663 | return; | 663 | return; |
664 | } | 664 | } |
665 | 665 | if (face == -1) | |
666 | public void llRotateTexture(double rotation, int face) | 666 | { |
667 | { | 667 | for (int i = 0; i < 32; i++) |
668 | LLObject.TextureEntry tex = m_host.Shape.Textures; | 668 | { |
669 | if (face > -1) | 669 | if (tex.FaceTextures[i] != null) |
670 | { | 670 | { |
671 | LLObject.TextureEntryFace texface = tex.CreateFace((uint)face); | 671 | tex.FaceTextures[i].Rotation = (float)rotation; |
672 | texface.Rotation = (float)rotation; | 672 | } |
673 | tex.FaceTextures[face] = texface; | 673 | } |
674 | m_host.UpdateTexture(tex); | 674 | tex.DefaultTexture.Rotation = (float)rotation; |
675 | return; | 675 | m_host.UpdateTexture(tex); |
676 | } | 676 | return; |
677 | if (face == -1) | 677 | } |
678 | { | 678 | NotImplemented("llRotateTexture"); |
679 | for (int i = 0; i < 32; i++) | 679 | return; |
680 | { | 680 | } |
681 | if (tex.FaceTextures[i] != null) | 681 | |
682 | { | 682 | public string llGetTexture(int face) |
683 | tex.FaceTextures[i].Rotation = (float)rotation; | 683 | { |
684 | } | 684 | LLObject.TextureEntry tex = m_host.Shape.Textures; |
685 | } | 685 | if (face == -1) |
686 | tex.DefaultTexture.Rotation = (float)rotation; | 686 | { |
687 | m_host.UpdateTexture(tex); | 687 | face = 0; |
688 | return; | 688 | } |
689 | } | 689 | if (face > -1) |
690 | NotImplemented("llRotateTexture"); | 690 | { |
691 | return; | 691 | LLObject.TextureEntryFace texface; |
692 | } | 692 | texface = tex.GetFace((uint)face); |
693 | 693 | return texface.TextureID.ToString(); | |
694 | public string llGetTexture(int face) | 694 | } |
695 | { | 695 | NotImplemented("llGetTexture"); |
696 | LLObject.TextureEntry tex = m_host.Shape.Textures; | 696 | return ""; |
697 | if (face == -1) | 697 | } |
698 | { | 698 | |
699 | face = 0; | 699 | public void llSetPos(LSL_Types.Vector3 pos) |
700 | } | 700 | { |
701 | if (face > -1) | 701 | if (m_host.ParentID != 0) |
702 | { | 702 | { |
703 | LLObject.TextureEntryFace texface; | 703 | m_host.UpdateOffSet(new LLVector3((float)pos.x, (float)pos.y, (float)pos.z)); |
704 | texface = tex.GetFace((uint)face); | 704 | } |
705 | return texface.TextureID.ToString(); | 705 | else |
706 | } | 706 | { |
707 | NotImplemented("llGetTexture"); | 707 | m_host.UpdateGroupPosition(new LLVector3((float)pos.x, (float)pos.y, (float)pos.z)); |
708 | return ""; | 708 | } |
709 | } | 709 | } |
710 | 710 | ||
711 | public void llSetPos(LSL_Types.Vector3 pos) | 711 | public LSL_Types.Vector3 llGetPos() |
712 | { | 712 | { |
713 | if (m_host.ParentID != 0) | 713 | return new LSL_Types.Vector3(m_host.AbsolutePosition.X, |
714 | { | 714 | m_host.AbsolutePosition.Y, |
715 | m_host.UpdateOffSet(new LLVector3((float)pos.x, (float)pos.y, (float)pos.z)); | 715 | m_host.AbsolutePosition.Z); |
716 | } | 716 | } |
717 | else | 717 | |
718 | { | 718 | public LSL_Types.Vector3 llGetLocalPos() |
719 | m_host.UpdateGroupPosition(new LLVector3((float)pos.x, (float)pos.y, (float)pos.z)); | 719 | { |
720 | } | 720 | if (m_host.ParentID != 0) |
721 | } | 721 | { |
722 | 722 | return new LSL_Types.Vector3(m_host.OffsetPosition.X, | |
723 | public LSL_Types.Vector3 llGetPos() | 723 | m_host.OffsetPosition.Y, |
724 | { | 724 | m_host.OffsetPosition.Z); |
725 | return new LSL_Types.Vector3(m_host.AbsolutePosition.X, | 725 | } |
726 | m_host.AbsolutePosition.Y, | 726 | else |
727 | m_host.AbsolutePosition.Z); | 727 | { |
728 | } | 728 | return new LSL_Types.Vector3(m_host.AbsolutePosition.X, |
729 | 729 | m_host.AbsolutePosition.Y, | |
730 | public LSL_Types.Vector3 llGetLocalPos() | 730 | m_host.AbsolutePosition.Z); |
731 | { | 731 | } |
732 | if (m_host.ParentID != 0) | 732 | } |
733 | { | 733 | |
734 | return new LSL_Types.Vector3(m_host.OffsetPosition.X, | 734 | public void llSetRot(LSL_Types.Quaternion rot) |
735 | m_host.OffsetPosition.Y, | 735 | { |
736 | m_host.OffsetPosition.Z); | 736 | m_host.UpdateRotation(new LLQuaternion((float)rot.x, (float)rot.y, (float)rot.z, (float)rot.s)); |
737 | } | 737 | } |
738 | else | 738 | |
739 | { | 739 | public LSL_Types.Quaternion llGetRot() |
740 | return new LSL_Types.Vector3(m_host.AbsolutePosition.X, | 740 | { |
741 | m_host.AbsolutePosition.Y, | 741 | LLQuaternion q = m_host.RotationOffset; |
742 | m_host.AbsolutePosition.Z); | 742 | return new LSL_Types.Quaternion(q.X, q.Y, q.Z, q.W); |
743 | } | 743 | } |
744 | } | 744 | |
745 | 745 | public LSL_Types.Quaternion llGetLocalRot() | |
746 | public void llSetRot(LSL_Types.Quaternion rot) | 746 | { |
747 | { | 747 | return new LSL_Types.Quaternion(m_host.RotationOffset.X, m_host.RotationOffset.Y, m_host.RotationOffset.Z, m_host.RotationOffset.W); |
748 | m_host.UpdateRotation(new LLQuaternion((float)rot.x, (float)rot.y, (float)rot.z, (float)rot.s)); | 748 | } |
749 | } | 749 | |
750 | 750 | public void llSetForce(LSL_Types.Vector3 force, int local) | |
751 | public LSL_Types.Quaternion llGetRot() | 751 | { |
752 | { | 752 | NotImplemented("llSetForce"); |
753 | LLQuaternion q = m_host.RotationOffset; | 753 | } |
754 | return new LSL_Types.Quaternion(q.X, q.Y, q.Z, q.W); | 754 | |
755 | } | 755 | public LSL_Types.Vector3 llGetForce() |
756 | 756 | { | |
757 | public LSL_Types.Quaternion llGetLocalRot() | 757 | NotImplemented("llGetForce"); |
758 | { | 758 | return new LSL_Types.Vector3(); |
759 | return new LSL_Types.Quaternion(m_host.RotationOffset.X, m_host.RotationOffset.Y, m_host.RotationOffset.Z, m_host.RotationOffset.W); | 759 | } |
760 | } | 760 | |
761 | 761 | public int llTarget(LSL_Types.Vector3 position, double range) | |
762 | public void llSetForce(LSL_Types.Vector3 force, int local) | 762 | { |
763 | { | 763 | NotImplemented("llTarget"); |
764 | NotImplemented("llSetForce"); | 764 | return 0; |
765 | } | 765 | } |
766 | 766 | ||
767 | public LSL_Types.Vector3 llGetForce() | 767 | public void llTargetRemove(int number) |
768 | { | 768 | { |
769 | NotImplemented("llGetForce"); | 769 | NotImplemented("llTargetRemove"); |
770 | return new LSL_Types.Vector3(); | 770 | } |
771 | } | 771 | |
772 | 772 | public int llRotTarget(LSL_Types.Quaternion rot, double error) | |
773 | public int llTarget(LSL_Types.Vector3 position, double range) | 773 | { |
774 | { | 774 | NotImplemented("llRotTarget"); |
775 | NotImplemented("llTarget"); | 775 | return 0; |
776 | return 0; | 776 | } |
777 | } | 777 | |
778 | 778 | public void llRotTargetRemove(int number) | |
779 | public void llTargetRemove(int number) | 779 | { |
780 | { | 780 | NotImplemented("llRotTargetRemove"); |
781 | NotImplemented("llTargetRemove"); | 781 | } |
782 | } | 782 | |
783 | 783 | public void llMoveToTarget(LSL_Types.Vector3 target, double tau) | |
784 | public int llRotTarget(LSL_Types.Quaternion rot, double error) | 784 | { |
785 | { | 785 | NotImplemented("llMoveToTarget"); |
786 | NotImplemented("llRotTarget"); | 786 | } |
787 | return 0; | 787 | |
788 | } | 788 | public void llStopMoveToTarget() |
789 | 789 | { | |
790 | public void llRotTargetRemove(int number) | 790 | NotImplemented("llStopMoveToTarget"); |
791 | { | 791 | } |
792 | NotImplemented("llRotTargetRemove"); | 792 | |
793 | } | 793 | public void llApplyImpulse(LSL_Types.Vector3 force, int local) |
794 | 794 | { | |
795 | public void llMoveToTarget(LSL_Types.Vector3 target, double tau) | 795 | NotImplemented("llApplyImpulse"); |
796 | { | 796 | } |
797 | NotImplemented("llMoveToTarget"); | 797 | |
798 | } | 798 | public void llApplyRotationalImpulse(LSL_Types.Vector3 force, int local) |
799 | 799 | { | |
800 | public void llStopMoveToTarget() | 800 | NotImplemented("llApplyRotationalImpulse"); |
801 | { | 801 | } |
802 | NotImplemented("llStopMoveToTarget"); | 802 | |
803 | } | 803 | public void llSetTorque(LSL_Types.Vector3 torque, int local) |
804 | 804 | { | |
805 | public void llApplyImpulse(LSL_Types.Vector3 force, int local) | 805 | NotImplemented("llSetTorque"); |
806 | { | 806 | } |
807 | NotImplemented("llApplyImpulse"); | 807 | |
808 | } | 808 | public LSL_Types.Vector3 llGetTorque() |
809 | 809 | { | |
810 | public void llApplyRotationalImpulse(LSL_Types.Vector3 force, int local) | 810 | NotImplemented("llGetTorque"); |
811 | { | 811 | return new LSL_Types.Vector3(); |
812 | NotImplemented("llApplyRotationalImpulse"); | 812 | } |
813 | } | 813 | |
814 | 814 | public void llSetForceAndTorque(LSL_Types.Vector3 force, LSL_Types.Vector3 torque, int local) | |
815 | public void llSetTorque(LSL_Types.Vector3 torque, int local) | 815 | { |
816 | { | 816 | NotImplemented("llSetForceAndTorque"); |
817 | NotImplemented("llSetTorque"); | 817 | } |
818 | } | 818 | |
819 | 819 | public LSL_Types.Vector3 llGetVel() | |
820 | public LSL_Types.Vector3 llGetTorque() | 820 | { |
821 | { | 821 | return new LSL_Types.Vector3(m_host.Velocity.X, m_host.Velocity.Y, m_host.Velocity.Z); |
822 | NotImplemented("llGetTorque"); | 822 | } |
823 | return new LSL_Types.Vector3(); | 823 | |
824 | } | 824 | public LSL_Types.Vector3 llGetAccel() |
825 | 825 | { | |
826 | public void llSetForceAndTorque(LSL_Types.Vector3 force, LSL_Types.Vector3 torque, int local) | 826 | return new LSL_Types.Vector3(m_host.Acceleration.X, m_host.Acceleration.Y, m_host.Acceleration.Z); |
827 | { | 827 | } |
828 | NotImplemented("llSetForceAndTorque"); | 828 | |
829 | } | 829 | public LSL_Types.Vector3 llGetOmega() |
830 | 830 | { | |
831 | public LSL_Types.Vector3 llGetVel() | 831 | NotImplemented("llGetOmega"); |
832 | { | 832 | return new LSL_Types.Vector3(); |
833 | return new LSL_Types.Vector3(m_host.Velocity.X, m_host.Velocity.Y, m_host.Velocity.Z); | 833 | } |
834 | } | 834 | |
835 | 835 | public double llGetTimeOfDay() | |
836 | public LSL_Types.Vector3 llGetAccel() | 836 | { |
837 | { | 837 | NotImplemented("llGetTimeOfDay"); |
838 | return new LSL_Types.Vector3(m_host.Acceleration.X, m_host.Acceleration.Y, m_host.Acceleration.Z); | 838 | return 0; |
839 | } | 839 | } |
840 | 840 | ||
841 | public LSL_Types.Vector3 llGetOmega() | 841 | public double llGetWallclock() |
842 | { | 842 | { |
843 | NotImplemented("llGetOmega"); | 843 | return DateTime.Now.TimeOfDay.TotalSeconds; |
844 | return new LSL_Types.Vector3(); | 844 | } |
845 | } | 845 | |
846 | 846 | public double llGetTime() | |
847 | public double llGetTimeOfDay() | 847 | { |
848 | { | 848 | TimeSpan ScriptTime = DateTime.Now - m_timer; |
849 | NotImplemented("llGetTimeOfDay"); | 849 | return (double)(ScriptTime.TotalMilliseconds / 1000); |
850 | return 0; | 850 | } |
851 | } | 851 | |
852 | 852 | public void llResetTime() | |
853 | public double llGetWallclock() | 853 | { |
854 | { | 854 | m_timer = DateTime.Now; |
855 | return DateTime.Now.TimeOfDay.TotalSeconds; | 855 | } |
856 | } | 856 | |
857 | 857 | public double llGetAndResetTime() | |
858 | public double llGetTime() | 858 | { |
859 | { | 859 | TimeSpan ScriptTime = DateTime.Now - m_timer; |
860 | TimeSpan ScriptTime = DateTime.Now - m_timer; | 860 | m_timer = DateTime.Now; |
861 | return (double)(ScriptTime.TotalMilliseconds / 1000); | 861 | return (double)(ScriptTime.TotalMilliseconds / 1000); |
862 | } | 862 | } |
863 | 863 | ||
864 | public void llResetTime() | 864 | public void llSound() |
865 | { | 865 | { |
866 | m_timer = DateTime.Now; | 866 | NotImplemented("llSound"); |
867 | } | 867 | } |
868 | 868 | ||
869 | public double llGetAndResetTime() | 869 | public void llPlaySound(string sound, double volume) |
870 | { | 870 | { |
871 | TimeSpan ScriptTime = DateTime.Now - m_timer; | 871 | NotImplemented("llPlaySound"); |
872 | m_timer = DateTime.Now; | 872 | } |
873 | return (double)(ScriptTime.TotalMilliseconds / 1000); | 873 | |
874 | } | 874 | public void llLoopSound(string sound, double volume) |
875 | 875 | { | |
876 | public void llSound() | 876 | NotImplemented("llLoopSound"); |
877 | { | 877 | } |
878 | NotImplemented("llSound"); | 878 | |
879 | } | 879 | public void llLoopSoundMaster(string sound, double volume) |
880 | 880 | { | |
881 | public void llPlaySound(string sound, double volume) | 881 | NotImplemented("llLoopSoundMaster"); |
882 | { | 882 | } |
883 | NotImplemented("llPlaySound"); | 883 | |
884 | } | 884 | public void llLoopSoundSlave(string sound, double volume) |
885 | 885 | { | |
886 | public void llLoopSound(string sound, double volume) | 886 | NotImplemented("llLoopSoundSlave"); |
887 | { | 887 | } |
888 | NotImplemented("llLoopSound"); | 888 | |
889 | } | 889 | public void llPlaySoundSlave(string sound, double volume) |
890 | 890 | { | |
891 | public void llLoopSoundMaster(string sound, double volume) | 891 | NotImplemented("llPlaySoundSlave"); |
892 | { | 892 | } |
893 | NotImplemented("llLoopSoundMaster"); | 893 | |
894 | } | 894 | public void llTriggerSound(string sound, double volume) |
895 | 895 | { | |
896 | public void llLoopSoundSlave(string sound, double volume) | 896 | NotImplemented("llTriggerSound"); |
897 | { | 897 | } |
898 | NotImplemented("llLoopSoundSlave"); | 898 | |
899 | } | 899 | public void llStopSound() |
900 | 900 | { | |
901 | public void llPlaySoundSlave(string sound, double volume) | 901 | NotImplemented("llStopSound"); |
902 | { | 902 | } |
903 | NotImplemented("llPlaySoundSlave"); | 903 | |
904 | } | 904 | public void llPreloadSound(string sound) |
905 | 905 | { | |
906 | public void llTriggerSound(string sound, double volume) | 906 | NotImplemented("llPreloadSound"); |
907 | { | 907 | } |
908 | NotImplemented("llTriggerSound"); | 908 | |
909 | } | 909 | public string llGetSubString(string src, int start, int end) |
910 | 910 | { | |
911 | public void llStopSound() | 911 | return src.Substring(start, end); |
912 | { | 912 | } |
913 | NotImplemented("llStopSound"); | 913 | |
914 | } | 914 | public string llDeleteSubString(string src, int start, int end) |
915 | 915 | { | |
916 | public void llPreloadSound(string sound) | 916 | return src.Remove(start, end - start); |
917 | { | 917 | } |
918 | NotImplemented("llPreloadSound"); | 918 | |
919 | } | 919 | public string llInsertString(string dst, int position, string src) |
920 | 920 | { | |
921 | public string llGetSubString(string src, int start, int end) | 921 | return dst.Insert(position, src); |
922 | { | 922 | } |
923 | return src.Substring(start, end); | 923 | |
924 | } | 924 | public string llToUpper(string src) |
925 | 925 | { | |
926 | public string llDeleteSubString(string src, int start, int end) | 926 | return src.ToUpper(); |
927 | { | 927 | } |
928 | return src.Remove(start, end - start); | 928 | |
929 | } | 929 | public string llToLower(string src) |
930 | 930 | { | |
931 | public string llInsertString(string dst, int position, string src) | 931 | return src.ToLower(); |
932 | { | 932 | } |
933 | return dst.Insert(position, src); | 933 | |
934 | } | 934 | public int llGiveMoney(string destination, int amount) |
935 | 935 | { | |
936 | public string llToUpper(string src) | 936 | NotImplemented("llGiveMoney"); |
937 | { | 937 | return 0; |
938 | return src.ToUpper(); | 938 | } |
939 | } | 939 | |
940 | 940 | public void llMakeExplosion() | |
941 | public string llToLower(string src) | 941 | { |
942 | { | 942 | NotImplemented("llMakeExplosion"); |
943 | return src.ToLower(); | 943 | } |
944 | } | 944 | |
945 | 945 | public void llMakeFountain() | |
946 | public int llGiveMoney(string destination, int amount) | 946 | { |
947 | { | 947 | NotImplemented("llMakeFountain"); |
948 | NotImplemented("llGiveMoney"); | 948 | } |
949 | return 0; | 949 | |
950 | } | 950 | public void llMakeSmoke() |
951 | 951 | { | |
952 | public void llMakeExplosion() | 952 | NotImplemented("llMakeSmoke"); |
953 | { | 953 | } |
954 | NotImplemented("llMakeExplosion"); | 954 | |
955 | } | 955 | public void llMakeFire() |
956 | 956 | { | |
957 | public void llMakeFountain() | 957 | NotImplemented("llMakeFire"); |
958 | { | 958 | } |
959 | NotImplemented("llMakeFountain"); | 959 | |
960 | } | 960 | public void llRezObject(string inventory, LSL_Types.Vector3 pos, LSL_Types.Quaternion rot, int param) |
961 | 961 | { | |
962 | public void llMakeSmoke() | 962 | NotImplemented("llRezObject"); |
963 | { | 963 | } |
964 | NotImplemented("llMakeSmoke"); | 964 | |
965 | } | 965 | public void llLookAt(LSL_Types.Vector3 target, double strength, double damping) |
966 | 966 | { | |
967 | public void llMakeFire() | 967 | NotImplemented("llLookAt"); |
968 | { | 968 | } |
969 | NotImplemented("llMakeFire"); | 969 | |
970 | } | 970 | public void llStopLookAt() |
971 | 971 | { | |
972 | public void llRezObject(string inventory, LSL_Types.Vector3 pos, LSL_Types.Quaternion rot, int param) | 972 | NotImplemented("llStopLookAt"); |
973 | { | 973 | } |
974 | NotImplemented("llRezObject"); | 974 | |
975 | } | 975 | public void llSetTimerEvent(double sec) |
976 | 976 | { | |
977 | public void llLookAt(LSL_Types.Vector3 target, double strength, double damping) | 977 | // Setting timer repeat |
978 | { | 978 | m_ScriptEngine.m_LSLLongCmdHandler.SetTimerEvent(m_localID, m_itemID, sec); |
979 | NotImplemented("llLookAt"); | 979 | } |
980 | } | 980 | |
981 | 981 | public void llSleep(double sec) | |
982 | public void llStopLookAt() | 982 | { |
983 | { | 983 | Thread.Sleep((int)(sec * 1000)); |
984 | NotImplemented("llStopLookAt"); | 984 | } |
985 | } | 985 | |
986 | 986 | public double llGetMass() | |
987 | public void llSetTimerEvent(double sec) | 987 | { |
988 | { | 988 | return m_host.GetMass(); |
989 | // Setting timer repeat | 989 | } |
990 | m_ScriptEngine.m_LSLLongCmdHandler.SetTimerEvent(m_localID, m_itemID, sec); | 990 | |
991 | } | 991 | public void llCollisionFilter(string name, string id, int accept) |
992 | 992 | { | |
993 | public void llSleep(double sec) | 993 | NotImplemented("llCollisionFilter"); |
994 | { | 994 | } |
995 | Thread.Sleep((int)(sec * 1000)); | 995 | |
996 | } | 996 | public void llTakeControls(int controls, int accept, int pass_on) |
997 | 997 | { | |
998 | public double llGetMass() | 998 | NotImplemented("llTakeControls"); |
999 | { | 999 | } |
1000 | return m_host.GetMass(); | 1000 | |
1001 | } | 1001 | public void llReleaseControls() |
1002 | 1002 | { | |
1003 | public void llCollisionFilter(string name, string id, int accept) | 1003 | NotImplemented("llReleaseControls"); |
1004 | { | 1004 | } |
1005 | NotImplemented("llCollisionFilter"); | 1005 | |
1006 | } | 1006 | public void llAttachToAvatar(int attachment) |
1007 | 1007 | { | |
1008 | public void llTakeControls(int controls, int accept, int pass_on) | 1008 | NotImplemented("llAttachToAvatar"); |
1009 | { | 1009 | } |
1010 | NotImplemented("llTakeControls"); | 1010 | |
1011 | } | 1011 | public void llDetachFromAvatar() |
1012 | 1012 | { | |
1013 | public void llReleaseControls() | 1013 | NotImplemented("llDetachFromAvatar"); |
1014 | { | 1014 | } |
1015 | NotImplemented("llReleaseControls"); | 1015 | |
1016 | } | 1016 | public void llTakeCamera() |
1017 | 1017 | { | |
1018 | public void llAttachToAvatar(int attachment) | 1018 | NotImplemented("llTakeCamera"); |
1019 | { | 1019 | } |
1020 | NotImplemented("llAttachToAvatar"); | 1020 | |
1021 | } | 1021 | public void llReleaseCamera() |
1022 | 1022 | { | |
1023 | public void llDetachFromAvatar() | 1023 | NotImplemented("llReleaseCamera"); |
1024 | { | 1024 | } |
1025 | NotImplemented("llDetachFromAvatar"); | 1025 | |
1026 | } | 1026 | public string llGetOwner() |
1027 | 1027 | { | |
1028 | public void llTakeCamera() | 1028 | return m_host.ObjectOwner.ToString(); |
1029 | { | 1029 | } |
1030 | NotImplemented("llTakeCamera"); | 1030 | |
1031 | } | 1031 | public void llInstantMessage(string user, string message) |
1032 | 1032 | { | |
1033 | public void llReleaseCamera() | 1033 | NotImplemented("llInstantMessage"); |
1034 | { | 1034 | |
1035 | NotImplemented("llReleaseCamera"); | 1035 | // We may be able to use ClientView.SendInstantMessage here, but we need a client instance. |
1036 | } | 1036 | // InstantMessageModule.OnInstantMessage searches through a list of scenes for a client matching the toAgent, |
1037 | 1037 | // but I don't think we have a list of scenes available from here. | |
1038 | public string llGetOwner() | 1038 | // (We also don't want to duplicate the code in OnInstantMessage if we can avoid it.) |
1039 | { | 1039 | |
1040 | return m_host.ObjectOwner.ToString(); | 1040 | // TODO: figure out values for client, fromSession, and imSessionID |
1041 | } | 1041 | // client.SendInstantMessage(m_host.UUID, fromSession, message, user, imSessionID, m_host.Name, AgentManager.InstantMessageDialog.MessageFromAgent, (uint)Util.UnixTimeSinceEpoch()); |
1042 | 1042 | } | |
1043 | public void llInstantMessage(string user, string message) | 1043 | |
1044 | { | 1044 | public void llEmail(string address, string subject, string message) |
1045 | NotImplemented("llInstantMessage"); | 1045 | { |
1046 | 1046 | NotImplemented("llEmail"); | |
1047 | // We may be able to use ClientView.SendInstantMessage here, but we need a client instance. | 1047 | } |
1048 | // InstantMessageModule.OnInstantMessage searches through a list of scenes for a client matching the toAgent, | 1048 | |
1049 | // but I don't think we have a list of scenes available from here. | 1049 | public void llGetNextEmail(string address, string subject) |
1050 | // (We also don't want to duplicate the code in OnInstantMessage if we can avoid it.) | 1050 | { |
1051 | 1051 | NotImplemented("llGetNextEmail"); | |
1052 | // TODO: figure out values for client, fromSession, and imSessionID | 1052 | } |
1053 | // client.SendInstantMessage(m_host.UUID, fromSession, message, user, imSessionID, m_host.Name, AgentManager.InstantMessageDialog.MessageFromAgent, (uint)Util.UnixTimeSinceEpoch()); | 1053 | |
1054 | } | 1054 | public string llGetKey() |
1055 | 1055 | { | |
1056 | public void llEmail(string address, string subject, string message) | 1056 | return m_host.UUID.ToString(); |
1057 | { | 1057 | } |
1058 | NotImplemented("llEmail"); | 1058 | |
1059 | } | 1059 | public void llSetBuoyancy(double buoyancy) |
1060 | 1060 | { | |
1061 | public void llGetNextEmail(string address, string subject) | 1061 | NotImplemented("llSetBuoyancy"); |
1062 | { | 1062 | } |
1063 | NotImplemented("llGetNextEmail"); | 1063 | |
1064 | } | 1064 | public void llSetHoverHeight(double height, int water, double tau) |
1065 | 1065 | { | |
1066 | public string llGetKey() | 1066 | NotImplemented("llSetHoverHeight"); |
1067 | { | 1067 | } |
1068 | return m_host.UUID.ToString(); | 1068 | |
1069 | } | 1069 | public void llStopHover() |
1070 | 1070 | { | |
1071 | public void llSetBuoyancy(double buoyancy) | 1071 | NotImplemented("llStopHover"); |
1072 | { | 1072 | } |
1073 | NotImplemented("llSetBuoyancy"); | 1073 | |
1074 | } | 1074 | public void llMinEventDelay(double delay) |
1075 | 1075 | { | |
1076 | public void llSetHoverHeight(double height, int water, double tau) | 1076 | NotImplemented("llMinEventDelay"); |
1077 | { | 1077 | } |
1078 | NotImplemented("llSetHoverHeight"); | 1078 | |
1079 | } | 1079 | public void llSoundPreload() |
1080 | 1080 | { | |
1081 | public void llStopHover() | 1081 | NotImplemented("llSoundPreload"); |
1082 | { | 1082 | } |
1083 | NotImplemented("llStopHover"); | 1083 | |
1084 | } | 1084 | public void llRotLookAt(LSL_Types.Quaternion target, double strength, double damping) |
1085 | 1085 | { | |
1086 | public void llMinEventDelay(double delay) | 1086 | NotImplemented("llRotLookAt"); |
1087 | { | 1087 | } |
1088 | NotImplemented("llMinEventDelay"); | 1088 | |
1089 | } | 1089 | public int llStringLength(string str) |
1090 | 1090 | { | |
1091 | public void llSoundPreload() | 1091 | if (str.Length > 0) |
1092 | { | 1092 | { |
1093 | NotImplemented("llSoundPreload"); | 1093 | return str.Length; |
1094 | } | 1094 | } |
1095 | 1095 | else | |
1096 | public void llRotLookAt(LSL_Types.Quaternion target, double strength, double damping) | 1096 | { |
1097 | { | 1097 | return 0; |
1098 | NotImplemented("llRotLookAt"); | 1098 | } |
1099 | } | 1099 | } |
1100 | 1100 | ||
1101 | public int llStringLength(string str) | 1101 | public void llStartAnimation(string anim) |
1102 | { | 1102 | { |
1103 | if (str.Length > 0) | 1103 | NotImplemented("llStartAnimation"); |
1104 | { | 1104 | } |
1105 | return str.Length; | 1105 | |
1106 | } | 1106 | public void llStopAnimation(string anim) |
1107 | else | 1107 | { |
1108 | { | 1108 | NotImplemented("llStopAnimation"); |
1109 | return 0; | 1109 | } |
1110 | } | 1110 | |
1111 | } | 1111 | public void llPointAt() |
1112 | 1112 | { | |
1113 | public void llStartAnimation(string anim) | 1113 | NotImplemented("llPointAt"); |
1114 | { | 1114 | } |
1115 | NotImplemented("llStartAnimation"); | 1115 | |
1116 | } | 1116 | public void llStopPointAt() |
1117 | 1117 | { | |
1118 | public void llStopAnimation(string anim) | 1118 | NotImplemented("llStopPointAt"); |
1119 | { | 1119 | } |
1120 | NotImplemented("llStopAnimation"); | 1120 | |
1121 | } | 1121 | public void llTargetOmega(LSL_Types.Vector3 axis, double spinrate, double gain) |
1122 | 1122 | { | |
1123 | public void llPointAt() | 1123 | m_host.RotationalVelocity = new LLVector3((float)(axis.x * spinrate), (float)(axis.y * spinrate), (float)(axis.z * spinrate)); |
1124 | { | 1124 | m_host.AngularVelocity = new LLVector3((float)(axis.x * spinrate), (float)(axis.y * spinrate), (float)(axis.z * spinrate)); |
1125 | NotImplemented("llPointAt"); | 1125 | m_host.ScheduleTerseUpdate(); |
1126 | } | 1126 | m_host.SendTerseUpdateToAllClients(); |
1127 | 1127 | //NotImplemented("llTargetOmega"); | |
1128 | public void llStopPointAt() | 1128 | } |
1129 | { | 1129 | |
1130 | NotImplemented("llStopPointAt"); | 1130 | public int llGetStartParameter() |
1131 | } | 1131 | { |
1132 | 1132 | NotImplemented("llGetStartParameter"); | |
1133 | public void llTargetOmega(LSL_Types.Vector3 axis, double spinrate, double gain) | 1133 | return 0; |
1134 | { | 1134 | } |
1135 | m_host.RotationalVelocity = new LLVector3((float)(axis.x * spinrate), (float)(axis.y * spinrate), (float)(axis.z * spinrate)); | 1135 | |
1136 | m_host.AngularVelocity = new LLVector3((float)(axis.x * spinrate), (float)(axis.y * spinrate), (float)(axis.z * spinrate)); | 1136 | public void llGodLikeRezObject(string inventory, LSL_Types.Vector3 pos) |
1137 | m_host.ScheduleTerseUpdate(); | 1137 | { |
1138 | m_host.SendTerseUpdateToAllClients(); | 1138 | NotImplemented("llGodLikeRezObject"); |
1139 | //NotImplemented("llTargetOmega"); | 1139 | } |
1140 | } | 1140 | |
1141 | 1141 | public void llRequestPermissions(string agent, int perm) | |
1142 | public int llGetStartParameter() | 1142 | { |
1143 | { | 1143 | NotImplemented("llRequestPermissions"); |
1144 | NotImplemented("llGetStartParameter"); | 1144 | } |
1145 | return 0; | 1145 | |
1146 | } | 1146 | public string llGetPermissionsKey() |
1147 | 1147 | { | |
1148 | public void llGodLikeRezObject(string inventory, LSL_Types.Vector3 pos) | 1148 | NotImplemented("llGetPermissionsKey"); |
1149 | { | 1149 | return ""; |
1150 | NotImplemented("llGodLikeRezObject"); | 1150 | } |
1151 | } | 1151 | |
1152 | 1152 | public int llGetPermissions() | |
1153 | public void llRequestPermissions(string agent, int perm) | 1153 | { |
1154 | { | 1154 | NotImplemented("llGetPermissions"); |
1155 | NotImplemented("llRequestPermissions"); | 1155 | return 0; |
1156 | } | 1156 | } |
1157 | 1157 | ||
1158 | public string llGetPermissionsKey() | 1158 | public int llGetLinkNumber() |
1159 | { | 1159 | { |
1160 | NotImplemented("llGetPermissionsKey"); | 1160 | return m_host.LinkNum; |
1161 | return ""; | 1161 | } |
1162 | } | 1162 | |
1163 | 1163 | public void llSetLinkColor(int linknumber, LSL_Types.Vector3 color, int face) | |
1164 | public int llGetPermissions() | 1164 | { |
1165 | { | 1165 | SceneObjectPart part = m_host.ParentGroup.GetLinkNumPart(linknumber); |
1166 | NotImplemented("llGetPermissions"); | 1166 | if (linknumber > -1) |
1167 | return 0; | 1167 | { |
1168 | } | 1168 | LLObject.TextureEntry tex = part.Shape.Textures; |
1169 | 1169 | LLColor texcolor; | |
1170 | public int llGetLinkNumber() | 1170 | if (face > -1) |
1171 | { | 1171 | { |
1172 | return m_host.LinkNum; | 1172 | texcolor = tex.CreateFace((uint)face).RGBA; |
1173 | } | 1173 | texcolor.R = (float)Math.Abs(color.x - 1); |
1174 | 1174 | texcolor.G = (float)Math.Abs(color.y - 1); | |
1175 | public void llSetLinkColor(int linknumber, LSL_Types.Vector3 color, int face) | 1175 | texcolor.B = (float)Math.Abs(color.z - 1); |
1176 | { | 1176 | tex.FaceTextures[face].RGBA = texcolor; |
1177 | SceneObjectPart part = m_host.ParentGroup.GetLinkNumPart(linknumber); | 1177 | part.UpdateTexture(tex); |
1178 | if (linknumber > -1) | 1178 | return; |
1179 | { | 1179 | } |
1180 | LLObject.TextureEntry tex = part.Shape.Textures; | 1180 | else if (face == -1) |
1181 | LLColor texcolor; | 1181 | { |
1182 | if (face > -1) | 1182 | texcolor = tex.DefaultTexture.RGBA; |
1183 | { | 1183 | texcolor.R = (float)Math.Abs(color.x - 1); |
1184 | texcolor = tex.CreateFace((uint)face).RGBA; | 1184 | texcolor.G = (float)Math.Abs(color.y - 1); |
1185 | texcolor.R = (float)Math.Abs(color.x - 1); | 1185 | texcolor.B = (float)Math.Abs(color.z - 1); |
1186 | texcolor.G = (float)Math.Abs(color.y - 1); | 1186 | tex.DefaultTexture.RGBA = texcolor; |
1187 | texcolor.B = (float)Math.Abs(color.z - 1); | 1187 | for (uint i = 0; i < 32; i++) |
1188 | tex.FaceTextures[face].RGBA = texcolor; | 1188 | { |
1189 | part.UpdateTexture(tex); | 1189 | if (tex.FaceTextures[i] != null) |
1190 | return; | 1190 | { |
1191 | } | 1191 | texcolor = tex.FaceTextures[i].RGBA; |
1192 | else if (face == -1) | 1192 | texcolor.R = (float)Math.Abs(color.x - 1); |
1193 | { | 1193 | texcolor.G = (float)Math.Abs(color.y - 1); |
1194 | texcolor = tex.DefaultTexture.RGBA; | 1194 | texcolor.B = (float)Math.Abs(color.z - 1); |
1195 | texcolor.R = (float)Math.Abs(color.x - 1); | 1195 | tex.FaceTextures[i].RGBA = texcolor; |
1196 | texcolor.G = (float)Math.Abs(color.y - 1); | 1196 | } |
1197 | texcolor.B = (float)Math.Abs(color.z - 1); | 1197 | } |
1198 | tex.DefaultTexture.RGBA = texcolor; | 1198 | texcolor = tex.DefaultTexture.RGBA; |
1199 | for (uint i = 0; i < 32; i++) | 1199 | texcolor.R = (float)Math.Abs(color.x - 1); |
1200 | { | 1200 | texcolor.G = (float)Math.Abs(color.y - 1); |
1201 | if (tex.FaceTextures[i] != null) | 1201 | texcolor.B = (float)Math.Abs(color.z - 1); |
1202 | { | 1202 | tex.DefaultTexture.RGBA = texcolor; |
1203 | texcolor = tex.FaceTextures[i].RGBA; | 1203 | part.UpdateTexture(tex); |
1204 | texcolor.R = (float)Math.Abs(color.x - 1); | 1204 | return; |
1205 | texcolor.G = (float)Math.Abs(color.y - 1); | 1205 | } |
1206 | texcolor.B = (float)Math.Abs(color.z - 1); | 1206 | return; |
1207 | tex.FaceTextures[i].RGBA = texcolor; | 1207 | } |
1208 | } | 1208 | else if (linknumber == -1) |
1209 | } | 1209 | { |
1210 | texcolor = tex.DefaultTexture.RGBA; | 1210 | int num = m_host.ParentGroup.PrimCount; |
1211 | texcolor.R = (float)Math.Abs(color.x - 1); | 1211 | for (int w = 0; w < num; w++) |
1212 | texcolor.G = (float)Math.Abs(color.y - 1); | 1212 | { |
1213 | texcolor.B = (float)Math.Abs(color.z - 1); | 1213 | linknumber = w; |
1214 | tex.DefaultTexture.RGBA = texcolor; | 1214 | part = m_host.ParentGroup.GetLinkNumPart(linknumber); |
1215 | part.UpdateTexture(tex); | 1215 | LLObject.TextureEntry tex = part.Shape.Textures; |
1216 | return; | 1216 | LLColor texcolor; |
1217 | } | 1217 | if (face > -1) |
1218 | return; | 1218 | { |
1219 | } | 1219 | texcolor = tex.CreateFace((uint)face).RGBA; |
1220 | else if (linknumber == -1) | 1220 | texcolor.R = (float)Math.Abs(color.x - 1); |
1221 | { | 1221 | texcolor.G = (float)Math.Abs(color.y - 1); |
1222 | int num = m_host.ParentGroup.PrimCount; | 1222 | texcolor.B = (float)Math.Abs(color.z - 1); |
1223 | for (int w = 0; w < num; w++) | 1223 | tex.FaceTextures[face].RGBA = texcolor; |
1224 | { | 1224 | part.UpdateTexture(tex); |
1225 | linknumber = w; | 1225 | } |
1226 | part = m_host.ParentGroup.GetLinkNumPart(linknumber); | 1226 | else if (face == -1) |
1227 | LLObject.TextureEntry tex = part.Shape.Textures; | 1227 | { |
1228 | LLColor texcolor; | 1228 | texcolor = tex.DefaultTexture.RGBA; |
1229 | if (face > -1) | 1229 | texcolor.R = (float)Math.Abs(color.x - 1); |
1230 | { | 1230 | texcolor.G = (float)Math.Abs(color.y - 1); |
1231 | texcolor = tex.CreateFace((uint)face).RGBA; | 1231 | texcolor.B = (float)Math.Abs(color.z - 1); |
1232 | texcolor.R = (float)Math.Abs(color.x - 1); | 1232 | tex.DefaultTexture.RGBA = texcolor; |
1233 | texcolor.G = (float)Math.Abs(color.y - 1); | 1233 | for (uint i = 0; i < 32; i++) |
1234 | texcolor.B = (float)Math.Abs(color.z - 1); | 1234 | { |
1235 | tex.FaceTextures[face].RGBA = texcolor; | 1235 | if (tex.FaceTextures[i] != null) |
1236 | part.UpdateTexture(tex); | 1236 | { |
1237 | } | 1237 | texcolor = tex.FaceTextures[i].RGBA; |
1238 | else if (face == -1) | 1238 | texcolor.R = (float)Math.Abs(color.x - 1); |
1239 | { | 1239 | texcolor.G = (float)Math.Abs(color.y - 1); |
1240 | texcolor = tex.DefaultTexture.RGBA; | 1240 | texcolor.B = (float)Math.Abs(color.z - 1); |
1241 | texcolor.R = (float)Math.Abs(color.x - 1); | 1241 | tex.FaceTextures[i].RGBA = texcolor; |
1242 | texcolor.G = (float)Math.Abs(color.y - 1); | 1242 | } |
1243 | texcolor.B = (float)Math.Abs(color.z - 1); | 1243 | } |
1244 | tex.DefaultTexture.RGBA = texcolor; | 1244 | texcolor = tex.DefaultTexture.RGBA; |
1245 | for (uint i = 0; i < 32; i++) | 1245 | texcolor.R = (float)Math.Abs(color.x - 1); |
1246 | { | 1246 | texcolor.G = (float)Math.Abs(color.y - 1); |
1247 | if (tex.FaceTextures[i] != null) | 1247 | texcolor.B = (float)Math.Abs(color.z - 1); |
1248 | { | 1248 | tex.DefaultTexture.RGBA = texcolor; |
1249 | texcolor = tex.FaceTextures[i].RGBA; | 1249 | part.UpdateTexture(tex); |
1250 | texcolor.R = (float)Math.Abs(color.x - 1); | 1250 | } |
1251 | texcolor.G = (float)Math.Abs(color.y - 1); | 1251 | } |
1252 | texcolor.B = (float)Math.Abs(color.z - 1); | 1252 | return; |
1253 | tex.FaceTextures[i].RGBA = texcolor; | 1253 | } |
1254 | } | 1254 | else |
1255 | } | 1255 | { |
1256 | texcolor = tex.DefaultTexture.RGBA; | 1256 | NotImplemented("llSetLinkColor"); |
1257 | texcolor.R = (float)Math.Abs(color.x - 1); | 1257 | } |
1258 | texcolor.G = (float)Math.Abs(color.y - 1); | 1258 | } |
1259 | texcolor.B = (float)Math.Abs(color.z - 1); | 1259 | |
1260 | tex.DefaultTexture.RGBA = texcolor; | 1260 | public void llCreateLink(string target, int parent) |
1261 | part.UpdateTexture(tex); | 1261 | { |
1262 | } | 1262 | NotImplemented("llCreateLink"); |
1263 | } | 1263 | } |
1264 | return; | 1264 | |
1265 | } | 1265 | public void llBreakLink(int linknum) |
1266 | else | 1266 | { |
1267 | { | 1267 | NotImplemented("llBreakLink"); |
1268 | NotImplemented("llSetLinkColor"); | 1268 | } |
1269 | } | 1269 | |
1270 | } | 1270 | public void llBreakAllLinks() |
1271 | 1271 | { | |
1272 | public void llCreateLink(string target, int parent) | 1272 | NotImplemented("llBreakAllLinks"); |
1273 | { | 1273 | } |
1274 | NotImplemented("llCreateLink"); | 1274 | |
1275 | } | 1275 | public string llGetLinkKey(int linknum) |
1276 | 1276 | { | |
1277 | public void llBreakLink(int linknum) | 1277 | SceneObjectPart part = m_host.ParentGroup.GetLinkNumPart(linknum); |
1278 | { | 1278 | if (part != null) |
1279 | NotImplemented("llBreakLink"); | 1279 | { |
1280 | } | 1280 | return part.UUID.ToString(); |
1281 | 1281 | } | |
1282 | public void llBreakAllLinks() | 1282 | else |
1283 | { | 1283 | { |
1284 | NotImplemented("llBreakAllLinks"); | 1284 | return "00000000-0000-0000-0000-000000000000"; |
1285 | } | 1285 | } |
1286 | 1286 | } | |
1287 | public string llGetLinkKey(int linknum) | 1287 | |
1288 | { | 1288 | public string llGetLinkName(int linknum) |
1289 | SceneObjectPart part = m_host.ParentGroup.GetLinkNumPart(linknum); | 1289 | { |
1290 | if (part != null) | 1290 | SceneObjectPart part = m_host.ParentGroup.GetLinkNumPart(linknum); |
1291 | { | 1291 | if (part != null) |
1292 | return part.UUID.ToString(); | 1292 | { |
1293 | } | 1293 | return part.Name; |
1294 | else | 1294 | } |
1295 | { | 1295 | else |
1296 | return "00000000-0000-0000-0000-000000000000"; | 1296 | { |
1297 | } | 1297 | return "00000000-0000-0000-0000-000000000000"; |
1298 | } | 1298 | } |
1299 | 1299 | } | |
1300 | public string llGetLinkName(int linknum) | 1300 | |
1301 | { | 1301 | public int llGetInventoryNumber(int type) |
1302 | SceneObjectPart part = m_host.ParentGroup.GetLinkNumPart(linknum); | 1302 | { |
1303 | if (part != null) | 1303 | NotImplemented("llGetInventoryNumber"); |
1304 | { | 1304 | return 0; |
1305 | return part.Name; | 1305 | } |
1306 | } | 1306 | |
1307 | else | 1307 | public string llGetInventoryName(int type, int number) |
1308 | { | 1308 | { |
1309 | return "00000000-0000-0000-0000-000000000000"; | 1309 | NotImplemented("llGetInventoryName"); |
1310 | } | 1310 | return ""; |
1311 | } | 1311 | } |
1312 | 1312 | ||
1313 | public int llGetInventoryNumber(int type) | 1313 | public void llSetScriptState(string name, int run) |
1314 | { | 1314 | { |
1315 | NotImplemented("llGetInventoryNumber"); | 1315 | NotImplemented("llSetScriptState"); |
1316 | return 0; | 1316 | } |
1317 | } | 1317 | |
1318 | 1318 | public double llGetEnergy() | |
1319 | public string llGetInventoryName(int type, int number) | 1319 | { |
1320 | { | 1320 | return 1.0f; |
1321 | NotImplemented("llGetInventoryName"); | 1321 | } |
1322 | return ""; | 1322 | |
1323 | } | 1323 | public void llGiveInventory(string destination, string inventory) |
1324 | 1324 | { | |
1325 | public void llSetScriptState(string name, int run) | 1325 | NotImplemented("llGiveInventory"); |
1326 | { | 1326 | } |
1327 | NotImplemented("llSetScriptState"); | 1327 | |
1328 | } | 1328 | public void llRemoveInventory(string item) |
1329 | 1329 | { | |
1330 | public double llGetEnergy() | 1330 | NotImplemented("llRemoveInventory"); |
1331 | { | 1331 | } |
1332 | return 1.0f; | 1332 | |
1333 | } | 1333 | public void llSetText(string text, LSL_Types.Vector3 color, double alpha) |
1334 | 1334 | { | |
1335 | public void llGiveInventory(string destination, string inventory) | 1335 | Vector3 av3 = new Vector3((float)color.x, (float)color.y, (float)color.z); |
1336 | { | 1336 | m_host.SetText(text, av3, alpha); |
1337 | NotImplemented("llGiveInventory"); | 1337 | } |
1338 | } | 1338 | |
1339 | 1339 | public double llWater(LSL_Types.Vector3 offset) | |
1340 | public void llRemoveInventory(string item) | 1340 | { |
1341 | { | 1341 | return World.RegionInfo.EstateSettings.waterHeight; |
1342 | NotImplemented("llRemoveInventory"); | 1342 | } |
1343 | } | 1343 | |
1344 | 1344 | public void llPassTouches(int pass) | |
1345 | public void llSetText(string text, LSL_Types.Vector3 color, double alpha) | 1345 | { |
1346 | { | 1346 | NotImplemented("llPassTouches"); |
1347 | Vector3 av3 = new Vector3((float)color.x, (float)color.y, (float)color.z); | 1347 | } |
1348 | m_host.SetText(text, av3, alpha); | 1348 | |
1349 | } | 1349 | public string llRequestAgentData(string id, int data) |
1350 | 1350 | { | |
1351 | public double llWater(LSL_Types.Vector3 offset) | 1351 | NotImplemented("llRequestAgentData"); |
1352 | { | 1352 | return ""; |
1353 | return World.RegionInfo.EstateSettings.waterHeight; | 1353 | } |
1354 | } | 1354 | |
1355 | 1355 | public string llRequestInventoryData(string name) | |
1356 | public void llPassTouches(int pass) | 1356 | { |
1357 | { | 1357 | NotImplemented("llRequestInventoryData"); |
1358 | NotImplemented("llPassTouches"); | 1358 | return ""; |
1359 | } | 1359 | } |
1360 | 1360 | ||
1361 | public string llRequestAgentData(string id, int data) | 1361 | public void llSetDamage(double damage) |
1362 | { | 1362 | { |
1363 | NotImplemented("llRequestAgentData"); | 1363 | NotImplemented("llSetDamage"); |
1364 | return ""; | 1364 | } |
1365 | } | 1365 | |
1366 | 1366 | public void llTeleportAgentHome(string agent) | |
1367 | public string llRequestInventoryData(string name) | 1367 | { |
1368 | { | 1368 | NotImplemented("llTeleportAgentHome"); |
1369 | NotImplemented("llRequestInventoryData"); | 1369 | } |
1370 | return ""; | 1370 | |
1371 | } | 1371 | public void llModifyLand(int action, int brush) |
1372 | 1372 | { | |
1373 | public void llSetDamage(double damage) | 1373 | double dsize; |
1374 | { | 1374 | if (World.PermissionsMngr.CanTerraform(m_host.OwnerID, new LLVector3(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y, 0))) |
1375 | NotImplemented("llSetDamage"); | 1375 | { |
1376 | } | 1376 | switch (brush) |
1377 | 1377 | { | |
1378 | public void llTeleportAgentHome(string agent) | 1378 | case 1: |
1379 | { | 1379 | dsize = 2; |
1380 | NotImplemented("llTeleportAgentHome"); | 1380 | break; |
1381 | } | 1381 | case 2: |
1382 | 1382 | dsize = 4; | |
1383 | public void llModifyLand(int action, int brush) | 1383 | break; |
1384 | { | 1384 | case 3: |
1385 | double dsize; | 1385 | dsize = 8; |
1386 | if (World.PermissionsMngr.CanTerraform(m_host.OwnerID, new LLVector3(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y, 0))) | 1386 | break; |
1387 | { | 1387 | default: |
1388 | switch (brush) | 1388 | if (brush < 0) |
1389 | { | 1389 | { |
1390 | case 1: | 1390 | dsize = (double)(-1 * brush); |
1391 | dsize = 2; | 1391 | } |
1392 | break; | 1392 | else |
1393 | case 2: | 1393 | { |
1394 | dsize = 4; | 1394 | LSLError("Invalid brush size"); |
1395 | break; | 1395 | dsize = 0; // Should cease execution, but get unassigned local variable dsize on compile. |
1396 | case 3: | 1396 | } |
1397 | dsize = 8; | 1397 | break; |
1398 | break; | 1398 | } |
1399 | default: | 1399 | switch (action) |
1400 | if (brush < 0) | 1400 | { |
1401 | { | 1401 | case 0: |
1402 | dsize = (double)(-1 * brush); | 1402 | if (World.Terrain.GetHeight((int)m_host.AbsolutePosition.X, (int)m_host.AbsolutePosition.Y) < m_host.AbsolutePosition.Z) |
1403 | } | 1403 | { |
1404 | else | 1404 | World.Terrain.FlattenTerrain(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y, dsize, 1); |
1405 | { | 1405 | } |
1406 | LSLError("Invalid brush size"); | 1406 | break; |
1407 | dsize = 0; // Should cease execution, but get unassigned local variable dsize on compile. | 1407 | case 1: |
1408 | } | 1408 | if (World.Terrain.GetHeight((int)m_host.AbsolutePosition.X, (int)m_host.AbsolutePosition.Y) < (double)m_host.AbsolutePosition.Z) |
1409 | break; | 1409 | { |
1410 | } | 1410 | World.Terrain.RaiseTerrain(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y, dsize, 0.1); |
1411 | switch (action) | 1411 | } |
1412 | { | 1412 | break; |
1413 | case 0: | 1413 | case 2: |
1414 | if (World.Terrain.GetHeight((int)m_host.AbsolutePosition.X, (int)m_host.AbsolutePosition.Y) < m_host.AbsolutePosition.Z) | 1414 | if (World.Terrain.GetHeight((int)m_host.AbsolutePosition.X, (int)m_host.AbsolutePosition.Y) > 0) |
1415 | { | 1415 | { |
1416 | World.Terrain.FlattenTerrain(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y, dsize, 1); | 1416 | World.Terrain.LowerTerrain(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y, dsize, 1); |
1417 | } | 1417 | } |
1418 | break; | 1418 | break; |
1419 | case 1: | 1419 | case 3: |
1420 | if (World.Terrain.GetHeight((int)m_host.AbsolutePosition.X, (int)m_host.AbsolutePosition.Y) < (double)m_host.AbsolutePosition.Z) | 1420 | World.Terrain.SmoothTerrain(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y, dsize, 1); |
1421 | { | 1421 | break; |
1422 | World.Terrain.RaiseTerrain(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y, dsize, 0.1); | 1422 | case 4: |
1423 | } | 1423 | World.Terrain.NoiseTerrain(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y, dsize, 1); |
1424 | break; | 1424 | break; |
1425 | case 2: | 1425 | case 5: |
1426 | if (World.Terrain.GetHeight((int)m_host.AbsolutePosition.X, (int)m_host.AbsolutePosition.Y) > 0) | 1426 | World.Terrain.RevertTerrain(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y, dsize, 1); |
1427 | { | 1427 | break; |
1428 | World.Terrain.LowerTerrain(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y, dsize, 1); | 1428 | default: |
1429 | } | 1429 | break; |
1430 | break; | 1430 | } |
1431 | case 3: | 1431 | } |
1432 | World.Terrain.SmoothTerrain(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y, dsize, 1); | 1432 | } |
1433 | break; | 1433 | |
1434 | case 4: | 1434 | public void llCollisionSound(string impact_sound, double impact_volume) |
1435 | World.Terrain.NoiseTerrain(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y, dsize, 1); | 1435 | { |
1436 | break; | 1436 | NotImplemented("llCollisionSound"); |
1437 | case 5: | 1437 | } |
1438 | World.Terrain.RevertTerrain(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y, dsize, 1); | 1438 | |
1439 | break; | 1439 | public void llCollisionSprite(string impact_sprite) |
1440 | default: | 1440 | { |
1441 | break; | 1441 | NotImplemented("llCollisionSprite"); |
1442 | } | 1442 | } |
1443 | } | 1443 | |
1444 | } | 1444 | public string llGetAnimation(string id) |
1445 | 1445 | { | |
1446 | public void llCollisionSound(string impact_sound, double impact_volume) | 1446 | NotImplemented("llGetAnimation"); |
1447 | { | 1447 | return ""; |
1448 | NotImplemented("llCollisionSound"); | 1448 | } |
1449 | } | 1449 | |
1450 | 1450 | public void llResetScript() | |
1451 | public void llCollisionSprite(string impact_sprite) | 1451 | { |
1452 | { | 1452 | m_ScriptEngine.m_ScriptManager.ResetScript(m_localID, m_itemID); |
1453 | NotImplemented("llCollisionSprite"); | 1453 | } |
1454 | } | 1454 | |
1455 | 1455 | public void llMessageLinked(int linknum, int num, string str, string id) | |
1456 | public string llGetAnimation(string id) | 1456 | { |
1457 | { | 1457 | } |
1458 | NotImplemented("llGetAnimation"); | 1458 | |
1459 | return ""; | 1459 | public void llPushObject(string target, LSL_Types.Vector3 impulse, LSL_Types.Vector3 ang_impulse, int local) |
1460 | } | 1460 | { |
1461 | 1461 | } | |
1462 | public void llResetScript() | 1462 | |
1463 | { | 1463 | public void llPassCollisions(int pass) |
1464 | m_ScriptEngine.m_ScriptManager.ResetScript(m_localID, m_itemID); | 1464 | { |
1465 | } | 1465 | } |
1466 | 1466 | ||
1467 | public void llMessageLinked(int linknum, int num, string str, string id) | 1467 | public string llGetScriptName() |
1468 | { | 1468 | { |
1469 | } | 1469 | return ""; |
1470 | 1470 | } | |
1471 | public void llPushObject(string target, LSL_Types.Vector3 impulse, LSL_Types.Vector3 ang_impulse, int local) | 1471 | |
1472 | { | 1472 | public int llGetNumberOfSides() |
1473 | } | 1473 | { |
1474 | 1474 | return 0; | |
1475 | public void llPassCollisions(int pass) | 1475 | } |
1476 | { | 1476 | |
1477 | } | 1477 | public LSL_Types.Quaternion llAxisAngle2Rot(LSL_Types.Vector3 axis, double angle) |
1478 | 1478 | { | |
1479 | public string llGetScriptName() | 1479 | return new LSL_Types.Quaternion(); |
1480 | { | 1480 | } |
1481 | return ""; | 1481 | |
1482 | } | 1482 | public LSL_Types.Vector3 llRot2Axis(LSL_Types.Quaternion rot) |
1483 | 1483 | { | |
1484 | public int llGetNumberOfSides() | 1484 | return new LSL_Types.Vector3(); |
1485 | { | 1485 | } |
1486 | return 0; | 1486 | |
1487 | } | 1487 | public void llRot2Angle() |
1488 | 1488 | { | |
1489 | public LSL_Types.Quaternion llAxisAngle2Rot(LSL_Types.Vector3 axis, double angle) | 1489 | } |
1490 | { | 1490 | |
1491 | return new LSL_Types.Quaternion(); | 1491 | public double llAcos(double val) |
1492 | } | 1492 | { |
1493 | 1493 | return (double)Math.Acos(val); | |
1494 | public LSL_Types.Vector3 llRot2Axis(LSL_Types.Quaternion rot) | 1494 | } |
1495 | { | 1495 | |
1496 | return new LSL_Types.Vector3(); | 1496 | public double llAsin(double val) |
1497 | } | 1497 | { |
1498 | 1498 | return (double)Math.Asin(val); | |
1499 | public void llRot2Angle() | 1499 | } |
1500 | { | 1500 | |
1501 | } | 1501 | public double llAngleBetween(LSL_Types.Quaternion a, LSL_Types.Quaternion b) |
1502 | 1502 | { | |
1503 | public double llAcos(double val) | 1503 | return 0; |
1504 | { | 1504 | } |
1505 | return (double)Math.Acos(val); | 1505 | |
1506 | } | 1506 | public string llGetInventoryKey(string name) |
1507 | 1507 | { | |
1508 | public double llAsin(double val) | 1508 | return ""; |
1509 | { | 1509 | } |
1510 | return (double)Math.Asin(val); | 1510 | |
1511 | } | 1511 | public void llAllowInventoryDrop(int add) |
1512 | 1512 | { | |
1513 | public double llAngleBetween(LSL_Types.Quaternion a, LSL_Types.Quaternion b) | 1513 | } |
1514 | { | 1514 | |
1515 | return 0; | 1515 | public LSL_Types.Vector3 llGetSunDirection() |
1516 | } | 1516 | { |
1517 | 1517 | return new LSL_Types.Vector3(); | |
1518 | public string llGetInventoryKey(string name) | 1518 | } |
1519 | { | 1519 | |
1520 | return ""; | 1520 | public LSL_Types.Vector3 llGetTextureOffset(int face) |
1521 | } | 1521 | { |
1522 | 1522 | LLObject.TextureEntry tex = m_host.Shape.Textures; | |
1523 | public void llAllowInventoryDrop(int add) | 1523 | LSL_Types.Vector3 offset; |
1524 | { | 1524 | if (face == -1) |
1525 | } | 1525 | { |
1526 | 1526 | face = 0; | |
1527 | public LSL_Types.Vector3 llGetSunDirection() | 1527 | } |
1528 | { | 1528 | offset.x = tex.GetFace((uint)face).OffsetU; |
1529 | return new LSL_Types.Vector3(); | 1529 | offset.y = tex.GetFace((uint)face).OffsetV; |
1530 | } | 1530 | offset.z = 0.0; |
1531 | 1531 | return offset; | |
1532 | public LSL_Types.Vector3 llGetTextureOffset(int face) | 1532 | } |
1533 | { | 1533 | |
1534 | LLObject.TextureEntry tex = m_host.Shape.Textures; | 1534 | public LSL_Types.Vector3 llGetTextureScale(int side) |
1535 | LSL_Types.Vector3 offset; | 1535 | { |
1536 | if (face == -1) | 1536 | LLObject.TextureEntry tex = m_host.Shape.Textures; |
1537 | { | 1537 | LSL_Types.Vector3 scale; |
1538 | face = 0; | 1538 | if (side == -1) |
1539 | } | 1539 | { |
1540 | offset.x = tex.GetFace((uint)face).OffsetU; | 1540 | side = 0; |
1541 | offset.y = tex.GetFace((uint)face).OffsetV; | 1541 | } |
1542 | offset.z = 0.0; | 1542 | scale.x = tex.GetFace((uint)side).RepeatU; |
1543 | return offset; | 1543 | scale.y = tex.GetFace((uint)side).RepeatV; |
1544 | } | 1544 | scale.z = 0.0; |
1545 | 1545 | return scale; | |
1546 | public LSL_Types.Vector3 llGetTextureScale(int side) | 1546 | } |
1547 | { | 1547 | |
1548 | LLObject.TextureEntry tex = m_host.Shape.Textures; | 1548 | public double llGetTextureRot(int face) |
1549 | LSL_Types.Vector3 scale; | 1549 | { |
1550 | if (side == -1) | 1550 | LLObject.TextureEntry tex = m_host.Shape.Textures; |
1551 | { | 1551 | if (face == -1) |
1552 | side = 0; | 1552 | { |
1553 | } | 1553 | face = 0; |
1554 | scale.x = tex.GetFace((uint)side).RepeatU; | 1554 | } |
1555 | scale.y = tex.GetFace((uint)side).RepeatV; | 1555 | return tex.GetFace((uint)face).Rotation; |
1556 | scale.z = 0.0; | 1556 | } |
1557 | return scale; | 1557 | |
1558 | } | 1558 | public int llSubStringIndex(string source, string pattern) |
1559 | 1559 | { | |
1560 | public double llGetTextureRot(int face) | 1560 | return source.IndexOf(pattern); |
1561 | { | 1561 | } |
1562 | LLObject.TextureEntry tex = m_host.Shape.Textures; | 1562 | |
1563 | if (face == -1) | 1563 | public string llGetOwnerKey(string id) |
1564 | { | 1564 | { |
1565 | face = 0; | 1565 | NotImplemented("llGetOwnerKey"); |
1566 | } | 1566 | return ""; |
1567 | return tex.GetFace((uint)face).Rotation; | 1567 | } |
1568 | } | 1568 | |
1569 | 1569 | public LSL_Types.Vector3 llGetCenterOfMass() | |
1570 | public int llSubStringIndex(string source, string pattern) | 1570 | { |
1571 | { | 1571 | NotImplemented("llGetCenterOfMass"); |
1572 | return source.IndexOf(pattern); | 1572 | return new LSL_Types.Vector3(); |
1573 | } | 1573 | } |
1574 | 1574 | ||
1575 | public string llGetOwnerKey(string id) | 1575 | public LSL_Types.list llListSort(LSL_Types.list src, int stride, int ascending) |
1576 | { | 1576 | { |
1577 | NotImplemented("llGetOwnerKey"); | 1577 | // SortedList<string, LSL_Types.list> sorted = new SortedList<string, LSL_Types.list>(); |
1578 | return ""; | 1578 | // Add chunks to an array |
1579 | } | 1579 | //int s = stride; |
1580 | 1580 | //if (s < 1) | |
1581 | public LSL_Types.Vector3 llGetCenterOfMass() | 1581 | // s = 1; |
1582 | { | 1582 | //int c = 0; |
1583 | NotImplemented("llGetCenterOfMass"); | 1583 | //LSL_Types.list chunk = new LSL_Types.list(); |
1584 | return new LSL_Types.Vector3(); | 1584 | //string chunkString = ""; |
1585 | } | 1585 | //foreach (string element in src) |
1586 | 1586 | //{ | |
1587 | public LSL_Types.list llListSort(LSL_Types.list src, int stride, int ascending) | 1587 | // c++; |
1588 | { | 1588 | // if (c > s) |
1589 | // SortedList<string, LSL_Types.list> sorted = new SortedList<string, LSL_Types.list>(); | 1589 | // { |
1590 | // Add chunks to an array | 1590 | // sorted.Add(chunkString, chunk); |
1591 | //int s = stride; | 1591 | // chunkString = ""; |
1592 | //if (s < 1) | 1592 | // chunk = new LSL_Types.list(); |
1593 | // s = 1; | 1593 | // c = 0; |
1594 | //int c = 0; | 1594 | // } |
1595 | //LSL_Types.list chunk = new LSL_Types.list(); | 1595 | // chunk.Add(element); |
1596 | //string chunkString = ""; | 1596 | // chunkString += element.ToString(); |
1597 | //foreach (string element in src) | 1597 | //} |
1598 | //{ | 1598 | //if (chunk.Count > 0) |
1599 | // c++; | 1599 | // sorted.Add(chunkString, chunk); |
1600 | // if (c > s) | 1600 | |
1601 | // { | 1601 | //LSL_Types.list ret = new LSL_Types.list(); |
1602 | // sorted.Add(chunkString, chunk); | 1602 | //foreach (LSL_Types.list ls in sorted.Values) |
1603 | // chunkString = ""; | 1603 | //{ |
1604 | // chunk = new LSL_Types.list(); | 1604 | // ret.AddRange(ls); |
1605 | // c = 0; | 1605 | //} |
1606 | // } | 1606 | |
1607 | // chunk.Add(element); | 1607 | //if (ascending == LSL_BaseClass.TRUE) |
1608 | // chunkString += element.ToString(); | 1608 | // return ret; |
1609 | //} | 1609 | //ret.Reverse(); |
1610 | //if (chunk.Count > 0) | 1610 | //return ret; |
1611 | // sorted.Add(chunkString, chunk); | 1611 | NotImplemented("llListSort"); |
1612 | 1612 | return new LSL_Types.list(); | |
1613 | //LSL_Types.list ret = new LSL_Types.list(); | 1613 | } |
1614 | //foreach (LSL_Types.list ls in sorted.Values) | 1614 | |
1615 | //{ | 1615 | public int llGetListLength(LSL_Types.list src) |
1616 | // ret.AddRange(ls); | 1616 | { |
1617 | //} | 1617 | return src.Length; |
1618 | 1618 | } | |
1619 | //if (ascending == LSL_BaseClass.TRUE) | 1619 | |
1620 | // return ret; | 1620 | public int llList2Integer(LSL_Types.list src, int index) |
1621 | //ret.Reverse(); | 1621 | { |
1622 | //return ret; | 1622 | if (index < 0) |
1623 | NotImplemented("llListSort"); | 1623 | { |
1624 | return new LSL_Types.list(); | 1624 | index = src.Length + index; |
1625 | } | 1625 | } |
1626 | 1626 | if (index >= src.Length) | |
1627 | public int llGetListLength(LSL_Types.list src) | 1627 | { |
1628 | { | 1628 | return 0; |
1629 | return src.Length; | 1629 | } |
1630 | } | 1630 | return Convert.ToInt32(src.Data[index]); |
1631 | 1631 | } | |
1632 | public int llList2Integer(LSL_Types.list src, int index) | 1632 | |
1633 | { | 1633 | public double osList2Double(LSL_Types.list src, int index) |
1634 | if (index < 0) | 1634 | { |
1635 | { | 1635 | if (index < 0) |
1636 | index = src.Length + index; | 1636 | { |
1637 | } | 1637 | index = src.Length + index; |
1638 | if (index >= src.Length) | 1638 | } |
1639 | { | 1639 | if (index >= src.Length) |
1640 | return 0; | 1640 | { |
1641 | } | 1641 | return 0.0; |
1642 | return Convert.ToInt32(src.Data[index]); | 1642 | } |
1643 | } | 1643 | return Convert.ToDouble(src.Data[index]); |
1644 | 1644 | } | |
1645 | public double osList2Double(LSL_Types.list src, int index) | 1645 | |
1646 | { | 1646 | public double llList2Float(LSL_Types.list src, int index) |
1647 | if (index < 0) | 1647 | { |
1648 | { | 1648 | if (index < 0) |
1649 | index = src.Length + index; | 1649 | { |
1650 | } | 1650 | index = src.Length + index; |
1651 | if (index >= src.Length) | 1651 | } |
1652 | { | 1652 | if (index >= src.Length) |
1653 | return 0.0; | 1653 | { |
1654 | } | 1654 | return 0.0; |
1655 | return Convert.ToDouble(src.Data[index]); | 1655 | } |
1656 | } | 1656 | return Convert.ToSingle(src.Data[index]); |
1657 | 1657 | } | |
1658 | public double llList2Float(LSL_Types.list src, int index) | 1658 | |
1659 | { | 1659 | public string llList2String(LSL_Types.list src, int index) |
1660 | if (index < 0) | 1660 | { |
1661 | { | 1661 | if (index < 0) |
1662 | index = src.Length + index; | 1662 | { |
1663 | } | 1663 | index = src.Length + index; |
1664 | if (index >= src.Length) | 1664 | } |
1665 | { | 1665 | if (index >= src.Length) |
1666 | return 0.0; | 1666 | { |
1667 | } | 1667 | return ""; |
1668 | return Convert.ToSingle(src.Data[index]); | 1668 | } |
1669 | } | 1669 | return src.Data[index].ToString(); |
1670 | 1670 | } | |
1671 | public string llList2String(LSL_Types.list src, int index) | 1671 | |
1672 | { | 1672 | public string llList2Key(LSL_Types.list src, int index) |
1673 | if (index < 0) | 1673 | { |
1674 | { | 1674 | if (index < 0) |
1675 | index = src.Length + index; | 1675 | { |
1676 | } | 1676 | index = src.Length + index; |
1677 | if (index >= src.Length) | 1677 | } |
1678 | { | 1678 | if (index >= src.Length) |
1679 | return ""; | 1679 | { |
1680 | } | 1680 | return "00000000-0000-0000-0000-000000000000"; |
1681 | return src.Data[index].ToString(); | 1681 | } |
1682 | } | 1682 | //return OpenSim.Framework.ToString(src[index]); |
1683 | 1683 | LLUUID tmpkey; | |
1684 | public string llList2Key(LSL_Types.list src, int index) | 1684 | if (LLUUID.TryParse(src.Data[index].ToString(), out tmpkey)) |
1685 | { | 1685 | { |
1686 | if (index < 0) | 1686 | return tmpkey.ToString(); |
1687 | { | 1687 | } |
1688 | index = src.Length + index; | 1688 | else |
1689 | } | 1689 | { |
1690 | if (index >= src.Length) | 1690 | return "00000000-0000-0000-0000-000000000000"; |
1691 | { | 1691 | } |
1692 | return "00000000-0000-0000-0000-000000000000"; | 1692 | } |
1693 | } | 1693 | |
1694 | //return OpenSim.Framework.ToString(src[index]); | 1694 | public LSL_Types.Vector3 llList2Vector(LSL_Types.list src, int index) |
1695 | LLUUID tmpkey; | 1695 | { |
1696 | if (LLUUID.TryParse(src.Data[index].ToString(), out tmpkey)) | 1696 | if (index < 0) |
1697 | { | 1697 | { |
1698 | return tmpkey.ToString(); | 1698 | index = src.Length + index; |
1699 | } | 1699 | } |
1700 | else | 1700 | if (index >= src.Length) |
1701 | { | 1701 | { |
1702 | return "00000000-0000-0000-0000-000000000000"; | 1702 | return new LSL_Types.Vector3(0, 0, 0); |
1703 | } | 1703 | } |
1704 | } | 1704 | if (src.Data[index].GetType() == typeof(OpenSim.Region.ScriptEngine.Common.LSL_Types.Vector3)) |
1705 | 1705 | { | |
1706 | public LSL_Types.Vector3 llList2Vector(LSL_Types.list src, int index) | 1706 | return (LSL_Types.Vector3)src.Data[index]; |
1707 | { | 1707 | } |
1708 | if (index < 0) | 1708 | else |
1709 | { | 1709 | { |
1710 | index = src.Length + index; | 1710 | return new LSL_Types.Vector3(0, 0, 0); |
1711 | } | 1711 | } |
1712 | if (index >= src.Length) | 1712 | } |
1713 | { | 1713 | |
1714 | return new LSL_Types.Vector3(0, 0, 0); | 1714 | public LSL_Types.Quaternion llList2Rot(LSL_Types.list src, int index) |
1715 | } | 1715 | { |
1716 | if (src.Data[index].GetType() == typeof(OpenSim.Region.ScriptEngine.Common.LSL_Types.Vector3)) | 1716 | if (index < 0) |
1717 | { | 1717 | { |
1718 | return (LSL_Types.Vector3)src.Data[index]; | 1718 | index = src.Length + index; |
1719 | } | 1719 | } |
1720 | else | 1720 | if (index >= src.Length) |
1721 | { | 1721 | { |
1722 | return new LSL_Types.Vector3(0, 0, 0); | 1722 | return new LSL_Types.Quaternion(0, 0, 0, 1); |
1723 | } | 1723 | } |
1724 | } | 1724 | if (src.Data[index].GetType() == typeof(OpenSim.Region.ScriptEngine.Common.LSL_Types.Quaternion)) |
1725 | 1725 | { | |
1726 | public LSL_Types.Quaternion llList2Rot(LSL_Types.list src, int index) | 1726 | return (LSL_Types.Quaternion)src.Data[index]; |
1727 | { | 1727 | } |
1728 | if (index < 0) | 1728 | else |
1729 | { | 1729 | { |
1730 | index = src.Length + index; | 1730 | return new LSL_Types.Quaternion(0, 0, 0, 1); |
1731 | } | 1731 | } |
1732 | if (index >= src.Length) | 1732 | } |
1733 | { | 1733 | |
1734 | return new LSL_Types.Quaternion(0, 0, 0, 1); | 1734 | public LSL_Types.list llList2List(LSL_Types.list src, int start, int end) |
1735 | } | 1735 | { |
1736 | if (src.Data[index].GetType() == typeof(OpenSim.Region.ScriptEngine.Common.LSL_Types.Quaternion)) | 1736 | return src.GetSublist(start, end); |
1737 | { | 1737 | } |
1738 | return (LSL_Types.Quaternion)src.Data[index]; | 1738 | |
1739 | } | 1739 | public LSL_Types.list llDeleteSubList(LSL_Types.list src, int start, int end) |
1740 | else | 1740 | { |
1741 | { | 1741 | //LSL_Types.list ret = new LSL_Types.list(src); |
1742 | return new LSL_Types.Quaternion(0, 0, 0, 1); | 1742 | //ret.RemoveRange(start, end - start); |
1743 | } | 1743 | //return ret; |
1744 | } | 1744 | |
1745 | 1745 | // Just a hunch - needs testing | |
1746 | public LSL_Types.list llList2List(LSL_Types.list src, int start, int end) | 1746 | return src.GetSublist(end, start); |
1747 | { | 1747 | } |
1748 | return src.GetSublist(start, end); | 1748 | |
1749 | } | 1749 | public int llGetListEntryType(LSL_Types.list src, int index) |
1750 | 1750 | { | |
1751 | public LSL_Types.list llDeleteSubList(LSL_Types.list src, int start, int end) | 1751 | if (index < 0) |
1752 | { | 1752 | { |
1753 | //LSL_Types.list ret = new LSL_Types.list(src); | 1753 | index = src.Length + index; |
1754 | //ret.RemoveRange(start, end - start); | 1754 | } |
1755 | //return ret; | 1755 | if (index >= src.Length) |
1756 | 1756 | { | |
1757 | // Just a hunch - needs testing | 1757 | return 0; |
1758 | return src.GetSublist(end, start); | 1758 | } |
1759 | } | 1759 | |
1760 | 1760 | if (src.Data[index] is System.Int32) | |
1761 | public int llGetListEntryType(LSL_Types.list src, int index) | 1761 | return 1; |
1762 | { | 1762 | if (src.Data[index] is System.Double) |
1763 | if (index < 0) | 1763 | return 2; |
1764 | { | 1764 | if (src.Data[index] is System.String) |
1765 | index = src.Length + index; | 1765 | { |
1766 | } | 1766 | LLUUID tuuid; |
1767 | if (index >= src.Length) | 1767 | if (LLUUID.TryParse(src.Data[index].ToString(), out tuuid)) |
1768 | { | 1768 | { |
1769 | return 0; | 1769 | return 3; |
1770 | } | 1770 | } |
1771 | 1771 | else | |
1772 | if (src.Data[index] is System.Int32) | 1772 | { |
1773 | return 1; | 1773 | return 4; |
1774 | if (src.Data[index] is System.Double) | 1774 | } |
1775 | return 2; | 1775 | } |
1776 | if (src.Data[index] is System.String) | 1776 | if (src.Data[index] is OpenSim.Region.ScriptEngine.Common.LSL_Types.Vector3) |
1777 | { | 1777 | return 5; |
1778 | LLUUID tuuid; | 1778 | if (src.Data[index] is OpenSim.Region.ScriptEngine.Common.LSL_Types.Quaternion) |
1779 | if (LLUUID.TryParse(src.Data[index].ToString(), out tuuid)) | 1779 | return 6; |
1780 | { | 1780 | if (src.Data[index] is OpenSim.Region.ScriptEngine.Common.LSL_Types.list) |
1781 | return 3; | 1781 | return 7; |
1782 | } | 1782 | return 0; |
1783 | else | 1783 | |
1784 | { | 1784 | } |
1785 | return 4; | 1785 | |
1786 | } | 1786 | public string llList2CSV(LSL_Types.list src) |
1787 | } | 1787 | { |
1788 | if (src.Data[index] is OpenSim.Region.ScriptEngine.Common.LSL_Types.Vector3) | 1788 | string ret = ""; |
1789 | return 5; | 1789 | foreach (object o in src.Data) |
1790 | if (src.Data[index] is OpenSim.Region.ScriptEngine.Common.LSL_Types.Quaternion) | 1790 | { |
1791 | return 6; | 1791 | ret = ret + o.ToString() + ","; |
1792 | if (src.Data[index] is OpenSim.Region.ScriptEngine.Common.LSL_Types.list) | 1792 | } |
1793 | return 7; | 1793 | ret = ret.Substring(0, ret.Length - 2); |
1794 | return 0; | 1794 | return ret; |
1795 | 1795 | } | |
1796 | } | 1796 | |
1797 | 1797 | public LSL_Types.list llCSV2List(string src) | |
1798 | public string llList2CSV(LSL_Types.list src) | 1798 | { |
1799 | { | 1799 | return new LSL_Types.list(src.Split(",".ToCharArray())); |
1800 | string ret = ""; | 1800 | } |
1801 | foreach (object o in src.Data) | 1801 | |
1802 | { | 1802 | public LSL_Types.list llListRandomize(LSL_Types.list src, int stride) |
1803 | ret = ret + o.ToString() + ","; | 1803 | { |
1804 | } | 1804 | //int s = stride; |
1805 | ret = ret.Substring(0, ret.Length - 2); | 1805 | //if (s < 1) |
1806 | return ret; | 1806 | // s = 1; |
1807 | } | 1807 | |
1808 | 1808 | // This is a cowardly way of doing it ;) | |
1809 | public LSL_Types.list llCSV2List(string src) | 1809 | // TODO: Instead, randomize and check if random is mod stride or if it can not be, then array.removerange |
1810 | { | 1810 | //List<LSL_Types.list> tmp = new List<LSL_Types.list>(); |
1811 | return new LSL_Types.list(src.Split(",".ToCharArray())); | 1811 | |
1812 | } | 1812 | // Add chunks to an array |
1813 | 1813 | //int c = 0; | |
1814 | public LSL_Types.list llListRandomize(LSL_Types.list src, int stride) | 1814 | //LSL_Types.list chunk = new LSL_Types.list(); |
1815 | { | 1815 | //foreach (string element in src) |
1816 | //int s = stride; | 1816 | //{ |
1817 | //if (s < 1) | 1817 | // c++; |
1818 | // s = 1; | 1818 | // if (c > s) |
1819 | 1819 | // { | |
1820 | // This is a cowardly way of doing it ;) | 1820 | // tmp.Add(chunk); |
1821 | // TODO: Instead, randomize and check if random is mod stride or if it can not be, then array.removerange | 1821 | // chunk = new LSL_Types.list(); |
1822 | //List<LSL_Types.list> tmp = new List<LSL_Types.list>(); | 1822 | // c = 0; |
1823 | 1823 | // } | |
1824 | // Add chunks to an array | 1824 | // chunk.Add(element); |
1825 | //int c = 0; | 1825 | //} |
1826 | //LSL_Types.list chunk = new LSL_Types.list(); | 1826 | //if (chunk.Count > 0) |
1827 | //foreach (string element in src) | 1827 | // tmp.Add(chunk); |
1828 | //{ | 1828 | |
1829 | // c++; | 1829 | // Decreate (<- what kind of word is that? :D ) array back into a list |
1830 | // if (c > s) | 1830 | //int rnd; |
1831 | // { | 1831 | //LSL_Types.list ret = new LSL_Types.list(); |
1832 | // tmp.Add(chunk); | 1832 | //while (tmp.Count > 0) |
1833 | // chunk = new LSL_Types.list(); | 1833 | //{ |
1834 | // c = 0; | 1834 | // rnd = Util.RandomClass.Next(tmp.Count); |
1835 | // } | 1835 | // foreach (string str in tmp[rnd]) |
1836 | // chunk.Add(element); | 1836 | // { |
1837 | //} | 1837 | // ret.Add(str); |
1838 | //if (chunk.Count > 0) | 1838 | // } |
1839 | // tmp.Add(chunk); | 1839 | // tmp.RemoveAt(rnd); |
1840 | 1840 | //} | |
1841 | // Decreate (<- what kind of word is that? :D ) array back into a list | 1841 | |
1842 | //int rnd; | 1842 | //return ret; |
1843 | //LSL_Types.list ret = new LSL_Types.list(); | 1843 | NotImplemented("llListRandomize"); |
1844 | //while (tmp.Count > 0) | 1844 | return new LSL_Types.list(); |
1845 | //{ | 1845 | } |
1846 | // rnd = Util.RandomClass.Next(tmp.Count); | 1846 | |
1847 | // foreach (string str in tmp[rnd]) | 1847 | public LSL_Types.list llList2ListStrided(LSL_Types.list src, int start, int end, int stride) |
1848 | // { | 1848 | { |
1849 | // ret.Add(str); | 1849 | LSL_Types.list ret = new LSL_Types.list(); |
1850 | // } | 1850 | //int s = stride; |
1851 | // tmp.RemoveAt(rnd); | 1851 | //if (s < 1) |
1852 | //} | 1852 | // s = 1; |
1853 | 1853 | ||
1854 | //return ret; | 1854 | //int sc = s; |
1855 | NotImplemented("llListRandomize"); | 1855 | //for (int i = start; i < src.Count; i++) |
1856 | return new LSL_Types.list(); | 1856 | //{ |
1857 | } | 1857 | // sc--; |
1858 | 1858 | // if (sc == 0) | |
1859 | public LSL_Types.list llList2ListStrided(LSL_Types.list src, int start, int end, int stride) | 1859 | // { |
1860 | { | 1860 | // sc = s; |
1861 | LSL_Types.list ret = new LSL_Types.list(); | 1861 | // // Addthis |
1862 | //int s = stride; | 1862 | // ret.Add(src[i]); |
1863 | //if (s < 1) | 1863 | // } |
1864 | // s = 1; | 1864 | // if (i == end) |
1865 | 1865 | // break; | |
1866 | //int sc = s; | 1866 | //} |
1867 | //for (int i = start; i < src.Count; i++) | 1867 | NotImplemented("llList2ListStrided"); |
1868 | //{ | 1868 | return ret; |
1869 | // sc--; | 1869 | } |
1870 | // if (sc == 0) | 1870 | |
1871 | // { | 1871 | public LSL_Types.Vector3 llGetRegionCorner() |
1872 | // sc = s; | 1872 | { |
1873 | // // Addthis | 1873 | return new LSL_Types.Vector3(World.RegionInfo.RegionLocX * 256, World.RegionInfo.RegionLocY * 256, 0); |
1874 | // ret.Add(src[i]); | 1874 | } |
1875 | // } | 1875 | |
1876 | // if (i == end) | 1876 | public LSL_Types.list llListInsertList(LSL_Types.list dest, LSL_Types.list src, int start) |
1877 | // break; | 1877 | { |
1878 | //} | 1878 | return dest.GetSublist(0, start - 1) + src + dest.GetSublist(start, -1); |
1879 | NotImplemented("llList2ListStrided"); | 1879 | } |
1880 | return ret; | 1880 | |
1881 | } | 1881 | public int llListFindList(LSL_Types.list src, LSL_Types.list test) |
1882 | 1882 | { | |
1883 | public LSL_Types.Vector3 llGetRegionCorner() | 1883 | //foreach (string s in test) |
1884 | { | 1884 | //{ |
1885 | return new LSL_Types.Vector3(World.RegionInfo.RegionLocX * 256, World.RegionInfo.RegionLocY * 256, 0); | 1885 | // for (int ci = 0; ci < src.Count; ci++) |
1886 | } | 1886 | // { |
1887 | 1887 | // if (s == src[ci]) | |
1888 | public LSL_Types.list llListInsertList(LSL_Types.list dest, LSL_Types.list src, int start) | 1888 | // return ci; |
1889 | { | 1889 | // } |
1890 | return dest.GetSublist(0, start - 1) + src + dest.GetSublist(start, -1); | 1890 | //} |
1891 | } | 1891 | NotImplemented("llListFindList"); |
1892 | 1892 | return -1; | |
1893 | public int llListFindList(LSL_Types.list src, LSL_Types.list test) | 1893 | } |
1894 | { | 1894 | |
1895 | //foreach (string s in test) | 1895 | public string llGetObjectName() |
1896 | //{ | 1896 | { |
1897 | // for (int ci = 0; ci < src.Count; ci++) | 1897 | return m_host.Name; |
1898 | // { | 1898 | } |
1899 | // if (s == src[ci]) | 1899 | |
1900 | // return ci; | 1900 | public void llSetObjectName(string name) |
1901 | // } | 1901 | { |
1902 | //} | 1902 | m_host.Name = name; |
1903 | NotImplemented("llListFindList"); | 1903 | } |
1904 | return -1; | 1904 | |
1905 | } | 1905 | public string llGetDate() |
1906 | 1906 | { | |
1907 | public string llGetObjectName() | 1907 | DateTime date = DateTime.Now.ToUniversalTime(); |
1908 | { | 1908 | string result = date.ToString("yyyy-MM-dd"); |
1909 | return m_host.Name; | 1909 | return result; |
1910 | } | 1910 | } |
1911 | 1911 | ||
1912 | public void llSetObjectName(string name) | 1912 | public int llEdgeOfWorld(LSL_Types.Vector3 pos, LSL_Types.Vector3 dir) |
1913 | { | 1913 | { |
1914 | m_host.Name = name; | 1914 | NotImplemented("llEdgeOfWorld"); |
1915 | } | 1915 | return 0; |
1916 | 1916 | } | |
1917 | public string llGetDate() | 1917 | |
1918 | { | 1918 | public int llGetAgentInfo(string id) |
1919 | DateTime date = DateTime.Now.ToUniversalTime(); | 1919 | { |
1920 | string result = date.ToString("yyyy-MM-dd"); | 1920 | NotImplemented("llGetAgentInfo"); |
1921 | return result; | 1921 | return 0; |
1922 | } | 1922 | } |
1923 | 1923 | ||
1924 | public int llEdgeOfWorld(LSL_Types.Vector3 pos, LSL_Types.Vector3 dir) | 1924 | public void llAdjustSoundVolume(double volume) |
1925 | { | 1925 | { |
1926 | NotImplemented("llEdgeOfWorld"); | 1926 | NotImplemented("llAdjustSoundVolume"); |
1927 | return 0; | 1927 | } |
1928 | } | 1928 | |
1929 | 1929 | public void llSetSoundQueueing(int queue) | |
1930 | public int llGetAgentInfo(string id) | 1930 | { |
1931 | { | 1931 | NotImplemented("llSetSoundQueueing"); |
1932 | NotImplemented("llGetAgentInfo"); | 1932 | } |
1933 | return 0; | 1933 | |
1934 | } | 1934 | public void llSetSoundRadius(double radius) |
1935 | 1935 | { | |
1936 | public void llAdjustSoundVolume(double volume) | 1936 | NotImplemented("llSetSoundRadius"); |
1937 | { | 1937 | } |
1938 | NotImplemented("llAdjustSoundVolume"); | 1938 | |
1939 | } | 1939 | public string llKey2Name(string id) |
1940 | 1940 | { | |
1941 | public void llSetSoundQueueing(int queue) | 1941 | NotImplemented("llKey2Name"); |
1942 | { | 1942 | return ""; |
1943 | NotImplemented("llSetSoundQueueing"); | 1943 | } |
1944 | } | 1944 | |
1945 | 1945 | public void llSetTextureAnim(int mode, int face, int sizex, int sizey, double start, double length, double rate) | |
1946 | public void llSetSoundRadius(double radius) | 1946 | { |
1947 | { | 1947 | NotImplemented("llSetTextureAnim"); |
1948 | NotImplemented("llSetSoundRadius"); | 1948 | } |
1949 | } | 1949 | |
1950 | 1950 | public void llTriggerSoundLimited(string sound, double volume, LSL_Types.Vector3 top_north_east, | |
1951 | public string llKey2Name(string id) | 1951 | LSL_Types.Vector3 bottom_south_west) |
1952 | { | 1952 | { |
1953 | NotImplemented("llKey2Name"); | 1953 | NotImplemented("llTriggerSoundLimited"); |
1954 | return ""; | 1954 | } |
1955 | } | 1955 | |
1956 | 1956 | public void llEjectFromLand(string pest) | |
1957 | public void llSetTextureAnim(int mode, int face, int sizex, int sizey, double start, double length, double rate) | 1957 | { |
1958 | { | 1958 | NotImplemented("llEjectFromLand"); |
1959 | NotImplemented("llSetTextureAnim"); | 1959 | } |
1960 | } | 1960 | |
1961 | 1961 | public void llParseString2List() | |
1962 | public void llTriggerSoundLimited(string sound, double volume, LSL_Types.Vector3 top_north_east, | 1962 | { |
1963 | LSL_Types.Vector3 bottom_south_west) | 1963 | NotImplemented("llParseString2List"); |
1964 | { | 1964 | } |
1965 | NotImplemented("llTriggerSoundLimited"); | 1965 | |
1966 | } | 1966 | public int llOverMyLand(string id) |
1967 | 1967 | { | |
1968 | public void llEjectFromLand(string pest) | 1968 | NotImplemented("llOverMyLand"); |
1969 | { | 1969 | return 0; |
1970 | NotImplemented("llEjectFromLand"); | 1970 | } |
1971 | } | 1971 | |
1972 | 1972 | public string llGetLandOwnerAt(LSL_Types.Vector3 pos) | |
1973 | public void llParseString2List() | 1973 | { |
1974 | { | 1974 | return World.GetLandOwner((float)pos.x, (float)pos.y).ToString(); |
1975 | NotImplemented("llParseString2List"); | 1975 | } |
1976 | } | 1976 | |
1977 | 1977 | public string llGetNotecardLine(string name, int line) | |
1978 | public int llOverMyLand(string id) | 1978 | { |
1979 | { | 1979 | NotImplemented("llGetNotecardLine"); |
1980 | NotImplemented("llOverMyLand"); | 1980 | return ""; |
1981 | return 0; | 1981 | } |
1982 | } | 1982 | |
1983 | 1983 | public LSL_Types.Vector3 llGetAgentSize(string id) | |
1984 | public string llGetLandOwnerAt(LSL_Types.Vector3 pos) | 1984 | { |
1985 | { | 1985 | NotImplemented("llGetAgentSize"); |
1986 | return World.GetLandOwner((float)pos.x, (float)pos.y).ToString(); | 1986 | return new LSL_Types.Vector3(); |
1987 | } | 1987 | } |
1988 | 1988 | ||
1989 | public string llGetNotecardLine(string name, int line) | 1989 | public int llSameGroup(string agent) |
1990 | { | 1990 | { |
1991 | NotImplemented("llGetNotecardLine"); | 1991 | NotImplemented("llSameGroup"); |
1992 | return ""; | 1992 | return 0; |
1993 | } | 1993 | } |
1994 | 1994 | ||
1995 | public LSL_Types.Vector3 llGetAgentSize(string id) | 1995 | public void llUnSit(string id) |
1996 | { | 1996 | { |
1997 | NotImplemented("llGetAgentSize"); | 1997 | NotImplemented("llUnSit"); |
1998 | return new LSL_Types.Vector3(); | 1998 | } |
1999 | } | 1999 | |
2000 | 2000 | public LSL_Types.Vector3 llGroundSlope(LSL_Types.Vector3 offset) | |
2001 | public int llSameGroup(string agent) | 2001 | { |
2002 | { | 2002 | NotImplemented("llGroundSlope"); |
2003 | NotImplemented("llSameGroup"); | 2003 | return new LSL_Types.Vector3(); |
2004 | return 0; | 2004 | } |
2005 | } | 2005 | |
2006 | 2006 | public LSL_Types.Vector3 llGroundNormal(LSL_Types.Vector3 offset) | |
2007 | public void llUnSit(string id) | 2007 | { |
2008 | { | 2008 | NotImplemented("llGroundNormal"); |
2009 | NotImplemented("llUnSit"); | 2009 | return new LSL_Types.Vector3(); |
2010 | } | 2010 | } |
2011 | 2011 | ||
2012 | public LSL_Types.Vector3 llGroundSlope(LSL_Types.Vector3 offset) | 2012 | public LSL_Types.Vector3 llGroundContour(LSL_Types.Vector3 offset) |
2013 | { | 2013 | { |
2014 | NotImplemented("llGroundSlope"); | 2014 | NotImplemented("llGroundContour"); |
2015 | return new LSL_Types.Vector3(); | 2015 | return new LSL_Types.Vector3(); |
2016 | } | 2016 | } |
2017 | 2017 | ||
2018 | public LSL_Types.Vector3 llGroundNormal(LSL_Types.Vector3 offset) | 2018 | public int llGetAttached() |
2019 | { | 2019 | { |
2020 | NotImplemented("llGroundNormal"); | 2020 | NotImplemented("llGetAttached"); |
2021 | return new LSL_Types.Vector3(); | 2021 | return 0; |
2022 | } | 2022 | } |
2023 | 2023 | ||
2024 | public LSL_Types.Vector3 llGroundContour(LSL_Types.Vector3 offset) | 2024 | public int llGetFreeMemory() |
2025 | { | 2025 | { |
2026 | NotImplemented("llGroundContour"); | 2026 | NotImplemented("llGetFreeMemory"); |
2027 | return new LSL_Types.Vector3(); | 2027 | return 0; |
2028 | } | 2028 | } |
2029 | 2029 | ||
2030 | public int llGetAttached() | 2030 | public string llGetRegionName() |
2031 | { | 2031 | { |
2032 | NotImplemented("llGetAttached"); | 2032 | return World.RegionInfo.RegionName; |
2033 | return 0; | 2033 | } |
2034 | } | 2034 | |
2035 | 2035 | public double llGetRegionTimeDilation() | |
2036 | public int llGetFreeMemory() | 2036 | { |
2037 | { | 2037 | return (double)World.TimeDilation; |
2038 | NotImplemented("llGetFreeMemory"); | 2038 | } |
2039 | return 0; | 2039 | |
2040 | } | 2040 | public double llGetRegionFPS() |
2041 | 2041 | { | |
2042 | public string llGetRegionName() | 2042 | return 10.0f; |
2043 | { | 2043 | } |
2044 | return World.RegionInfo.RegionName; | 2044 | |
2045 | } | 2045 | /* particle system rules should be coming into this routine as doubles, that is |
2046 | 2046 | rule[0] should be an integer from this list and rule[1] should be the arg | |
2047 | public double llGetRegionTimeDilation() | 2047 | for the same integer. wiki.secondlife.com has most of this mapping, but some |
2048 | { | 2048 | came from http://www.caligari-designs.com/p4u2 |
2049 | return (double)World.TimeDilation; | 2049 | |
2050 | } | 2050 | We iterate through the list for 'Count' elements, incrementing by two for each |
2051 | 2051 | iteration and set the members of Primitive.ParticleSystem, one at a time. | |
2052 | public double llGetRegionFPS() | 2052 | */ |
2053 | { | 2053 | |
2054 | return 10.0f; | 2054 | public enum PrimitiveRule : int |
2055 | } | 2055 | { |
2056 | 2056 | PSYS_PART_FLAGS = 0, | |
2057 | /* particle system rules should be coming into this routine as doubles, that is | 2057 | PSYS_PART_START_COLOR = 1, |
2058 | rule[0] should be an integer from this list and rule[1] should be the arg | 2058 | PSYS_PART_START_ALPHA = 2, |
2059 | for the same integer. wiki.secondlife.com has most of this mapping, but some | 2059 | PSYS_PART_END_COLOR = 3, |
2060 | came from http://www.caligari-designs.com/p4u2 | 2060 | PSYS_PART_END_ALPHA = 4, |
2061 | 2061 | PSYS_PART_START_SCALE = 5, | |
2062 | We iterate through the list for 'Count' elements, incrementing by two for each | 2062 | PSYS_PART_END_SCALE = 6, |
2063 | iteration and set the members of Primitive.ParticleSystem, one at a time. | 2063 | PSYS_PART_MAX_AGE = 7, |
2064 | */ | 2064 | PSYS_SRC_ACCEL = 8, |
2065 | 2065 | PSYS_SRC_PATTERN = 9, | |
2066 | public enum PrimitiveRule : int | 2066 | PSYS_SRC_TEXTURE = 12, |
2067 | { | 2067 | PSYS_SRC_BURST_RATE = 13, |
2068 | PSYS_PART_FLAGS = 0, | 2068 | PSYS_SRC_BURST_PART_COUNT = 15, |
2069 | PSYS_PART_START_COLOR = 1, | 2069 | PSYS_SRC_BURST_RADIUS = 16, |
2070 | PSYS_PART_START_ALPHA = 2, | 2070 | PSYS_SRC_BURST_SPEED_MIN = 17, |
2071 | PSYS_PART_END_COLOR = 3, | 2071 | PSYS_SRC_BURST_SPEED_MAX = 18, |
2072 | PSYS_PART_END_ALPHA = 4, | 2072 | PSYS_SRC_MAX_AGE = 19, |
2073 | PSYS_PART_START_SCALE = 5, | 2073 | PSYS_SRC_TARGET_KEY = 20, |
2074 | PSYS_PART_END_SCALE = 6, | 2074 | PSYS_SRC_OMEGA = 21, |
2075 | PSYS_PART_MAX_AGE = 7, | 2075 | PSYS_SRC_ANGLE_BEGIN = 22, |
2076 | PSYS_SRC_ACCEL = 8, | 2076 | PSYS_SRC_ANGLE_END = 23 |
2077 | PSYS_SRC_PATTERN = 9, | 2077 | } |
2078 | PSYS_SRC_TEXTURE = 12, | 2078 | |
2079 | PSYS_SRC_BURST_RATE = 13, | 2079 | public void llParticleSystem(List<Object> rules) |
2080 | PSYS_SRC_BURST_PART_COUNT = 15, | 2080 | { |
2081 | PSYS_SRC_BURST_RADIUS = 16, | 2081 | Primitive.ParticleSystem prules = new Primitive.ParticleSystem(); |
2082 | PSYS_SRC_BURST_SPEED_MIN = 17, | 2082 | for (int i = 0; i < rules.Count; i += 2) |
2083 | PSYS_SRC_BURST_SPEED_MAX = 18, | 2083 | { |
2084 | PSYS_SRC_MAX_AGE = 19, | 2084 | switch ((int)rules[i]) |
2085 | PSYS_SRC_TARGET_KEY = 20, | 2085 | { |
2086 | PSYS_SRC_OMEGA = 21, | 2086 | case (int)LSL_BaseClass.PSYS_PART_FLAGS: |
2087 | PSYS_SRC_ANGLE_BEGIN = 22, | 2087 | prules.PartFlags = (uint)rules[i + 1]; |
2088 | PSYS_SRC_ANGLE_END = 23 | 2088 | break; |
2089 | } | 2089 | |
2090 | 2090 | case (int)LSL_BaseClass.PSYS_PART_START_COLOR: | |
2091 | public void llParticleSystem(List<Object> rules) | 2091 | prules.PartStartColor = (LLColor)rules[i + 1]; |
2092 | { | 2092 | break; |
2093 | Primitive.ParticleSystem prules = new Primitive.ParticleSystem(); | 2093 | |
2094 | for (int i = 0; i < rules.Count; i += 2) | 2094 | case (int)LSL_BaseClass.PSYS_PART_START_ALPHA: |
2095 | { | 2095 | //what is the cast? prules.PartStartColor = (LSL_Types.Vec)rules[i + 1]; |
2096 | switch ((int)rules[i]) | 2096 | break; |
2097 | { | 2097 | |
2098 | case (int)LSL_BaseClass.PSYS_PART_FLAGS: | 2098 | case (int)LSL_BaseClass.PSYS_PART_END_COLOR: |
2099 | prules.PartFlags = (uint)rules[i + 1]; | 2099 | prules.PartEndColor = (LLColor)rules[i + 1]; |
2100 | break; | 2100 | break; |
2101 | 2101 | ||
2102 | case (int)LSL_BaseClass.PSYS_PART_START_COLOR: | 2102 | case (int)LSL_BaseClass.PSYS_PART_END_ALPHA: |
2103 | prules.PartStartColor = (LLColor)rules[i + 1]; | 2103 | //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; |
2104 | break; | 2104 | break; |
2105 | 2105 | ||
2106 | case (int)LSL_BaseClass.PSYS_PART_START_ALPHA: | 2106 | case (int)LSL_BaseClass.PSYS_PART_START_SCALE: |
2107 | //what is the cast? prules.PartStartColor = (LSL_Types.Vec)rules[i + 1]; | 2107 | //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; |
2108 | break; | 2108 | break; |
2109 | 2109 | ||
2110 | case (int)LSL_BaseClass.PSYS_PART_END_COLOR: | 2110 | case (int)LSL_BaseClass.PSYS_PART_END_SCALE: |
2111 | prules.PartEndColor = (LLColor)rules[i + 1]; | 2111 | //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; |
2112 | break; | 2112 | break; |
2113 | 2113 | ||
2114 | case (int)LSL_BaseClass.PSYS_PART_END_ALPHA: | 2114 | case (int)LSL_BaseClass.PSYS_PART_MAX_AGE: |
2115 | //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; | 2115 | prules.MaxAge = (float)rules[i + 1]; |
2116 | break; | 2116 | break; |
2117 | 2117 | ||
2118 | case (int)LSL_BaseClass.PSYS_PART_START_SCALE: | 2118 | case (int)LSL_BaseClass.PSYS_SRC_ACCEL: |
2119 | //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; | 2119 | //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; |
2120 | break; | 2120 | break; |
2121 | 2121 | ||
2122 | case (int)LSL_BaseClass.PSYS_PART_END_SCALE: | 2122 | case (int)LSL_BaseClass.PSYS_SRC_PATTERN: |
2123 | //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; | 2123 | //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; |
2124 | break; | 2124 | break; |
2125 | 2125 | ||
2126 | case (int)LSL_BaseClass.PSYS_PART_MAX_AGE: | 2126 | case (int)LSL_BaseClass.PSYS_SRC_TEXTURE: |
2127 | prules.MaxAge = (float)rules[i + 1]; | 2127 | prules.Texture = (LLUUID)rules[i + 1]; |
2128 | break; | 2128 | break; |
2129 | 2129 | ||
2130 | case (int)LSL_BaseClass.PSYS_SRC_ACCEL: | 2130 | case (int)LSL_BaseClass.PSYS_SRC_BURST_RATE: |
2131 | //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; | 2131 | prules.BurstRate = (float)rules[i + 1]; |
2132 | break; | 2132 | break; |
2133 | 2133 | ||
2134 | case (int)LSL_BaseClass.PSYS_SRC_PATTERN: | 2134 | case (int)LSL_BaseClass.PSYS_SRC_BURST_PART_COUNT: |
2135 | //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; | 2135 | prules.BurstPartCount = (byte)rules[i + 1]; |
2136 | break; | 2136 | break; |
2137 | 2137 | ||
2138 | case (int)LSL_BaseClass.PSYS_SRC_TEXTURE: | 2138 | case (int)LSL_BaseClass.PSYS_SRC_BURST_RADIUS: |
2139 | prules.Texture = (LLUUID)rules[i + 1]; | 2139 | prules.BurstRadius = (float)rules[i + 1]; |
2140 | break; | 2140 | break; |
2141 | 2141 | ||
2142 | case (int)LSL_BaseClass.PSYS_SRC_BURST_RATE: | 2142 | case (int)LSL_BaseClass.PSYS_SRC_BURST_SPEED_MIN: |
2143 | prules.BurstRate = (float)rules[i + 1]; | 2143 | prules.BurstSpeedMin = (float)rules[i + 1]; |
2144 | break; | 2144 | break; |
2145 | 2145 | ||
2146 | case (int)LSL_BaseClass.PSYS_SRC_BURST_PART_COUNT: | 2146 | case (int)LSL_BaseClass.PSYS_SRC_BURST_SPEED_MAX: |
2147 | prules.BurstPartCount = (byte)rules[i + 1]; | 2147 | prules.BurstSpeedMax = (float)rules[i + 1]; |
2148 | break; | 2148 | break; |
2149 | 2149 | ||
2150 | case (int)LSL_BaseClass.PSYS_SRC_BURST_RADIUS: | 2150 | case (int)LSL_BaseClass.PSYS_SRC_MAX_AGE: |
2151 | prules.BurstRadius = (float)rules[i + 1]; | 2151 | prules.MaxAge = (float)rules[i + 1]; |
2152 | break; | 2152 | break; |
2153 | 2153 | ||
2154 | case (int)LSL_BaseClass.PSYS_SRC_BURST_SPEED_MIN: | 2154 | case (int)LSL_BaseClass.PSYS_SRC_TARGET_KEY: |
2155 | prules.BurstSpeedMin = (float)rules[i + 1]; | 2155 | prules.Target = (LLUUID)rules[i + 1]; |
2156 | break; | 2156 | break; |
2157 | 2157 | ||
2158 | case (int)LSL_BaseClass.PSYS_SRC_BURST_SPEED_MAX: | 2158 | case (int)LSL_BaseClass.PSYS_SRC_OMEGA: |
2159 | prules.BurstSpeedMax = (float)rules[i + 1]; | 2159 | //cast?? prules.MaxAge = (float)rules[i + 1]; |
2160 | break; | 2160 | break; |
2161 | 2161 | ||
2162 | case (int)LSL_BaseClass.PSYS_SRC_MAX_AGE: | 2162 | case (int)LSL_BaseClass.PSYS_SRC_ANGLE_BEGIN: |
2163 | prules.MaxAge = (float)rules[i + 1]; | 2163 | prules.InnerAngle = (float)rules[i + 1]; |
2164 | break; | 2164 | break; |
2165 | 2165 | ||
2166 | case (int)LSL_BaseClass.PSYS_SRC_TARGET_KEY: | 2166 | case (int)LSL_BaseClass.PSYS_SRC_ANGLE_END: |
2167 | prules.Target = (LLUUID)rules[i + 1]; | 2167 | prules.OuterAngle = (float)rules[i + 1]; |
2168 | break; | 2168 | break; |
2169 | 2169 | } | |
2170 | case (int)LSL_BaseClass.PSYS_SRC_OMEGA: | 2170 | } |
2171 | //cast?? prules.MaxAge = (float)rules[i + 1]; | 2171 | |
2172 | break; | 2172 | m_host.AddNewParticleSystem(prules); |
2173 | 2173 | } | |
2174 | case (int)LSL_BaseClass.PSYS_SRC_ANGLE_BEGIN: | 2174 | |
2175 | prules.InnerAngle = (float)rules[i + 1]; | 2175 | public void llGroundRepel(double height, int water, double tau) |
2176 | break; | 2176 | { |
2177 | 2177 | NotImplemented("llGroundRepel"); | |
2178 | case (int)LSL_BaseClass.PSYS_SRC_ANGLE_END: | 2178 | } |
2179 | prules.OuterAngle = (float)rules[i + 1]; | 2179 | |
2180 | break; | 2180 | public void llGiveInventoryList() |
2181 | } | 2181 | { |
2182 | } | 2182 | NotImplemented("llGiveInventoryList"); |
2183 | 2183 | } | |
2184 | m_host.AddNewParticleSystem(prules); | 2184 | |
2185 | } | 2185 | public void llSetVehicleType(int type) |
2186 | 2186 | { | |
2187 | public void llGroundRepel(double height, int water, double tau) | 2187 | NotImplemented("llSetVehicleType"); |
2188 | { | 2188 | } |
2189 | NotImplemented("llGroundRepel"); | 2189 | |
2190 | } | 2190 | public void llSetVehicledoubleParam(int param, double value) |
2191 | 2191 | { | |
2192 | public void llGiveInventoryList() | 2192 | NotImplemented("llSetVehicledoubleParam"); |
2193 | { | 2193 | } |
2194 | NotImplemented("llGiveInventoryList"); | 2194 | |
2195 | } | 2195 | public void llSetVehicleVectorParam(int param, LSL_Types.Vector3 vec) |
2196 | 2196 | { | |
2197 | public void llSetVehicleType(int type) | 2197 | NotImplemented("llSetVehicleVectorParam"); |
2198 | { | 2198 | } |
2199 | NotImplemented("llSetVehicleType"); | 2199 | |
2200 | } | 2200 | public void llSetVehicleRotationParam(int param, LSL_Types.Quaternion rot) |
2201 | 2201 | { | |
2202 | public void llSetVehicledoubleParam(int param, double value) | 2202 | NotImplemented("llSetVehicleRotationParam"); |
2203 | { | 2203 | } |
2204 | NotImplemented("llSetVehicledoubleParam"); | 2204 | |
2205 | } | 2205 | public void llSetVehicleFlags(int flags) |
2206 | 2206 | { | |
2207 | public void llSetVehicleVectorParam(int param, LSL_Types.Vector3 vec) | 2207 | NotImplemented("llSetVehicleFlags"); |
2208 | { | 2208 | } |
2209 | NotImplemented("llSetVehicleVectorParam"); | 2209 | |
2210 | } | 2210 | public void llRemoveVehicleFlags(int flags) |
2211 | 2211 | { | |
2212 | public void llSetVehicleRotationParam(int param, LSL_Types.Quaternion rot) | 2212 | NotImplemented("llRemoveVehicleFlags"); |
2213 | { | 2213 | } |
2214 | NotImplemented("llSetVehicleRotationParam"); | 2214 | |
2215 | } | 2215 | public void llSitTarget(LSL_Types.Vector3 offset, LSL_Types.Quaternion rot) |
2216 | 2216 | { | |
2217 | public void llSetVehicleFlags(int flags) | 2217 | // LSL quaternions can normalize to 0, normal Quaternions can't. |
2218 | { | 2218 | if (rot.s == 0 && rot.x == 0 && rot.y == 0 && rot.z == 0) |
2219 | NotImplemented("llSetVehicleFlags"); | 2219 | rot.z = 1; // ZERO_ROTATION = 0,0,0,1 |
2220 | } | 2220 | |
2221 | 2221 | m_host.SetSitTarget(new Vector3((float)offset.x, (float)offset.y, (float)offset.z), new Quaternion((float)rot.s, (float)rot.x, (float)rot.y, (float)rot.z)); | |
2222 | public void llRemoveVehicleFlags(int flags) | 2222 | } |
2223 | { | 2223 | |
2224 | NotImplemented("llRemoveVehicleFlags"); | 2224 | public string llAvatarOnSitTarget() |
2225 | } | 2225 | { |
2226 | 2226 | LLUUID AVID = m_host.GetAvatarOnSitTarget(); | |
2227 | public void llSitTarget(LSL_Types.Vector3 offset, LSL_Types.Quaternion rot) | 2227 | |
2228 | { | 2228 | if (AVID != LLUUID.Zero) |
2229 | // LSL quaternions can normalize to 0, normal Quaternions can't. | 2229 | return AVID.ToString(); |
2230 | if (rot.s == 0 && rot.x == 0 && rot.y == 0 && rot.z == 0) | 2230 | else |
2231 | rot.z = 1; // ZERO_ROTATION = 0,0,0,1 | 2231 | return ""; |
2232 | 2232 | } | |
2233 | m_host.SetSitTarget(new Vector3((float)offset.x, (float)offset.y, (float)offset.z), new Quaternion((float)rot.s, (float)rot.x, (float)rot.y, (float)rot.z)); | 2233 | |
2234 | } | 2234 | public void llAddToLandPassList(string avatar, double hours) |
2235 | 2235 | { | |
2236 | public string llAvatarOnSitTarget() | 2236 | NotImplemented("llAddToLandPassList"); |
2237 | { | 2237 | } |
2238 | LLUUID AVID = m_host.GetAvatarOnSitTarget(); | 2238 | |
2239 | 2239 | public void llSetTouchText(string text) | |
2240 | if (AVID != LLUUID.Zero) | 2240 | { |
2241 | return AVID.ToString(); | 2241 | m_host.TouchName = text; |
2242 | else | 2242 | } |
2243 | return ""; | 2243 | |
2244 | } | 2244 | public void llSetSitText(string text) |
2245 | 2245 | { | |
2246 | public void llAddToLandPassList(string avatar, double hours) | 2246 | m_host.SitName = text; |
2247 | { | 2247 | } |
2248 | NotImplemented("llAddToLandPassList"); | 2248 | |
2249 | } | 2249 | public void llSetCameraEyeOffset(LSL_Types.Vector3 offset) |
2250 | 2250 | { | |
2251 | public void llSetTouchText(string text) | 2251 | NotImplemented("llSetCameraEyeOffset"); |
2252 | { | 2252 | } |
2253 | m_host.TouchName = text; | 2253 | |
2254 | } | 2254 | public void llSetCameraAtOffset(LSL_Types.Vector3 offset) |
2255 | 2255 | { | |
2256 | public void llSetSitText(string text) | 2256 | NotImplemented("llSetCameraAtOffset"); |
2257 | { | 2257 | } |
2258 | m_host.SitName = text; | 2258 | |
2259 | } | 2259 | public string llDumpList2String(LSL_Types.list src, string seperator) |
2260 | 2260 | { | |
2261 | public void llSetCameraEyeOffset(LSL_Types.Vector3 offset) | 2261 | if (src.Length == 0) |
2262 | { | 2262 | { |
2263 | NotImplemented("llSetCameraEyeOffset"); | 2263 | return ""; |
2264 | } | 2264 | } |
2265 | 2265 | string ret = ""; | |
2266 | public void llSetCameraAtOffset(LSL_Types.Vector3 offset) | 2266 | foreach (object o in src.Data) |
2267 | { | 2267 | { |
2268 | NotImplemented("llSetCameraAtOffset"); | 2268 | ret = ret + o.ToString() + seperator; |
2269 | } | 2269 | } |
2270 | 2270 | ret = ret.Substring(0, ret.Length - seperator.Length); | |
2271 | public string llDumpList2String(LSL_Types.list src, string seperator) | 2271 | return ret; |
2272 | { | 2272 | } |
2273 | if (src.Length == 0) | 2273 | |
2274 | { | 2274 | public void llScriptDanger(LSL_Types.Vector3 pos) |
2275 | return ""; | 2275 | { |
2276 | } | 2276 | NotImplemented("llScriptDanger"); |
2277 | string ret = ""; | 2277 | } |
2278 | foreach (object o in src.Data) | 2278 | |
2279 | { | 2279 | public void llDialog(string avatar, string message, LSL_Types.list buttons, int chat_channel) |
2280 | ret = ret + o.ToString() + seperator; | 2280 | { |
2281 | } | 2281 | NotImplemented("llDialog"); |
2282 | ret = ret.Substring(0, ret.Length - seperator.Length); | 2282 | } |
2283 | return ret; | 2283 | |
2284 | } | 2284 | public void llVolumeDetect(int detect) |
2285 | 2285 | { | |
2286 | public void llScriptDanger(LSL_Types.Vector3 pos) | 2286 | NotImplemented("llVolumeDetect"); |
2287 | { | 2287 | } |
2288 | NotImplemented("llScriptDanger"); | 2288 | |
2289 | } | 2289 | public void llResetOtherScript(string name) |
2290 | 2290 | { | |
2291 | public void llDialog(string avatar, string message, LSL_Types.list buttons, int chat_channel) | 2291 | NotImplemented("llResetOtherScript"); |
2292 | { | 2292 | } |
2293 | NotImplemented("llDialog"); | 2293 | |
2294 | } | 2294 | public int llGetScriptState(string name) |
2295 | 2295 | { | |
2296 | public void llVolumeDetect(int detect) | 2296 | NotImplemented("llGetScriptState"); |
2297 | { | 2297 | return 0; |
2298 | NotImplemented("llVolumeDetect"); | 2298 | } |
2299 | } | 2299 | |
2300 | 2300 | public void llRemoteLoadScript() | |
2301 | public void llResetOtherScript(string name) | 2301 | { |
2302 | { | 2302 | NotImplemented("llRemoteLoadScript"); |
2303 | NotImplemented("llResetOtherScript"); | 2303 | } |
2304 | } | 2304 | |
2305 | 2305 | public void llSetRemoteScriptAccessPin(int pin) | |
2306 | public int llGetScriptState(string name) | 2306 | { |
2307 | { | 2307 | NotImplemented("llSetRemoteScriptAccessPin"); |
2308 | NotImplemented("llGetScriptState"); | 2308 | } |
2309 | return 0; | 2309 | |
2310 | } | 2310 | public void llRemoteLoadScriptPin(string target, string name, int pin, int running, int start_param) |
2311 | 2311 | { | |
2312 | public void llRemoteLoadScript() | 2312 | NotImplemented("llRemoteLoadScriptPin"); |
2313 | { | 2313 | } |
2314 | NotImplemented("llRemoteLoadScript"); | 2314 | |
2315 | } | 2315 | // remote_data(integer type, key channel, key message_id, string sender, integer ival, string sval) |
2316 | 2316 | // Not sure where these constants should live: | |
2317 | public void llSetRemoteScriptAccessPin(int pin) | 2317 | // REMOTE_DATA_CHANNEL = 1 |
2318 | { | 2318 | // REMOTE_DATA_REQUEST = 2 |
2319 | NotImplemented("llSetRemoteScriptAccessPin"); | 2319 | // REMOTE_DATA_REPLY = 3 |
2320 | } | 2320 | public void llOpenRemoteDataChannel() |
2321 | 2321 | { | |
2322 | public void llRemoteLoadScriptPin(string target, string name, int pin, int running, int start_param) | 2322 | IXMLRPC xmlrpcMod = m_ScriptEngine.World.RequestModuleInterface<IXMLRPC>(); |
2323 | { | 2323 | if (xmlrpcMod.IsEnabled()) |
2324 | NotImplemented("llRemoteLoadScriptPin"); | 2324 | { |
2325 | } | 2325 | LLUUID channelID = xmlrpcMod.OpenXMLRPCChannel(m_localID, m_itemID); |
2326 | 2326 | object[] resobj = new object[] { 1, channelID.ToString(), LLUUID.Zero.ToString(), "", 0, "" }; | |
2327 | // remote_data(integer type, key channel, key message_id, string sender, integer ival, string sval) | 2327 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(m_localID, m_itemID, "remote_data", resobj); |
2328 | // Not sure where these constants should live: | 2328 | } |
2329 | // REMOTE_DATA_CHANNEL = 1 | 2329 | } |
2330 | // REMOTE_DATA_REQUEST = 2 | 2330 | |
2331 | // REMOTE_DATA_REPLY = 3 | 2331 | public string llSendRemoteData(string channel, string dest, int idata, string sdata) |
2332 | public void llOpenRemoteDataChannel() | 2332 | { |
2333 | { | 2333 | NotImplemented("llSendRemoteData"); |
2334 | IXMLRPC xmlrpcMod = m_ScriptEngine.World.RequestModuleInterface<IXMLRPC>(); | 2334 | return ""; |
2335 | if (xmlrpcMod.IsEnabled()) | 2335 | } |
2336 | { | 2336 | |
2337 | LLUUID channelID = xmlrpcMod.OpenXMLRPCChannel(m_localID, m_itemID); | 2337 | public void llRemoteDataReply(string channel, string message_id, string sdata, int idata) |
2338 | object[] resobj = new object[] { 1, channelID.ToString(), LLUUID.Zero.ToString(), "", 0, "" }; | 2338 | { |
2339 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(m_localID, m_itemID, "remote_data", resobj); | 2339 | IXMLRPC xmlrpcMod = m_ScriptEngine.World.RequestModuleInterface<IXMLRPC>(); |
2340 | } | 2340 | xmlrpcMod.RemoteDataReply(channel, message_id, sdata, idata); |
2341 | } | 2341 | } |
2342 | 2342 | ||
2343 | public string llSendRemoteData(string channel, string dest, int idata, string sdata) | 2343 | public void llCloseRemoteDataChannel(string channel) |
2344 | { | 2344 | { |
2345 | NotImplemented("llSendRemoteData"); | 2345 | IXMLRPC xmlrpcMod = m_ScriptEngine.World.RequestModuleInterface<IXMLRPC>(); |
2346 | return ""; | 2346 | xmlrpcMod.CloseXMLRPCChannel(channel); |
2347 | } | 2347 | } |
2348 | 2348 | ||
2349 | public void llRemoteDataReply(string channel, string message_id, string sdata, int idata) | 2349 | public string llMD5String(string src, int nonce) |
2350 | { | 2350 | { |
2351 | IXMLRPC xmlrpcMod = m_ScriptEngine.World.RequestModuleInterface<IXMLRPC>(); | 2351 | return Util.Md5Hash(src + ":" + nonce.ToString()); |
2352 | xmlrpcMod.RemoteDataReply(channel, message_id, sdata, idata); | 2352 | } |
2353 | } | 2353 | |
2354 | 2354 | public void llSetPrimitiveParams(LSL_Types.list rules) | |
2355 | public void llCloseRemoteDataChannel(string channel) | 2355 | { |
2356 | { | 2356 | NotImplemented("llSetPrimitiveParams"); |
2357 | IXMLRPC xmlrpcMod = m_ScriptEngine.World.RequestModuleInterface<IXMLRPC>(); | 2357 | } |
2358 | xmlrpcMod.CloseXMLRPCChannel(channel); | 2358 | |
2359 | } | 2359 | public string llStringToBase64(string str) |
2360 | 2360 | { | |
2361 | public string llMD5String(string src, int nonce) | 2361 | try |
2362 | { | 2362 | { |
2363 | return Util.Md5Hash(src + ":" + nonce.ToString()); | 2363 | byte[] encData_byte = new byte[str.Length]; |
2364 | } | 2364 | encData_byte = Encoding.UTF8.GetBytes(str); |
2365 | 2365 | string encodedData = Convert.ToBase64String(encData_byte); | |
2366 | public void llSetPrimitiveParams(LSL_Types.list rules) | 2366 | return encodedData; |
2367 | { | 2367 | } |
2368 | NotImplemented("llSetPrimitiveParams"); | 2368 | catch (Exception e) |
2369 | } | 2369 | { |
2370 | 2370 | throw new Exception("Error in base64Encode" + e.Message); | |
2371 | public string llStringToBase64(string str) | 2371 | } |
2372 | { | 2372 | } |
2373 | try | 2373 | |
2374 | { | 2374 | public string llBase64ToString(string str) |
2375 | byte[] encData_byte = new byte[str.Length]; | 2375 | { |
2376 | encData_byte = Encoding.UTF8.GetBytes(str); | 2376 | UTF8Encoding encoder = new UTF8Encoding(); |
2377 | string encodedData = Convert.ToBase64String(encData_byte); | 2377 | Decoder utf8Decode = encoder.GetDecoder(); |
2378 | return encodedData; | 2378 | try |
2379 | } | 2379 | { |
2380 | catch (Exception e) | 2380 | byte[] todecode_byte = Convert.FromBase64String(str); |
2381 | { | 2381 | int charCount = utf8Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length); |
2382 | throw new Exception("Error in base64Encode" + e.Message); | 2382 | char[] decoded_char = new char[charCount]; |
2383 | } | 2383 | utf8Decode.GetChars(todecode_byte, 0, todecode_byte.Length, decoded_char, 0); |
2384 | } | 2384 | string result = new String(decoded_char); |
2385 | 2385 | return result; | |
2386 | public string llBase64ToString(string str) | 2386 | } |
2387 | { | 2387 | catch (Exception e) |
2388 | UTF8Encoding encoder = new UTF8Encoding(); | 2388 | { |
2389 | Decoder utf8Decode = encoder.GetDecoder(); | 2389 | throw new Exception("Error in base64Decode" + e.Message); |
2390 | try | 2390 | } |
2391 | { | 2391 | } |
2392 | byte[] todecode_byte = Convert.FromBase64String(str); | 2392 | |
2393 | int charCount = utf8Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length); | 2393 | public void llXorBase64Strings() |
2394 | char[] decoded_char = new char[charCount]; | 2394 | { |
2395 | utf8Decode.GetChars(todecode_byte, 0, todecode_byte.Length, decoded_char, 0); | 2395 | throw new Exception("Command deprecated! Use llXorBase64StringsCorrect instead."); |
2396 | string result = new String(decoded_char); | 2396 | } |
2397 | return result; | 2397 | |
2398 | } | 2398 | public void llRemoteDataSetRegion() |
2399 | catch (Exception e) | 2399 | { |
2400 | { | 2400 | NotImplemented("llRemoteDataSetRegion"); |
2401 | throw new Exception("Error in base64Decode" + e.Message); | 2401 | } |
2402 | } | 2402 | |
2403 | } | 2403 | public double llLog10(double val) |
2404 | 2404 | { | |
2405 | public void llXorBase64Strings() | 2405 | return (double)Math.Log10(val); |
2406 | { | 2406 | } |
2407 | throw new Exception("Command deprecated! Use llXorBase64StringsCorrect instead."); | 2407 | |
2408 | } | 2408 | public double llLog(double val) |
2409 | 2409 | { | |
2410 | public void llRemoteDataSetRegion() | 2410 | return (double)Math.Log(val); |
2411 | { | 2411 | } |
2412 | NotImplemented("llRemoteDataSetRegion"); | 2412 | |
2413 | } | 2413 | public LSL_Types.list llGetAnimationList(string id) |
2414 | 2414 | { | |
2415 | public double llLog10(double val) | 2415 | NotImplemented("llGetAnimationList"); |
2416 | { | 2416 | return new LSL_Types.list(); |
2417 | return (double)Math.Log10(val); | 2417 | } |
2418 | } | 2418 | |
2419 | 2419 | public void llSetParcelMusicURL(string url) | |
2420 | public double llLog(double val) | 2420 | { |
2421 | { | 2421 | LLUUID landowner = World.GetLandOwner(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y); |
2422 | return (double)Math.Log(val); | 2422 | if (landowner.Equals(null)) |
2423 | } | 2423 | { |
2424 | 2424 | return; | |
2425 | public LSL_Types.list llGetAnimationList(string id) | 2425 | } |
2426 | { | 2426 | if (landowner != m_host.ObjectOwner) |
2427 | NotImplemented("llGetAnimationList"); | 2427 | { |
2428 | return new LSL_Types.list(); | 2428 | return; |
2429 | } | 2429 | } |
2430 | 2430 | World.SetLandMusicURL(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y, url); | |
2431 | public void llSetParcelMusicURL(string url) | 2431 | } |
2432 | { | 2432 | |
2433 | LLUUID landowner = World.GetLandOwner(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y); | 2433 | public LSL_Types.Vector3 llGetRootPosition() |
2434 | if (landowner.Equals(null)) | 2434 | { |
2435 | { | 2435 | return new LSL_Types.Vector3(m_host.ParentGroup.AbsolutePosition.X, m_host.ParentGroup.AbsolutePosition.Y, m_host.ParentGroup.AbsolutePosition.Z); |
2436 | return; | 2436 | } |
2437 | } | 2437 | |
2438 | if (landowner != m_host.ObjectOwner) | 2438 | public LSL_Types.Quaternion llGetRootRotation() |
2439 | { | 2439 | { |
2440 | return; | 2440 | return new LSL_Types.Quaternion(m_host.ParentGroup.GroupRotation.X, m_host.ParentGroup.GroupRotation.Y, m_host.ParentGroup.GroupRotation.Z, m_host.ParentGroup.GroupRotation.W); |
2441 | } | 2441 | } |
2442 | World.SetLandMusicURL(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y, url); | 2442 | |
2443 | } | 2443 | public string llGetObjectDesc() |
2444 | 2444 | { | |
2445 | public LSL_Types.Vector3 llGetRootPosition() | 2445 | return m_host.Description; |
2446 | { | 2446 | } |
2447 | return new LSL_Types.Vector3(m_host.ParentGroup.AbsolutePosition.X, m_host.ParentGroup.AbsolutePosition.Y, m_host.ParentGroup.AbsolutePosition.Z); | 2447 | |
2448 | } | 2448 | public void llSetObjectDesc(string desc) |
2449 | 2449 | { | |
2450 | public LSL_Types.Quaternion llGetRootRotation() | 2450 | m_host.Description = desc; |
2451 | { | 2451 | } |
2452 | return new LSL_Types.Quaternion(m_host.ParentGroup.GroupRotation.X, m_host.ParentGroup.GroupRotation.Y, m_host.ParentGroup.GroupRotation.Z, m_host.ParentGroup.GroupRotation.W); | 2452 | |
2453 | } | 2453 | public string llGetCreator() |
2454 | 2454 | { | |
2455 | public string llGetObjectDesc() | 2455 | return m_host.ObjectCreator.ToString(); |
2456 | { | 2456 | } |
2457 | return m_host.Description; | 2457 | |
2458 | } | 2458 | public string llGetTimestamp() |
2459 | 2459 | { | |
2460 | public void llSetObjectDesc(string desc) | 2460 | return DateTime.Now.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffffffZ"); |
2461 | { | 2461 | } |
2462 | m_host.Description = desc; | 2462 | |
2463 | } | 2463 | public void llSetLinkAlpha(int linknumber, double alpha, int face) |
2464 | 2464 | { | |
2465 | public string llGetCreator() | 2465 | SceneObjectPart part = m_host.ParentGroup.GetLinkNumPart(linknumber); |
2466 | { | 2466 | if (linknumber > -1) |
2467 | return m_host.ObjectCreator.ToString(); | 2467 | { |
2468 | } | 2468 | LLObject.TextureEntry tex = part.Shape.Textures; |
2469 | 2469 | LLColor texcolor; | |
2470 | public string llGetTimestamp() | 2470 | if (face > -1) |
2471 | { | 2471 | { |
2472 | return DateTime.Now.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffffffZ"); | 2472 | texcolor = tex.CreateFace((uint)face).RGBA; |
2473 | } | 2473 | texcolor.A = (float)Math.Abs(alpha - 1); |
2474 | 2474 | tex.FaceTextures[face].RGBA = texcolor; | |
2475 | public void llSetLinkAlpha(int linknumber, double alpha, int face) | 2475 | part.UpdateTexture(tex); |
2476 | { | 2476 | return; |
2477 | SceneObjectPart part = m_host.ParentGroup.GetLinkNumPart(linknumber); | 2477 | } |
2478 | if (linknumber > -1) | 2478 | else if (face == -1) |
2479 | { | 2479 | { |
2480 | LLObject.TextureEntry tex = part.Shape.Textures; | 2480 | texcolor = tex.DefaultTexture.RGBA; |
2481 | LLColor texcolor; | 2481 | texcolor.A = (float)Math.Abs(alpha - 1); |
2482 | if (face > -1) | 2482 | tex.DefaultTexture.RGBA = texcolor; |
2483 | { | 2483 | for (uint i = 0; i < 32; i++) |
2484 | texcolor = tex.CreateFace((uint)face).RGBA; | 2484 | { |
2485 | texcolor.A = (float)Math.Abs(alpha - 1); | 2485 | if (tex.FaceTextures[i] != null) |
2486 | tex.FaceTextures[face].RGBA = texcolor; | 2486 | { |
2487 | part.UpdateTexture(tex); | 2487 | texcolor = tex.FaceTextures[i].RGBA; |
2488 | return; | 2488 | texcolor.A = (float)Math.Abs(alpha - 1); |
2489 | } | 2489 | tex.FaceTextures[i].RGBA = texcolor; |
2490 | else if (face == -1) | 2490 | } |
2491 | { | 2491 | } |
2492 | texcolor = tex.DefaultTexture.RGBA; | 2492 | texcolor = tex.DefaultTexture.RGBA; |
2493 | texcolor.A = (float)Math.Abs(alpha - 1); | 2493 | texcolor.A = (float)Math.Abs(alpha - 1); |
2494 | tex.DefaultTexture.RGBA = texcolor; | 2494 | tex.DefaultTexture.RGBA = texcolor; |
2495 | for (uint i = 0; i < 32; i++) | 2495 | part.UpdateTexture(tex); |
2496 | { | 2496 | return; |
2497 | if (tex.FaceTextures[i] != null) | 2497 | } |
2498 | { | 2498 | return; |
2499 | texcolor = tex.FaceTextures[i].RGBA; | 2499 | } |
2500 | texcolor.A = (float)Math.Abs(alpha - 1); | 2500 | else if (linknumber == -1) |
2501 | tex.FaceTextures[i].RGBA = texcolor; | 2501 | { |
2502 | } | 2502 | int num = m_host.ParentGroup.PrimCount; |
2503 | } | 2503 | for (int w = 0; w < num; w++) |
2504 | texcolor = tex.DefaultTexture.RGBA; | 2504 | { |
2505 | texcolor.A = (float)Math.Abs(alpha - 1); | 2505 | linknumber = w; |
2506 | tex.DefaultTexture.RGBA = texcolor; | 2506 | part = m_host.ParentGroup.GetLinkNumPart(linknumber); |
2507 | part.UpdateTexture(tex); | 2507 | LLObject.TextureEntry tex = part.Shape.Textures; |
2508 | return; | 2508 | LLColor texcolor; |
2509 | } | 2509 | if (face > -1) |
2510 | return; | 2510 | { |
2511 | } | 2511 | texcolor = tex.CreateFace((uint)face).RGBA; |
2512 | else if (linknumber == -1) | 2512 | texcolor.A = (float)Math.Abs(alpha - 1); |
2513 | { | 2513 | tex.FaceTextures[face].RGBA = texcolor; |
2514 | int num = m_host.ParentGroup.PrimCount; | 2514 | part.UpdateTexture(tex); |
2515 | for (int w = 0; w < num; w++) | 2515 | } |
2516 | { | 2516 | else if (face == -1) |
2517 | linknumber = w; | 2517 | { |
2518 | part = m_host.ParentGroup.GetLinkNumPart(linknumber); | 2518 | texcolor = tex.DefaultTexture.RGBA; |
2519 | LLObject.TextureEntry tex = part.Shape.Textures; | 2519 | texcolor.A = (float)Math.Abs(alpha - 1); |
2520 | LLColor texcolor; | 2520 | tex.DefaultTexture.RGBA = texcolor; |
2521 | if (face > -1) | 2521 | for (uint i = 0; i < 32; i++) |
2522 | { | 2522 | { |
2523 | texcolor = tex.CreateFace((uint)face).RGBA; | 2523 | if (tex.FaceTextures[i] != null) |
2524 | texcolor.A = (float)Math.Abs(alpha - 1); | 2524 | { |
2525 | tex.FaceTextures[face].RGBA = texcolor; | 2525 | texcolor = tex.FaceTextures[i].RGBA; |
2526 | part.UpdateTexture(tex); | 2526 | texcolor.A = (float)Math.Abs(alpha - 1); |
2527 | } | 2527 | tex.FaceTextures[i].RGBA = texcolor; |
2528 | else if (face == -1) | 2528 | } |
2529 | { | 2529 | } |
2530 | texcolor = tex.DefaultTexture.RGBA; | 2530 | texcolor = tex.DefaultTexture.RGBA; |
2531 | texcolor.A = (float)Math.Abs(alpha - 1); | 2531 | texcolor.A = (float)Math.Abs(alpha - 1); |
2532 | tex.DefaultTexture.RGBA = texcolor; | 2532 | tex.DefaultTexture.RGBA = texcolor; |
2533 | for (uint i = 0; i < 32; i++) | 2533 | part.UpdateTexture(tex); |
2534 | { | 2534 | } |
2535 | if (tex.FaceTextures[i] != null) | 2535 | } |
2536 | { | 2536 | return; |
2537 | texcolor = tex.FaceTextures[i].RGBA; | 2537 | } |
2538 | texcolor.A = (float)Math.Abs(alpha - 1); | 2538 | else |
2539 | tex.FaceTextures[i].RGBA = texcolor; | 2539 | { |
2540 | } | 2540 | NotImplemented("llSetLinkAlpha"); |
2541 | } | 2541 | } |
2542 | texcolor = tex.DefaultTexture.RGBA; | 2542 | } |
2543 | texcolor.A = (float)Math.Abs(alpha - 1); | 2543 | |
2544 | tex.DefaultTexture.RGBA = texcolor; | 2544 | public int llGetNumberOfPrims() |
2545 | part.UpdateTexture(tex); | 2545 | { |
2546 | } | 2546 | return m_host.ParentGroup.PrimCount; |
2547 | } | 2547 | } |
2548 | return; | 2548 | |
2549 | } | 2549 | public string llGetNumberOfNotecardLines(string name) |
2550 | else | 2550 | { |
2551 | { | 2551 | NotImplemented("llGetNumberOfNotecardLines"); |
2552 | NotImplemented("llSetLinkAlpha"); | 2552 | return ""; |
2553 | } | 2553 | } |
2554 | } | 2554 | |
2555 | 2555 | public LSL_Types.list llGetBoundingBox(string obj) | |
2556 | public int llGetNumberOfPrims() | 2556 | { |
2557 | { | 2557 | NotImplemented("llGetBoundingBox"); |
2558 | return m_host.ParentGroup.PrimCount; | 2558 | return new LSL_Types.list(); |
2559 | } | 2559 | } |
2560 | 2560 | ||
2561 | public string llGetNumberOfNotecardLines(string name) | 2561 | public LSL_Types.Vector3 llGetGeometricCenter() |
2562 | { | 2562 | { |
2563 | NotImplemented("llGetNumberOfNotecardLines"); | 2563 | return new LSL_Types.Vector3(m_host.GetGeometricCenter().X, m_host.GetGeometricCenter().Y, m_host.GetGeometricCenter().Z); |
2564 | return ""; | 2564 | } |
2565 | } | 2565 | |
2566 | 2566 | public void llGetPrimitiveParams() | |
2567 | public LSL_Types.list llGetBoundingBox(string obj) | 2567 | { |
2568 | { | 2568 | NotImplemented("llGetPrimitiveParams"); |
2569 | NotImplemented("llGetBoundingBox"); | 2569 | } |
2570 | return new LSL_Types.list(); | 2570 | |
2571 | } | 2571 | public string llIntegerToBase64(int number) |
2572 | 2572 | { | |
2573 | public LSL_Types.Vector3 llGetGeometricCenter() | 2573 | NotImplemented("llIntegerToBase64"); |
2574 | { | 2574 | return ""; |
2575 | return new LSL_Types.Vector3(m_host.GetGeometricCenter().X, m_host.GetGeometricCenter().Y, m_host.GetGeometricCenter().Z); | 2575 | } |
2576 | } | 2576 | |
2577 | 2577 | public int llBase64ToInteger(string str) | |
2578 | public void llGetPrimitiveParams() | 2578 | { |
2579 | { | 2579 | NotImplemented("llBase64ToInteger"); |
2580 | NotImplemented("llGetPrimitiveParams"); | 2580 | return 0; |
2581 | } | 2581 | } |
2582 | 2582 | ||
2583 | public string llIntegerToBase64(int number) | 2583 | public double llGetGMTclock() |
2584 | { | 2584 | { |
2585 | NotImplemented("llIntegerToBase64"); | 2585 | return DateTime.UtcNow.TimeOfDay.TotalSeconds; |
2586 | return ""; | 2586 | } |
2587 | } | 2587 | |
2588 | 2588 | public string llGetSimulatorHostname() | |
2589 | public int llBase64ToInteger(string str) | 2589 | { |
2590 | { | 2590 | return System.Environment.MachineName; |
2591 | NotImplemented("llBase64ToInteger"); | 2591 | } |
2592 | return 0; | 2592 | |
2593 | } | 2593 | public void llSetLocalRot(LSL_Types.Quaternion rot) |
2594 | 2594 | { | |
2595 | public double llGetGMTclock() | 2595 | m_host.RotationOffset = new LLQuaternion((float)rot.x, (float)rot.y, (float)rot.z, (float)rot.s); |
2596 | { | 2596 | } |
2597 | return DateTime.UtcNow.TimeOfDay.TotalSeconds; | 2597 | |
2598 | } | 2598 | public LSL_Types.list llParseStringKeepNulls(string src, LSL_Types.list seperators, LSL_Types.list spacers) |
2599 | 2599 | { | |
2600 | public string llGetSimulatorHostname() | 2600 | NotImplemented("llParseStringKeepNulls"); |
2601 | { | 2601 | return new LSL_Types.list(); |
2602 | return System.Environment.MachineName; | 2602 | } |
2603 | } | 2603 | |
2604 | 2604 | public void llRezAtRoot(string inventory, LSL_Types.Vector3 position, LSL_Types.Vector3 velocity, | |
2605 | public void llSetLocalRot(LSL_Types.Quaternion rot) | 2605 | LSL_Types.Quaternion rot, int param) |
2606 | { | 2606 | { |
2607 | m_host.RotationOffset = new LLQuaternion((float)rot.x, (float)rot.y, (float)rot.z, (float)rot.s); | 2607 | NotImplemented("llRezAtRoot"); |
2608 | } | 2608 | } |
2609 | 2609 | ||
2610 | public LSL_Types.list llParseStringKeepNulls(string src, LSL_Types.list seperators, LSL_Types.list spacers) | 2610 | public int llGetObjectPermMask(int mask) |
2611 | { | 2611 | { |
2612 | NotImplemented("llParseStringKeepNulls"); | 2612 | NotImplemented("llGetObjectPermMask"); |
2613 | return new LSL_Types.list(); | 2613 | return 0; |
2614 | } | 2614 | } |
2615 | 2615 | ||
2616 | public void llRezAtRoot(string inventory, LSL_Types.Vector3 position, LSL_Types.Vector3 velocity, | 2616 | public void llSetObjectPermMask(int mask, int value) |
2617 | LSL_Types.Quaternion rot, int param) | 2617 | { |
2618 | { | 2618 | NotImplemented("llSetObjectPermMask"); |
2619 | NotImplemented("llRezAtRoot"); | 2619 | } |
2620 | } | 2620 | |
2621 | 2621 | public void llGetInventoryPermMask(string item, int mask) | |
2622 | public int llGetObjectPermMask(int mask) | 2622 | { |
2623 | { | 2623 | NotImplemented("llGetInventoryPermMask"); |
2624 | NotImplemented("llGetObjectPermMask"); | 2624 | } |
2625 | return 0; | 2625 | |
2626 | } | 2626 | public void llSetInventoryPermMask(string item, int mask, int value) |
2627 | 2627 | { | |
2628 | public void llSetObjectPermMask(int mask, int value) | 2628 | NotImplemented("llSetInventoryPermMask"); |
2629 | { | 2629 | } |
2630 | NotImplemented("llSetObjectPermMask"); | 2630 | |
2631 | } | 2631 | public string llGetInventoryCreator(string item) |
2632 | 2632 | { | |
2633 | public void llGetInventoryPermMask(string item, int mask) | 2633 | NotImplemented("llGetInventoryCreator"); |
2634 | { | 2634 | return ""; |
2635 | NotImplemented("llGetInventoryPermMask"); | 2635 | } |
2636 | } | 2636 | |
2637 | 2637 | public void llOwnerSay(string msg) | |
2638 | public void llSetInventoryPermMask(string item, int mask, int value) | 2638 | { |
2639 | { | 2639 | //temp fix so that lsl wiki examples aren't annoying to use to test other functions |
2640 | NotImplemented("llSetInventoryPermMask"); | 2640 | World.SimChat(Helpers.StringToField(msg), ChatTypeEnum.Say, 0, m_host.AbsolutePosition, m_host.Name, m_host.UUID); |
2641 | } | 2641 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); |
2642 | 2642 | wComm.DeliverMessage(m_host.UUID.ToString(), ChatTypeEnum.Say, 0, m_host.Name, msg); | |
2643 | public string llGetInventoryCreator(string item) | 2643 | } |
2644 | { | 2644 | |
2645 | NotImplemented("llGetInventoryCreator"); | 2645 | public void llRequestSimulatorData(string simulator, int data) |
2646 | return ""; | 2646 | { |
2647 | } | 2647 | NotImplemented("llRequestSimulatorData"); |
2648 | 2648 | } | |
2649 | public void llOwnerSay(string msg) | 2649 | |
2650 | { | 2650 | public void llForceMouselook(int mouselook) |
2651 | //temp fix so that lsl wiki examples aren't annoying to use to test other functions | 2651 | { |
2652 | World.SimChat(Helpers.StringToField(msg), ChatTypeEnum.Say, 0, m_host.AbsolutePosition, m_host.Name, m_host.UUID); | 2652 | NotImplemented("llForceMouselook"); |
2653 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); | 2653 | } |
2654 | wComm.DeliverMessage(m_host.UUID.ToString(), ChatTypeEnum.Say, 0, m_host.Name, msg); | 2654 | |
2655 | } | 2655 | public double llGetObjectMass(string id) |
2656 | 2656 | { | |
2657 | public void llRequestSimulatorData(string simulator, int data) | 2657 | NotImplemented("llGetObjectMass"); |
2658 | { | 2658 | return 0; |
2659 | NotImplemented("llRequestSimulatorData"); | 2659 | } |
2660 | } | 2660 | |
2661 | 2661 | public LSL_Types.list llListReplaceList(LSL_Types.list dest, LSL_Types.list src, int start, int end) | |
2662 | public void llForceMouselook(int mouselook) | 2662 | { |
2663 | { | 2663 | return dest.GetSublist(0, start - 1) + src + dest.GetSublist(end + 1, -1); |
2664 | NotImplemented("llForceMouselook"); | 2664 | } |
2665 | } | 2665 | |
2666 | 2666 | public void llLoadURL(string avatar_id, string message, string url) | |
2667 | public double llGetObjectMass(string id) | 2667 | { |
2668 | { | 2668 | LLUUID avatarId = new LLUUID(avatar_id); |
2669 | NotImplemented("llGetObjectMass"); | 2669 | m_ScriptEngine.World.SendUrlToUser(avatarId, m_host.Name, m_host.UUID, m_host.ObjectOwner, false, message, |
2670 | return 0; | 2670 | url); |
2671 | } | 2671 | } |
2672 | 2672 | ||
2673 | public LSL_Types.list llListReplaceList(LSL_Types.list dest, LSL_Types.list src, int start, int end) | 2673 | public void llParcelMediaCommandList(LSL_Types.list commandList) |
2674 | { | 2674 | { |
2675 | return dest.GetSublist(0, start - 1) + src + dest.GetSublist(end + 1, -1); | 2675 | NotImplemented("llParcelMediaCommandList"); |
2676 | } | 2676 | } |
2677 | 2677 | ||
2678 | public void llLoadURL(string avatar_id, string message, string url) | 2678 | public void llParcelMediaQuery() |
2679 | { | 2679 | { |
2680 | LLUUID avatarId = new LLUUID(avatar_id); | 2680 | NotImplemented("llParcelMediaQuery"); |
2681 | m_ScriptEngine.World.SendUrlToUser(avatarId, m_host.Name, m_host.UUID, m_host.ObjectOwner, false, message, | 2681 | } |
2682 | url); | 2682 | |
2683 | } | 2683 | public int llModPow(int a, int b, int c) |
2684 | 2684 | { | |
2685 | public void llParcelMediaCommandList(LSL_Types.list commandList) | 2685 | Int64 tmp = 0; |
2686 | { | 2686 | Int64 val = Math.DivRem(Convert.ToInt64(Math.Pow(a, b)), c, out tmp); |
2687 | NotImplemented("llParcelMediaCommandList"); | 2687 | return Convert.ToInt32(tmp); |
2688 | } | 2688 | } |
2689 | 2689 | ||
2690 | public void llParcelMediaQuery() | 2690 | public int llGetInventoryType(string name) |
2691 | { | 2691 | { |
2692 | NotImplemented("llParcelMediaQuery"); | 2692 | NotImplemented("llGetInventoryType"); |
2693 | } | 2693 | return 0; |
2694 | 2694 | } | |
2695 | public int llModPow(int a, int b, int c) | 2695 | |
2696 | { | 2696 | public void llSetPayPrice(int price, LSL_Types.list quick_pay_buttons) |
2697 | Int64 tmp = 0; | 2697 | { |
2698 | Int64 val = Math.DivRem(Convert.ToInt64(Math.Pow(a, b)), c, out tmp); | 2698 | NotImplemented("llSetPayPrice"); |
2699 | return Convert.ToInt32(tmp); | 2699 | } |
2700 | } | 2700 | |
2701 | 2701 | public LSL_Types.Vector3 llGetCameraPos() | |
2702 | public int llGetInventoryType(string name) | 2702 | { |
2703 | { | 2703 | NotImplemented("llGetCameraPos"); |
2704 | NotImplemented("llGetInventoryType"); | 2704 | return new LSL_Types.Vector3(); |
2705 | return 0; | 2705 | } |
2706 | } | 2706 | |
2707 | 2707 | public LSL_Types.Quaternion llGetCameraRot() | |
2708 | public void llSetPayPrice(int price, LSL_Types.list quick_pay_buttons) | 2708 | { |
2709 | { | 2709 | NotImplemented("llGetCameraRot"); |
2710 | NotImplemented("llSetPayPrice"); | 2710 | return new LSL_Types.Quaternion(); |
2711 | } | 2711 | } |
2712 | 2712 | ||
2713 | public LSL_Types.Vector3 llGetCameraPos() | 2713 | public void llSetPrimURL() |
2714 | { | 2714 | { |
2715 | NotImplemented("llGetCameraPos"); | 2715 | NotImplemented("llSetPrimURL"); |
2716 | return new LSL_Types.Vector3(); | 2716 | } |
2717 | } | 2717 | |
2718 | 2718 | public void llRefreshPrimURL() | |
2719 | public LSL_Types.Quaternion llGetCameraRot() | 2719 | { |
2720 | { | 2720 | NotImplemented("llRefreshPrimURL"); |
2721 | NotImplemented("llGetCameraRot"); | 2721 | } |
2722 | return new LSL_Types.Quaternion(); | 2722 | |
2723 | } | 2723 | public string llEscapeURL(string url) |
2724 | 2724 | { | |
2725 | public void llSetPrimURL() | 2725 | try |
2726 | { | 2726 | { |
2727 | NotImplemented("llSetPrimURL"); | 2727 | return Uri.EscapeUriString(url); |
2728 | } | 2728 | } |
2729 | 2729 | catch (Exception ex) | |
2730 | public void llRefreshPrimURL() | 2730 | { |
2731 | { | 2731 | return "llEscapeURL: " + ex.ToString(); |
2732 | NotImplemented("llRefreshPrimURL"); | 2732 | } |
2733 | } | 2733 | } |
2734 | 2734 | ||
2735 | public string llEscapeURL(string url) | 2735 | public string llUnescapeURL(string url) |
2736 | { | 2736 | { |
2737 | try | 2737 | try |
2738 | { | 2738 | { |
2739 | return Uri.EscapeUriString(url); | 2739 | return Uri.UnescapeDataString(url); |
2740 | } | 2740 | } |
2741 | catch (Exception ex) | 2741 | catch (Exception ex) |
2742 | { | 2742 | { |
2743 | return "llEscapeURL: " + ex.ToString(); | 2743 | return "llUnescapeURL: " + ex.ToString(); |
2744 | } | 2744 | } |
2745 | } | 2745 | } |
2746 | 2746 | ||
2747 | public string llUnescapeURL(string url) | 2747 | public void llMapDestination(string simname, LSL_Types.Vector3 pos, LSL_Types.Vector3 look_at) |
2748 | { | 2748 | { |
2749 | try | 2749 | NotImplemented("llMapDestination"); |
2750 | { | 2750 | } |
2751 | return Uri.UnescapeDataString(url); | 2751 | |
2752 | } | 2752 | public void llAddToLandBanList(string avatar, double hours) |
2753 | catch (Exception ex) | 2753 | { |
2754 | { | 2754 | NotImplemented("llAddToLandBanList"); |
2755 | return "llUnescapeURL: " + ex.ToString(); | 2755 | } |
2756 | } | 2756 | |
2757 | } | 2757 | public void llRemoveFromLandPassList(string avatar) |
2758 | 2758 | { | |
2759 | public void llMapDestination(string simname, LSL_Types.Vector3 pos, LSL_Types.Vector3 look_at) | 2759 | NotImplemented("llRemoveFromLandPassList"); |
2760 | { | 2760 | } |
2761 | NotImplemented("llMapDestination"); | 2761 | |
2762 | } | 2762 | public void llRemoveFromLandBanList(string avatar) |
2763 | 2763 | { | |
2764 | public void llAddToLandBanList(string avatar, double hours) | 2764 | NotImplemented("llRemoveFromLandBanList"); |
2765 | { | 2765 | } |
2766 | NotImplemented("llAddToLandBanList"); | 2766 | |
2767 | } | 2767 | public void llSetCameraParams(LSL_Types.list rules) |
2768 | 2768 | { | |
2769 | public void llRemoveFromLandPassList(string avatar) | 2769 | NotImplemented("llSetCameraParams"); |
2770 | { | 2770 | } |
2771 | NotImplemented("llRemoveFromLandPassList"); | 2771 | |
2772 | } | 2772 | public void llClearCameraParams() |
2773 | 2773 | { | |
2774 | public void llRemoveFromLandBanList(string avatar) | 2774 | NotImplemented("llClearCameraParams"); |
2775 | { | 2775 | } |
2776 | NotImplemented("llRemoveFromLandBanList"); | 2776 | |
2777 | } | 2777 | public double llListStatistics(int operation, LSL_Types.list src) |
2778 | 2778 | { | |
2779 | public void llSetCameraParams(LSL_Types.list rules) | 2779 | NotImplemented("llListStatistics"); |
2780 | { | 2780 | return 0; |
2781 | NotImplemented("llSetCameraParams"); | 2781 | } |
2782 | } | 2782 | |
2783 | 2783 | public int llGetUnixTime() | |
2784 | public void llClearCameraParams() | 2784 | { |
2785 | { | 2785 | return Util.UnixTimeSinceEpoch(); |
2786 | NotImplemented("llClearCameraParams"); | 2786 | } |
2787 | } | 2787 | |
2788 | 2788 | public int llGetParcelFlags(LSL_Types.Vector3 pos) | |
2789 | public double llListStatistics(int operation, LSL_Types.list src) | 2789 | { |
2790 | { | 2790 | NotImplemented("llGetParcelFlags"); |
2791 | NotImplemented("llListStatistics"); | 2791 | return 0; |
2792 | return 0; | 2792 | } |
2793 | } | 2793 | |
2794 | 2794 | public int llGetRegionFlags() | |
2795 | public int llGetUnixTime() | 2795 | { |
2796 | { | 2796 | NotImplemented("llGetRegionFlags"); |
2797 | return Util.UnixTimeSinceEpoch(); | 2797 | return 0; |
2798 | } | 2798 | } |
2799 | 2799 | ||
2800 | public int llGetParcelFlags(LSL_Types.Vector3 pos) | 2800 | public string llXorBase64StringsCorrect(string str1, string str2) |
2801 | { | 2801 | { |
2802 | NotImplemented("llGetParcelFlags"); | 2802 | string ret = ""; |
2803 | return 0; | 2803 | string src1 = llBase64ToString(str1); |
2804 | } | 2804 | string src2 = llBase64ToString(str2); |
2805 | 2805 | int c = 0; | |
2806 | public int llGetRegionFlags() | 2806 | for (int i = 0; i < src1.Length; i++) |
2807 | { | 2807 | { |
2808 | NotImplemented("llGetRegionFlags"); | 2808 | ret += src1[i] ^ src2[c]; |
2809 | return 0; | 2809 | |
2810 | } | 2810 | c++; |
2811 | 2811 | if (c > src2.Length) | |
2812 | public string llXorBase64StringsCorrect(string str1, string str2) | 2812 | c = 0; |
2813 | { | 2813 | } |
2814 | string ret = ""; | 2814 | return llStringToBase64(ret); |
2815 | string src1 = llBase64ToString(str1); | 2815 | } |
2816 | string src2 = llBase64ToString(str2); | 2816 | |
2817 | int c = 0; | 2817 | public string llHTTPRequest(string url, LSL_Types.list parameters, string body) |
2818 | for (int i = 0; i < src1.Length; i++) | 2818 | { |
2819 | { | 2819 | IHttpRequests httpScriptMod = |
2820 | ret += src1[i] ^ src2[c]; | 2820 | m_ScriptEngine.World.RequestModuleInterface<IHttpRequests>(); |
2821 | 2821 | List<string> param = new List<string>(); | |
2822 | c++; | 2822 | foreach (object o in parameters.Data) |
2823 | if (c > src2.Length) | 2823 | { |
2824 | c = 0; | 2824 | param.Add(o.ToString()); |
2825 | } | 2825 | } |
2826 | return llStringToBase64(ret); | 2826 | LLUUID reqID = httpScriptMod. |
2827 | } | 2827 | StartHttpRequest(m_localID, m_itemID, url, param, body); |
2828 | 2828 | ||
2829 | public string llHTTPRequest(string url, LSL_Types.list parameters, string body) | 2829 | if (!reqID.Equals(null)) |
2830 | { | 2830 | return reqID.ToString(); |
2831 | IHttpRequests httpScriptMod = | 2831 | else |
2832 | m_ScriptEngine.World.RequestModuleInterface<IHttpRequests>(); | 2832 | return null; |
2833 | List<string> param = new List<string>(); | 2833 | } |
2834 | foreach (object o in parameters.Data) | 2834 | |
2835 | { | 2835 | public void llResetLandBanList() |
2836 | param.Add(o.ToString()); | 2836 | { |
2837 | } | 2837 | NotImplemented("llResetLandBanList"); |
2838 | LLUUID reqID = httpScriptMod. | 2838 | } |
2839 | StartHttpRequest(m_localID, m_itemID, url, param, body); | 2839 | |
2840 | 2840 | public void llResetLandPassList() | |
2841 | if (!reqID.Equals(null)) | 2841 | { |
2842 | return reqID.ToString(); | 2842 | NotImplemented("llResetLandPassList"); |
2843 | else | 2843 | } |
2844 | return null; | 2844 | |
2845 | } | 2845 | public int llGetParcelPrimCount(LSL_Types.Vector3 pos, int category, int sim_wide) |
2846 | 2846 | { | |
2847 | public void llResetLandBanList() | 2847 | NotImplemented("llGetParcelPrimCount"); |
2848 | { | 2848 | return 0; |
2849 | NotImplemented("llResetLandBanList"); | 2849 | } |
2850 | } | 2850 | |
2851 | 2851 | public LSL_Types.list llGetParcelPrimOwners(LSL_Types.Vector3 pos) | |
2852 | public void llResetLandPassList() | 2852 | { |
2853 | { | 2853 | NotImplemented("llGetParcelPrimOwners"); |
2854 | NotImplemented("llResetLandPassList"); | 2854 | return new LSL_Types.list(); |
2855 | } | 2855 | } |
2856 | 2856 | ||
2857 | public int llGetParcelPrimCount(LSL_Types.Vector3 pos, int category, int sim_wide) | 2857 | public int llGetObjectPrimCount(string object_id) |
2858 | { | 2858 | { |
2859 | NotImplemented("llGetParcelPrimCount"); | 2859 | SceneObjectPart part = World.GetSceneObjectPart(new LLUUID(object_id)); |
2860 | return 0; | 2860 | if (part == null) |
2861 | } | 2861 | { |
2862 | 2862 | return 0; | |
2863 | public LSL_Types.list llGetParcelPrimOwners(LSL_Types.Vector3 pos) | 2863 | } |
2864 | { | 2864 | else |
2865 | NotImplemented("llGetParcelPrimOwners"); | 2865 | { |
2866 | return new LSL_Types.list(); | 2866 | return part.ParentGroup.Children.Count; |
2867 | } | 2867 | } |
2868 | 2868 | } | |
2869 | public int llGetObjectPrimCount(string object_id) | 2869 | |
2870 | { | 2870 | public int llGetParcelMaxPrims(LSL_Types.Vector3 pos, int sim_wide) |
2871 | SceneObjectPart part = World.GetSceneObjectPart(new LLUUID(object_id)); | 2871 | { |
2872 | if (part == null) | 2872 | // Alondria: This currently just is utilizing the normal grid's 0.22 prims/m2 calculation |
2873 | { | 2873 | // Which probably will be irrelevent in OpenSim.... |
2874 | return 0; | 2874 | LandData land = World.GetLandData((float)pos.x, (float)pos.y); |
2875 | } | 2875 | float bonusfactor = World.RegionInfo.EstateSettings.objectBonusFactor; |
2876 | else | 2876 | if (land == null) |
2877 | { | 2877 | { |
2878 | return part.ParentGroup.Children.Count; | 2878 | return 0; |
2879 | } | 2879 | } |
2880 | } | 2880 | if (sim_wide == 1) |
2881 | 2881 | { | |
2882 | public int llGetParcelMaxPrims(LSL_Types.Vector3 pos, int sim_wide) | 2882 | decimal v = land.simwideArea * (decimal)(0.22) * (decimal)bonusfactor; |
2883 | { | 2883 | return (int)v; |
2884 | // Alondria: This currently just is utilizing the normal grid's 0.22 prims/m2 calculation | 2884 | } |
2885 | // Which probably will be irrelevent in OpenSim.... | 2885 | else |
2886 | LandData land = World.GetLandData((float)pos.x, (float)pos.y); | 2886 | { |
2887 | float bonusfactor = World.RegionInfo.EstateSettings.objectBonusFactor; | 2887 | decimal v = land.area * (decimal)(0.22) * (decimal)bonusfactor; |
2888 | if (land == null) | 2888 | return (int)v; |
2889 | { | 2889 | } |
2890 | return 0; | 2890 | |
2891 | } | 2891 | } |
2892 | if (sim_wide == 1) | 2892 | |
2893 | { | 2893 | public LSL_Types.list llGetParcelDetails(LSL_Types.Vector3 pos, LSL_Types.list param) |
2894 | decimal v = land.simwideArea * (decimal)(0.22) * (decimal)bonusfactor; | 2894 | { |
2895 | return (int)v; | 2895 | LandData land = World.GetLandData((float)pos.x, (float)pos.y); |
2896 | } | 2896 | if (land == null) |
2897 | else | 2897 | { |
2898 | { | 2898 | return new LSL_Types.list(0); |
2899 | decimal v = land.area * (decimal)(0.22) * (decimal)bonusfactor; | 2899 | } |
2900 | return (int)v; | 2900 | LSL_Types.list ret = new LSL_Types.list(); |
2901 | } | 2901 | foreach (object o in param.Data) |
2902 | 2902 | { | |
2903 | } | 2903 | switch (o.ToString()) |
2904 | 2904 | { | |
2905 | public LSL_Types.list llGetParcelDetails(LSL_Types.Vector3 pos, LSL_Types.list param) | 2905 | case "0": |
2906 | { | 2906 | ret = ret + new LSL_Types.list(land.landName); |
2907 | LandData land = World.GetLandData((float)pos.x, (float)pos.y); | 2907 | break; |
2908 | if (land == null) | 2908 | case "1": |
2909 | { | 2909 | ret = ret + new LSL_Types.list(land.landDesc); |
2910 | return new LSL_Types.list(0); | 2910 | break; |
2911 | } | 2911 | case "2": |
2912 | LSL_Types.list ret = new LSL_Types.list(); | 2912 | ret = ret + new LSL_Types.list(land.ownerID.ToString()); |
2913 | foreach (object o in param.Data) | 2913 | break; |
2914 | { | 2914 | case "3": |
2915 | switch (o.ToString()) | 2915 | ret = ret + new LSL_Types.list(land.groupID.ToString()); |
2916 | { | 2916 | break; |
2917 | case "0": | 2917 | case "4": |
2918 | ret = ret + new LSL_Types.list(land.landName); | 2918 | ret = ret + new LSL_Types.list(land.area); |
2919 | break; | 2919 | break; |
2920 | case "1": | 2920 | default: |
2921 | ret = ret + new LSL_Types.list(land.landDesc); | 2921 | ret = ret + new LSL_Types.list(0); |
2922 | break; | 2922 | break; |
2923 | case "2": | 2923 | } |
2924 | ret = ret + new LSL_Types.list(land.ownerID.ToString()); | 2924 | } |
2925 | break; | 2925 | return ret; |
2926 | case "3": | 2926 | } |
2927 | ret = ret + new LSL_Types.list(land.groupID.ToString()); | 2927 | |
2928 | break; | 2928 | // |
2929 | case "4": | 2929 | // OpenSim functions |
2930 | ret = ret + new LSL_Types.list(land.area); | 2930 | // |
2931 | break; | 2931 | public int osTerrainSetHeight(int x, int y, double val) |
2932 | default: | 2932 | { |
2933 | ret = ret + new LSL_Types.list(0); | 2933 | if (x > 255 || x < 0 || y > 255 || y < 0) |
2934 | break; | 2934 | LSLError("osTerrainSetHeight: Coordinate out of bounds"); |
2935 | } | 2935 | |
2936 | } | 2936 | if (World.PermissionsMngr.CanTerraform(m_host.OwnerID, new LLVector3(x, y, 0))) |
2937 | return ret; | 2937 | { |
2938 | } | 2938 | World.Terrain.Set(x, y, val); |
2939 | 2939 | return 1; | |
2940 | // | 2940 | } |
2941 | // OpenSim functions | 2941 | else |
2942 | // | 2942 | { |
2943 | public int osTerrainSetHeight(int x, int y, double val) | 2943 | return 0; |
2944 | { | 2944 | } |
2945 | if (x > 255 || x < 0 || y > 255 || y < 0) | 2945 | } |
2946 | LSLError("osTerrainSetHeight: Coordinate out of bounds"); | 2946 | |
2947 | 2947 | public double osTerrainGetHeight(int x, int y) | |
2948 | if (World.PermissionsMngr.CanTerraform(m_host.OwnerID, new LLVector3(x, y, 0))) | 2948 | { |
2949 | { | 2949 | if (x > 255 || x < 0 || y > 255 || y < 0) |
2950 | World.Terrain.Set(x, y, val); | 2950 | LSLError("osTerrainGetHeight: Coordinate out of bounds"); |
2951 | return 1; | 2951 | |
2952 | } | 2952 | return World.Terrain.GetHeight(x, y); |
2953 | else | 2953 | } |
2954 | { | 2954 | |
2955 | return 0; | 2955 | public int osRegionRestart(double seconds) |
2956 | } | 2956 | { |
2957 | } | 2957 | if (World.PermissionsMngr.CanRestartSim(m_host.OwnerID)) |
2958 | 2958 | { | |
2959 | public double osTerrainGetHeight(int x, int y) | 2959 | World.Restart((float)seconds); |
2960 | { | 2960 | return 1; |
2961 | if (x > 255 || x < 0 || y > 255 || y < 0) | 2961 | } |
2962 | LSLError("osTerrainGetHeight: Coordinate out of bounds"); | 2962 | else |
2963 | 2963 | { | |
2964 | return World.Terrain.GetHeight(x, y); | 2964 | return 0; |
2965 | } | 2965 | } |
2966 | 2966 | } | |
2967 | public int osRegionRestart(double seconds) | 2967 | |
2968 | { | 2968 | public void osRegionNotice(string msg) |
2969 | if (World.PermissionsMngr.CanRestartSim(m_host.OwnerID)) | 2969 | { |
2970 | { | 2970 | World.SendGeneralAlert(msg); |
2971 | World.Restart((float)seconds); | 2971 | } |
2972 | return 1; | 2972 | |
2973 | } | 2973 | public string osSetDynamicTextureURL(string dynamicID, string contentType, string url, string extraParams, |
2974 | else | 2974 | int timer) |
2975 | { | 2975 | { |
2976 | return 0; | 2976 | if (dynamicID == "") |
2977 | } | 2977 | { |
2978 | } | 2978 | IDynamicTextureManager textureManager = World.RequestModuleInterface<IDynamicTextureManager>(); |
2979 | 2979 | LLUUID createdTexture = | |
2980 | public void osRegionNotice(string msg) | 2980 | textureManager.AddDynamicTextureURL(World.RegionInfo.RegionID, m_host.UUID, contentType, url, |
2981 | { | 2981 | extraParams, timer); |
2982 | World.SendGeneralAlert(msg); | 2982 | return createdTexture.ToString(); |
2983 | } | 2983 | } |
2984 | 2984 | else | |
2985 | public string osSetDynamicTextureURL(string dynamicID, string contentType, string url, string extraParams, | 2985 | { |
2986 | int timer) | 2986 | //TODO update existing dynamic textures |
2987 | { | 2987 | } |
2988 | if (dynamicID == "") | 2988 | |
2989 | { | 2989 | return LLUUID.Zero.ToString(); |
2990 | IDynamicTextureManager textureManager = World.RequestModuleInterface<IDynamicTextureManager>(); | 2990 | } |
2991 | LLUUID createdTexture = | 2991 | |
2992 | textureManager.AddDynamicTextureURL(World.RegionInfo.RegionID, m_host.UUID, contentType, url, | 2992 | private void NotImplemented(string Command) |
2993 | extraParams, timer); | 2993 | { |
2994 | return createdTexture.ToString(); | 2994 | if (throwErrorOnNotImplemented) |
2995 | } | 2995 | throw new NotImplementedException("Command not implemented: " + Command); |
2996 | else | 2996 | } |
2997 | { | 2997 | |
2998 | //TODO update existing dynamic textures | 2998 | private void LSLError(string msg) |
2999 | } | 2999 | { |
3000 | 3000 | throw new Exception("LSL Runtime Error: " + msg); | |
3001 | return LLUUID.Zero.ToString(); | 3001 | } |
3002 | } | 3002 | } |
3003 | 3003 | } \ No newline at end of file | |
3004 | private void NotImplemented(string Command) | ||
3005 | { | ||
3006 | if (throwErrorOnNotImplemented) | ||
3007 | throw new NotImplementedException("Command not implemented: " + Command); | ||
3008 | } | ||
3009 | |||
3010 | private void LSLError(string msg) | ||
3011 | { | ||
3012 | throw new Exception("LSL Runtime Error: " + msg); | ||
3013 | } | ||
3014 | } | ||
3015 | } | ||
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs index 441c952..9cd22e2 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs | |||
@@ -58,10 +58,10 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL | |||
58 | { | 58 | { |
59 | case ".txt": | 59 | case ".txt": |
60 | case ".lsl": | 60 | case ".lsl": |
61 | Common.SendToDebug("Source code is LSL, converting to CS"); | 61 | Common.ScriptEngineBase.Common.SendToDebug("Source code is LSL, converting to CS"); |
62 | return CompileFromLSLText(File.ReadAllText(LSOFileName)); | 62 | return CompileFromLSLText(File.ReadAllText(LSOFileName)); |
63 | case ".cs": | 63 | case ".cs": |
64 | Common.SendToDebug("Source code is CS"); | 64 | Common.ScriptEngineBase.Common.SendToDebug("Source code is CS"); |
65 | return CompileFromCSText(File.ReadAllText(LSOFileName)); | 65 | return CompileFromCSText(File.ReadAllText(LSOFileName)); |
66 | default: | 66 | default: |
67 | throw new Exception("Unknown script type."); | 67 | throw new Exception("Unknown script type."); |
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL2CSConverter.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL2CSConverter.cs index dfdf8f4..724d8f5 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL2CSConverter.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL2CSConverter.cs | |||
@@ -313,7 +313,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL | |||
313 | "namespace SecondLife { "; | 313 | "namespace SecondLife { "; |
314 | Return += "" + | 314 | Return += "" + |
315 | //"[Serializable] " + | 315 | //"[Serializable] " + |
316 | "public class Script : OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL.LSL_BaseClass { "; | 316 | "public class Script : OpenSim.Region.ScriptEngine.Common.LSL_BaseClass { "; |
317 | Return += @"public Script() { } "; | 317 | Return += @"public Script() { } "; |
318 | Return += Script; | 318 | Return += Script; |
319 | Return += "} }\r\n"; | 319 | Return += "} }\r\n"; |