diff --git a/indra/lscript/lscript_library/lscript_library.cpp b/indra/lscript/lscript_library/lscript_library.cpp
index 7ffe53a307..9f699a5d73 100644
--- a/indra/lscript/lscript_library/lscript_library.cpp
+++ b/indra/lscript/lscript_library/lscript_library.cpp
@@ -469,6 +469,47 @@ void LLScriptLibrary::init()
// IF YOU ADD NEW SCRIPT CALLS, YOU MUST PUT THEM AT THE END OF THIS LIST.
// Otherwise the bytecode numbers for each call will be wrong, and all
// existing scripts will crash.
+
+ // According to Kelly Linden we don't need to obey the function ID order in the viewer!
+ // Server v11.08.10.238207 new functions:
+ addFunction(10.f, 0.f, dummy_func, "llSetMemoryLimit", "i", "i");
+ addFunction(10.f, 0.f, dummy_func, "llGetMemoryLimit", "i", NULL);
+ addFunction(10.f, 0.f, dummy_func, "llSetLinkMedia", "i", "iil");
+ addFunction(10.f, 0.f, dummy_func, "llGetLinkMedia", "l", "iil");
+ addFunction(10.f, 0.f, dummy_func, "llClearLinkMedia", "i", "ii");
+ addFunction(10.f, 0.f, dummy_func, "llSetLinkCamera", NULL, "ivv");
+ addFunction(10.f, 0.f, dummy_func, "llSetContentType", NULL, "ki");
+ addFunction(10.f, 0.f, dummy_func, "llLinkSitTarget", NULL, "ivq");
+ addFunction(10.f, 0.f, dummy_func, "llAvatarOnLinkSitTarget", "k", "i");
+ addFunction(10.f, 0.f, dummy_func, "llSetVelocity", NULL, "vi");
+
+ // Server v11.09.09.240509 new functions:
+ addFunction(10.f, 0.f, dummy_func, "llCastRay", "l", "vvl");
+ addFunction(10.f, 0.f, dummy_func, "llGetMassMKS", "f", NULL);
+ addFunction(10.f, 0.f, dummy_func, "llSetPhysicsMaterial", NULL, "iffff");
+ addFunction(10.f, 0.f, dummy_func, "llGetPhysicsMaterial", "l", NULL);
+
+ // Server v11.10.18.243270 new functions:
+ addFunction(10.f, 0.f, dummy_func, "llManageEstateAccess", "i", "ik");
+
+ // Server RC magnum v11.10.31.244254 new function:
+ addFunction(10.f, 0.f, dummy_func, "llSetKeyframedMotion", NULL, "ll");
+
+ // Server RC Le Tigre v11.10.30.245889 new function:
+ addFunction(10.f, 0.f, dummy_func, "llTransferLindenDollars", "k", "ki");
+
+ // Server new function 2011-12-13:
+ addFunction(10.f, 0.f, dummy_func, "llGetParcelMusicURL", "s", NULL);
+
+ // Missing script functions as of 2011-12-13
+ addFunction(10.f, 0.f, dummy_func, "llScriptProfiler", NULL, "i");
+ addFunction(10.f, 0.f, dummy_func, "llGetSPMaxMemory", "i", NULL);
+ addFunction(10.f, 0.f, dummy_func, "llGetUsedMemory", "i", NULL);
+ addFunction(10.f, 0.f, dummy_func, "llSetAngularVelocity", NULL, "vi");
+
+ // Server 12.01.24.248357 new functions
+ addFunction(0.f, 0.f, dummy_func, "llSetRegionPos", "i", "v");
+ // According to Kelly Linden we don't need to obey the function ID order in the viewer!
}
LLScriptLibraryFunction::LLScriptLibraryFunction(F32 eu, F32 st, void (*exec_func)(LLScriptLibData *, LLScriptLibData *, const LLUUID &), const char *name, const char *ret_type, const char *args, BOOL god_only)
diff --git a/indra/newview/app_settings/keywords.ini b/indra/newview/app_settings/keywords.ini
index 503b714389..bc87523a61 100644
--- a/indra/newview/app_settings/keywords.ini
+++ b/indra/newview/app_settings/keywords.ini
@@ -52,6 +52,9 @@ remote_data remote_data(integer event_type, key channel, key message_id, str
http_response http_response(key request_id, integer status, list metadata, string body):Triggered when task receives a response to one of its llHTTPRequests
http_request http_request(key id, string method, string body):Triggered when task receives an http request against a public URL
+# Added manually
+transaction_result transaction_result(key id, integer success, string data): Triggered when L$ is given to task
+
# integer constants
[word .1, .1, .5]
TRUE Integer constant for Boolean operations
@@ -589,6 +592,64 @@ STATUS_NOT_SUPPORTED Feature not supported
STATUS_INTERNAL_ERROR An internal error occurred
STATUS_WHITELIST_FAILED URL failed to pass whitelist
+# Manually added constants
+KFM_COMMAND Option for llSetKeyframedMotion(), followed by one of KFM_CMD_STOP, KFM_CMD_PLAY, KFM_CMD_PAUSE. Note that KFM_COMMAND must be the only option in the list, and cannot be specified in the same function call that sets the keyframes list.
+KFM_MODE Option for llSetKeyframedMotion(), used to specify the playback mode, followed by one of KFM_FORWARD, KFM_LOOP, KFM_PING_PONG or KFM_REVERSE.
+KFM_DATA Option for llSetKeyframedMotion(), followed by a bitwise combination of KFM_TRANSLATION and KFM_ROTATION. If you specify one or the other, you should only include translations or rotations in your keyframe list.
+KFM_FORWARD Option for llSetKeyframedMotion(), used after KFM_MODE to specify the forward playback mode.
+KFM_LOOP Option for llSetKeyframedMotion(), used after KFM_MODE to specify the loop playback mode.
+KFM_PING_PONG Option for llSetKeyframedMotion(), used after KFM_MODE to specify the ping pong playback mode.
+KFM_REVERSE Option for llSetKeyframedMotion(), used after KFM_MODE to specify the reverse playback mode.
+KFM_ROTATION Option for llSetKeyframedMotion(), used after KFM_DATA, possibly as a bitwise combination with KFM_TRANSLATION.
+KFM_TRANSLATION Option for llSetKeyframedMotion(), used after KFM_DATA, possibly as a bitwise combination with KFM_ROTATION.
+KFM_CMD_PLAY Option for llSetKeyframedMotion(), used after KFM_COMMAND to play the motion.
+KFM_CMD_STOP Option for llSetKeyframedMotion(), used after KFM_COMMAND to stop the motion.
+KFM_CMD_PAUSE Option for llSetKeyframedMotion(), used after KFM_COMMAND to pause the motion.
+
+ESTATE_ACCESS_ALLOWED_AGENT_ADD Used with llManageEstateAccess to add an agent to this estate's allowed residents list.
+ESTATE_ACCESS_ALLOWED_AGENT_REMOVE Used with llManageEstateAccess to remove an agent from this estate's allowed residents list.
+ESTATE_ACCESS_ALLOWED_GROUP_ADD Used with llManageEstateAccess to add a group to this estate's allowed groups list.
+ESTATE_ACCESS_ALLOWED_GROUP_REMOVE Used with llManageEstateAccess to remove a group from this estate's allowed groups list.
+ESTATE_ACCESS_BANNED_AGENT_ADD Used with llManageEstateAccess to add an agent to this estate's banned residents list.
+ESTATE_ACCESS_BANNED_AGENT_REMOVE Used with llManageEstateAccess to remove an agent from this estate's banned residents list.
+
+OBJECT_PHYSICS_COST Used with llGetObjectDetails to get the physics cost.
+OBJECT_PRIM_EQUIVALENCE Used with llGetObjectDetails to get the prim equivalence.
+OBJECT_SERVER_COST Used with llGetObjectDetails to get the server cost.
+OBJECT_STREAMING_COST Used with llGetObjectDetails to get the streaming (download) cost.
+
+PRIM_PHYSICS_SHAPE_TYPE For primitive physics shape type. Followed with either PRIM_PHYSICS_SHAPE_PRIM, PRIM_PHYSICS_SHAPE_NONE or PRIM_PHYSICS_SHAPE_CONVEX.
+PRIM_PHYSICS_SHAPE_PRIM Use the normal prim shape for physics (this is the default for all non-mesh objects)
+PRIM_PHYSICS_SHAPE_NONE Use the convex hull of the prim shape for physics (this is the default for mesh objects)
+PRIM_PHYSICS_SHAPE_CONVEX Ignore this prim in the physics shape. This cannot be applied to the root prim.
+
+DENSITY For use with llSetPhysicsMaterial() as a bitwise value in its material_bits parameter, to set the density.
+FRICTION For use with llSetPhysicsMaterial() as a bitwise value in its material_bits parameter, to set the friction.
+RESTITUTION For use with llSetPhysicsMaterial() as a bitwise value in its material_bits parameter, to set the restitution.
+GRAVITY_MULTIPLIER For use with llSetPhysicsMaterial() as a bitwise value in its material_bits parameter, to set the gravity multiplier.
+
+PROFILE_SCRIPT_NONE Disables memory profiling when passed to llScriptProfiler()
+PROFILE_SCRIPT_MEMORY Enables memory profiling when passed to llScriptProfiler()
+
+RCERR_UNKNOWN Returned by llCastRay() when the raycast failed for an unspecified reason.
+RCERR_SIM_PERF_LOW Returned by llCastRay() when the raycast failed because simulator performance is low.
+RCERR_CAST_TIME_EXCEEDED Returned by llCastRay() when the raycast failed because the parcel or agent has exceeded the maximum time allowed for raycasting.
+
+RC_REJECT_TYPES Option for llCastRay() used to ignore specific types of objects, followed with a bitwise combination of RC_REJECT_AGENTS, RC_REJECT_PHYSICAL, RC_REJECT_NONPHYSICAL and RC_REJECT_LAND.
+RC_DETECT_PHANTOM Option for llCastRay() followed with TRUE to detect phantom AND volume detect objects, FASLE otherwise.
+RC_DATA_FLAGS Option for llCastRay() followed with a bitwise combination of RC_GET_NORMAL, RC_GET_ROOT_KEY and RC_GET_LINK_NUM.
+RC_MAX_HITS Option for llCastRay() followed with an integer specifying the maximum number of hits to return (must be <= 256).
+
+RC_REJECT_AGENTS Flag used in the RC_REJECT_TYPES mask to reject agents in llCastRay().
+RC_REJECT_PHYSICAL Flag used in the RC_REJECT_TYPES mask to reject physical objects in llCastRay().
+RC_REJECT_NONPHYSICAL Flag used in the RC_REJECT_TYPES mask to reject non-physical objects in llCastRay().
+RC_REJECT_LAND Flag used in the RC_REJECT_TYPES mask to reject land in llCastRay().
+
+RC_GET_NORMAL Flag used in the RC_DATA_FLAGS mask to get hit normals in llCastRay() results.
+RC_GET_ROOT_KEY Flag used in the RC_DATA_FLAGS mask to get root keys in llCastRay() results.
+RC_GET_LINK_NUM Flag used in the RC_DATA_FLAGS mask to get link numbers in llCastRay() results.
+# Manually added constants
+
# string constants
[word .1, .3, .5]
NULL_KEY Indicates an empty key
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index 99ef561797..495ca6a125 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -1947,6 +1947,135 @@ llGetEnv(string name)
Returns a string with the requested data about the region
+
+
+integer llSetMemoryLimit(integer limit)
+Request limit bytes to be reserved for this script.
+Returns a success/failure flag (STATUS_OK when sucessful, another of the STATUS_* flags on failure) for whether the memory limit was set.
+Only relevant for Mono-compiled scripts.
+
+
+integer llGetUsedMemory()
+Get the maximum memory a script can use.
+Returns the integer amount of memory the script can use in bytes.
+
+
+integer llSetLinkMedia(integer link, integer face, list params)
+Set the media params for a particular face on the 'link'ed prim without a delay.
+Returns an integer that is flag (STATUS_OK when sucessful, another of the STATUS_* flags on failure) which details the success/failure of the operation(s).
+Takes the same parameters as llSetPrimMediaParams()
+
+
+list llGetLinkMedia(integer link, integer face, list params)
+Get the media params for a particular face on a 'link'ed prim(s), given the desired list of named params.
+Returns a list of values in the order requested (empty list if no media exists on the face).
+Takes the same parameters as llGetPrimMediaParams()
+
+
+integer llClearLinkMedia(integer link, integer face)
+Clears (deletes) the media and all params from the given face on the linked prim(s).
+Returns an integer that is flag (STATUS_OK when sucessful, another of the STATUS_* flags on failure) which details the success/failure of the operation(s).
+
+
+llSetLinkCamera(integer link, vector eye, vector at)
+Sets the camera eye offset, and the offset that camera is looking at, for avatars that sit on the linked prim.
+The two vector parameters are offsets relative to the object's center and expressed in local coordinates.
+
+
+llSetContentType(key request_id, integer content_type)
+Set the Internet media type of an LSL HTTP server response.
+content_type may be one of CONTENT_TYPE_TEXT (default) "text/plain", or CONTENT_TYPE_HTML "text/html", only valid for embedded browsers on content owned by the person viewing. Falls back to "text/plain" otherwise.
+
+
+llLinkSitTarget(integer link, vector offset, rotation rot)
+Set the sit location for the 'link'ed prim(s). The sit location is relative to the prim's position and rotation.
+Equivalent to calling llSitTarget on link prim(s) in the link set.
+
+
+key llAvatarOnLinkSitTarget(integer link)
+Returns a key that is the UUID of the user seated on the 'link'ed prim.
+Equivalent to calling llAvatarOnSitTarget on link prim in the link set.
+
+
+llSetVelocity(vector force, integer local)
+Applies velocity with 'force' to object and 'local' a boolean (if TRUE, force is treated as a local directional vector instead of region directional vector).
+
+
+llSetAngularVelocity(vector force, integer local)
+Applies rotational velocity with 'force' to object and 'local' a boolean (if TRUE uses local axis, if FALSE uses region axis).
+
+
+list llCastRay(vector start, vector end, list options)
+Cast a ray from start to end and report collision data for intersections with objects.
+
+
+float llGetMassMKS()
+Returns a float that is the mass in kilograms of the object the script is attached to.
+
+
+llSetPhysicsMaterial(integer material_bits, float gravity_multiplier, float restitution, float friction, float density)
+Sets the physics properties of the object the script is attached to.
+material_bits is a bitwise combination of DENSITY, FRICTION, RESTITUTION and GRAVITY_MULTIPLIER, specifying which floats to actually apply.
+
+
+list llGetPhysicsMaterial()
+Returns a list of the object physics properties: [ float gravity_multiplier, float restitution, float friction, float density ]
+
+
+integer llManageEstateAccess(integer action, key id)
+To add or remove agents from the estate's agent access or ban lists or groups from the estate's group access list.
+Only works for objects owned by the Estate Owner or an Estate Manager.
+Returns TRUE if successful and FALSE if throttled, on invalid action, on invalid or null id, or if object owner is not allowed to manage the estate.
+'action' can be any of: ESTATE_ACCESS_ALLOWED_[AGENT/GROUP]_[ADD/REMOVE] or ESTATE_ACCESS_BANNED_AGENT_[ADD/REMOVE]
+
+
+llSetKeyframedMotion(list keyframes, list options)
+Specify a list of times, positions, and orientations to be followed by an object.
+The object will be smoothly moved between keyframes by the simulator.
+list keyframes: strided keyframe list of the form:
+- vector position (optional via KFM_TRANSLATION and KFM_DATA)
+- rotation orientation (optional via KFM_ROTATION and KFM_DATA)
+- float time
+list options: modifiers among:
+- KFM_COMMAND followed by one of KFM_CMD_PLAY, KFM_CMD_STOP, KFM_CMD_PAUSE.
+- KFM_MODE followed by one of KFM_FORWARD, KFM_LOOP, KFM_PING_PONG, KFM_REVERSE.
+- KFM_DATA followed by KFM_ROTATION or KFM_TRANSLATION.
+Note that if KFM_COMMAND is provided in the options list, it must be the only option in the list, and cannot be specified in the same function call that sets the keyframes list.
+
+
+key llTransferLindenDollars(key id, integer amount)
+Attempt to transfer amount of L$ from the owner of the object to 'id'. Requires PERMISSION_DEBIT.
+Returns a key used in a matching transaction_result() event for the success or failure of the transfer.
+
+
+string llGetParcelMusicURL()
+Returns the music URL of the object's current parcel if the script owner also owns the parcel.
+
+
+llScriptProfiler(integer flags)
+Enables or disables the scripts profiling state.
+Flags can be either of PROFILE_SCRIPT_NONE or PROFILE_SCRIPT_MEMORY.
+Applies to Mono-compiled scripts only.
+
+
+integer llGetSPMaxMemory()
+Returns the integer of the most bytes used while llScriptProfiler() was last active.
+Only relevant for Mono-compiled scripts.
+
+
+integer llGetUsedMemory()
+Returns the integer of the number of bytes of memory currently in use by the script.
+Only relevant for Mono-compiled scripts.
+
+
+llSetAngularVelocity(vector force, integer local)
+Applies rotational velocity to object.
+
+
+integer llSetRegionPos(vector position)
+Tries to moves the entire object so that the root prim is within 0.1m of position.
+
+
Not Away