diff --git a/gen_all_definitions.sh b/gen_all_definitions.sh index 241b889f..5237aa30 100755 --- a/gen_all_definitions.sh +++ b/gen_all_definitions.sh @@ -45,5 +45,6 @@ $CMD $DEFS gen_mono_library_defs ./templates/LslLibrary.cs "$outdir/templated/Ls # Experimental generators $CMD $DEFS gen_enums_txt "$outdir/experimental/enums.txt" +$CMD $DEFS gen_enum_users "$outdir/experimental/enum_users.json" $CMD $DEFS gen_category_functions "$outdir/experimental/category_functions.yaml" $CMD $DEFS gen_category_docs "$outdir/experimental/category_docs.yaml" diff --git a/generated/experimental/enum_users.json b/generated/experimental/enum_users.json new file mode 100644 index 00000000..972f2d93 --- /dev/null +++ b/generated/experimental/enum_users.json @@ -0,0 +1,372 @@ +{ + "AgentData": [ + "llRequestAgentData" + ], + "AgentDataPaymentInfo": [], + "AgentInfo": [], + "AgentListParam": [ + "llGetAgentList" + ], + "AgentListScope": [ + "llGetAgentList" + ], + "AgentRotFlags": [ + "llSetAgentRot" + ], + "AlphaMode": [], + "AssetPermission": [ + "llSetInventoryPermMask", + "llSetObjectPermMask" + ], + "AssetPermissionCategory": [ + "llGetInventoryPermMask", + "llSetInventoryPermMask", + "llSetObjectPermMask" + ], + "AssetPermissionCategoryFlag": [], + "AssetPermissionCategoryOrFlag": [], + "AttachPoint": [ + "llAttachToAvatar", + "llAttachToAvatarTemp" + ], + "AttachedListFilterFlag": [], + "AttachedListFilterParam": [ + "llGetAttachedListFiltered" + ], + "CameraParam": [ + "llSetCameraParams" + ], + "ChangeType": [ + "changed" + ], + "CharacterAvoidanceMode": [], + "CharacterCommand": [ + "llExecCharacterCmd" + ], + "CharacterEvadeParam": [ + "llEvade" + ], + "CharacterFleeFromParam": [ + "llFleeFrom" + ], + "CharacterNavigateParam": [ + "llNavigateTo" + ], + "CharacterOrientation": [], + "CharacterParam": [ + "llCreateCharacter", + "llUpdateCharacter" + ], + "CharacterPathUpdateType": [ + "path_update" + ], + "CharacterPatrolPointsParam": [ + "llPatrolPoints" + ], + "CharacterPursueParam": [ + "llPursue" + ], + "CharacterTraversalType": [], + "CharacterType": [], + "CharacterWanderWithinParam": [ + "llWanderWithin" + ], + "ClickAction": [ + "llSetClickAction" + ], + "ControlButton": [ + "control", + "control", + "llTakeControls" + ], + "DamageType": [ + "llDamage" + ], + "DerezMode": [ + "llDerezObject" + ], + "DetectType": [ + "llSensor", + "llSensorRepeat" + ], + "EmailTarget": [ + "llTargetedEmail" + ], + "EnvironmentError": [], + "EnvironmentParam": [ + "llSetAgentEnvironment", + "llSetEnvironment" + ], + "EnvironmentParamReadOnly": [ + "llGetEnvironment" + ], + "EstateAccessParam": [ + "llManageEstateAccess" + ], + "ExperienceError": [ + "experience_permissions_denied", + "llGetExperienceErrorMessage" + ], + "Faces": [ + "llClearLinkMedia", + "llClearPrimMedia", + "llGetAlpha", + "llGetColor", + "llGetLinkMedia", + "llGetPrimMediaParams", + "llGetRenderMaterial", + "llGetSimStats", + "llGetTexture", + "llGetTextureOffset", + "llGetTextureRot", + "llGetTextureScale", + "llIsLinkGLTFMaterial", + "llOffsetTexture", + "llRotateTexture", + "llScaleTexture", + "llSetAlpha", + "llSetColor", + "llSetLinkAlpha", + "llSetLinkColor", + "llSetLinkGLTFOverrides", + "llSetLinkMedia", + "llSetLinkRenderMaterial", + "llSetLinkTexture", + "llSetLinkTextureAnim", + "llSetPrimMediaParams", + "llSetRenderMaterial", + "llSetTexture", + "llSetTextureAnim" + ], + "FindNotecardTextParam": [ + "llFindNotecardTextCount", + "llFindNotecardTextSync" + ], + "GLTFAlphaMode": [], + "GLTFOverride": [ + "llSetLinkGLTFOverrides" + ], + "GameControlAxis": [], + "GameControlButton": [ + "game_control" + ], + "GetClosestNavPointParam": [ + "llGetClosestNavPoint" + ], + "GetStaticPathParam": [ + "llGetStaticPath" + ], + "GiveAgentInventoryParam": [ + "llGiveAgentInventory" + ], + "GroundTextureParam": [ + "llSetGroundTexture" + ], + "HTTPContentType": [ + "llSetContentType" + ], + "HTTPRequestParam": [ + "llHTTPRequest" + ], + "HTTPResponseError": [ + "http_response" + ], + "InventoryType": [ + "llGetInventoryName", + "llGetInventoryNumber" + ], + "KeyframedMotionCommand": [], + "KeyframedMotionData": [], + "KeyframedMotionMode": [], + "KeyframedMotionParam": [ + "llSetKeyframedMotion" + ], + "Link": [ + "llAvatarOnLinkSitTarget", + "llGetLinkKey", + "llGetLinkMedia", + "llGetLinkName", + "llGetLinkNumberOfSides", + "llGetLinkPrimitiveParams", + "llGetLinkSitFlags", + "llGetObjectLinkKey", + "llGetObjectPermMask", + "llIsLinkGLTFMaterial", + "llLinkSitTarget", + "llSetLinkCamera", + "llSetLinkMedia", + "llSitOnLink" + ], + "Links": [ + "llBreakLink", + "llClearLinkMedia", + "llLinkAdjustSoundVolume", + "llLinkParticleSystem", + "llLinkPlaySound", + "llLinkSetSoundQueueing", + "llLinkSetSoundRadius", + "llLinkStopSound", + "llMessageLinked", + "llSetLinkAlpha", + "llSetLinkColor", + "llSetLinkGLTFOverrides", + "llSetLinkPrimitiveParams", + "llSetLinkPrimitiveParamsFast", + "llSetLinkRenderMaterial", + "llSetLinkSitFlags", + "llSetLinkTexture", + "llSetLinkTextureAnim" + ], + "LinksetDataAction": [ + "linkset_data" + ], + "LinksetDataError": [], + "ListEntryType": [], + "ListStatisticsOperation": [ + "llListStatistics" + ], + "MapBeaconParam": [ + "llMapBeacon" + ], + "ModifyLandAction": [ + "llModifyLand" + ], + "ModifyLandBrush": [ + "llModifyLand" + ], + "ObjectDetailsParam": [ + "llGetObjectDetails" + ], + "ObjectPathfindingType": [], + "ObjectStatusParam": [ + "llGetStatus", + "llSetStatus" + ], + "ParcelDetailsParam": [ + "llGetParcelDetails" + ], + "ParcelFlag": [], + "ParcelMediaCommand": [ + "llParcelMediaCommandList" + ], + "ParcelMediaQuery": [ + "llParcelMediaQuery" + ], + "ParcelPrimCountCategory": [ + "llGetParcelPrimCount" + ], + "ParcelSaleError": [], + "ParcelSaleParam": [ + "llSetParcelForSale" + ], + "ParcelTeleportRouting": [], + "ParticleBlendFunc": [], + "ParticleFlag": [], + "ParticleParam": [ + "llLinkParticleSystem", + "llParticleSystem" + ], + "ParticleSourcePattern": [], + "PassMode": [], + "PayButton": [ + "llSetPayPrice" + ], + "PhysicsMaterialParam": [ + "llSetPhysicsMaterial" + ], + "PhysicsMaterialPreset": [], + "PhysicsShapeType": [], + "PlaySoundFlag": [ + "llLinkPlaySound" + ], + "PrimBump": [], + "PrimMediaControl": [], + "PrimMediaError": [], + "PrimMediaParam": [ + "llGetLinkMedia", + "llGetPrimMediaParams", + "llSetLinkMedia", + "llSetPrimMediaParams" + ], + "PrimMediaPerm": [], + "PrimParam": [ + "llSetLinkPrimitiveParams", + "llSetLinkPrimitiveParamsFast", + "llSetPrimitiveParams" + ], + "PrimParamGet": [ + "llGetLinkPrimitiveParams", + "llGetPrimitiveParams" + ], + "PrimShiny": [], + "PrimTexgen": [], + "PrimType": [], + "PrimTypeHole": [], + "PrimTypeSculpt": [], + "PrimTypeSculptFlag": [], + "PrimTypeSculptType": [], + "RayCastData": [], + "RayCastError": [], + "RayCastParam": [ + "llCastRay" + ], + "RayCastRejectType": [], + "ReflectionProbeType": [], + "RegionFlag": [], + "RemoteDataEventType": [ + "remote_data" + ], + "ReturnObjectsError": [], + "ReturnObjectsScope": [ + "llReturnObjectsByOwner" + ], + "RezFlag": [], + "RezParam": [ + "llRezObjectWithParams" + ], + "ScriptPermission": [ + "run_time_permissions", + "llRequestPermissions" + ], + "ScriptProfileMode": [ + "llScriptProfiler" + ], + "SimulatorData": [ + "llRequestSimulatorData" + ], + "SimulatorStat": [], + "SitError": [], + "SitFlag": [ + "llSetLinkSitFlags" + ], + "StringTrimType": [ + "llStringTrim" + ], + "TextureAnimMode": [ + "llSetLinkTextureAnim", + "llSetTextureAnim" + ], + "TransferError": [], + "TransferOwnershipFlag": [ + "llTransferOwnership" + ], + "TransferOwnershipParam": [ + "llTransferOwnership" + ], + "VehicleFlag": [ + "llRemoveVehicleFlags", + "llSetVehicleFlags" + ], + "VehicleFloatParam": [ + "llSetVehicleFloatParam" + ], + "VehicleRotationParam": [ + "llSetVehicleRotationParam" + ], + "VehicleType": [ + "llSetVehicleType" + ], + "VehicleVectorParam": [ + "llSetVehicleVectorParam" + ] +} \ No newline at end of file diff --git a/generated/experimental/enums.txt b/generated/experimental/enums.txt index 27e3f4f4..239ae9c5 100644 --- a/generated/experimental/enums.txt +++ b/generated/experimental/enums.txt @@ -29,11 +29,15 @@ enum AgentInfo { AUTOMATED = 0x4000 FLOATING_VIA_SCRIPTED_ATTACHMENT = 0x8000 }; +enum AgentListParam { +}; enum AgentListScope { PARCEL = 0x1 PARCEL_OWNER = 0x2 REGION = 0x4 }; +enum AgentRotFlags { +}; enum AlphaMode { NONE = 0 BLEND = 1 @@ -57,6 +61,8 @@ enum AssetPermissionCategory { enum AssetPermissionCategoryFlag { COMBINED = 0x10 }; +enum AssetPermissionCategoryOrFlag { +}; enum AttachPoint { ANY_HUD = -1 CHEST = 1 @@ -392,6 +398,8 @@ enum ExperienceError { enum Faces { ALL_SIDES = -1 }; +enum FindNotecardTextParam { +}; enum GLTFAlphaMode { OPAQUE = 0 BLEND = 1 @@ -443,6 +451,9 @@ enum GetClosestNavPointParam { STATIC = 1 CHARACTER_TYPE = 6 }; +enum GetStaticPathParam { + CHARACTER_TYPE = 6 +}; enum GiveAgentInventoryParam { DEST = 0 FLAGS = 1 @@ -959,6 +970,50 @@ enum PrimParam { HEALTH = 52 COLLISION_SOUND = 53 }; +enum PrimParamGet { + MATERIAL = 2 + PHYSICS = 3 + TEMP_ON_REZ = 4 + PHANTOM = 5 + POSITION = 6 + SIZE = 7 + ROTATION = 8 + TYPE = 9 + TEXTURE = 17 + COLOR = 18 + BUMP_SHINY = 19 + FULLBRIGHT = 20 + FLEXIBLE = 21 + TEXGEN = 22 + POINT_LIGHT = 23 + CAST_SHADOWS = 24 // deprecated + GLOW = 25 + TEXT = 26 + NAME = 27 + DESC = 28 + ROT_LOCAL = 29 + PHYSICS_SHAPE_TYPE = 30 + OMEGA = 32 + POS_LOCAL = 33 + SLICE = 35 + SPECULAR = 36 + NORMAL = 37 + ALPHA_MODE = 38 + ALLOW_UNSIT = 39 + SCRIPTED_SIT_ONLY = 40 + SIT_TARGET = 41 + CLICK_ACTION = 43 + REFLECTION_PROBE = 44 + GLTF_NORMAL = 45 + GLTF_EMISSIVE = 46 + GLTF_METALLIC_ROUGHNESS = 47 + GLTF_BASE_COLOR = 48 + RENDER_MATERIAL = 49 + SIT_FLAGS = 50 + DAMAGE = 51 + HEALTH = 52 + COLLISION_SOUND = 53 +}; enum PrimShiny { NONE = 0 LOW = 1 @@ -985,6 +1040,8 @@ enum PrimTypeHole { SQUARE = 32 TRIANGLE = 48 }; +enum PrimTypeSculpt { +}; enum PrimTypeSculptFlag { ANIMESH = 0x20 INVERT = 0x40 @@ -1181,6 +1238,8 @@ enum TransferOwnershipFlag { TAKE = 0x2 COPY = 0x4 }; +enum TransferOwnershipParam { +}; enum VehicleFlag { NO_DEFLECTION_UP = 0x1 NO_FLY_UP = 0x1 // deprecated diff --git a/lsl_definitions.schema.json b/lsl_definitions.schema.json index 2350c6fd..f8f63f04 100644 --- a/lsl_definitions.schema.json +++ b/lsl_definitions.schema.json @@ -128,6 +128,65 @@ } ] }, + "arguments": { + "items": { + "additionalProperties": false, + "patternProperties": { + "^(?:[A-Za-z]+(?:[A-z0-9-_]+)*)$": { + "additionalProperties": false, + "properties": { + "asset-semantics": { + "const": true, + "markdownDescription": "This function argument's string value represents an asset name or uuid.", + "type": "boolean" + }, + "bool-semantics": { + "const": true, + "markdownDescription": "This function argument's integer value represents a boolean value.", + "type": "boolean" + }, + "index-semantics": { + "const": true, + "markdownDescription": "This function argument's integer value represents a zero-based index.", + "type": "boolean" + }, + "enum-semantics": { + "pattern": "^[A-Z][A-Za-z]+$", + "markdownDescription": "This function argument's integer value represents an enum value.", + "type": "string" + }, + "param-semantics": { + "pattern": "^[A-Z][A-Za-z]+$", + "markdownDescription": "This function argument's list value represents a parameter list to set.", + "type": "string" + }, + "param-get-semantics": { + "pattern": "^[A-Z][A-Za-z]+$", + "markdownDescription": "This function argument's list value represents a parameter list to get.", + "type": "string" + }, + "tooltip": { + "markdownDescription": "A brief description of this function argument.", + "type": "string" + }, + "type": { "$ref": "#/$defs/lslType" }, + "slua-type": { + "markdownDescription": "A more specific argument type for slua type-checking.", + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + } + }, + "type": "object" + }, + "markdownDescription": "An array of function arguments.", + "type": "array", + "uniqueItems": true + }, "rulesetParamArray": { "items": { "items": false, @@ -297,7 +356,12 @@ "type": "object", "additionalProperties": false, "properties": { - "type": { "enum": ["enum", "flag"] }, + "type": { "enum": ["enum", "flag", "enum+flag", "param-dict", "param-list"] }, + "other-values": { + "const": true, + "markdownDescription": "This parameter accepts values outside the defined enum.", + "type": "boolean" + }, "prefix": { "type": "string", "pattern": "^[A-Z]+[A-Z_]*$", @@ -305,6 +369,20 @@ }, "deprecated": { "$ref": "#/$defs/deprecated" }, "slua-deprecated": { "$ref": "#/$defs/deprecated" }, + "enum": { + "type": "string", + "pattern": "^[A-Z][A-Za-z]+$", + "markdownDescription": "The flag portion of this enum+flag." + }, + "flag": { + "type": "string", + "pattern": "^[A-Z][A-Za-z]+$", + "markdownDescription": "The flag portion of this enum+flag." + }, + "mask": { + "type": "string", + "markdownDescription": "The mask to extract the enum portion of this enum+flag." + }, "special-members": { "markdownDescription": "Valid member names whose value violates the validation rules", "type": "array", @@ -360,6 +438,79 @@ }, "value-type": { "markdownDescription": "For constants used as rule tags in list-based APIs: the type of the value that follows this constant in the list. Uses the same vocabulary as ruleset param types. 'string-csv' accepts a {string} array and serializes it as an escaped comma-separated string. 'string-map' accepts a {[string]: string} table and emits one tag/key/value triple per entry.", + "enum": ["integer", "float", "string", "vector", "rotation", "boolean", "asset", "key", "string-csv", "string-map", "string-multi"], + "type": "string" + }, + "range": { + "markdownDescription": "An array with the start and end values.", + "items": { + "type": ["number", "string", "integer"] + }, + "maxItems": 2, + "minItems": 2, + "type": "array" + }, + "default": { + "markdownDescription": "The default value.", + "type": ["number", "string", "integer", "boolean"] + }, + "enum": { + "markdownDescription": "A category of constants valid for this value.", + "type": "string" + }, + "details": { + "markdownDescription": "Additional information.", + "type": "string" + }, + "access": { + "markdownDescription": "Access mode. 'arg' is always an argument. 'read' is used only when reading. 'write' is used only when writing.", + "enum": ["arg", "read", "write", "read/write"], + "type": "string" + }, + "values": { + "markdownDescription": "A list of values associated to the constant.", + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "markdownDescription": "The name of this value.", + "type": "string" + }, + "value-type": { + "markdownDescription": "For constants used as rule tags in list-based APIs: the type of the value that follows this constant in the list. Uses the same vocabulary as ruleset param types. 'string-csv' accepts a {string} array and serializes it as an escaped comma-separated string. 'string-map' accepts a {[string]: string} table and emits one tag/key/value triple per entry.", + "enum": ["integer", "float", "string", "vector", "rotation", "boolean", "asset", "key", "string-csv", "string-map", "string-multi"], + "type": "string" + }, + "range": { + "markdownDescription": "An array with the start and end values.", + "items": { + "type": ["number", "string", "integer"] + }, + "maxItems": 2, + "minItems": 2, + "type": "array" + }, + "default": { + "markdownDescription": "The default value.", + "type": ["number", "string", "integer", "boolean"] + }, + "enum": { + "markdownDescription": "A category of constants valid for this value.", + "type": "string" + }, + "details": { + "markdownDescription": "Additional information.", + "type": "string" + }, + "access": { + "markdownDescription": "Access mode. 'arg' is always an argument. 'read' is used only when reading. 'write' is used only when writing.", + "enum": ["arg", "read", "write", "read/write"], + "type": "string" + } + } + } "enum": ["integer", "float", "string", "vector", "rotation", "boolean", "asset", "key", "string-csv", "string-map", "string-multi"] }, "pretty-name": { @@ -409,31 +560,7 @@ "^[a-z_]+$": { "additionalProperties": false, "properties": { - "arguments": { - "items": { - "additionalProperties": false, - "patternProperties": { - "^(?:[A-Za-z]+(?:_[A-Za-z]+)*)$": { - "properties": { - "tooltip": { - "markdownDescription": "A brief description of this event argument.", - "type": "string" - }, - "type": { "$ref": "#/$defs/lslType" } - }, - "required": [ - "type" - ], - "type": "object" - } - }, - "type": "object" - }, - "markdownDescription": "An array of event arguments.", - "minItems": 0, - "type": "array", - "uniqueItems": true - }, + "arguments": { "$ref": "#/$defs/arguments" }, "detected-semantics": { "const": true, "markdownDescription": "Uses llDetected* in LSL and {DetectedEvent} in SLua.", @@ -483,50 +610,7 @@ "type": "array", "uniqueItems": true }, - "arguments": { - "items": { - "additionalProperties": false, - "patternProperties": { - "^(?:[A-Za-z]+(?:[A-z0-9-_]+)*)$": { - "additionalProperties": false, - "properties": { - "asset-semantics": { - "const": true, - "markdownDescription": "This function argument's string value represents an asset name or uuid.", - "type": "boolean" - }, - "bool-semantics": { - "const": true, - "markdownDescription": "This function argument's integer value represents a boolean value.", - "type": "boolean" - }, - "index-semantics": { - "const": true, - "markdownDescription": "This function argument's integer value represents a zero-based index.", - "type": "boolean" - }, - "tooltip": { - "markdownDescription": "A brief description of this function argument.", - "type": "string" - }, - "type": { "$ref": "#/$defs/lslType" }, - "slua-type": { - "markdownDescription": "A more specific argument type for slua type-checking.", - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - } - }, - "type": "object" - }, - "markdownDescription": "An array of function arguments.", - "type": "array", - "uniqueItems": true - }, + "arguments": { "$ref": "#/$defs/arguments" }, "asset-semantics": { "const": true, "markdownDescription": "The returned string value represents an asset name or uuid.", @@ -547,6 +631,11 @@ "$ref": "#/$defs/nonNegativeNumber", "markdownDescription": "The script energy consumed by this function." }, + "enum-semantics": { + "pattern": "^[A-Z][A-Za-z]+$", + "markdownDescription": "This function's integer return value represents an enum value.", + "type": "string" + }, "experience": { "const": true, "markdownDescription": "This function requires an experience to be set for the script to compile.", @@ -586,6 +675,11 @@ "markdownDescription": "This function must use a native implementation for non-LSO VMs.", "type": "boolean" }, + "param-get-semantics": { + "pattern": "^[A-Z][A-Za-z]+$", + "markdownDescription": "This function's list return value represents a list of the requested parameter values.", + "type": "string" + }, "private": { "const": true, "markdownDescription": "This function should be omitted from the generated documentation.", diff --git a/lsl_definitions.yaml b/lsl_definitions.yaml index 7bf85dfc..181e7dc6 100644 --- a/lsl_definitions.yaml +++ b/lsl_definitions.yaml @@ -41,6 +41,12 @@ enums: type: flag prefix: AGENT_LIST_ tooltip: '' + AgentListParam: + type: param-dict + tooltip: 'None defined yet' + AgentRotFlags: + type: flag + tooltip: 'None defined yet' AlphaMode: type: enum prefix: PRIM_ALPHA_MODE_ @@ -58,12 +64,19 @@ enums: type: flag prefix: MASK_ tooltip: '' + AssetPermissionCategoryOrFlag: + type: enum+flag + enum: AssetPermissionCategory + flag: AssetPermissionCategoryFlag + mask: "0x7" + prefix: MASK_ + tooltip: '' AttachedListFilterFlag: type: flag prefix: FILTER_FLAG_ tooltip: '' AttachedListFilterParam: - type: enum + type: param-dict prefix: FILTER_ tooltip: '' AttachPoint: @@ -71,7 +84,7 @@ enums: prefix: ATTACH_ tooltip: '' CameraParam: - type: enum + type: param-dict prefix: CAMERA_ tooltip: '' ChangeType: @@ -87,19 +100,19 @@ enums: prefix: CHARACTER_CMD_ tooltip: '' CharacterEvadeParam: - type: enum - tooltip: '' + type: param-dict + tooltip: 'No options yet.' CharacterFleeFromParam: - type: enum - tooltip: '' + type: param-dict + tooltip: 'No options yet.' CharacterNavigateParam: - type: enum + type: param-dict tooltip: '' CharacterOrientation: type: enum tooltip: '' CharacterParam: - type: enum + type: param-dict prefix: CHARACTER_ tooltip: '' CharacterPathUpdateType: @@ -107,11 +120,11 @@ enums: prefix: PU_ tooltip: '' CharacterPatrolPointsParam: - type: enum + type: param-dict prefix: PATROL_ tooltip: '' CharacterPursueParam: - type: enum + type: param-dict prefix: PURSUIT_ tooltip: '' CharacterTraversalType: @@ -123,7 +136,7 @@ enums: prefix: CHARACTER_TYPE_ tooltip: '' CharacterWanderWithinParam: - type: enum + type: param-dict tooltip: '' ClickAction: type: enum @@ -137,6 +150,7 @@ enums: DamageType: type: enum prefix: DAMAGE_TYPE_ + other-values: true tooltip: '' DerezMode: type: enum @@ -155,10 +169,10 @@ enums: prefix: ENV_ tooltip: '' EnvironmentParam: - type: enum + type: param-list tooltip: '' EnvironmentParamReadOnly: - type: enum + type: param-list tooltip: '' EstateAccessParam: type: enum @@ -170,7 +184,11 @@ enums: tooltip: '' Faces: type: enum + other-values: true tooltip: 'Operate on one or more face numbers at a time.' + FindNotecardTextParam: + type: param-dict + tooltip: 'No options yet.' GameControlAxis: type: enum prefix: GAME_CONTROL_AXIS_ @@ -180,11 +198,14 @@ enums: prefix: GAME_CONTROL_BUTTON_ tooltip: '' GetClosestNavPointParam: - type: enum + type: param-dict prefix: GCNP_ tooltip: '' + GetStaticPathParam: + type: param-dict + tooltip: '' GiveAgentInventoryParam: - type: enum + type: param-dict prefix: TRANSFER_ tooltip: '' GLTFAlphaMode: @@ -192,11 +213,11 @@ enums: prefix: PRIM_GLTF_ALPHA_MODE_ tooltip: '' GLTFOverride: - type: enum + type: param-dict prefix: OVERRIDE_GLTF_ tooltip: '' GroundTextureParam: - type: enum + type: param-dict prefix: TERRAIN_ tooltip: '' HTTPContentType: @@ -204,11 +225,11 @@ enums: prefix: CONTENT_TYPE_ tooltip: '' HTTPRequestParam: - type: enum + type: param-dict prefix: HTTP_ tooltip: '' HTTPResponseError: - type: enum + type: param-dict prefix: HTTP_ tooltip: '' InventoryType: @@ -229,15 +250,17 @@ enums: prefix: KFM_ tooltip: '' KeyframedMotionParam: - type: enum + type: param-dict prefix: KFM_ tooltip: '' Link: type: enum + other-values: true prefix: LINK_ tooltip: 'Operate on one link number at a time.' Links: type: enum + other-values: true prefix: LINK_ tooltip: 'Operate on one or more link numbers at a time.' LinksetDataAction: @@ -258,7 +281,7 @@ enums: prefix: LIST_STAT_ tooltip: '' MapBeaconParam: - type: enum + type: param-dict prefix: BEACON_ tooltip: '' ModifyLandAction: @@ -270,7 +293,7 @@ enums: prefix: LAND_BRUSH_ tooltip: '' ObjectDetailsParam: - type: enum + type: param-dict prefix: OBJECT_ tooltip: '' ObjectPathfindingType: @@ -282,7 +305,7 @@ enums: prefix: STATUS_ tooltip: '' ParcelDetailsParam: - type: enum + type: param-dict prefix: PARCEL_DETAILS_ tooltip: '' ParcelFlag: @@ -290,11 +313,11 @@ enums: prefix: PARCEL_FLAG_ tooltip: '' ParcelMediaCommand: - type: enum + type: param-dict prefix: PARCEL_MEDIA_COMMAND_ tooltip: '' ParcelMediaQuery: - type: enum + type: param-dict prefix: PARCEL_MEDIA_COMMAND_ tooltip: '' ParcelPrimCountCategory: @@ -306,7 +329,7 @@ enums: prefix: PARCEL_SALE_ tooltip: '' ParcelSaleParam: - type: enum + type: param-dict prefix: PARCEL_SALE_ tooltip: '' ParcelTeleportRouting: @@ -322,7 +345,7 @@ enums: prefix: PSYS_PART_ tooltip: '' ParticleParam: - type: enum + type: param-dict prefix: PSYS_ tooltip: '' ParticleSourcePattern: @@ -334,8 +357,9 @@ enums: prefix: PASS_ tooltip: '' PayButton: - type: enum + type: param-list prefix: PAY_ + other-values: true tooltip: '' PhysicsMaterialParam: type: flag @@ -366,7 +390,7 @@ enums: prefix: STATUS_ tooltip: '' PrimMediaParam: - type: enum + type: param-dict prefix: PRIM_MEDIA_ tooltip: '' PrimMediaPerm: @@ -375,7 +399,11 @@ enums: special-members: [PRIM_MEDIA_PERM_NONE] # zero tooltip: '' PrimParam: - type: enum + type: param-list + prefix: PRIM_ + tooltip: '' + PrimParamGet: + type: param-list prefix: PRIM_ tooltip: '' PrimShiny: @@ -402,6 +430,13 @@ enums: type: enum prefix: PRIM_SCULPT_TYPE_ tooltip: '' + PrimTypeSculpt: + type: enum+flag + enum: PrimTypeSculptType + flag: PrimTypeSculptFlag + mask: PRIM_SCULPT_TYPE_MASK + prefix: PRIM_SCULPT_ + tooltip: '' RayCastData: type: flag prefix: RC_GET_ @@ -409,9 +444,10 @@ enums: RayCastError: type: enum prefix: RCERR_ + other-values: true tooltip: '' RayCastParam: - type: enum + type: param-dict prefix: RC_ tooltip: '' RayCastRejectType: @@ -434,6 +470,7 @@ enums: ReturnObjectsError: type: enum prefix: ERR_ + other-values: true tooltip: '' ReturnObjectsScope: type: flag @@ -444,7 +481,7 @@ enums: prefix: REZ_FLAG_ tooltip: '' RezParam: - type: enum + type: param-list prefix: REZ_ tooltip: '' ScriptPermission: @@ -486,6 +523,10 @@ enums: type: flag prefix: TRANSFER_FLAG_ tooltip: '' + TransferOwnershipParam: + type: param-dict + prefix: TRANSFER_ + tooltip: 'No options yet.' VehicleFlag: type: flag prefix: VEHICLE_FLAG_ @@ -826,7 +867,8 @@ constants: deprecated: use: ATTACH_RIGHT_PEC member-of: [AttachPoint] - tooltip: Attachment point for the avatar's right pectoral (deprecated, use ATTACH_RIGHT_PEC). + tooltip: Attachment point for the avatar's right pectoral (deprecated, use + ATTACH_RIGHT_PEC). type: integer value: 30 ATTACH_LSHOULDER: @@ -919,7 +961,8 @@ constants: deprecated: use: ATTACH_LEFT_PEC member-of: [AttachPoint] - tooltip: Attachment point for the avatar's left pectoral (deprecated, use ATTACH_LEFT_PEC). + tooltip: Attachment point for the avatar's left pectoral (deprecated, use + ATTACH_LEFT_PEC). type: integer value: 29 ATTACH_RSHOULDER: @@ -973,84 +1016,152 @@ constants: avatar's viewer. type: integer value: 1 + values: + - name: open_map + value-type: boolean + - name: focus_map + value-type: boolean CAMERA_ACTIVE: member-of: [CameraParam] tooltip: Option flag used with llSetCameraParams to turn scripted control of the camera on or off. type: integer value: 12 + values: + - name: isActive + value-type: boolean + default: false CAMERA_BEHINDNESS_ANGLE: member-of: [CameraParam] tooltip: Sets the angle in degrees within which the camera is not constrained by changes in target rotation. type: integer value: 8 + values: + - name: degrees + value-type: float + range: [0, 180] + default: 10 CAMERA_BEHINDNESS_LAG: member-of: [CameraParam] tooltip: Sets how strongly the camera is forced to stay behind the target if outside of the behindness angle. type: integer value: 9 + values: + - name: seconds + value-type: float + range: [0, 3] + default: 0 CAMERA_DISTANCE: member-of: [CameraParam] tooltip: Sets how far away the camera wants to be from its target. type: integer value: 7 + values: + - name: meters + value-type: float + range: [0.5, 50] + default: 3 CAMERA_FOCUS: member-of: [CameraParam] tooltip: Sets camera focus (target position) in region coordinates. type: integer value: 17 + values: + - name: position + value-type: vector CAMERA_FOCUS_LAG: member-of: [CameraParam] tooltip: Sets how much the camera lags as it aims toward the target. type: integer value: 6 + values: + - name: seconds + value-type: float + range: [0, 3] + default: 0.1 CAMERA_FOCUS_LOCKED: member-of: [CameraParam] tooltip: Option flag used with llSetCameraParams to lock the camera focus so it does not move. type: integer value: 22 + values: + - name: isLocked + value-type: boolean + default: false CAMERA_FOCUS_OFFSET: member-of: [CameraParam] tooltip: Adjusts the camera focus position relative to the target. type: integer value: 1 + values: + - name: meters + value-type: vector + range: ["<-10,-10,-10>", "<10,10,10>"] + default: <0,0,0> CAMERA_FOCUS_THRESHOLD: member-of: [CameraParam] tooltip: Sets the radius of a sphere around the camera's target position within which its focus is not affected by target motion. type: integer value: 11 + values: + - name: meters + value-type: float + range: [0, 4] + default: 1 CAMERA_PITCH: member-of: [CameraParam] tooltip: Adjusts the angular amount that the camera aims straight ahead versus straight down, maintaining the same distance (analogous to 'incidence'). type: integer value: 0 + values: + - name: degrees + value-type: float + range: [-45, 80] + default: 0 CAMERA_POSITION: member-of: [CameraParam] tooltip: Sets camera position in region coordinates. type: integer value: 13 + values: + - name: position + value-type: vector CAMERA_POSITION_LAG: member-of: [CameraParam] tooltip: Sets how much the camera lags as it moves toward its ideal position. type: integer value: 5 + values: + - name: seconds + value-type: float + range: [0, 3] + default: 0.1 CAMERA_POSITION_LOCKED: member-of: [CameraParam] tooltip: Option flag used with llSetCameraParams to lock the camera position so it does not move. type: integer value: 21 + values: + - name: isLocked + value-type: boolean + default: false CAMERA_POSITION_THRESHOLD: member-of: [CameraParam] tooltip: Sets the radius of a sphere around the camera's ideal position within which it is not affected by target motion. type: integer value: 10 + values: + - name: meters + value-type: float + range: [0, 3] + default: 1 CHANGED_ALLOWED_DROP: member-of: [ChangeType] tooltip: Object inventory changed because a user other than the owner (or @@ -1139,6 +1250,8 @@ constants: (though potentially more stuttery) movement. Default is TRUE. type: integer value: 14 + value-type: boolean + default: true CHARACTER_AVOIDANCE_MODE: member-of: [CharacterParam] tooltip: Specifies which objects a pathfinding character avoids (other @@ -1147,6 +1260,9 @@ constants: for both categories. type: integer value: 5 + value-type: integer + enum: CharacterAvoidanceMode + default: AVOID_CHARACTERS | AVOID_DYNAMIC_OBSTACLES CHARACTER_CMD_JUMP: member-of: [CharacterCommand] tooltip: Makes the character jump. Requires a height parameter between 0.1m and @@ -1170,6 +1286,9 @@ constants: character. type: integer value: 1 + value-type: float + range: [0.2, 40] + default: 6 CHARACTER_DESIRED_TURN_SPEED: member-of: [CharacterParam] tooltip: Specifies the character's maximum speed while turning about the Z-axis @@ -1177,6 +1296,9 @@ constants: a character may turn at higher speeds under certain conditions. type: integer value: 12 + value-type: float + range: [0.02, 40] + default: 6 CHARACTER_LENGTH: member-of: [CharacterParam] tooltip: Sets the collision capsule length for a pathfinding character. If the @@ -1184,16 +1306,24 @@ constants: twice the radius plus 0.1m. type: integer value: 3 + value-type: float + range: [0, 10] CHARACTER_MAX_ACCEL: member-of: [CharacterParam] tooltip: Specifies the character's maximum acceleration rate (default is 20 m/s²). type: integer value: 8 + value-type: float + range: [0.5, 40] + default: 20 CHARACTER_MAX_DECEL: member-of: [CharacterParam] tooltip: Specifies the character's maximum deceleration rate (default is 30 m/s²). type: integer value: 9 + value-type: float + range: [0.5, 60] + default: 30 CHARACTER_MAX_SPEED: member-of: [CharacterParam] tooltip: Specifies the character's maximum speed (must be between 0.2 and 50 @@ -1202,12 +1332,18 @@ constants: TRAVERSAL_TYPE_FAST mode. type: integer value: 13 + value-type: float + range: [1, 40] + default: 20 CHARACTER_MAX_TURN_RADIUS: member-of: [CharacterParam] tooltip: Specifies the character's turn radius when traveling at CHARACTER_DESIRED_TURN_SPEED (default is 1.25 meters). type: integer value: 10 + value-type: float + range: [0.1, 10] + default: 1.25 CHARACTER_ORIENTATION: member-of: [CharacterParam] tooltip: Specifies the orientation of the collision capsule for a pathfinding @@ -1215,12 +1351,17 @@ constants: and HORIZONTAL. type: integer value: 4 + value-type: integer + enum: CharacterOrientation + default: VERTICAL CHARACTER_RADIUS: member-of: [CharacterParam] tooltip: Sets the collision capsule radius used to define the size of a pathfinding character. type: integer value: 2 + value-type: float + range: [0.125, 5] CHARACTER_STAY_WITHIN_PARCEL: member-of: [CharacterParam] tooltip: Determines whether a character is restricted to its starting parcel @@ -1230,14 +1371,18 @@ constants: pushed out, it can re-enter but cannot voluntarily leave again. type: integer value: 15 + value-type: boolean CHARACTER_TYPE: - member-of: [CharacterParam, GetClosestNavPointParam] + member-of: [CharacterParam, GetClosestNavPointParam, GetStaticPathParam] tooltip: Specifies the preferred surface and terrain terrain-type for the character (default is CHARACTER_TYPE_NONE). Used to describe preferred surfaces rather than behavior (e.g., cows prefer type B, sheep herded along a road prefer type C). type: integer value: 6 + value-type: integer + enum: CharacterType + default: CHARACTER_TYPE_NONE CHARACTER_TYPE_A: member-of: [CharacterType] tooltip: Used for pathfinding character types that prefer movement consistent @@ -1632,6 +1777,17 @@ constants: secs_since_midnight (seconds elapsed since the last day cycle midnight)." type: integer value: 200 + values: + - name: day_length + value-type: integer + details: Number of seconds in the environments day cycle. + - name: day_offset + value-type: integer + details: Number of seconds day cycle is offset from GMT. + - name: secs_since_midnight + value-type: float + details: Number of seconds elapsed since the last day cycle midnight. + access: read ENV_INVALID_AGENT: member-of: [EnvironmentError] tooltip: Unable to find the specified agent, or could not find an agent with the @@ -1769,6 +1925,8 @@ constants: tooltip: Flags used to control which attachments are returned. type: integer value: 2 + value-type: integer + enum: AttachedListFilterFlag FILTER_FLAG_HUDS: member-of: [AttachedListFilterFlag] tooltip: Filter flag used with llGetAttachedListFiltered to include HUDs with @@ -1780,12 +1938,16 @@ constants: tooltip: Filter parameter used to include a specific attachment point. type: integer value: 1 + value-type: integer + enum: AttachPoint FORCE_DIRECT_PATH: member-of: [CharacterNavigateParam] tooltip: Forces the pathfinding character to navigate in a straight line toward the specified position (can be set to TRUE or FALSE). type: integer value: 1 + value-type: boolean + default: false FRICTION: member-of: [PhysicsMaterialParam] tooltip: Used with llSetPhysicsMaterial to enable the friction override. The @@ -1933,18 +2095,23 @@ constants: tooltip: '' type: integer value: '2' + value-type: boolean GCNP_RADIUS: member-of: [GetClosestNavPointParam] tooltip: Used with llGetClosestNavPoint to limit how far out to search for a navigation point. type: integer value: 0 + value-type: float + default: 20 GCNP_STATIC: member-of: [GetClosestNavPointParam] tooltip: Used with llGetClosestNavPoint to specify that the test should use the static navmesh, ignoring all dynamic obstacles. type: integer value: 1 + value-type: boolean + default: false GRAVITY_MULTIPLIER: member-of: [PhysicsMaterialParam] tooltip: Used with llSetPhysicsMaterial to enable the gravity multiplier @@ -1965,6 +2132,7 @@ constants: type: integer value: 8 value-type: string-multi + default: text/plain;charset=utf-8 HTTP_BODY_MAXLENGTH: member-of: [HTTPRequestParam] tooltip: "Sets the maximum (UTF-8 encoded) byte length of the HTTP response @@ -1973,6 +2141,7 @@ constants: type: integer value: 2 value-type: integer + default: 2048 HTTP_BODY_TRUNCATED: member-of: [HTTPResponseError] tooltip: Indicates the response body truncation point in bytes. @@ -1995,6 +2164,7 @@ constants: type: integer value: 9 value-type: boolean + default: false HTTP_METHOD: member-of: [HTTPRequestParam] tooltip: Specifies the HTTP method ('GET', 'POST', 'PUT', or 'DELETE') for the @@ -2002,6 +2172,7 @@ constants: type: integer value: 0 value-type: string + default: GET HTTP_MIMETYPE: member-of: [HTTPRequestParam] tooltip: Specifies the request Content-Type MIME type. Text types should define @@ -2010,6 +2181,7 @@ constants: type: integer value: 1 value-type: string + default: text/plain;charset=utf-8 HTTP_PRAGMA_NO_CACHE: member-of: [HTTPRequestParam] tooltip: "Controls whether the 'Pragma: no-cache' header is sent with the HTTP @@ -2018,6 +2190,7 @@ constants: type: integer value: 6 value-type: boolean + default: true HTTP_USER_AGENT: member-of: [HTTPRequestParam] tooltip: Appends a custom string to the default LSL User-Agent header value. @@ -2034,6 +2207,7 @@ constants: type: integer value: 4 value-type: boolean + default: true HTTP_VERIFY_CERT: member-of: [HTTPRequestParam] tooltip: If set to TRUE, the server's SSL certificate must be verifiable using a @@ -2042,6 +2216,7 @@ constants: type: integer value: 3 value-type: boolean + default: true IMG_USE_BAKED_AUX1: tooltip: '' type: string @@ -2277,6 +2452,8 @@ constants: KFM_CMD_PLAY, or KFM_CMD_PAUSE to play, stop, or pause the motion. type: integer value: 0 + value-type: integer + enum: KeyframedMotionCommand KFM_DATA: member-of: [KeyframedMotionParam] tooltip: Option flag in llSetKeyframedMotion followed by a bitwise combination @@ -2284,6 +2461,9 @@ constants: both rotation and translation data must be provided. type: integer value: 2 + value-type: integer + enum: KeyframedMotionData + default: KFM_ROTATION | KFM_TRANSLATION KFM_FORWARD: member-of: [KeyframedMotionMode] tooltip: Playback mode used with KFM_MODE in llSetKeyframedMotion (default). It @@ -2304,6 +2484,9 @@ constants: KFM_FORWARD). Must be specified when the keyframe list is provided. type: integer value: 1 + value-type: integer + enum: KeyframedMotionMode + default: KFM_FORWARD KFM_PING_PONG: member-of: [KeyframedMotionMode] tooltip: Playback mode used with KFM_MODE in llSetKeyframedMotion. @@ -2597,6 +2780,8 @@ constants: tooltip: '' type: integer value: 2 + value-type: float + range: [0.1, 10] NULL_KEY: tooltip: A special string constant used as a null or empty key value. type: string @@ -2609,6 +2794,8 @@ constants: Plus, or -1 if the target is not an avatar. type: integer value: 41 + value-type: integer + details: "Max.length: 1" OBJECT_ANIMATED_COUNT: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails. For an object, returns a boolean @@ -2616,6 +2803,8 @@ constants: the total number of 'Animated Mesh' attachments worn. type: integer value: 39 + value-type: integer + details: "Max.length: 1" OBJECT_ANIMATED_SLOTS_AVAILABLE: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the avatar's available @@ -2623,6 +2812,8 @@ constants: avatar). type: integer value: 40 + value-type: integer + details: "Max.length: 2" OBJECT_ATTACHED_POINT: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails. Returns the integer attachment point @@ -2630,6 +2821,9 @@ constants: (e.g., an avatar or unattached object). type: integer value: 19 + value-type: integer + enum: AttachPoint + details: "Local: llGetAttached Max.length: 11" OBJECT_ATTACHED_SLOTS_AVAILABLE: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get an avatar's available @@ -2637,6 +2831,8 @@ constants: are available. type: integer value: 35 + value-type: integer + details: "Max.length: 2" OBJECT_BODY_SHAPE_TYPE: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to retrieve a float representing the @@ -2645,6 +2841,9 @@ constants: male). Returns -1.0 if not an avatar or if no data is available. type: integer value: 26 + value-type: float + range: [0, 1] + details: "Max.length: 9" OBJECT_CHARACTER_TIME: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the average CPU time (in @@ -2652,6 +2851,8 @@ constants: Returns 0 for non-characters. type: integer value: 17 + value-type: float + details: "Alternatives: Pathfinding characters Max.length: 15" OBJECT_CLICK_ACTION: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the click action of a prim. @@ -2659,6 +2860,9 @@ constants: 0). type: integer value: 28 + value-type: integer + enum: ClickAction + details: "Max.length: 3" OBJECT_CREATION_TIME: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the object's creation time @@ -2667,18 +2871,24 @@ constants: for avatars. type: integer value: 36 + value-type: string + details: "Max.length: 27" OBJECT_CREATOR: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the key of the prim's creator. Returns NULL_KEY if the ID is an avatar. type: integer value: 8 + value-type: key + details: "Local: llGetCreator Alternatives: Creator Max.length: 36" OBJECT_DAMAGE: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to retrieve the amount of damage a prim inflicts upon collision. type: integer value: 51 + value-type: float + details: "Local: llGetPrimitiveParams and PRIM_DAMAGE" OBJECT_DAMAGE_TYPE: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to retrieve the type of damage a prim @@ -2686,12 +2896,17 @@ constants: constant, a custom type, or a value repurposed by a combat system. type: integer value: 52 + value-type: integer + enum: DamageType + details: "Local: llGetPrimitiveParams and PRIM_DAMAGE" OBJECT_DESC: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to retrieve the prim's description. Returns an empty string if the ID is an avatar. type: integer value: 2 + value-type: string + details: "Local: llGetObjectDesc Max.length: 127" OBJECT_GROUP: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the prim's group key. Returns @@ -2699,18 +2914,24 @@ constants: to get an avatar's active group). type: integer value: 7 + value-type: key + details: "Alternatives: Group Max.length: 36" OBJECT_GROUP_TAG: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get an avatar's active group tag/title. Returns an empty string if the target is not an avatar. type: integer value: 33 + value-type: string + details: "Max.length: 20" OBJECT_HEALTH: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to retrieve the current health value of an avatar or prim. type: integer value: 50 + value-type: float + details: "Local: llGetPrimitiveParams and PRIM_HEALTH / llGetHealth" OBJECT_HOVER_HEIGHT: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the dynamic hover height of an @@ -2718,6 +2939,9 @@ constants: available; does not reflect the shape's 'Hover' slider. type: integer value: 25 + value-type: float + range: [-2, 2] + details: "Max.length: 9" OBJECT_LAST_OWNER_ID: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the key of the previous owner. @@ -2726,41 +2950,57 @@ constants: and re-rezzed. type: integer value: 27 + value-type: key + details: "Max.length: 36" OBJECT_LINK_NUMBER: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the index of the prim within its linkset, or 0 if unlinked. type: integer value: 46 + value-type: integer + details: "Local: llGetLinkNumber" OBJECT_LOCKED: member-of: [ObjectDetailsParam] - tooltip: Flag used with llGetObjectDetails to get a boolean, indicating if the object is locked. + tooltip: Flag used with llGetObjectDetails to get a boolean, indicating if the + object is locked. type: integer value: 55 + value-type: boolean OBJECT_MASS: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to retrieve the total mass (in kilograms) of the object's linkset. type: integer value: 43 + value-type: float + details: "Local: llGetMassMKS" OBJECT_MATERIAL: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to retrieve the physics material of the object, returning an integer matching a PRIM_MATERIAL_* constant. type: integer value: 42 + value-type: integer + enum: PhysicsMaterialPreset + details: "Local: llGetPrimitiveParams and PRIM_MATERIAL" OBJECT_NAME: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the prim's name, or the legacy name if the target is an avatar. type: integer value: 1 + value-type: string + details: "Local: llGetObjectName Alternatives: llKey2Name / + llDetectedName Max.length: 63" OBJECT_OMEGA: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the rotational (angular) velocity of an object in radians per second. type: integer value: 29 + value-type: vector + details: "Local: llGetOmega Max.length: 36" OBJECT_OWNER: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the owner's key. If the target @@ -2768,24 +3008,64 @@ constants: NULL_KEY. type: integer value: 6 + value-type: key + details: "Local: llGetOwner Alternatives: llDetectedOwner / + llGetOwnerKey Max.length: 36" OBJECT_PATHFINDING_TYPE: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the pathfinding setting of an object in the region, returning an integer matching an OPT_* constant. type: integer value: 20 + value-type: integer + enum: ObjectPathfindingType + details: "Alternatives: Pathfinding types Max.length: 11" OBJECT_PERMS: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to retrieve the permissions of the object as five integers. type: integer value: 53 + values: + - name: base + value-type: integer + enum: AssetPermission + - name: owner + value-type: integer + enum: AssetPermission + - name: group + value-type: integer + enum: AssetPermission + - name: everyone + value-type: integer + enum: AssetPermission + - name: next_owner + value-type: integer + enum: AssetPermission + details: "Local: llGetObjectPermMask" OBJECT_PERMS_COMBINED: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to retrieve the permissions of the object combined with all of its inventory items as five integers. type: integer value: 54 + values: + - name: base + value-type: integer + enum: AssetPermission + - name: owner + value-type: integer + enum: AssetPermission + - name: group + value-type: integer + enum: AssetPermission + - name: everyone + value-type: integer + enum: AssetPermission + - name: next_owner + value-type: integer + enum: AssetPermission + details: "Local: llGetObjectPermMask" OBJECT_PHANTOM: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get a boolean indicating if @@ -2793,6 +3073,8 @@ constants: attachment. type: integer value: 22 + value-type: boolean + details: "Local: llGetStatus PRIM_PHANTOM Max.length: 1" OBJECT_PHYSICS: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get a boolean indicating if @@ -2800,11 +3082,15 @@ constants: attachment. type: integer value: 21 + value-type: boolean + details: "Local: llGetStatus PRIM_PHYSICS Max.length: 1" OBJECT_PHYSICS_COST: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the physics cost of the object. type: integer value: 16 + value-type: float + details: "Alternatives: Physics cost Max.length: 15" OBJECT_POS: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the prim's position in region @@ -2812,18 +3098,25 @@ constants: relative to the script's region. type: integer value: 3 + value-type: vector + details: "Local: llGetPos Alternatives: llDetectedPos Max.length: 37" OBJECT_PRIM_COUNT: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the prim count of the object. Note that the script and target object must be owned by the same owner. type: integer value: 30 + value-type: integer + details: "Local: llGetNumberOfPrims Alternatives: + llGetObjectPrimCount Max.length: 3" OBJECT_PRIM_EQUIVALENCE: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the prim equivalence of the object. type: integer value: 13 + value-type: integer + details: "Alternatives: Calculating land impact Max.length: 11" OBJECT_RENDER_WEIGHT: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the render weight (Avatar @@ -2831,6 +3124,9 @@ constants: objects, -1 if unknown, and is capped at 500,000. type: integer value: 24 + value-type: integer + range: [0, 500000] + details: "Alternatives: Avatar_Rendering_Cost Max.length: 6" OBJECT_RETURN_PARCEL: member-of: [ReturnObjectsScope] tooltip: Scope flag used with llReturnObjectsByOwner to return all objects on @@ -2858,12 +3154,15 @@ constants: avatar that rezzed the target object. type: integer value: 32 + value-type: key + details: "Max.length: 36" OBJECT_REZ_TIME: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to retrieve the timestamp of when the object was rezzed. type: integer value: 45 + value-type: string OBJECT_ROOT: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the ID of the root prim. For @@ -2871,22 +3170,30 @@ constants: the avatar's own ID if not sitting). type: integer value: 18 + value-type: key + details: "Local: llGetLinkKey Max.length: 36" OBJECT_ROT: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the prim's rotation. type: integer value: 4 + value-type: rotation + details: "Local: llGetRot Alternatives: llDetectedRot Max.length: 48" OBJECT_RUNNING_SCRIPT_COUNT: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the total number of running scripts attached to the target object or agent. type: integer value: 9 + value-type: integer + details: "Local: llGetScriptState Max.length: 11" OBJECT_SCALE: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the size (scale) of the object. type: integer value: 47 + value-type: vector + details: "Local: llGetScale" OBJECT_SCRIPT_MEMORY: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the allocated script memory @@ -2894,6 +3201,8 @@ constants: recomputed every 10-20 seconds. type: integer value: 11 + value-type: integer + details: "Max.length: 11" OBJECT_SCRIPT_TIME: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the average script CPU time @@ -2901,6 +3210,8 @@ constants: since entering the region if present for less than 30 minutes. type: integer value: 12 + value-type: float + details: "Alternatives: Top Scripts Max.length: 15" OBJECT_SELECT_COUNT: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the total number of @@ -2908,53 +3219,71 @@ constants: target is an avatar. type: integer value: 37 + value-type: integer + details: "Max.length: 3" OBJECT_SERVER_COST: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the server cost of the object. type: integer value: 14 + value-type: float + details: "Alternatives: Server cost Max.length: 15" OBJECT_SIT_COUNT: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the total number of agents sitting on any links in the object. Returns 0 if the target is an avatar. type: integer value: 38 + value-type: integer + details: "Max.length: 3" OBJECT_STREAMING_COST: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the streaming (download) cost of the object. type: integer value: 15 + value-type: float + details: "Alternatives: Streaming (download) cost Max.length: 15" OBJECT_TEMP_ATTACHED: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get a boolean indicating whether the object is temporarily attached. type: integer value: 34 + value-type: boolean + details: "Max.length: 1" OBJECT_TEMP_ON_REZ: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get a boolean indicating if temporary-on-rez is enabled for the object. type: integer value: 23 + value-type: boolean + details: "Local: PRIM_TEMP_ON_REZ Max.length: 1" OBJECT_TEXT: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the floating (hover) text displayed above the object. type: integer value: 44 + value-type: string + details: "Local: llGetPrimitiveParams and PRIM_TEXT" OBJECT_TEXT_ALPHA: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the alpha value of the floating (hover) text displayed above the object. type: integer value: 49 + value-type: float + details: "Local: llGetPrimitiveParams and PRIM_TEXT" OBJECT_TEXT_COLOR: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the color vector of the floating (hover) text displayed above the object. type: integer value: 48 + value-type: vector + details: "Local: llGetPrimitiveParams and PRIM_TEXT" OBJECT_TOTAL_INVENTORY_COUNT: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the total number of inventory @@ -2962,12 +3291,16 @@ constants: the same owner. type: integer value: 31 + value-type: integer + details: "Local: llGetInventoryNumber(INVENTORY_ALL) Max.length: 10" OBJECT_TOTAL_SCRIPT_COUNT: member-of: [ObjectDetailsParam] tooltip: Flag used with llGetObjectDetails to get the total number of scripts (both running and stopped) attached to the target object or agent. type: integer value: 10 + value-type: integer + details: "Local: llGetInventoryNumber Max.length: 11" OBJECT_UNKNOWN_DETAIL: tooltip: Flag returned by llGetObjectDetails when an invalid flag is requested. type: integer @@ -2978,11 +3311,15 @@ constants: target object. type: integer value: 5 + value-type: vector + details: "Local: llGetVel Alternatives: llDetectedVel Max.length: 36" OBJECT_VOLUME_DETECT: member-of: [ObjectDetailsParam] - tooltip: Flag used with llGetObjectDetails to get a boolean, indicating if the object is VolumeDetect. + tooltip: Flag used with llGetObjectDetails to get a boolean, indicating if the + object is VolumeDetect. type: integer value: 56 + value-type: boolean OPT_AVATAR: member-of: [ObjectPathfindingType] tooltip: Returned for avatars. @@ -3000,8 +3337,8 @@ constants: value: 6 OPT_LEGACY_LINKSET: member-of: [ObjectPathfindingType] - tooltip: Returned for movable obstacles, movable phantoms, physical, and volumedetect - objects. + tooltip: Returned for movable obstacles, movable phantoms, physical, and + volumedetect objects. type: integer value: 0 OPT_MATERIAL_VOLUME: @@ -3031,18 +3368,22 @@ constants: PRIM_GLTF_ALPHA_MODE_BLEND. type: integer value: 2 + value-type: float OVERRIDE_GLTF_BASE_ALPHA_MASK: member-of: [GLTFOverride] tooltip: GLTF override setting used with llSetLinkGLTFOverrides to set the alpha cutoff level on the face(s) when the alpha mode is set to mask. type: integer value: 4 + value-type: float OVERRIDE_GLTF_BASE_ALPHA_MODE: member-of: [GLTFOverride] tooltip: GLTF override setting used with llSetLinkGLTFOverrides to set the alpha mode on the face(s) to one of the valid blend modes. type: integer value: 3 + value-type: integer + enum: GLTFAlphaMode OVERRIDE_GLTF_BASE_COLOR_FACTOR: member-of: [GLTFOverride] tooltip: GLTF override setting used with llSetLinkGLTFOverrides to set the @@ -3050,30 +3391,37 @@ constants: llsRGB2Linear to convert colors from Blinn-Phong to PBR. type: integer value: 1 + value-type: vector OVERRIDE_GLTF_BASE_DOUBLE_SIDED: member-of: [GLTFOverride] tooltip: GLTF override setting used with llSetLinkGLTFOverrides. If set to TRUE, the texture on the face(s) will be rendered as double-sided. type: integer value: 5 + value-type: boolean OVERRIDE_GLTF_EMISSIVE_FACTOR: member-of: [GLTFOverride] tooltip: GLTF override setting used with llSetLinkGLTFOverrides to set the tint (specified in linear RGB) used for the emissive texture on the face(s). type: integer value: 8 + value-type: vector OVERRIDE_GLTF_METALLIC_FACTOR: member-of: [GLTFOverride] tooltip: GLTF override setting used with llSetLinkGLTFOverrides to adjust the metallic factor on the specified face(s) to a value between 0 and 1. type: integer value: 6 + value-type: float + range: [0, 1] OVERRIDE_GLTF_ROUGHNESS_FACTOR: member-of: [GLTFOverride] tooltip: GLTF override setting used with llSetLinkGLTFOverrides to adjust the roughness factor on the specified face(s) to a value between 0 and 1. type: integer value: 7 + value-type: float + range: [0, 1] PARCEL_COUNT_GROUP: member-of: [ParcelPrimCountCategory] tooltip: Used with llGetParcelPrimCount to get the total land impact of objects @@ -3117,54 +3465,64 @@ constants: square meters (sqm). type: integer value: 4 + value-type: integer PARCEL_DETAILS_DESC: member-of: [ParcelDetailsParam] tooltip: Flag used with llGetParcelDetails to retrieve the description of the parcel (up to 127 characters). type: integer value: 1 + value-type: string PARCEL_DETAILS_FLAGS: member-of: [ParcelDetailsParam] tooltip: Flag used with llGetParcelDetails to retrieve the parcel flags set on this parcel (see llGetParcelFlags for listings and meanings). type: integer value: 12 + value-type: integer + enum: ParcelFlag PARCEL_DETAILS_GROUP: member-of: [ParcelDetailsParam] tooltip: Flag used with llGetParcelDetails to retrieve the parcel group's 36-character key. type: integer value: 3 + value-type: key PARCEL_DETAILS_ID: member-of: [ParcelDetailsParam] tooltip: Flag used with llGetParcelDetails to retrieve the parcel's 36-character UUID/key. type: integer value: 5 + value-type: key PARCEL_DETAILS_LANDING_LOOKAT: member-of: [ParcelDetailsParam] tooltip: Flag used with llGetParcelDetails to retrieve the lookat vector set for the landing point (teleport routing) on this parcel, if any. type: integer value: 10 + value-type: vector PARCEL_DETAILS_LANDING_POINT: member-of: [ParcelDetailsParam] tooltip: Flag used with llGetParcelDetails to retrieve the landing point vector set for this parcel, if any. type: integer value: 9 + value-type: vector PARCEL_DETAILS_NAME: member-of: [ParcelDetailsParam] tooltip: Flag used with llGetParcelDetails to retrieve the name of the parcel (up to 63 characters). type: integer value: 0 + value-type: string PARCEL_DETAILS_OWNER: member-of: [ParcelDetailsParam] tooltip: Flag used with llGetParcelDetails to retrieve the parcel owner's 36-character key. type: integer value: 2 + value-type: key PARCEL_DETAILS_PRIM_CAPACITY: member-of: [ParcelDetailsParam] tooltip: Flag used with llGetParcelDetails to retrieve the total prim capacity @@ -3172,6 +3530,7 @@ constants: same-parcel-only and/or sim-wide reporting). type: integer value: 7 + value-type: integer PARCEL_DETAILS_PRIM_USED: member-of: [ParcelDetailsParam] tooltip: Flag used with llGetParcelDetails to retrieve the total prim usage on @@ -3179,6 +3538,7 @@ constants: prim counts by owner, group, or temporary status). type: integer value: 8 + value-type: integer PARCEL_DETAILS_SCRIPT_DANGER: member-of: [ParcelDetailsParam] tooltip: Flag used with llGetParcelDetails to check if the script is in danger @@ -3186,12 +3546,14 @@ constants: parcel; see llScriptDanger. type: integer value: 13 + value-type: boolean PARCEL_DETAILS_SEE_AVATARS: member-of: [ParcelDetailsParam] tooltip: Flag used with llGetParcelDetails to retrieve the 'See and chat with residents on this parcel' avatar visibility setting. type: integer value: 6 + value-type: boolean PARCEL_DETAILS_TP_ROUTING: member-of: [ParcelDetailsParam] tooltip: Flag used with llGetParcelDetails to retrieve the teleport routing @@ -3199,6 +3561,8 @@ constants: 2 = TP_ROUTING_FREE; rules are only enforced if a landing point is set). type: integer value: 11 + value-type: integer + enum: ParcelTeleportRouting PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY: member-of: [ParcelFlag] tooltip: Flag used with llGetParcelFlags to check if the parcel allows all @@ -3308,18 +3672,23 @@ constants: command to the designated agent only. type: integer value: 7 + value-type: key + access: write PARCEL_MEDIA_COMMAND_AUTO_ALIGN: member-of: [ParcelMediaCommand] tooltip: Command used with llParcelMediaCommandList to toggle or set the parcel media option 'Auto scale content'. type: integer value: 9 + value-type: boolean + access: write PARCEL_MEDIA_COMMAND_DESC: member-of: [ParcelMediaCommand, ParcelMediaQuery] tooltip: Command used with llParcelMediaCommandList or llParcelMediaQuery to get or set the parcel media description. type: integer value: 12 + value-type: string PARCEL_MEDIA_COMMAND_LOOP: member-of: [ParcelMediaCommand] tooltip: Command used with llParcelMediaCommandList to start the media stream @@ -3327,6 +3696,7 @@ constants: it reaches the end. type: integer value: 3 + access: write PARCEL_MEDIA_COMMAND_LOOP_SET: member-of: [ParcelMediaCommand, ParcelMediaQuery] tooltip: Command used with llParcelMediaCommandList or llParcelMediaQuery to get @@ -3334,78 +3704,96 @@ constants: have functionality limitations; see VWR-19712). type: integer value: 13 + value-type: float PARCEL_MEDIA_COMMAND_PAUSE: member-of: [ParcelMediaCommand] tooltip: Command used with llParcelMediaCommandList to pause the media stream on the current frame. type: integer value: 1 + access: write PARCEL_MEDIA_COMMAND_PLAY: member-of: [ParcelMediaCommand] tooltip: Command used with llParcelMediaCommandList to play the media stream from its current frame, stopping when the end is reached. type: integer value: 2 + access: write PARCEL_MEDIA_COMMAND_SIZE: member-of: [ParcelMediaCommand, ParcelMediaQuery] tooltip: Command used with llParcelMediaCommandList or llParcelMediaQuery to get or set the parcel media pixel resolution. type: integer value: 11 + values: + - name: x + value-type: integer + - name: y + value-type: integer PARCEL_MEDIA_COMMAND_STOP: member-of: [ParcelMediaCommand] tooltip: Command used with llParcelMediaCommandList to stop the media stream and rewind it to the first frame. type: integer value: 0 + access: write PARCEL_MEDIA_COMMAND_TEXTURE: member-of: [ParcelMediaCommand, ParcelMediaQuery] tooltip: Command used with llParcelMediaCommandList or llParcelMediaQuery to get or set the parcel's media texture. type: integer value: 4 + value-type: asset PARCEL_MEDIA_COMMAND_TIME: member-of: [ParcelMediaCommand] tooltip: Command used with llParcelMediaCommandList to jump to a specific timestamp in the media stream, specified in floating-point seconds. type: integer value: 6 + value-type: float + access: write PARCEL_MEDIA_COMMAND_TYPE: member-of: [ParcelMediaCommand, ParcelMediaQuery] tooltip: Command used with llParcelMediaCommandList or llParcelMediaQuery to get or set the parcel media MIME type (e.g., 'text/html'). type: integer value: 10 + value-type: string PARCEL_MEDIA_COMMAND_UNLOAD: member-of: [ParcelMediaCommand] tooltip: Command used with llParcelMediaCommandList to completely unload the media and restore the face's original texture. type: integer value: 8 + access: write PARCEL_MEDIA_COMMAND_URL: member-of: [ParcelMediaCommand, ParcelMediaQuery] tooltip: Command used with llParcelMediaCommandList or llParcelMediaQuery to get or set the parcel's media URL. type: integer value: 5 + value-type: string PARCEL_SALE_AGENT: member-of: [ParcelSaleParam] tooltip: Option used with llSetParcelForSale to specify the agent ID authorized to buy the parcel. If none is set, any agent can purchase it. type: integer value: 2 + value-type: key PARCEL_SALE_OBJECTS: member-of: [ParcelSaleParam] tooltip: Option used with llSetParcelForSale. If set to TRUE, objects on the parcel are included in the sale. type: integer value: 3 + value-type: boolean PARCEL_SALE_PRICE: member-of: [ParcelSaleParam] tooltip: Option used with llSetParcelForSale to set the parcel price. If no authorized agent is set, the price must be greater than 0. type: integer value: 1 + value-type: integer PARCEL_SALE_OK: member-of: [ParcelSaleError] tooltip: Status code indicating the parcel sale information was successfully set. @@ -3477,6 +3865,8 @@ constants: the character moves to the next waypoint at full speed with no pause. type: integer value: 0 + value-type: boolean + default: false PAYMENT_INFO_ON_FILE: member-of: [AgentDataPaymentInfo] tooltip: Agent data flag returned by llRequestAgentData indicating if the user @@ -3648,20 +4038,32 @@ constants: type: float value: '1.57079633' PRIM_ALLOW_UNSIT: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter for allowing or restricting manual standing for avatars seated on this prim within a valid experience. Ignored if the avatar was not seated via llSitOnLink. When restriction is active, participating seated avatars cannot manually stand or select another prim to sit on. type: integer value: 39 + value-type: boolean PRIM_ALPHA_MODE: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter used to set diffuse texture alpha rendering mode attributes. Requires face, alpha_mode (PRIM_ALPHA_MODE_BLEND, _NONE, _MASK, or _EMISSIVE), and alpha_cutoff (used only for _MASK) parameters. type: integer value: 38 + values: + - name: face + value-type: integer + enum: Faces + access: arg + - name: alpha_mode + value-type: integer + enum: AlphaMode + - name: mask_cutoff + value-type: integer + range: [0, 255] PRIM_ALPHA_MODE_BLEND: member-of: [AlphaMode] tooltip: Prim parameter setting for PRIM_ALPHA_MODE. Directs the face to use @@ -3749,11 +4151,22 @@ constants: type: integer value: 0 PRIM_BUMP_SHINY: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter used to get or set both the shininess and bump mapping settings of a face. type: integer value: 19 + values: + - name: face + value-type: integer + enum: Faces + access: arg + - name: shiny + value-type: integer + enum: PrimShiny + - name: bump + value-type: integer + enum: PrimBump PRIM_BUMP_SIDING: member-of: [PrimBump] tooltip: "Face bump mapping setting: siding." @@ -3790,27 +4203,35 @@ constants: type: integer value: 3 PRIM_CAST_SHADOWS: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] deprecated: reason: Not implemented. tooltip: Deprecated prim parameter representing shadow casting settings for the primitive. type: integer value: 24 + value-type: boolean PRIM_CLICK_ACTION: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter followed by a CLICK_ACTION_* constant to specify the default action taken when a user clicks or touches the prim. type: integer value: 43 + value-type: integer + enum: ClickAction PRIM_COLLISION_SOUND: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter to set the collision sound UUID and volume level for the prim. type: integer value: 53 + values: + - name: sound + value-type: asset + - name: volume + value-type: float PRIM_COLOR: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: | Prim parameter to get or set the Blinn-Phong color and opacity of a face. @@ -3819,20 +4240,40 @@ constants: float alpha – from 0.0 (clear) to 1.0 (solid) (0.0 <= alpha <= 1.0) type: integer value: 18 + values: + - name: face + value-type: integer + enum: Faces + access: arg + - name: color + value-type: vector + details: "Color: llGetColor." + - name: alpha + value-type: float + range: [0, 1] + details: "Alpha: llGetAlpha." PRIM_DAMAGE: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter used to get or set the damage amount and damage type delivered by the prim on collision. type: integer value: 51 + values: + - name: damage + value-type: float + - name: damage_type + value-type: integer + enum: DamageType PRIM_DESC: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter [PRIM_DESC, string description] to get or set the prim's description (equivalent to llGetObjectDesc/llSetObjectDesc). type: integer value: 28 + value-type: string + details: "Description: llGetObjectDesc." PRIM_FLEXIBLE: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: | Prim parameter to get or set the prim's flexible configuration. @@ -3845,19 +4286,54 @@ constants: vector force type: integer value: 21 + values: + - name: enabled + value-type: boolean + - name: softness + value-type: integer + range: [0, 3] + - name: gravity + value-type: float + range: [-10, 10] + - name: friction + value-type: float + range: [0, 10] + - name: wind + value-type: float + range: [0, 10] + - name: tension + value-type: float + range: [0, 10] + - name: force + value-type: vector PRIM_FULLBRIGHT: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter [PRIM_FULLBRIGHT, integer face, integer boolean] to get or set whether full-bright rendering is enabled on the specified face. type: integer value: 20 + values: + - name: face + value-type: integer + enum: Faces + access: arg + - name: enabled + value-type: boolean PRIM_GLOW: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter [PRIM_GLOW, integer face, float intensity] to get or set the glow intensity on a face (the compiler integer value is 25 if the named constant is rejected). type: integer value: 25 + values: + - name: face + value-type: integer + enum: Faces + access: arg + - name: intensity + value-type: float + range: [0, 1] PRIM_GLTF_ALPHA_MODE_BLEND: member-of: [GLTFAlphaMode] tooltip: "GLTF alpha mode setting for PRIM_GLTF_BASE_COLOR. Renders the material @@ -3880,39 +4356,121 @@ constants: type: integer value: 0 PRIM_GLTF_BASE_COLOR: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter to get or set the GLTF base color override of an object's face. Requires face, texture, repeats, offsets, rotation, linear_color (in linear space; use llsRGB2Linear), alpha_mode (PRIM_GLTF_ALPHA_MODE_*), alpha_cutoff, and double_sided arguments. type: integer value: 48 + values: + - name: face + value-type: integer + enum: Faces + access: arg + - name: texture + value-type: asset + - name: repeats + value-type: vector + range: ["<-10000,-10000,0>", "<10000,10000,0>"] + - name: offsets + value-type: vector + range: ["<-1,-1,0>", "<1,1,0>"] + - name: rotation_in_radians + value-type: float + - name: color + value-type: vector + - name: alpha + value-type: float + range: [0, 1] + - name: gltf_alpha_mode + value-type: integer + enum: GLTFAlphaMode + - name: alpha_mask_cutoff + value-type: float + range: [0, 1] + - name: double_sided + value-type: boolean PRIM_GLTF_EMISSIVE: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter to get or set the GLTF emission override of a face. Requires face, texture, repeats, offsets, rotation, and emissive_tint (specified in linear space; use llsRGB2Linear). type: integer value: 46 + values: + - name: face + value-type: integer + enum: Faces + access: arg + - name: texture + value-type: asset + - name: repeats + value-type: vector + range: ["<-10000,-10000,0>", "<10000,10000,0>"] + - name: offsets + value-type: vector + range: ["<-1,-1,0>", "<1,1,0>"] + - name: rotation_in_radians + value-type: float + - name: emissive_tint + value-type: vector PRIM_GLTF_METALLIC_ROUGHNESS: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter to get or set the GLTF occlusion/metallic/roughness override of a face. Requires face, texture, repeats, offsets, rotation, metallic_factor, and roughness_factor arguments. type: integer value: 47 + values: + - name: face + value-type: integer + enum: Faces + access: arg + - name: texture + value-type: asset + - name: repeats + value-type: vector + range: ["<-10000,-10000,0>", "<10000,10000,0>"] + - name: offsets + value-type: vector + range: ["<-1,-1,0>", "<1,1,0>"] + - name: rotation_in_radians + value-type: float + - name: metallic_factor + value-type: float + range: [0, 1] + - name: roughness_factor + value-type: float + range: [0, 1] PRIM_GLTF_NORMAL: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter to get or set the GLTF normal map override of a face. Requires face, texture, repeats, offsets, and rotation arguments. type: integer value: 45 + values: + - name: face + value-type: integer + enum: Faces + access: arg + - name: texture + value-type: asset + - name: repeats + value-type: vector + range: ["<-10000,-10000,0>", "<10000,10000,0>"] + - name: offsets + value-type: vector + range: ["<-1,-1,0>", "<1,1,0>"] + - name: rotation_in_radians + value-type: float PRIM_HEALTH: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter used to get or set the health of the prim. Objects default to 0 health. type: integer value: 52 + value-type: float PRIM_HOLE_CIRCLE: member-of: [PrimTypeHole] tooltip: Parameter used with certain PRIM_TYPE_* flags to make a circular hole @@ -3944,14 +4502,19 @@ constants: parameters call. type: integer value: 34 + value-type: integer + enum: Links + access: arg PRIM_MATERIAL: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter [PRIM_MATERIAL, integer PRIM_MATERIAL_*] to get or set the prim's material. The material determines the default collision sound, sprite, friction coefficient, and restitution coefficient (elasticity) without affecting mass. type: integer value: 2 + value-type: integer + enum: PhysicsMaterialPreset PRIM_MATERIAL_DENSITY: member-of: [PhysicsMaterialParam] private: true @@ -4070,6 +4633,7 @@ constants: type: integer value: 1 value-type: integer + enum: PrimMediaControl PRIM_MEDIA_CONTROLS_MINI: member-of: [PrimMediaControl] tooltip: Mini web navigation controls constant; does not include an address bar. @@ -4090,10 +4654,11 @@ constants: PRIM_MEDIA_FIRST_CLICK_INTERACT: member-of: [PrimMediaParam] tooltip: >- - Boolean. Gets or sets what happens when someone click on a playing, but unfocused media face: - TRUE: Does the same thing a focused media face does, and forwards the click to the web browser. - FALSE: Focuses the media prim so that future clicks are forwarded to the web browser. - Note: Viewer settings affect this flag. It works by default on most prims. + Boolean. Gets or sets what happens when someone click on a playing, but + unfocused media face: TRUE: Does the same thing a focused media face does, + and forwards the click to the web browser. FALSE: Focuses the media prim + so that future clicks are forwarded to the web browser. Note: Viewer + settings affect this flag. It works by default on most prims. type: integer value: 8 value-type: boolean @@ -4141,6 +4706,7 @@ constants: type: integer value: 14 value-type: integer + enum: PrimMediaPerm PRIM_MEDIA_PERMS_INTERACT: member-of: [PrimMediaParam] tooltip: Integer. Gets or sets the permissions mask controlling who can interact @@ -4148,6 +4714,7 @@ constants: type: integer value: 13 value-type: integer + enum: PrimMediaPerm PRIM_MEDIA_PERM_ANYONE: member-of: [PrimMediaPerm] tooltip: '' @@ -4191,20 +4758,37 @@ constants: value: 9 value-type: integer PRIM_NAME: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter [PRIM_NAME, string name] to get or set the prim's name (equivalent to llGetObjectName/llSetObjectName). type: integer value: 27 + value-type: string + details: "Name: llGetObjectName." PRIM_NORMAL: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter to get or set the Blinn-Phong normal map texture settings of a face. Requires face, texture, repeats, offsets, and rotation_in_radians arguments. type: integer value: 37 + values: + - name: face + value-type: integer + enum: Faces + access: arg + - name: texture + value-type: asset + - name: repeats + value-type: vector + range: ["<-100,-100,0>", "<100,100,0>"] + - name: offsets + value-type: vector + range: ["<0,0,0>", "<1,1,0>"] + - name: rotation_in_radians + value-type: float PRIM_OMEGA: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: | Prim parameter to get, set, or disable a client-side physical-like rotation (analogous to llTargetOmega). @@ -4213,18 +4797,30 @@ constants: float gain – also modulates the final spinrate and disables the rotation behavior if zero type: integer value: 32 + values: + - name: axis + value-type: vector + details: llTargetOmega + - name: spinrate + value-type: float + - name: gain + value-type: float PRIM_PHANTOM: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter [PRIM_PHANTOM, integer boolean] to get or set whether phantom status is enabled. type: integer value: 5 + value-type: boolean + details: "Phantom status: llGetStatus." PRIM_PHYSICS: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter [PRIM_PHYSICS, integer boolean] to get or set whether the object responds to Second Life physics. type: integer value: 3 + value-type: boolean + details: "Physics status: llGetStatus." PRIM_PHYSICS_SHAPE_CONVEX: member-of: [PhysicsShapeType] tooltip: Physics shape type setting. Uses the convex hull of the prim shape to @@ -4246,14 +4842,16 @@ constants: type: integer value: 0 PRIM_PHYSICS_SHAPE_TYPE: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter used to get or set the type of shape the physics engine uses for the prim (PRIM_PHYSICS_SHAPE_NONE, _PRIM, or _CONVEX). Mainly used for physics optimization. type: integer value: 30 + value-type: integer + enum: PhysicsShapeType PRIM_POINT_LIGHT: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: | Prim parameter to configure local lighting. Accepts color in linear space (use llsRGB2Linear to convert from sRGB). @@ -4265,19 +4863,37 @@ constants: float falloff – ranges from 0.01 to 2.0 type: integer value: 23 + values: + - name: enabled + value-type: boolean + - name: linear_color + value-type: vector + - name: intensity + value-type: float + range: [0, 1] + - name: radius + value-type: float + range: [0.1, 20] + - name: falloff + value-type: float + range: [0, 2] PRIM_POSITION: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter [PRIM_POSITION, vector position] to get or set the position of the prim in region coordinates (or local coordinates depending on the script context). type: integer value: 6 + value-type: vector + details: "Global position: llGetPos." PRIM_POS_LOCAL: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter [PRIM_POS_LOCAL, vector position] to get or set the local position of a prim (equivalent to llGetLocalPos/llSetPos). type: integer value: 33 + value-type: vector + details: "Local position: llGetLocalPos." PRIM_PROJECTOR: member-of: [PrimParam] # llGetPrimitiveParams cannot read PRIM_PROJECTOR: @@ -4288,13 +4904,34 @@ constants: configured as a projector, the texture key will return NULL_KEY. type: integer value: 42 + values: + - name: texture + value-type: string + - name: fov + value-type: float + - name: focus + value-type: float + - name: ambiance + value-type: float PRIM_REFLECTION_PROBE: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter to configure the object as a custom-placed reflection probe for Image-Based Lighting (IBL). Only affects objects inside its volume of influence. type: integer value: 44 + values: + - name: enabled + value-type: boolean + - name: ambiance + value-type: float + range: [0, 100] + - name: clip_distance + value-type: float + range: [0, 1024] + - name: flags + value-type: integer + enum: ReflectionProbeType PRIM_REFLECTION_PROBE_BOX: member-of: [ReflectionProbeType] tooltip: Flag option used with PRIM_REFLECTION_PROBE. When set, the reflection @@ -4317,33 +4954,46 @@ constants: type: integer value: 4 PRIM_RENDER_MATERIAL: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: "Prim parameter [PRIM_RENDER_MATERIAL, integer face, string material] to get or set face material settings. Note: Setting this clears most PRIM_GLTF_* properties on the face, except for repeats, offsets, and rotation_in_radians." type: integer value: 49 + values: + - name: face + value-type: integer + enum: Faces + access: arg + - name: render_material + value-type: asset + details: "Material: llGetRenderMaterial." PRIM_ROTATION: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter [PRIM_ROTATION, rotation global_rot] to get or set the global rotation of the prim (equivalent to llGetRot/llSetRot; note that setting this on child prims may be broken). type: integer value: 8 + value-type: rotation + details: "Global rotation: llGetRot." PRIM_ROT_LOCAL: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter [PRIM_ROT_LOCAL, rotation local_rot] to get or set the local rotation of a prim (equivalent to llGetLocalRot/llSetLocalRot). type: integer value: 29 + value-type: rotation + details: "Local rotation: llGetLocalRot." PRIM_SCRIPTED_SIT_ONLY: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter restricting manual sitting on this prim. When active, sitting can only be initiated via llSitOnLink; manual sitting attempts fail. This restriction applies even outside experience-enabled regions. type: integer value: 40 + value-type: boolean PRIM_SCULPT_FLAG_ANIMESH: member-of: [PrimTypeSculptFlag] tooltip: Read-only flag for PRIM_TYPE_SCULPT to query whether the object is an @@ -4421,52 +5071,100 @@ constants: type: integer value: 0 PRIM_SIT_FLAGS: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter used to get or set sit-related flags currently active on the prim. type: integer value: 50 + value-type: integer + enum: SitFlag PRIM_SIT_TARGET: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter [PRIM_SIT_TARGET, integer boolean, vector offset, rotation rot] to get or set the prim's sit target. Setting the boolean to FALSE deactivates the target. Unlike llLinkSitTarget, offset <0.0, 0.0, 0.0> can be explicitly set. type: integer value: 41 + values: + - name: sit_target + value-type: boolean + details: "Sit target: llSitTarget." + - name: offset + value-type: vector + - name: rot + value-type: rotation PRIM_SIZE: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter [PRIM_SIZE, vector size] to get or set the prim's physical dimensions (equivalent to llGetScale/llSetScale). type: integer value: 7 + value-type: vector + details: "Size: llGetScale." + range: ["<0.01,0.01,0.01>", "<64,64,64>"] PRIM_SLICE: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter [PRIM_SLICE, vector slice] to get or set the prim's slice values (a shape attribute equivalent to advanced cut). type: integer value: 35 + value-type: vector + range: ["<0,0,0>", "<1,1,0>"] PRIM_SPECULAR: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter to get or set the Blinn-Phong specular map texture settings of a face. Requires face, texture, repeats, offsets, rotation_in_radians, color, glossy, and environment arguments. type: integer value: 36 + values: + - name: face + value-type: integer + enum: Faces + access: arg + - name: texture + value-type: asset + - name: repeats + value-type: vector + range: ["<-100,-100,0>", "<100,100,0>"] + - name: offsets + value-type: vector + range: ["<0,0,0>", "<1,1,0>"] + - name: rotation_in_radians + value-type: float + - name: color + value-type: vector + - name: glossiness + value-type: integer + range: [0, 255] + - name: environment + value-type: integer + range: [0, 255] PRIM_TEMP_ON_REZ: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter used to get or set the object's temporary status. Temporary objects live until the next garbage collection cycle (about 1 minute), do not count against normal prim limits, but are subject to regional limits. type: integer value: 4 + value-type: boolean + details: Temporary attribute. PRIM_TEXGEN: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter [PRIM_TEXGEN, integer face, integer mode] to get or set the texture mapping mode of the face. type: integer value: 22 + values: + - name: face + value-type: integer + enum: Faces + access: arg + - name: mode + value-type: integer + enum: PrimTexgen PRIM_TEXGEN_DEFAULT: member-of: [PrimTexgen] tooltip: Texture mapping mode setting for PRIM_TEXGEN. Specifies that texture @@ -4481,72 +5179,279 @@ constants: type: integer value: 1 PRIM_TEXT: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter [PRIM_TEXT, string text, vector color, float alpha] to get or set the object's floating/hover text (equivalent to llSetText). type: integer value: 26 + values: + - name: text + value-type: string + - name: color + value-type: vector + - name: alpha + value-type: float + range: [0, 1] PRIM_TEXTURE: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter [PRIM_TEXTURE, integer face, string texture, vector repeats, vector offsets, float rotation_in_radians] to get or set the Blinn-Phong diffuse texture settings of a face. type: integer value: 17 + values: + - name: face + value-type: integer + enum: Faces + access: arg + - name: texture + value-type: asset + details: "Texture: llGetTexture." + - name: repeats + value-type: vector + range: ["<-100,-100,0>", "<100,100,0>"] + details: "Repeats: llGetTextureScale." + - name: offsets + value-type: vector + range: ["<-1,-1,0>", "<1,1,0>"] + details: "Offset: llGetTextureOffset." + - name: rotation_in_radians + value-type: float + details: "Rotation: llGetTextureRot." PRIM_TYPE: - member-of: [PrimParam] + member-of: [PrimParam, PrimParamGet] tooltip: Prim parameter used to get or set the geometric shape type (PRIM_TYPE_*) and its associated parameters. type: integer value: 9 + value-type: integer + enum: PrimType PRIM_TYPE_BOX: member-of: [PrimType] tooltip: Shape parameter for PRIM_TYPE used to define the prim as a box and configure its shape properties. type: integer value: 0 + values: + - name: hole_shape + value-type: integer + enum: PrimTypeHole + - name: cut + value-type: vector + range: ["<0,0,0>", "<1,1,0>"] + - name: hollow + value-type: float + range: [0, 0.95] + - name: twist + value-type: vector + range: ["<-1,-1,0>", "<1,1,0>"] + - name: top_size + value-type: vector + range: ["<0,0,0>", "<2,2,0>"] + - name: top_shear + value-type: vector + range: ["<-0.5,-0.5,0>", "<0.5,0.5,0>"] PRIM_TYPE_CYLINDER: member-of: [PrimType] tooltip: Shape parameter for PRIM_TYPE used to define the prim as a cylinder and configure its shape properties. type: integer value: 1 + values: + - name: hole_shape + value-type: integer + enum: PrimTypeHole + - name: cut + value-type: vector + range: ["<0,0,0>", "<1,1,0>"] + - name: hollow + value-type: float + range: [0, 0.95] + - name: twist + value-type: vector + range: ["<-1,-1,0>", "<1,1,0>"] + - name: top_size + value-type: vector + range: ["<0,0,0>", "<2,2,0>"] + - name: top_shear + value-type: vector + range: ["<-0.5,-0.5,0>", "<0.5,0.5,0>"] PRIM_TYPE_PRISM: member-of: [PrimType] tooltip: Shape parameter for PRIM_TYPE used to define the prim as a prism and configure its shape properties. type: integer value: 2 + values: + - name: hole_shape + value-type: integer + enum: PrimTypeHole + - name: cut + value-type: vector + range: ["<0,0,0>", "<1,1,0>"] + - name: hollow + value-type: float + range: [0, 0.95] + - name: twist + value-type: vector + range: ["<-1,-1,0>", "<1,1,0>"] + - name: top_size + value-type: vector + range: ["<0,0,0>", "<2,2,0>"] + - name: top_shear + value-type: vector + range: ["<-0.5,-0.5,0>", "<0.5,0.5,0>"] PRIM_TYPE_RING: member-of: [PrimType] tooltip: Shape parameter for PRIM_TYPE used to define the prim as a ring and configure its shape properties. type: integer value: 6 + values: + - name: hole_shape + value-type: integer + enum: PrimTypeHole + - name: cut + value-type: vector + range: ["<0,0,0>", "<1,1,0>"] + - name: hollow + value-type: float + range: [0, 0.95] + - name: twist + value-type: vector + range: ["<-1,-1,0>", "<1,1,0>"] + - name: hole_size + value-type: vector + range: ["<0.05,0.05,0>", "<1,0.5,0>"] + - name: top_shear + value-type: vector + range: ["<-0.5,-0.5,0>", "<0.5,0.5,0>"] + - name: advanced_cut + value-type: vector + range: ["<0,0,0>", "<1,1,0>"] + - name: taper + value-type: vector + range: ["<-1,-1,0>", "<1,1,0>"] + - name: revolutions + value-type: float + range: [1, 4] + - name: radius_offset + value-type: float + - name: skew + value-type: float + range: [-1, 1] PRIM_TYPE_SCULPT: member-of: [PrimType] tooltip: Shape parameter for PRIM_TYPE used to define the prim as a sculpted prim (sculpty) or mesh of a specific type. type: integer value: 7 + values: + - name: map + value-type: asset + - name: type + value-type: integer + enum: PrimTypeSculpt PRIM_TYPE_SPHERE: member-of: [PrimType] tooltip: Shape parameter for PRIM_TYPE used to define the prim as a sphere and configure its shape properties. type: integer value: 3 + values: + - name: hole_shape + value-type: integer + enum: PrimTypeHole + - name: cut + value-type: vector + range: ["<0,0,0>", "<1,1,0>"] + - name: hollow + value-type: float + range: [0, 0.95] + - name: twist + value-type: vector + range: ["<-1,-1,0>", "<1,1,0>"] + - name: dimple + value-type: vector + range: ["<0,0,0>", "<1,1,0>"] PRIM_TYPE_TORUS: member-of: [PrimType] tooltip: Shape parameter for PRIM_TYPE used to define the prim as a torus and configure its shape properties. type: integer value: 4 + values: + - name: hole_shape + value-type: integer + enum: PrimTypeHole + - name: cut + value-type: vector + range: ["<0,0,0>", "<1,1,0>"] + - name: hollow + value-type: float + range: [0, 0.95] + - name: twist + value-type: vector + range: ["<-1,-1,0>", "<1,1,0>"] + - name: hole_size + value-type: vector + range: ["<0.05,0.05,0>", "<1,0.5,0>"] + - name: top_shear + value-type: vector + range: ["<-0.5,-0.5,0>", "<0.5,0.5,0>"] + - name: advanced_cut + value-type: vector + range: ["<0,0,0>", "<1,1,0>"] + - name: taper + value-type: vector + range: ["<-1,-1,0>", "<1,1,0>"] + - name: revolutions + value-type: float + range: [1, 4] + - name: radius_offset + value-type: float + - name: skew + value-type: float + range: [-1, 1] PRIM_TYPE_TUBE: member-of: [PrimType] tooltip: Shape parameter for PRIM_TYPE used to define the prim as a tube and configure its shape properties. type: integer value: 5 + values: + - name: hole_shape + value-type: integer + enum: PrimTypeHole + - name: cut + value-type: vector + range: ["<0,0,0>", "<1,1,0>"] + - name: hollow + value-type: float + range: [0, 0.95] + - name: twist + value-type: vector + range: ["<-1,-1,0>", "<1,1,0>"] + - name: hole_size + value-type: vector + range: ["<0.05,0.05,0>", "<1,0.5,0>"] + - name: top_shear + value-type: vector + range: ["<-0.5,-0.5,0>", "<0.5,0.5,0>"] + - name: advanced_cut + value-type: vector + range: ["<0,0,0>", "<1,1,0>"] + - name: taper + value-type: vector + range: ["<-1,-1,0>", "<1,1,0>"] + - name: revolutions + value-type: float + range: [1, 4] + - name: radius_offset + value-type: float + - name: skew + value-type: float + range: [-1, 1] PROFILE_NONE: member-of: [ScriptProfileMode] tooltip: Disables script profiling. @@ -4604,12 +5509,16 @@ constants: type: integer value: 25 value-type: integer + enum: ParticleBlendFunc + default: PSYS_PART_BF_ONE_MINUS_SOURCE_ALPHA PSYS_PART_BLEND_FUNC_SOURCE: member-of: [ParticleParam] tooltip: Integer parameter defining the source blending function. type: integer value: 24 value-type: integer + enum: ParticleBlendFunc + default: PSYS_PART_BF_SOURCE_ALPHA PSYS_PART_BOUNCE_MASK: member-of: [ParticleFlag] tooltip: Particle flag causing particles to bounce off a plane at the emitter @@ -4631,6 +5540,7 @@ constants: type: integer value: 4 value-type: float + range: [0, 1] PSYS_PART_END_COLOR: member-of: [ParticleParam] pretty-name: color_end @@ -4646,6 +5556,7 @@ constants: type: integer value: 27 value-type: float + range: [0, 1] PSYS_PART_END_SCALE: member-of: [ParticleParam] pretty-name: scale_end @@ -4654,6 +5565,7 @@ constants: type: integer value: 6 value-type: vector + range: ["<0.03125,0.03125,0>", "<4,4,0>"] PSYS_PART_FLAGS: member-of: [ParticleParam] tooltip: Integer bitfield parameter specifying the simulation flags for emitted @@ -4661,6 +5573,7 @@ constants: type: integer value: 0 value-type: integer + enum: ParticleFlag PSYS_PART_FOLLOW_SRC_MASK: member-of: [ParticleFlag] tooltip: Particle flag causing particle positions to remain relative to the @@ -4696,6 +5609,7 @@ constants: type: integer value: 7 value-type: float + range: [0, 30] PSYS_PART_RIBBON_MASK: member-of: [ParticleFlag] tooltip: Particle flag that joins emitted particles into a continuous ribbon @@ -4713,6 +5627,7 @@ constants: type: integer value: 2 value-type: float + range: [0, 1] PSYS_PART_START_COLOR: member-of: [ParticleParam] pretty-name: color_begin @@ -4728,6 +5643,7 @@ constants: type: integer value: 26 value-type: float + range: [0, 1] PSYS_PART_START_SCALE: member-of: [ParticleParam] pretty-name: scale_begin @@ -4736,6 +5652,7 @@ constants: type: integer value: 5 value-type: vector + range: ["<0.03125,0.03125,0>", "<4,4,0>"] PSYS_PART_TARGET_LINEAR_MASK: member-of: [ParticleFlag] tooltip: Particle flag causing emitted particles to move in a straight, @@ -4766,6 +5683,7 @@ constants: type: integer value: 8 value-type: vector + range: ["<-100,-100,-100>", "<100,100,100>"] PSYS_SRC_ANGLE_BEGIN: member-of: [ParticleParam] tooltip: Float parameter specifying the angle in radians where particles will @@ -4836,6 +5754,7 @@ constants: tooltip: '' type: integer value: '0x1' + value-type: integer PSYS_SRC_OMEGA: member-of: [ParticleParam] tooltip: Vector parameter setting the angular velocity used to rotate the @@ -4859,6 +5778,7 @@ constants: type: integer value: 9 value-type: integer + enum: ParticleSourcePattern PSYS_SRC_PATTERN_ANGLE: member-of: [ParticleSourcePattern] tooltip: Emission pattern that sprays particles outward in a flat circular, @@ -4921,24 +5841,33 @@ constants: non-zero PURSUIT_OFFSET. type: integer value: 3 + value-type: float + range: [0, 1] + default: 0 PURSUIT_GOAL_TOLERANCE: member-of: [CharacterPursueParam] tooltip: Option for llPursue defining how close (between 0.25m and 10m) the character must be to consider the goal reached. type: integer value: 5 + value-type: float + range: [0.25, 10] PURSUIT_INTERCEPT: member-of: [CharacterPursueParam] tooltip: Option for llPursue specifying whether the pathfinding character attempts to predict and intercept the target's future location. type: integer value: 4 + value-type: boolean + default: false PURSUIT_OFFSET: member-of: [CharacterPursueParam] tooltip: Option for llPursue specifying a constant position offset relative to the target for the character to navigate toward. type: integer value: 1 + value-type: vector + default: ZERO_VECTOR PU_EVADE_HIDDEN: member-of: [CharacterPathUpdateType] tooltip: Path update status code triggered when an llEvade character determines @@ -5048,6 +5977,9 @@ constants: tooltip: Flag used with llCastRay to configure returned data. type: integer value: 2 + value-type: integer + enum: RayCastData + default: 0 RC_DETECT_PHANTOM: member-of: [RayCastParam] tooltip: Flag used with llCastRay. If set to TRUE (or non-zero), detects both @@ -5056,6 +5988,8 @@ constants: in RC_REJECT_TYPES. type: integer value: 1 + value-type: boolean + default: false RC_GET_LINK_NUM: member-of: [RayCastData] tooltip: Flag used with llCastRay causing the results stride to include the @@ -5080,6 +6014,8 @@ constants: (up to 256). To avoid performance issues, keep this value small. type: integer value: 3 + value-type: integer + default: 1 RC_REJECT_AGENTS: member-of: [RayCastRejectType] tooltip: Flag used with llCastRay to prevent the detection of avatars. @@ -5106,6 +6042,9 @@ constants: of objects and avatars. type: integer value: 0 + value-type: integer + enum: RayCastRejectType + default: 0 REGION_FLAG_ALLOW_DAMAGE: member-of: [RegionFlag] tooltip: Flag used with llGetRegionFlags to check if the region is entirely @@ -5190,6 +6129,8 @@ constants: target positions blocked by solid obstacles. type: integer value: 2 + value-type: boolean + default: false RESTITUTION: member-of: [PhysicsMaterialParam] tooltip: Used with llSetPhysicsMaterial to enable the restitution (bounciness) @@ -5209,12 +6150,18 @@ constants: TRUE, the vector is in local coordinates. type: integer value: 5 + values: + - name: force + value-type: vector + - name: local + value-type: boolean REZ_DAMAGE: member-of: [RezParam] tooltip: Rez parameter specifying the float damage amount the rezzed object inflicts on an agent upon collision. type: integer value: 8 + value-type: float REZ_DAMAGE_TYPE: member-of: [RezParam] tooltip: Rez parameter specifying the integer damage type applied on collision @@ -5222,12 +6169,16 @@ constants: field). type: integer value: 12 + value-type: integer + enum: DamageType REZ_FLAGS: member-of: [RezParam] tooltip: Rez parameter specifying the integer bitfield of flags to apply to the newly created object. type: integer value: 1 + value-type: integer + enum: RezFlag REZ_FLAG_BLOCK_GRAB_OBJECT: member-of: [RezFlag] tooltip: Rez flag that disables grabbing on the newly rezzed object. @@ -5278,6 +6229,7 @@ constants: non-zero value locks that axis. type: integer value: 11 + value-type: vector REZ_OMEGA: member-of: [RezParam] tooltip: Rez parameter specifying the initial angular velocity (omega) applied @@ -5285,12 +6237,22 @@ constants: gain]. If relative is TRUE, the axis vector is in local coordinates. type: integer value: 7 + values: + - name: axis + value-type: vector + - name: local + value-type: boolean + - name: spin + value-type: float + - name: gain + value-type: float REZ_PARAM: member-of: [RezParam] tooltip: Rez parameter specifying the integer start parameter passed into the newly rezzed object's on_rez event. type: integer value: 0 + value-type: integer REZ_PARAM_STRING: member-of: [RezParam] tooltip: Rez parameter specifying an initialization string (up to 1024 bytes) @@ -5298,6 +6260,7 @@ constants: llGetStartString. type: integer value: 13 + value-type: string REZ_POS: member-of: [RezParam] tooltip: Rez parameter [vector position, integer relative, integer at_root] to @@ -5306,12 +6269,24 @@ constants: root prim. type: integer value: 2 + values: + - name: pos + value-type: vector + - name: relative + value-type: boolean + - name: at_root + value-type: boolean REZ_ROT: member-of: [RezParam] tooltip: Rez parameter specifying the initial rotation to apply to the newly rezzed object. Can be relative to the rezzing object or absolute. type: integer value: 3 + values: + - name: rot + value-type: rotation + - name: relative + value-type: boolean REZ_SOUND: member-of: [RezParam] tooltip: Rez parameter [string name_or_uuid, float volume, integer loop] to @@ -5319,6 +6294,13 @@ constants: TRUE, it loops continuously. type: integer value: 9 + values: + - name: sound + value-type: asset + - name: volume + value-type: float + - name: loop + value-type: boolean REZ_SOUND_COLLIDE: member-of: [RezParam] tooltip: Rez parameter [string name_or_uuid, float volume] specifying a sound @@ -5326,12 +6308,18 @@ constants: object, the ground, or an avatar. type: integer value: 10 + values: + - name: sound + value-type: asset + - name: volume + value-type: float REZ_TORQUE: member-of: [RezParam] private: true tooltip: '' type: integer value: 6 + value-type: vector REZ_VEL: member-of: [RezParam] tooltip: Rez parameter specifying the initial velocity to apply to the object. @@ -5339,6 +6327,13 @@ constants: TRUE, it adds the rezzing object's velocity. type: integer value: 4 + values: + - name: velocity + value-type: vector + - name: local + value-type: boolean + - name: inherit + value-type: boolean ROTATE: member-of: [TextureAnimMode] tooltip: Used with texture animation functions to animate the texture's @@ -5588,12 +6583,18 @@ constants: tooltip: Environmental setting for the ambient color used in the scene. type: integer value: 0 + value-type: vector SKY_BLUE: member-of: [EnvironmentParamReadOnly, EnvironmentParam] tooltip: Environmental setting containing the colors used to calculate blue density and blue horizon in the sky. type: integer value: 22 + values: + - name: blue_density + value-type: vector + - name: blue_horizon + value-type: vector SKY_CLOUDS: member-of: [EnvironmentParamReadOnly, EnvironmentParam] tooltip: Environmental cloud parameters including color, coverage percentage, @@ -5601,12 +6602,46 @@ constants: default texture status. type: integer value: 2 + values: + - name: color + value-type: vector + details: The color used for the clouds. + - name: coverage + value-type: float + range: [0, 1] + details: The coverage percentage. + - name: scale + value-type: float + range: [0, 3] + details: The scaling applied to the cloud textures. + - name: variance + value-type: float + range: [0, 1] + details: A randomizing factor applied to the main cloud layer. + - name: scroll + value-type: vector + range: ["<-50,-50,0>", "<50,50,0>"] + details: The scroll speed of the clouds (X is east/west, Y is north/south, Z is + unused). + - name: density + value-type: vector + range: ["<0,0,0>", "<1,1,3>"] + details: The X/Y and D parameter used to generate cloud density. + - name: detail + value-type: vector + range: ["<0,0,0>", "<1,1,1>"] + details: The X/Y and D parameter used to generate cloud details. + - name: is_default + value-type: boolean + access: read SKY_CLOUD_TEXTURE: member-of: [EnvironmentParamReadOnly, EnvironmentParam] tooltip: Environmental setting containing the inventory name or UUID of the texture used for the clouds. type: integer value: 19 + value-type: asset + access: write SKY_DENSITY_PROFILE_COUNTS: private: true member-of: [EnvironmentParamReadOnly, EnvironmentParam] @@ -5619,23 +6654,51 @@ constants: and maximum altitude." type: integer value: 4 + values: + - name: offset + value-type: float + range: [0, 1] + - name: radius + value-type: float + range: [1000, 2000] + - name: max_altitude + value-type: float + range: [0, 10000] SKY_GAMMA: member-of: [EnvironmentParamReadOnly, EnvironmentParam] tooltip: Environmental setting for the gamma value applied to the scene (repurposed in viewer 7.0+ as the HDR Scale value in the EEP editor). type: integer value: 5 + value-type: float + range: [0, 20] SKY_GLOW: member-of: [EnvironmentParamReadOnly, EnvironmentParam] tooltip: "Environmental setting for sun and moon glow parameters: size and focus." type: integer value: 6 + values: + - name: glow_size + value-type: float + range: [0.2, 40] + - name: glow_focus + value-type: float + range: [-10, 10] SKY_HAZE: member-of: [EnvironmentParamReadOnly, EnvironmentParam] tooltip: Environmental setting containing the values used to calculate the light scattering impact of blue density and blue horizon on the scene. type: integer value: 23 + values: + - name: density + value-type: float + - name: horizon + value-type: float + - name: density_multiplier + value-type: float + - name: distance_multiplier + value-type: float SKY_LIGHT: member-of: [EnvironmentParamReadOnly] tooltip: "Environmental setting containing lighting parameters: dominant light @@ -5643,6 +6706,20 @@ constants: total ambient color (sRGB)." type: integer value: 8 + values: + - name: light_direction + value-type: vector + details: "light_direction: A unit vector indicating the direction of the + dominant light source." + - name: fade_color + value-type: vector + details: "fade_color: A color vector representing the current color of the light + emitted from the dominant light source (in sRGB space)." + - name: total_ambient + value-type: vector + details: "total_ambient: A color vector representing the current ambient color + in use in the scene (in sRGB space)." + access: read SKY_MIE_CONFIG: private: true member-of: [EnvironmentParamReadOnly, EnvironmentParam] @@ -5655,18 +6732,57 @@ constants: is_default_texture, direction vector, ambient color, and diffuse color." type: integer value: 9 + values: + - name: rot + value-type: rotation + details: The current rotation applied to the moon. + - name: scale + value-type: float + range: [0.25, 20] + details: The current scale applied to the moon's texture. + - name: brightness + value-type: float + range: [0, 1] + details: The moon's brightness. + - name: is_default_texture + value-type: boolean + access: read + - name: direction + value-type: vector + details: A unit vector pointing at the moon. + access: read + - name: ambient_color + value-type: vector + details: The ambient color of the moon. + access: read + - name: diffuse_color + value-type: vector + details: The diffuse color applied to the moon. + access: read SKY_MOON_TEXTURE: member-of: [EnvironmentParamReadOnly, EnvironmentParam] tooltip: Environmental setting containing the inventory name or UUID of the texture used for the moon. type: integer value: 20 + value-type: asset + access: write SKY_PLANET: member-of: [EnvironmentParamReadOnly, EnvironmentParam] tooltip: "Environmental planet rendering parameters: planet_radius, sky_bottom_radius, and sky_top_radius." type: integer value: 10 + values: + - name: planet_radius + value-type: float + range: [1000, 32768] + - name: sky_bottom_radius + value-type: float + range: [1000, 32768] + - name: sky_top_radius + value-type: float + range: [1000, 32768] SKY_RAYLEIGH_CONFIG: private: true member-of: [EnvironmentParamReadOnly, EnvironmentParam] @@ -5680,41 +6796,98 @@ constants: compatible viewers and testing areas." type: integer value: 24 + value-type: float + range: [0, 10] SKY_REFRACTION: member-of: [EnvironmentParamReadOnly, EnvironmentParam] tooltip: "Environmental sky refraction parameters for rainbows and optical effects: moisture_level, droplet_radius, and ice_level." type: integer value: 11 + values: + - name: moisture_level + value-type: float + range: [0, 1] + - name: droplet_radius + value-type: float + range: [5, 1000] + - name: ice_level + value-type: float + range: [0, 1] SKY_STAR_BRIGHTNESS: member-of: [EnvironmentParamReadOnly, EnvironmentParam] tooltip: Environmental setting for the brightness value applied to stars. type: integer value: 13 + value-type: float + range: [0, 500] SKY_SUN: member-of: [EnvironmentParamReadOnly, EnvironmentParam] tooltip: "Environmental sun parameters: rotation, scale, color, is_default_texture, direction vector, ambient color, and diffuse color." type: integer value: 14 + values: + - name: rot + value-type: rotation + details: The current rotation applied to the sun. + - name: scale + value-type: float + range: [0.25, 20] + details: The current scale applied to the sun's texture. + - name: sun_color + value-type: vector + - name: is_default_texture + value-type: boolean + access: read + - name: direction + value-type: vector + details: A unit vector pointing at the sun. + access: read + - name: ambient_color + value-type: vector + details: The ambient color of the sun. + access: read + - name: diffuse_color + value-type: vector + details: The diffuse color applied to the sun. + access: read SKY_SUN_TEXTURE: member-of: [EnvironmentParamReadOnly, EnvironmentParam] tooltip: Environmental setting containing the inventory name or UUID of the texture used for the sun. type: integer value: 21 + value-type: asset + access: write SKY_TEXTURE_DEFAULTS: member-of: [EnvironmentParamReadOnly] tooltip: Environmental check returning 1 if the sky textures are set to their default values, or 0 if they use custom textures. type: integer value: 1 + values: + - name: bloom_is_default + value-type: boolean + - name: halo_is_default + value-type: boolean + - name: rainbow_is_default + value-type: boolean + access: read SKY_TRACKS: member-of: [EnvironmentParamReadOnly] tooltip: Environmental setting containing the track altitudes used for sky transitions in the region. type: integer value: 15 + values: + - name: sky2 + value-type: float + - name: sky3 + value-type: float + - name: sky4 + value-type: float + access: read SMOOTH: member-of: [TextureAnimMode] tooltip: Used with texture animation functions to cause the animation to slide @@ -5821,9 +6994,9 @@ constants: member-of: [ObjectStatusParam] tooltip: Status flag (default FALSE) that makes the entire object phantom/non-colliding when set to TRUE, allowing avatars and objects to - pass through it. It is a good idea to - use this for most objects that move or rotate, but are non-physical. It is also - useful for simulating volumetric lighting. + pass through it. It is a good idea to use this for most objects that move + or rotate, but are non-physical. It is also useful for simulating + volumetric lighting. type: integer value: '0x10' STATUS_PHYSICS: @@ -5842,16 +7015,16 @@ constants: member-of: [ObjectStatusParam] tooltip: Status flag (default TRUE) that allows physical rotation on the object's local X-axis. Setting to FALSE prevents physical rotation around - the local X-axis. For example, a sit-and-spin - device spins around the Z axis (up) but not around the X or Y axes. + the local X-axis. For example, a sit-and-spin device spins around the Z + axis (up) but not around the X or Y axes. type: integer value: '0x2' STATUS_ROTATE_Y: member-of: [ObjectStatusParam] tooltip: Status flag (default TRUE) that allows physical rotation on the object's local Y-axis. Setting to FALSE prevents physical rotation around - the local Y-axis. For example, a sit-and-spin - device spins around the Z axis (up) but not around the X or Y axes. + the local Y-axis. For example, a sit-and-spin device spins around the Z + axis (up) but not around the X or Y axes. type: integer value: '0x4' STATUS_ROTATE_Z: @@ -5913,6 +7086,7 @@ constants: terrain detail layer 1. type: integer value: 0 + value-type: asset TERRAIN_DETAIL_2: member-of: [GroundTextureParam] tooltip: Terrain parameter used with llSetGroundTexture to set the texture or @@ -5920,6 +7094,7 @@ constants: terrain detail layer 2. type: integer value: 1 + value-type: asset TERRAIN_DETAIL_3: member-of: [GroundTextureParam] tooltip: Terrain parameter used with llSetGroundTexture to set the texture or @@ -5927,6 +7102,7 @@ constants: terrain detail layer 3. type: integer value: 2 + value-type: asset TERRAIN_DETAIL_4: member-of: [GroundTextureParam] tooltip: Terrain parameter used with llSetGroundTexture to set the texture or @@ -5934,6 +7110,7 @@ constants: terrain detail layer 4. type: integer value: 3 + value-type: asset TERRAIN_HEIGHT_RANGE_NE: member-of: [GroundTextureParam] tooltip: Terrain parameter used with llSetGroundTexture to set the north-east @@ -5942,6 +7119,11 @@ constants: and 3 mix in between. type: integer value: 7 + values: + - name: low + value-type: float + - name: high + value-type: float TERRAIN_HEIGHT_RANGE_NW: member-of: [GroundTextureParam] tooltip: Terrain parameter used with llSetGroundTexture to set the north-west @@ -5950,6 +7132,11 @@ constants: and 3 mix in between. type: integer value: 6 + values: + - name: low + value-type: float + - name: high + value-type: float TERRAIN_HEIGHT_RANGE_SE: member-of: [GroundTextureParam] tooltip: Terrain parameter used with llSetGroundTexture to set the south-east @@ -5958,6 +7145,11 @@ constants: and 3 mix in between. type: integer value: 5 + values: + - name: low + value-type: float + - name: high + value-type: float TERRAIN_HEIGHT_RANGE_SW: member-of: [GroundTextureParam] tooltip: Terrain parameter used with llSetGroundTexture to set the south-west @@ -5966,6 +7158,11 @@ constants: and 3 mix in between. type: integer value: 4 + values: + - name: low + value-type: float + - name: high + value-type: float TERRAIN_PBR_OFFSET_1: member-of: [GroundTextureParam] tooltip: Terrain parameter used with llSetGroundTexture to set the UV offset @@ -5973,6 +7170,7 @@ constants: for PBR textures. type: integer value: 16 + value-type: vector TERRAIN_PBR_OFFSET_2: member-of: [GroundTextureParam] tooltip: Terrain parameter used with llSetGroundTexture to set the UV offset @@ -5980,6 +7178,7 @@ constants: for PBR textures. type: integer value: 17 + value-type: vector TERRAIN_PBR_OFFSET_3: member-of: [GroundTextureParam] tooltip: Terrain parameter used with llSetGroundTexture to set the UV offset @@ -5987,6 +7186,7 @@ constants: for PBR textures. type: integer value: 18 + value-type: vector TERRAIN_PBR_OFFSET_4: member-of: [GroundTextureParam] tooltip: Terrain parameter used with llSetGroundTexture to set the UV offset @@ -5994,30 +7194,35 @@ constants: for PBR textures. type: integer value: 19 + value-type: vector TERRAIN_PBR_ROTATION_1: member-of: [GroundTextureParam] tooltip: Terrain parameter used with llSetGroundTexture to set the rotation of the PBR texture for layer 1, in radians. Only works for PBR textures. type: integer value: 12 + value-type: float TERRAIN_PBR_ROTATION_2: member-of: [GroundTextureParam] tooltip: Terrain parameter used with llSetGroundTexture to set the rotation of the PBR texture for layer 2, in radians. Only works for PBR textures. type: integer value: 13 + value-type: float TERRAIN_PBR_ROTATION_3: member-of: [GroundTextureParam] tooltip: Terrain parameter used with llSetGroundTexture to set the rotation of the PBR texture for layer 3, in radians. Only works for PBR textures. type: integer value: 14 + value-type: float TERRAIN_PBR_ROTATION_4: member-of: [GroundTextureParam] tooltip: Terrain parameter used with llSetGroundTexture to set the rotation of the PBR texture for layer 4, in radians. Only works for PBR textures. type: integer value: 15 + value-type: float TERRAIN_PBR_SCALE_1: member-of: [GroundTextureParam] tooltip: Terrain parameter used with llSetGroundTexture to set the UV scale @@ -6025,6 +7230,7 @@ constants: Only works for PBR textures. type: integer value: 8 + value-type: vector TERRAIN_PBR_SCALE_2: member-of: [GroundTextureParam] tooltip: Terrain parameter used with llSetGroundTexture to set the UV scale @@ -6032,6 +7238,7 @@ constants: Only works for PBR textures. type: integer value: 9 + value-type: vector TERRAIN_PBR_SCALE_3: member-of: [GroundTextureParam] tooltip: Terrain parameter used with llSetGroundTexture to set the UV scale @@ -6039,6 +7246,7 @@ constants: Only works for PBR textures. type: integer value: 10 + value-type: vector TERRAIN_PBR_SCALE_4: member-of: [GroundTextureParam] tooltip: Terrain parameter used with llSetGroundTexture to set the UV scale @@ -6046,6 +7254,7 @@ constants: Only works for PBR textures. type: integer value: 11 + value-type: vector TEXTURE_BLANK: tooltip: Asset UUID representing the default 'Blank' texture. type: string @@ -6123,12 +7332,14 @@ constants: inventory into. type: integer value: 0 + value-type: string TRANSFER_FLAGS: member-of: [GiveAgentInventoryParam] tooltip: Inventory parameter specifying flags to control the behavior of inventory transfers. type: integer value: 1 + value-type: integer TRANSFER_FLAG_COPY: member-of: [TransferOwnershipFlag] tooltip: Inventory transfer flag that copies the transferred object and places @@ -6188,6 +7399,9 @@ constants: type. Expects TRAVERSAL_TYPE_SLOW (default), _FAST, or _NONE. type: integer value: 7 + value-type: integer + enum: CharacterTraversalType + default: TRAVERSAL_TYPE_SLOW TRAVERSAL_TYPE_FAST: member-of: [CharacterTraversalType] tooltip: '' @@ -6322,18 +7536,18 @@ constants: value: 38 VEHICLE_BANKING_MIX: member-of: [VehicleFloatParam] - tooltip: Vehicle float parameter (range 0.0 (static) to 1.0) (dynamic) controlling the mix between - static banking (scales only with roll angle) and dynamic banking - (additionally scales with linear speed). + tooltip: Vehicle float parameter (range 0.0 (static) to 1.0) (dynamic) + controlling the mix between static banking (scales only with roll angle) + and dynamic banking (additionally scales with linear speed). type: integer value: 39 VEHICLE_BANKING_TIMESCALE: member-of: [VehicleFloatParam] tooltip: Vehicle float parameter specifying the exponential timescale for the - banking behavior to take full effect. - This is another way to scale the strength of the banking effect, however it - affects the term that is proportional to the difference between what the banking - behavior is trying to do, and what the vehicle is actually doing. + banking behavior to take full effect. This is another way to scale the + strength of the banking effect, however it affects the term that is + proportional to the difference between what the banking behavior is trying + to do, and what the vehicle is actually doing. type: integer value: 40 VEHICLE_BUOYANCY: @@ -6440,15 +7654,15 @@ constants: VEHICLE_LINEAR_DEFLECTION_EFFICIENCY: member-of: [VehicleFloatParam] tooltip: Vehicle float parameter (range 0.0 to 1.0) modulating the efficiency - and strength of linear deflection. That is, its a simple scalar for modulating - the strength of linear deflection. + and strength of linear deflection. That is, its a simple scalar for + modulating the strength of linear deflection. type: integer value: 28 VEHICLE_LINEAR_DEFLECTION_TIMESCALE: member-of: [VehicleFloatParam] tooltip: Vehicle float parameter specifying the exponential timescale for the - vehicle to redirect its linear velocity along its preferred X-axis. - It is another way to specify how much time it takes for the vehicle's linear + vehicle to redirect its linear velocity along its preferred X-axis. It is + another way to specify how much time it takes for the vehicle's linear velocity to be redirected to its preferred axis of motion. type: integer value: 29 @@ -6554,54 +7768,102 @@ constants: should pause briefly after reaching each wander waypoint. type: integer value: 0 + value-type: boolean + default: false WATER_BLUR_MULTIPLIER: member-of: [EnvironmentParamReadOnly, EnvironmentParam] tooltip: Environmental setting specifying the multiplier applied to blur the scene when underwater. type: integer value: 100 + value-type: float + range: [-0.5, 0.5] WATER_FOG: member-of: [EnvironmentParamReadOnly, EnvironmentParam] tooltip: "Environmental underwater fog parameters: color, density exponent, and modulation." type: integer value: 101 + values: + - name: color + value-type: vector + details: The color of the underwater fog. + - name: density + value-type: float + range: [-10, 10] + details: Density exponent applied to the fog. + - name: modulation + value-type: float + range: [0, 20] WATER_FRESNEL: member-of: [EnvironmentParamReadOnly, EnvironmentParam] tooltip: "Environmental water surface Fresnel scattering parameters: offset and scale." type: integer value: 102 + values: + - name: offset + value-type: float + range: [0, 1] + - name: scale + value-type: float + range: [0, 1] WATER_NORMAL_SCALE: member-of: [EnvironmentParamReadOnly, EnvironmentParam] tooltip: Environmental setting specifying the scaling vector applied to the water normal map. type: integer value: 104 + value-type: vector + range: ["<0,0,0>", "<10,10,10>"] WATER_NORMAL_TEXTURE: member-of: [EnvironmentParamReadOnly, EnvironmentParam] tooltip: Environmental setting containing the inventory name or UUID of the normal map texture used for water waves. type: integer value: 107 + value-type: asset + access: write WATER_REFRACTION: member-of: [EnvironmentParamReadOnly, EnvironmentParam] tooltip: "Environmental water surface refraction scale factors: scale_above and scale_below." type: integer value: 105 + values: + - name: scale_above + value-type: float + range: [0, 3] + - name: scale_below + value-type: float + range: [0, 3] WATER_TEXTURE_DEFAULTS: member-of: [EnvironmentParamReadOnly] tooltip: Environmental check returning 1 if default water wave maps are used, or 0 if a custom texture is set. type: integer value: 103 + values: + - name: normal_is_default + value-type: boolean + - name: transparent_is_default + value-type: boolean + access: read WATER_WAVE_DIRECTION: member-of: [EnvironmentParamReadOnly, EnvironmentParam] tooltip: Environmental wave direction vectors (X is east/west, Y is north/south) specifying speeds and directions for both large and small waves. type: integer value: 106 + values: + - name: large_wave + value-type: vector + range: ["<-20,-20,0>", "<20,20,0>"] + details: Large wave speed and direction. + - name: small_wave + value-type: vector + range: ["<-20,-20,0>", "<20,20,0>"] + details: Small wave speed and direction. XP_ERROR_EXPERIENCES_DISABLED: member-of: [ExperienceError] tooltip: Region currently has experiences disabled. @@ -6763,6 +8025,7 @@ events: - change: tooltip: A bitfield of CHANGED_* constants representing what changed. type: integer + enum-semantics: ChangeType tooltip: Triggered when various properties of the object change. The parameter change is a bitfield of CHANGED_* constants. categories: @@ -6826,10 +8089,12 @@ events: - level: tooltip: A bitfield of CONTROL_* constants representing currently held controls. type: integer + enum-semantics: ControlButton - edge: tooltip: A bitfield of CONTROL_* constants representing controls that just changed state. type: integer + enum-semantics: ControlButton tooltip: Triggered to pass captured avatar control inputs into the script. The parameter level indicates held controls, and edge indicates change in controls (both are bitfields of CONTROL_* constants). @@ -6891,6 +8156,7 @@ events: - reason: tooltip: XP_ERROR_* error constant describing why permissions were denied. type: integer + enum-semantics: ExperienceError tooltip: Triggered when the agent specified by agent_id denies experience permissions, or when permission is blocked for other reasons (specified by the error code reason). @@ -6920,6 +8186,7 @@ events: tooltip: A 32-bit mask representing the buttons currently held down on the controller. type: integer + enum-semantics: GameControlButton - axes: tooltip: A list of six float values in the range [-1.0, 1.0] representing controller axes. @@ -6961,6 +8228,7 @@ events: - metadata: tooltip: A list of HTTP_* constants and response headers metadata. type: list + param-semantics: HTTPResponseError - body: tooltip: String payload of the received response body. type: string @@ -7021,6 +8289,7 @@ events: tooltip: An integer constant representing the action taken (e.g., LINKSETDATA_UPDATE, LINKSETDATA_DELETE, LINKSETDATA_RESET). type: integer + enum-semantics: LinksetDataAction - name: tooltip: Key name of the modified key-value pair. type: string @@ -7146,6 +8415,7 @@ events: - type: tooltip: Path update status or failure code constant (PU_* flag). type: integer + enum-semantics: CharacterPathUpdateType - reserved: tooltip: Reserved parameter (currently unused). type: list @@ -7158,6 +8428,7 @@ events: - event_type: tooltip: Integer constant representing the type of XML-RPC event. type: integer + enum-semantics: RemoteDataEventType - channel: tooltip: XML-RPC channel ID key. type: key @@ -7183,6 +8454,7 @@ events: - perm: tooltip: Bitfield of currently granted permissions (PERMISSION_* flags). type: integer + enum-semantics: ScriptPermission tooltip: Triggered when an agent grants or denies runtime permissions requested by llRequestPermissions. Passes the active integer permissions bitfield perm (returns 0 if no permissions are currently granted). @@ -7557,6 +8829,7 @@ functions: tooltip: ATTACH_* constant or integer value representing the target attachment point. type: integer + enum-semantics: AttachPoint energy: 10.0 func-id: 113 return: void @@ -7575,6 +8848,7 @@ functions: tooltip: ATTACH_* constant or integer value representing the target attachment point. type: integer + enum-semantics: AttachPoint energy: 10.0 func-id: 391 return: void @@ -7594,6 +8868,7 @@ functions: tooltip: Index of the prim in the linkset (1 for root, >1 for children), or a LINK_* flag. type: integer + enum-semantics: Link energy: 10.0 func-id: 376 must-use: true @@ -7715,6 +8990,7 @@ functions: tooltip: "The link number (0: unlinked, 1: root prim, >1: child prims and seated avatars) to delink." type: integer + enum-semantics: Links energy: 10.0 func-id: 142 return: void @@ -7750,6 +9026,7 @@ functions: - options: tooltip: A list of option flags and their parameters to configure the raycast. type: list + param-semantics: RayCastParam energy: 10.0 func-id: 363 must-use: true @@ -7848,12 +9125,15 @@ functions: tooltip: "The link number (0: unlinked, 1: root prim, >1: child prims) or a LINK_* flag representing the target prim." type: integer + enum-semantics: Links - face: tooltip: Face number to clear. type: integer + enum-semantics: Faces energy: 10.0 func-id: 373 return: integer + enum-semantics: PrimMediaError sleep: 0.0 tooltip: Deletes the media and clears all parameters from the given face on the linked prim. Returns an integer STATUS_* flag detailing the success or @@ -7867,9 +9147,11 @@ functions: - face: tooltip: Face number (side) to clear. type: integer + enum-semantics: Faces energy: 10.0 func-id: 352 return: integer + enum-semantics: PrimMediaError sleep: 1.0 tooltip: Deletes the media and clears all parameters from the specified face. Returns an integer STATUS_* flag detailing the success or failure of the @@ -8012,6 +9294,7 @@ functions: tooltip: A list of key-value pairs specifying the character's configuration options. type: list + param-semantics: CharacterParam energy: 10.0 func-id: 399 return: void @@ -8077,6 +9360,7 @@ functions: tooltip: Type of damage to deliver to the target (can correspond to a DAMAGE_TYPE_* constant). type: integer + enum-semantics: DamageType energy: 10.0 func-id: 671 return: void @@ -8192,6 +9476,7 @@ functions: - flag: tooltip: Derez behavior flags matching DEREZ_* constants. type: integer + enum-semantics: DerezMode energy: 10.0 func-id: 509 return: integer @@ -8512,6 +9797,7 @@ functions: func-id: 34 must-use: true return: integer + enum-semantics: DetectType detected-semantics: true sleep: 0.0 tooltip: Returns an integer bitfield representing the types (AGENT, ACTIVE, @@ -8680,6 +9966,7 @@ functions: - options: tooltip: No options currently available (should be empty list). type: list + param-semantics: CharacterEvadeParam energy: 10.0 func-id: 407 return: void @@ -8695,6 +9982,7 @@ functions: - command: tooltip: Pathfinding command to execute. type: integer + enum-semantics: CharacterCommand - options: tooltip: A list of options for the command (e.g., jump height for CHARACTER_CMD_JUMP). @@ -8739,6 +10027,7 @@ functions: tooltip: A list of options to control the search (currently unused, should be []). type: list + param-semantics: FindNotecardTextParam energy: 10.0 func-id: 507 must-use: true @@ -8772,6 +10061,7 @@ functions: - options: tooltip: A list of options for future expansion (unused, should be []). type: list + param-semantics: FindNotecardTextParam energy: 10.0 func-id: 508 must-use: true @@ -8797,6 +10087,7 @@ functions: - options: tooltip: No options currently available (should be empty list). type: list + param-semantics: CharacterFleeFromParam energy: 10.0 func-id: 402 return: void @@ -8890,6 +10181,7 @@ functions: func-id: 206 must-use: true return: integer + enum-semantics: AgentInfo sleep: 0.0 tooltip: Returns an integer bitfield containing status information about the agent specified by id (such as AGENT_FLYING, AGENT_ATTACHMENTS, @@ -8916,9 +10208,11 @@ functions: tooltip: Scope flag (AGENT_LIST_PARCEL, AGENT_LIST_PARCEL_OWNER, or AGENT_LIST_REGION) to filter the returned agents. type: integer + enum-semantics: AgentListScope - options: tooltip: A list of options to apply (currently unused). type: list + param-semantics: AgentListParam energy: 10.0 func-id: 412 must-use: true @@ -8951,6 +10245,7 @@ functions: - face: tooltip: Face number or ALL_SIDES. type: integer + enum-semantics: Faces energy: 10.0 func-id: 50 must-use: true @@ -9032,6 +10327,7 @@ functions: func-id: 224 must-use: true return: integer + enum-semantics: AttachPoint sleep: 0.0 tooltip: Returns the integer attachment point (an ATTACH_* constant) that the object is attached to, or 0 if it is unattached or pending detachment. @@ -9062,6 +10358,7 @@ functions: - options: tooltip: A list of options to filter the returned attachments. type: list + param-semantics: AttachedListFilterParam energy: 10.0 func-id: 518 must-use: true @@ -9175,6 +10472,7 @@ functions: - options: tooltip: A list of GCNP_* flags and parameters to configure the search limits. type: list + param-semantics: GetClosestNavPointParam energy: 10.0 func-id: 408 must-use: true @@ -9191,6 +10489,7 @@ functions: - face: tooltip: Face number or ALL_SIDES. type: integer + enum-semantics: Faces energy: 10.0 func-id: 52 must-use: true @@ -9294,11 +10593,13 @@ functions: - params: tooltip: A list of environmental attributes to retrieve. type: list + param-get-semantics: EnvironmentParamReadOnly slua-type: "{number}" energy: 10.0 func-id: 711 must-use: true return: list + param-get-semantics: EnvironmentParamReadOnly # There may be some bool-like entries in the list we need to convert bool-semantics: true sleep: 0.0 @@ -9329,6 +10630,7 @@ functions: - error: tooltip: XP_ERROR_* error code constant to translate. type: integer + enum-semantics: ExperienceError energy: 10.0 experience: true func-id: 603 @@ -9502,6 +10804,7 @@ functions: - type: tooltip: INVENTORY_* type constant of the item. type: integer + enum-semantics: InventoryType - number: tooltip: Index number of the item of that type, starting from 0. type: integer @@ -9520,6 +10823,7 @@ functions: - type: tooltip: INVENTORY_* type constant to count. type: integer + enum-semantics: InventoryType energy: 10.0 func-id: 146 must-use: true @@ -9538,10 +10842,12 @@ functions: tooltip: MASK_* category flag (e.g., MASK_BASE, MASK_OWNER, MASK_GROUP, MASK_EVERYONE, or MASK_NEXT). type: integer + enum-semantics: AssetPermissionCategory energy: 10.0 func-id: 289 must-use: true return: integer + enum-semantics: AssetPermission sleep: 0.0 tooltip: Returns an integer bitfield representing the permission category mask of the specified inventory item. @@ -9557,6 +10863,7 @@ functions: func-id: 301 must-use: true return: integer + enum-semantics: InventoryType sleep: 0.0 tooltip: Returns an integer representing the INVENTORY_* type of the named inventory item. @@ -9592,6 +10899,7 @@ functions: - link: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag. type: integer + enum-semantics: Link energy: 10.0 func-id: 144 must-use: true @@ -9606,17 +10914,21 @@ functions: - link: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag. type: integer + enum-semantics: Link - face: tooltip: Face number (side) of the prim. type: integer + enum-semantics: Faces - params: tooltip: A list of PRIM_MEDIA_* property constants to retrieve values for. type: list + param-get-semantics: PrimMediaParam slua-type: "{number}" energy: 10.0 func-id: 372 must-use: true return: list + param-get-semantics: PrimMediaParam # There may be some bool-like entries in the list we need to convert bool-semantics: true sleep: 0.0 @@ -9631,6 +10943,7 @@ functions: - link: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag. type: integer + enum-semantics: Link energy: 10.0 func-id: 145 must-use: true @@ -9655,6 +10968,7 @@ functions: - link: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag. type: integer + enum-semantics: Link energy: 10.0 func-id: 357 must-use: true @@ -9671,14 +10985,17 @@ functions: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag to retrieve parameters from. type: integer + enum-semantics: Link - params: tooltip: A list of PRIM_* flags specifying the attributes to retrieve. type: list + param-get-semantics: PrimParamGet slua-type: "{number}" energy: 10.0 func-id: 354 must-use: true return: list + param-get-semantics: PrimParamGet # There may be some bool-like entries in the list we need to convert bool-semantics: true sleep: 0.0 @@ -9692,10 +11009,12 @@ functions: - link: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag. type: integer + enum-semantics: Link energy: 10.0 func-id: 551 must-use: true return: integer + enum-semantics: SitFlag sleep: 0.0 tooltip: Returns an integer representing the active sit flags currently set on the linked prim specified by link. @@ -9719,6 +11038,7 @@ functions: native: true pure: true return: integer + enum-semantics: ListEntryType sleep: 0.0 tooltip: Returns an integer representing the variable type (TYPE_*) of the list entry at index in the list src. @@ -9985,11 +11305,13 @@ functions: - params: tooltip: A list of OBJECT_* flags specifying the attributes to retrieve. type: list + param-get-semantics: ObjectDetailsParam slua-type: "{number}" energy: 10.0 func-id: 332 must-use: true return: list + param-get-semantics: ObjectDetailsParam sleep: 0.0 # There may be some bool-like entries in the list we need to convert bool-semantics: true @@ -10007,6 +11329,7 @@ functions: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag of the prim to retrieve. type: integer + enum-semantics: Link energy: 10.0 func-id: 532 must-use: true @@ -10050,10 +11373,12 @@ functions: tooltip: MASK_* category flag (e.g., MASK_BASE, MASK_OWNER, MASK_GROUP, MASK_EVERYONE, or MASK_NEXT). type: integer + enum-semantics: Link energy: 10.0 func-id: 287 must-use: true return: integer + enum-semantics: AssetPermissionCategoryOrFlag sleep: 0.0 tooltip: Returns an integer bitfield representing the permission mask of the specified category for the object containing the script. @@ -10120,11 +11445,13 @@ functions: - params: tooltip: A list of PARCEL_DETAILS_* flags specifying the attributes to retrieve. type: list + param-get-semantics: ParcelDetailsParam slua-type: "{number}" energy: 10.0 func-id: 327 must-use: true return: list + param-get-semantics: ParcelDetailsParam # There may be some bool-like entries in the list we need to convert bool-semantics: true sleep: 0.0 @@ -10141,6 +11468,7 @@ functions: func-id: 317 must-use: true return: integer + enum-semantics: ParcelFlag sleep: 0.0 tooltip: Returns an integer bitfield of parcel flags (PARCEL_FLAG_*) for the parcel at the position pos. @@ -10187,6 +11515,7 @@ functions: - category: tooltip: PARCEL_COUNT_* category flag. type: integer + enum-semantics: ParcelPrimCountCategory - sim_wide: tooltip: Boolean. If TRUE, searches all parcels in the region owned by the targeted parcel's owner; if FALSE, searches only the specified @@ -10226,6 +11555,7 @@ functions: func-id: 138 must-use: true return: integer + enum-semantics: ScriptPermission sleep: 0.0 tooltip: Returns an integer bitfield representing the permissions (PERMISSION_*) currently granted to the script. @@ -10274,14 +11604,17 @@ functions: - face: tooltip: Face number (side) of the prim. type: integer + enum-semantics: Faces - params: tooltip: A list of PRIM_MEDIA_* property constants to retrieve values for. type: list + param-get-semantics: PrimMediaParam slua-type: "{number}" energy: 10.0 func-id: 351 must-use: true return: list + param-get-semantics: PrimMediaParam # There may be some bool-like entries in the list we need to convert bool-semantics: true sleep: 1.0 @@ -10297,11 +11630,13 @@ functions: - params: tooltip: A list of PRIM_* flags specifying the attributes to retrieve. type: list + param-get-semantics: PrimParamGet slua-type: "{number}" energy: 10.0 func-id: 279 must-use: true return: list + param-get-semantics: PrimParamGet # There may be some bool-like entries in the list we need to convert bool-semantics: true sleep: 0.2 @@ -10375,6 +11710,7 @@ functions: func-id: 318 must-use: true return: integer + enum-semantics: RegionFlag sleep: 0.0 tooltip: Returns an integer bitfield representing the region flags (REGION_FLAG_*) currently enabled for the region containing the object. @@ -10468,6 +11804,7 @@ functions: - face: tooltip: Face number or ALL_SIDES. type: integer + enum-semantics: Faces energy: 10.0 func-id: 760 must-use: true @@ -10569,6 +11906,7 @@ functions: - stat_type: tooltip: SIM_STAT_* flag of the statistic to retrieve. type: integer + enum-semantics: Faces energy: 10.0 func-id: 415 must-use: true @@ -10629,6 +11967,7 @@ functions: tooltip: A list specifying the CHARACTER_TYPE parameter (defaults to CHARACTER_TYPE_NONE). type: list + param-semantics: GetStaticPathParam energy: 10.0 func-id: 413 must-use: true @@ -10645,6 +11984,7 @@ functions: - status: tooltip: Single STATUS_* flag to check. type: integer + enum-semantics: ObjectStatusParam energy: 10.0 func-id: 46 must-use: true @@ -10711,6 +12051,7 @@ functions: - face: tooltip: Face number or ALL_SIDES. type: integer + enum-semantics: Faces energy: 10.0 func-id: 57 must-use: true @@ -10728,6 +12069,7 @@ functions: - face: tooltip: Face number or ALL_SIDES. type: integer + enum-semantics: Faces energy: 10.0 func-id: 178 must-use: true @@ -10743,6 +12085,7 @@ functions: - face: tooltip: Face number or ALL_SIDES. type: integer + enum-semantics: Faces energy: 10.0 func-id: 180 must-use: true @@ -10758,6 +12101,7 @@ functions: - face: tooltip: Face number or ALL_SIDES. type: integer + enum-semantics: Faces energy: 10.0 func-id: 179 must-use: true @@ -10917,9 +12261,11 @@ functions: - options: tooltip: A list of options to configure the inventory transfer. type: list + param-semantics: GiveAgentInventoryParam energy: 10.0 func-id: 517 return: integer + enum-semantics: TransferError sleep: 3.0 tooltip: Gives the specified inventory items to the agent as a new folder named folder, as permitted by the permissions system. Customizes the transfer @@ -11122,6 +12468,7 @@ functions: - parameters: tooltip: A list of HTTP_* configuration flags and value pairs. type: list + param-semantics: HTTPRequestParam - body: tooltip: String contents of the request body. type: string @@ -11243,9 +12590,11 @@ functions: - link: tooltip: Link number (or LINK_* flag) of the prim to inspect. type: integer + enum-semantics: Link - face: tooltip: Face number (or ALL_SIDES) of the prim to inspect. type: integer + enum-semantics: Faces energy: 10.0 func-id: 559 must-use: true @@ -11430,6 +12779,7 @@ functions: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag of the prim to adjust. type: integer + enum-semantics: Links - volume: tooltip: Volume level to set, between 0.0 (silent) and 1.0 (loud). type: float @@ -11446,9 +12796,11 @@ functions: - link: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag. type: integer + enum-semantics: Links - rules: tooltip: A list of particle system rules and data pairs [rule1, data1, ...]. type: list + param-semantics: ParticleParam energy: 10.0 func-id: 355 return: void @@ -11463,6 +12815,7 @@ functions: - link: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag. type: integer + enum-semantics: Links - sound: tooltip: Name of a sound in the prim's inventory, or a UUID. type: string @@ -11473,6 +12826,7 @@ functions: - flags: tooltip: Bitwise flags (combination of SOUND_*) controlling the sound playback. type: integer + enum-semantics: PlaySoundFlag energy: 10.0 func-id: 533 return: void @@ -11488,6 +12842,7 @@ functions: - link: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag. type: integer + enum-semantics: Links - queue: tooltip: Boolean. If TRUE, sound queuing is enabled; if FALSE, it is disabled. type: integer @@ -11505,6 +12860,7 @@ functions: - link: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag. type: integer + enum-semantics: Links - radius: tooltip: Maximum distance in meters at which the sounds can be heard. type: float @@ -11521,6 +12877,7 @@ functions: - link: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag. type: integer + enum-semantics: Link - offset: tooltip: Offset position vector in local prim coordinates. type: vector @@ -11542,6 +12899,7 @@ functions: - link: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag. type: integer + enum-semantics: Links energy: 10.0 func-id: 534 return: void @@ -11600,6 +12958,7 @@ functions: energy: 10.0 func-id: 652 return: integer + enum-semantics: LinksetDataError sleep: 0.0 tooltip: Deletes the unprotected key-value pair specified by name from the linkset's datastore, triggering a linkset_data event. @@ -11638,6 +12997,7 @@ functions: energy: 10.0 func-id: 660 return: integer + enum-semantics: LinksetDataError sleep: 0.0 tooltip: Deletes the protected key-value pair specified by name from the linkset's datastore using the passphrase pass, triggering a linkset_data @@ -11753,6 +13113,7 @@ functions: energy: 10.0 func-id: 650 return: integer + enum-semantics: LinksetDataError sleep: 0.0 tooltip: Creates or updates an unprotected key-value pair (name and value) in the linkset's datastore. Returns an integer success or failure code. @@ -11774,6 +13135,7 @@ functions: energy: 10.0 func-id: 658 return: integer + enum-semantics: LinksetDataError sleep: 0.0 tooltip: Creates or updates a protected key-value pair (name and value) in the linkset's datastore using the passphrase pass. Returns an integer success @@ -12289,6 +13651,7 @@ functions: - operation: tooltip: LIST_STAT_* constant of the statistical operation to perform. type: integer + enum-semantics: ListStatisticsOperation - src: tooltip: List of floats and integers to analyze. type: list @@ -12667,6 +14030,7 @@ functions: - action: tooltip: An ESTATE_ACCESS_* action flag specifying the operation to perform. type: integer + enum-semantics: EstateAccessParam - avatar: tooltip: UUID of the avatar or group to add or remove. type: key @@ -12692,6 +14056,7 @@ functions: - options: tooltip: A list of options to configure the map beacon. type: list + param-semantics: MapBeaconParam energy: 10.0 func-id: 516 return: void @@ -12730,6 +14095,7 @@ functions: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag controlling which prim(s) receive the message. type: integer + enum-semantics: Links - num: tooltip: An integer value passed as the second parameter of the link_message event. @@ -12790,9 +14156,11 @@ functions: tooltip: LAND_* action flag to perform (e.g., LAND_LEVEL, LAND_RAISE, LAND_LOWER, LAND_SMOOTH, LAND_NOISE, or LAND_REVERT). type: integer + enum-semantics: ModifyLandAction - brush: tooltip: Brush size (0, 1, or 2, representing 2m x 2m, 4m x 4m, or 8m x 8m). type: integer + enum-semantics: ModifyLandBrush energy: 10.0 func-id: 159 return: void @@ -12844,6 +14212,7 @@ functions: tooltip: A list of parameters to configure pathfinding behavior (currently only FORCE_DIRECT_PATH is supported). type: list + param-semantics: CharacterNavigateParam energy: 10.0 func-id: 398 return: void @@ -12864,6 +14233,7 @@ functions: - face: tooltip: Face number or ALL_SIDES. type: integer + enum-semantics: Faces energy: 10.0 func-id: 55 return: void @@ -12960,6 +14330,7 @@ functions: tooltip: A list containing integer PARCEL_MEDIA_COMMAND_* flags and their corresponding parameters. type: list + param-semantics: ParcelMediaCommand energy: 10.0 func-id: 298 return: void @@ -12976,11 +14347,13 @@ functions: - query: tooltip: A list of PARCEL_MEDIA_COMMAND_* attributes to query. type: list + param-get-semantics: ParcelMediaQuery slua-type: "{number}" energy: 10.0 func-id: 299 must-use: true return: list + param-get-semantics: ParcelMediaQuery # There may be some bool-like entries in the list we need to convert bool-semantics: true sleep: 2.0 @@ -13046,6 +14419,7 @@ functions: - rules: tooltip: A list of particle system rules and data pairs [rule1, data1, ...]. type: list + param-semantics: ParticleParam energy: 10.0 func-id: 229 return: void @@ -13096,6 +14470,7 @@ functions: tooltip: A list of PATROL_* flags and parameters to configure the patrol behavior. type: list + param-semantics: CharacterPatrolPointsParam energy: 10.0 func-id: 403 return: void @@ -13199,6 +14574,7 @@ functions: - options: tooltip: A list of options to configure pursuit behavior. type: list + param-semantics: CharacterPursueParam energy: 10.0 func-id: 400 return: void @@ -13484,6 +14860,7 @@ functions: - flags: tooltip: A bitwise mask of VEHICLE_FLAG_* constants to disable. type: integer + enum-semantics: VehicleFlag energy: 10.0 func-id: 237 return: void @@ -13511,6 +14888,7 @@ functions: experience: true func-id: 713 return: integer + enum-semantics: EnvironmentError sleep: 0.0 tooltip: Replaces the region and parcel environment seen by the specified agent_id as part of an experience, transitioning the settings over @@ -13545,6 +14923,7 @@ functions: energy: 10.0 func-id: 718 return: integer + enum-semantics: EnvironmentError sleep: 0.0 tooltip: Replaces the environment on the parcel containing position (or the entire region if position is <-1.0, -1.0, -1.0>) for the specified @@ -13587,6 +14966,7 @@ functions: - data: tooltip: DATA_* category flag of the requested information. type: integer + enum-semantics: AgentData energy: 10.0 func-id: 155 return: key @@ -13657,6 +15037,7 @@ functions: - permissions: tooltip: Bitfield containing the PERMISSION_* constants to request. type: integer + enum-semantics: ScriptPermission energy: 10.0 func-id: 136 return: void @@ -13687,6 +15068,7 @@ functions: - data: tooltip: DATA_SIM_* flag of the requested simulator data. type: integer + enum-semantics: SimulatorData energy: 10.0 func-id: 293 return: key @@ -13817,6 +15199,7 @@ functions: energy: 10.0 func-id: 520 return: integer + enum-semantics: ReturnObjectsError sleep: 0.0 requires-permission: - PERMISSION_RETURN_OBJECTS @@ -13835,9 +15218,11 @@ functions: tooltip: OBJECT_RETURN_* scope flag (such as OBJECT_RETURN_PARCEL, OBJECT_RETURN_PARCEL_OWNER, or OBJECT_RETURN_REGION). type: integer + enum-semantics: ReturnObjectsScope energy: 10.0 func-id: 521 return: integer + enum-semantics: ReturnObjectsError sleep: 0.0 requires-permission: - PERMISSION_RETURN_OBJECTS @@ -13914,6 +15299,7 @@ functions: - params: tooltip: A list of REZ_* parameters to configure the rezzed object's attributes. type: list + param-semantics: RezParam energy: 200.0 func-id: 544 return: key @@ -14122,6 +15508,7 @@ functions: - face: tooltip: Face number or ALL_SIDES. type: integer + enum-semantics: Faces energy: 10.0 func-id: 56 return: void @@ -14243,6 +15630,7 @@ functions: - face: tooltip: Face number or ALL_SIDES. type: integer + enum-semantics: Faces energy: 10.0 func-id: 54 return: void @@ -14276,6 +15664,7 @@ functions: tooltip: PROFILE_* flag (such as PROFILE_NONE or PROFILE_SCRIPT_MEMORY) to set the profiling state. type: integer + enum-semantics: ScriptProfileMode energy: 10.0 func-id: 367 return: void @@ -14323,6 +15712,7 @@ functions: tooltip: Integer bitfield type mask containing AGENT, AGENT_BY_LEGACY_NAME, AGENT_BY_USERNAME, ACTIVE, PASSIVE, or SCRIPTED (0 for no filter). type: integer + enum-semantics: DetectType - radius: tooltip: Maximum distance in meters to scan (range [0.0, 96.0]). type: float @@ -14363,6 +15753,7 @@ functions: tooltip: Integer bitfield type mask containing AGENT, AGENT_BY_LEGACY_NAME, AGENT_BY_USERNAME, ACTIVE, PASSIVE, or SCRIPTED (0 for no filter). type: integer + enum-semantics: DetectType - radius: tooltip: Maximum distance in meters to scan (range [0.0, 96.0]). type: float @@ -14393,10 +15784,12 @@ functions: - params: tooltip: A list of environmental parameters to apply. type: list + param-semantics: EnvironmentParam energy: 10.0 experience: true func-id: 714 return: integer + enum-semantics: EnvironmentError sleep: 0.0 tooltip: Sets an individual agent's environmental settings using the attributes in params over a duration of transition seconds. Must be used as part of @@ -14414,6 +15807,7 @@ functions: - flags: tooltip: Flags to configure the rotation behavior. type: integer + enum-semantics: AgentRotFlags energy: 10.0 func-id: 515 return: void @@ -14432,6 +15826,7 @@ functions: - face: tooltip: Face number or ALL_SIDES. type: integer + enum-semantics: Faces energy: 10.0 func-id: 51 return: void @@ -14529,6 +15924,7 @@ functions: - rules: tooltip: A strided list of rules and data pairs configuring the camera. type: list + param-semantics: CameraParam energy: 10.0 func-id: 313 return: void @@ -14546,6 +15942,7 @@ functions: - action: tooltip: CLICK_ACTION_* flag representing the action to apply. type: integer + enum-semantics: ClickAction energy: 10.0 func-id: 333 return: void @@ -14566,6 +15963,7 @@ functions: - face: tooltip: Face number or ALL_SIDES. type: integer + enum-semantics: Faces energy: 10.0 func-id: 49 return: void @@ -14584,6 +15982,7 @@ functions: tooltip: CONTENT_TYPE_* constant representing the Internet media type to use. type: integer + enum-semantics: HTTPContentType energy: 10.0 func-id: 374 return: void @@ -14621,9 +16020,11 @@ functions: tooltip: A list of environmental attributes and values to apply (or empty to clear). type: list + param-semantics: EnvironmentParam energy: 10.0 func-id: 717 return: integer + enum-semantics: EnvironmentError sleep: 0.0 tooltip: Overrides the environmental settings at position for a parcel (or region if position is <-1.0, -1.0, z>) using the parameters in params. @@ -14693,6 +16094,7 @@ functions: - changes: tooltip: A list of terrain detail properties and values to change. type: list + param-semantics: GroundTextureParam energy: 10.0 func-id: 558 return: integer @@ -14732,9 +16134,11 @@ functions: - category: tooltip: MASK_* category flag (such as MASK_NEXT, MASK_OWNER, etc.). type: integer + enum-semantics: AssetPermissionCategory - value: tooltip: Bitfield of permissions (PERM_* flags) to set. type: integer + enum-semantics: AssetPermission energy: 10.0 func-id: 290 god-mode: true @@ -14755,6 +16159,7 @@ functions: - options: tooltip: A list of options (KFM_* constants) to modify playback behavior. type: list + param-semantics: KeyframedMotionParam energy: 10.0 func-id: 394 return: void @@ -14771,12 +16176,14 @@ functions: - link: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag. type: integer + enum-semantics: Links - alpha: tooltip: Transparency value to set, from 0.0 (clear) to 1.0 (solid). type: float - face: tooltip: Face number or ALL_SIDES. type: integer + enum-semantics: Faces energy: 10.0 func-id: 274 return: void @@ -14790,6 +16197,7 @@ functions: - link: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag. type: integer + enum-semantics: Link - eye: tooltip: Eye offset position vector in local coordinates relative to the prim. @@ -14812,12 +16220,14 @@ functions: - link: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag. type: integer + enum-semantics: Links - color: tooltip: Color vector in RGB (values from 0.0 to 1.0). type: vector - face: tooltip: Face number or ALL_SIDES. type: integer + enum-semantics: Faces energy: 10.0 func-id: 140 return: void @@ -14831,12 +16241,15 @@ functions: - link: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag. type: integer + enum-semantics: Links - face: tooltip: Face number or ALL_SIDES. type: integer + enum-semantics: Faces - params: tooltip: A list of overrides and their corresponding values to set. type: list + param-semantics: GLTFOverride energy: 10.0 func-id: 560 return: void @@ -14851,16 +16264,20 @@ functions: - link: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag. type: integer + enum-semantics: Link - face: tooltip: Face number (side) of the prim. type: integer + enum-semantics: Faces - params: tooltip: A set of property-value pairs (in no particular order) specifying media parameters. type: list + param-semantics: PrimMediaParam energy: 10.0 func-id: 371 return: integer + enum-semantics: PrimMediaError sleep: 0.0 tooltip: Sets the media parameters specified by params on face of the linked prim link without a script delay. Returns an integer STATUS_* flag @@ -14875,9 +16292,11 @@ functions: - link: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag. type: integer + enum-semantics: Links - rules: tooltip: A list of PRIM_* rules and data to apply. type: list + param-semantics: PrimParam deprecated: use: ll.SetLinkPrimitiveParamsFast selene-replace: ["ll.SetLinkPrimitiveParamsFast(%...)"] @@ -14896,9 +16315,11 @@ functions: - link: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag. type: integer + enum-semantics: Links - rules: tooltip: A list of PRIM_* rules and data to apply. type: list + param-semantics: PrimParam energy: 10.0 func-id: 353 return: void @@ -14914,6 +16335,7 @@ functions: - link: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag. type: integer + enum-semantics: Links - material: tooltip: Name of a material in the prim's inventory, or a UUID. type: string @@ -14921,6 +16343,7 @@ functions: - face: tooltip: Face number or ALL_SIDES. type: integer + enum-semantics: Faces energy: 10.0 func-id: 762 return: void @@ -14936,9 +16359,11 @@ functions: - link: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag. type: integer + enum-semantics: Links - flags: tooltip: A bitfield of sit flags (SIT_FLAG_*) to apply. type: integer + enum-semantics: SitFlag energy: 10.0 func-id: 550 return: void @@ -14952,6 +16377,7 @@ functions: - link: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag. type: integer + enum-semantics: Links - texture: tooltip: Name of a texture in the prim's inventory, or a UUID. type: string @@ -14959,6 +16385,7 @@ functions: - face: tooltip: Face number or ALL_SIDES. type: integer + enum-semantics: Faces energy: 10.0 func-id: 329 return: void @@ -14973,12 +16400,15 @@ functions: tooltip: Link number (1 for root, >1 for children) or a LINK_* flag to animate. type: integer + enum-semantics: Links - mode: tooltip: Bitfield of texture animation mode flags (ANIM_ON, LOOP, etc.). type: integer + enum-semantics: TextureAnimMode - face: tooltip: Face number or ALL_SIDES. type: integer + enum-semantics: Faces - sizex: tooltip: Number of horizontal frames (ignored for ROTATE and SCALE). type: integer @@ -15068,9 +16498,11 @@ functions: - mask: tooltip: MASK_* category flag (e.g., MASK_BASE, MASK_OWNER, etc.). type: integer + enum-semantics: AssetPermissionCategory - value: tooltip: Bitfield of permissions (PERM_* flags) to set. type: integer + enum-semantics: AssetPermission energy: 10.0 func-id: 288 god-mode: true @@ -15092,9 +16524,11 @@ functions: tooltip: A list of options to configure the sale (e.g., price, authorized buyer, and object inclusion). type: list + param-semantics: ParcelSaleParam energy: 10.0 func-id: 561 return: integer + enum-semantics: ParcelSaleError sleep: 0.0 requires-permission: - PERMISSION_PRIVILEGED_LAND_ACCESS @@ -15130,6 +16564,7 @@ functions: tooltip: A list of four integer values or PAY_* constants specifying the button payment choices. type: list + param-semantics: PayButton slua-type: "{number}" energy: 10.0 func-id: 302 @@ -15147,6 +16582,7 @@ functions: tooltip: Bitwise mask combination specifying which of the floats (DENSITY, FRICTION, RESTITUTION, or GRAVITY_MULTIPLIER) to apply. type: integer + enum-semantics: PhysicsMaterialParam - gravity_multiplier: tooltip: Gravity multiplier float value (range [-1.0, +28.0], default is 1.0). @@ -15192,13 +16628,16 @@ functions: - face: tooltip: Face number (side) of the prim. type: integer + enum-semantics: Faces - params: tooltip: A set of property-value pairs (in no particular order) specifying media parameters. type: list + param-semantics: PrimMediaParam energy: 10.0 func-id: 350 return: integer + enum-semantics: PrimMediaError sleep: 1.0 tooltip: Sets the media parameters specified by params on the designated face of the prim. Returns an integer STATUS_* flag detailing success or failure. @@ -15231,6 +16670,7 @@ functions: - rules: tooltip: A list of PRIM_* rules and data to apply. type: list + param-semantics: PrimParam deprecated: use: ll.SetLinkPrimitiveParamsFast selene-replace: ["ll.SetLinkPrimitiveParamsFast(%...)"] @@ -15284,6 +16724,7 @@ functions: - face: tooltip: Face number or ALL_SIDES. type: integer + enum-semantics: Faces energy: 10.0 func-id: 761 return: void @@ -15389,6 +16830,7 @@ functions: - status: tooltip: Bitmask representing the STATUS_* flag(s) to change. type: integer + enum-semantics: ObjectStatusParam - value: tooltip: Boolean. If TRUE, enables the status; if FALSE, disables it. type: integer @@ -15433,6 +16875,7 @@ functions: - face: tooltip: Face number or ALL_SIDES. type: integer + enum-semantics: Faces energy: 10.0 func-id: 53 return: void @@ -15446,9 +16889,11 @@ functions: - mode: tooltip: Bitfield of texture animation mode flags (ANIM_ON, LOOP, etc.). type: integer + enum-semantics: TextureAnimMode - face: tooltip: Face number or ALL_SIDES. type: integer + enum-semantics: Faces - sizex: tooltip: Number of horizontal frames (ignored for ROTATE and SCALE). type: integer @@ -15532,6 +16977,7 @@ functions: - flags: tooltip: A bitwise mask of VEHICLE_FLAG_* constants to enable. type: integer + enum-semantics: VehicleFlag energy: 10.0 func-id: 236 return: void @@ -15544,6 +16990,7 @@ functions: - param: tooltip: VEHICLE_* float parameter constant to set. type: integer + enum-semantics: VehicleFloatParam - value: tooltip: Float value to set. type: float @@ -15559,6 +17006,7 @@ functions: - param: tooltip: VEHICLE_* rotation parameter constant to set. type: integer + enum-semantics: VehicleRotationParam - rot: tooltip: Rotation value to set. type: rotation @@ -15574,6 +17022,7 @@ functions: - type: tooltip: VEHICLE_TYPE_* constant to set. type: integer + enum-semantics: VehicleType energy: 10.0 func-id: 232 return: void @@ -15586,6 +17035,7 @@ functions: - param: tooltip: VEHICLE_* vector parameter constant to set. type: integer + enum-semantics: VehicleVectorParam - vec: tooltip: Vector value to set. type: vector @@ -15685,10 +17135,12 @@ functions: - link: tooltip: Link number for the prim containing the desired sit target. type: integer + enum-semantics: Link energy: 10.0 func-id: 503 experience: true return: integer + enum-semantics: SitError sleep: 0.0 tooltip: Forces the avatar specified by agent_id (who must be participating in the experience) to sit on the sit target of the prim indicated by link. If @@ -15958,6 +17410,7 @@ functions: tooltip: Trim type flag (STRING_TRIM_HEAD, STRING_TRIM_TAIL, or STRING_TRIM). type: integer + enum-semantics: StringTrimType energy: 10.0 func-id: 330 pure: true @@ -16008,6 +17461,7 @@ functions: - controls: tooltip: Bitfield of CONTROL_* flags to intercept. type: integer + enum-semantics: ControlButton - accept: tooltip: Boolean. Determines whether control events are generated to trigger script handlers. @@ -16109,6 +17563,7 @@ functions: tooltip: Target constant (e.g., TARGETED_EMAIL_OBJECT_OWNER or TARGETED_EMAIL_ROOT_CREATOR). type: integer + enum-semantics: EmailTarget - subject: tooltip: Subject of the email. type: string @@ -16281,12 +17736,15 @@ functions: tooltip: Flags controlling the transfer type (such as TRANSFER_FLAG_COPY or TRANSFER_FLAG_TAKE). type: integer + enum-semantics: TransferOwnershipFlag - options: tooltip: Extra options applied to the transfer (currently unused). type: list + param-semantics: TransferOwnershipParam energy: 10.0 func-id: 519 return: integer + enum-semantics: TransferError sleep: 0.0 tooltip: Transfers ownership of the object (or a copy of it, depending on flags) to the avatar agent_id. Returns an integer indicating the success or @@ -16370,6 +17828,7 @@ functions: tooltip: A list of key-value pairs specifying the character's new configuration options (takes same constants as llCreateCharacter). type: list + param-semantics: CharacterParam energy: 10.0 func-id: 406 return: void @@ -16526,6 +17985,7 @@ functions: tooltip: A list of WANDER_* flags and parameters to configure the wander behavior. type: list + param-semantics: CharacterWanderWithinParam energy: 10.0 func-id: 401 return: void diff --git a/lsl_definitions/generators/builtins_txt.py b/lsl_definitions/generators/builtins_txt.py index 183a20e8..b5043ed3 100644 --- a/lsl_definitions/generators/builtins_txt.py +++ b/lsl_definitions/generators/builtins_txt.py @@ -2,6 +2,8 @@ from __future__ import annotations +import json + from lsl_definitions.generators.base import register from lsl_definitions.lsl import LSLDefinitions, LSLType @@ -31,3 +33,29 @@ def gen_builtins_txt(definitions: LSLDefinitions) -> str: builtins_str += f"event {event.name}{event.args_str}\n" return builtins_str + + +@register("gen_enum_users") +def gen_enum_users(definitions: LSLDefinitions) -> str: + # List of all enum users. Feel free to remove this rule + out = {enum.name: [] for enum in sorted(definitions.enums.values(), key=lambda x: x.name)} + + for event in sorted(definitions.events.values(), key=lambda x: x.name): + for arg in event.arguments: + if arg.enum_semantics: + out[arg.enum_semantics.name].append(event.name) + if arg.param_semantics: + out[arg.param_semantics.name].append(event.name) + if arg.param_get_semantics: + out[arg.param_get_semantics.name].append(event.name) + + for func in sorted(definitions.functions.values(), key=lambda x: x.name): + for arg in func.arguments: + if arg.enum_semantics: + out[arg.enum_semantics.name].append(func.name) + if arg.param_semantics: + out[arg.param_semantics.name].append(func.name) + if arg.param_get_semantics: + out[arg.param_get_semantics.name].append(func.name) + + return json.dumps(out, indent=2) diff --git a/lsl_definitions/lsl.py b/lsl_definitions/lsl.py index cfae291b..71246e24 100644 --- a/lsl_definitions/lsl.py +++ b/lsl_definitions/lsl.py @@ -225,6 +225,9 @@ def to_slua_dict(self, slua: SLuaDefinitions) -> dict: class LSLEnumType(StringEnum): ENUM = "enum" FLAG = "flag" + ENUM_FLAG = "enum+flag" + PARAM_DICT = "param-dict" + PARAM_LIST = "param-list" @dataclasses.dataclass @@ -244,6 +247,12 @@ class LSLEnum: slua_deprecated: Deprecated | None _special_members: set[str] "Unusual members that break a validation rule" + enum: LSLEnum | None = None + "the enum component of an enum+flag" + flag: LSLEnum | None = None + "the flag component of an enum+flag" + mask: str | None = None + "the mask for the enum component of an enum+flag" members: list[LSLEnumMember] = dataclasses.field(default_factory=list) by_name: dict[str, LSLEnumMember] = dataclasses.field(default_factory=dict) by_value: dict[int, LSLEnumMember] = dataclasses.field(default_factory=dict) @@ -256,10 +265,17 @@ class LSLArgument: slua_type: str | None tooltip: str index_semantics: bool + """Represents a list index integer""" asset_semantics: bool """Represents an asset name or uuid""" bool_semantics: bool """Represents a boolean""" + enum_semantics: LSLEnum | None + """Represents an enum or flag integer""" + param_semantics: LSLEnum | None + """Represents a parameter list to set""" + param_get_semantics: LSLEnum | None + """Represents a parameter list to retrieve""" def compute_slua_type(self, event: bool = False) -> str: if self.slua_type is not None: @@ -353,6 +369,8 @@ class LSLFunction(LSLFunctionBase): index_semantics: bool bool_semantics: bool asset_semantics: bool + enum_semantics: LSLEnum | None + param_get_semantics: LSLEnum | None detected_semantics: bool type_arguments: list[str] private: bool @@ -586,108 +604,171 @@ def _parse_dict(self, def_dict: dict) -> LSLDefinitions: return self._definitions + def _resolve_enum(self, enum_name: str) -> LSLEnum: + try: + return self._definitions.enums[enum_name] + except KeyError: + raise KeyError(f"Unknown enum {enum_name!r}") + def _handle_enum(self, enum_name: str, enum_data: dict) -> LSLEnum: - self._validate_identifier(enum_name) - enum = LSLEnum( - name=enum_name, - type=LSLEnumType(enum_data["type"]), - prefix=enum_data.get("prefix", ""), - tooltip=enum_data.get("tooltip", ""), - deprecated=Deprecated.from_definition(enum_data.get("deprecated", False)), - slua_deprecated=Deprecated.from_definition(enum_data.get("slua-deprecated", False)), - _special_members=set(enum_data.get("special-members", [])), - ) + try: + self._validate_identifier(enum_name) + enum = LSLEnum( + name=enum_name, + type=LSLEnumType(enum_data["type"]), + prefix=enum_data.get("prefix", ""), + tooltip=enum_data.get("tooltip", ""), + deprecated=Deprecated.from_definition(enum_data.get("deprecated", False)), + slua_deprecated=Deprecated.from_definition(enum_data.get("slua-deprecated", False)), + _special_members=set(enum_data.get("special-members", [])), + ) + if enum.type == LSLEnumType.ENUM_FLAG: + enum.enum = self._resolve_enum(enum_data["enum"]) + enum.flag = self._resolve_enum(enum_data["flag"]) + enum.mask = enum_data["mask"] + if enum.enum.type != LSLEnumType.ENUM: + raise ValueError(f"{enum.enum.name!r} is not of type enum") + if enum.flag.type != LSLEnumType.FLAG: + raise ValueError(f"{enum.flag.name!r} is not of type flag") + elif "enum" in enum_data or "flag" in enum_data or "mask" in enum_data: + raise ValueError( + f"{enum_name!r} is not an enum+flag, but has enum/flag/mask fields" + ) - if enum.name in self._definitions.enums: - raise KeyError(f"{enum.name} is already defined") - self._definitions.enums[enum.name] = enum - return enum + if enum.name in self._definitions.enums: + raise KeyError(f"{enum.name} is already defined") + self._definitions.enums[enum.name] = enum + return enum + except Exception as e: + raise ValueError(f"In enum {enum_name!r}: {e}") from e def _handle_event(self, event_name: str, event_data: dict) -> LSLEvent: - self._validate_identifier(event_name) - event = LSLEvent( - name=event_name, - tooltip=event_data.get("tooltip", ""), - categories=event_data["categories"], - arguments=[ - self._handle_argument(event_name, arg) - for arg in (event_data.get("arguments") or []) - ], - private=event_data.get("private", False), - deprecated=Deprecated.from_definition(event_data.get("deprecated", False)), - slua_deprecated=Deprecated.from_definition(event_data.get("slua-deprecated", False)), - slua_removed=event_data.get("slua-removed", False), - detected_semantics=event_data.get("detected-semantics", False), - ) + try: + self._validate_identifier(event_name) + event = LSLEvent( + name=event_name, + tooltip=event_data.get("tooltip", ""), + categories=event_data["categories"], + arguments=[ + self._handle_argument(arg) for arg in (event_data.get("arguments") or []) + ], + private=event_data.get("private", False), + deprecated=Deprecated.from_definition(event_data.get("deprecated", False)), + slua_deprecated=Deprecated.from_definition( + event_data.get("slua-deprecated", False) + ), + slua_removed=event_data.get("slua-removed", False), + detected_semantics=event_data.get("detected-semantics", False), + ) - if event.name in self._definitions.events: - raise KeyError(f"{event.name} is already defined") - self._validate_args(event) + if event.name in self._definitions.events: + raise KeyError(f"{event.name} is already defined") + self._validate_args(event) - self._definitions.events[event.name] = event - return event + self._definitions.events[event.name] = event + return event + except Exception as e: + raise ValueError(f"In event {event_name!r}: {e}") from e def _handle_function(self, func_name: str, func_data: dict) -> LSLFunction: - self._validate_identifier(func_name) - func = LSLFunction( - name=func_name, - tooltip=func_data["tooltip"], - categories=func_data["categories"], - # These do actually need to be floats. - energy=float(func_data["energy"] or "0.0"), - sleep=float(func_data["sleep"] or "0.0"), - # 99.9% of the time this won't be specified, if it isn't, just use `sleep`'s value. - mono_sleep=float(func_data.get("mono-sleep", func_data.get("sleep")) or "0.0"), - ret_type=LSLType(func_data["return"]), - slua_type=func_data.get("slua-return", None), - type_arguments=func_data.get("type-arguments", []), - arguments=[ - self._handle_argument(func_name, arg) for arg in (func_data.get("arguments") or []) - ], - private=func_data.get("private", False), - god_mode=func_data.get("god-mode", False), - deprecated=Deprecated.from_definition(func_data.get("deprecated", False)), - slua_deprecated=Deprecated.from_definition(func_data.get("slua-deprecated", False)), - slua_removed=func_data.get("slua-removed", False), - func_id=func_data["func-id"], - pure=func_data.get("pure", False), - must_use=func_data.get("must-use", False), - native=func_data.get("native", False), - index_semantics=bool(func_data.get("index-semantics", False)), - bool_semantics=bool(func_data.get("bool-semantics", False)), - asset_semantics=bool(func_data.get("asset-semantics", False)), - detected_semantics=bool(func_data.get("detected-semantics", False)), - ) - - if func.name in self._definitions.functions: - raise KeyError(f"{func.name} is already defined") - - if func.index_semantics and func.ret_type not in (LSLType.INTEGER, LSLType.LIST): - raise ValueError( - f"{func.name} has ret with index semantics, but ret type is {func.ret_type!r}" - ) - if func.bool_semantics and func.ret_type not in (LSLType.INTEGER, LSLType.LIST): - raise ValueError( - f"{func.name} has ret with bool semantics, but ret type is {func.ret_type!r}" - ) - if func.asset_semantics and func.ret_type not in (LSLType.STRING, LSLType.LIST): - raise ValueError( - f"{func.name} has ret with asset semantics, but ret type is {func.ret_type!r}" + try: + self._validate_identifier(func_name) + func = LSLFunction( + name=func_name, + tooltip=func_data.get("tooltip", ""), + categories=func_data["categories"], + # These do actually need to be floats. + energy=float(func_data["energy"] or "0.0"), + sleep=float(func_data["sleep"] or "0.0"), + # 99.9% of the time this won't be specified, if it isn't, just use `sleep`'s value. + mono_sleep=float(func_data.get("mono-sleep", func_data.get("sleep")) or "0.0"), + ret_type=LSLType(func_data["return"]), + slua_type=func_data.get("slua-return", None), + type_arguments=func_data.get("type-arguments", []), + arguments=[ + self._handle_argument(arg) for arg in (func_data.get("arguments") or []) + ], + private=func_data.get("private", False), + god_mode=func_data.get("god-mode", False), + deprecated=Deprecated.from_definition(func_data.get("deprecated", False)), + slua_deprecated=Deprecated.from_definition(func_data.get("slua-deprecated", False)), + slua_removed=func_data.get("slua-removed", False), + func_id=func_data["func-id"], + pure=func_data.get("pure", False), + must_use=func_data.get("must-use", False), + native=func_data.get("native", False), + index_semantics=bool(func_data.get("index-semantics", False)), + bool_semantics=bool(func_data.get("bool-semantics", False)), + asset_semantics=bool(func_data.get("asset-semantics", False)), + detected_semantics=bool(func_data.get("detected-semantics", False)), + enum_semantics=None, + param_get_semantics=None, ) + if func.name in self._definitions.functions: + raise KeyError(f"{func.name} is already defined") - if func.bool_semantics and func.index_semantics: - raise ValueError(f"Can't have both bool and index semantics for {func.name}") - - self._validate_args(func) - - self._definitions.functions[func.name] = func - return func + if func.index_semantics and func.ret_type not in (LSLType.INTEGER, LSLType.LIST): + raise ValueError( + f"{func.name} has ret with index semantics, but ret type is {func.ret_type!r}" + ) + if func.bool_semantics and func.ret_type not in (LSLType.INTEGER, LSLType.LIST): + raise ValueError( + f"{func.name} has ret with bool semantics, but ret type is {func.ret_type!r}" + ) + if func.asset_semantics and func.ret_type not in (LSLType.STRING, LSLType.LIST): + raise ValueError( + f"{func.name} has ret with asset semantics, but ret type is {func.ret_type!r}" + ) + if func_data.get("enum-semantics"): + func.enum_semantics = self._resolve_enum(func_data["enum-semantics"]) + if func.ret_type != LSLType.INTEGER: + raise ValueError( + f"{func.name} has enum semantics, but ret type is {func.ret_type!r}" + ) + if func.enum_semantics.type not in { + LSLEnumType.ENUM, + LSLEnumType.FLAG, + LSLEnumType.ENUM_FLAG, + }: + raise ValueError( + f"{func.enum_semantics.name} has type {func.enum_semantics.type!r}, not enum or flag" + ) + if func_data.get("param-get-semantics"): + func.param_get_semantics = self._resolve_enum(func_data["param-get-semantics"]) + if func.ret_type != LSLType.LIST: + raise ValueError( + f"{func.name} has param semantics, but ret type is {func.ret_type!r}" + ) + if func.param_get_semantics.type not in { + LSLEnumType.PARAM_DICT, + LSLEnumType.PARAM_LIST, + }: + raise ValueError( + f"{func.param_get_semantics.name} has type {func.param_get_semantics.type!r}, not param" + ) + if sum(1 for arg in func.arguments if arg.param_get_semantics) != 1: + raise ValueError("Must have exactly one argument with param-get semantics") + + all_semantics = [ + func.bool_semantics, + func.index_semantics, + func.enum_semantics, + # func.param_get_semantics, # TODO: add once parameters can mark their own semantics + ] + if sum(bool(x) for x in all_semantics) > 1: + raise ValueError("Can't have multiple return semantics") + + self._validate_args(func) + + self._definitions.functions[func.name] = func + return func + except Exception as e: + raise ValueError(f"In function {func_name!r}: {e}") from e - @staticmethod - def _handle_argument(func_name: str, arg_dict: dict) -> LSLArgument: + def _handle_argument(self, arg_dict: dict) -> LSLArgument: if len(arg_dict) != 1: # Arguments are meant to be an array of single-element dicts to keep order. - raise ValueError(f"Expected {func_name}'s {arg_dict!r} to only have one element") + raise ValueError(f"Expected {arg_dict!r} to only have one element") arg_name, arg_data = list(arg_dict.items())[0] arg = LSLArgument( @@ -697,20 +778,55 @@ def _handle_argument(func_name: str, arg_dict: dict) -> LSLArgument: asset_semantics=bool(arg_data.get("asset-semantics", False)), bool_semantics=bool(arg_data.get("bool-semantics", False)), index_semantics=bool(arg_data.get("index-semantics", False)), + enum_semantics=None, + param_semantics=None, + param_get_semantics=None, tooltip=arg_data.get("tooltip", ""), ) if arg.asset_semantics and arg.type != LSLType.STRING: - raise ValueError( - f"{func_name}'s {arg_name} has asset semantics, but type is {arg.type!r}" - ) + raise ValueError(f"{arg_name} has asset semantics, but type is {arg.type!r}") if arg.bool_semantics and arg.type != LSLType.INTEGER: - raise ValueError( - f"{func_name}'s {arg_name} has bool semantics, but type is {arg.type!r}" - ) + raise ValueError(f"{arg_name} has bool semantics, but type is {arg.type!r}") if arg.index_semantics and arg.type != LSLType.INTEGER: - raise ValueError( - f"{func_name}'s {arg_name} has index semantics, but type is {arg.type!r}" - ) + raise ValueError(f"{arg_name} has index semantics, but type is {arg.type!r}") + if arg_data.get("enum-semantics"): + arg.enum_semantics = self._resolve_enum(arg_data["enum-semantics"]) + if arg.type != LSLType.INTEGER: + raise ValueError(f"{arg_name} has enum semantics, but type is {arg.type!r}") + if arg.enum_semantics.type not in { + LSLEnumType.ENUM, + LSLEnumType.FLAG, + LSLEnumType.ENUM_FLAG, + }: + raise ValueError( + f"{arg.enum_semantics.name} has type {arg.enum_semantics.type!r}, not enum or flag" + ) + if arg_data.get("param-semantics"): + arg.param_semantics = self._resolve_enum(arg_data["param-semantics"]) + if arg.type != LSLType.LIST: + raise ValueError(f"{arg_name} has param semantics, but type is {arg.type!r}") + if arg.param_semantics.type not in {LSLEnumType.PARAM_DICT, LSLEnumType.PARAM_LIST}: + raise ValueError( + f"{arg.param_semantics.name} has type {arg.param_semantics.type!r}, not param" + ) + if arg_data.get("param-get-semantics"): + arg.param_get_semantics = self._resolve_enum(arg_data["param-get-semantics"]) + if arg.type != LSLType.LIST: + raise ValueError(f"{arg_name} has param-get semantics, but type is {arg.type!r}") + if arg.param_get_semantics.type not in {LSLEnumType.PARAM_DICT, LSLEnumType.PARAM_LIST}: + raise ValueError( + f"{arg.param_get_semantics.name} has type {arg.param_get_semantics.type!r}, not param" + ) + all_semantics = [ + arg.asset_semantics, + arg.bool_semantics, + arg.index_semantics, + arg.enum_semantics, + arg.param_semantics, + arg.param_get_semantics, + ] + if sum(bool(x) for x in all_semantics) > 1: + raise ValueError(f"{arg_name} cannot have multiple semantics") return arg def _validate_args(self, obj: LSLEvent | LSLFunction) -> None: @@ -803,9 +919,7 @@ def _handle_constant(self, const_name: str, const_data: dict) -> LSLConstant: def _add_enum_member(self, enum_name: str, const: LSLConstant) -> LSLEnumMember: if const.type != LSLType.INTEGER: raise ValueError("Only integer constants can be enum members") - enum: LSLEnum = self._definitions.enums.get(enum_name, None) - if enum is None: - raise ValueError(f"Unknown enum {enum_name!r}") + enum: LSLEnum = self._resolve_enum(enum_name) const.member_of.append(enum) member = LSLEnumMember( name=const.name[len(enum.prefix) :]