OSSL vs LSL

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m
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 09: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
Personal tools
General
About This Wiki