-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathruntime_funcs.lsl
161 lines (134 loc) · 5.55 KB
/
runtime_funcs.lsl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
// This is, effectively, a header file for the Cajeput LSL compiler
// It defines what built-in functions the compiler allows.
// bunch of core functions I need to implement. May be given opcodes at a later
// date.
vector llVecNorm(vector v) {}
float llVecMag(vector v) {}
float llVecDist(vector v1, vector v2) {}
// rotation llAxisAngle2Rot(vector axis, float angle) {}
rotation llEuler2Rot(vector v) { } // TODO
llSay(integer channel, string message) { }
llShout(integer channel, string message) { }
llWhisper(integer channel, string message) { }
llOwnerSay(string message) { }
llInstantMessage(key user, string message) { } // TODO
llGiveInventory(key dest, string inventory) { } // TODO
llResetTime( ) { }
float llGetTime( ) { }
float llGetAndResetTime( ) { }
llSetTimerEvent(float interval) { }
llSleep(float delay) { }
string llGetTimestamp( ) { } // TODO
integer llGetUnixTime( ) { }
float llGetGMTclock( ) { }
// float llFabs(float val) { }
// llDetected* functions, not all implemented
integer llDetectedType( integer number ) { } // incomplete
string llDetectedName( integer number ) { }
key llDetectedKey( integer number ) { }
key llDetectedOwner( integer number ) { }
integer llDetectedGroup( integer number ) { }
vector llDetectedPos( integer number ) { }
rotation llDetectedRot( integer number ) { }
vector llDetectedVel( integer number ) { }
integer llDetectedTouchFace( integer number ) { }
vector llDetectedTouchST( integer number ) { }
vector llDetectedTouchUV( integer number ) { }
// TODO: llDetectedTouch*
// TODO - rest of llGetRegion* functions
vector llGetRegionCorner() { }
string llGetRegionName() { }
//osTeleportAgent( key avatar, integer region_x, integer region_y,
// vector pos, vector look_at) { }
osTeleportAgent( key avatar, string region,
vector pos, vector look_at) { }
string llGetObjectName() { }
string llGetObjectDesc() { }
// FIXME - how to implement this
float llFrand(float mag) { }
integer llListen(integer channel, string name, key id, string message) { }
llListenRemove(integer listen_id) { }
llDialog(key avatar, string message, list buttons, integer chat_channel) { }
integer llListFindList(list src, list test) { }
list llParseString2List(string src, list seperators, list spacers) { }
list llParseStringKeepNulls(string src, list seperators, list spacers) { }
string llDumpList2String(list src, string seperator) { }
string llList2CSV(list src) { }
// FIXME - TODO. These will be a huge PITA.
list llListSort(list src, integer stride, integer ascending) { }
list llListReplaceList(list dest, list src, integer start, integer end) { }
list llDeleteSubList(list src, integer start, integer end) { }
list llList2List(list src, integer start, integer end) { }
list llList2ListStrided(list src, integer start, integer end,
integer stride) { }
list llListInsertList(list dest, list src, integer pos) { }
// TODO
string llGetSubString(string src, integer start, integer end) { }
string llDeleteSubString(string src, integer start, integer end) { }
integer llSubStringIndex(string src, string pattern) { }
string llToLower(string src) { }
string llToUpper(string src) { }
string llStringTrim(string src, integer how) { }
string llInsertString(string dest, integer pos, string src) { }
// FIXME - TODO
integer llGetPermissions() { }
// FIXME - TODO (probably a big pain) - also check return type
key llHTTPRequest(string url, list parameters, string body) { }
llMessageLinked(integer linknum, integer num, string str, key id) { }
vector llGetPos() { }
rotation llGetRot() { }
vector llGetLocalPos() { }
rotation llGetLocalRot() { }
vector llGetRootPosition() { }
rotation llGetRootRotation() { }
integer llGetNumberOfPrims() { }
key llGetKey() { }
key llGetOwner() { }
vector llGetScale() { }
integer llGetAttached() {}
integer llSameGroup(key id) {} // TODO
float llGetAlpha(integer face) {} // TODO
key llAvatarOnSitTarget() {}
key llGetLinkKey(integer linknum) { }
key llGetOwnerKey(key id) { }
list llGetObjectDetails(key id, list params) { } // TODO
key llGetLandOwnerAt(vector pos) { } // TODO
vector llGetAgentSize(key id) { } // TODO
llSitTarget(vector pos, rotation rot) { }
llUnSit(key id) { }
// bunch of stuff I need to implement
string llGetScriptName() { }
integer llGetScriptState(string name) { }
llSetScriptState(string name, integer run) { }
integer llGetFreeMemory() { }
llResetScript() { }
llResetOtherScript(string name) { }
llSetRemoteScriptAccessPin(integer pin) { }
llRemoteLoadScriptPin(key target, string name, integer pin, integer running, integer start_param) { }
llSetTimerEvent(float interval) { }
llSetText(string text, vector color, float alpha) { }
llApplyImpulse( vector force, integer local ) { }
llSetPos(vector pos) { }
llSetRot(rotation rot) { } // FIXME - check this is implemented right
llSetLocalRot(rotation rot) { } // TODO
llSetScale(vector scale) { }
llSetColor(vector color, integer face) { } // TODO
llSetLinkColor(integer linknum, vector color, integer face) { } // TODO
llSetAlpha(float alpha, integer face) { } // TODO
llSetLinkAlpha(integer linknum, float alpha, integer face) { } // TODO
llSetPrimitiveParams(list rules) { }
llSetLinkPrimitiveParams(integer link_num, list rules) { }
llSetLinkPrimitiveParamsFast(integer link_num, list rules) { }
string osGetSimulatorVersion() { }
string llKey2Name(key id) { }
// TODO
llRequestPermissions(key agent, integer perm) { }
integer llGetPermissions() { }
key llGetPermissionsKey() { }
llClearCameraParams() {}
llSetCameraParams(list rules) {}
vector llGetCameraPos() {}
rotation llGetCameraRot() {}
llStartAnimation(string anim) {}
llStopAnimation(string anim) {}
llPlaySound(string sound, float volume) {}