diff --git a/indra/lscript/lscript_library/lscript_library.cpp b/indra/lscript/lscript_library/lscript_library.cpp
index 919fb758c..117c9d1ed 100644
--- a/indra/lscript/lscript_library/lscript_library.cpp
+++ b/indra/lscript/lscript_library/lscript_library.cpp
@@ -487,10 +487,34 @@ void LLScriptLibrary::init()
addFunction(10.f, 0.f, dummy_func, "llSetContentType", NULL, "ki");
addFunction(10.f, 0.f, dummy_func, "llLinkSitTarget", NULL, "ivr");
addFunction(10.f, 0.f, dummy_func, "llAvatarOnLinkSitTarget", "k", "i");
- /* No info on these new functions yet....
- * addFunction(10.f, 0.f, dummy_func, "llSetVelocity", "", "");
- * addFunction(10.f, 0.f, dummy_func, "llSetRotationalVelocity", "", "");
- */
+ addFunction(10.f, 0.f, dummy_func, "llGetMassMKS", "f", NULL);
+ addFunction(10.f, 0.f, dummy_func, "llGetMemoryLimit", "i", NULL);
+ addFunction(10.f, 0.f, dummy_func, "llGetParcelMusicURL", "s", NULL);
+ addFunction(10.f, 0.f, dummy_func, "llGetPhysicsMaterial", "l", NULL);
+ addFunction(10.f, 0.f, dummy_func, "llManageEstateAccess", "i", "ik");
+ addFunction(10.f, 0.f, dummy_func, "llSetAngularVelocity", NULL, "vi");
+ addFunction(10.f, 0.f, dummy_func, "llSetKeyframedMotion", NULL, "ll");
+ addFunction(10.f, 0.f, dummy_func, "llSetPhysicsMaterial", NULL, "iffff");
+ addFunction(10.f, 0.f, dummy_func, "llSetRegionPos", "i", "v");
+ addFunction(10.f, 0.f, dummy_func, "llSetVelocity", NULL, "vi");
+ addFunction(10.f, 0.f, dummy_func, "llTransferLindenDollars", "k", "ki");
+
+
+ //Pathfinder functions. Current state: alpha, thus subject to change.
+ //This and the preceding line are to be removed in future revisions of this file.
+ addFunction(10.f, 0.f, dummy_func, "llCreateCharacter", NULL, "l");
+ addFunction(10.f, 0.f, dummy_func, "llDeleteCharacter", NULL, NULL);
+ addFunction(10.f, 0.f, dummy_func, "llEvade", NULL, "kl");
+ addFunction(10.f, 0.f, dummy_func, "llExecCharacterCmd", NULL, "il");
+ addFunction(10.f, 0.f, dummy_func, "llGetClosestNavPoint", "l", "vl");
+ addFunction(10.f, 0.f, dummy_func, "llFleeFrom", NULL, "vfl");
+ addFunction(10.f, 0.f, dummy_func, "llNavigateTo", NULL, "vl");
+ addFunction(10.f, 0.f, dummy_func, "llPatrolPoints", NULL, "ll");
+ addFunction(10.f, 0.f, dummy_func, "llPursue", NULL, "kl");
+ addFunction(10.f, 0.f, dummy_func, "llUpdateCharacter", NULL, "l");
+ addFunction(10.f, 0.f, dummy_func, "llWanderWithin", NULL, "vfl");
+
+
// REGARDING OSSL FUNCTIONS
// These additions should be posted underneath the llFunctions
@@ -624,6 +648,16 @@ void LLScriptLibrary::init()
addFunction(10.f, 0.f, dummy_func, "osNpcGetPos", "v", "k");
addFunction(10.f, 0.f, dummy_func, "osNpcStopMoveToTarget", NULL, "k");
+ addFunction(10.f, 0.f, dummy_func, "osIsNpc", "i", "k");
+ addFunction(10.f, 0.f, dummy_func, "osNpcGetOwner", "k", "k");
+ addFunction(10.f, 0.f, dummy_func, "osGetGridCustom", "s", "s");
+ addFunction(10.f, 0.f, dummy_func, "osGetGridHomeURI", "s", NULL);
+ addFunction(10.f, 0.f, dummy_func, "osNpcPlayAnimation", NULL, "ks");
+ addFunction(10.f, 0.f, dummy_func, "osNpcSit", NULL, "kki");
+ addFunction(10.f, 0.f, dummy_func, "osNpcStand", NULL, "k");
+ addFunction(10.f, 0.f, dummy_func, "osNpcStopAnimation", NULL, "ks");
+ addFunction(10.f, 0.f, dummy_func, "osSetRot", NULL, "kq");
+
}
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 455dc9e88..7b38b2a34 100644
--- a/indra/newview/app_settings/keywords.ini
+++ b/indra/newview/app_settings/keywords.ini
@@ -51,6 +51,8 @@ changed changed( integer change ):Triggered various event change the task:(tes
remote_data remote_data(integer event_type, key channel, key message_id, string sender,integer idata, string sdata):Triggered by various XML-RPC calls (event_type will be one of REMOTE_DATA_CHANNEL, REMOTE_DATA_REQUEST, REMOTE_DATA_REPLY)
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
+transaction_result transaction_result(key id, integer success, string data):Triggered when task receives asynchronous data.
+path_update path_update(integer type, list reserved):Triggered when the state of a pathfinder character changes. Note; "list reserved" is not currently used
# integer constants
[word .1, .1, .5]
@@ -605,6 +607,121 @@ WL_CLOUD_SCROLL_Y_LOCK Windlight Cloud Scroll Y Lock
WL_CLOUD_SCROLL_X_LOCK Windlight Cloud Scroll X Lock
WL_DRAW_CLASSIC_CLOUDS Windlight Draw Classic Clouds
+# OSSL constants
+STATS_TIME_DILATION
+STATS_SIM_FPS
+STATS_PHYSICS_FPS
+STATS_AGENT_UPDATES
+STATS_ROOT_AGENTS
+STATS_CHILD_AGENTS
+STATS_TOTAL_PRIMS
+STATS_ACTIVE_PRIMS
+STATS_FRAME_MS
+STATS_NET_MS
+STATS_PHYSICS_MS
+STATS_IMAGE_MS
+STATS_OTHER_MS
+STATS_IN_PACKETS_PER_SECOND
+STATS_OUT_PACKETS_PER_SECOND
+STATS_UNACKED_BYTES
+STATS_AGENT_MS
+STATS_PENDING_DOWNLOADS
+STATS_PENDING_UPLOADS
+STATS_ACTIVE_SCRIPTS
+STATS_SCRIPT_LPS
+
+## Constants for osNpc* functions
+NPC
+OS_NPC_CREATOR_OWNED
+OS_NPC_NOT_OWNED
+OS_NPC_SENSE_AS_AGENT
+OS_NPC_FLY
+OS_NPC_NO_FLY
+OS_NPC_LAND_AT_TARGET
+OS_NPC_SIT_NOW
+
+## Missing LSL constants (from http://wiki.secondlife.com/wiki/Category:LSL_Constants)
+## Adding now, sorting later
+ATTACH_HUD_BOTTOM
+ATTACH_HUD_BOTTOM_LEFT
+ATTACH_HUD_BOTTOM_RIGHT
+ATTACH_HUD_CENTER_1
+ATTACH_HUD_CENTER_2
+ATTACH_HUD_TOP_CENTER
+ATTACH_HUD_TOP_LEFT
+ATTACH_HUD_TOP_RIGHT
+ATTACH_LEFT_PEC
+ATTACH_RIGHT_PEC
+HTTP_VERBOSE_THROTTLE
+OBJECT_PRIM_EQUIVALENCE
+PARCEL_MEDIA_COMMAND_LOOP_SET
+PRIM_LINK_TARGET
+PRIM_OMEGA
+PRIM_PHYSICS_MATERIAL
+PRIM_PHYSICS_SHAPE_TYPE
+PRIM_POS_LOCAL
+PRIM_ROT_LOCAL
+PROFILE_NONE
+PROFILE_SCRIPT_MEMORY
+RCERR_CAST_TIME_EXCEEDED
+RCERR_SIM_PERF_LOW
+RCERR_UNKNOWN
+RC_DATA_FLAGS
+RC_DETECT_PHANTOM
+RC_GET_LINK_NUM
+RC_GET_NORMAL
+RC_GET_ROOT_KEY
+RC_MAX_HITS
+RC_REJECT_AGENTS
+RC_REJECT_LAND
+RC_REJECT_NONPHYSICAL
+RC_REJECT_PHYSICAL
+RC_REJECT_TYPES
+STATUS_BLOCK_GRAB_OBJECT
+
+#Even more missing constants, thanks to Justin Clark Casey for pointing me into the right direction
+
+CAMERA_FOCUS_OFFSET_X
+CAMERA_FOCUS_OFFSET_Y
+CAMERA_FOCUS_OFFSET_Z
+CAMERA_FOCUS_X
+CAMERA_FOCUS_Y
+CAMERA_FOCUS_Z
+CAMERA_POSITION_X
+CAMERA_POSITION_Y
+CAMERA_POSITION_Z
+CHANGED_ANIMATION
+CHANGED_REGION_RESTART
+DATA_SIM_RELEASE
+ESTATE_ACCESS_ALLOWED_AGENT_ADD
+ESTATE_ACCESS_ALLOWED_AGENT_REMOVE
+ESTATE_ACCESS_ALLOWED_GROUP_ADD
+ESTATE_ACCESS_ALLOWED_GROUP_REMOVE
+ESTATE_ACCESS_BANNED_AGENT_ADD
+ESTATE_ACCESS_BANNED_AGENT_REMOVE
+LIST_STAT_HARMONIC_MEAN
+PARCEL_DETAILS_CLAIMDATE
+PERMISSION_CHANGE_JOINTS
+PERMISSION_CHANGE_PERMISSIONS
+PERMISSION_RELEASE_OWNERSHIP
+PERMISSION_REMAP_CONTROLS
+VEHICLE_FLAG_LOCK_HOVER_HEIGHT
+VEHICLE_FLAG_LOCK_ROTATION
+VEHICLE_FLAG_NO_DEFLECTION
+VEHICLE_FLAG_NO_X
+VEHICLE_FLAG_NO_Y
+VEHICLE_FLAG_NO_Z
+VEHICLE_RANGE_BLOCK
+VEHICLE_ROLL_FRAME
+LSL_STATUS_BOUNDS_ERROR
+LSL_STATUS_INTERNAL_ERROR
+LSL_STATUS_MALFORMED_PARAMS
+LSL_STATUS_NOT_FOUND
+LSL_STATUS_NOT_SUPPORTED
+LSL_STATUS_OK
+LSL_STATUS_TYPE_MISMATCH
+LSL_STATUS_WHITELIST_FAILED
+
# string constants
[word .1, .3, .5]
NULL_KEY Indicates an empty key
diff --git a/indra/newview/skins/default/xui/en-us/strings.xml b/indra/newview/skins/default/xui/en-us/strings.xml
index d55f9e389..f9cded1b0 100644
--- a/indra/newview/skins/default/xui/en-us/strings.xml
+++ b/indra/newview/skins/default/xui/en-us/strings.xml
@@ -2524,4 +2524,144 @@ Sets value of param property for plugin module.
(OpenSim only.)
(Unnamed)
+
+float llGetMassMKS()
+Returns a float that is the mass (in
+Kilograms) of the object that the
+script is attached to.
+
+
+integer llGetMemoryLimit()
+Get the maximum memory a script can use.
+
+
+string llGetParcelMusicURL()
+Returns a string containing the parcel streaming audio URL.
+The object owner must also be the land owner.
+
+
+list llGetPhysicsMaterial()
+Used to get the physical characteristics of an object.
+Returns a list in the form [ float gravity_multiplier, float restitution, float friction, float density ]
+
+
+integer llManageEstateAccess(integer action, key avatar)
+Used to add or remove agents from the estate's agent access or ban lists or groups from the estate's group access list.
+
+
+llSetAngularVelocity(vector force, integer local)
+Applies rotational velocity to object.
+
+
+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.
+
+
+llSetPhysicsMaterial(integer material, float gravity,
+float restitution, float friction, float density)
+Used for setting the physical characteristics of an object.
+
+
+integer llSetRegionPos(vector position)
+Tries to move the entire object so that the root prim is within 0.1m of position
+
+
+llSetVelocity(vector force, integer local)
+Applies velocity to an object
+
+
+key llTransferLindenDollars(key destination, integer amount)
+Transfer amount of L$ money from script owner to destination avatar.
+
+
+
+
+llCreateCharacter(list options)
+Creates a pathfinding entity, known as a "character" from the object containing the script.
+
+
+llDeleteCharacter()
+Convert the current linkset back to a standard object, removing all pathfinding properties.
+
+
+llEvade(key target, list options)
+Characters will try to hide from their pursuers if there is a good hiding spot along their fleeing path.
+
+
+llExecCharacterCmd(integer command, list options)
+Send a command to the pathing system.
+
+
+list llGetClosestNavPoint(vector point, list options)
+Finds the closest navpoint and returns a list with a single vector if succesful. Returns empty list when no navpoints found.
+
+
+llFleeFrom(vector source, float distance, list options)
+Tells an object to keep away from a defined position in the region or adjacent regions.
+
+
+llNavigateTo(vector pos, list options)
+Tells an object to travel to a defined position in the region or adjacent regions.
+
+
+llPatrolPoints(list patrolPoints, list options)
+Sets the object patrolling between the points specified in patrolPoints.
+
+
+llPursue(key target, list options)
+Causes the object to pursue a target.
+
+
+llUpdateCharacter(list options)
+Updates settings for a character.
+
+
+llWanderWithin(vector origin, float dist, list options)
+Sets a character to wander about a central spot within a specified radius.
+
+
+integer osIsNpc(key npc)
+Returns TRUE if the given key is an NPC, false otherwise.
+(OpenSim only.)
+
+
+key osNpcGetOwner(key npc)
+Return the owner key of the given NPC. If the NPC is unowned or the input key does not belong to an NPC then it returns NULL_KEY.
+(OpenSim only.)
+
+
+string osGetGridCustom(string key)
+Reads configuration strings from the [GridInfo] setion in OpenSim.ini.
+(OpenSim only.)
+
+
+string osGetGridHomeURI()
+Returns the hypergrid URI of the grid where the user logged in.
+(OpenSim only.)
+
+
+osNpcPlayAnimation(key npc, string animation)
+Get an NPC to play an animation. The animation can either be a key or the name of an animation in the same object as the script.
+(OpenSim only.)
+
+
+osNpcSit(key npc, key target, integer options)
+Sit an NPC on a prim target. No options have been implemented yet, so always input 0.
+(OpenSim only.)
+
+
+osNpcStand(key npc)
+Make an NPC stand up.
+(OpenSim only.)
+
+
+osNpcStopAnimation(key npc, string animation)
+Get an NPC to stop playing an animation. The animation can either be a key or the name of an animation in the same inventory as the script.
+(OpenSim only.)
+
+
+osSetRot(key target, quaternion rotation)
+Rotates an object or avatar.
+(OpenSim only.)
+