aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Api/Interface
diff options
context:
space:
mode:
authorlbsa712008-06-24 21:09:49 +0000
committerlbsa712008-06-24 21:09:49 +0000
commit6b7930104bdb845d3b9c085dc04f52b6446f23b1 (patch)
tree05ee45781a455817fa400bb99f30f4d19d4eb1f8 /OpenSim/Region/ScriptEngine/Shared/Api/Interface
parentbased on positive feedback on performance of making keys fixed length (diff)
downloadopensim-SC_OLD-6b7930104bdb845d3b9c085dc04f52b6446f23b1.zip
opensim-SC_OLD-6b7930104bdb845d3b9c085dc04f52b6446f23b1.tar.gz
opensim-SC_OLD-6b7930104bdb845d3b9c085dc04f52b6446f23b1.tar.bz2
opensim-SC_OLD-6b7930104bdb845d3b9c085dc04f52b6446f23b1.tar.xz
* Applied patch from Melanie, mantis issue #1581 - "Refactor LSL language, api and compiler out of XEngine"
"First stage in a major Script Engine refactor, that will result in the LSL implementaions ebing reconverged. Not there yet, but one major part is done." Thank you, Melanie!
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Interface')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs649
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs68
2 files changed, 717 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs
new file mode 100644
index 0000000..75672a1
--- /dev/null
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/ILSL_Api.cs
@@ -0,0 +1,649 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSim Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using System;
29using vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3;
30using rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion;
31
32
33namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
34{
35 public interface ILSL_Api
36 {
37 void state(string newState);
38 void llSay(int channelID, string text);
39 double llSin(double f);
40 double llCos(double f);
41 double llTan(double f);
42 double llAtan2(double x, double y);
43 double llSqrt(double f);
44 double llPow(double fbase, double fexponent);
45 LSL_Types.LSLInteger llAbs(int i);
46 double llFabs(double f);
47 double llFrand(double mag);
48 LSL_Types.LSLInteger llFloor(double f);
49 LSL_Types.LSLInteger llCeil(double f);
50 LSL_Types.LSLInteger llRound(double f);
51 double llVecMag(LSL_Types.Vector3 v);
52 LSL_Types.Vector3 llVecNorm(LSL_Types.Vector3 v);
53 double llVecDist(LSL_Types.Vector3 a, LSL_Types.Vector3 b);
54 LSL_Types.Vector3 llRot2Euler(LSL_Types.Quaternion r);
55 LSL_Types.Quaternion llEuler2Rot(LSL_Types.Vector3 v);
56 LSL_Types.Quaternion llAxes2Rot(LSL_Types.Vector3 fwd, LSL_Types.Vector3 left, LSL_Types.Vector3 up);
57 LSL_Types.Vector3 llRot2Fwd(LSL_Types.Quaternion r);
58 LSL_Types.Vector3 llRot2Left(LSL_Types.Quaternion r);
59 LSL_Types.Vector3 llRot2Up(LSL_Types.Quaternion r);
60 LSL_Types.Quaternion llRotBetween(LSL_Types.Vector3 start, LSL_Types.Vector3 end);
61 void llWhisper(int channelID, string text);
62 //void llSay(int channelID, string text);
63 void llShout(int channelID, string text);
64 void llRegionSay(int channelID, string text);
65 LSL_Types.LSLInteger llListen(int channelID, string name, string ID, string msg);
66 void llListenControl(int number, int active);
67 void llListenRemove(int number);
68 void llSensor(string name, string id, int type, double range, double arc);
69 void llSensorRepeat(string name, string id, int type, double range, double arc, double rate);
70 void llSensorRemove();
71 string llDetectedName(int number);
72 string llDetectedKey(int number);
73 string llDetectedOwner(int number);
74 LSL_Types.LSLInteger llDetectedType(int number);
75 LSL_Types.Vector3 llDetectedPos(int number);
76 LSL_Types.Vector3 llDetectedVel(int number);
77 LSL_Types.Vector3 llDetectedGrab(int number);
78 LSL_Types.Quaternion llDetectedRot(int number);
79 LSL_Types.LSLInteger llDetectedGroup(int number);
80 LSL_Types.LSLInteger llDetectedLinkNumber(int number);
81 void llDie();
82 double llGround(LSL_Types.Vector3 offset);
83 double llCloud(LSL_Types.Vector3 offset);
84 LSL_Types.Vector3 llWind(LSL_Types.Vector3 offset);
85 void llSetStatus(int status, int value);
86 LSL_Types.LSLInteger llGetStatus(int status);
87 void llSetScale(LSL_Types.Vector3 scale);
88 LSL_Types.Vector3 llGetScale();
89 void llSetColor(LSL_Types.Vector3 color, int face);
90 double llGetAlpha(int face);
91 void llSetAlpha(double alpha, int face);
92 LSL_Types.Vector3 llGetColor(int face);
93 void llSetTexture(string texture, int face);
94 void llScaleTexture(double u, double v, int face);
95 void llOffsetTexture(double u, double v, int face);
96 void llRotateTexture(double rotation, int face);
97 string llGetTexture(int face);
98 void llSetPos(LSL_Types.Vector3 pos);
99
100 //wiki: vector llGetPos()
101 LSL_Types.Vector3 llGetPos();
102 //wiki: vector llGetLocalPos()
103 LSL_Types.Vector3 llGetLocalPos();
104 //wiki: llSetRot(rotation rot)
105 void llSetRot(LSL_Types.Quaternion rot);
106 //wiki: rotation llGetRot()
107 LSL_Types.Quaternion llGetRot();
108 //wiki: rotation llGetLocalRot()
109 LSL_Types.Quaternion llGetLocalRot();
110 //wiki: llSetForce(vector force, integer local)
111 void llSetForce(LSL_Types.Vector3 force, int local);
112 //wiki: vector llGetForce()
113 LSL_Types.Vector3 llGetForce();
114 //wiki: integer llTarget(vector position, double range)
115 LSL_Types.LSLInteger llTarget(LSL_Types.Vector3 position, double range);
116 //wiki: llTargetRemove(integer number)
117 void llTargetRemove(int number);
118 //wiki: integer llRotTarget(rotation rot, double error)
119 LSL_Types.LSLInteger llRotTarget(LSL_Types.Quaternion rot, double error);
120 //wiki: integer llRotTargetRemove(integer number)
121 void llRotTargetRemove(int number);
122 //wiki: llMoveToTarget(vector target, double tau)
123 void llMoveToTarget(LSL_Types.Vector3 target, double tau);
124 //wiki: llStopMoveToTarget()
125 void llStopMoveToTarget();
126 //wiki: llApplyImpulse(vector force, integer local)
127 void llApplyImpulse(LSL_Types.Vector3 force, int local);
128 //wiki: llapplyRotationalImpulse(vector force, integer local)
129 void llApplyRotationalImpulse(LSL_Types.Vector3 force, int local);
130 //wiki: llSetTorque(vector torque, integer local)
131 void llSetTorque(LSL_Types.Vector3 torque, int local);
132 //wiki: vector llGetTorque()
133 LSL_Types.Vector3 llGetTorque();
134 //wiki: llSeForceAndTorque(vector force, vector torque, integer local)
135 void llSetForceAndTorque(LSL_Types.Vector3 force, LSL_Types.Vector3 torque, int local);
136 //wiki: vector llGetVel()
137 LSL_Types.Vector3 llGetVel();
138 //wiki: vector llGetAccel()
139 LSL_Types.Vector3 llGetAccel();
140 //wiki: vector llGetOmega()
141 LSL_Types.Vector3 llGetOmega();
142 //wiki: double llGetTimeOfDay()
143 double llGetTimeOfDay();
144 //wiki: double llGetWallclock()
145 double llGetWallclock();
146 //wiki: double llGetTime()
147 double llGetTime();
148 //wiki: llResetTime()
149 void llResetTime();
150 //wiki: double llGetAndResetTime()
151 double llGetAndResetTime();
152 //wiki (deprecated) llSound(string sound, double volume, integer queue, integer loop)
153 void llSound();
154 //wiki: llPlaySound(string sound, double volume)
155 void llPlaySound(string sound, double volume);
156 //wiki: llLoopSound(string sound, double volume)
157 void llLoopSound(string sound, double volume);
158 //wiki: llLoopSoundMaster(string sound, double volume)
159 void llLoopSoundMaster(string sound, double volume);
160 //wiki: llLoopSoundSlave(string sound, double volume)
161 void llLoopSoundSlave(string sound, double volume);
162 //wiki llPlaySoundSlave(string sound, double volume)
163 void llPlaySoundSlave(string sound, double volume);
164 //wiki: llTriggerSound(string sound, double volume)
165 void llTriggerSound(string sound, double volume);
166 //wiki: llStopSound()
167 void llStopSound();
168 //wiki: llPreloadSound(string sound)
169 void llPreloadSound(string sound);
170 //wiki: string llGetSubString(string src, integer start, integer end)
171 string llGetSubString(string src, int start, int end);
172 //wiki: string llDeleteSubString(string src, integer start, integer end)
173 string llDeleteSubString(string src, int start, int end);
174 //wiki string llInsertString(string dst, integer position, string src)
175 string llInsertString(string dst, int position, string src);
176 //wiki: string llToUpper(string source)
177 string llToUpper(string source);
178 //wiki: string llToLower(string source)
179 string llToLower(string source);
180 //wiki: integer llGiveMoney(key destination, integer amount)
181 LSL_Types.LSLInteger llGiveMoney(string destination, int amount);
182 //wiki: (deprecated)
183 void llMakeExplosion();
184 //wiki: (deprecated)
185 void llMakeFountain();
186 //wiki: (deprecated)
187 void llMakeSmoke();
188 //wiki: (deprecated)
189 void llMakeFire();
190 //wiki: llRezObject(string inventory, vector pos, vector rel, rotation rot, integer param)
191 void llRezObject(string inventory, LSL_Types.Vector3 pos, LSL_Types.Vector3 vel, LSL_Types.Quaternion rot, int param);
192 //wiki: llLookAt(vector target, double strength, double damping)
193 void llLookAt(LSL_Types.Vector3 target, double strength, double damping);
194 //wiki: llStopLookAt()
195 void llStopLookAt();
196 //wiki: llSetTimerEvent(double sec)
197 void llSetTimerEvent(double sec);
198 //wiki: llSleep(double sec)
199 void llSleep(double sec);
200 //wiki: double llGetMass()
201 double llGetMass();
202 //wiki: llCollisionFilter(string name, key id, integer accept)
203 void llCollisionFilter(string name, string id, int accept);
204 //wiki: llTakeControls(integer controls, integer accept, integer pass_on)
205 void llTakeControls(int controls, int accept, int pass_on);
206 //wiki: llReleaseControls()
207 void llReleaseControls();
208 //wiki: llAttachToAvatar(integer attachment)
209 void llAttachToAvatar(int attachment);
210 //wiki: llDetachFromAvatar()
211 void llDetachFromAvatar();
212 //wiki: (deprecated) llTakeCamera()
213 void llTakeCamera();
214 //wiki: (deprecated) llReleaseCamera()
215 void llReleaseCamera();
216 //wiki: key llGetOwner()
217 string llGetOwner();
218 //wiki: llInstantMessage(key user, string message)
219 void llInstantMessage(string user, string message);
220 //wiki: llEmail(string address, string subject, string message)
221 void llEmail(string address, string subject, string message);
222 //wiki: llGetNextEmail(string address, string subject)
223 void llGetNextEmail(string address, string subject);
224 //wiki: key llGetKey()
225 string llGetKey();
226 //wiki: llSetBuoyancy(double buoyancy)
227 void llSetBuoyancy(double buoyancy);
228 //wiki: llSetHoverHeight(double height, integer water, double tau)
229 void llSetHoverHeight(double height, int water, double tau);
230 //wiki: llStopHover
231 void llStopHover();
232 //wiki: llMinEventDelay(double delay)
233 void llMinEventDelay(double delay);
234 //wiki: (deprecated) llSoundPreload()
235 void llSoundPreload();
236 //wiki: llRotLookAt(rotation target, double strength, double damping)
237 void llRotLookAt(LSL_Types.Quaternion target, double strength, double damping);
238 //wiki: integer llStringLength(string str)
239 LSL_Types.LSLInteger llStringLength(string str);
240 //wiki: llStartAnimation(string anim)
241 void llStartAnimation(string anim);
242 //wiki: llStopAnimation(string anim)
243 void llStopAnimation(string anim);
244 //wiki: (deprecated) llPointAt
245 void llPointAt();
246 //wiki: (deprecated) llStopPointAt
247 void llStopPointAt();
248 //wiki: llTargetOmega(vector axis, double spinrate, double gain)
249 void llTargetOmega(LSL_Types.Vector3 axis, double spinrate, double gain);
250 //wiki: integer llGetStartParameter()
251 LSL_Types.LSLInteger llGetStartParameter();
252 //wiki: llGodLikeRezObject(key inventory, vector pos)
253 void llGodLikeRezObject(string inventory, LSL_Types.Vector3 pos);
254 //wiki: llRequestPermissions(key agent, integer perm)
255 void llRequestPermissions(string agent, int perm);
256 //wiki: key llGetPermissionsKey()
257 string llGetPermissionsKey();
258 //wiki: integer llGetPermissions()
259 LSL_Types.LSLInteger llGetPermissions();
260 //wiki integer llGetLinkNumber()
261 LSL_Types.LSLInteger llGetLinkNumber();
262 //wiki: llSetLinkColor(integer linknumber, vector color, integer face)
263 void llSetLinkColor(int linknumber, LSL_Types.Vector3 color, int face);
264 //wiki: llCreateLink(key target, integer parent)
265 void llCreateLink(string target, int parent);
266 //wiki: llBreakLink(integer linknum)
267 void llBreakLink(int linknum);
268 //wiki: llBreakAllLinks()
269 void llBreakAllLinks();
270 //wiki: key llGetLinkKey(integer linknum)
271 string llGetLinkKey(int linknum);
272 //wiki: llGetLinkName(integer linknum)
273 string llGetLinkName(int linknum);
274 //wiki: integer llGetInventoryNumber(integer type)
275 LSL_Types.LSLInteger llGetInventoryNumber(int type);
276 //wiki: string llGetInventoryName(integer type, integer number)
277 string llGetInventoryName(int type, int number);
278 //wiki: llSetScriptState(string name, integer run)
279 void llSetScriptState(string name, int run);
280 //wiki: double llGetEnergy()
281 double llGetEnergy();
282 //wiki: llGiveInventory(key destination, string inventory)
283 void llGiveInventory(string destination, string inventory);
284 //wiki: llRemoveInventory(string item)
285 void llRemoveInventory(string item);
286 //wiki: llSetText(string text, vector color, double alpha)
287 void llSetText(string text, LSL_Types.Vector3 color, double alpha);
288 //wiki: double llWater(vector offset)
289 double llWater(LSL_Types.Vector3 offset);
290 //wiki: llPassTouches(integer pass)
291 void llPassTouches(int pass);
292 //wiki: key llRequestAgentData(key id, integer data)
293 string llRequestAgentData(string id, int data);
294 //wiki: key llRequestInventoryData(string name)
295 string llRequestInventoryData(string name);
296 //wiki: llSetDamage(double damage)
297 void llSetDamage(double damage);
298 //wiki: llTeleportAgentHome(key agent)
299 void llTeleportAgentHome(string agent);
300 //wiki: llModifyLand(integer action, integer brush)
301 void llModifyLand(int action, int brush);
302 //wiki: llCollisionSound(string impact_sound, double impact_volume)
303 void llCollisionSound(string impact_sound, double impact_volume);
304 //wiki: llCollisionSprite(string impact_sprite)
305 void llCollisionSprite(string impact_sprite);
306 //wiki: string llGetAnimation(key id)
307 string llGetAnimation(string id);
308 //wiki: llResetScript()
309 void llResetScript();
310 //wiki: llMessageLinked(integer linknum, integer num, string str, key id)
311 void llMessageLinked(int linknum, int num, string str, string id);
312 //wiki: llPushObject(key target, vector impulse, vector ang_impulse, integer local)
313 void llPushObject(string target, LSL_Types.Vector3 impulse, LSL_Types.Vector3 ang_impulse, int local);
314 //wiki: llPassCollisions(integer pass)
315 void llPassCollisions(int pass);
316 //wiki: string llGetScriptName()
317 string llGetScriptName();
318 //wiki: integer llGetNumberOfSides()
319 LSL_Types.LSLInteger llGetNumberOfSides();
320 //wiki: rotation llAxisAngle2Rot(vector axis, double angle)
321 LSL_Types.Quaternion llAxisAngle2Rot(LSL_Types.Vector3 axis, double angle);
322 //wiki: vector llRot2Axis(rotation rot)
323 LSL_Types.Vector3 llRot2Axis(LSL_Types.Quaternion rot);
324 //wiki: double llRot2Angle(rotation rot);
325 double llRot2Angle(LSL_Types.Quaternion rot);
326 //wiki: double llAcos(double val)
327 double llAcos(double val);
328 //wiki: double llAsin(double val)
329 double llAsin(double val);
330 //wiki: double llAngleBetween(rotation a, rotation b)
331 double llAngleBetween(LSL_Types.Quaternion a, LSL_Types.Quaternion b);
332 //wiki: string llGetInventoryKey(string name)
333 string llGetInventoryKey(string name);
334 //wiki: llAllowInventoryDrop(integer add)
335 void llAllowInventoryDrop(int add);
336 //wiki: vector llGetSunDirection()
337 LSL_Types.Vector3 llGetSunDirection();
338 //wiki: vector llGetTextureOffset(integer face)
339 LSL_Types.Vector3 llGetTextureOffset(int face);
340 //wiki: vector llGetTextureScale(integer side)
341 LSL_Types.Vector3 llGetTextureScale(int side);
342 //wiki: double llGetTextureRot(integer side)
343 double llGetTextureRot(int side);
344 //wiki: integer llSubStringIndex(string source, string pattern)
345 LSL_Types.LSLInteger llSubStringIndex(string source, string pattern);
346 //wiki: key llGetOwnerKey(key id)
347 string llGetOwnerKey(string id);
348 //wiki: vector llGetCenterOfMass()
349 LSL_Types.Vector3 llGetCenterOfMass();
350 //wiki: list llListSort(list src, integer stride, integer ascending)
351 LSL_Types.list llListSort(LSL_Types.list src, int stride, int ascending);
352 //integer llGetListLength(list src)
353 LSL_Types.LSLInteger llGetListLength(LSL_Types.list src);
354 //wiki: integer llList2Integer(list src, integer index)
355 LSL_Types.LSLInteger llList2Integer(LSL_Types.list src, int index);
356 //wiki: double llList2double(list src, integer index)
357 double llList2Float(LSL_Types.list src, int index);
358 //wiki: string llList2String(list src, integer index)
359 string llList2String(LSL_Types.list src, int index);
360 //wiki: key llList2Key(list src, integer index)
361 string llList2Key(LSL_Types.list src, int index);
362 //wiki: vector llList2Vector(list src, integer index)
363 LSL_Types.Vector3 llList2Vector(LSL_Types.list src, int index);
364 //wiki rotation llList2Rot(list src, integer index)
365 LSL_Types.Quaternion llList2Rot(LSL_Types.list src, int index);
366 //wiki: list llList2List(list src, integer start, integer end)
367 LSL_Types.list llList2List(LSL_Types.list src, int start, int end);
368 //wiki: llDeleteSubList(list src, integer start, integer end)
369 LSL_Types.list llDeleteSubList(LSL_Types.list src, int start, int end);
370 //wiki: integer llGetListEntryType(list src, integer index)
371 LSL_Types.LSLInteger llGetListEntryType(LSL_Types.list src, int index);
372 //wiki: string llList2CSV(list src)
373 string llList2CSV(LSL_Types.list src);
374 //wiki: list llCSV2List(string src)
375 LSL_Types.list llCSV2List(string src);
376 //wiki: list llListRandomize(list src, integer stride)
377 LSL_Types.list llListRandomize(LSL_Types.list src, int stride);
378 //wiki: list llList2ListStrided(list src, integer start, integer end, integer stride)
379 LSL_Types.list llList2ListStrided(LSL_Types.list src, int start, int end, int stride);
380 //wiki: vector llGetRegionCorner()
381 LSL_Types.Vector3 llGetRegionCorner();
382 //wiki: list llListInsertList(list dest, list src, integer start)
383 LSL_Types.list llListInsertList(LSL_Types.list dest, LSL_Types.list src, int start);
384 //wiki: integer llListFindList(list src, list test)
385 LSL_Types.LSLInteger llListFindList(LSL_Types.list src, LSL_Types.list test);
386 //wiki: string llGetObjectName()
387 string llGetObjectName();
388 //wiki: llSetObjectName(string name)
389 void llSetObjectName(string name);
390 //wiki: string llGetDate()
391 string llGetDate();
392 //wiki: integer llEdgeOfWorld(vector pos, vector dir)
393 LSL_Types.LSLInteger llEdgeOfWorld(LSL_Types.Vector3 pos, LSL_Types.Vector3 dir);
394 //wiki: integer llGetAgentInfo(key id)
395 LSL_Types.LSLInteger llGetAgentInfo(string id);
396 //wiki: llAdjustSoundVolume(double volume)
397 void llAdjustSoundVolume(double volume);
398 //wiki: llSetSoundQueueing(integer queue)
399 void llSetSoundQueueing(int queue);
400 //wiki: llSetSoundRadius(double radius)
401 void llSetSoundRadius(double radius);
402 //wiki: string llKey2Name(key id)
403 string llKey2Name(string id);
404 //wiki: llSetTextureAnim(integer mode, integer face, integer sizex, integer sizey, double start, double length, double rate)
405 void llSetTextureAnim(int mode, int face, int sizex, int sizey, double start, double length, double rate);
406 //wiki: llTriggerSoundLimited(string sound, double volume, vector top_north_east, vector bottom_south_west)
407 void llTriggerSoundLimited(string sound, double volume, LSL_Types.Vector3 top_north_east,
408 LSL_Types.Vector3 bottom_south_west);
409
410 //wiki: llEjectFromLand(key pest)
411 void llEjectFromLand(string pest);
412 LSL_Types.list llParseString2List(string str, LSL_Types.list separators, LSL_Types.list spacers);
413 //wiki: integer llOverMyLand(key id)
414 LSL_Types.LSLInteger llOverMyLand(string id);
415 //wiki: key llGetLandOwnerAt(vector pos)
416 string llGetLandOwnerAt(LSL_Types.Vector3 pos);
417 //wiki: key llGetNotecardLine(string name, integer line)
418 string llGetNotecardLine(string name, int line);
419 //wiki: vector llGetAgentSize(key id)
420 LSL_Types.Vector3 llGetAgentSize(string id);
421 //wiki: integer llSameGroup(key agent)
422 LSL_Types.LSLInteger llSameGroup(string agent);
423 //wiki: llUnSit(key id)
424 void llUnSit(string id);
425 //wiki: vector llGroundSlope(vector offset)
426 LSL_Types.Vector3 llGroundSlope(LSL_Types.Vector3 offset);
427 //wiki: vector llGroundNormal(vector offset)
428 LSL_Types.Vector3 llGroundNormal(LSL_Types.Vector3 offset);
429 //wiki: vector llGroundContour(vector offset)
430 LSL_Types.Vector3 llGroundContour(LSL_Types.Vector3 offset);
431 //wiki: integer llGetAttached()
432 LSL_Types.LSLInteger llGetAttached();
433 //wiki: integer llGetFreeMemory()
434 LSL_Types.LSLInteger llGetFreeMemory();
435 //wiki: string llGetRegionName()
436 string llGetRegionName();
437 //wiki: double llGetRegionTimeDilation()
438 double llGetRegionTimeDilation();
439 //wiki: double llGetRegionFPS()
440 double llGetRegionFPS();
441 //wiki: llParticleSystem(List<Object> rules
442 void llParticleSystem(LSL_Types.list rules);
443 //wiki: llGroundRepel(double height, integer water, double tau)
444 void llGroundRepel(double height, int water, double tau);
445 //wiki: llGiveInventoryList(string destination, string category, LSL_Types.list inventory)
446 void llGiveInventoryList(string destination, string category, LSL_Types.list inventory);
447 //wiki: llSetVehicleType(integer type)
448 void llSetVehicleType(int type);
449 //wiki: llSetVehicledoubleParam(integer param, double value)
450 void llSetVehicledoubleParam(int param, double value);
451 // wiki: llSetVehicleFloatParam(integer param, float value)
452 void llSetVehicleFloatParam(int param, float value);
453 //wiki: llSetVehicleVectorParam(integer param, vector vec)
454 void llSetVehicleVectorParam(int param, LSL_Types.Vector3 vec);
455 //wiki: llSetVehicleRotationParam(integer param, rotation rot)
456 void llSetVehicleRotationParam(int param, LSL_Types.Quaternion rot);
457 //wiki: llSetVehicleFlags(integer flags)
458 void llSetVehicleFlags(int flags);
459 //wiki: llRemoveVehicleFlags(integer flags)
460 void llRemoveVehicleFlags(int flags);
461 //wiki: llSitTarget(vector offset, rotation rot)
462 void llSitTarget(LSL_Types.Vector3 offset, LSL_Types.Quaternion rot);
463 //wiki key llAvatarOnSitTarget()
464 string llAvatarOnSitTarget();
465 //wiki: llAddToLandPassList(key avatar, double hours)
466 void llAddToLandPassList(string avatar, double hours);
467 //wiki: llSetTouchText(string text)
468 void llSetTouchText(string text);
469 //wiki: llSetSitText(string text)
470 void llSetSitText(string text);
471 //wiki: llSetCameraEyeOffset(vector offset)
472 void llSetCameraEyeOffset(LSL_Types.Vector3 offset);
473 //wiki: llSeteCameraAtOffset(vector offset)
474 void llSetCameraAtOffset(LSL_Types.Vector3 offset);
475 //
476 string llDumpList2String(LSL_Types.list src, string seperator);
477 //wiki: integer llScriptDanger(vector pos)
478 LSL_Types.LSLInteger llScriptDanger(LSL_Types.Vector3 pos);
479 //wiki: llDialog(key avatar, string message, list buttons, integer chat_channel)
480 void llDialog(string avatar, string message, LSL_Types.list buttons, int chat_channel);
481 //wiki: llVolumeDetect(integer detect)
482 void llVolumeDetect(int detect);
483 //wiki: llResetOtherScript(string name)
484 void llResetOtherScript(string name);
485 //wiki: integer llGetScriptState(string name)
486 LSL_Types.LSLInteger llGetScriptState(string name);
487 //wiki: (deprecated)
488 void llRemoteLoadScript();
489 //wiki: llSetRemoteScriptAccessPin(integer pin)
490 void llSetRemoteScriptAccessPin(int pin);
491 //wiki: llRemoteLoadScriptPin(key target, string name, integer pin, integer running, integer start_param)
492 void llRemoteLoadScriptPin(string target, string name, int pin, int running, int start_param);
493 //wiki: llOpenRemoteDataChannel()
494 void llOpenRemoteDataChannel();
495 //wiki: key llSendRemoteData(key channel, string dest, integer idata, string sdata)
496 string llSendRemoteData(string channel, string dest, int idata, string sdata);
497 //wiki: llRemoteDataReply(key channel, key message_id, string sdata, integer idata)
498 void llRemoteDataReply(string channel, string message_id, string sdata, int idata);
499 //wiki: llCloseRemoteDataChannel(key channel)
500 void llCloseRemoteDataChannel(string channel);
501 //wiki: string llMD5String(string src, integer nonce)
502 string llMD5String(string src, int nonce);
503 //wiki: llSetPrimitiveParams(list rules)
504 void llSetPrimitiveParams(LSL_Types.list rules);
505 //wiki: llSetLinkPrimitiveParams(integer linknumber, list rules)
506 void llSetLinkPrimitiveParams(int linknumber, LSL_Types.list rules);
507 //wiki: string llStringToBase64(string str)
508 string llStringToBase64(string str);
509 //wiki: string llBase64ToString(string str)
510 string llBase64ToString(string str);
511 //wiki: (deprecated)
512 void llXorBase64Strings();
513 //wiki: llRemoteDataSetRegion()
514 void llRemoteDataSetRegion();
515 //wiki: double llLog10(double val)
516 double llLog10(double val);
517 //wiki: double llLog(double val)
518 double llLog(double val);
519 //wiki: list llGetAnimationList(key id)
520 LSL_Types.list llGetAnimationList(string id);
521 //wiki: llSetParcelMusicURL(string url)
522 void llSetParcelMusicURL(string url);
523 //wiki: vector llGetRootPosition()
524 LSL_Types.Vector3 llGetRootPosition();
525 //wiki: rotation llGetRootRotation()
526 LSL_Types.Quaternion llGetRootRotation();
527 //wiki: string llGetObjectDesc()
528 string llGetObjectDesc();
529 //wiki: llSetObjectDesc(string desc)
530 void llSetObjectDesc(string desc);
531 //wiki: key llGetCreator()
532 string llGetCreator();
533 //wiki: string llGetTimestamp()
534 string llGetTimestamp();
535 //wiki: llSetLinkAlpha(integer linknumber, double alpha, integer face)
536 void llSetLinkAlpha(int linknumber, double alpha, int face);
537 //wiki: integer llGetNumberOfPrims()
538 LSL_Types.LSLInteger llGetNumberOfPrims();
539 //wiki: key llGetNumberOfNotecardLines(string name)
540 string llGetNumberOfNotecardLines(string name);
541 //wiki: list llGetBoundingBox(key object)
542 LSL_Types.list llGetBoundingBox(string obj);
543 //wiki: vector llGetGeometricCenter()
544 LSL_Types.Vector3 llGetGeometricCenter();
545 //wiki: list llGetPrimitiveParams(list rules)
546 LSL_Types.list llGetPrimitiveParams(LSL_Types.list rules);
547 //wiki: string llIntegerToBase64(integer number)
548 string llIntegerToBase64(int number);
549 //wiki integer llBase64ToInteger(string str)
550 LSL_Types.LSLInteger llBase64ToInteger(string str);
551 //wiki: double llGetGMTclock()
552 double llGetGMTclock();
553 //wiki: string llGetSimulatorHostname()
554 string llGetSimulatorHostname();
555 //llSetLocalRot(rotation rot)
556 void llSetLocalRot(LSL_Types.Quaternion rot);
557 //wiki: list llParseStringKeepNulls(string src, list separators, list spacers)
558 LSL_Types.list llParseStringKeepNulls(string src, LSL_Types.list seperators, LSL_Types.list spacers);
559 //wiki: llRezAtRoot(string inventory, vector position, vector velocity, rotation rot, integer param)
560 void llRezAtRoot(string inventory, LSL_Types.Vector3 position, LSL_Types.Vector3 velocity,
561 LSL_Types.Quaternion rot, int param);
562
563 //wiki: integer llGetObjectPermMask(integer mask)
564 LSL_Types.LSLInteger llGetObjectPermMask(int mask);
565 //wiki: llSetObjectPermMask(integer mask, integer value)
566 void llSetObjectPermMask(int mask, int value);
567 //wiki integer llGetInventoryPermMask(string item, integer mask)
568 LSL_Types.LSLInteger llGetInventoryPermMask(string item, int mask);
569 //wiki: llSetInventoryPermMask(string item, integer mask, integer value)
570 void llSetInventoryPermMask(string item, int mask, int value);
571 //wiki: key llGetInventoryCreator(string item)
572 string llGetInventoryCreator(string item);
573 //wiki: llOwnerSay(string msg)
574 void llOwnerSay(string msg);
575 //wiki: key llRequestSimulatorData(string simulator, integer data)
576 string llRequestSimulatorData(string simulator, int data);
577 //wiki: llForceMouselook(integer mouselook)
578 void llForceMouselook(int mouselook);
579 //wiki: double llGetObjectMass(key id)
580 double llGetObjectMass(string id);
581 LSL_Types.list llListReplaceList(LSL_Types.list dest, LSL_Types.list src, int start, int end);
582 //wiki: llLoadURL(key avatar_id, string message, string url)
583 void llLoadURL(string avatar_id, string message, string url);
584 //wiki: llParcelMediaCommandList(list commandList)
585 void llParcelMediaCommandList(LSL_Types.list commandList);
586 void llParcelMediaQuery();
587 //wiki integer llModPow(integer a, integer b, integer c)
588 LSL_Types.LSLInteger llModPow(int a, int b, int c);
589 //wiki: integer llGetInventoryType(string name)
590 LSL_Types.LSLInteger llGetInventoryType(string name);
591 //wiki: llSetPayPrice(integer price, list quick_pay_buttons)
592 void llSetPayPrice(int price, LSL_Types.list quick_pay_buttons);
593 //wiki: vector llGetCameraPos()
594 LSL_Types.Vector3 llGetCameraPos();
595 //wiki rotation llGetCameraRot()
596 LSL_Types.Quaternion llGetCameraRot();
597 //wiki: (deprecated)
598 void llSetPrimURL();
599 //wiki: (deprecated)
600 void llRefreshPrimURL();
601 //wiki: string llEscapeURL(string url)
602 string llEscapeURL(string url);
603 //wiki: string llUnescapeURL(string url)
604 string llUnescapeURL(string url);
605 //wiki: llMapDestination(string simname, vector pos, vector look_at)
606 void llMapDestination(string simname, LSL_Types.Vector3 pos, LSL_Types.Vector3 look_at);
607 //wiki: llAddToLandBanList(key avatar, double hours)
608 void llAddToLandBanList(string avatar, double hours);
609 //wiki: llRemoveFromLandPassList(key avatar)
610 void llRemoveFromLandPassList(string avatar);
611 //wiki: llRemoveFromLandBanList(key avatar)
612 void llRemoveFromLandBanList(string avatar);
613 //wiki: llSetCameraParams(list rules)
614 void llSetCameraParams(LSL_Types.list rules);
615 //wiki: llClearCameraParams()
616 void llClearCameraParams();
617 //wiki: double llListStatistics(integer operation, list src)
618 double llListStatistics(int operation, LSL_Types.list src);
619 //wiki: integer llGetUnixTime()
620 LSL_Types.LSLInteger llGetUnixTime();
621 //wiki: integer llGetParcelFlags(vector pos)
622 LSL_Types.LSLInteger llGetParcelFlags(LSL_Types.Vector3 pos);
623 //wiki: integer llGetRegionFlags()
624 LSL_Types.LSLInteger llGetRegionFlags();
625 //wiki: string llXorBase64StringsCorrect(string str1, string str2)
626 string llXorBase64StringsCorrect(string str1, string str2);
627 string llHTTPRequest(string url, LSL_Types.list parameters, string body);
628 //wiki: llResetLandBanList()
629 void llResetLandBanList();
630 //wiki: llResetLandPassList()
631 void llResetLandPassList();
632 //wiki: integer llGetParcelPrimCount(vector pos, integer category, integer sim_wide)
633 LSL_Types.LSLInteger llGetParcelPrimCount(LSL_Types.Vector3 pos, int category, int sim_wide);
634 //wiki: list llGetParcelPrimOwners(vector pos)
635 LSL_Types.list llGetParcelPrimOwners(LSL_Types.Vector3 pos);
636 //wiki: integer llGetObjectPrimCount(key object_id)
637 LSL_Types.LSLInteger llGetObjectPrimCount(string object_id);
638 //wiki: integer llGetParcelMaxPrims(vector pos, integer sim_wide)
639 LSL_Types.LSLInteger llGetParcelMaxPrims(LSL_Types.Vector3 pos, int sim_wide);
640 //wiki: llGetParcelDetails(vector pos, list params)
641 LSL_Types.list llGetParcelDetails(LSL_Types.Vector3 pos, LSL_Types.list param);
642 //wiki: llSetLinkTexture(integer linknumber, string texture, integer face)
643 void llSetLinkTexture(int linknumber, string texture, int face);
644 //wiki: string llStringTrim(string src, int type)
645 string llStringTrim(string src, int type);
646 //wiki: LSL_Types.list llGetObjectDetails(string id, LSL_Types.list args)
647 LSL_Types.list llGetObjectDetails(string id, LSL_Types.list args);
648 }
649}
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs
new file mode 100644
index 0000000..1e14c63
--- /dev/null
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs
@@ -0,0 +1,68 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSim Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
29{
30 public interface IOSSL_Api
31 {
32 //OpenSim functions
33 string osSetDynamicTextureURL(string dynamicID, string contentType, string url, string extraParams, int timer);
34 string osSetDynamicTextureURLBlend(string dynamicID, string contentType, string url, string extraParams,
35 int timer, int alpha);
36 string osSetDynamicTextureData(string dynamicID, string contentType, string data, string extraParams, int timer);
37 string osSetDynamicTextureDataBlend(string dynamicID, string contentType, string data, string extraParams,
38 int timer, int alpha);
39 double osTerrainGetHeight(int x, int y);
40 int osTerrainSetHeight(int x, int y, double val);
41 int osRegionRestart(double seconds);
42 void osRegionNotice(string msg);
43 bool osConsoleCommand(string Command);
44 void osSetParcelMediaURL(string url);
45 void osSetPrimFloatOnWater(int floatYN);
46
47 // Animation commands
48 void osAvatarPlayAnimation(string avatar, string animation);
49 void osAvatarStopAnimation(string avatar, string animation);
50
51 //texture draw functions
52 string osMovePen(string drawList, int x, int y);
53 string osDrawLine(string drawList, int startX, int startY, int endX, int endY);
54 string osDrawLine(string drawList, int endX, int endY);
55 string osDrawText(string drawList, string text);
56 string osDrawEllipse(string drawList, int width, int height);
57 string osDrawRectangle(string drawList, int width, int height);
58 string osDrawFilledRectangle(string drawList, int width, int height);
59 string osSetFontSize(string drawList, int fontSize);
60 string osSetPenSize(string drawList, int penSize);
61 string osSetPenColour(string drawList, string colour);
62 string osDrawImage(string drawList, int width, int height, string imageUrl);
63 void osSetStateEvents(int events);
64
65 double osList2Double(LSL_Types.list src, int index);
66 void osSetRegionWaterHeight(double height);
67 }
68}