From 47998993173ad9757e011c83aec1091d6c6892b9 Mon Sep 17 00:00:00 2001 From: Lirusaito Date: Thu, 26 Apr 2012 22:09:58 -0400 Subject: [PATCH] Fritigern's script updates, brought in! Also more stray spaces removed with care~ --- .../lscript_library/lscript_library.cpp | 42 +++++- indra/newview/app_settings/keywords.ini | 117 +++++++++++++++ .../skins/default/xui/en-us/strings.xml | 140 ++++++++++++++++++ 3 files changed, 295 insertions(+), 4 deletions(-) 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.) +