diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API')
-rw-r--r-- | OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs | 1810 |
1 files changed, 1437 insertions, 373 deletions
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs index b94cf90..737dee6 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs | |||
@@ -26,19 +26,18 @@ | |||
26 | * | 26 | * |
27 | */ | 27 | */ |
28 | 28 | ||
29 | using Axiom.Math; | ||
30 | using System; | 29 | using System; |
31 | using System.Collections.Generic; | 30 | using System.Collections.Generic; |
31 | using System.Runtime.Remoting.Lifetime; | ||
32 | using System.Text; | 32 | using System.Text; |
33 | using System.Threading; | ||
34 | using Axiom.Math; | ||
33 | using libsecondlife; | 35 | using libsecondlife; |
34 | using OpenSim.Region.Environment.Scenes; | 36 | using OpenSim.Framework; |
35 | using OpenSim.Region.Environment.Scenes.Scripting; | ||
36 | using OpenSim.Region.Environment.Interfaces; | 37 | using OpenSim.Region.Environment.Interfaces; |
37 | using OpenSim.Region.ScriptEngine.DotNetEngine.Compiler; | 38 | using OpenSim.Region.Environment.Scenes; |
38 | using OpenSim.Region.ScriptEngine.Common; | 39 | using OpenSim.Region.ScriptEngine.Common; |
39 | using OpenSim.Framework.Console; | 40 | using OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL; |
40 | using OpenSim.Framework; | ||
41 | using System.Runtime.Remoting.Lifetime; | ||
42 | 41 | ||
43 | namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | 42 | namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler |
44 | { | 43 | { |
@@ -53,8 +52,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
53 | /// </summary> | 52 | /// </summary> |
54 | public class LSL_BuiltIn_Commands : MarshalByRefObject, LSL_BuiltIn_Commands_Interface | 53 | public class LSL_BuiltIn_Commands : MarshalByRefObject, LSL_BuiltIn_Commands_Interface |
55 | { | 54 | { |
56 | 55 | private ASCIIEncoding enc = new ASCIIEncoding(); | |
57 | private System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding(); | ||
58 | private ScriptEngine m_ScriptEngine; | 56 | private ScriptEngine m_ScriptEngine; |
59 | private SceneObjectPart m_host; | 57 | private SceneObjectPart m_host; |
60 | private uint m_localID; | 58 | private uint m_localID; |
@@ -86,7 +84,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
86 | { | 84 | { |
87 | //Console.WriteLine("LSL_BuiltIn_Commands: InitializeLifetimeService()"); | 85 | //Console.WriteLine("LSL_BuiltIn_Commands: InitializeLifetimeService()"); |
88 | // return null; | 86 | // return null; |
89 | ILease lease = (ILease)base.InitializeLifetimeService(); | 87 | ILease lease = (ILease) base.InitializeLifetimeService(); |
90 | 88 | ||
91 | if (lease.CurrentState == LeaseState.Initial) | 89 | if (lease.CurrentState == LeaseState.Initial) |
92 | { | 90 | { |
@@ -105,79 +103,130 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
105 | 103 | ||
106 | //These are the implementations of the various ll-functions used by the LSL scripts. | 104 | //These are the implementations of the various ll-functions used by the LSL scripts. |
107 | //starting out, we use the System.Math library for trig functions. - ckrinke 8-14-07 | 105 | //starting out, we use the System.Math library for trig functions. - ckrinke 8-14-07 |
108 | public double llSin(double f) { return (double)Math.Sin(f); } | 106 | public double llSin(double f) |
109 | public double llCos(double f) { return (double)Math.Cos(f); } | 107 | { |
110 | public double llTan(double f) { return (double)Math.Tan(f); } | 108 | return (double) Math.Sin(f); |
111 | public double llAtan2(double x, double y) { return (double)Math.Atan2(y, x); } | 109 | } |
112 | public double llSqrt(double f) { return (double)Math.Sqrt(f); } | 110 | |
113 | public double llPow(double fbase, double fexponent) { return (double)Math.Pow(fbase, fexponent); } | 111 | public double llCos(double f) |
114 | public int llAbs(int i) { return (int)Math.Abs(i); } | 112 | { |
115 | public double llFabs(double f) { return (double)Math.Abs(f); } | 113 | return (double) Math.Cos(f); |
114 | } | ||
115 | |||
116 | public double llTan(double f) | ||
117 | { | ||
118 | return (double) Math.Tan(f); | ||
119 | } | ||
120 | |||
121 | public double llAtan2(double x, double y) | ||
122 | { | ||
123 | return (double) Math.Atan2(y, x); | ||
124 | } | ||
125 | |||
126 | public double llSqrt(double f) | ||
127 | { | ||
128 | return (double) Math.Sqrt(f); | ||
129 | } | ||
130 | |||
131 | public double llPow(double fbase, double fexponent) | ||
132 | { | ||
133 | return (double) Math.Pow(fbase, fexponent); | ||
134 | } | ||
135 | |||
136 | public int llAbs(int i) | ||
137 | { | ||
138 | return (int) Math.Abs(i); | ||
139 | } | ||
140 | |||
141 | public double llFabs(double f) | ||
142 | { | ||
143 | return (double) Math.Abs(f); | ||
144 | } | ||
116 | 145 | ||
117 | public double llFrand(double mag) | 146 | public double llFrand(double mag) |
118 | { | 147 | { |
119 | lock (Util.RandomClass) | 148 | lock (Util.RandomClass) |
120 | { | 149 | { |
121 | return Util.RandomClass.Next((int)mag); | 150 | return Util.RandomClass.Next((int) mag); |
122 | } | 151 | } |
123 | } | 152 | } |
124 | 153 | ||
125 | public int llFloor(double f) { return (int)Math.Floor(f); } | 154 | public int llFloor(double f) |
126 | public int llCeil(double f) { return (int)Math.Ceiling(f); } | 155 | { |
127 | public int llRound(double f) { return (int)Math.Round(f, 3); } | 156 | return (int) Math.Floor(f); |
157 | } | ||
158 | |||
159 | public int llCeil(double f) | ||
160 | { | ||
161 | return (int) Math.Ceiling(f); | ||
162 | } | ||
163 | |||
164 | public int llRound(double f) | ||
165 | { | ||
166 | return (int) Math.Round(f, 3); | ||
167 | } | ||
128 | 168 | ||
129 | //This next group are vector operations involving squaring and square root. ckrinke | 169 | //This next group are vector operations involving squaring and square root. ckrinke |
130 | public double llVecMag(LSL_Types.Vector3 v) | 170 | public double llVecMag(LSL_Types.Vector3 v) |
131 | { | 171 | { |
132 | return (v.X * v.X + v.Y * v.Y + v.Z * v.Z); | 172 | return (v.X*v.X + v.Y*v.Y + v.Z*v.Z); |
133 | } | 173 | } |
134 | 174 | ||
135 | public LSL_Types.Vector3 llVecNorm(LSL_Types.Vector3 v) | 175 | public LSL_Types.Vector3 llVecNorm(LSL_Types.Vector3 v) |
136 | { | 176 | { |
137 | double mag = v.X * v.X + v.Y * v.Y + v.Z * v.Z; | 177 | double mag = v.X*v.X + v.Y*v.Y + v.Z*v.Z; |
138 | LSL_Types.Vector3 nor = new LSL_Types.Vector3(); | 178 | LSL_Types.Vector3 nor = new LSL_Types.Vector3(); |
139 | nor.X = v.X / mag; nor.Y = v.Y / mag; nor.Z = v.Z / mag; | 179 | nor.X = v.X/mag; |
180 | nor.Y = v.Y/mag; | ||
181 | nor.Z = v.Z/mag; | ||
140 | return nor; | 182 | return nor; |
141 | } | 183 | } |
142 | 184 | ||
143 | public double llVecDist(LSL_Types.Vector3 a, LSL_Types.Vector3 b) | 185 | public double llVecDist(LSL_Types.Vector3 a, LSL_Types.Vector3 b) |
144 | { | 186 | { |
145 | double dx = a.X - b.X; double dy = a.Y - b.Y; double dz = a.Z - b.Z; | 187 | double dx = a.X - b.X; |
146 | return Math.Sqrt(dx * dx + dy * dy + dz * dz); | 188 | double dy = a.Y - b.Y; |
189 | double dz = a.Z - b.Z; | ||
190 | return Math.Sqrt(dx*dx + dy*dy + dz*dz); | ||
147 | } | 191 | } |
148 | 192 | ||
149 | //Now we start getting into quaternions which means sin/cos, matrices and vectors. ckrinke | 193 | //Now we start getting into quaternions which means sin/cos, matrices and vectors. ckrinke |
150 | public LSL_Types.Vector3 llRot2Euler(LSL_Types.Quaternion r) | 194 | public LSL_Types.Vector3 llRot2Euler(LSL_Types.Quaternion r) |
151 | { | 195 | { |
152 | //This implementation is from http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions. ckrinke | 196 | //This implementation is from http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions. ckrinke |
153 | LSL_Types.Quaternion t = new LSL_Types.Quaternion(r.X * r.X, r.Y * r.Y, r.Z * r.Z, r.R * r.R); | 197 | LSL_Types.Quaternion t = new LSL_Types.Quaternion(r.X*r.X, r.Y*r.Y, r.Z*r.Z, r.R*r.R); |
154 | double m = (t.X + t.Y + t.Z + t.R); | 198 | double m = (t.X + t.Y + t.Z + t.R); |
155 | if (m == 0) return new LSL_Types.Vector3(); | 199 | if (m == 0) return new LSL_Types.Vector3(); |
156 | double n = 2 * (r.Y * r.R + r.X * r.Z); | 200 | double n = 2*(r.Y*r.R + r.X*r.Z); |
157 | double p = m * m - n * n; | 201 | double p = m*m - n*n; |
158 | if (p > 0) | 202 | if (p > 0) |
159 | return new LSL_Types.Vector3(Math.Atan2(2.0 * (r.X * r.R - r.Y * r.Z), (-t.X - t.Y + t.Z + t.R)), | 203 | return new LSL_Types.Vector3(Math.Atan2(2.0*(r.X*r.R - r.Y*r.Z), (-t.X - t.Y + t.Z + t.R)), |
160 | Math.Atan2(n, Math.Sqrt(p)), Math.Atan2(2.0 * (r.Z * r.R - r.X * r.Y), (t.X - t.Y - t.Z + t.R))); | 204 | Math.Atan2(n, Math.Sqrt(p)), |
205 | Math.Atan2(2.0*(r.Z*r.R - r.X*r.Y), (t.X - t.Y - t.Z + t.R))); | ||
161 | else if (n > 0) | 206 | else if (n > 0) |
162 | return new LSL_Types.Vector3(0.0, Math.PI / 2, Math.Atan2((r.Z * r.R + r.X * r.Y), 0.5 - t.X - t.Z)); | 207 | return new LSL_Types.Vector3(0.0, Math.PI/2, Math.Atan2((r.Z*r.R + r.X*r.Y), 0.5 - t.X - t.Z)); |
163 | else | 208 | else |
164 | return new LSL_Types.Vector3(0.0, -Math.PI / 2, Math.Atan2((r.Z * r.R + r.X * r.Y), 0.5 - t.X - t.Z)); | 209 | return new LSL_Types.Vector3(0.0, -Math.PI/2, Math.Atan2((r.Z*r.R + r.X*r.Y), 0.5 - t.X - t.Z)); |
165 | } | 210 | } |
166 | 211 | ||
167 | public LSL_Types.Quaternion llEuler2Rot(LSL_Types.Vector3 v) | 212 | public LSL_Types.Quaternion llEuler2Rot(LSL_Types.Vector3 v) |
168 | { | 213 | { |
169 | //this comes from from http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions but is incomplete as of 8/19/07 | 214 | //this comes from from http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions but is incomplete as of 8/19/07 |
170 | float err = 0.00001f; | 215 | float err = 0.00001f; |
171 | double ax = Math.Sin(v.X / 2); double aw = Math.Cos(v.X / 2); | 216 | double ax = Math.Sin(v.X/2); |
172 | double by = Math.Sin(v.Y / 2); double bw = Math.Cos(v.Y / 2); | 217 | double aw = Math.Cos(v.X/2); |
173 | double cz = Math.Sin(v.Z / 2); double cw = Math.Cos(v.Z / 2); | 218 | double by = Math.Sin(v.Y/2); |
219 | double bw = Math.Cos(v.Y/2); | ||
220 | double cz = Math.Sin(v.Z/2); | ||
221 | double cw = Math.Cos(v.Z/2); | ||
174 | LSL_Types.Quaternion a1 = new LSL_Types.Quaternion(0.0, 0.0, cz, cw); | 222 | LSL_Types.Quaternion a1 = new LSL_Types.Quaternion(0.0, 0.0, cz, cw); |
175 | LSL_Types.Quaternion a2 = new LSL_Types.Quaternion(0.0, by, 0.0, bw); | 223 | LSL_Types.Quaternion a2 = new LSL_Types.Quaternion(0.0, by, 0.0, bw); |
176 | LSL_Types.Quaternion a3 = new LSL_Types.Quaternion(ax, 0.0, 0.0, aw); | 224 | LSL_Types.Quaternion a3 = new LSL_Types.Quaternion(ax, 0.0, 0.0, aw); |
177 | LSL_Types.Quaternion a = new LSL_Types.Quaternion(); | 225 | LSL_Types.Quaternion a = new LSL_Types.Quaternion(); |
178 | //This multiplication doesnt compile, yet. a = a1 * a2 * a3; | 226 | //This multiplication doesnt compile, yet. a = a1 * a2 * a3; |
179 | LSL_Types.Quaternion b = new LSL_Types.Quaternion(ax * bw * cw + aw * by * cz, | 227 | LSL_Types.Quaternion b = new LSL_Types.Quaternion(ax*bw*cw + aw*by*cz, |
180 | aw * by * cw - ax * bw * cz, aw * bw * cz + ax * by * cw, aw * bw * cw - ax * by * cz); | 228 | aw*by*cw - ax*bw*cz, aw*bw*cz + ax*by*cw, |
229 | aw*bw*cw - ax*by*cz); | ||
181 | LSL_Types.Quaternion c = new LSL_Types.Quaternion(); | 230 | LSL_Types.Quaternion c = new LSL_Types.Quaternion(); |
182 | //This addition doesnt compile yet c = a + b; | 231 | //This addition doesnt compile yet c = a + b; |
183 | LSL_Types.Quaternion d = new LSL_Types.Quaternion(); | 232 | LSL_Types.Quaternion d = new LSL_Types.Quaternion(); |
@@ -194,11 +243,30 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
194 | return new LSL_Types.Quaternion(); | 243 | return new LSL_Types.Quaternion(); |
195 | } | 244 | } |
196 | 245 | ||
197 | public LSL_Types.Quaternion llAxes2Rot(LSL_Types.Vector3 fwd, LSL_Types.Vector3 left, LSL_Types.Vector3 up) { return new LSL_Types.Quaternion(); } | 246 | public LSL_Types.Quaternion llAxes2Rot(LSL_Types.Vector3 fwd, LSL_Types.Vector3 left, LSL_Types.Vector3 up) |
198 | public LSL_Types.Vector3 llRot2Fwd(LSL_Types.Quaternion r) { return new LSL_Types.Vector3(); } | 247 | { |
199 | public LSL_Types.Vector3 llRot2Left(LSL_Types.Quaternion r) { return new LSL_Types.Vector3(); } | 248 | return new LSL_Types.Quaternion(); |
200 | public LSL_Types.Vector3 llRot2Up(LSL_Types.Quaternion r) { return new LSL_Types.Vector3(); } | 249 | } |
201 | public LSL_Types.Quaternion llRotBetween(LSL_Types.Vector3 start, LSL_Types.Vector3 end) { return new LSL_Types.Quaternion(); } | 250 | |
251 | public LSL_Types.Vector3 llRot2Fwd(LSL_Types.Quaternion r) | ||
252 | { | ||
253 | return new LSL_Types.Vector3(); | ||
254 | } | ||
255 | |||
256 | public LSL_Types.Vector3 llRot2Left(LSL_Types.Quaternion r) | ||
257 | { | ||
258 | return new LSL_Types.Vector3(); | ||
259 | } | ||
260 | |||
261 | public LSL_Types.Vector3 llRot2Up(LSL_Types.Quaternion r) | ||
262 | { | ||
263 | return new LSL_Types.Vector3(); | ||
264 | } | ||
265 | |||
266 | public LSL_Types.Quaternion llRotBetween(LSL_Types.Vector3 start, LSL_Types.Vector3 end) | ||
267 | { | ||
268 | return new LSL_Types.Quaternion(); | ||
269 | } | ||
202 | 270 | ||
203 | public void llWhisper(int channelID, string text) | 271 | public void llWhisper(int channelID, string text) |
204 | { | 272 | { |
@@ -214,7 +282,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
214 | { | 282 | { |
215 | //type for say is 1 | 283 | //type for say is 1 |
216 | World.SimChat(Helpers.StringToField(text), | 284 | World.SimChat(Helpers.StringToField(text), |
217 | 1, channelID, m_host.AbsolutePosition, m_host.Name, m_host.UUID); | 285 | 1, channelID, m_host.AbsolutePosition, m_host.Name, m_host.UUID); |
218 | 286 | ||
219 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); | 287 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); |
220 | wComm.DeliverMessage(m_host.UUID.ToString(), 1, channelID, m_host.Name, text); | 288 | wComm.DeliverMessage(m_host.UUID.ToString(), 1, channelID, m_host.Name, text); |
@@ -230,82 +298,217 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
230 | wComm.DeliverMessage(m_host.UUID.ToString(), 2, channelID, m_host.Name, text); | 298 | wComm.DeliverMessage(m_host.UUID.ToString(), 2, channelID, m_host.Name, text); |
231 | } | 299 | } |
232 | 300 | ||
233 | public int llListen(int channelID, string name, string ID, string msg) { | 301 | public int llListen(int channelID, string name, string ID, string msg) |
234 | 302 | { | |
235 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); | 303 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); |
236 | return wComm.Listen(m_localID, m_itemID, m_host.UUID, channelID, name, ID, msg); | 304 | return wComm.Listen(m_localID, m_itemID, m_host.UUID, channelID, name, ID, msg); |
237 | |||
238 | } | 305 | } |
239 | 306 | ||
240 | public void llListenControl(int number, int active) { | 307 | public void llListenControl(int number, int active) |
241 | 308 | { | |
242 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); | 309 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); |
243 | wComm.ListenControl(number, active); | 310 | wComm.ListenControl(number, active); |
244 | |||
245 | } | 311 | } |
246 | 312 | ||
247 | public void llListenRemove(int number) { | 313 | public void llListenRemove(int number) |
248 | 314 | { | |
249 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); | 315 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); |
250 | wComm.ListenRemove(number); | 316 | wComm.ListenRemove(number); |
251 | 317 | } | |
252 | } | 318 | |
253 | 319 | public void llSensor(string name, string id, int type, double range, double arc) | |
254 | public void llSensor(string name, string id, int type, double range, double arc) { NotImplemented("llSensor"); return; } | 320 | { |
255 | public void llSensorRepeat(string name, string id, int type, double range, double arc, double rate) { NotImplemented("llSensorRepeat"); return; } | 321 | NotImplemented("llSensor"); |
256 | public void llSensorRemove() { NotImplemented("llSensorRemove"); return; } | 322 | return; |
257 | public string llDetectedName(int number) { NotImplemented("llDetectedName"); return ""; } | 323 | } |
258 | public string llDetectedKey(int number) { NotImplemented("llDetectedKey"); return ""; } | 324 | |
259 | public string llDetectedOwner(int number) { NotImplemented("llDetectedOwner"); return ""; } | 325 | public void llSensorRepeat(string name, string id, int type, double range, double arc, double rate) |
260 | public int llDetectedType(int number) { NotImplemented("llDetectedType"); return 0; } | 326 | { |
261 | public LSL_Types.Vector3 llDetectedPos(int number) { NotImplemented("llDetectedPos"); return new LSL_Types.Vector3(); } | 327 | NotImplemented("llSensorRepeat"); |
262 | public LSL_Types.Vector3 llDetectedVel(int number) { NotImplemented("llDetectedVel"); return new LSL_Types.Vector3(); } | 328 | return; |
263 | public LSL_Types.Vector3 llDetectedGrab(int number) { NotImplemented("llDetectedGrab"); return new LSL_Types.Vector3(); } | 329 | } |
264 | public LSL_Types.Quaternion llDetectedRot(int number) { NotImplemented("llDetectedRot"); return new LSL_Types.Quaternion(); } | 330 | |
265 | public int llDetectedGroup(int number) { NotImplemented("llDetectedGroup"); return 0; } | 331 | public void llSensorRemove() |
266 | public int llDetectedLinkNumber(int number) { NotImplemented("llDetectedLinkNumber"); return 0; } | 332 | { |
267 | public void llDie() { NotImplemented("llDie"); return; } | 333 | NotImplemented("llSensorRemove"); |
268 | public double llGround(LSL_Types.Vector3 offset) { NotImplemented("llGround"); return 0; } | 334 | return; |
269 | public double llCloud(LSL_Types.Vector3 offset) { NotImplemented("llCloud"); return 0; } | 335 | } |
270 | public LSL_Types.Vector3 llWind(LSL_Types.Vector3 offset) { NotImplemented("llWind"); return new LSL_Types.Vector3(); } | 336 | |
271 | public void llSetStatus(int status, int value) { NotImplemented("llSetStatus"); return; } | 337 | public string llDetectedName(int number) |
272 | public int llGetStatus(int status) { NotImplemented("llGetStatus"); return 0; } | 338 | { |
339 | NotImplemented("llDetectedName"); | ||
340 | return ""; | ||
341 | } | ||
342 | |||
343 | public string llDetectedKey(int number) | ||
344 | { | ||
345 | NotImplemented("llDetectedKey"); | ||
346 | return ""; | ||
347 | } | ||
348 | |||
349 | public string llDetectedOwner(int number) | ||
350 | { | ||
351 | NotImplemented("llDetectedOwner"); | ||
352 | return ""; | ||
353 | } | ||
354 | |||
355 | public int llDetectedType(int number) | ||
356 | { | ||
357 | NotImplemented("llDetectedType"); | ||
358 | return 0; | ||
359 | } | ||
360 | |||
361 | public LSL_Types.Vector3 llDetectedPos(int number) | ||
362 | { | ||
363 | NotImplemented("llDetectedPos"); | ||
364 | return new LSL_Types.Vector3(); | ||
365 | } | ||
366 | |||
367 | public LSL_Types.Vector3 llDetectedVel(int number) | ||
368 | { | ||
369 | NotImplemented("llDetectedVel"); | ||
370 | return new LSL_Types.Vector3(); | ||
371 | } | ||
372 | |||
373 | public LSL_Types.Vector3 llDetectedGrab(int number) | ||
374 | { | ||
375 | NotImplemented("llDetectedGrab"); | ||
376 | return new LSL_Types.Vector3(); | ||
377 | } | ||
378 | |||
379 | public LSL_Types.Quaternion llDetectedRot(int number) | ||
380 | { | ||
381 | NotImplemented("llDetectedRot"); | ||
382 | return new LSL_Types.Quaternion(); | ||
383 | } | ||
384 | |||
385 | public int llDetectedGroup(int number) | ||
386 | { | ||
387 | NotImplemented("llDetectedGroup"); | ||
388 | return 0; | ||
389 | } | ||
390 | |||
391 | public int llDetectedLinkNumber(int number) | ||
392 | { | ||
393 | NotImplemented("llDetectedLinkNumber"); | ||
394 | return 0; | ||
395 | } | ||
396 | |||
397 | public void llDie() | ||
398 | { | ||
399 | NotImplemented("llDie"); | ||
400 | return; | ||
401 | } | ||
402 | |||
403 | public double llGround(LSL_Types.Vector3 offset) | ||
404 | { | ||
405 | NotImplemented("llGround"); | ||
406 | return 0; | ||
407 | } | ||
408 | |||
409 | public double llCloud(LSL_Types.Vector3 offset) | ||
410 | { | ||
411 | NotImplemented("llCloud"); | ||
412 | return 0; | ||
413 | } | ||
414 | |||
415 | public LSL_Types.Vector3 llWind(LSL_Types.Vector3 offset) | ||
416 | { | ||
417 | NotImplemented("llWind"); | ||
418 | return new LSL_Types.Vector3(); | ||
419 | } | ||
420 | |||
421 | public void llSetStatus(int status, int value) | ||
422 | { | ||
423 | NotImplemented("llSetStatus"); | ||
424 | return; | ||
425 | } | ||
426 | |||
427 | public int llGetStatus(int status) | ||
428 | { | ||
429 | NotImplemented("llGetStatus"); | ||
430 | return 0; | ||
431 | } | ||
273 | 432 | ||
274 | public void llSetScale(LSL_Types.Vector3 scale) | 433 | public void llSetScale(LSL_Types.Vector3 scale) |
275 | { | 434 | { |
276 | // TODO: this needs to trigger a persistance save as well | 435 | // TODO: this needs to trigger a persistance save as well |
277 | LLVector3 tmp = m_host.Scale; | 436 | LLVector3 tmp = m_host.Scale; |
278 | tmp.X = (float)scale.X; | 437 | tmp.X = (float) scale.X; |
279 | tmp.Y = (float)scale.Y; | 438 | tmp.Y = (float) scale.Y; |
280 | tmp.Z = (float)scale.Z; | 439 | tmp.Z = (float) scale.Z; |
281 | m_host.Scale = tmp; | 440 | m_host.Scale = tmp; |
282 | return; | 441 | return; |
283 | } | 442 | } |
443 | |||
284 | public LSL_Types.Vector3 llGetScale() | 444 | public LSL_Types.Vector3 llGetScale() |
285 | { | 445 | { |
286 | return new LSL_Types.Vector3(m_host.Scale.X, m_host.Scale.Y, m_host.Scale.Z); | 446 | return new LSL_Types.Vector3(m_host.Scale.X, m_host.Scale.Y, m_host.Scale.Z); |
287 | } | 447 | } |
288 | 448 | ||
289 | public void llSetColor(LSL_Types.Vector3 color, int face) { NotImplemented("llSetColor"); return; } | 449 | public void llSetColor(LSL_Types.Vector3 color, int face) |
290 | public double llGetAlpha(int face) { NotImplemented("llGetAlpha"); return 0; } | 450 | { |
291 | public void llSetAlpha(double alpha, int face) { NotImplemented("llSetAlpha"); return; } | 451 | NotImplemented("llSetColor"); |
292 | public LSL_Types.Vector3 llGetColor(int face) { NotImplemented("llGetColor"); return new LSL_Types.Vector3(); } | 452 | return; |
293 | public void llSetTexture(string texture, int face) { NotImplemented("llSetTexture"); return; } | 453 | } |
294 | public void llScaleTexture(double u, double v, int face) { NotImplemented("llScaleTexture"); return; } | 454 | |
295 | public void llOffsetTexture(double u, double v, int face) { NotImplemented("llOffsetTexture"); return; } | 455 | public double llGetAlpha(int face) |
296 | public void llRotateTexture(double rotation, int face) { NotImplemented("llRotateTexture"); return; } | 456 | { |
457 | NotImplemented("llGetAlpha"); | ||
458 | return 0; | ||
459 | } | ||
460 | |||
461 | public void llSetAlpha(double alpha, int face) | ||
462 | { | ||
463 | NotImplemented("llSetAlpha"); | ||
464 | return; | ||
465 | } | ||
466 | |||
467 | public LSL_Types.Vector3 llGetColor(int face) | ||
468 | { | ||
469 | NotImplemented("llGetColor"); | ||
470 | return new LSL_Types.Vector3(); | ||
471 | } | ||
472 | |||
473 | public void llSetTexture(string texture, int face) | ||
474 | { | ||
475 | NotImplemented("llSetTexture"); | ||
476 | return; | ||
477 | } | ||
478 | |||
479 | public void llScaleTexture(double u, double v, int face) | ||
480 | { | ||
481 | NotImplemented("llScaleTexture"); | ||
482 | return; | ||
483 | } | ||
484 | |||
485 | public void llOffsetTexture(double u, double v, int face) | ||
486 | { | ||
487 | NotImplemented("llOffsetTexture"); | ||
488 | return; | ||
489 | } | ||
297 | 490 | ||
298 | public string llGetTexture(int face) { NotImplemented("llGetTexture"); return ""; } | 491 | public void llRotateTexture(double rotation, int face) |
492 | { | ||
493 | NotImplemented("llRotateTexture"); | ||
494 | return; | ||
495 | } | ||
496 | |||
497 | public string llGetTexture(int face) | ||
498 | { | ||
499 | NotImplemented("llGetTexture"); | ||
500 | return ""; | ||
501 | } | ||
299 | 502 | ||
300 | public void llSetPos(LSL_Types.Vector3 pos) | 503 | public void llSetPos(LSL_Types.Vector3 pos) |
301 | { | 504 | { |
302 | if (m_host.ParentID != 0) | 505 | if (m_host.ParentID != 0) |
303 | { | 506 | { |
304 | m_host.UpdateOffSet(new LLVector3((float)pos.X, (float)pos.Y, (float)pos.Z)); | 507 | m_host.UpdateOffSet(new LLVector3((float) pos.X, (float) pos.Y, (float) pos.Z)); |
305 | } | 508 | } |
306 | else | 509 | else |
307 | { | 510 | { |
308 | m_host.UpdateGroupPosition(new LLVector3((float)pos.X, (float)pos.Y, (float)pos.Z)); | 511 | m_host.UpdateGroupPosition(new LLVector3((float) pos.X, (float) pos.Y, (float) pos.Z)); |
309 | } | 512 | } |
310 | } | 513 | } |
311 | 514 | ||
@@ -331,51 +534,183 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
331 | m_host.AbsolutePosition.Z); | 534 | m_host.AbsolutePosition.Z); |
332 | } | 535 | } |
333 | } | 536 | } |
537 | |||
334 | public void llSetRot(LSL_Types.Quaternion rot) | 538 | public void llSetRot(LSL_Types.Quaternion rot) |
335 | { | 539 | { |
336 | m_host.UpdateRotation(new LLQuaternion((float)rot.X, (float)rot.Y, (float)rot.Z, (float)rot.R)); | 540 | m_host.UpdateRotation(new LLQuaternion((float) rot.X, (float) rot.Y, (float) rot.Z, (float) rot.R)); |
337 | } | 541 | } |
542 | |||
338 | public LSL_Types.Quaternion llGetRot() | 543 | public LSL_Types.Quaternion llGetRot() |
339 | { | 544 | { |
340 | LLQuaternion q = m_host.RotationOffset; | 545 | LLQuaternion q = m_host.RotationOffset; |
341 | return new LSL_Types.Quaternion(q.X, q.Y, q.Z, q.W); | 546 | return new LSL_Types.Quaternion(q.X, q.Y, q.Z, q.W); |
342 | } | 547 | } |
343 | public LSL_Types.Quaternion llGetLocalRot() { NotImplemented("llGetLocalRot"); return new LSL_Types.Quaternion(); } | 548 | |
344 | public void llSetForce(LSL_Types.Vector3 force, int local) { NotImplemented("llSetForce"); } | 549 | public LSL_Types.Quaternion llGetLocalRot() |
345 | public LSL_Types.Vector3 llGetForce() { NotImplemented("llGetForce"); return new LSL_Types.Vector3(); } | 550 | { |
346 | public int llTarget(LSL_Types.Vector3 position, double range) { NotImplemented("llTarget"); return 0; } | 551 | NotImplemented("llGetLocalRot"); |
347 | public void llTargetRemove(int number) { NotImplemented("llTargetRemove"); } | 552 | return new LSL_Types.Quaternion(); |
348 | public int llRotTarget(LSL_Types.Quaternion rot, double error) { NotImplemented("llRotTarget"); return 0; } | 553 | } |
349 | public void llRotTargetRemove(int number) { NotImplemented("llRotTargetRemove"); } | 554 | |
350 | public void llMoveToTarget(LSL_Types.Vector3 target, double tau) { NotImplemented("llMoveToTarget"); } | 555 | public void llSetForce(LSL_Types.Vector3 force, int local) |
351 | public void llStopMoveToTarget() { NotImplemented("llStopMoveToTarget"); } | 556 | { |
352 | public void llApplyImpulse(LSL_Types.Vector3 force, int local) { NotImplemented("llApplyImpulse"); } | 557 | NotImplemented("llSetForce"); |
353 | public void llApplyRotationalImpulse(LSL_Types.Vector3 force, int local) { NotImplemented("llApplyRotationalImpulse"); } | 558 | } |
354 | public void llSetTorque(LSL_Types.Vector3 torque, int local) { NotImplemented("llSetTorque"); } | 559 | |
355 | public LSL_Types.Vector3 llGetTorque() { NotImplemented("llGetTorque"); return new LSL_Types.Vector3(); } | 560 | public LSL_Types.Vector3 llGetForce() |
356 | public void llSetForceAndTorque(LSL_Types.Vector3 force, LSL_Types.Vector3 torque, int local) { NotImplemented("llSetForceAndTorque"); } | 561 | { |
357 | public LSL_Types.Vector3 llGetVel() { NotImplemented("llGetVel"); return new LSL_Types.Vector3(); } | 562 | NotImplemented("llGetForce"); |
358 | public LSL_Types.Vector3 llGetAccel() { NotImplemented("llGetAccel"); return new LSL_Types.Vector3(); } | 563 | return new LSL_Types.Vector3(); |
359 | public LSL_Types.Vector3 llGetOmega() { NotImplemented("llGetOmega"); return new LSL_Types.Vector3(); } | 564 | } |
360 | public double llGetTimeOfDay() { NotImplemented("llGetTimeOfDay"); return 0; } | 565 | |
566 | public int llTarget(LSL_Types.Vector3 position, double range) | ||
567 | { | ||
568 | NotImplemented("llTarget"); | ||
569 | return 0; | ||
570 | } | ||
571 | |||
572 | public void llTargetRemove(int number) | ||
573 | { | ||
574 | NotImplemented("llTargetRemove"); | ||
575 | } | ||
576 | |||
577 | public int llRotTarget(LSL_Types.Quaternion rot, double error) | ||
578 | { | ||
579 | NotImplemented("llRotTarget"); | ||
580 | return 0; | ||
581 | } | ||
582 | |||
583 | public void llRotTargetRemove(int number) | ||
584 | { | ||
585 | NotImplemented("llRotTargetRemove"); | ||
586 | } | ||
587 | |||
588 | public void llMoveToTarget(LSL_Types.Vector3 target, double tau) | ||
589 | { | ||
590 | NotImplemented("llMoveToTarget"); | ||
591 | } | ||
592 | |||
593 | public void llStopMoveToTarget() | ||
594 | { | ||
595 | NotImplemented("llStopMoveToTarget"); | ||
596 | } | ||
597 | |||
598 | public void llApplyImpulse(LSL_Types.Vector3 force, int local) | ||
599 | { | ||
600 | NotImplemented("llApplyImpulse"); | ||
601 | } | ||
602 | |||
603 | public void llApplyRotationalImpulse(LSL_Types.Vector3 force, int local) | ||
604 | { | ||
605 | NotImplemented("llApplyRotationalImpulse"); | ||
606 | } | ||
607 | |||
608 | public void llSetTorque(LSL_Types.Vector3 torque, int local) | ||
609 | { | ||
610 | NotImplemented("llSetTorque"); | ||
611 | } | ||
612 | |||
613 | public LSL_Types.Vector3 llGetTorque() | ||
614 | { | ||
615 | NotImplemented("llGetTorque"); | ||
616 | return new LSL_Types.Vector3(); | ||
617 | } | ||
618 | |||
619 | public void llSetForceAndTorque(LSL_Types.Vector3 force, LSL_Types.Vector3 torque, int local) | ||
620 | { | ||
621 | NotImplemented("llSetForceAndTorque"); | ||
622 | } | ||
623 | |||
624 | public LSL_Types.Vector3 llGetVel() | ||
625 | { | ||
626 | NotImplemented("llGetVel"); | ||
627 | return new LSL_Types.Vector3(); | ||
628 | } | ||
629 | |||
630 | public LSL_Types.Vector3 llGetAccel() | ||
631 | { | ||
632 | NotImplemented("llGetAccel"); | ||
633 | return new LSL_Types.Vector3(); | ||
634 | } | ||
635 | |||
636 | public LSL_Types.Vector3 llGetOmega() | ||
637 | { | ||
638 | NotImplemented("llGetOmega"); | ||
639 | return new LSL_Types.Vector3(); | ||
640 | } | ||
641 | |||
642 | public double llGetTimeOfDay() | ||
643 | { | ||
644 | NotImplemented("llGetTimeOfDay"); | ||
645 | return 0; | ||
646 | } | ||
361 | 647 | ||
362 | public double llGetWallclock() | 648 | public double llGetWallclock() |
363 | { | 649 | { |
364 | return DateTime.Now.TimeOfDay.TotalSeconds; | 650 | return DateTime.Now.TimeOfDay.TotalSeconds; |
365 | } | 651 | } |
366 | 652 | ||
367 | public double llGetTime() { NotImplemented("llGetTime"); return 0; } | 653 | public double llGetTime() |
368 | public void llResetTime() { NotImplemented("llResetTime"); } | 654 | { |
369 | public double llGetAndResetTime() { NotImplemented("llGetAndResetTime"); return 0; } | 655 | NotImplemented("llGetTime"); |
370 | public void llSound() { NotImplemented("llSound"); } | 656 | return 0; |
371 | public void llPlaySound(string sound, double volume) { NotImplemented("llPlaySound"); } | 657 | } |
372 | public void llLoopSound(string sound, double volume) { NotImplemented("llLoopSound"); } | 658 | |
373 | public void llLoopSoundMaster(string sound, double volume) { NotImplemented("llLoopSoundMaster"); } | 659 | public void llResetTime() |
374 | public void llLoopSoundSlave(string sound, double volume) { NotImplemented("llLoopSoundSlave"); } | 660 | { |
375 | public void llPlaySoundSlave(string sound, double volume) { NotImplemented("llPlaySoundSlave"); } | 661 | NotImplemented("llResetTime"); |
376 | public void llTriggerSound(string sound, double volume) { NotImplemented("llTriggerSound"); } | 662 | } |
377 | public void llStopSound() { NotImplemented("llStopSound"); } | 663 | |
378 | public void llPreloadSound(string sound) { NotImplemented("llPreloadSound"); } | 664 | public double llGetAndResetTime() |
665 | { | ||
666 | NotImplemented("llGetAndResetTime"); | ||
667 | return 0; | ||
668 | } | ||
669 | |||
670 | public void llSound() | ||
671 | { | ||
672 | NotImplemented("llSound"); | ||
673 | } | ||
674 | |||
675 | public void llPlaySound(string sound, double volume) | ||
676 | { | ||
677 | NotImplemented("llPlaySound"); | ||
678 | } | ||
679 | |||
680 | public void llLoopSound(string sound, double volume) | ||
681 | { | ||
682 | NotImplemented("llLoopSound"); | ||
683 | } | ||
684 | |||
685 | public void llLoopSoundMaster(string sound, double volume) | ||
686 | { | ||
687 | NotImplemented("llLoopSoundMaster"); | ||
688 | } | ||
689 | |||
690 | public void llLoopSoundSlave(string sound, double volume) | ||
691 | { | ||
692 | NotImplemented("llLoopSoundSlave"); | ||
693 | } | ||
694 | |||
695 | public void llPlaySoundSlave(string sound, double volume) | ||
696 | { | ||
697 | NotImplemented("llPlaySoundSlave"); | ||
698 | } | ||
699 | |||
700 | public void llTriggerSound(string sound, double volume) | ||
701 | { | ||
702 | NotImplemented("llTriggerSound"); | ||
703 | } | ||
704 | |||
705 | public void llStopSound() | ||
706 | { | ||
707 | NotImplemented("llStopSound"); | ||
708 | } | ||
709 | |||
710 | public void llPreloadSound(string sound) | ||
711 | { | ||
712 | NotImplemented("llPreloadSound"); | ||
713 | } | ||
379 | 714 | ||
380 | public string llGetSubString(string src, int start, int end) | 715 | public string llGetSubString(string src, int start, int end) |
381 | { | 716 | { |
@@ -386,10 +721,12 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
386 | { | 721 | { |
387 | return src.Remove(start, end - start); | 722 | return src.Remove(start, end - start); |
388 | } | 723 | } |
724 | |||
389 | public string llInsertString(string dst, int position, string src) | 725 | public string llInsertString(string dst, int position, string src) |
390 | { | 726 | { |
391 | return dst.Insert(position, src); | 727 | return dst.Insert(position, src); |
392 | } | 728 | } |
729 | |||
393 | public string llToUpper(string src) | 730 | public string llToUpper(string src) |
394 | { | 731 | { |
395 | return src.ToUpper(); | 732 | return src.ToUpper(); |
@@ -400,14 +737,46 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
400 | return src.ToLower(); | 737 | return src.ToLower(); |
401 | } | 738 | } |
402 | 739 | ||
403 | public int llGiveMoney(string destination, int amount) { NotImplemented("llGiveMoney"); return 0; } | 740 | public int llGiveMoney(string destination, int amount) |
404 | public void llMakeExplosion() { NotImplemented("llMakeExplosion"); } | 741 | { |
405 | public void llMakeFountain() { NotImplemented("llMakeFountain"); } | 742 | NotImplemented("llGiveMoney"); |
406 | public void llMakeSmoke() { NotImplemented("llMakeSmoke"); } | 743 | return 0; |
407 | public void llMakeFire() { NotImplemented("llMakeFire"); } | 744 | } |
408 | public void llRezObject(string inventory, LSL_Types.Vector3 pos, LSL_Types.Quaternion rot, int param) { NotImplemented("llRezObject"); } | 745 | |
409 | public void llLookAt(LSL_Types.Vector3 target, double strength, double damping) { NotImplemented("llLookAt"); } | 746 | public void llMakeExplosion() |
410 | public void llStopLookAt() { NotImplemented("llStopLookAt"); } | 747 | { |
748 | NotImplemented("llMakeExplosion"); | ||
749 | } | ||
750 | |||
751 | public void llMakeFountain() | ||
752 | { | ||
753 | NotImplemented("llMakeFountain"); | ||
754 | } | ||
755 | |||
756 | public void llMakeSmoke() | ||
757 | { | ||
758 | NotImplemented("llMakeSmoke"); | ||
759 | } | ||
760 | |||
761 | public void llMakeFire() | ||
762 | { | ||
763 | NotImplemented("llMakeFire"); | ||
764 | } | ||
765 | |||
766 | public void llRezObject(string inventory, LSL_Types.Vector3 pos, LSL_Types.Quaternion rot, int param) | ||
767 | { | ||
768 | NotImplemented("llRezObject"); | ||
769 | } | ||
770 | |||
771 | public void llLookAt(LSL_Types.Vector3 target, double strength, double damping) | ||
772 | { | ||
773 | NotImplemented("llLookAt"); | ||
774 | } | ||
775 | |||
776 | public void llStopLookAt() | ||
777 | { | ||
778 | NotImplemented("llStopLookAt"); | ||
779 | } | ||
411 | 780 | ||
412 | public void llSetTimerEvent(double sec) | 781 | public void llSetTimerEvent(double sec) |
413 | { | 782 | { |
@@ -417,38 +786,104 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
417 | 786 | ||
418 | public void llSleep(double sec) | 787 | public void llSleep(double sec) |
419 | { | 788 | { |
420 | System.Threading.Thread.Sleep((int)(sec * 1000)); | 789 | Thread.Sleep((int) (sec*1000)); |
790 | } | ||
791 | |||
792 | public double llGetMass() | ||
793 | { | ||
794 | NotImplemented("llGetMass"); | ||
795 | return 0; | ||
796 | } | ||
797 | |||
798 | public void llCollisionFilter(string name, string id, int accept) | ||
799 | { | ||
800 | NotImplemented("llCollisionFilter"); | ||
801 | } | ||
802 | |||
803 | public void llTakeControls(int controls, int accept, int pass_on) | ||
804 | { | ||
805 | NotImplemented("llTakeControls"); | ||
806 | } | ||
807 | |||
808 | public void llReleaseControls() | ||
809 | { | ||
810 | NotImplemented("llReleaseControls"); | ||
811 | } | ||
812 | |||
813 | public void llAttachToAvatar(int attachment) | ||
814 | { | ||
815 | NotImplemented("llAttachToAvatar"); | ||
816 | } | ||
817 | |||
818 | public void llDetachFromAvatar() | ||
819 | { | ||
820 | NotImplemented("llDetachFromAvatar"); | ||
821 | } | ||
822 | |||
823 | public void llTakeCamera() | ||
824 | { | ||
825 | NotImplemented("llTakeCamera"); | ||
421 | } | 826 | } |
422 | 827 | ||
423 | public double llGetMass() { NotImplemented("llGetMass"); return 0; } | 828 | public void llReleaseCamera() |
424 | public void llCollisionFilter(string name, string id, int accept) { NotImplemented("llCollisionFilter"); } | 829 | { |
425 | public void llTakeControls(int controls, int accept, int pass_on) { NotImplemented("llTakeControls"); } | 830 | NotImplemented("llReleaseCamera"); |
426 | public void llReleaseControls() { NotImplemented("llReleaseControls"); } | 831 | } |
427 | public void llAttachToAvatar(int attachment) { NotImplemented("llAttachToAvatar"); } | ||
428 | public void llDetachFromAvatar() { NotImplemented("llDetachFromAvatar"); } | ||
429 | public void llTakeCamera() { NotImplemented("llTakeCamera"); } | ||
430 | public void llReleaseCamera() { NotImplemented("llReleaseCamera"); } | ||
431 | 832 | ||
432 | public string llGetOwner() | 833 | public string llGetOwner() |
433 | { | 834 | { |
434 | return m_host.ObjectOwner.ToStringHyphenated(); | 835 | return m_host.ObjectOwner.ToStringHyphenated(); |
435 | } | 836 | } |
436 | 837 | ||
437 | public void llInstantMessage(string user, string message) { NotImplemented("llInstantMessage"); } | 838 | public void llInstantMessage(string user, string message) |
438 | public void llEmail(string address, string subject, string message) { NotImplemented("llEmail"); } | 839 | { |
439 | public void llGetNextEmail(string address, string subject) { NotImplemented("llGetNextEmail"); } | 840 | NotImplemented("llInstantMessage"); |
841 | } | ||
842 | |||
843 | public void llEmail(string address, string subject, string message) | ||
844 | { | ||
845 | NotImplemented("llEmail"); | ||
846 | } | ||
847 | |||
848 | public void llGetNextEmail(string address, string subject) | ||
849 | { | ||
850 | NotImplemented("llGetNextEmail"); | ||
851 | } | ||
440 | 852 | ||
441 | public string llGetKey() | 853 | public string llGetKey() |
442 | { | 854 | { |
443 | return m_host.UUID.ToStringHyphenated(); | 855 | return m_host.UUID.ToStringHyphenated(); |
444 | } | 856 | } |
445 | 857 | ||
446 | public void llSetBuoyancy(double buoyancy) { NotImplemented("llSetBuoyancy"); } | 858 | public void llSetBuoyancy(double buoyancy) |
447 | public void llSetHoverHeight(double height, int water, double tau) { NotImplemented("llSetHoverHeight"); } | 859 | { |
448 | public void llStopHover() { NotImplemented("llStopHover"); } | 860 | NotImplemented("llSetBuoyancy"); |
449 | public void llMinEventDelay(double delay) { NotImplemented("llMinEventDelay"); } | 861 | } |
450 | public void llSoundPreload() { NotImplemented("llSoundPreload"); } | 862 | |
451 | public void llRotLookAt(LSL_Types.Quaternion target, double strength, double damping) { NotImplemented("llRotLookAt"); } | 863 | public void llSetHoverHeight(double height, int water, double tau) |
864 | { | ||
865 | NotImplemented("llSetHoverHeight"); | ||
866 | } | ||
867 | |||
868 | public void llStopHover() | ||
869 | { | ||
870 | NotImplemented("llStopHover"); | ||
871 | } | ||
872 | |||
873 | public void llMinEventDelay(double delay) | ||
874 | { | ||
875 | NotImplemented("llMinEventDelay"); | ||
876 | } | ||
877 | |||
878 | public void llSoundPreload() | ||
879 | { | ||
880 | NotImplemented("llSoundPreload"); | ||
881 | } | ||
882 | |||
883 | public void llRotLookAt(LSL_Types.Quaternion target, double strength, double damping) | ||
884 | { | ||
885 | NotImplemented("llRotLookAt"); | ||
886 | } | ||
452 | 887 | ||
453 | public int llStringLength(string str) | 888 | public int llStringLength(string str) |
454 | { | 889 | { |
@@ -462,88 +897,289 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
462 | } | 897 | } |
463 | } | 898 | } |
464 | 899 | ||
465 | public void llStartAnimation(string anim) { NotImplemented("llStartAnimation"); } | 900 | public void llStartAnimation(string anim) |
466 | public void llStopAnimation(string anim) { NotImplemented("llStopAnimation"); } | 901 | { |
467 | public void llPointAt() { NotImplemented("llPointAt"); } | 902 | NotImplemented("llStartAnimation"); |
468 | public void llStopPointAt() { NotImplemented("llStopPointAt"); } | 903 | } |
469 | public void llTargetOmega(LSL_Types.Vector3 axis, double spinrate, double gain) { NotImplemented("llTargetOmega"); } | 904 | |
470 | public int llGetStartParameter() { NotImplemented("llGetStartParameter"); return 0; } | 905 | public void llStopAnimation(string anim) |
471 | public void llGodLikeRezObject(string inventory, LSL_Types.Vector3 pos) { NotImplemented("llGodLikeRezObject"); } | 906 | { |
472 | public void llRequestPermissions(string agent, int perm) { NotImplemented("llRequestPermissions"); } | 907 | NotImplemented("llStopAnimation"); |
473 | public string llGetPermissionsKey() { NotImplemented("llGetPermissionsKey"); return ""; } | 908 | } |
474 | public int llGetPermissions() { NotImplemented("llGetPermissions"); return 0; } | 909 | |
475 | public int llGetLinkNumber() { NotImplemented("llGetLinkNumber"); return 0; } | 910 | public void llPointAt() |
476 | public void llSetLinkColor(int linknumber, LSL_Types.Vector3 color, int face) { NotImplemented("llSetLinkColor"); } | 911 | { |
477 | public void llCreateLink(string target, int parent) { NotImplemented("llCreateLink"); } | 912 | NotImplemented("llPointAt"); |
478 | public void llBreakLink(int linknum) { NotImplemented("llBreakLink"); } | 913 | } |
479 | public void llBreakAllLinks() { NotImplemented("llBreakAllLinks"); } | 914 | |
480 | public string llGetLinkKey(int linknum) { NotImplemented("llGetLinkKey"); return ""; } | 915 | public void llStopPointAt() |
481 | public void llGetLinkName(int linknum) { NotImplemented("llGetLinkName"); } | 916 | { |
482 | public int llGetInventoryNumber(int type) { NotImplemented("llGetInventoryNumber"); return 0; } | 917 | NotImplemented("llStopPointAt"); |
483 | public string llGetInventoryName(int type, int number) { NotImplemented("llGetInventoryName"); return ""; } | 918 | } |
484 | public void llSetScriptState(string name, int run) { NotImplemented("llSetScriptState"); } | 919 | |
485 | public double llGetEnergy() { return 1.0f; } | 920 | public void llTargetOmega(LSL_Types.Vector3 axis, double spinrate, double gain) |
486 | public void llGiveInventory(string destination, string inventory) { NotImplemented("llGiveInventory"); } | 921 | { |
487 | public void llRemoveInventory(string item) { NotImplemented("llRemoveInventory"); } | 922 | NotImplemented("llTargetOmega"); |
923 | } | ||
924 | |||
925 | public int llGetStartParameter() | ||
926 | { | ||
927 | NotImplemented("llGetStartParameter"); | ||
928 | return 0; | ||
929 | } | ||
930 | |||
931 | public void llGodLikeRezObject(string inventory, LSL_Types.Vector3 pos) | ||
932 | { | ||
933 | NotImplemented("llGodLikeRezObject"); | ||
934 | } | ||
935 | |||
936 | public void llRequestPermissions(string agent, int perm) | ||
937 | { | ||
938 | NotImplemented("llRequestPermissions"); | ||
939 | } | ||
940 | |||
941 | public string llGetPermissionsKey() | ||
942 | { | ||
943 | NotImplemented("llGetPermissionsKey"); | ||
944 | return ""; | ||
945 | } | ||
946 | |||
947 | public int llGetPermissions() | ||
948 | { | ||
949 | NotImplemented("llGetPermissions"); | ||
950 | return 0; | ||
951 | } | ||
952 | |||
953 | public int llGetLinkNumber() | ||
954 | { | ||
955 | NotImplemented("llGetLinkNumber"); | ||
956 | return 0; | ||
957 | } | ||
958 | |||
959 | public void llSetLinkColor(int linknumber, LSL_Types.Vector3 color, int face) | ||
960 | { | ||
961 | NotImplemented("llSetLinkColor"); | ||
962 | } | ||
963 | |||
964 | public void llCreateLink(string target, int parent) | ||
965 | { | ||
966 | NotImplemented("llCreateLink"); | ||
967 | } | ||
968 | |||
969 | public void llBreakLink(int linknum) | ||
970 | { | ||
971 | NotImplemented("llBreakLink"); | ||
972 | } | ||
973 | |||
974 | public void llBreakAllLinks() | ||
975 | { | ||
976 | NotImplemented("llBreakAllLinks"); | ||
977 | } | ||
978 | |||
979 | public string llGetLinkKey(int linknum) | ||
980 | { | ||
981 | NotImplemented("llGetLinkKey"); | ||
982 | return ""; | ||
983 | } | ||
984 | |||
985 | public void llGetLinkName(int linknum) | ||
986 | { | ||
987 | NotImplemented("llGetLinkName"); | ||
988 | } | ||
989 | |||
990 | public int llGetInventoryNumber(int type) | ||
991 | { | ||
992 | NotImplemented("llGetInventoryNumber"); | ||
993 | return 0; | ||
994 | } | ||
995 | |||
996 | public string llGetInventoryName(int type, int number) | ||
997 | { | ||
998 | NotImplemented("llGetInventoryName"); | ||
999 | return ""; | ||
1000 | } | ||
1001 | |||
1002 | public void llSetScriptState(string name, int run) | ||
1003 | { | ||
1004 | NotImplemented("llSetScriptState"); | ||
1005 | } | ||
1006 | |||
1007 | public double llGetEnergy() | ||
1008 | { | ||
1009 | return 1.0f; | ||
1010 | } | ||
1011 | |||
1012 | public void llGiveInventory(string destination, string inventory) | ||
1013 | { | ||
1014 | NotImplemented("llGiveInventory"); | ||
1015 | } | ||
1016 | |||
1017 | public void llRemoveInventory(string item) | ||
1018 | { | ||
1019 | NotImplemented("llRemoveInventory"); | ||
1020 | } | ||
488 | 1021 | ||
489 | public void llSetText(string text, LSL_Types.Vector3 color, double alpha) | 1022 | public void llSetText(string text, LSL_Types.Vector3 color, double alpha) |
490 | { | 1023 | { |
491 | Axiom.Math.Vector3 av3 = new Axiom.Math.Vector3((float)color.X, (float)color.Y, (float)color.Z); | 1024 | Vector3 av3 = new Vector3((float) color.X, (float) color.Y, (float) color.Z); |
492 | m_host.SetText(text, av3, alpha); | 1025 | m_host.SetText(text, av3, alpha); |
493 | } | 1026 | } |
494 | 1027 | ||
495 | 1028 | ||
496 | public double llWater(LSL_Types.Vector3 offset) { NotImplemented("llWater"); return 0; } | 1029 | public double llWater(LSL_Types.Vector3 offset) |
497 | public void llPassTouches(int pass) { NotImplemented("llPassTouches"); } | 1030 | { |
498 | public string llRequestAgentData(string id, int data) { NotImplemented("llRequestAgentData"); return ""; } | 1031 | NotImplemented("llWater"); |
499 | public string llRequestInventoryData(string name) { NotImplemented("llRequestInventoryData"); return ""; } | 1032 | return 0; |
500 | public void llSetDamage(double damage) { NotImplemented("llSetDamage"); } | 1033 | } |
501 | public void llTeleportAgentHome(string agent) { NotImplemented("llTeleportAgentHome"); } | 1034 | |
502 | public void llModifyLand(int action, int brush) { } | 1035 | public void llPassTouches(int pass) |
503 | public void llCollisionSound(string impact_sound, double impact_volume) { NotImplemented("llCollisionSound"); } | 1036 | { |
504 | public void llCollisionSprite(string impact_sprite) { NotImplemented("llCollisionSprite"); } | 1037 | NotImplemented("llPassTouches"); |
505 | public string llGetAnimation(string id) { NotImplemented("llGetAnimation"); return ""; } | 1038 | } |
506 | public void llResetScript() | 1039 | |
1040 | public string llRequestAgentData(string id, int data) | ||
1041 | { | ||
1042 | NotImplemented("llRequestAgentData"); | ||
1043 | return ""; | ||
1044 | } | ||
1045 | |||
1046 | public string llRequestInventoryData(string name) | ||
1047 | { | ||
1048 | NotImplemented("llRequestInventoryData"); | ||
1049 | return ""; | ||
1050 | } | ||
1051 | |||
1052 | public void llSetDamage(double damage) | ||
1053 | { | ||
1054 | NotImplemented("llSetDamage"); | ||
1055 | } | ||
1056 | |||
1057 | public void llTeleportAgentHome(string agent) | ||
1058 | { | ||
1059 | NotImplemented("llTeleportAgentHome"); | ||
1060 | } | ||
1061 | |||
1062 | public void llModifyLand(int action, int brush) | ||
1063 | { | ||
1064 | } | ||
1065 | |||
1066 | public void llCollisionSound(string impact_sound, double impact_volume) | ||
1067 | { | ||
1068 | NotImplemented("llCollisionSound"); | ||
1069 | } | ||
1070 | |||
1071 | public void llCollisionSprite(string impact_sprite) | ||
1072 | { | ||
1073 | NotImplemented("llCollisionSprite"); | ||
1074 | } | ||
1075 | |||
1076 | public string llGetAnimation(string id) | ||
1077 | { | ||
1078 | NotImplemented("llGetAnimation"); | ||
1079 | return ""; | ||
1080 | } | ||
1081 | |||
1082 | public void llResetScript() | ||
507 | { | 1083 | { |
508 | m_ScriptEngine.m_ScriptManager.ResetScript(m_localID, m_itemID); | 1084 | m_ScriptEngine.m_ScriptManager.ResetScript(m_localID, m_itemID); |
509 | } | 1085 | } |
510 | public void llMessageLinked(int linknum, int num, string str, string id) { } | ||
511 | public void llPushObject(string target, LSL_Types.Vector3 impulse, LSL_Types.Vector3 ang_impulse, int local) { } | ||
512 | public void llPassCollisions(int pass) { } | ||
513 | public string llGetScriptName() { return ""; } | ||
514 | 1086 | ||
515 | public int llGetNumberOfSides() { return 0; } | 1087 | public void llMessageLinked(int linknum, int num, string str, string id) |
1088 | { | ||
1089 | } | ||
1090 | |||
1091 | public void llPushObject(string target, LSL_Types.Vector3 impulse, LSL_Types.Vector3 ang_impulse, int local) | ||
1092 | { | ||
1093 | } | ||
1094 | |||
1095 | public void llPassCollisions(int pass) | ||
1096 | { | ||
1097 | } | ||
1098 | |||
1099 | public string llGetScriptName() | ||
1100 | { | ||
1101 | return ""; | ||
1102 | } | ||
1103 | |||
1104 | public int llGetNumberOfSides() | ||
1105 | { | ||
1106 | return 0; | ||
1107 | } | ||
1108 | |||
1109 | public LSL_Types.Quaternion llAxisAngle2Rot(LSL_Types.Vector3 axis, double angle) | ||
1110 | { | ||
1111 | return new LSL_Types.Quaternion(); | ||
1112 | } | ||
1113 | |||
1114 | public LSL_Types.Vector3 llRot2Axis(LSL_Types.Quaternion rot) | ||
1115 | { | ||
1116 | return new LSL_Types.Vector3(); | ||
1117 | } | ||
516 | 1118 | ||
517 | public LSL_Types.Quaternion llAxisAngle2Rot(LSL_Types.Vector3 axis, double angle) { return new LSL_Types.Quaternion(); } | 1119 | public void llRot2Angle() |
518 | public LSL_Types.Vector3 llRot2Axis(LSL_Types.Quaternion rot) { return new LSL_Types.Vector3(); } | 1120 | { |
519 | public void llRot2Angle() { } | 1121 | } |
520 | 1122 | ||
521 | public double llAcos(double val) | 1123 | public double llAcos(double val) |
522 | { | 1124 | { |
523 | return (double)Math.Acos(val); | 1125 | return (double) Math.Acos(val); |
524 | } | 1126 | } |
525 | 1127 | ||
526 | public double llAsin(double val) | 1128 | public double llAsin(double val) |
527 | { | 1129 | { |
528 | return (double)Math.Asin(val); | 1130 | return (double) Math.Asin(val); |
529 | } | 1131 | } |
530 | 1132 | ||
531 | public double llAngleBetween(LSL_Types.Quaternion a, LSL_Types.Quaternion b) { return 0; } | 1133 | public double llAngleBetween(LSL_Types.Quaternion a, LSL_Types.Quaternion b) |
532 | public string llGetInventoryKey(string name) { return ""; } | 1134 | { |
533 | public void llAllowInventoryDrop(int add) { } | 1135 | return 0; |
534 | public LSL_Types.Vector3 llGetSunDirection() { return new LSL_Types.Vector3(); } | 1136 | } |
535 | public LSL_Types.Vector3 llGetTextureOffset(int face) { return new LSL_Types.Vector3(); } | 1137 | |
536 | public LSL_Types.Vector3 llGetTextureScale(int side) { return new LSL_Types.Vector3(); } | 1138 | public string llGetInventoryKey(string name) |
537 | public double llGetTextureRot(int side) { return 0; } | 1139 | { |
1140 | return ""; | ||
1141 | } | ||
1142 | |||
1143 | public void llAllowInventoryDrop(int add) | ||
1144 | { | ||
1145 | } | ||
1146 | |||
1147 | public LSL_Types.Vector3 llGetSunDirection() | ||
1148 | { | ||
1149 | return new LSL_Types.Vector3(); | ||
1150 | } | ||
1151 | |||
1152 | public LSL_Types.Vector3 llGetTextureOffset(int face) | ||
1153 | { | ||
1154 | return new LSL_Types.Vector3(); | ||
1155 | } | ||
1156 | |||
1157 | public LSL_Types.Vector3 llGetTextureScale(int side) | ||
1158 | { | ||
1159 | return new LSL_Types.Vector3(); | ||
1160 | } | ||
1161 | |||
1162 | public double llGetTextureRot(int side) | ||
1163 | { | ||
1164 | return 0; | ||
1165 | } | ||
538 | 1166 | ||
539 | public int llSubStringIndex(string source, string pattern) | 1167 | public int llSubStringIndex(string source, string pattern) |
540 | { | 1168 | { |
541 | return source.IndexOf(pattern); | 1169 | return source.IndexOf(pattern); |
542 | } | 1170 | } |
543 | 1171 | ||
544 | public string llGetOwnerKey(string id) { NotImplemented("llGetOwnerKey"); return ""; } | 1172 | public string llGetOwnerKey(string id) |
1173 | { | ||
1174 | NotImplemented("llGetOwnerKey"); | ||
1175 | return ""; | ||
1176 | } | ||
545 | 1177 | ||
546 | public LSL_Types.Vector3 llGetCenterOfMass() { NotImplemented("llGetCenterOfMass"); return new LSL_Types.Vector3(); } | 1178 | public LSL_Types.Vector3 llGetCenterOfMass() |
1179 | { | ||
1180 | NotImplemented("llGetCenterOfMass"); | ||
1181 | return new LSL_Types.Vector3(); | ||
1182 | } | ||
547 | 1183 | ||
548 | public List<string> llListSort(List<string> src, int stride, int ascending) | 1184 | public List<string> llListSort(List<string> src, int stride, int ascending) |
549 | { | 1185 | { |
@@ -577,7 +1213,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
577 | ret.AddRange(ls); | 1213 | ret.AddRange(ls); |
578 | } | 1214 | } |
579 | 1215 | ||
580 | if (ascending == LSL.LSL_BaseClass.TRUE) | 1216 | if (ascending == LSL_BaseClass.TRUE) |
581 | return ret; | 1217 | return ret; |
582 | ret.Reverse(); | 1218 | ret.Reverse(); |
583 | return ret; | 1219 | return ret; |
@@ -616,12 +1252,18 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
616 | 1252 | ||
617 | public LSL_Types.Vector3 llList2Vector(List<string> src, int index) | 1253 | public LSL_Types.Vector3 llList2Vector(List<string> src, int index) |
618 | { | 1254 | { |
619 | return new LSL_Types.Vector3(double.Parse(src[index]), double.Parse(src[index + 1]), double.Parse(src[index + 2])); | 1255 | return |
1256 | new LSL_Types.Vector3(double.Parse(src[index]), double.Parse(src[index + 1]), | ||
1257 | double.Parse(src[index + 2])); | ||
620 | } | 1258 | } |
1259 | |||
621 | public LSL_Types.Quaternion llList2Rot(List<string> src, int index) | 1260 | public LSL_Types.Quaternion llList2Rot(List<string> src, int index) |
622 | { | 1261 | { |
623 | return new LSL_Types.Quaternion(double.Parse(src[index]), double.Parse(src[index + 1]), double.Parse(src[index + 2]), double.Parse(src[index + 3])); | 1262 | return |
1263 | new LSL_Types.Quaternion(double.Parse(src[index]), double.Parse(src[index + 1]), | ||
1264 | double.Parse(src[index + 2]), double.Parse(src[index + 3])); | ||
624 | } | 1265 | } |
1266 | |||
625 | public List<string> llList2List(List<string> src, int start, int end) | 1267 | public List<string> llList2List(List<string> src, int start, int end) |
626 | { | 1268 | { |
627 | if (end > start) | 1269 | if (end > start) |
@@ -638,18 +1280,21 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
638 | ret.AddRange(src.GetRange(0, end)); | 1280 | ret.AddRange(src.GetRange(0, end)); |
639 | return ret; | 1281 | return ret; |
640 | } | 1282 | } |
641 | |||
642 | |||
643 | |||
644 | |||
645 | } | 1283 | } |
1284 | |||
646 | public List<string> llDeleteSubList(List<string> src, int start, int end) | 1285 | public List<string> llDeleteSubList(List<string> src, int start, int end) |
647 | { | 1286 | { |
648 | List<string> ret = new List<string>(src); | 1287 | List<string> ret = new List<string>(src); |
649 | ret.RemoveRange(start, end - start); | 1288 | ret.RemoveRange(start, end - start); |
650 | return ret; | 1289 | return ret; |
651 | } | 1290 | } |
652 | public int llGetListEntryType(List<string> src, int index) { NotImplemented("llGetListEntryType"); return 0; } | 1291 | |
1292 | public int llGetListEntryType(List<string> src, int index) | ||
1293 | { | ||
1294 | NotImplemented("llGetListEntryType"); | ||
1295 | return 0; | ||
1296 | } | ||
1297 | |||
653 | public string llList2CSV(List<string> src) | 1298 | public string llList2CSV(List<string> src) |
654 | { | 1299 | { |
655 | string ret = ""; | 1300 | string ret = ""; |
@@ -661,6 +1306,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
661 | } | 1306 | } |
662 | return ret; | 1307 | return ret; |
663 | } | 1308 | } |
1309 | |||
664 | public List<string> llCSV2List(string src) | 1310 | public List<string> llCSV2List(string src) |
665 | { | 1311 | { |
666 | List<string> ret = new List<string>(); | 1312 | List<string> ret = new List<string>(); |
@@ -670,6 +1316,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
670 | } | 1316 | } |
671 | return ret; | 1317 | return ret; |
672 | } | 1318 | } |
1319 | |||
673 | public List<string> llListRandomize(List<string> src, int stride) | 1320 | public List<string> llListRandomize(List<string> src, int stride) |
674 | { | 1321 | { |
675 | int s = stride; | 1322 | int s = stride; |
@@ -711,9 +1358,8 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
711 | } | 1358 | } |
712 | 1359 | ||
713 | return ret; | 1360 | return ret; |
714 | |||
715 | |||
716 | } | 1361 | } |
1362 | |||
717 | public List<string> llList2ListStrided(List<string> src, int start, int end, int stride) | 1363 | public List<string> llList2ListStrided(List<string> src, int start, int end, int stride) |
718 | { | 1364 | { |
719 | List<string> ret = new List<string>(); | 1365 | List<string> ret = new List<string>(); |
@@ -739,12 +1385,11 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
739 | 1385 | ||
740 | public LSL_Types.Vector3 llGetRegionCorner() | 1386 | public LSL_Types.Vector3 llGetRegionCorner() |
741 | { | 1387 | { |
742 | return new LSL_Types.Vector3(World.RegionInfo.RegionLocX * 256, World.RegionInfo.RegionLocY * 256, 0); | 1388 | return new LSL_Types.Vector3(World.RegionInfo.RegionLocX*256, World.RegionInfo.RegionLocY*256, 0); |
743 | } | 1389 | } |
744 | 1390 | ||
745 | public List<string> llListInsertList(List<string> dest, List<string> src, int start) | 1391 | public List<string> llListInsertList(List<string> dest, List<string> src, int start) |
746 | { | 1392 | { |
747 | |||
748 | List<string> ret = new List<string>(dest); | 1393 | List<string> ret = new List<string>(dest); |
749 | //foreach (string s in src.Reverse()) | 1394 | //foreach (string s in src.Reverse()) |
750 | for (int ci = src.Count - 1; ci > -1; ci--) | 1395 | for (int ci = src.Count - 1; ci > -1; ci--) |
@@ -753,13 +1398,13 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
753 | } | 1398 | } |
754 | return ret; | 1399 | return ret; |
755 | } | 1400 | } |
1401 | |||
756 | public int llListFindList(List<string> src, List<string> test) | 1402 | public int llListFindList(List<string> src, List<string> test) |
757 | { | 1403 | { |
758 | foreach (string s in test) | 1404 | foreach (string s in test) |
759 | { | 1405 | { |
760 | for (int ci = 0; ci < src.Count; ci++) | 1406 | for (int ci = 0; ci < src.Count; ci++) |
761 | { | 1407 | { |
762 | |||
763 | if (s == src[ci]) | 1408 | if (s == src[ci]) |
764 | return ci; | 1409 | return ci; |
765 | } | 1410 | } |
@@ -784,37 +1429,139 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
784 | return result; | 1429 | return result; |
785 | } | 1430 | } |
786 | 1431 | ||
787 | public int llEdgeOfWorld(LSL_Types.Vector3 pos, LSL_Types.Vector3 dir) { NotImplemented("llEdgeOfWorld"); return 0; } | 1432 | public int llEdgeOfWorld(LSL_Types.Vector3 pos, LSL_Types.Vector3 dir) |
788 | public int llGetAgentInfo(string id) { NotImplemented("llGetAgentInfo"); return 0; } | 1433 | { |
789 | public void llAdjustSoundVolume(double volume) { NotImplemented("llAdjustSoundVolume"); } | 1434 | NotImplemented("llEdgeOfWorld"); |
790 | public void llSetSoundQueueing(int queue) { NotImplemented("llSetSoundQueueing"); } | 1435 | return 0; |
791 | public void llSetSoundRadius(double radius) { NotImplemented("llSetSoundRadius"); } | 1436 | } |
792 | public string llKey2Name(string id) { NotImplemented("llKey2Name"); return ""; } | 1437 | |
793 | public void llSetTextureAnim(int mode, int face, int sizex, int sizey, double start, double length, double rate) { NotImplemented("llSetTextureAnim"); } | 1438 | public int llGetAgentInfo(string id) |
794 | public void llTriggerSoundLimited(string sound, double volume, LSL_Types.Vector3 top_north_east, LSL_Types.Vector3 bottom_south_west) { NotImplemented("llTriggerSoundLimited"); } | 1439 | { |
795 | public void llEjectFromLand(string pest) { NotImplemented("llEjectFromLand"); } | 1440 | NotImplemented("llGetAgentInfo"); |
796 | 1441 | return 0; | |
797 | public void llParseString2List() { NotImplemented("llParseString2List"); } | 1442 | } |
798 | 1443 | ||
799 | public int llOverMyLand(string id) { NotImplemented("llOverMyLand"); return 0; } | 1444 | public void llAdjustSoundVolume(double volume) |
800 | public string llGetLandOwnerAt(LSL_Types.Vector3 pos) { NotImplemented("llGetLandOwnerAt"); return ""; } | 1445 | { |
801 | public string llGetNotecardLine(string name, int line) { NotImplemented("llGetNotecardLine"); return ""; } | 1446 | NotImplemented("llAdjustSoundVolume"); |
802 | public LSL_Types.Vector3 llGetAgentSize(string id) { NotImplemented("llGetAgentSize"); return new LSL_Types.Vector3(); } | 1447 | } |
803 | public int llSameGroup(string agent) { NotImplemented("llSameGroup"); return 0; } | 1448 | |
804 | public void llUnSit(string id) { NotImplemented("llUnSit"); } | 1449 | public void llSetSoundQueueing(int queue) |
805 | public LSL_Types.Vector3 llGroundSlope(LSL_Types.Vector3 offset) { NotImplemented("llGroundSlope"); return new LSL_Types.Vector3(); } | 1450 | { |
806 | public LSL_Types.Vector3 llGroundNormal(LSL_Types.Vector3 offset) { NotImplemented("llGroundNormal"); return new LSL_Types.Vector3(); } | 1451 | NotImplemented("llSetSoundQueueing"); |
807 | public LSL_Types.Vector3 llGroundContour(LSL_Types.Vector3 offset) { NotImplemented("llGroundContour"); return new LSL_Types.Vector3(); } | 1452 | } |
808 | public int llGetAttached() { NotImplemented("llGetAttached"); return 0; } | 1453 | |
809 | public int llGetFreeMemory() { NotImplemented("llGetFreeMemory"); return 0; } | 1454 | public void llSetSoundRadius(double radius) |
1455 | { | ||
1456 | NotImplemented("llSetSoundRadius"); | ||
1457 | } | ||
1458 | |||
1459 | public string llKey2Name(string id) | ||
1460 | { | ||
1461 | NotImplemented("llKey2Name"); | ||
1462 | return ""; | ||
1463 | } | ||
1464 | |||
1465 | public void llSetTextureAnim(int mode, int face, int sizex, int sizey, double start, double length, double rate) | ||
1466 | { | ||
1467 | NotImplemented("llSetTextureAnim"); | ||
1468 | } | ||
1469 | |||
1470 | public void llTriggerSoundLimited(string sound, double volume, LSL_Types.Vector3 top_north_east, | ||
1471 | LSL_Types.Vector3 bottom_south_west) | ||
1472 | { | ||
1473 | NotImplemented("llTriggerSoundLimited"); | ||
1474 | } | ||
1475 | |||
1476 | public void llEjectFromLand(string pest) | ||
1477 | { | ||
1478 | NotImplemented("llEjectFromLand"); | ||
1479 | } | ||
1480 | |||
1481 | public void llParseString2List() | ||
1482 | { | ||
1483 | NotImplemented("llParseString2List"); | ||
1484 | } | ||
1485 | |||
1486 | public int llOverMyLand(string id) | ||
1487 | { | ||
1488 | NotImplemented("llOverMyLand"); | ||
1489 | return 0; | ||
1490 | } | ||
1491 | |||
1492 | public string llGetLandOwnerAt(LSL_Types.Vector3 pos) | ||
1493 | { | ||
1494 | NotImplemented("llGetLandOwnerAt"); | ||
1495 | return ""; | ||
1496 | } | ||
1497 | |||
1498 | public string llGetNotecardLine(string name, int line) | ||
1499 | { | ||
1500 | NotImplemented("llGetNotecardLine"); | ||
1501 | return ""; | ||
1502 | } | ||
1503 | |||
1504 | public LSL_Types.Vector3 llGetAgentSize(string id) | ||
1505 | { | ||
1506 | NotImplemented("llGetAgentSize"); | ||
1507 | return new LSL_Types.Vector3(); | ||
1508 | } | ||
1509 | |||
1510 | public int llSameGroup(string agent) | ||
1511 | { | ||
1512 | NotImplemented("llSameGroup"); | ||
1513 | return 0; | ||
1514 | } | ||
1515 | |||
1516 | public void llUnSit(string id) | ||
1517 | { | ||
1518 | NotImplemented("llUnSit"); | ||
1519 | } | ||
1520 | |||
1521 | public LSL_Types.Vector3 llGroundSlope(LSL_Types.Vector3 offset) | ||
1522 | { | ||
1523 | NotImplemented("llGroundSlope"); | ||
1524 | return new LSL_Types.Vector3(); | ||
1525 | } | ||
1526 | |||
1527 | public LSL_Types.Vector3 llGroundNormal(LSL_Types.Vector3 offset) | ||
1528 | { | ||
1529 | NotImplemented("llGroundNormal"); | ||
1530 | return new LSL_Types.Vector3(); | ||
1531 | } | ||
1532 | |||
1533 | public LSL_Types.Vector3 llGroundContour(LSL_Types.Vector3 offset) | ||
1534 | { | ||
1535 | NotImplemented("llGroundContour"); | ||
1536 | return new LSL_Types.Vector3(); | ||
1537 | } | ||
1538 | |||
1539 | public int llGetAttached() | ||
1540 | { | ||
1541 | NotImplemented("llGetAttached"); | ||
1542 | return 0; | ||
1543 | } | ||
1544 | |||
1545 | public int llGetFreeMemory() | ||
1546 | { | ||
1547 | NotImplemented("llGetFreeMemory"); | ||
1548 | return 0; | ||
1549 | } | ||
810 | 1550 | ||
811 | public string llGetRegionName() | 1551 | public string llGetRegionName() |
812 | { | 1552 | { |
813 | return World.RegionInfo.RegionName; | 1553 | return World.RegionInfo.RegionName; |
814 | } | 1554 | } |
815 | 1555 | ||
816 | public double llGetRegionTimeDilation() { return 1.0f; } | 1556 | public double llGetRegionTimeDilation() |
817 | public double llGetRegionFPS() { return 10.0f; } | 1557 | { |
1558 | return 1.0f; | ||
1559 | } | ||
1560 | |||
1561 | public double llGetRegionFPS() | ||
1562 | { | ||
1563 | return 10.0f; | ||
1564 | } | ||
818 | 1565 | ||
819 | /* particle system rules should be coming into this routine as doubles, that is | 1566 | /* particle system rules should be coming into this routine as doubles, that is |
820 | rule[0] should be an integer from this list and rule[1] should be the arg | 1567 | rule[0] should be an integer from this list and rule[1] should be the arg |
@@ -824,6 +1571,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
824 | We iterate through the list for 'Count' elements, incrementing by two for each | 1571 | We iterate through the list for 'Count' elements, incrementing by two for each |
825 | iteration and set the members of Primitive.ParticleSystem, one at a time. | 1572 | iteration and set the members of Primitive.ParticleSystem, one at a time. |
826 | */ | 1573 | */ |
1574 | |||
827 | public enum PrimitiveRule : int | 1575 | public enum PrimitiveRule : int |
828 | { | 1576 | { |
829 | PSYS_PART_FLAGS = 0, | 1577 | PSYS_PART_FLAGS = 0, |
@@ -854,109 +1602,152 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
854 | Primitive.ParticleSystem prules = new Primitive.ParticleSystem(); | 1602 | Primitive.ParticleSystem prules = new Primitive.ParticleSystem(); |
855 | for (int i = 0; i < rules.Count; i += 2) | 1603 | for (int i = 0; i < rules.Count; i += 2) |
856 | { | 1604 | { |
857 | switch ((int)rules[i]) | 1605 | switch ((int) rules[i]) |
858 | { | 1606 | { |
859 | case (int)PrimitiveRule.PSYS_PART_FLAGS: | 1607 | case (int) PrimitiveRule.PSYS_PART_FLAGS: |
860 | prules.PartFlags = (uint)rules[i + 1]; | 1608 | prules.PartFlags = (uint) rules[i + 1]; |
861 | break; | 1609 | break; |
862 | 1610 | ||
863 | case (int)PrimitiveRule.PSYS_PART_START_COLOR: | 1611 | case (int) PrimitiveRule.PSYS_PART_START_COLOR: |
864 | prules.PartStartColor = (LLColor)rules[i + 1]; | 1612 | prules.PartStartColor = (LLColor) rules[i + 1]; |
865 | break; | 1613 | break; |
866 | 1614 | ||
867 | case (int)PrimitiveRule.PSYS_PART_START_ALPHA: | 1615 | case (int) PrimitiveRule.PSYS_PART_START_ALPHA: |
868 | //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; | 1616 | //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; |
869 | break; | 1617 | break; |
870 | 1618 | ||
871 | case (int)PrimitiveRule.PSYS_PART_END_COLOR: | 1619 | case (int) PrimitiveRule.PSYS_PART_END_COLOR: |
872 | prules.PartEndColor = (LLColor)rules[i + 1]; | 1620 | prules.PartEndColor = (LLColor) rules[i + 1]; |
873 | break; | 1621 | break; |
874 | 1622 | ||
875 | case (int)PrimitiveRule.PSYS_PART_END_ALPHA: | 1623 | case (int) PrimitiveRule.PSYS_PART_END_ALPHA: |
876 | //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; | 1624 | //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; |
877 | break; | 1625 | break; |
878 | 1626 | ||
879 | case (int)PrimitiveRule.PSYS_PART_START_SCALE: | 1627 | case (int) PrimitiveRule.PSYS_PART_START_SCALE: |
880 | //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; | 1628 | //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; |
881 | break; | 1629 | break; |
882 | 1630 | ||
883 | case (int)PrimitiveRule.PSYS_PART_END_SCALE: | 1631 | case (int) PrimitiveRule.PSYS_PART_END_SCALE: |
884 | //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; | 1632 | //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; |
885 | break; | 1633 | break; |
886 | 1634 | ||
887 | case (int)PrimitiveRule.PSYS_PART_MAX_AGE: | 1635 | case (int) PrimitiveRule.PSYS_PART_MAX_AGE: |
888 | prules.MaxAge = (float)rules[i + 1]; | 1636 | prules.MaxAge = (float) rules[i + 1]; |
889 | break; | 1637 | break; |
890 | 1638 | ||
891 | case (int)PrimitiveRule.PSYS_SRC_ACCEL: | 1639 | case (int) PrimitiveRule.PSYS_SRC_ACCEL: |
892 | //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; | 1640 | //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; |
893 | break; | 1641 | break; |
894 | 1642 | ||
895 | case (int)PrimitiveRule.PSYS_SRC_PATTERN: | 1643 | case (int) PrimitiveRule.PSYS_SRC_PATTERN: |
896 | //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; | 1644 | //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; |
897 | break; | 1645 | break; |
898 | 1646 | ||
899 | case (int)PrimitiveRule.PSYS_SRC_TEXTURE: | 1647 | case (int) PrimitiveRule.PSYS_SRC_TEXTURE: |
900 | prules.Texture = (LLUUID)rules[i + 1]; | 1648 | prules.Texture = (LLUUID) rules[i + 1]; |
901 | break; | 1649 | break; |
902 | 1650 | ||
903 | case (int)PrimitiveRule.PSYS_SRC_BURST_RATE: | 1651 | case (int) PrimitiveRule.PSYS_SRC_BURST_RATE: |
904 | prules.BurstRate = (float)rules[i + 1]; | 1652 | prules.BurstRate = (float) rules[i + 1]; |
905 | break; | 1653 | break; |
906 | 1654 | ||
907 | case (int)PrimitiveRule.PSYS_SRC_BURST_PART_COUNT: | 1655 | case (int) PrimitiveRule.PSYS_SRC_BURST_PART_COUNT: |
908 | prules.BurstPartCount = (byte)rules[i + 1]; | 1656 | prules.BurstPartCount = (byte) rules[i + 1]; |
909 | break; | 1657 | break; |
910 | 1658 | ||
911 | case (int)PrimitiveRule.PSYS_SRC_BURST_RADIUS: | 1659 | case (int) PrimitiveRule.PSYS_SRC_BURST_RADIUS: |
912 | prules.BurstRadius = (float)rules[i + 1]; | 1660 | prules.BurstRadius = (float) rules[i + 1]; |
913 | break; | 1661 | break; |
914 | 1662 | ||
915 | case (int)PrimitiveRule.PSYS_SRC_BURST_SPEED_MIN: | 1663 | case (int) PrimitiveRule.PSYS_SRC_BURST_SPEED_MIN: |
916 | prules.BurstSpeedMin = (float)rules[i + 1]; | 1664 | prules.BurstSpeedMin = (float) rules[i + 1]; |
917 | break; | 1665 | break; |
918 | 1666 | ||
919 | case (int)PrimitiveRule.PSYS_SRC_BURST_SPEED_MAX: | 1667 | case (int) PrimitiveRule.PSYS_SRC_BURST_SPEED_MAX: |
920 | prules.BurstSpeedMax = (float)rules[i + 1]; | 1668 | prules.BurstSpeedMax = (float) rules[i + 1]; |
921 | break; | 1669 | break; |
922 | 1670 | ||
923 | case (int)PrimitiveRule.PSYS_SRC_MAX_AGE: | 1671 | case (int) PrimitiveRule.PSYS_SRC_MAX_AGE: |
924 | prules.MaxAge = (float)rules[i + 1]; | 1672 | prules.MaxAge = (float) rules[i + 1]; |
925 | break; | 1673 | break; |
926 | 1674 | ||
927 | case (int)PrimitiveRule.PSYS_SRC_TARGET_KEY: | 1675 | case (int) PrimitiveRule.PSYS_SRC_TARGET_KEY: |
928 | prules.Target = (LLUUID)rules[i + 1]; | 1676 | prules.Target = (LLUUID) rules[i + 1]; |
929 | break; | 1677 | break; |
930 | 1678 | ||
931 | case (int)PrimitiveRule.PSYS_SRC_OMEGA: | 1679 | case (int) PrimitiveRule.PSYS_SRC_OMEGA: |
932 | //cast?? prules.MaxAge = (float)rules[i + 1]; | 1680 | //cast?? prules.MaxAge = (float)rules[i + 1]; |
933 | break; | 1681 | break; |
934 | 1682 | ||
935 | case (int)PrimitiveRule.PSYS_SRC_ANGLE_BEGIN: | 1683 | case (int) PrimitiveRule.PSYS_SRC_ANGLE_BEGIN: |
936 | prules.InnerAngle = (float)rules[i + 1]; | 1684 | prules.InnerAngle = (float) rules[i + 1]; |
937 | break; | 1685 | break; |
938 | 1686 | ||
939 | case (int)PrimitiveRule.PSYS_SRC_ANGLE_END: | 1687 | case (int) PrimitiveRule.PSYS_SRC_ANGLE_END: |
940 | prules.OuterAngle = (float)rules[i + 1]; | 1688 | prules.OuterAngle = (float) rules[i + 1]; |
941 | break; | 1689 | break; |
942 | |||
943 | } | 1690 | } |
944 | } | 1691 | } |
945 | 1692 | ||
946 | m_host.AddNewParticleSystem(prules); | 1693 | m_host.AddNewParticleSystem(prules); |
947 | } | 1694 | } |
948 | 1695 | ||
949 | public void llGroundRepel(double height, int water, double tau) { NotImplemented("llGroundRepel"); } | 1696 | public void llGroundRepel(double height, int water, double tau) |
950 | public void llGiveInventoryList() { NotImplemented("llGiveInventoryList"); } | 1697 | { |
951 | public void llSetVehicleType(int type) { NotImplemented("llSetVehicleType"); } | 1698 | NotImplemented("llGroundRepel"); |
952 | public void llSetVehicledoubleParam(int param, double value) { NotImplemented("llSetVehicledoubleParam"); } | 1699 | } |
953 | public void llSetVehicleVectorParam(int param, LSL_Types.Vector3 vec) { NotImplemented("llSetVehicleVectorParam"); } | 1700 | |
954 | public void llSetVehicleRotationParam(int param, LSL_Types.Quaternion rot) { NotImplemented("llSetVehicleRotationParam"); } | 1701 | public void llGiveInventoryList() |
955 | public void llSetVehicleFlags(int flags) { NotImplemented("llSetVehicleFlags"); } | 1702 | { |
956 | public void llRemoveVehicleFlags(int flags) { NotImplemented("llRemoveVehicleFlags"); } | 1703 | NotImplemented("llGiveInventoryList"); |
957 | public void llSitTarget(LSL_Types.Vector3 offset, LSL_Types.Quaternion rot) { NotImplemented("llSitTarget"); } | 1704 | } |
958 | public string llAvatarOnSitTarget() { NotImplemented("llAvatarOnSitTarget"); return ""; } | 1705 | |
959 | public void llAddToLandPassList(string avatar, double hours) { NotImplemented("llAddToLandPassList"); } | 1706 | public void llSetVehicleType(int type) |
1707 | { | ||
1708 | NotImplemented("llSetVehicleType"); | ||
1709 | } | ||
1710 | |||
1711 | public void llSetVehicledoubleParam(int param, double value) | ||
1712 | { | ||
1713 | NotImplemented("llSetVehicledoubleParam"); | ||
1714 | } | ||
1715 | |||
1716 | public void llSetVehicleVectorParam(int param, LSL_Types.Vector3 vec) | ||
1717 | { | ||
1718 | NotImplemented("llSetVehicleVectorParam"); | ||
1719 | } | ||
1720 | |||
1721 | public void llSetVehicleRotationParam(int param, LSL_Types.Quaternion rot) | ||
1722 | { | ||
1723 | NotImplemented("llSetVehicleRotationParam"); | ||
1724 | } | ||
1725 | |||
1726 | public void llSetVehicleFlags(int flags) | ||
1727 | { | ||
1728 | NotImplemented("llSetVehicleFlags"); | ||
1729 | } | ||
1730 | |||
1731 | public void llRemoveVehicleFlags(int flags) | ||
1732 | { | ||
1733 | NotImplemented("llRemoveVehicleFlags"); | ||
1734 | } | ||
1735 | |||
1736 | public void llSitTarget(LSL_Types.Vector3 offset, LSL_Types.Quaternion rot) | ||
1737 | { | ||
1738 | NotImplemented("llSitTarget"); | ||
1739 | } | ||
1740 | |||
1741 | public string llAvatarOnSitTarget() | ||
1742 | { | ||
1743 | NotImplemented("llAvatarOnSitTarget"); | ||
1744 | return ""; | ||
1745 | } | ||
1746 | |||
1747 | public void llAddToLandPassList(string avatar, double hours) | ||
1748 | { | ||
1749 | NotImplemented("llAddToLandPassList"); | ||
1750 | } | ||
960 | 1751 | ||
961 | public void llSetTouchText(string text) | 1752 | public void llSetTouchText(string text) |
962 | { | 1753 | { |
@@ -968,49 +1759,91 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
968 | m_host.SitName = text; | 1759 | m_host.SitName = text; |
969 | } | 1760 | } |
970 | 1761 | ||
971 | public void llSetCameraEyeOffset(LSL_Types.Vector3 offset) { NotImplemented("llSetCameraEyeOffset"); } | 1762 | public void llSetCameraEyeOffset(LSL_Types.Vector3 offset) |
972 | public void llSetCameraAtOffset(LSL_Types.Vector3 offset) { NotImplemented("llSetCameraAtOffset"); } | 1763 | { |
973 | public void llDumpList2String() { NotImplemented("llDumpList2String"); } | 1764 | NotImplemented("llSetCameraEyeOffset"); |
974 | public void llScriptDanger(LSL_Types.Vector3 pos) { NotImplemented("llScriptDanger"); } | 1765 | } |
975 | public void llDialog(string avatar, string message, List<string> buttons, int chat_channel) { NotImplemented("llDialog"); } | ||
976 | public void llVolumeDetect(int detect) { NotImplemented("llVolumeDetect"); } | ||
977 | public void llResetOtherScript(string name) { NotImplemented("llResetOtherScript"); } | ||
978 | 1766 | ||
979 | public int llGetScriptState(string name) { NotImplemented("llGetScriptState"); return 0; } | 1767 | public void llSetCameraAtOffset(LSL_Types.Vector3 offset) |
1768 | { | ||
1769 | NotImplemented("llSetCameraAtOffset"); | ||
1770 | } | ||
980 | 1771 | ||
981 | public void llRemoteLoadScript() { NotImplemented("llRemoteLoadScript"); } | 1772 | public void llDumpList2String() |
982 | public void llSetRemoteScriptAccessPin(int pin) { NotImplemented("llSetRemoteScriptAccessPin"); } | 1773 | { |
983 | public void llRemoteLoadScriptPin(string target, string name, int pin, int running, int start_param) { NotImplemented("llRemoteLoadScriptPin"); } | 1774 | NotImplemented("llDumpList2String"); |
1775 | } | ||
1776 | |||
1777 | public void llScriptDanger(LSL_Types.Vector3 pos) | ||
1778 | { | ||
1779 | NotImplemented("llScriptDanger"); | ||
1780 | } | ||
1781 | |||
1782 | public void llDialog(string avatar, string message, List<string> buttons, int chat_channel) | ||
1783 | { | ||
1784 | NotImplemented("llDialog"); | ||
1785 | } | ||
1786 | |||
1787 | public void llVolumeDetect(int detect) | ||
1788 | { | ||
1789 | NotImplemented("llVolumeDetect"); | ||
1790 | } | ||
1791 | |||
1792 | public void llResetOtherScript(string name) | ||
1793 | { | ||
1794 | NotImplemented("llResetOtherScript"); | ||
1795 | } | ||
1796 | |||
1797 | public int llGetScriptState(string name) | ||
1798 | { | ||
1799 | NotImplemented("llGetScriptState"); | ||
1800 | return 0; | ||
1801 | } | ||
1802 | |||
1803 | public void llRemoteLoadScript() | ||
1804 | { | ||
1805 | NotImplemented("llRemoteLoadScript"); | ||
1806 | } | ||
1807 | |||
1808 | public void llSetRemoteScriptAccessPin(int pin) | ||
1809 | { | ||
1810 | NotImplemented("llSetRemoteScriptAccessPin"); | ||
1811 | } | ||
1812 | |||
1813 | public void llRemoteLoadScriptPin(string target, string name, int pin, int running, int start_param) | ||
1814 | { | ||
1815 | NotImplemented("llRemoteLoadScriptPin"); | ||
1816 | } | ||
984 | 1817 | ||
985 | // remote_data(integer type, key channel, key message_id, string sender, integer ival, string sval) | 1818 | // remote_data(integer type, key channel, key message_id, string sender, integer ival, string sval) |
986 | // Not sure where these constants should live: | 1819 | // Not sure where these constants should live: |
987 | // REMOTE_DATA_CHANNEL = 1 | 1820 | // REMOTE_DATA_CHANNEL = 1 |
988 | // REMOTE_DATA_REQUEST = 2 | 1821 | // REMOTE_DATA_REQUEST = 2 |
989 | // REMOTE_DATA_REPLY = 3 | 1822 | // REMOTE_DATA_REPLY = 3 |
990 | public void llOpenRemoteDataChannel() { | 1823 | public void llOpenRemoteDataChannel() |
991 | 1824 | { | |
992 | IXMLRPC xmlrpcMod = m_ScriptEngine.World.RequestModuleInterface<IXMLRPC>(); | 1825 | IXMLRPC xmlrpcMod = m_ScriptEngine.World.RequestModuleInterface<IXMLRPC>(); |
993 | LLUUID channelID = xmlrpcMod.OpenXMLRPCChannel(m_localID, m_itemID); | 1826 | LLUUID channelID = xmlrpcMod.OpenXMLRPCChannel(m_localID, m_itemID); |
994 | object[] resobj = new object[] { 1, channelID.ToString(), LLUUID.Zero.ToString(), "", 0, "" }; | 1827 | object[] resobj = new object[] {1, channelID.ToString(), LLUUID.Zero.ToString(), "", 0, ""}; |
995 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(m_localID, m_itemID, "remote_data", resobj); | 1828 | m_ScriptEngine.m_EventQueueManager.AddToScriptQueue(m_localID, m_itemID, "remote_data", resobj); |
996 | |||
997 | } | 1829 | } |
998 | 1830 | ||
999 | public string llSendRemoteData(string channel, string dest, int idata, string sdata) { NotImplemented("llSendRemoteData"); return ""; } | 1831 | public string llSendRemoteData(string channel, string dest, int idata, string sdata) |
1832 | { | ||
1833 | NotImplemented("llSendRemoteData"); | ||
1834 | return ""; | ||
1835 | } | ||
1000 | 1836 | ||
1001 | public void llRemoteDataReply(string channel, string message_id, string sdata, int idata) | 1837 | public void llRemoteDataReply(string channel, string message_id, string sdata, int idata) |
1002 | { | 1838 | { |
1003 | |||
1004 | IXMLRPC xmlrpcMod = m_ScriptEngine.World.RequestModuleInterface<IXMLRPC>(); | 1839 | IXMLRPC xmlrpcMod = m_ScriptEngine.World.RequestModuleInterface<IXMLRPC>(); |
1005 | xmlrpcMod.RemoteDataReply(channel, message_id, sdata, idata); | 1840 | xmlrpcMod.RemoteDataReply(channel, message_id, sdata, idata); |
1006 | |||
1007 | } | 1841 | } |
1008 | |||
1009 | public void llCloseRemoteDataChannel(string channel) { | ||
1010 | 1842 | ||
1843 | public void llCloseRemoteDataChannel(string channel) | ||
1844 | { | ||
1011 | IXMLRPC xmlrpcMod = m_ScriptEngine.World.RequestModuleInterface<IXMLRPC>(); | 1845 | IXMLRPC xmlrpcMod = m_ScriptEngine.World.RequestModuleInterface<IXMLRPC>(); |
1012 | xmlrpcMod.CloseXMLRPCChannel(channel); | 1846 | xmlrpcMod.CloseXMLRPCChannel(channel); |
1013 | |||
1014 | } | 1847 | } |
1015 | 1848 | ||
1016 | public string llMD5String(string src, int nonce) | 1849 | public string llMD5String(string src, int nonce) |
@@ -1018,14 +1851,17 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
1018 | return Util.Md5Hash(src + ":" + nonce.ToString()); | 1851 | return Util.Md5Hash(src + ":" + nonce.ToString()); |
1019 | } | 1852 | } |
1020 | 1853 | ||
1021 | public void llSetPrimitiveParams(List<string> rules) { NotImplemented("llSetPrimitiveParams"); } | 1854 | public void llSetPrimitiveParams(List<string> rules) |
1022 | public string llStringToBase64(string str) | ||
1023 | { | 1855 | { |
1856 | NotImplemented("llSetPrimitiveParams"); | ||
1857 | } | ||
1024 | 1858 | ||
1859 | public string llStringToBase64(string str) | ||
1860 | { | ||
1025 | try | 1861 | try |
1026 | { | 1862 | { |
1027 | byte[] encData_byte = new byte[str.Length]; | 1863 | byte[] encData_byte = new byte[str.Length]; |
1028 | encData_byte = System.Text.Encoding.UTF8.GetBytes(str); | 1864 | encData_byte = Encoding.UTF8.GetBytes(str); |
1029 | string encodedData = Convert.ToBase64String(encData_byte); | 1865 | string encodedData = Convert.ToBase64String(encData_byte); |
1030 | return encodedData; | 1866 | return encodedData; |
1031 | } | 1867 | } |
@@ -1037,11 +1873,10 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
1037 | 1873 | ||
1038 | public string llBase64ToString(string str) | 1874 | public string llBase64ToString(string str) |
1039 | { | 1875 | { |
1040 | System.Text.UTF8Encoding encoder = new System.Text.UTF8Encoding(); | 1876 | UTF8Encoding encoder = new UTF8Encoding(); |
1041 | System.Text.Decoder utf8Decode = encoder.GetDecoder(); | 1877 | Decoder utf8Decode = encoder.GetDecoder(); |
1042 | try | 1878 | try |
1043 | { | 1879 | { |
1044 | |||
1045 | byte[] todecode_byte = Convert.FromBase64String(str); | 1880 | byte[] todecode_byte = Convert.FromBase64String(str); |
1046 | int charCount = utf8Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length); | 1881 | int charCount = utf8Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length); |
1047 | char[] decoded_char = new char[charCount]; | 1882 | char[] decoded_char = new char[charCount]; |
@@ -1054,16 +1889,49 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
1054 | throw new Exception("Error in base64Decode" + e.Message); | 1889 | throw new Exception("Error in base64Decode" + e.Message); |
1055 | } | 1890 | } |
1056 | } | 1891 | } |
1057 | public void llXorBase64Strings() { throw new Exception("Command deprecated! Use llXorBase64StringsCorrect instead."); } | ||
1058 | public void llRemoteDataSetRegion() { NotImplemented("llRemoteDataSetRegion"); } | ||
1059 | public double llLog10(double val) { return (double)Math.Log10(val); } | ||
1060 | public double llLog(double val) { return (double)Math.Log(val); } | ||
1061 | public List<string> llGetAnimationList(string id) { NotImplemented("llGetAnimationList"); return new List<string>(); } | ||
1062 | public void llSetParcelMusicURL(string url) { NotImplemented("llSetParcelMusicURL"); } | ||
1063 | 1892 | ||
1064 | public LSL_Types.Vector3 llGetRootPosition() { NotImplemented("llGetRootPosition"); return new LSL_Types.Vector3(); } | 1893 | public void llXorBase64Strings() |
1894 | { | ||
1895 | throw new Exception("Command deprecated! Use llXorBase64StringsCorrect instead."); | ||
1896 | } | ||
1897 | |||
1898 | public void llRemoteDataSetRegion() | ||
1899 | { | ||
1900 | NotImplemented("llRemoteDataSetRegion"); | ||
1901 | } | ||
1902 | |||
1903 | public double llLog10(double val) | ||
1904 | { | ||
1905 | return (double) Math.Log10(val); | ||
1906 | } | ||
1065 | 1907 | ||
1066 | public LSL_Types.Quaternion llGetRootRotation() { NotImplemented("llGetRootRotation"); return new LSL_Types.Quaternion(); } | 1908 | public double llLog(double val) |
1909 | { | ||
1910 | return (double) Math.Log(val); | ||
1911 | } | ||
1912 | |||
1913 | public List<string> llGetAnimationList(string id) | ||
1914 | { | ||
1915 | NotImplemented("llGetAnimationList"); | ||
1916 | return new List<string>(); | ||
1917 | } | ||
1918 | |||
1919 | public void llSetParcelMusicURL(string url) | ||
1920 | { | ||
1921 | NotImplemented("llSetParcelMusicURL"); | ||
1922 | } | ||
1923 | |||
1924 | public LSL_Types.Vector3 llGetRootPosition() | ||
1925 | { | ||
1926 | NotImplemented("llGetRootPosition"); | ||
1927 | return new LSL_Types.Vector3(); | ||
1928 | } | ||
1929 | |||
1930 | public LSL_Types.Quaternion llGetRootRotation() | ||
1931 | { | ||
1932 | NotImplemented("llGetRootRotation"); | ||
1933 | return new LSL_Types.Quaternion(); | ||
1934 | } | ||
1067 | 1935 | ||
1068 | public string llGetObjectDesc() | 1936 | public string llGetObjectDesc() |
1069 | { | 1937 | { |
@@ -1080,20 +1948,55 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
1080 | return m_host.ObjectCreator.ToStringHyphenated(); | 1948 | return m_host.ObjectCreator.ToStringHyphenated(); |
1081 | } | 1949 | } |
1082 | 1950 | ||
1083 | public string llGetTimestamp() { return DateTime.Now.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffffffZ"); } | 1951 | public string llGetTimestamp() |
1084 | public void llSetLinkAlpha(int linknumber, double alpha, int face) { NotImplemented("llSetLinkAlpha"); } | 1952 | { |
1085 | public int llGetNumberOfPrims() { NotImplemented("llGetNumberOfPrims"); return 0; } | 1953 | return DateTime.Now.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffffffZ"); |
1086 | public string llGetNumberOfNotecardLines(string name) { NotImplemented("llGetNumberOfNotecardLines"); return ""; } | 1954 | } |
1087 | public List<string> llGetBoundingBox(string obj) { NotImplemented("llGetBoundingBox"); return new List<string>(); } | 1955 | |
1088 | public LSL_Types.Vector3 llGetGeometricCenter() { NotImplemented("llGetGeometricCenter"); return new LSL_Types.Vector3(); } | 1956 | public void llSetLinkAlpha(int linknumber, double alpha, int face) |
1089 | public void llGetPrimitiveParams() { NotImplemented("llGetPrimitiveParams"); } | 1957 | { |
1958 | NotImplemented("llSetLinkAlpha"); | ||
1959 | } | ||
1960 | |||
1961 | public int llGetNumberOfPrims() | ||
1962 | { | ||
1963 | NotImplemented("llGetNumberOfPrims"); | ||
1964 | return 0; | ||
1965 | } | ||
1966 | |||
1967 | public string llGetNumberOfNotecardLines(string name) | ||
1968 | { | ||
1969 | NotImplemented("llGetNumberOfNotecardLines"); | ||
1970 | return ""; | ||
1971 | } | ||
1972 | |||
1973 | public List<string> llGetBoundingBox(string obj) | ||
1974 | { | ||
1975 | NotImplemented("llGetBoundingBox"); | ||
1976 | return new List<string>(); | ||
1977 | } | ||
1978 | |||
1979 | public LSL_Types.Vector3 llGetGeometricCenter() | ||
1980 | { | ||
1981 | NotImplemented("llGetGeometricCenter"); | ||
1982 | return new LSL_Types.Vector3(); | ||
1983 | } | ||
1984 | |||
1985 | public void llGetPrimitiveParams() | ||
1986 | { | ||
1987 | NotImplemented("llGetPrimitiveParams"); | ||
1988 | } | ||
1989 | |||
1090 | public string llIntegerToBase64(int number) | 1990 | public string llIntegerToBase64(int number) |
1091 | { | 1991 | { |
1092 | NotImplemented("llIntegerToBase64"); return ""; | 1992 | NotImplemented("llIntegerToBase64"); |
1993 | return ""; | ||
1093 | } | 1994 | } |
1995 | |||
1094 | public int llBase64ToInteger(string str) | 1996 | public int llBase64ToInteger(string str) |
1095 | { | 1997 | { |
1096 | NotImplemented("llBase64ToInteger"); return 0; | 1998 | NotImplemented("llBase64ToInteger"); |
1999 | return 0; | ||
1097 | } | 2000 | } |
1098 | 2001 | ||
1099 | public double llGetGMTclock() | 2002 | public double llGetGMTclock() |
@@ -1106,31 +2009,92 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
1106 | return System.Environment.MachineName; | 2009 | return System.Environment.MachineName; |
1107 | } | 2010 | } |
1108 | 2011 | ||
1109 | public void llSetLocalRot(LSL_Types.Quaternion rot) { NotImplemented("llSetLocalRot"); } | 2012 | public void llSetLocalRot(LSL_Types.Quaternion rot) |
1110 | public List<string> llParseStringKeepNulls(string src, List<string> seperators, List<string> spacers) { NotImplemented("llParseStringKeepNulls"); return new List<string>(); } | 2013 | { |
1111 | public void llRezAtRoot(string inventory, LSL_Types.Vector3 position, LSL_Types.Vector3 velocity, LSL_Types.Quaternion rot, int param) { NotImplemented("llRezAtRoot"); } | 2014 | NotImplemented("llSetLocalRot"); |
2015 | } | ||
1112 | 2016 | ||
1113 | public int llGetObjectPermMask(int mask) { NotImplemented("llGetObjectPermMask"); return 0; } | 2017 | public List<string> llParseStringKeepNulls(string src, List<string> seperators, List<string> spacers) |
2018 | { | ||
2019 | NotImplemented("llParseStringKeepNulls"); | ||
2020 | return new List<string>(); | ||
2021 | } | ||
1114 | 2022 | ||
1115 | public void llSetObjectPermMask(int mask, int value) { NotImplemented("llSetObjectPermMask"); } | 2023 | public void llRezAtRoot(string inventory, LSL_Types.Vector3 position, LSL_Types.Vector3 velocity, |
2024 | LSL_Types.Quaternion rot, int param) | ||
2025 | { | ||
2026 | NotImplemented("llRezAtRoot"); | ||
2027 | } | ||
1116 | 2028 | ||
1117 | public void llGetInventoryPermMask(string item, int mask) { NotImplemented("llGetInventoryPermMask"); } | 2029 | public int llGetObjectPermMask(int mask) |
1118 | public void llSetInventoryPermMask(string item, int mask, int value) { NotImplemented("llSetInventoryPermMask"); } | 2030 | { |
1119 | public string llGetInventoryCreator(string item) { NotImplemented("llGetInventoryCreator"); return ""; } | 2031 | NotImplemented("llGetObjectPermMask"); |
1120 | public void llOwnerSay(string msg) { NotImplemented("llOwnerSay"); } | 2032 | return 0; |
1121 | public void llRequestSimulatorData(string simulator, int data) { NotImplemented("llRequestSimulatorData"); } | 2033 | } |
1122 | public void llForceMouselook(int mouselook) { NotImplemented("llForceMouselook"); } | 2034 | |
1123 | public double llGetObjectMass(string id) { NotImplemented("llGetObjectMass"); return 0; } | 2035 | public void llSetObjectPermMask(int mask, int value) |
1124 | public void llListReplaceList() { NotImplemented("llListReplaceList"); } | 2036 | { |
2037 | NotImplemented("llSetObjectPermMask"); | ||
2038 | } | ||
2039 | |||
2040 | public void llGetInventoryPermMask(string item, int mask) | ||
2041 | { | ||
2042 | NotImplemented("llGetInventoryPermMask"); | ||
2043 | } | ||
2044 | |||
2045 | public void llSetInventoryPermMask(string item, int mask, int value) | ||
2046 | { | ||
2047 | NotImplemented("llSetInventoryPermMask"); | ||
2048 | } | ||
2049 | |||
2050 | public string llGetInventoryCreator(string item) | ||
2051 | { | ||
2052 | NotImplemented("llGetInventoryCreator"); | ||
2053 | return ""; | ||
2054 | } | ||
2055 | |||
2056 | public void llOwnerSay(string msg) | ||
2057 | { | ||
2058 | NotImplemented("llOwnerSay"); | ||
2059 | } | ||
2060 | |||
2061 | public void llRequestSimulatorData(string simulator, int data) | ||
2062 | { | ||
2063 | NotImplemented("llRequestSimulatorData"); | ||
2064 | } | ||
2065 | |||
2066 | public void llForceMouselook(int mouselook) | ||
2067 | { | ||
2068 | NotImplemented("llForceMouselook"); | ||
2069 | } | ||
2070 | |||
2071 | public double llGetObjectMass(string id) | ||
2072 | { | ||
2073 | NotImplemented("llGetObjectMass"); | ||
2074 | return 0; | ||
2075 | } | ||
2076 | |||
2077 | public void llListReplaceList() | ||
2078 | { | ||
2079 | NotImplemented("llListReplaceList"); | ||
2080 | } | ||
1125 | 2081 | ||
1126 | public void llLoadURL(string avatar_id, string message, string url) | 2082 | public void llLoadURL(string avatar_id, string message, string url) |
1127 | { | 2083 | { |
1128 | LLUUID avatarId = new LLUUID(avatar_id); | 2084 | LLUUID avatarId = new LLUUID(avatar_id); |
1129 | m_ScriptEngine.World.SendUrlToUser(avatarId, m_host.Name, m_host.UUID, m_host.ObjectOwner, false, message, url); | 2085 | m_ScriptEngine.World.SendUrlToUser(avatarId, m_host.Name, m_host.UUID, m_host.ObjectOwner, false, message, |
2086 | url); | ||
1130 | } | 2087 | } |
1131 | 2088 | ||
1132 | public void llParcelMediaCommandList(List<string> commandList) { NotImplemented("llParcelMediaCommandList"); } | 2089 | public void llParcelMediaCommandList(List<string> commandList) |
1133 | public void llParcelMediaQuery() { NotImplemented("llParcelMediaQuery"); } | 2090 | { |
2091 | NotImplemented("llParcelMediaCommandList"); | ||
2092 | } | ||
2093 | |||
2094 | public void llParcelMediaQuery() | ||
2095 | { | ||
2096 | NotImplemented("llParcelMediaQuery"); | ||
2097 | } | ||
1134 | 2098 | ||
1135 | public int llModPow(int a, int b, int c) | 2099 | public int llModPow(int a, int b, int c) |
1136 | { | 2100 | { |
@@ -1139,13 +2103,38 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
1139 | return Convert.ToInt32(tmp); | 2103 | return Convert.ToInt32(tmp); |
1140 | } | 2104 | } |
1141 | 2105 | ||
1142 | public int llGetInventoryType(string name) { NotImplemented("llGetInventoryType"); return 0; } | 2106 | public int llGetInventoryType(string name) |
2107 | { | ||
2108 | NotImplemented("llGetInventoryType"); | ||
2109 | return 0; | ||
2110 | } | ||
2111 | |||
2112 | public void llSetPayPrice(int price, List<string> quick_pay_buttons) | ||
2113 | { | ||
2114 | NotImplemented("llSetPayPrice"); | ||
2115 | } | ||
2116 | |||
2117 | public LSL_Types.Vector3 llGetCameraPos() | ||
2118 | { | ||
2119 | NotImplemented("llGetCameraPos"); | ||
2120 | return new LSL_Types.Vector3(); | ||
2121 | } | ||
2122 | |||
2123 | public LSL_Types.Quaternion llGetCameraRot() | ||
2124 | { | ||
2125 | NotImplemented("llGetCameraRot"); | ||
2126 | return new LSL_Types.Quaternion(); | ||
2127 | } | ||
2128 | |||
2129 | public void llSetPrimURL() | ||
2130 | { | ||
2131 | NotImplemented("llSetPrimURL"); | ||
2132 | } | ||
1143 | 2133 | ||
1144 | public void llSetPayPrice(int price, List<string> quick_pay_buttons) { NotImplemented("llSetPayPrice"); } | 2134 | public void llRefreshPrimURL() |
1145 | public LSL_Types.Vector3 llGetCameraPos() { NotImplemented("llGetCameraPos"); return new LSL_Types.Vector3(); } | 2135 | { |
1146 | public LSL_Types.Quaternion llGetCameraRot() { NotImplemented("llGetCameraRot"); return new LSL_Types.Quaternion(); } | 2136 | NotImplemented("llRefreshPrimURL"); |
1147 | public void llSetPrimURL() { NotImplemented("llSetPrimURL"); } | 2137 | } |
1148 | public void llRefreshPrimURL() { NotImplemented("llRefreshPrimURL"); } | ||
1149 | 2138 | ||
1150 | public string llEscapeURL(string url) | 2139 | public string llEscapeURL(string url) |
1151 | { | 2140 | { |
@@ -1170,21 +2159,60 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
1170 | return "llUnescapeURL: " + ex.ToString(); | 2159 | return "llUnescapeURL: " + ex.ToString(); |
1171 | } | 2160 | } |
1172 | } | 2161 | } |
1173 | public void llMapDestination(string simname, LSL_Types.Vector3 pos, LSL_Types.Vector3 look_at) { NotImplemented("llMapDestination"); } | 2162 | |
1174 | public void llAddToLandBanList(string avatar, double hours) { NotImplemented("llAddToLandBanList"); } | 2163 | public void llMapDestination(string simname, LSL_Types.Vector3 pos, LSL_Types.Vector3 look_at) |
1175 | public void llRemoveFromLandPassList(string avatar) { NotImplemented("llRemoveFromLandPassList"); } | 2164 | { |
1176 | public void llRemoveFromLandBanList(string avatar) { NotImplemented("llRemoveFromLandBanList"); } | 2165 | NotImplemented("llMapDestination"); |
1177 | public void llSetCameraParams(List<string> rules) { NotImplemented("llSetCameraParams"); } | 2166 | } |
1178 | public void llClearCameraParams() { NotImplemented("llClearCameraParams"); } | 2167 | |
1179 | public double llListStatistics(int operation, List<string> src) { NotImplemented("llListStatistics"); return 0; } | 2168 | public void llAddToLandBanList(string avatar, double hours) |
2169 | { | ||
2170 | NotImplemented("llAddToLandBanList"); | ||
2171 | } | ||
2172 | |||
2173 | public void llRemoveFromLandPassList(string avatar) | ||
2174 | { | ||
2175 | NotImplemented("llRemoveFromLandPassList"); | ||
2176 | } | ||
2177 | |||
2178 | public void llRemoveFromLandBanList(string avatar) | ||
2179 | { | ||
2180 | NotImplemented("llRemoveFromLandBanList"); | ||
2181 | } | ||
2182 | |||
2183 | public void llSetCameraParams(List<string> rules) | ||
2184 | { | ||
2185 | NotImplemented("llSetCameraParams"); | ||
2186 | } | ||
2187 | |||
2188 | public void llClearCameraParams() | ||
2189 | { | ||
2190 | NotImplemented("llClearCameraParams"); | ||
2191 | } | ||
2192 | |||
2193 | public double llListStatistics(int operation, List<string> src) | ||
2194 | { | ||
2195 | NotImplemented("llListStatistics"); | ||
2196 | return 0; | ||
2197 | } | ||
1180 | 2198 | ||
1181 | public int llGetUnixTime() | 2199 | public int llGetUnixTime() |
1182 | { | 2200 | { |
1183 | return Util.UnixTimeSinceEpoch(); | 2201 | return Util.UnixTimeSinceEpoch(); |
1184 | } | 2202 | } |
1185 | 2203 | ||
1186 | public int llGetParcelFlags(LSL_Types.Vector3 pos) { NotImplemented("llGetParcelFlags"); return 0; } | 2204 | public int llGetParcelFlags(LSL_Types.Vector3 pos) |
1187 | public int llGetRegionFlags() { NotImplemented("llGetRegionFlags"); return 0; } | 2205 | { |
2206 | NotImplemented("llGetParcelFlags"); | ||
2207 | return 0; | ||
2208 | } | ||
2209 | |||
2210 | public int llGetRegionFlags() | ||
2211 | { | ||
2212 | NotImplemented("llGetRegionFlags"); | ||
2213 | return 0; | ||
2214 | } | ||
2215 | |||
1188 | public string llXorBase64StringsCorrect(string str1, string str2) | 2216 | public string llXorBase64StringsCorrect(string str1, string str2) |
1189 | { | 2217 | { |
1190 | string ret = ""; | 2218 | string ret = ""; |
@@ -1201,27 +2229,64 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
1201 | } | 2229 | } |
1202 | return llStringToBase64(ret); | 2230 | return llStringToBase64(ret); |
1203 | } | 2231 | } |
2232 | |||
1204 | public void llHTTPRequest(string url, List<string> parameters, string body) | 2233 | public void llHTTPRequest(string url, List<string> parameters, string body) |
1205 | { | 2234 | { |
1206 | m_ScriptEngine.m_LSLLongCmdHandler.StartHttpRequest(m_localID, m_itemID, url, parameters, body); | 2235 | m_ScriptEngine.m_LSLLongCmdHandler.StartHttpRequest(m_localID, m_itemID, url, parameters, body); |
1207 | } | 2236 | } |
1208 | public void llResetLandBanList() { NotImplemented("llResetLandBanList"); } | 2237 | |
1209 | public void llResetLandPassList() { NotImplemented("llResetLandPassList"); } | 2238 | public void llResetLandBanList() |
1210 | public int llGetParcelPrimCount(LSL_Types.Vector3 pos, int category, int sim_wide) { NotImplemented("llGetParcelPrimCount"); return 0; } | 2239 | { |
1211 | public List<string> llGetParcelPrimOwners(LSL_Types.Vector3 pos) { NotImplemented("llGetParcelPrimOwners"); return new List<string>(); } | 2240 | NotImplemented("llResetLandBanList"); |
1212 | public int llGetObjectPrimCount(string object_id) { NotImplemented("llGetObjectPrimCount"); return 0; } | 2241 | } |
1213 | public int llGetParcelMaxPrims(LSL_Types.Vector3 pos, int sim_wide) { NotImplemented("llGetParcelMaxPrims"); return 0; } | 2242 | |
1214 | public List<string> llGetParcelDetails(LSL_Types.Vector3 pos, List<string> param) { NotImplemented("llGetParcelDetails"); return new List<string>(); } | 2243 | public void llResetLandPassList() |
2244 | { | ||
2245 | NotImplemented("llResetLandPassList"); | ||
2246 | } | ||
2247 | |||
2248 | public int llGetParcelPrimCount(LSL_Types.Vector3 pos, int category, int sim_wide) | ||
2249 | { | ||
2250 | NotImplemented("llGetParcelPrimCount"); | ||
2251 | return 0; | ||
2252 | } | ||
2253 | |||
2254 | public List<string> llGetParcelPrimOwners(LSL_Types.Vector3 pos) | ||
2255 | { | ||
2256 | NotImplemented("llGetParcelPrimOwners"); | ||
2257 | return new List<string>(); | ||
2258 | } | ||
2259 | |||
2260 | public int llGetObjectPrimCount(string object_id) | ||
2261 | { | ||
2262 | NotImplemented("llGetObjectPrimCount"); | ||
2263 | return 0; | ||
2264 | } | ||
2265 | |||
2266 | public int llGetParcelMaxPrims(LSL_Types.Vector3 pos, int sim_wide) | ||
2267 | { | ||
2268 | NotImplemented("llGetParcelMaxPrims"); | ||
2269 | return 0; | ||
2270 | } | ||
2271 | |||
2272 | public List<string> llGetParcelDetails(LSL_Types.Vector3 pos, List<string> param) | ||
2273 | { | ||
2274 | NotImplemented("llGetParcelDetails"); | ||
2275 | return new List<string>(); | ||
2276 | } | ||
1215 | 2277 | ||
1216 | // | 2278 | // |
1217 | // OpenSim functions | 2279 | // OpenSim functions |
1218 | // | 2280 | // |
1219 | public string osSetDynamicTextureURL(string dynamicID, string contentType, string url, string extraParams, int timer) | 2281 | public string osSetDynamicTextureURL(string dynamicID, string contentType, string url, string extraParams, |
2282 | int timer) | ||
1220 | { | 2283 | { |
1221 | if (dynamicID == "") | 2284 | if (dynamicID == "") |
1222 | { | 2285 | { |
1223 | IDynamicTextureManager textureManager = this.World.RequestModuleInterface<IDynamicTextureManager>(); | 2286 | IDynamicTextureManager textureManager = World.RequestModuleInterface<IDynamicTextureManager>(); |
1224 | LLUUID createdTexture = textureManager.AddDynamicTextureURL(World.RegionInfo.RegionID, this.m_host.UUID, contentType, url, extraParams, timer); | 2287 | LLUUID createdTexture = |
2288 | textureManager.AddDynamicTextureURL(World.RegionInfo.RegionID, m_host.UUID, contentType, url, | ||
2289 | extraParams, timer); | ||
1225 | return createdTexture.ToStringHyphenated(); | 2290 | return createdTexture.ToStringHyphenated(); |
1226 | } | 2291 | } |
1227 | else | 2292 | else |
@@ -1237,6 +2302,5 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler | |||
1237 | if (throwErrorOnNotImplemented) | 2302 | if (throwErrorOnNotImplemented) |
1238 | throw new NotImplementedException("Command not implemented: " + Command); | 2303 | throw new NotImplementedException("Command not implemented: " + Command); |
1239 | } | 2304 | } |
1240 | |||
1241 | } | 2305 | } |
1242 | } | 2306 | } \ No newline at end of file |