OSSL vs LSL
From OpenSimulator
(Difference between revisions)
JeffKelley (Talk | contribs) m |
JeffKelley (Talk | contribs) m |
||
Line 2: | Line 2: | ||
Work in progress, not to be linked now. | Work in progress, not to be linked now. | ||
+ | |||
+ | '''H''' : Target is the script's host (the prim containing the script)<br/> | ||
+ | '''L''' : Target is prim in the linkset, adressed by link number<br/> | ||
+ | '''K''' : Target is any prim you own, adressed by key (inside or outside linkset)<br/> | ||
+ | '''A''' : Target is an avatar<br/> | ||
+ | |||
+ | When a function is marked as supporting different adressing modes, these are overloads (a.k.a. 'variants') selected at compile time according to the parameter types. | ||
+ | |||
{| class="wikitable" style="margin:auto" | {| class="wikitable" style="margin:auto" | ||
− | | llGetLinkPrimitiveParams || [[osGetLinkPrimitiveParams]] || Allows for multiple-link constants LINK_SET, LINK_ALL_CHILDREN. Returns a by-side list of properties. | + | | llGetLinkPrimitiveParams || [[osGetLinkPrimitiveParams]] || L || Allows for multiple-link constants LINK_SET, LINK_ALL_CHILDREN. Returns a by-side list of properties. |
|- | |- | ||
− | | llSetLinkPrimitiveParams || || No need for OSSL version since llSetLinkPrimitiveParams accepts all LINK_* flags | + | | llSetLinkPrimitiveParams || || L || No need for OSSL version since llSetLinkPrimitiveParams accepts all LINK_* flags |
|- | |- | ||
− | | llGetPrimitiveParams<br/>llSetPrimitiveParams || [[osGetPrimitiveParams]]<br/>[[osSetPrimitiveParams]] || Acts on out-of-linkset primitive (uuid instead of linknumber) | + | | llGetPrimitiveParams<br/>llSetPrimitiveParams || [[osGetPrimitiveParams]]<br/>[[osSetPrimitiveParams]] || K || Acts on out-of-linkset primitive (uuid instead of linknumber) |
|- | |- | ||
− | || || [[osSetProjectionParams]] || Same effect can be obtained with llSetLinkPrimitiveParams (linknum, [PRIM_PROJECTOR]) but OSSL version has osSetPrimitiveParams power to work out-of-linkset by uuid. | + | || || [[osSetProjectionParams]] || H L K || Same effect can be obtained with llSetLinkPrimitiveParams (linknum, [PRIM_PROJECTOR]) but OSSL version has osSetPrimitiveParams power to work out-of-linkset by uuid. |
|- | |- | ||
− | | llCreateLink<br\>llBreakLink<br\>llBreakAllLinks || [[osForceCreateLink]]<br/>[[osForceBreakLink]]<br\>[[osForceBreakAllLinks]] || Does not require PERMISSION_CHANGE_LINKS | + | | llCreateLink<br\>llBreakLink<br\>llBreakAllLinks || [[osForceCreateLink]]<br/>[[osForceBreakLink]]<br\>[[osForceBreakAllLinks]] || || Does not require PERMISSION_CHANGE_LINKS |
|- | |- | ||
− | | llParticleSystem<br/>llLinkParticleSystem || [[osParticleSystem]]<br/>[[osLinkParticleSystem]] || | + | | llParticleSystem<br/>llLinkParticleSystem || [[osParticleSystem]]<br/>[[osLinkParticleSystem]] || H<br/>L || |
|- | |- | ||
− | | llSitTarget<br/>llLinkSitTarget || [[osSetStandTarget]]<br/>[[osSetLinkStandTarget]] || Set the position of the feet of the avatar, when ll version set the position of the Agent Target (Developer > Avatar > Display Agent Target) | + | | llSitTarget<br/>llLinkSitTarget || [[osSetStandTarget]]<br/>[[osSetLinkStandTarget]] || H<br/>L || Set the position of the feet of the avatar, when ll version set the position of the Agent Target (Developer > Avatar > Display Agent Target) |
|- | |- | ||
− | | llPlaySound<br/>llLoopSound<br/>llTriggerSound<br/>... || [[osPlaySound]]<br\>[[osLoopSound]]<br\>[[osTriggerSound]]<br/>... || All OSSL sound functions takes a linknumber argument. | + | | llPlaySound<br/>llLoopSound<br/>llTriggerSound<br/>... || [[osPlaySound]]<br\>[[osLoopSound]]<br\>[[osTriggerSound]]<br/>... || L || All OSSL sound functions takes a linknumber argument. |
|- | |- | ||
− | | || llLinkPlaySound || Universal link sound function (SOUND_PLAY, SOUND_LOOP, SOUND_TRIGGER, SOUND_SYNC). Equivalent to resp. osPlaySound, osLoopSound, osTriggerSound, osPlaySoundSlave, osLoopSoundSlave. | + | | || llLinkPlaySound || L || Universal link sound function (SOUND_PLAY, SOUND_LOOP, SOUND_TRIGGER, SOUND_SYNC). Equivalent to resp. osPlaySound, osLoopSound, osTriggerSound, osPlaySoundSlave, osLoopSoundSlave. |
|- | |- | ||
− | | llGetNumberOfPrims<br/>llGetObjectPrimCount || [[osGetPrimCount]]()<br/>[[osGetPrimCount]](uuid) || OSSL version does not count sitting avatars and does work on attachments | + | | llGetNumberOfPrims<br/>llGetObjectPrimCount || [[osGetPrimCount]]()<br/>[[osGetPrimCount]](uuid) || H K || OSSL version does not count sitting avatars and does work on attachments |
|- | |- | ||
− | || llAvatarOnSitTarget<br/>llAvatarOnLinkSitTarget || [[osGetSittingAvatarsCount]]()<br/>[[osGetSittingAvatarsCount]](uuid) || OSSL function returns the total number of avatars sitting on a linkset. LSL functions apply only to avatars on sittarget (return NULL_KEY if sittarget is not set) and cannot operate outside the linkset. A similar result can be obtained with llGetObjectDetails(uuid, [OBJECT_SIT_COUNT]). | + | || llAvatarOnSitTarget<br/>llAvatarOnLinkSitTarget || [[osGetSittingAvatarsCount]]()<br/>[[osGetSittingAvatarsCount]](uuid) || H K || OSSL function returns the total number of avatars sitting on a linkset. LSL functions apply only to avatars on sittarget (return NULL_KEY if sittarget is not set) and cannot operate outside the linkset. A similar result can be obtained with llGetObjectDetails(uuid, [OBJECT_SIT_COUNT]). |
+ | |- | ||
+ | || llStartAnimation<br/>llStopAnimation ||[[osAvatarPlayAnimation]]<br/>[[osAvatarStopAnimation]] || A || Does not require PERMISSION_TRIGGER_ANIMATION | ||
|} | |} |
Revision as of 08:09, 15 June 2023
This page to highlight the difference between OSSL and LSL functions when similar versions exist.
Work in progress, not to be linked now.
H : Target is the script's host (the prim containing the script)
L : Target is prim in the linkset, adressed by link number
K : Target is any prim you own, adressed by key (inside or outside linkset)
A : Target is an avatar
When a function is marked as supporting different adressing modes, these are overloads (a.k.a. 'variants') selected at compile time according to the parameter types.
llGetLinkPrimitiveParams | osGetLinkPrimitiveParams | L | Allows for multiple-link constants LINK_SET, LINK_ALL_CHILDREN. Returns a by-side list of properties. |
llSetLinkPrimitiveParams | L | No need for OSSL version since llSetLinkPrimitiveParams accepts all LINK_* flags | |
llGetPrimitiveParams llSetPrimitiveParams |
osGetPrimitiveParams osSetPrimitiveParams |
K | Acts on out-of-linkset primitive (uuid instead of linknumber) |
osSetProjectionParams | H L K | Same effect can be obtained with llSetLinkPrimitiveParams (linknum, [PRIM_PROJECTOR]) but OSSL version has osSetPrimitiveParams power to work out-of-linkset by uuid. | |
llCreateLink llBreakLink llBreakAllLinks |
osForceCreateLink osForceBreakLink osForceBreakAllLinks |
Does not require PERMISSION_CHANGE_LINKS | |
llParticleSystem llLinkParticleSystem |
osParticleSystem osLinkParticleSystem |
H L |
|
llSitTarget llLinkSitTarget |
osSetStandTarget osSetLinkStandTarget |
H L |
Set the position of the feet of the avatar, when ll version set the position of the Agent Target (Developer > Avatar > Display Agent Target) |
llPlaySound llLoopSound llTriggerSound ... |
osPlaySound osLoopSound osTriggerSound ... |
L | All OSSL sound functions takes a linknumber argument. |
llLinkPlaySound | L | Universal link sound function (SOUND_PLAY, SOUND_LOOP, SOUND_TRIGGER, SOUND_SYNC). Equivalent to resp. osPlaySound, osLoopSound, osTriggerSound, osPlaySoundSlave, osLoopSoundSlave. | |
llGetNumberOfPrims llGetObjectPrimCount |
osGetPrimCount() osGetPrimCount(uuid) |
H K | OSSL version does not count sitting avatars and does work on attachments |
llAvatarOnSitTarget llAvatarOnLinkSitTarget |
osGetSittingAvatarsCount() osGetSittingAvatarsCount(uuid) |
H K | OSSL function returns the total number of avatars sitting on a linkset. LSL functions apply only to avatars on sittarget (return NULL_KEY if sittarget is not set) and cannot operate outside the linkset. A similar result can be obtained with llGetObjectDetails(uuid, [OBJECT_SIT_COUNT]). |
llStartAnimation llStopAnimation |
osAvatarPlayAnimation osAvatarStopAnimation |
A | Does not require PERMISSION_TRIGGER_ANIMATION |