diff options
Diffstat (limited to 'LuaSL')
-rw-r--r-- | LuaSL/src/LSL.lua | 164 |
1 files changed, 102 insertions, 62 deletions
diff --git a/LuaSL/src/LSL.lua b/LuaSL/src/LSL.lua index c4fae25..ccd603d 100644 --- a/LuaSL/src/LSL.lua +++ b/LuaSL/src/LSL.lua | |||
@@ -233,76 +233,29 @@ LSL.z = 0.0; | |||
233 | 233 | ||
234 | -- ll*() function stubs. | 234 | -- ll*() function stubs. |
235 | 235 | ||
236 | function --[[float]] LSL.llPow(--[[float]] number,--[[float]] places) return 0.0 end; | ||
237 | function --[[float]] LSL.llFrand(--[[float]] max) return 0.0 end; | ||
238 | function --[[integer]] LSL.llRound(--[[float]] number) return 0 end; | ||
239 | |||
240 | function --[[key]] LSL.llDetectedKey(--[[integer]] index) return LSL.NULL_KEY end; | ||
241 | function --[[key]] LSL.llDetectedGroup(--[[integer]] index) return LSL.NULL_KEY end; | ||
242 | function --[[integer]] LSL.llSameGroup(--[[key]] avatar) return 0 end; | ||
243 | |||
244 | function --[[float]] LSL.llGetAlpha(--[[integer]] side) return 0.0 end; | ||
245 | function LSL.llSetAlpha(--[[float]] alpha,--[[integer]] side) end; | ||
246 | function LSL.llSetColor(--[[vector]] colour,--[[integer]] side) end; | ||
247 | function LSL.llSetPrimitiveParams(--[[list]] params) end; | ||
248 | function LSL.llSetScale(--[[vector]] scale) end; | ||
249 | function LSL.llSetSitText(--[[string]] text) end; | ||
250 | function LSL.llSetText(--[[string]] text, --[[vector]] colour,--[[float]] alpha) end; | ||
251 | function LSL.llSitTarget(--[[vector]] pos, --[[rotation]] rot) end; | ||
252 | |||
253 | function --[[integer]] LSL.llGetLinkNumber() return 0 end; | ||
254 | function --[[string]] LSL.llGetObjectDesc() return "" end; | ||
255 | function LSL.llSetObjectDesc(--[[string]] text) end; | ||
256 | function --[[string]] LSL.llGetObjectName() return "" end; | ||
257 | function LSL.llSetObjectName(--[[string]] text) end; | ||
258 | |||
259 | function --[[string]] LSL.llGetInventoryName(--[[integer]] tyPe,--[[integer]] index) return "" end; | ||
260 | function --[[integer]] LSL.llGetInventoryNumber(--[[integer]] tyPe) return 0 end; | ||
261 | function --[[integer]] LSL.llGetInventoryType(--[[string]] name) return LSL.INVENTORY_SCRIPT end; | ||
262 | function --[[key]] LSL.llGetNotecardLine(--[[string]] name,--[[integer]] index) return LSL.NULL_KEY end; | ||
263 | |||
264 | function LSL.llDie() end; | ||
265 | function --[[integer]] LSL.llGetFreeMemory() return 0 end; | ||
266 | function --[[string]] LSL.llGetScriptName() return "" end; | ||
267 | function --[[float]] LSL.llGetTime() return 0.0 end; | ||
268 | function LSL.llResetOtherScript(--[[string]] name) msg("llResetOtherScript(" .. name .. ")") end; | ||
269 | function LSL.llResetScript() end; | ||
270 | function LSL.llResetTime() end; | ||
271 | function LSL.llSetScriptState(--[[string]] name,--[[integer]] running) msg("llSetScriptState(" .. name .. "," .. running .. ")") end; | ||
272 | function LSL.llSetTimerEvent(--[[float]] seconds) end; | ||
273 | function LSL.llSleep(--[[float]] seconds) msg("llSleep(" .. seconds .. ")") end; | ||
274 | 236 | ||
275 | function LSL.llPlaySound(--[[string]] name,--[[float]] volume) end; | 237 | -- LSL avatar functions |
276 | function LSL.llRezObject(--[[string]] name, --[[vector]] position, --[[vector]] velocity, --[[rotation]] rot,--[[integer]] channel) end; | ||
277 | function LSL.llRezAtRoot(--[[string]] name, --[[vector]] position, --[[vector]] velocity, --[[rotation]] rot,--[[integer]] channel) end; | ||
278 | |||
279 | function --[[vector]] LSL.llGetPos() return LSL.ZERO_VECTOR end; | ||
280 | function LSL.llSetPos(--[[vector]] pos) end; | ||
281 | function --[[rotation]] LSL.llGetRot() return LSL.ZERO_ROTATION end; | ||
282 | function LSL.llSetRot(--[[rotation]] rot) end; | ||
283 | |||
284 | function --[[rotation]] LSL.llEuler2Rot(--[[vector]] vec) return LSL.ZERO_ROTATION end; | ||
285 | function --[[vector]] LSL.llRot2Euler(--[[rotation]] rot) return LSL.ZERO_VECTOR end; | ||
286 | |||
287 | function --[[string]] LSL.llGetSubString(--[[string]] text,--[[integer]] start,--[[integer]] eNd) return "" end; | ||
288 | function --[[integer]] LSL.llStringLength(--[[string]] text) return 0 end; | ||
289 | function --[[string]] LSL.llStringTrim(--[[string]] text,--[[integer]] tyPe) return "" end; | ||
290 | function --[[integer]] LSL.llSubStringIndex(--[[string]] text, --[[string]] sub) return 0 end; | ||
291 | function --[[list]] LSL.llParseString2List(--[[string]] In, --[[list]] l, --[[list]] l1) return {} end; | ||
292 | function --[[list]] LSL.llParseStringKeepNulls(--[[string]] In, --[[list]] l, --[[list]] l1) return {} end; | ||
293 | 238 | ||
294 | function --[[key]] LSL.llAvatarOnSitTarget() return LSL.NULL_KEY end; | 239 | function --[[key]] LSL.llAvatarOnSitTarget() return LSL.NULL_KEY end; |
295 | function --[[list]] LSL.llGetAnimationList(--[[key]] id) return {} end; | 240 | function --[[list]] LSL.llGetAnimationList(--[[key]] id) return {} end; |
296 | function --[[key]] LSL.llGetKey() return LSL.NULL_KEY end; | ||
297 | function --[[key]] LSL.llGetOwner() return LSL.NULL_KEY end; | ||
298 | function --[[integer]] LSL.llGetPermissions() return 0 end; | 241 | function --[[integer]] LSL.llGetPermissions() return 0 end; |
299 | function --[[key]] LSL.llGetPermissionsKey() return LSL.NULL_KEY end; | 242 | function --[[key]] LSL.llGetPermissionsKey() return LSL.NULL_KEY end; |
300 | function --[[string]] LSL.llKey2Name(--[[key]] avatar) return "" end; | 243 | function --[[string]] LSL.llKey2Name(--[[key]] avatar) return "" end; |
301 | function LSL.llRequestPermissions(--[[key]] avatar,--[[integer]] perms) end; | 244 | function LSL.llRequestPermissions(--[[key]] avatar,--[[integer]] perms) end; |
245 | function --[[integer]] LSL.llSameGroup(--[[key]] avatar) return 0 end; | ||
302 | function LSL.llStartAnimation(--[[string]] anim) end; | 246 | function LSL.llStartAnimation(--[[string]] anim) end; |
303 | function LSL.llStopAnimation(--[[string]] anim) end; | 247 | function LSL.llStopAnimation(--[[string]] anim) end; |
304 | function LSL.llUnSit(--[[key]] avatar) end; | 248 | function LSL.llUnSit(--[[key]] avatar) end; |
305 | 249 | ||
250 | |||
251 | -- LSL collision / detect / sensor functions | ||
252 | |||
253 | function --[[key]] LSL.llDetectedGroup(--[[integer]] index) return LSL.NULL_KEY end; | ||
254 | function --[[key]] LSL.llDetectedKey(--[[integer]] index) return LSL.NULL_KEY end; | ||
255 | |||
256 | |||
257 | -- LSL communications functions | ||
258 | |||
306 | function LSL.llDialog(--[[key]] avatar, --[[string]] caption, --[[list]] arseBackwardsMenu,--[[integer]] channel) end; | 259 | function LSL.llDialog(--[[key]] avatar, --[[string]] caption, --[[list]] arseBackwardsMenu,--[[integer]] channel) end; |
307 | function --[[integer]] LSL.llListen(--[[integer]] channel, --[[string]] name, --[[key]] id, --[[string]] msg) return 0 end; | 260 | function --[[integer]] LSL.llListen(--[[integer]] channel, --[[string]] name, --[[key]] id, --[[string]] msg) return 0 end; |
308 | function LSL.llListenRemove(--[[integer]] handle) end; | 261 | function LSL.llListenRemove(--[[integer]] handle) end; |
@@ -314,6 +267,16 @@ function LSL.llWhisper(--[[integer]] channel, --[[string]] text) msg("Channel | |||
314 | function LSL.llMessageLinked(--[[integer]] link,--[[integer]] num, --[[string]] text, --[[key]] aKey) end; | 267 | function LSL.llMessageLinked(--[[integer]] link,--[[integer]] num, --[[string]] text, --[[key]] aKey) end; |
315 | 268 | ||
316 | 269 | ||
270 | -- LSL inventory functions. | ||
271 | |||
272 | function --[[string]] LSL.llGetInventoryName(--[[integer]] tyPe,--[[integer]] index) return "" end; | ||
273 | function --[[integer]] LSL.llGetInventoryNumber(--[[integer]] tyPe) return 0 end; | ||
274 | function --[[integer]] LSL.llGetInventoryType(--[[string]] name) return LSL.INVENTORY_SCRIPT end; | ||
275 | function --[[key]] LSL.llGetNotecardLine(--[[string]] name,--[[integer]] index) return LSL.NULL_KEY end; | ||
276 | function LSL.llRezAtRoot(--[[string]] name, --[[vector]] position, --[[vector]] velocity, --[[rotation]] rot,--[[integer]] channel) end; | ||
277 | function LSL.llRezObject(--[[string]] name, --[[vector]] position, --[[vector]] velocity, --[[rotation]] rot,--[[integer]] channel) end; | ||
278 | |||
279 | |||
317 | -- LSL list functions. | 280 | -- LSL list functions. |
318 | 281 | ||
319 | function --[[list]] LSL.llCSV2List(--[[string]] text) return {} end; | 282 | function --[[list]] LSL.llCSV2List(--[[string]] text) return {} end; |
@@ -342,6 +305,10 @@ function --[[string]] LSL.llDumpList2String(--[[list]] l, --[[string]] separator | |||
342 | return result | 305 | return result |
343 | end | 306 | end |
344 | 307 | ||
308 | function --[[integer]] LSL.llGetListLength(--[[list]] l) | ||
309 | return #l | ||
310 | end | ||
311 | |||
345 | function --[[string]] LSL.llList2CSV(--[[list]] l) | 312 | function --[[string]] LSL.llList2CSV(--[[list]] l) |
346 | return LSL.llDumpList2String(l, ",") | 313 | return LSL.llDumpList2String(l, ",") |
347 | end | 314 | end |
@@ -424,10 +391,6 @@ function --[[list]] LSL.llListInsertList(--[[list]] l, --[[list]] l1,--[[integer | |||
424 | return result | 391 | return result |
425 | end | 392 | end |
426 | 393 | ||
427 | function --[[integer]] LSL.llGetListLength(--[[list]] l) | ||
428 | return #l | ||
429 | end | ||
430 | |||
431 | function --[[list]] LSL.llListReplaceList(--[[list]] l, --[[list]] part,--[[integer]] start,--[[integer]] eNd) | 394 | function --[[list]] LSL.llListReplaceList(--[[list]] l, --[[list]] part,--[[integer]] start,--[[integer]] eNd) |
432 | local result = {} | 395 | local result = {} |
433 | local x = 1 | 396 | local x = 1 |
@@ -459,6 +422,81 @@ function --[[list]] LSL.llListSort(--[[list]] l,--[[integer]] stride,--[[integer | |||
459 | return result | 422 | return result |
460 | end | 423 | end |
461 | 424 | ||
425 | function --[[list]] LSL.llParseString2List(--[[string]] In, --[[list]] l, --[[list]] l1) return {} end; | ||
426 | function --[[list]] LSL.llParseStringKeepNulls(--[[string]] In, --[[list]] l, --[[list]] l1) return {} end; | ||
427 | |||
428 | |||
429 | -- LSL math functions | ||
430 | |||
431 | function --[[rotation]] LSL.llEuler2Rot(--[[vector]] vec) return LSL.ZERO_ROTATION end; | ||
432 | function --[[float]] LSL.llFrand(--[[float]] max) return 0.0 end; | ||
433 | function --[[float]] LSL.llPow(--[[float]] number,--[[float]] places) return 0.0 end; | ||
434 | function --[[vector]] LSL.llRot2Euler(--[[rotation]] rot) return LSL.ZERO_VECTOR end; | ||
435 | function --[[integer]] LSL.llRound(--[[float]] number) return 0 end; | ||
436 | |||
437 | |||
438 | -- LSL object / prim functions | ||
439 | |||
440 | function LSL.llDie() end; | ||
441 | function --[[key]] LSL.llGetKey() return LSL.NULL_KEY end; | ||
442 | function --[[integer]] LSL.llGetLinkNumber() return 0 end; | ||
443 | function --[[string]] LSL.llGetObjectDesc() return "" end; | ||
444 | function --[[string]] LSL.llGetObjectName() return "" end; | ||
445 | function --[[key]] LSL.llGetOwner() return LSL.NULL_KEY end; | ||
446 | function LSL.llSetObjectDesc(--[[string]] text) end; | ||
447 | function LSL.llSetObjectName(--[[string]] text) end; | ||
448 | function LSL.llSetPrimitiveParams(--[[list]] params) end; | ||
449 | function LSL.llSetSitText(--[[string]] text) end; | ||
450 | function LSL.llSetText(--[[string]] text, --[[vector]] colour,--[[float]] alpha) end; | ||
451 | function LSL.llSitTarget(--[[vector]] pos, --[[rotation]] rot) end; | ||
452 | |||
453 | |||
454 | -- LSL rotation / scaling / translation functions | ||
455 | |||
456 | function --[[vector]] LSL.llGetPos() return LSL.ZERO_VECTOR end; | ||
457 | function --[[rotation]] LSL.llGetRot() return LSL.ZERO_ROTATION end; | ||
458 | function LSL.llSetPos(--[[vector]] pos) end; | ||
459 | function LSL.llSetRot(--[[rotation]] rot) end; | ||
460 | function LSL.llSetScale(--[[vector]] scale) end; | ||
461 | |||
462 | |||
463 | -- LSL script functions | ||
464 | |||
465 | function --[[integer]] LSL.llGetFreeMemory() return 0 end; | ||
466 | function --[[string]] LSL.llGetScriptName() return "" end; | ||
467 | function LSL.llResetOtherScript(--[[string]] name) msg("llResetOtherScript(" .. name .. ")") end; | ||
468 | function LSL.llResetScript() end; | ||
469 | function LSL.llSetScriptState(--[[string]] name,--[[integer]] running) msg("llSetScriptState(" .. name .. "," .. running .. ")") end; | ||
470 | |||
471 | |||
472 | -- LSL sound functions | ||
473 | |||
474 | function LSL.llPlaySound(--[[string]] name,--[[float]] volume) end; | ||
475 | |||
476 | |||
477 | -- LSL string functions | ||
478 | |||
479 | function --[[string]] LSL.llGetSubString(--[[string]] text,--[[integer]] start,--[[integer]] eNd) return "" end; | ||
480 | function --[[integer]] LSL.llStringLength(--[[string]] text) return 0 end; | ||
481 | function --[[string]] LSL.llStringTrim(--[[string]] text,--[[integer]] tyPe) return "" end; | ||
482 | function --[[integer]] LSL.llSubStringIndex(--[[string]] text, --[[string]] sub) return 0 end; | ||
483 | |||
484 | |||
485 | -- LSL texture functions | ||
486 | |||
487 | function --[[float]] LSL.llGetAlpha(--[[integer]] side) return 0.0 end; | ||
488 | function LSL.llSetAlpha(--[[float]] alpha,--[[integer]] side) end; | ||
489 | function LSL.llSetColor(--[[vector]] colour,--[[integer]] side) end; | ||
490 | |||
491 | |||
492 | -- LSL time functions | ||
493 | |||
494 | function --[[float]] LSL.llGetTime() return 0.0 end; | ||
495 | function LSL.llResetTime() end; | ||
496 | function LSL.llSetTimerEvent(--[[float]] seconds) end; | ||
497 | function LSL.llSleep(--[[float]] seconds) msg("llSleep(" .. seconds .. ")") end; | ||
498 | |||
499 | |||
462 | 500 | ||
463 | -- Crements stuff. | 501 | -- Crements stuff. |
464 | 502 | ||
@@ -467,6 +505,7 @@ function LSL.preIncrement(name) _G[name] = _G[name] + 1; return _G[name]; end; | |||
467 | function LSL.postDecrement(name) local temp = _G[name]; _G[name] = _G[name] - 1; return temp; end; | 505 | function LSL.postDecrement(name) local temp = _G[name]; _G[name] = _G[name] - 1; return temp; end; |
468 | function LSL.postIncrement(name) local temp = _G[name]; _G[name] = _G[name] + 1; return temp; end; | 506 | function LSL.postIncrement(name) local temp = _G[name]; _G[name] = _G[name] + 1; return temp; end; |
469 | 507 | ||
508 | |||
470 | -- State stuff | 509 | -- State stuff |
471 | 510 | ||
472 | local currentState = {} | 511 | local currentState = {} |
@@ -550,6 +589,7 @@ function LSL.mainLoop(ourSID, x) | |||
550 | end | 589 | end |
551 | end | 590 | end |
552 | 591 | ||
592 | |||
553 | -- Typecasting stuff. | 593 | -- Typecasting stuff. |
554 | 594 | ||
555 | function LSL.floatTypecast(x) | 595 | function LSL.floatTypecast(x) |