aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs')
-rw-r--r--OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs472
1 files changed, 472 insertions, 0 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
new file mode 100644
index 0000000..8c2e799
--- /dev/null
+++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs
@@ -0,0 +1,472 @@
1using System;
2using System.Collections.Generic;
3using System.Text;
4using libsecondlife;
5using OpenSim.Region.Environment.Scenes;
6using OpenSim.Region.Environment.Scenes.Scripting;
7using OpenSim.Region.ScriptEngine.DotNetEngine.Compiler;
8using OpenSim.Region.ScriptEngine.Common;
9using OpenSim.Framework.Console;
10
11namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler
12{
13
14 /// <summary>
15 /// Contains all LSL ll-functions. This class will be in Default AppDomain.
16 /// </summary>
17 [Serializable]
18 public class LSL_BuiltIn_Commands: LSL_BuiltIn_Commands_Interface
19 {
20 private System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
21 private ScriptManager m_manager;
22 private IScriptHost m_host;
23
24 public LSL_BuiltIn_Commands(ScriptManager manager, IScriptHost host)
25 {
26 m_manager = manager;
27 m_host = host;
28
29 MainLog.Instance.Notice("ScriptEngine", "LSL_BaseClass.Start() called. Hosted by [" + m_host.Name + ":" + m_host.UUID + "@" + m_host.AbsolutePosition + "]");
30 }
31
32
33 public string State = "default";
34
35 public Scene World
36 {
37 get { return m_manager.World; }
38 }
39
40 //These are the implementations of the various ll-functions used by the LSL scripts.
41 //starting out, we use the System.Math library for trig functions. - CFK 8-14-07
42 public double llSin(double f) { return (double)Math.Sin(f); }
43 public double llCos(double f) { return (double)Math.Cos(f); }
44 public double llTan(double f) { return (double)Math.Tan(f); }
45 public double llAtan2(double x, double y) { return (double)Math.Atan2(y, x); }
46 public double llSqrt(double f) { return (double)Math.Sqrt(f); }
47 public double llPow(double fbase, double fexponent) { return (double)Math.Pow(fbase, fexponent); }
48 public int llAbs(int i) { return (int)Math.Abs(i); }
49 public double llFabs(double f) { return (double)Math.Abs(f); }
50
51 public double llFrand(double mag)
52 {
53 lock (OpenSim.Framework.Utilities.Util.RandomClass)
54 {
55 return OpenSim.Framework.Utilities.Util.RandomClass.Next((int)mag);
56 }
57 }
58 public int llFloor(double f) { return (int)Math.Floor(f); }
59 public int llCeil(double f) { return (int)Math.Ceiling(f); }
60 public int llRound(double f) { return (int)Math.Round(f, 1); }
61 public double llVecMag(Axiom.Math.Vector3 v) { return 0; }
62 public Axiom.Math.Vector3 llVecNorm(Axiom.Math.Vector3 v) { return new Axiom.Math.Vector3(); }
63 public double llVecDist(Axiom.Math.Vector3 a, Axiom.Math.Vector3 b) { return 0; }
64 public Axiom.Math.Vector3 llRot2Euler(Axiom.Math.Quaternion r) { return new Axiom.Math.Vector3(); }
65 public Axiom.Math.Quaternion llEuler2Rot(Axiom.Math.Vector3 v) { return new Axiom.Math.Quaternion(); }
66 public Axiom.Math.Quaternion llAxes2Rot(Axiom.Math.Vector3 fwd, Axiom.Math.Vector3 left, Axiom.Math.Vector3 up) { return new Axiom.Math.Quaternion(); }
67 public Axiom.Math.Vector3 llRot2Fwd(Axiom.Math.Quaternion r) { return new Axiom.Math.Vector3(); }
68 public Axiom.Math.Vector3 llRot2Left(Axiom.Math.Quaternion r) { return new Axiom.Math.Vector3(); }
69 public Axiom.Math.Vector3 llRot2Up(Axiom.Math.Quaternion r) { return new Axiom.Math.Vector3(); }
70 public Axiom.Math.Quaternion llRotBetween(Axiom.Math.Vector3 start, Axiom.Math.Vector3 end) { return new Axiom.Math.Quaternion(); }
71
72 public void llWhisper(int channelID, string text)
73 {
74 //Common.SendToDebug("INTERNAL FUNCTION llWhisper(" + channelID + ", \"" + text + "\");");
75 Console.WriteLine("llWhisper Channel " + channelID + ", Text: \"" + text + "\"");
76 //type for whisper is 0
77 World.SimChat(Helpers.StringToField(text),
78 0, m_host.AbsolutePosition, m_host.Name, m_host.UUID);
79
80
81 }
82 //public void llSay(int channelID, string text)
83 public void llSay(int channelID, string text)
84 {
85 //TODO: DO SOMETHING USEFUL HERE
86 //Common.SendToDebug("INTERNAL FUNCTION llSay(" + (int)channelID + ", \"" + (string)text + "\");");
87 Console.WriteLine("llSay Channel " + channelID + ", Text: \"" + text + "\"");
88 //type for say is 1
89
90 World.SimChat(Helpers.StringToField(text),
91 1, m_host.AbsolutePosition, m_host.Name, m_host.UUID);
92 }
93
94 public void llShout(int channelID, string text)
95 {
96 Console.WriteLine("llShout Channel " + channelID + ", Text: \"" + text + "\"");
97 //type for shout is 2
98 World.SimChat(Helpers.StringToField(text),
99 2, m_host.AbsolutePosition, m_host.Name, m_host.UUID);
100
101 }
102
103 public int llListen(int channelID, string name, string ID, string msg) { return 0; }
104 public void llListenControl(int number, int active) { return; }
105 public void llListenRemove(int number) { return; }
106 public void llSensor(string name, string id, int type, double range, double arc) { return; }
107 public void llSensorRepeat(string name, string id, int type, double range, double arc, double rate) { return; }
108 public void llSensorRemove() { return; }
109 public string llDetectedName(int number) { return ""; }
110 public string llDetectedKey(int number) { return ""; }
111 public string llDetectedOwner(int number) { return ""; }
112 public int llDetectedType(int number) { return 0; }
113 public Axiom.Math.Vector3 llDetectedPos(int number) { return new Axiom.Math.Vector3(); }
114 public Axiom.Math.Vector3 llDetectedVel(int number) { return new Axiom.Math.Vector3(); }
115 public Axiom.Math.Vector3 llDetectedGrab(int number) { return new Axiom.Math.Vector3(); }
116 public Axiom.Math.Quaternion llDetectedRot(int number) { return new Axiom.Math.Quaternion(); }
117 public int llDetectedGroup(int number) { return 0; }
118 public int llDetectedLinkNumber(int number) { return 0; }
119 public void llDie() { return; }
120 public double llGround(Axiom.Math.Vector3 offset) { return 0; }
121 public double llCloud(Axiom.Math.Vector3 offset) { return 0; }
122 public Axiom.Math.Vector3 llWind(Axiom.Math.Vector3 offset) { return new Axiom.Math.Vector3(); }
123 public void llSetStatus(int status, int value) { return; }
124 public int llGetStatus(int status) { return 0; }
125 public void llSetScale(Axiom.Math.Vector3 scale) { return; }
126 public Axiom.Math.Vector3 llGetScale() { return new Axiom.Math.Vector3(); }
127 public void llSetColor(Axiom.Math.Vector3 color, int face) { return; }
128 public double llGetAlpha(int face) { return 0; }
129 public void llSetAlpha(double alpha, int face) { return; }
130 public Axiom.Math.Vector3 llGetColor(int face) { return new Axiom.Math.Vector3(); }
131 public void llSetTexture(string texture, int face) { return; }
132 public void llScaleTexture(double u, double v, int face) { return; }
133 public void llOffsetTexture(double u, double v, int face) { return; }
134 public void llRotateTexture(double rotation, int face) { return; }
135 public string llGetTexture(int face) { return ""; }
136 public void llSetPos(Axiom.Math.Vector3 pos) { return; }
137
138 public Axiom.Math.Vector3 llGetPos()
139 {
140 throw new NotImplementedException("llGetPos");
141 // return m_host.AbsolutePosition;
142 }
143
144 public Axiom.Math.Vector3 llGetLocalPos() { return new Axiom.Math.Vector3(); }
145 public void llSetRot(Axiom.Math.Quaternion rot) { }
146 public Axiom.Math.Quaternion llGetRot() { return new Axiom.Math.Quaternion(); }
147 public Axiom.Math.Quaternion llGetLocalRot() { return new Axiom.Math.Quaternion(); }
148 public void llSetForce(Axiom.Math.Vector3 force, int local) { }
149 public Axiom.Math.Vector3 llGetForce() { return new Axiom.Math.Vector3(); }
150 public int llTarget(Axiom.Math.Vector3 position, double range) { return 0; }
151 public void llTargetRemove(int number) { }
152 public int llRotTarget(Axiom.Math.Quaternion rot, double error) { return 0; }
153 public void llRotTargetRemove(int number) { }
154 public void llMoveToTarget(Axiom.Math.Vector3 target, double tau) { }
155 public void llStopMoveToTarget() { }
156 public void llApplyImpulse(Axiom.Math.Vector3 force, int local) { }
157 public void llApplyRotationalImpulse(Axiom.Math.Vector3 force, int local) { }
158 public void llSetTorque(Axiom.Math.Vector3 torque, int local) { }
159 public Axiom.Math.Vector3 llGetTorque() { return new Axiom.Math.Vector3(); }
160 public void llSetForceAndTorque(Axiom.Math.Vector3 force, Axiom.Math.Vector3 torque, int local) { }
161 public Axiom.Math.Vector3 llGetVel() { return new Axiom.Math.Vector3(); }
162 public Axiom.Math.Vector3 llGetAccel() { return new Axiom.Math.Vector3(); }
163 public Axiom.Math.Vector3 llGetOmega() { return new Axiom.Math.Vector3(); }
164 public double llGetTimeOfDay() { return 0; }
165 public double llGetWallclock() { return 0; }
166 public double llGetTime() { return 0; }
167 public void llResetTime() { }
168 public double llGetAndResetTime() { return 0; }
169 public void llSound() { }
170 public void llPlaySound(string sound, double volume) { }
171 public void llLoopSound(string sound, double volume) { }
172 public void llLoopSoundMaster(string sound, double volume) { }
173 public void llLoopSoundSlave(string sound, double volume) { }
174 public void llPlaySoundSlave(string sound, double volume) { }
175 public void llTriggerSound(string sound, double volume) { }
176 public void llStopSound() { }
177 public void llPreloadSound(string sound) { }
178 public string llGetSubString(string src, int start, int end) { return src.Substring(start, end); }
179 public string llDeleteSubString(string src, int start, int end) { return ""; }
180 public string llInsertString(string dst, int position, string src) { return ""; }
181 public string llToUpper(string src) { return src.ToUpper(); }
182 public string llToLower(string src) { return src.ToLower(); }
183 public int llGiveMoney(string destination, int amount) { return 0; }
184 public void llMakeExplosion() { }
185 public void llMakeFountain() { }
186 public void llMakeSmoke() { }
187 public void llMakeFire() { }
188 public void llRezObject(string inventory, Axiom.Math.Vector3 pos, Axiom.Math.Quaternion rot, int param) { }
189 public void llLookAt(Axiom.Math.Vector3 target, double strength, double damping) { }
190 public void llStopLookAt() { }
191 public void llSetTimerEvent(double sec) { }
192 public void llSleep(double sec) { System.Threading.Thread.Sleep((int)(sec * 1000)); }
193 public double llGetMass() { return 0; }
194 public void llCollisionFilter(string name, string id, int accept) { }
195 public void llTakeControls(int controls, int accept, int pass_on) { }
196 public void llReleaseControls() { }
197 public void llAttachToAvatar(int attachment) { }
198 public void llDetachFromAvatar() { }
199 public void llTakeCamera() { }
200 public void llReleaseCamera() { }
201 public string llGetOwner() { return ""; }
202 public void llInstantMessage(string user, string message) { }
203 public void llEmail(string address, string subject, string message) { }
204 public void llGetNextEmail(string address, string subject) { }
205 public string llGetKey() { return ""; }
206 public void llSetBuoyancy(double buoyancy) { }
207 public void llSetHoverHeight(double height, int water, double tau) { }
208 public void llStopHover() { }
209 public void llMinEventDelay(double delay) { }
210 public void llSoundPreload() { }
211 public void llRotLookAt(Axiom.Math.Quaternion target, double strength, double damping) { }
212
213 public int llStringLength(string str)
214 {
215 if (str.Length > 0)
216 {
217 return str.Length;
218 }
219 else
220 {
221 return 0;
222 }
223 }
224
225 public void llStartAnimation(string anim) { }
226 public void llStopAnimation(string anim) { }
227 public void llPointAt() { }
228 public void llStopPointAt() { }
229 public void llTargetOmega(Axiom.Math.Vector3 axis, double spinrate, double gain) { }
230 public int llGetStartParameter() { return 0; }
231 public void llGodLikeRezObject(string inventory, Axiom.Math.Vector3 pos) { }
232 public void llRequestPermissions(string agent, int perm) { }
233 public string llGetPermissionsKey() { return ""; }
234 public int llGetPermissions() { return 0; }
235 public int llGetLinkNumber() { return 0; }
236 public void llSetLinkColor(int linknumber, Axiom.Math.Vector3 color, int face) { }
237 public void llCreateLink(string target, int parent) { }
238 public void llBreakLink(int linknum) { }
239 public void llBreakAllLinks() { }
240 public string llGetLinkKey(int linknum) { return ""; }
241 public void llGetLinkName(int linknum) { }
242 public int llGetInventoryNumber(int type) { return 0; }
243 public string llGetInventoryName(int type, int number) { return ""; }
244 public void llSetScriptState(string name, int run) { }
245 public double llGetEnergy() { return 1.0f; }
246 public void llGiveInventory(string destination, string inventory) { }
247 public void llRemoveInventory(string item) { }
248
249 public void llSetText(string text, Axiom.Math.Vector3 color, double alpha)
250 {
251 m_host.SetText(text, color, alpha);
252 }
253
254 public double llWater(Axiom.Math.Vector3 offset) { return 0; }
255 public void llPassTouches(int pass) { }
256 public string llRequestAgentData(string id, int data) { return ""; }
257 public string llRequestInventoryData(string name) { return ""; }
258 public void llSetDamage(double damage) { }
259 public void llTeleportAgentHome(string agent) { }
260 public void llModifyLand(int action, int brush) { }
261 public void llCollisionSound(string impact_sound, double impact_volume) { }
262 public void llCollisionSprite(string impact_sprite) { }
263 public string llGetAnimation(string id) { return ""; }
264 public void llResetScript() { }
265 public void llMessageLinked(int linknum, int num, string str, string id) { }
266 public void llPushObject(string target, Axiom.Math.Vector3 impulse, Axiom.Math.Vector3 ang_impulse, int local) { }
267 public void llPassCollisions(int pass) { }
268 public string llGetScriptName() { return ""; }
269 public int llGetNumberOfSides() { return 0; }
270 public Axiom.Math.Quaternion llAxisAngle2Rot(Axiom.Math.Vector3 axis, double angle) { return new Axiom.Math.Quaternion(); }
271 public Axiom.Math.Vector3 llRot2Axis(Axiom.Math.Quaternion rot) { return new Axiom.Math.Vector3(); }
272 public void llRot2Angle() { }
273 public double llAcos(double val) { return (double)Math.Acos(val); }
274 public double llAsin(double val) { return (double)Math.Asin(val); }
275 public double llAngleBetween(Axiom.Math.Quaternion a, Axiom.Math.Quaternion b) { return 0; }
276 public string llGetInventoryKey(string name) { return ""; }
277 public void llAllowInventoryDrop(int add) { }
278 public Axiom.Math.Vector3 llGetSunDirection() { return new Axiom.Math.Vector3(); }
279 public Axiom.Math.Vector3 llGetTextureOffset(int face) { return new Axiom.Math.Vector3(); }
280 public Axiom.Math.Vector3 llGetTextureScale(int side) { return new Axiom.Math.Vector3(); }
281 public double llGetTextureRot(int side) { return 0; }
282 public int llSubStringIndex(string source, string pattern) { return 0; }
283 public string llGetOwnerKey(string id) { return ""; }
284 public Axiom.Math.Vector3 llGetCenterOfMass() { return new Axiom.Math.Vector3(); }
285 public List<string> llListSort(List<string> src, int stride, int ascending)
286 { return new List<string>(); }
287 public int llGetListLength(List<string> src) { return 0; }
288 public int llList2Integer(List<string> src, int index) { return 0; }
289 public double llList2double(List<string> src, int index) { return 0; }
290 public string llList2String(List<string> src, int index) { return ""; }
291 public string llList2Key(List<string> src, int index) { return ""; }
292 public Axiom.Math.Vector3 llList2Vector(List<string> src, int index)
293 { return new Axiom.Math.Vector3(); }
294 public Axiom.Math.Quaternion llList2Rot(List<string> src, int index)
295 { return new Axiom.Math.Quaternion(); }
296 public List<string> llList2List(List<string> src, int start, int end)
297 { return new List<string>(); }
298 public List<string> llDeleteSubList(List<string> src, int start, int end)
299 { return new List<string>(); }
300 public int llGetListEntryType(List<string> src, int index) { return 0; }
301 public string llList2CSV(List<string> src) { return ""; }
302 public List<string> llCSV2List(string src)
303 { return new List<string>(); }
304 public List<string> llListRandomize(List<string> src, int stride)
305 { return new List<string>(); }
306 public List<string> llList2ListStrided(List<string> src, int start, int end, int stride)
307 { return new List<string>(); }
308 public Axiom.Math.Vector3 llGetRegionCorner()
309 { return new Axiom.Math.Vector3(World.RegionInfo.RegionLocX * 256, World.RegionInfo.RegionLocY * 256, 0); }
310 public List<string> llListInsertList(List<string> dest, List<string> src, int start)
311 { return new List<string>(); }
312 public int llListFindList(List<string> src, List<string> test) { return 0; }
313 public string llGetObjectName() { return ""; }
314 public void llSetObjectName(string name) { }
315 public string llGetDate() { return ""; }
316 public int llEdgeOfWorld(Axiom.Math.Vector3 pos, Axiom.Math.Vector3 dir) { return 0; }
317 public int llGetAgentInfo(string id) { return 0; }
318 public void llAdjustSoundVolume(double volume) { }
319 public void llSetSoundQueueing(int queue) { }
320 public void llSetSoundRadius(double radius) { }
321 public string llKey2Name(string id) { return ""; }
322 public void llSetTextureAnim(int mode, int face, int sizex, int sizey, double start, double length, double rate) { }
323 public void llTriggerSoundLimited(string sound, double volume, Axiom.Math.Vector3 top_north_east, Axiom.Math.Vector3 bottom_south_west) { }
324 public void llEjectFromLand(string pest) { }
325 public void llParseString2List() { }
326 public int llOverMyLand(string id) { return 0; }
327 public string llGetLandOwnerAt(Axiom.Math.Vector3 pos) { return ""; }
328 public string llGetNotecardLine(string name, int line) { return ""; }
329 public Axiom.Math.Vector3 llGetAgentSize(string id) { return new Axiom.Math.Vector3(); }
330 public int llSameGroup(string agent) { return 0; }
331 public void llUnSit(string id) { }
332 public Axiom.Math.Vector3 llGroundSlope(Axiom.Math.Vector3 offset) { return new Axiom.Math.Vector3(); }
333 public Axiom.Math.Vector3 llGroundNormal(Axiom.Math.Vector3 offset) { return new Axiom.Math.Vector3(); }
334 public Axiom.Math.Vector3 llGroundContour(Axiom.Math.Vector3 offset) { return new Axiom.Math.Vector3(); }
335 public int llGetAttached() { return 0; }
336 public int llGetFreeMemory() { return 0; }
337 public string llGetRegionName() { return m_manager.RegionName; }
338 public double llGetRegionTimeDilation() { return 1.0f; }
339 public double llGetRegionFPS() { return 10.0f; }
340 public void llParticleSystem(List<Object> rules) { }
341 public void llGroundRepel(double height, int water, double tau) { }
342 public void llGiveInventoryList() { }
343 public void llSetVehicleType(int type) { }
344 public void llSetVehicledoubleParam(int param, double value) { }
345 public void llSetVehicleVectorParam(int param, Axiom.Math.Vector3 vec) { }
346 public void llSetVehicleRotationParam(int param, Axiom.Math.Quaternion rot) { }
347 public void llSetVehicleFlags(int flags) { }
348 public void llRemoveVehicleFlags(int flags) { }
349 public void llSitTarget(Axiom.Math.Vector3 offset, Axiom.Math.Quaternion rot) { }
350 public string llAvatarOnSitTarget() { return ""; }
351 public void llAddToLandPassList(string avatar, double hours) { }
352 public void llSetTouchText(string text)
353 {
354 }
355
356 public void llSetSitText(string text)
357 {
358 }
359 public void llSetCameraEyeOffset(Axiom.Math.Vector3 offset) { }
360 public void llSetCameraAtOffset(Axiom.Math.Vector3 offset) { }
361 public void llDumpList2String() { }
362 public void llScriptDanger(Axiom.Math.Vector3 pos) { }
363 public void llDialog(string avatar, string message, List<string> buttons, int chat_channel) { }
364 public void llVolumeDetect(int detect) { }
365 public void llResetOtherScript(string name) { }
366 public int llGetScriptState(string name) { return 0; }
367 public void llRemoteLoadScript() { }
368 public void llSetRemoteScriptAccessPin(int pin) { }
369 public void llRemoteLoadScriptPin(string target, string name, int pin, int running, int start_param) { }
370 public void llOpenRemoteDataChannel() { }
371 public string llSendRemoteData(string channel, string dest, int idata, string sdata) { return ""; }
372 public void llRemoteDataReply(string channel, string message_id, string sdata, int idata) { }
373 public void llCloseRemoteDataChannel(string channel) { }
374 public string llMD5String(string src, int nonce)
375 {
376 return OpenSim.Framework.Utilities.Util.Md5Hash(src + ":" + nonce.ToString());
377 }
378 public void llSetPrimitiveParams(List<string> rules) { }
379 public string llStringToBase64(string str) { return ""; }
380 public string llBase64ToString(string str) { return ""; }
381 public void llXorBase64Strings() { }
382 public void llRemoteDataSetRegion() { }
383 public double llLog10(double val) { return (double)Math.Log10(val); }
384 public double llLog(double val) { return (double)Math.Log(val); }
385 public List<string> llGetAnimationList(string id) { return new List<string>(); }
386 public void llSetParcelMusicURL(string url) { }
387
388 public Axiom.Math.Vector3 llGetRootPosition()
389 {
390 throw new NotImplementedException("llGetRootPosition");
391 //return m_root.AbsolutePosition;
392 }
393
394 public Axiom.Math.Quaternion llGetRootRotation()
395 {
396 return new Axiom.Math.Quaternion();
397 }
398
399 public string llGetObjectDesc() { return ""; }
400 public void llSetObjectDesc(string desc) { }
401 public string llGetCreator() { return ""; }
402 public string llGetTimestamp() { return ""; }
403 public void llSetLinkAlpha(int linknumber, double alpha, int face) { }
404 public int llGetNumberOfPrims() { return 0; }
405 public string llGetNumberOfNotecardLines(string name) { return ""; }
406 public List<string> llGetBoundingBox(string obj) { return new List<string>(); }
407 public Axiom.Math.Vector3 llGetGeometricCenter() { return new Axiom.Math.Vector3(); }
408 public void llGetPrimitiveParams() { }
409 public string llIntegerToBase64(int number) { return ""; }
410 public int llBase64ToInteger(string str) { return 0; }
411 public double llGetGMTclock() { return 0; }
412 public string llGetSimulatorHostname() { return ""; }
413 public void llSetLocalRot(Axiom.Math.Quaternion rot) { }
414 public List<string> llParseStringKeepNulls(string src, List<string> seperators, List<string> spacers)
415 { return new List<string>(); }
416 public void llRezAtRoot(string inventory, Axiom.Math.Vector3 position, Axiom.Math.Vector3 velocity, Axiom.Math.Quaternion rot, int param) { }
417 public int llGetObjectPermMask(int mask) { return 0; }
418 public void llSetObjectPermMask(int mask, int value) { }
419 public void llGetInventoryPermMask(string item, int mask) { }
420 public void llSetInventoryPermMask(string item, int mask, int value) { }
421 public string llGetInventoryCreator(string item) { return ""; }
422 public void llOwnerSay(string msg) { }
423 public void llRequestSimulatorData(string simulator, int data) { }
424 public void llForceMouselook(int mouselook) { }
425 public double llGetObjectMass(string id) { return 0; }
426 public void llListReplaceList() { }
427 public void llLoadURL(string avatar_id, string message, string url) { }
428 public void llParcelMediaCommandList(List<string> commandList) { }
429 public void llParcelMediaQuery() { }
430
431 public int llModPow(int a, int b, int c)
432 {
433 Int64 tmp = 0;
434 Int64 val = Math.DivRem(Convert.ToInt64(Math.Pow(a, b)), c, out tmp);
435
436 return Convert.ToInt32(tmp);
437 }
438
439 public int llGetInventoryType(string name) { return 0; }
440 public void llSetPayPrice(int price, List<string> quick_pay_buttons) { }
441 public Axiom.Math.Vector3 llGetCameraPos() { return new Axiom.Math.Vector3(); }
442 public Axiom.Math.Quaternion llGetCameraRot() { return new Axiom.Math.Quaternion(); }
443 public void llSetPrimURL() { }
444 public void llRefreshPrimURL() { }
445 public string llEscapeURL(string url) { return ""; }
446 public string llUnescapeURL(string url) { return ""; }
447 public void llMapDestination(string simname, Axiom.Math.Vector3 pos, Axiom.Math.Vector3 look_at) { }
448 public void llAddToLandBanList(string avatar, double hours) { }
449 public void llRemoveFromLandPassList(string avatar) { }
450 public void llRemoveFromLandBanList(string avatar) { }
451 public void llSetCameraParams(List<string> rules) { }
452 public void llClearCameraParams() { }
453 public double llListStatistics(int operation, List<string> src) { return 0; }
454 public int llGetUnixTime()
455 {
456 return OpenSim.Framework.Utilities.Util.UnixTimeSinceEpoch();
457 }
458 public int llGetParcelFlags(Axiom.Math.Vector3 pos) { return 0; }
459 public int llGetRegionFlags() { return 0; }
460 public string llXorBase64StringsCorrect(string str1, string str2) { return ""; }
461 public void llHTTPRequest() { }
462 public void llResetLandBanList() { }
463 public void llResetLandPassList() { }
464 public int llGetParcelPrimCount(Axiom.Math.Vector3 pos, int category, int sim_wide) { return 0; }
465 public List<string> llGetParcelPrimOwners(Axiom.Math.Vector3 pos) { return new List<string>(); }
466 public int llGetObjectPrimCount(string object_id) { return 0; }
467 public int llGetParcelMaxPrims(Axiom.Math.Vector3 pos, int sim_wide) { return 0; }
468 public List<string> llGetParcelDetails(Axiom.Math.Vector3 pos, List<string> param) { return new List<string>(); }
469
470
471 }
472}