diff --git a/indra/llui/llkeywords.cpp b/indra/llui/llkeywords.cpp index b41263d97..547ff4088 100644 --- a/indra/llui/llkeywords.cpp +++ b/indra/llui/llkeywords.cpp @@ -42,12 +42,38 @@ const U32 KEYWORD_FILE_CURRENT_VERSION = 2; -inline BOOL LLKeywordToken::isHead(const llwchar* s) const +inline BOOL LLKeywordToken::isHead(const llwchar* s, bool search_end_c_comment) const { // strncmp is much faster than string compare - BOOL res = TRUE; const llwchar* t = mToken.c_str(); S32 len = mToken.size(); + if (search_end_c_comment && len == 2 && t[0] == '/' && t[1] == '*') + { + // Special case for C-like */ end comment token + if (s[0] == '*' && s[1] == '/') + { + return TRUE; + } + else + { + return FALSE; + } + } + for (S32 i = 0; i < len; i++) + { + if (s[i] != t[i]) + { + return FALSE; + } + } + return TRUE; +} + +inline BOOL LLKeywordToken::isTail(const llwchar* s) const +{ + BOOL res = TRUE; + const llwchar* t = mDelimiter.c_str(); + S32 len = mDelimiter.size(); for (S32 i=0; i* seg_list, const LLWS const llwchar* base = wtext.c_str(); const llwchar* cur = base; - const llwchar* line = NULL; + //const llwchar* line = NULL; while( *cur ) { @@ -265,7 +312,7 @@ void LLKeywords::findSegments(std::vector* seg_list, const LLWS } // Start of a new line - line = cur; + //line = cur; // Skip white space while( *cur && isspace(*cur) && (*cur != '\n') ) @@ -342,15 +389,15 @@ void LLKeywords::findSegments(std::vector* seg_list, const LLWS seg_start = cur - base; cur += cur_delimiter->getLength(); - if( cur_delimiter->getType() == LLKeywordToken::TWO_SIDED_DELIMITER ) + //if( cur_delimiter->getType() == LLKeywordToken::TWO_SIDED_DELIMITER ) + LLKeywordToken::TOKEN_TYPE type = cur_delimiter->getType(); + if( type == LLKeywordToken::TWO_SIDED_DELIMITER || type == LLKeywordToken::TWO_SIDED_DELIMITER_ESC ) { - LLWString str = cur_delimiter->getToken(); - std::reverse(str.begin(),str.end()); //Flip the delim around (/* changes to */) - LLKeywordToken reverse_delimiter(cur_delimiter->getType(),cur_delimiter->getColor(),str,cur_delimiter->getToolTip()); - while( *cur && !reverse_delimiter.isHead(cur)) + //llassert( cur_delimiter->getDelimiter() != NULL ); + while( *cur && !cur_delimiter->isTail(cur) ) { // Check for an escape sequence. - if (*cur == '\\') + if (type == LLKeywordToken::TWO_SIDED_DELIMITER_ESC && *cur == '\\') { // Count the number of backslashes. S32 num_backslashes = 0; @@ -361,7 +408,7 @@ void LLKeywords::findSegments(std::vector* seg_list, const LLWS cur++; } // Is the next character the end delimiter? - if (reverse_delimiter.isHead(cur)) + if (cur_delimiter->isTail(cur)) { // Is there was an odd number of backslashes, then this delimiter // does not end the sequence. @@ -387,7 +434,7 @@ void LLKeywords::findSegments(std::vector* seg_list, const LLWS if( *cur ) { cur += cur_delimiter->getLength(); - seg_end = seg_start + between_delimiters + 2 * cur_delimiter->getLength(); + seg_end = seg_start + between_delimiters + cur_delimiter->getLength() + cur_delimiter->getLength2(); } else { @@ -420,10 +467,10 @@ void LLKeywords::findSegments(std::vector* seg_list, const LLWS // check against words llwchar prev = cur > base ? *(cur-1) : 0; - if( !isalnum( prev ) && (prev != '_') ) + if( !isalnum( prev ) && (prev != '_') && (prev != '#')) { const llwchar* p = cur; - while( isalnum( *p ) || (*p == '_') ) + while( isalnum( *p ) || (*p == '_') || (*p == '#') ) { p++; } diff --git a/indra/llui/llkeywords.h b/indra/llui/llkeywords.h index 38f5e993c..5c55157ac 100644 --- a/indra/llui/llkeywords.h +++ b/indra/llui/llkeywords.h @@ -46,23 +46,27 @@ class LLTextSegment; class LLKeywordToken { public: - enum TOKEN_TYPE { WORD, LINE, TWO_SIDED_DELIMITER, ONE_SIDED_DELIMITER }; + enum TOKEN_TYPE { WORD, LINE, TWO_SIDED_DELIMITER, ONE_SIDED_DELIMITER, TWO_SIDED_DELIMITER_ESC }; - LLKeywordToken( TOKEN_TYPE type, const LLColor3& color, const LLWString& token, const LLWString& tool_tip ) + LLKeywordToken( TOKEN_TYPE type, const LLColor3& color, const LLWString& token, const LLWString& tool_tip, const LLWString& delimiter ) : mType( type ), mToken( token ), mColor( color ), - mToolTip( tool_tip ) + mToolTip( tool_tip ), + mDelimiter( delimiter ) // right delimiter { } S32 getLength() const { return mToken.size(); } - BOOL isHead(const llwchar* s) const; + S32 getLength2() const { return mDelimiter.size(); } + BOOL isHead(const llwchar* s, bool search_end_c_comment = false) const; + BOOL isTail(const llwchar* s) const; const LLWString& getToken() const { return mToken; } const LLColor3& getColor() const { return mColor; } TOKEN_TYPE getType() const { return mType; } const LLWString& getToolTip() const { return mToolTip; } + const LLWString& getDelimiter() const { return mDelimiter; } #ifdef _DEBUG void dump(); @@ -73,6 +77,7 @@ private: LLWString mToken; LLColor3 mColor; LLWString mToolTip; + LLWString mDelimiter; }; class LLKeywords @@ -90,7 +95,8 @@ public: void addToken(LLKeywordToken::TOKEN_TYPE type, const std::string& key, const LLColor3& color, - const std::string& tool_tip = LLStringUtil::null); + const std::string& tool_tip = LLStringUtil::null, + const std::string& delimiter = LLStringUtil::null); typedef std::map word_token_map_t; typedef word_token_map_t::const_iterator keyword_iterator_t; diff --git a/indra/newview/app_settings/keywords.ini b/indra/newview/app_settings/keywords.ini index 7b38b2a34..b264e08e3 100644 --- a/indra/newview/app_settings/keywords.ini +++ b/indra/newview/app_settings/keywords.ini @@ -10,10 +10,11 @@ state Keyword to indicate state block or state transition integer Integer type float Floating-point type string String type -key Key type. Use NULL_KEY to test for empty keys. +key Key type. Use NULL_KEY to test for empty keys vector Vector type of 3 floats. Used to represent 3D motion, Euler angles, and color.:Access components by .x, .y. or .z rotation Rotation type of 4 floats. Used to represent rotation.:Access components by .x, .y., .z, or .w list List of various data types +quaternion Rotation type of 4 floats. Used to represent rotation.:Access components by .x, .y, .z, or .w # events [word 0, .3, .5] @@ -28,7 +29,7 @@ collision_end collision_end(integer num_detected):Triggered when task stops coll land_collision_start land_collision_start(vector pos):Triggered when task starts colliding with land land_collision land_collision(vector pos):Triggered when task is colliding with land land_collision_end land_collision_end(vector pos):Triggered when task stops colliding with land -timer timer():Result of the llSetTimerEvent library function call. +timer timer():Result of the llSetTimerEvent library function call listen listen(integer channel, string name, key id, string message):Result of the llListen library function call sensor sensor(integer num_detected):Result of the llSensor library function call no_sensor no_sensor():Result of the llSensor library function call @@ -44,8 +45,8 @@ attach attach(key id):Triggered when task attaches or detaches from agent dataserver dataserver(key queryid, string data):Triggered when task receives asynchronous data moving_start moving_start():Triggered when task begins moving moving_end moving_end():Triggered when task stops moving -on_rez on_rez(integer start_param):Triggered when task is rezed in from inventory or another task -object_rez object_rez(key id):Triggered when task rezes in another task +on_rez on_rez(integer start_param):Triggered when task is rezzed in from inventory or another task +object_rez object_rez(key id):Triggered when task rezzes in another task link_message link_message(integer sender_num, integer num, string str, key id):Triggered when task receives a link message via LLMessageLinked library function call changed changed( integer change ):Triggered various event change the task:(test change with CHANGED_INVENTORY, CHANGED_COLOR, CHANGED_SHAPE, CHANGED_SCALE, CHANGED_TEXTURE, CHANGED_LINK, CHANGED_ALLOWED_DROP, CHANGED_OWNER, CHANGED_REGION, CHANGED_TELEPORT, CHANGED_REGION_START, CHANGED_MEDIA) 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) @@ -65,6 +66,7 @@ STATUS_ROTATE_Y Passed in the llSetStatus library function. If FALSE, object do STATUS_ROTATE_Z Passed in the llSetStatus library function. If FALSE, object doesn't rotate around local Z axis STATUS_SANDBOX Passed in the llSetStatus library function. If TRUE, object can't cross region boundaries or move more than 10 meters from its start location STATUS_BLOCK_GRAB Passed in the llSetStatus library function. If TRUE, object can't be grabbed and physically dragged +STATUS_BLOCK_GRAB_OBJECT This status flag keeps the object from being moved by grabs. This flag applies to the entire linkset STATUS_DIE_AT_EDGE Passed in the llSetStatus library function. If TRUE, objects that reach the edge of the world just die:rather than teleporting back to the owner STATUS_RETURN_AT_EDGE Passed in the llSetStatus library function. If TRUE, script rezzed objects that reach the edge of the world:are returned rather than killed:STATUS_RETURN_AT_EDGE trumps STATUS_DIE_AT_EDGE if both are set STATUS_CAST_SHADOWS Passed in the llSetStatus library function. If TRUE, object casts shadows on other objects @@ -95,6 +97,7 @@ PERMISSION_CHANGE_LINKS Passed to llRequestPermissions library function to req # PERMISSION_CHANGE_PERMISSIONS Passed to llRequestPermissions library function to request permission to change permissions PERMISSION_TRACK_CAMERA Passed to llRequestPermissions library function to request permission to track agent's camera PERMISSION_CONTROL_CAMERA Passed to llRequestPermissions library function to request permission to change agent's camera +PERMISSION_TELEPORT Passed to llRequestPermissions library function to request permission to teleport agent DEBUG_CHANNEL Chat channel reserved for debug and error messages from scripts PUBLIC_CHANNEL Chat channel that broadcasts to all nearby users @@ -114,6 +117,10 @@ AGENT_BUSY Returned by llGetAgentInfo if the Agent is busy AGENT_ALWAYS_RUN Returned by llGetAgentInfo if the Agent has 'Always Run' enabled AGENT_AUTOPILOT Returned by llGetAgentInfo if the Agent is under autopilot control +AGENT_LIST_PARCEL Passed to llGetAgentList to return only agents on the same parcel where the script is running +AGENT_LIST_PARCEL_OWNER Passed to llGetAgentList to return only agents on any parcel in the region where the parcel owner is the same as the owner of the parcel under the scripted object +AGENT_LIST_REGION Passed to llGetAgentList to return any/all agents in the region + PSYS_PART_FLAGS PSYS_PART_START_COLOR PSYS_PART_START_ALPHA @@ -155,27 +162,31 @@ PSYS_SRC_PATTERN_ANGLE PSYS_SRC_PATTERN_ANGLE_CONE PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY -OBJECT_UNKNOWN_DETAIL Returned by llGetObjectDetails when passed an invalid object parameter type. -OBJECT_NAME Used with llGetObjectDetails to get an object's name. -OBJECT_DESC Used with llGetObjectDetails to get an object's description. -OBJECT_POS Used with llGetObjectDetails to get an object's position. -OBJECT_ROT Used with llGetObjectDetails to get an object's rotation. -OBJECT_VELOCITY Used with llGetObjectDetails to get an object's velocity. -OBJECT_OWNER Used with llGetObjectDetails to get an object's owner's key. Will be NULL_KEY if group owned. -OBJECT_GROUP Used with llGetObjectDetails to get an object's group's key. -OBJECT_CREATOR Used with llGetObjectDetails to get an object's creator's key. +OBJECT_UNKNOWN_DETAIL Returned by llGetObjectDetails when passed an invalid object parameter type +OBJECT_NAME Used with llGetObjectDetails to get an object's name +OBJECT_DESC Used with llGetObjectDetails to get an object's description +OBJECT_POS Used with llGetObjectDetails to get an object's position +OBJECT_ROT Used with llGetObjectDetails to get an object's rotation +OBJECT_VELOCITY Used with llGetObjectDetails to get an object's velocity +OBJECT_OWNER Used with llGetObjectDetails to get an object's owner's key. Will be NULL_KEY if group owned +OBJECT_GROUP Used with llGetObjectDetails to get an object's group's key +OBJECT_CREATOR Used with llGetObjectDetails to get an object's creator's key OBJECT_RUNNING_SCRIPT_COUNT Used with llGetObjectDetails to get an object's velocity. OBJECT_TOTAL_SCRIPT_COUNT Used with llGetObjectDetails to get an object's owner's key. Will be NULL_KEY if group owned. OBJECT_SCRIPT_MEMORY Used with llGetObjectDetails to get an object's group's key. OBJECT_SCRIPT_TIME Used with llGetObjectDetails to get an object's creator's key. +OBJECT_PRIM_EQUIVALENCE Gets the prim equivalence of the object. +OBJECT_SERVER_COST Used with llGetObjectDetails to get the server cost. +OBJECT_STREAMING_COST Used with llGetObjectDetails to get the streaming (download) cost. +OBJECT_PHYSICS_COST Used with llGetObjectDetails to get the physics cost. # some vehicle params -VEHICLE_TYPE_NONE -VEHICLE_TYPE_SLED -VEHICLE_TYPE_CAR -VEHICLE_TYPE_BOAT -VEHICLE_TYPE_AIRPLANE -VEHICLE_TYPE_BALLOON +VEHICLE_TYPE_NONE Used with llSetVehicleType to turn off vehicle support +VEHICLE_TYPE_SLED Used with llSetVehicleType to make a simple vehicle that bumps along the ground, and likes to move along its local x-axis +VEHICLE_TYPE_CAR Used with llSetVehicleType to make a vehicle that bounces along the ground but needs the motors to be driven from external controls or timer events +VEHICLE_TYPE_BOAT Used with llSetVehicleType to make a vehicle that hovers over water with lots of friction and some angular deflection +VEHICLE_TYPE_AIRPLANE Used with llSetVehicleType to make a vehicle that uses linear deflection for lift, and banking to turn, but doesn't hover +VEHICLE_TYPE_BALLOON Used with llSetVehicleType to make a vehicle that uses hover, and friction, but doesn't use deflection VEHICLE_REFERENCE_FRAME Rotation of vehicle axes relative to local frame @@ -206,7 +217,7 @@ VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY A slider between 0 (bouncy) and 1 (critic VEHICLE_VERTICAL_ATTRACTION_TIMESCALE The exponential timescale for the vehicle to align its z-axis to the world z-axis (vertical) VEHICLE_BANKING_EFFICIENCY A slider between -1 (leans out of turns), 0 (no banking), and +1 (leans into turns) -VEHICLE_BANKING_MIX A slider betwen 0 (static banking) and 1 (dynamic banking) +VEHICLE_BANKING_MIX A slider between 0 (static banking) and 1 (dynamic banking) VEHICLE_BANKING_TIMESCALE The exponential timescale for the banking behavior to take full effect VEHICLE_FLAG_NO_DEFLECTION_UP Prevents linear deflection along world-z axis @@ -216,9 +227,9 @@ VEHICLE_FLAG_HOVER_TERRAIN_ONLY Hover only pays attention to terrain height VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT Hover only pays attention to global height VEHICLE_FLAG_HOVER_UP_ONLY Hover only pushes up VEHICLE_FLAG_LIMIT_MOTOR_UP Prevents ground vehicles from motoring into the sky -VEHICLE_FLAG_MOUSELOOK_STEER Makes vehicle try to turn toward mouselook direction. -VEHICLE_FLAG_MOUSELOOK_BANK Makes vehicle try to turn toward mouselook direction assuming banking is enabled. -VEHICLE_FLAG_CAMERA_DECOUPLED Causes the camera look-at axis to NOT move when the vehicle rotates. +VEHICLE_FLAG_MOUSELOOK_STEER Makes vehicle try to turn toward mouselook direction +VEHICLE_FLAG_MOUSELOOK_BANK Makes vehicle try to turn toward mouselook direction assuming banking is enabled +VEHICLE_FLAG_CAMERA_DECOUPLED Causes the camera look-at axis to NOT move when the vehicle rotates CAMERA_PITCH (-45 to 80) (Adjusts the angular amount that the camera aims straight ahead vs. straight down, maintaining the same distance. Analogous to 'incidence'.") CAMERA_FOCUS_OFFSET (-10 to 10) A vector that adjusts the position of the camera focus position relative to the subject @@ -246,7 +257,7 @@ INVENTORY_BODYPART Passed to task inventory library functions to reference body INVENTORY_ANIMATION Passed to task inventory library functions to reference animations INVENTORY_GESTURE Passed to task inventory library functions to reference gestures INVENTORY_ALL Passed to task inventory library functions to reference all inventory items -INVENTORY_NONE Returned by llGetInventoryType when no item is found. +INVENTORY_NONE Returned by llGetInventoryType when no item is found ATTACH_CHEST Passed to llAttachToAvatar to attach task to chest ATTACH_HEAD Passed to llAttachToAvatar to attach task to head @@ -264,7 +275,7 @@ ATTACH_LEAR Passed to llAttachToAvatar to attach task to left ear ATTACH_REAR Passed to llAttachToAvatar to attach task to right ear ATTACH_LEYE Passed to llAttachToAvatar to attach task to left eye ATTACH_REYE Passed to llAttachToAvatar to attach task to right eye -ATTACH_NOSE Passed to llAttachToAvatar to attach task to noce +ATTACH_NOSE Passed to llAttachToAvatar to attach task to nose ATTACH_RUARM Passed to llAttachToAvatar to attach task to right upper arm ATTACH_RLARM Passed to llAttachToAvatar to attach task to right lower arm ATTACH_LUARM Passed to llAttachToAvatar to attach task to left upper arm @@ -276,8 +287,19 @@ ATTACH_LHIP Passed to llAttachToAvatar to attach task to left hip ATTACH_LULEG Passed to llAttachToAvatar to attach task to left upper leg ATTACH_LLLEG Passed to llAttachToAvatar to attach task to left lower leg ATTACH_BELLY Passed to llAttachToAvatar to attach task to belly -ATTACH_RPEC Passed to llAttachToAvatar to attach task to right pectoral -ATTACH_LPEC Passed to llAttachToAvatar to attach task to left pectoral +ATTACH_LEFT_PEC Passed to llAttachToAvatar to attach task to left pectoral +ATTACH_RIGHT_PEC Passed to llAttachToAvatar to attach task to right pectoral +ATTACH_HUD_CENTER_2 Passed to llAttachToAvatar to attach task to center 2 hud area +ATTACH_HUD_TOP_RIGHT Passed to llAttachToAvatar to attach task to top right hud area +ATTACH_HUD_TOP_CENTER Passed to llAttachToAvatar to attach task to top center hud area +ATTACH_HUD_TOP_LEFT Passed to llAttachToAvatar to attach task to top left hud area +ATTACH_HUD_CENTER_1 Passed to llAttachToAvatar to attach task to center 1 hud area +ATTACH_HUD_BOTTOM_LEFT Passed to llAttachToAvatar to attach task to bottom left hud area +ATTACH_HUD_BOTTOM Passed to llAttachToAvatar to attach task to bottom hud area +ATTACH_HUD_BOTTOM_RIGHT Passed to llAttachToAvatar to attach task to bottom right hud area +##The following attachment points exist only as numbers thus far, but will be ready when the time comes. +#ATTACH_NECK Passed to llAttachToAvatar to attach task to neck +#ATTACH_ROOT Passed to llAttachToAvatar to attach task to avatar center/root LAND_LEVEL Passed to llModifyLand to level terrain LAND_RAISE Passed to llModifyLand to raise terrain @@ -304,7 +326,7 @@ PAYMENT_INFO_USED Used with llRequestAgentData to tell if Agent is of "Payment I ANIM_ON Enable texture animation LOOP Loop when animating textures REVERSE Animate in the reverse direction -PING_PONG Animate forward, then reverse. +PING_PONG Animate forward, then reverse SMOOTH Textures slides, instead of stepping ROTATE Rotates the texture, instead of using frames SCALE Scales the texture, instead of using frames @@ -344,26 +366,35 @@ REMOTE_DATA_REQUEST Value of event_type in remote_event if XML-RPC request is re REMOTE_DATA_REPLY Value of event_type in remote_event if XML-RPC reply is received +PRIM_NAME For primitive name (from server v1.40 onwards). Followed by a string. +PRIM_DESC For primitive description (from server v1.40 onwards). Followed by a string. PRIM_TYPE Followed by PRIM_TYPE_BOX, PRIM_TYPE_CYLINDER, PRIM_TYPE_PRISM, PRIM_TYPE_SPHERE, PRIM_TYPE_TORUS, PRIM_TYPE_TUBE, or PRIM_TYPE_SCULPT and their arguments +PRIM_SLICE Get and set the 'slice' parameter of all shapes. Takes a vector parameter of the form +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_MATERIAL Followed by PRIM_MATERIAL_STONE, PRIM_MATERIAL_METAL, PRIM_MATERIAL_GLASS, PRIM_MATERIAL_WOOD, PRIM_MATERIAL_FLESH, PRIM_MATERIAL_PLASTIC, or PRIM_MATERIAL_RUBBER PRIM_PHYSICS Sets physics to TRUE or FALSE PRIM_FLEXIBLE Followed by TRUE or FALSE, integer softness, float gravity, float friction, float wind, float tension, and vector force PRIM_POINT_LIGHT Followed by TRUE or FALSE, vector color, float intensity, float radius, float falloff PRIM_TEMP_ON_REZ Sets temporay on rez to TRUE or FALSE PRIM_PHANTOM Sets phantom to TRUE or FALSE -PRIM_CAST_SHADOWS DEPRECATED. Takes 1 parameter, an integer, but has no effect when set and always returns 0 if used in llGetPrimitiveParams. +PRIM_CAST_SHADOWS DEPRECATED. Takes 1 parameter, an integer, but has no effect when set and always returns 0 if used in llGetPrimitiveParams PRIM_POSITION Sets primitive position to a vector position +PRIM_POS_LOCAL Sets the prim's local position PRIM_SIZE Sets primitive size to a vector size PRIM_ROTATION Sets primitive rotation +PRIM_ROT_LOCAL Sets the prim's local rotation PRIM_TEXTURE Followed by an integer face, key id, vector repeats, vector offsets,:and float rotation in radians +PRIM_TEXT For primitive hovertext. Followed by a string, a vector color and a float alpha PRIM_COLOR Followed by an integer face, vector color, and float alpha PRIM_BUMP_SHINY Followed by an integer face, one of PRIM_SHINY_NONE, PRIM_SHINY_LOW,:PRIM_SHINY_MEDIUM, or PRIM_SHINY_HIGH,:and one of PRIM_BUMP_NONE, PRIM_BUMP_BRIGHT, PRIM_BUMP_DARK, etc PRIM_FULLBRIGHT Followed by an integer face, and TRUE or FALSE PRIM_TEXGEN Followed by an integer face, and one of PRIM_TEXGEN_DEFAULT or PRIM_TEXGEN_PLANAR PRIM_GLOW Followed by an integer face, and a float from 0.0 to 1.0 specifying glow amount -PRIM_TEXT For primitive hovertext. Followed by a string, a vector color and a float alpha -PRIM_NAME For primitive name (from server v1.40 onwards). Followed by a string. -PRIM_DESC For primitive description (from server v1.40 onwards). Followed by a string. +PRIM_OMEGA Makes the object spin at the specified axis and rate +PRIM_LINK_TARGET Used to get or set multiple links with a single PrimParameters call + +PROFILE_NONE Disables profiling +PROFILE_SCRIPT_MEMORY Enables memory profiling PRIM_TYPE_BOX Followed by integer hole shape, vector cut, float hollow, vector twist,:vector top size, and vector top shear PRIM_TYPE_CYLINDER Followed by integer hole shape, vector cut, float hollow, vector twist,:vector top size, and vector top shear @@ -374,10 +405,10 @@ PRIM_TYPE_TUBE Followed by integer hole shape, vector cut, float hollow, vector PRIM_TYPE_RING Followed by integer hole shape, vector cut, float hollow, vector twist,:vector hole size, vector top shear, vector advanced cut, vector taper,:float revolutions, float radius offset, and float skew PRIM_TYPE_SCULPT Followed by a key/string texture uuid, and one of PRIM_SCULPT_TYPE_SPHERE, PRIM_SCULPT_TYPE_TORUS, PRIM_SCULPT_TYPE_PLANE, or PRIM_SCULPT_TYPE_CYLINDER -PRIM_HOLE_DEFAULT Sets hole type to match the prim type. -PRIM_HOLE_SQUARE Sets hole type to square. -PRIM_HOLE_CIRCLE Sets hole type to circle. -PRIM_HOLE_TRIANGLE Sets hole type to triangle. +PRIM_HOLE_DEFAULT Sets hole type to match the prim type +PRIM_HOLE_SQUARE Sets hole type to square +PRIM_HOLE_CIRCLE Sets hole type to circle +PRIM_HOLE_TRIANGLE Sets hole type to triangle PRIM_MATERIAL_STONE Sets material to stone PRIM_MATERIAL_METAL Sets material to metal @@ -423,6 +454,10 @@ PRIM_SCULPT_TYPE_MASK Mask used to determine stitching type PRIM_SCULPT_FLAG_INVERT Flag to specify that the surface normals should be inverted PRIM_SCULPT_FLAG_MIRROR Flag to specify that the prim should be reflected along X axis +PRIM_PHYSICS_SHAPE_PRIM Use the normal prim shape for physics (this is the default for all non-mesh objects) +PRIM_PHYSICS_SHAPE_CONVEX Ignore this prim in the physics shape. This cannot be applied to the root prim. +PRIM_PHYSICS_SHAPE_NONE Use the convex hull of the prim shape for physics (this is the default for mesh objects) + MASK_BASE Base permissions MASK_OWNER Owner permissions MASK_GROUP Group permissions @@ -439,6 +474,7 @@ PARCEL_MEDIA_COMMAND_STOP Stop media stream PARCEL_MEDIA_COMMAND_PAUSE Pause media stream PARCEL_MEDIA_COMMAND_PLAY Play media stream PARCEL_MEDIA_COMMAND_LOOP Loop media stream +PARCEL_MEDIA_COMMAND_LOOP_SET Used to get or set the parcel's media loop duration PARCEL_MEDIA_COMMAND_TEXTURE Get or set the parcel's media texture PARCEL_MEDIA_COMMAND_URL Get or set the parcel's media url PARCEL_MEDIA_COMMAND_TYPE Get or set the parcel's media mimetype @@ -447,7 +483,7 @@ PARCEL_MEDIA_COMMAND_TIME Set media stream to specific time PARCEL_MEDIA_COMMAND_SIZE Get or set the parcel's media pixel resolution PARCEL_MEDIA_COMMAND_AGENT Allows media stream commands to apply to only one agent PARCEL_MEDIA_COMMAND_UNLOAD Unloads the media stream -PARCEL_MEDIA_COMMAND_AUTO_ALIGN Auto aligns the media stream to the texture size. May cause a performance hit and loss of some visual quality. +PARCEL_MEDIA_COMMAND_AUTO_ALIGN Auto aligns the media stream to the texture size. May cause a performance hit and loss of some visual quality PAY_HIDE Used with llSetPayPrice to hide a button PAY_DEFAULT Used with llSetPayPrice to use the default price for a button @@ -490,11 +526,19 @@ REGION_FLAG_BLOCK_FLY Used with llGetRegionFlags to find if a region blocks f REGION_FLAG_ALLOW_DIRECT_TELEPORT Used with llGetRegionFlags to find if a region allows direct teleports REGION_FLAG_RESTRICT_PUSHOBJECT Used with llGetRegionFlags to find if a region restricts llPushObject() calls -HTTP_METHOD Used with llHTTPRequest to specify the method, such as "GET" or "POST" +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. + +HTTP_METHOD Used with llHTTPRequest to specify the method, "GET", "POST", "PUT", or "DELETE" HTTP_MIMETYPE Used with llHTTPRequest to specify the MIME type, defaults to "text/plain" -HTTP_BODY_MAXLENGTH Used with llHTTPRequest to specify the maxium reponse body to return +HTTP_BODY_MAXLENGTH Used with llHTTPRequest to specify the maximum response body to return HTTP_VERIFY_CERT Used with llHTTPRequest to specify SSL certificate verification HTTP_BODY_TRUNCATED Used with http_response to indicate truncation point in bytes +HTTP_VERBOSE_THROTTLE Used with llHTTPRequest to shout error messages to DEBUG_CHANNEL if the outgoing request rate exceeds the server limit. PARCEL_COUNT_TOTAL Used with llGetParcelPrimCount to get the total number of prims on the parcel PARCEL_COUNT_OWNER Used with llGetParcelPrimCount to get the number of prims on the parcel owned by the owner @@ -503,17 +547,17 @@ PARCEL_COUNT_OTHER Used with llGetParcelPrimCount to get the number of prims on PARCEL_COUNT_SELECTED Used with llGetParcelPrimCount to get the number of prims on the parcel currently selected or sat upon PARCEL_COUNT_TEMP Used with llGetParcelPrimCount to get the number of prims on the parcel that are temp on rez -PARCEL_DETAILS_NAME Used with llGetParcelDetails to get the parcel name. -PARCEL_DETAILS_DESC Used with llGetParcelDetails to get the parcel description. -PARCEL_DETAILS_OWNER Used with llGetParcelDetails to get the parcel owner id. -PARCEL_DETAILS_GROUP Used with llGetParcelDetails to get the parcel group id. -PARCEL_DETAILS_AREA Used with llGetParcelDetails to get the parcel area in square meters. -PARCEL_DETAILS_ID Used with llGetParcelDetails to get the parcel id. -PARCEL_DETAILS_SEE_AVATARS Used with llGetParcelDetails to get the avatars visibility setting. +PARCEL_DETAILS_NAME Used with llGetParcelDetails to get the parcel name +PARCEL_DETAILS_DESC Used with llGetParcelDetails to get the parcel description +PARCEL_DETAILS_OWNER Used with llGetParcelDetails to get the parcel owner id +PARCEL_DETAILS_GROUP Used with llGetParcelDetails to get the parcel group id +PARCEL_DETAILS_AREA Used with llGetParcelDetails to get the parcel area in square meters +PARCEL_DETAILS_ID Used with llGetParcelDetails to get the parcel id +PARCEL_DETAILS_SEE_AVATARS Used with llGetParcelDetails to get the avatars visibility setting -STRING_TRIM_HEAD Used with llStringTrim to trim leading spaces from a string. -STRING_TRIM_TAIL Used with llStringTrim to trim trailing spaces from a string. -STRING_TRIM Used with llStringTrim to trim both leading and trailing spaces from a string. +STRING_TRIM_HEAD Used with llStringTrim to trim leading spaces from a string +STRING_TRIM_TAIL Used with llStringTrim to trim trailing spaces from a string +STRING_TRIM Used with llStringTrim to trim both leading and trailing spaces from a string CLICK_ACTION_NONE Used with llSetClickAction to disable the click action CLICK_ACTION_TOUCH Used with llSetClickAction to set touch as the default action when object is clicked @@ -525,9 +569,9 @@ CLICK_ACTION_PLAY Used with llSetClickAction to set play as the default ac CLICK_ACTION_OPEN_MEDIA Used with llSetClickAction to set open-media as the default action when object is clicked CLICK_ACTION_ZOOM Used with llSetClickAction to set zoom in as the default action when object is clicked -TOUCH_INVALID_TEXCOORD Value returned by llDetectedTouchUV() and llDetectedTouchST() when the touch position is not valid. -TOUCH_INVALID_VECTOR Value returned by llDetectedTouchPos(), llDetectedTouchNormal(), and llDetectedTouchBinormal() when the touch position is not valid. -TOUCH_INVALID_FACE Value returned by llDetectedTouchFace() when the touch position is not valid. +TOUCH_INVALID_TEXCOORD Value returned by llDetectedTouchUV() and llDetectedTouchST() when the touch position is not valid +TOUCH_INVALID_VECTOR Value returned by llDetectedTouchPos(), llDetectedTouchNormal(), and llDetectedTouchBinormal() when the touch position is not valid +TOUCH_INVALID_FACE Value returned by llDetectedTouchFace() when the touch position is not valid PRIM_MEDIA_ALT_IMAGE_ENABLE Used with ll{Get,Set}PrimMediaParams to enable the default alt image for media PRIM_MEDIA_CONTROLS Used with ll{Get,Set}PrimMediaParams to determine the controls shown for media @@ -569,6 +613,7 @@ STATUS_NOT_SUPPORTED Feature not supported STATUS_INTERNAL_ERROR An internal error occurred STATUS_WHITELIST_FAILED URL failed to pass whitelist +# windlight constants WL_WATER_COLOR Windlight Water Colour WL_WATER_FOG_DENSITY_EXPONENT Windlight Water Fog Density Exponent WL_UNDERWATER_FOG_MODIFIER Windlight Underwater Fog Modifier @@ -607,6 +652,20 @@ 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 +# keyframe 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. + # OSSL constants STATS_TIME_DILATION STATS_SIM_FPS @@ -641,86 +700,63 @@ 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 +# physics constants +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. -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 +##Even more missing constants, thanks to Justin Clark Casey for pointing me into the right direction +##Liru: Were these supposed to be LSL? They're undocumented, commenting out for now. +#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 +#LIST_STAT_HARMONIC_MEAN +#PARCEL_DETAILS_CLAIMDATE +#VEHICLE_FLAG_LOCK_HOVER_HEIGHT +#VEHICLE_FLAG_LOCK_ROTATION +#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 + +# castray constants +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. # string constants [word .1, .3, .5] @@ -767,12 +803,11 @@ return Leave current function or event handler # Comment [one_sided_delimiter .8, .3, .15] // Comment:Non-functional commentary or disabled code -# for now two_sided_delimiter spans from the token to the token, reversed. (eg: /* to */) -[two_sided_delimiter .8, .3, .15] -/* Comment:Non-functional commentary or disabled code +[two_sided_delimiter_esc .8, .3, .15] +/* */ Comment:Non-functional commentary or disabled code # String literals [two_sided_delimiter_esc 0, .2, 0] -" String literal +" " String literal -#functions are supplied by the program now. +#functions are supplied by the program now diff --git a/indra/newview/llfloateravatarlist.cpp b/indra/newview/llfloateravatarlist.cpp index 882263e0e..ff2f4247b 100644 --- a/indra/newview/llfloateravatarlist.cpp +++ b/indra/newview/llfloateravatarlist.cpp @@ -1,4 +1,4 @@ -/** +/** * @file llfloateravatarlist.cpp * @brief Avatar list/radar floater * @@ -232,7 +232,7 @@ LLAvatarListEntry::ACTIVITY_TYPE LLAvatarListEntry::getActivity() mActivityType = ACTIVITY_NONE; } if(isDead())return ACTIVITY_DEAD; - + return mActivityType; } @@ -322,7 +322,7 @@ BOOL LLFloaterAvatarList::postBuild() childSetAction("next_in_list_btn", onClickNextInList, this); childSetAction("prev_marked_btn", onClickPrevMarked, this); childSetAction("next_marked_btn", onClickNextMarked, this); - + childSetAction("get_key_btn", onClickGetKey, this); childSetAction("freeze_btn", onClickFreeze, this); @@ -439,7 +439,7 @@ void LLFloaterAvatarList::updateAvatarList() size_t i; size_t count = avatar_ids.size(); - + bool announce = gSavedSettings.getBOOL("RadarChatKeys"); std::queue announce_keys; @@ -466,7 +466,7 @@ void LLFloaterAvatarList::updateAvatarList() // Get avatar data position = gAgent.getPosGlobalFromAgent(avatarp->getCharacterPosition()); name = avatarp->getFullname(); - + // [Ansariel: Display name support] LLAvatarName avatar_name; if (LLAvatarNameCache::get(avatarp->getID(), &avatar_name)) @@ -551,7 +551,7 @@ void LLFloaterAvatarList::updateAvatarList() } //let us send the keys in a more timely fashion if(announce && !announce_keys.empty()) - { + { std::ostringstream ids; int transact_num = (int)gFrameCount; int num_ids = 0; @@ -565,20 +565,20 @@ void LLFloaterAvatarList::updateAvatarList() if(ids.tellp() > 200) { - gMessageSystem->newMessage("ScriptDialogReply"); - gMessageSystem->nextBlock("AgentData"); - gMessageSystem->addUUID("AgentID", gAgent.getID()); - gMessageSystem->addUUID("SessionID", gAgent.getSessionID()); - gMessageSystem->nextBlock("Data"); - gMessageSystem->addUUID("ObjectID", gAgent.getID()); - gMessageSystem->addS32("ChatChannel", -777777777); - gMessageSystem->addS32("ButtonIndex", 1); - gMessageSystem->addString("ButtonLabel",llformat("%d,%d", transact_num, num_ids) + ids.str()); - gAgent.sendReliableMessage(); + gMessageSystem->newMessage("ScriptDialogReply"); + gMessageSystem->nextBlock("AgentData"); + gMessageSystem->addUUID("AgentID", gAgent.getID()); + gMessageSystem->addUUID("SessionID", gAgent.getSessionID()); + gMessageSystem->nextBlock("Data"); + gMessageSystem->addUUID("ObjectID", gAgent.getID()); + gMessageSystem->addS32("ChatChannel", -777777777); + gMessageSystem->addS32("ButtonIndex", 1); + gMessageSystem->addString("ButtonLabel",llformat("%d,%d", transact_num, num_ids) + ids.str()); + gAgent.sendReliableMessage(); - num_ids = 0; - ids.seekp(0); - ids.str(""); + num_ids = 0; + ids.seekp(0); + ids.str(""); } } if(num_ids > 0) @@ -594,9 +594,9 @@ void LLFloaterAvatarList::updateAvatarList() gMessageSystem->addString("ButtonLabel",llformat("%d,%d", transact_num, num_ids) + ids.str()); gAgent.sendReliableMessage(); } - } + } } - + // llinfos << "radar refresh: done" << llendl; expireAvatarList(); @@ -614,7 +614,7 @@ void LLFloaterAvatarList::expireAvatarList() for (iter = mAvatars.begin(); iter != mAvatars.end(); iter++) { LLAvatarListEntry *entry = &iter->second; - + alive = entry->getAlive(); if (entry->isDead()) @@ -678,7 +678,8 @@ void LLFloaterAvatarList::refreshAvatarList() LLVector3d delta = position - mypos; F32 distance = (F32)delta.magVec(); - if (position.mdV[VZ] == 0.f || position.mdV[VZ] == 1020.f) + F32 unknownAlt = (gHippoGridManager->getConnectedGrid()->isSecondLife()) ? 1020.f : 0.f; + if (position.mdV[VZ] == unknownAlt) { UnknownAltitude = true; distance = 9000.0; @@ -767,7 +768,7 @@ void LLFloaterAvatarList::refreshAvatarList() } name_color = name_color*0.5f + unselected_color*0.5f; - + element["columns"][LIST_AVATAR_NAME]["color"] = name_color.getValue(); char temp[32]; @@ -885,7 +886,7 @@ void LLFloaterAvatarList::refreshAvatarList() element["columns"][LIST_ACTIVITY]["value"] = activity_icon;//icon_image_id; //"icn_active-speakers-dot-lvl0.tga"; //element["columns"][LIST_AVATAR_ACTIVITY]["color"] = icon_color.getValue(); - + element["columns"][LIST_CLIENT]["column"] = "client"; element["columns"][LIST_CLIENT]["type"] = "text"; @@ -984,7 +985,7 @@ void LLFloaterAvatarList::onClickTeleportOffer(void *userdata) void LLFloaterAvatarList::onClickTrack(void *userdata) { LLFloaterAvatarList *self = (LLFloaterAvatarList*)userdata; - + LLScrollListItem *item = self->mAvatarList->getFirstSelected(); if (!item) return; @@ -1072,8 +1073,8 @@ void LLFloaterAvatarList::onClickMark(void *userdata) void LLFloaterAvatarList::onClickFocus(void *userdata) { LLFloaterAvatarList *self = (LLFloaterAvatarList*)userdata; - - LLScrollListItem *item = self->mAvatarList->getFirstSelected(); + + LLScrollListItem *item = self->mAvatarList->getFirstSelected(); if (item) { self->mFocusedAvatar = item->getUUID(); @@ -1264,89 +1265,89 @@ void LLFloaterAvatarList::onClickGetKey(void *userdata) //static void LLFloaterAvatarList::sendKeys() { - LLViewerRegion* regionp = gAgent.getRegion(); - if(!regionp)return;//ALWAYS VALIDATE DATA - std::ostringstream ids; - static int last_transact_num = 0; - int transact_num = (int)gFrameCount; - int num_ids = 0; + LLViewerRegion* regionp = gAgent.getRegion(); + if(!regionp)return;//ALWAYS VALIDATE DATA + std::ostringstream ids; + static int last_transact_num = 0; + int transact_num = (int)gFrameCount; + int num_ids = 0; - if(!gSavedSettings.getBOOL("RadarChatKeys")) + if(!gSavedSettings.getBOOL("RadarChatKeys")) { - return; + return; } - if(transact_num > last_transact_num) + if(transact_num > last_transact_num) { - last_transact_num = transact_num; + last_transact_num = transact_num; } - else + else { - //on purpose, avatar IDs on map don't change until the next frame. - //no need to send more than once a frame. - return; + //on purpose, avatar IDs on map don't change until the next frame. + //no need to send more than once a frame. + return; } if (!regionp) return; // caused crash if logged out/connection lost - for (int i = 0; i < regionp->mMapAvatarIDs.count(); i++) + for (int i = 0; i < regionp->mMapAvatarIDs.count(); i++) { - const LLUUID &id = regionp->mMapAvatarIDs.get(i); + const LLUUID &id = regionp->mMapAvatarIDs.get(i); - ids << "," << id.asString(); - ++num_ids; + ids << "," << id.asString(); + ++num_ids; - if(ids.tellp() > 200) + if(ids.tellp() > 200) { - gMessageSystem->newMessage("ScriptDialogReply"); - gMessageSystem->nextBlock("AgentData"); - gMessageSystem->addUUID("AgentID", gAgent.getID()); - gMessageSystem->addUUID("SessionID", gAgent.getSessionID()); - gMessageSystem->nextBlock("Data"); - gMessageSystem->addUUID("ObjectID", gAgent.getID()); - gMessageSystem->addS32("ChatChannel", -777777777); - gMessageSystem->addS32("ButtonIndex", 1); - gMessageSystem->addString("ButtonLabel",llformat("%d,%d", transact_num, num_ids) + ids.str()); - gAgent.sendReliableMessage(); + gMessageSystem->newMessage("ScriptDialogReply"); + gMessageSystem->nextBlock("AgentData"); + gMessageSystem->addUUID("AgentID", gAgent.getID()); + gMessageSystem->addUUID("SessionID", gAgent.getSessionID()); + gMessageSystem->nextBlock("Data"); + gMessageSystem->addUUID("ObjectID", gAgent.getID()); + gMessageSystem->addS32("ChatChannel", -777777777); + gMessageSystem->addS32("ButtonIndex", 1); + gMessageSystem->addString("ButtonLabel",llformat("%d,%d", transact_num, num_ids) + ids.str()); + gAgent.sendReliableMessage(); - num_ids = 0; - ids.seekp(0); - ids.str(""); + num_ids = 0; + ids.seekp(0); + ids.str(""); } } if(num_ids > 0) { - gMessageSystem->newMessage("ScriptDialogReply"); - gMessageSystem->nextBlock("AgentData"); - gMessageSystem->addUUID("AgentID", gAgent.getID()); - gMessageSystem->addUUID("SessionID", gAgent.getSessionID()); - gMessageSystem->nextBlock("Data"); - gMessageSystem->addUUID("ObjectID", gAgent.getID()); - gMessageSystem->addS32("ChatChannel", -777777777); - gMessageSystem->addS32("ButtonIndex", 1); - gMessageSystem->addString("ButtonLabel",llformat("%d,%d", transact_num, num_ids) + ids.str()); - gAgent.sendReliableMessage(); - } + gMessageSystem->newMessage("ScriptDialogReply"); + gMessageSystem->nextBlock("AgentData"); + gMessageSystem->addUUID("AgentID", gAgent.getID()); + gMessageSystem->addUUID("SessionID", gAgent.getSessionID()); + gMessageSystem->nextBlock("Data"); + gMessageSystem->addUUID("ObjectID", gAgent.getID()); + gMessageSystem->addS32("ChatChannel", -777777777); + gMessageSystem->addS32("ButtonIndex", 1); + gMessageSystem->addString("ButtonLabel",llformat("%d,%d", transact_num, num_ids) + ids.str()); + gAgent.sendReliableMessage(); + } } //static void LLFloaterAvatarList::sound_trigger_hook(LLMessageSystem* msg,void **) { LLUUID sound_id,owner_id; - msg->getUUIDFast(_PREHASH_SoundData, _PREHASH_SoundID, sound_id); - msg->getUUIDFast(_PREHASH_SoundData, _PREHASH_OwnerID, owner_id); - if(owner_id == gAgent.getID() && sound_id == LLUUID("76c78607-93f9-f55a-5238-e19b1a181389")) - { - //lets ask if they want to turn it on. - if(gSavedSettings.getBOOL("RadarChatKeys")) - { - LLFloaterAvatarList::getInstance()->sendKeys(); - }else - { - LLSD args; + msg->getUUIDFast(_PREHASH_SoundData, _PREHASH_SoundID, sound_id); + msg->getUUIDFast(_PREHASH_SoundData, _PREHASH_OwnerID, owner_id); + if(owner_id == gAgent.getID() && sound_id == LLUUID("76c78607-93f9-f55a-5238-e19b1a181389")) + { + //lets ask if they want to turn it on. + if(gSavedSettings.getBOOL("RadarChatKeys")) + { + LLFloaterAvatarList::getInstance()->sendKeys(); + }else + { + LLSD args; args["MESSAGE"] = "An object owned by you has request the keys from your radar.\nWould you like to enable announcing keys to objects in the sim?"; LLNotificationsUtil::add("GenericAlertYesCancel", args, LLSD(), onConfirmRadarChatKeys); - } - } + } + } } // static bool LLFloaterAvatarList::onConfirmRadarChatKeys(const LLSD& notification, const LLSD& response ) @@ -1355,7 +1356,7 @@ bool LLFloaterAvatarList::onConfirmRadarChatKeys(const LLSD& notification, const if(option == 0) // yes { gSavedSettings.setBOOL("RadarChatKeys",TRUE); - LLFloaterAvatarList::getInstance()->sendKeys(); + LLFloaterAvatarList::getInstance()->sendKeys(); } return false; } @@ -1474,7 +1475,7 @@ void LLFloaterAvatarList::doCommand(void (*func)(const LLUUID &avatar, const std std::string LLFloaterAvatarList::getSelectedNames(const std::string& separator) { std::string ret = ""; - + LLDynamicArray ids = mAvatarList->getSelectedIDs(); for (LLDynamicArray::iterator itr = ids.begin(); itr != ids.end(); ++itr) { @@ -1590,7 +1591,7 @@ void LLFloaterAvatarList::onClickMute(void *userdata) for (LLDynamicArray::iterator itr = ids.begin(); itr != ids.end(); ++itr) { LLUUID agent_id = *itr; - + std::string agent_name; if (gCacheName->getFullName(agent_id, agent_name)) { diff --git a/indra/newview/skins/gemini/keywords.ini b/indra/newview/skins/gemini/keywords.ini index 474c5351f..bbf8e5a3e 100644 --- a/indra/newview/skins/gemini/keywords.ini +++ b/indra/newview/skins/gemini/keywords.ini @@ -10,9 +10,9 @@ state Keyword to indicate state block or state transition integer Integer type float Floating-point type string String type -key Key type. Use NULL_KEY to test for empty keys. -vector Vector type of 3 floats. Used to represent 3D motion, Euler angles, and color.:Access components by .x, .y, or .z -rotation Rotation type of 4 floats. Used to represent rotation.:Access components by .x, .y, .z, or .w +key Key type. Use NULL_KEY to test for empty keys +vector Vector type of 3 floats. Used to represent 3D motion, Euler angles, and color.:Access components by .x, .y. or .z +rotation Rotation type of 4 floats. Used to represent rotation.:Access components by .x, .y., .z, or .w list List of various data types quaternion Rotation type of 4 floats. Used to represent rotation.:Access components by .x, .y, .z, or .w @@ -29,7 +29,7 @@ collision_end collision_end(integer num_detected):Triggered when task stops coll land_collision_start land_collision_start(vector pos):Triggered when task starts colliding with land land_collision land_collision(vector pos):Triggered when task is colliding with land land_collision_end land_collision_end(vector pos):Triggered when task stops colliding with land -timer timer():Result of the llSetTimerEvent library function call. +timer timer():Result of the llSetTimerEvent library function call listen listen(integer channel, string name, key id, string message):Result of the llListen library function call sensor sensor(integer num_detected):Result of the llSensor library function call no_sensor no_sensor():Result of the llSensor library function call @@ -41,17 +41,19 @@ not_at_rot_target not_at_rot_target():Result of LLRotTarget library function cal money money(key id, integer amount):Triggered when L$ is given to task email email(string time, string address, string subj, string message, integer num_left):Triggered when task receives email run_time_permissions run_time_permissions(integer perm):Triggered when an agent grants run time permissions to task -attach attach(key id):Triggered when an agent attaches or detaches from agent +attach attach(key id):Triggered when task attaches or detaches from agent dataserver dataserver(key queryid, string data):Triggered when task receives asynchronous data moving_start moving_start():Triggered when task begins moving moving_end moving_end():Triggered when task stops moving -on_rez on_rez(integer start_param):Triggered when task is rezed in from inventory or another task -object_rez object_rez(key id):Triggered when task rezes in another task +on_rez on_rez(integer start_param):Triggered when task is rezzed in from inventory or another task +object_rez object_rez(key id):Triggered when task rezzes in another task link_message link_message(integer sender_num, integer num, string str, key id):Triggered when task receives a link message via LLMessageLinked library function call -changed changed( integer change ):Triggered various event change the task:(test change with CHANGED_INVENTORY, CHANGED_COLOR, CHANGED_SHAPE, CHANGED_SCALE, CHANGED_TEXTURE, CHANGED_LINK, CHANGED_ALLOWED_DROP, CHANGED_OWNER, CHANGED_REGION, CHANGED_TELEPORT) +changed changed( integer change ):Triggered various event change the task:(test change with CHANGED_INVENTORY, CHANGED_COLOR, CHANGED_SHAPE, CHANGED_SCALE, CHANGED_TEXTURE, CHANGED_LINK, CHANGED_ALLOWED_DROP, CHANGED_OWNER, CHANGED_REGION, CHANGED_TELEPORT, CHANGED_REGION_START, CHANGED_MEDIA) 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 .48, .72, .84] @@ -64,10 +66,13 @@ STATUS_ROTATE_Y Passed in the llSetStatus library function. If FALSE, object do STATUS_ROTATE_Z Passed in the llSetStatus library function. If FALSE, object doesn't rotate around local Z axis STATUS_SANDBOX Passed in the llSetStatus library function. If TRUE, object can't cross region boundaries or move more than 10 meters from its start location STATUS_BLOCK_GRAB Passed in the llSetStatus library function. If TRUE, object can't be grabbed and physically dragged +STATUS_BLOCK_GRAB_OBJECT This status flag keeps the object from being moved by grabs. This flag applies to the entire linkset STATUS_DIE_AT_EDGE Passed in the llSetStatus library function. If TRUE, objects that reach the edge of the world just die:rather than teleporting back to the owner STATUS_RETURN_AT_EDGE Passed in the llSetStatus library function. If TRUE, script rezzed objects that reach the edge of the world:are returned rather than killed:STATUS_RETURN_AT_EDGE trumps STATUS_DIE_AT_EDGE if both are set STATUS_CAST_SHADOWS Passed in the llSetStatus library function. If TRUE, object casts shadows on other objects -AGENT Passed in llSensor library function to look for other Agents +AGENT Passed in llSensor library function to look for other Agents; DEPRECATED: Use AGENT_BY_LEGACY_NAME +AGENT_BY_USERNAME Passed in llSensor library function to look for other Agents by username +AGENT_BY_LEGACY_NAME Passed in llSensor library function to look for other Agents by legacy name ACTIVE Passed in llSensor library function to look for moving objects PASSIVE Passed in llSensor library function to look for objects that aren't moving SCRIPTED Passed in llSensor library function to look for scripted objects @@ -92,6 +97,7 @@ PERMISSION_CHANGE_LINKS Passed to llRequestPermissions library function to req # PERMISSION_CHANGE_PERMISSIONS Passed to llRequestPermissions library function to request permission to change permissions PERMISSION_TRACK_CAMERA Passed to llRequestPermissions library function to request permission to track agent's camera PERMISSION_CONTROL_CAMERA Passed to llRequestPermissions library function to request permission to change agent's camera +PERMISSION_TELEPORT Passed to llRequestPermissions library function to request permission to teleport agent DEBUG_CHANNEL Chat channel reserved for debug and error messages from scripts PUBLIC_CHANNEL Chat channel that broadcasts to all nearby users @@ -109,6 +115,11 @@ AGENT_TYPING Returned by llGetAgentInfo if the Agent is typing AGENT_CROUCHING Returned by llGetAgentInfo if the Agent is crouching AGENT_BUSY Returned by llGetAgentInfo if the Agent is busy AGENT_ALWAYS_RUN Returned by llGetAgentInfo if the Agent has 'Always Run' enabled +AGENT_AUTOPILOT Returned by llGetAgentInfo if the Agent is under autopilot control + +AGENT_LIST_PARCEL Passed to llGetAgentList to return only agents on the same parcel where the script is running +AGENT_LIST_PARCEL_OWNER Passed to llGetAgentList to return only agents on any parcel in the region where the parcel owner is the same as the owner of the parcel under the scripted object +AGENT_LIST_REGION Passed to llGetAgentList to return any/all agents in the region PSYS_PART_FLAGS PSYS_PART_START_COLOR @@ -151,23 +162,31 @@ PSYS_SRC_PATTERN_ANGLE PSYS_SRC_PATTERN_ANGLE_CONE PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY -OBJECT_UNKNOWN_DETAIL Returned by llGetObjectDetails when passed an invalid object parameter type. -OBJECT_NAME Used with llGetObjectDetails to get an object's name. -OBJECT_DESC Used with llGetObjectDetails to get an object's description. -OBJECT_POS Used with llGetObjectDetails to get an object's position. -OBJECT_ROT Used with llGetObjectDetails to get an object's rotation. -OBJECT_VELOCITY Used with llGetObjectDetails to get an object's velocity. -OBJECT_OWNER Used with llGetObjectDetails to get an object's owner's key. Will be NULL_KEY if group owned. -OBJECT_GROUP Used with llGetObjectDetails to get an object's group's key. -OBJECT_CREATOR Used with llGetObjectDetails to get an object's creator's key. +OBJECT_UNKNOWN_DETAIL Returned by llGetObjectDetails when passed an invalid object parameter type +OBJECT_NAME Used with llGetObjectDetails to get an object's name +OBJECT_DESC Used with llGetObjectDetails to get an object's description +OBJECT_POS Used with llGetObjectDetails to get an object's position +OBJECT_ROT Used with llGetObjectDetails to get an object's rotation +OBJECT_VELOCITY Used with llGetObjectDetails to get an object's velocity +OBJECT_OWNER Used with llGetObjectDetails to get an object's owner's key. Will be NULL_KEY if group owned +OBJECT_GROUP Used with llGetObjectDetails to get an object's group's key +OBJECT_CREATOR Used with llGetObjectDetails to get an object's creator's key +OBJECT_RUNNING_SCRIPT_COUNT Used with llGetObjectDetails to get an object's velocity. +OBJECT_TOTAL_SCRIPT_COUNT Used with llGetObjectDetails to get an object's owner's key. Will be NULL_KEY if group owned. +OBJECT_SCRIPT_MEMORY Used with llGetObjectDetails to get an object's group's key. +OBJECT_SCRIPT_TIME Used with llGetObjectDetails to get an object's creator's key. +OBJECT_PRIM_EQUIVALENCE Gets the prim equivalence of the object. +OBJECT_SERVER_COST Used with llGetObjectDetails to get the server cost. +OBJECT_STREAMING_COST Used with llGetObjectDetails to get the streaming (download) cost. +OBJECT_PHYSICS_COST Used with llGetObjectDetails to get the physics cost. # some vehicle params -VEHICLE_TYPE_NONE -VEHICLE_TYPE_SLED -VEHICLE_TYPE_CAR -VEHICLE_TYPE_BOAT -VEHICLE_TYPE_AIRPLANE -VEHICLE_TYPE_BALLOON +VEHICLE_TYPE_NONE Used with llSetVehicleType to turn off vehicle support +VEHICLE_TYPE_SLED Used with llSetVehicleType to make a simple vehicle that bumps along the ground, and likes to move along its local x-axis +VEHICLE_TYPE_CAR Used with llSetVehicleType to make a vehicle that bounces along the ground but needs the motors to be driven from external controls or timer events +VEHICLE_TYPE_BOAT Used with llSetVehicleType to make a vehicle that hovers over water with lots of friction and some angular deflection +VEHICLE_TYPE_AIRPLANE Used with llSetVehicleType to make a vehicle that uses linear deflection for lift, and banking to turn, but doesn't hover +VEHICLE_TYPE_BALLOON Used with llSetVehicleType to make a vehicle that uses hover, and friction, but doesn't use deflection VEHICLE_REFERENCE_FRAME Rotation of vehicle axes relative to local frame @@ -198,7 +217,7 @@ VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY A slider between 0 (bouncy) and 1 (critic VEHICLE_VERTICAL_ATTRACTION_TIMESCALE The exponential timescale for the vehicle to align its z-axis to the world z-axis (vertical) VEHICLE_BANKING_EFFICIENCY A slider between -1 (leans out of turns), 0 (no banking), and +1 (leans into turns) -VEHICLE_BANKING_MIX A slider betwen 0 (static banking) and 1 (dynamic banking) +VEHICLE_BANKING_MIX A slider between 0 (static banking) and 1 (dynamic banking) VEHICLE_BANKING_TIMESCALE The exponential timescale for the banking behavior to take full effect VEHICLE_FLAG_NO_DEFLECTION_UP Prevents linear deflection along world-z axis @@ -208,9 +227,9 @@ VEHICLE_FLAG_HOVER_TERRAIN_ONLY Hover only pays attention to terrain height VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT Hover only pays attention to global height VEHICLE_FLAG_HOVER_UP_ONLY Hover only pushes up VEHICLE_FLAG_LIMIT_MOTOR_UP Prevents ground vehicles from motoring into the sky -VEHICLE_FLAG_MOUSELOOK_STEER Makes vehicle try to turn toward mouselook direction. -VEHICLE_FLAG_MOUSELOOK_BANK Makes vehicle try to turn toward mouselook direction assuming banking is enabled. -VEHICLE_FLAG_CAMERA_DECOUPLED Causes the camera look-at axis to NOT move when the vehicle rotates. +VEHICLE_FLAG_MOUSELOOK_STEER Makes vehicle try to turn toward mouselook direction +VEHICLE_FLAG_MOUSELOOK_BANK Makes vehicle try to turn toward mouselook direction assuming banking is enabled +VEHICLE_FLAG_CAMERA_DECOUPLED Causes the camera look-at axis to NOT move when the vehicle rotates CAMERA_PITCH (-45 to 80) (Adjusts the angular amount that the camera aims straight ahead vs. straight down, maintaining the same distance. Analogous to 'incidence'.") CAMERA_FOCUS_OFFSET (-10 to 10) A vector that adjusts the position of the camera focus position relative to the subject @@ -238,7 +257,7 @@ INVENTORY_BODYPART Passed to task inventory library functions to reference body INVENTORY_ANIMATION Passed to task inventory library functions to reference animations INVENTORY_GESTURE Passed to task inventory library functions to reference gestures INVENTORY_ALL Passed to task inventory library functions to reference all inventory items -INVENTORY_NONE Returned by llGetInventoryType when no item is found. +INVENTORY_NONE Returned by llGetInventoryType when no item is found ATTACH_CHEST Passed to llAttachToAvatar to attach task to chest ATTACH_HEAD Passed to llAttachToAvatar to attach task to head @@ -256,7 +275,7 @@ ATTACH_LEAR Passed to llAttachToAvatar to attach task to left ear ATTACH_REAR Passed to llAttachToAvatar to attach task to right ear ATTACH_LEYE Passed to llAttachToAvatar to attach task to left eye ATTACH_REYE Passed to llAttachToAvatar to attach task to right eye -ATTACH_NOSE Passed to llAttachToAvatar to attach task to noce +ATTACH_NOSE Passed to llAttachToAvatar to attach task to nose ATTACH_RUARM Passed to llAttachToAvatar to attach task to right upper arm ATTACH_RLARM Passed to llAttachToAvatar to attach task to right lower arm ATTACH_LUARM Passed to llAttachToAvatar to attach task to left upper arm @@ -268,8 +287,19 @@ ATTACH_LHIP Passed to llAttachToAvatar to attach task to left hip ATTACH_LULEG Passed to llAttachToAvatar to attach task to left upper leg ATTACH_LLLEG Passed to llAttachToAvatar to attach task to left lower leg ATTACH_BELLY Passed to llAttachToAvatar to attach task to belly -ATTACH_RPEC Passed to llAttachToAvatar to attach task to right pectoral -ATTACH_LPEC Passed to llAttachToAvatar to attach task to left pectoral +ATTACH_LEFT_PEC Passed to llAttachToAvatar to attach task to left pectoral +ATTACH_RIGHT_PEC Passed to llAttachToAvatar to attach task to right pectoral +ATTACH_HUD_CENTER_2 Passed to llAttachToAvatar to attach task to center 2 hud area +ATTACH_HUD_TOP_RIGHT Passed to llAttachToAvatar to attach task to top right hud area +ATTACH_HUD_TOP_CENTER Passed to llAttachToAvatar to attach task to top center hud area +ATTACH_HUD_TOP_LEFT Passed to llAttachToAvatar to attach task to top left hud area +ATTACH_HUD_CENTER_1 Passed to llAttachToAvatar to attach task to center 1 hud area +ATTACH_HUD_BOTTOM_LEFT Passed to llAttachToAvatar to attach task to bottom left hud area +ATTACH_HUD_BOTTOM Passed to llAttachToAvatar to attach task to bottom hud area +ATTACH_HUD_BOTTOM_RIGHT Passed to llAttachToAvatar to attach task to bottom right hud area +##The following attachment points exist only as numbers thus far, but will be ready when the time comes. +#ATTACH_NECK Passed to llAttachToAvatar to attach task to neck +#ATTACH_ROOT Passed to llAttachToAvatar to attach task to avatar center/root LAND_LEVEL Passed to llModifyLand to level terrain LAND_RAISE Passed to llModifyLand to raise terrain @@ -296,7 +326,7 @@ PAYMENT_INFO_USED Used with llRequestAgentData to tell if Agent is of "Payment I ANIM_ON Enable texture animation LOOP Loop when animating textures REVERSE Animate in the reverse direction -PING_PONG Animate forward, then reverse. +PING_PONG Animate forward, then reverse SMOOTH Textures slides, instead of stepping ROTATE Rotates the texture, instead of using frames SCALE Scales the texture, instead of using frames @@ -320,6 +350,7 @@ CHANGED_OWNER Parameter of changed event handler used to indicate change to tas CHANGED_REGION Parameter of changed event handler used to indicate the region has changed CHANGED_TELEPORT Parameter of changed event handler used to indicate teleport has completed CHANGED_REGION_START Parameter of changed event handler used to indicate the region has been restarted +CHANGED_MEDIA Parameter of changed event handler used to indicate that media has changed on a face of the task TYPE_INTEGER Indicates that the list entry is holding an integer TYPE_FLOAT Indicates that the list entry is holding an float @@ -335,25 +366,35 @@ REMOTE_DATA_REQUEST Value of event_type in remote_event if XML-RPC request is re REMOTE_DATA_REPLY Value of event_type in remote_event if XML-RPC reply is received +PRIM_NAME For primitive name (from server v1.40 onwards). Followed by a string. +PRIM_DESC For primitive description (from server v1.40 onwards). Followed by a string. PRIM_TYPE Followed by PRIM_TYPE_BOX, PRIM_TYPE_CYLINDER, PRIM_TYPE_PRISM, PRIM_TYPE_SPHERE, PRIM_TYPE_TORUS, PRIM_TYPE_TUBE, or PRIM_TYPE_SCULPT and their arguments +PRIM_SLICE Get and set the 'slice' parameter of all shapes. Takes a vector parameter of the form +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_MATERIAL Followed by PRIM_MATERIAL_STONE, PRIM_MATERIAL_METAL, PRIM_MATERIAL_GLASS, PRIM_MATERIAL_WOOD, PRIM_MATERIAL_FLESH, PRIM_MATERIAL_PLASTIC, or PRIM_MATERIAL_RUBBER PRIM_PHYSICS Sets physics to TRUE or FALSE PRIM_FLEXIBLE Followed by TRUE or FALSE, integer softness, float gravity, float friction, float wind, float tension, and vector force PRIM_POINT_LIGHT Followed by TRUE or FALSE, vector color, float intensity, float radius, float falloff PRIM_TEMP_ON_REZ Sets temporay on rez to TRUE or FALSE PRIM_PHANTOM Sets phantom to TRUE or FALSE -PRIM_CAST_SHADOWS DEPRECATED. Takes 1 parameter, an integer, but has no effect when set and always returns 0 if used in llGetPrimitiveParams. +PRIM_CAST_SHADOWS DEPRECATED. Takes 1 parameter, an integer, but has no effect when set and always returns 0 if used in llGetPrimitiveParams PRIM_POSITION Sets primitive position to a vector position +PRIM_POS_LOCAL Sets the prim's local position PRIM_SIZE Sets primitive size to a vector size PRIM_ROTATION Sets primitive rotation +PRIM_ROT_LOCAL Sets the prim's local rotation PRIM_TEXTURE Followed by an integer face, key id, vector repeats, vector offsets,:and float rotation in radians +PRIM_TEXT For primitive hovertext. Followed by a string, a vector color and a float alpha PRIM_COLOR Followed by an integer face, vector color, and float alpha PRIM_BUMP_SHINY Followed by an integer face, one of PRIM_SHINY_NONE, PRIM_SHINY_LOW,:PRIM_SHINY_MEDIUM, or PRIM_SHINY_HIGH,:and one of PRIM_BUMP_NONE, PRIM_BUMP_BRIGHT, PRIM_BUMP_DARK, etc PRIM_FULLBRIGHT Followed by an integer face, and TRUE or FALSE PRIM_TEXGEN Followed by an integer face, and one of PRIM_TEXGEN_DEFAULT or PRIM_TEXGEN_PLANAR PRIM_GLOW Followed by an integer face, and a float from 0.0 to 1.0 specifying glow amount -PRIM_NAME Sets/Shows the primitive name -PRIM_TEXT Sets/Shows the primitive desc +PRIM_OMEGA Makes the object spin at the specified axis and rate +PRIM_LINK_TARGET Used to get or set multiple links with a single PrimParameters call + +PROFILE_NONE Disables profiling +PROFILE_SCRIPT_MEMORY Enables memory profiling PRIM_TYPE_BOX Followed by integer hole shape, vector cut, float hollow, vector twist,:vector top size, and vector top shear PRIM_TYPE_CYLINDER Followed by integer hole shape, vector cut, float hollow, vector twist,:vector top size, and vector top shear @@ -364,10 +405,10 @@ PRIM_TYPE_TUBE Followed by integer hole shape, vector cut, float hollow, vector PRIM_TYPE_RING Followed by integer hole shape, vector cut, float hollow, vector twist,:vector hole size, vector top shear, vector advanced cut, vector taper,:float revolutions, float radius offset, and float skew PRIM_TYPE_SCULPT Followed by a key/string texture uuid, and one of PRIM_SCULPT_TYPE_SPHERE, PRIM_SCULPT_TYPE_TORUS, PRIM_SCULPT_TYPE_PLANE, or PRIM_SCULPT_TYPE_CYLINDER -PRIM_HOLE_DEFAULT Sets hole type to match the prim type. -PRIM_HOLE_SQUARE Sets hole type to square. -PRIM_HOLE_CIRCLE Sets hole type to circle. -PRIM_HOLE_TRIANGLE Sets hole type to triangle. +PRIM_HOLE_DEFAULT Sets hole type to match the prim type +PRIM_HOLE_SQUARE Sets hole type to square +PRIM_HOLE_CIRCLE Sets hole type to circle +PRIM_HOLE_TRIANGLE Sets hole type to triangle PRIM_MATERIAL_STONE Sets material to stone PRIM_MATERIAL_METAL Sets material to metal @@ -413,6 +454,10 @@ PRIM_SCULPT_TYPE_MASK Mask used to determine stitching type PRIM_SCULPT_FLAG_INVERT Flag to specify that the surface normals should be inverted PRIM_SCULPT_FLAG_MIRROR Flag to specify that the prim should be reflected along X axis +PRIM_PHYSICS_SHAPE_PRIM Use the normal prim shape for physics (this is the default for all non-mesh objects) +PRIM_PHYSICS_SHAPE_CONVEX Ignore this prim in the physics shape. This cannot be applied to the root prim. +PRIM_PHYSICS_SHAPE_NONE Use the convex hull of the prim shape for physics (this is the default for mesh objects) + MASK_BASE Base permissions MASK_OWNER Owner permissions MASK_GROUP Group permissions @@ -429,6 +474,7 @@ PARCEL_MEDIA_COMMAND_STOP Stop media stream PARCEL_MEDIA_COMMAND_PAUSE Pause media stream PARCEL_MEDIA_COMMAND_PLAY Play media stream PARCEL_MEDIA_COMMAND_LOOP Loop media stream +PARCEL_MEDIA_COMMAND_LOOP_SET Used to get or set the parcel's media loop duration PARCEL_MEDIA_COMMAND_TEXTURE Get or set the parcel's media texture PARCEL_MEDIA_COMMAND_URL Get or set the parcel's media url PARCEL_MEDIA_COMMAND_TYPE Get or set the parcel's media mimetype @@ -437,7 +483,7 @@ PARCEL_MEDIA_COMMAND_TIME Set media stream to specific time PARCEL_MEDIA_COMMAND_SIZE Get or set the parcel's media pixel resolution PARCEL_MEDIA_COMMAND_AGENT Allows media stream commands to apply to only one agent PARCEL_MEDIA_COMMAND_UNLOAD Unloads the media stream -PARCEL_MEDIA_COMMAND_AUTO_ALIGN Auto aligns the media stream to the texture size. May cause a performance hit and loss of some visual quality. +PARCEL_MEDIA_COMMAND_AUTO_ALIGN Auto aligns the media stream to the texture size. May cause a performance hit and loss of some visual quality PAY_HIDE Used with llSetPayPrice to hide a button PAY_DEFAULT Used with llSetPayPrice to use the default price for a button @@ -480,11 +526,19 @@ REGION_FLAG_BLOCK_FLY Used with llGetRegionFlags to find if a region blocks f REGION_FLAG_ALLOW_DIRECT_TELEPORT Used with llGetRegionFlags to find if a region allows direct teleports REGION_FLAG_RESTRICT_PUSHOBJECT Used with llGetRegionFlags to find if a region restricts llPushObject() calls -HTTP_METHOD Used with llHTTPRequest to specify the method, such as "GET" or "POST" +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. + +HTTP_METHOD Used with llHTTPRequest to specify the method, "GET", "POST", "PUT", or "DELETE" HTTP_MIMETYPE Used with llHTTPRequest to specify the MIME type, defaults to "text/plain" -HTTP_BODY_MAXLENGTH Used with llHTTPRequest to specify the maxium reponse body to return +HTTP_BODY_MAXLENGTH Used with llHTTPRequest to specify the maximum response body to return HTTP_VERIFY_CERT Used with llHTTPRequest to specify SSL certificate verification HTTP_BODY_TRUNCATED Used with http_response to indicate truncation point in bytes +HTTP_VERBOSE_THROTTLE Used with llHTTPRequest to shout error messages to DEBUG_CHANNEL if the outgoing request rate exceeds the server limit. PARCEL_COUNT_TOTAL Used with llGetParcelPrimCount to get the total number of prims on the parcel PARCEL_COUNT_OWNER Used with llGetParcelPrimCount to get the number of prims on the parcel owned by the owner @@ -493,16 +547,17 @@ PARCEL_COUNT_OTHER Used with llGetParcelPrimCount to get the number of prims on PARCEL_COUNT_SELECTED Used with llGetParcelPrimCount to get the number of prims on the parcel currently selected or sat upon PARCEL_COUNT_TEMP Used with llGetParcelPrimCount to get the number of prims on the parcel that are temp on rez -PARCEL_DETAILS_NAME Used with llGetParcelDetails to get the parcel name. -PARCEL_DETAILS_DESC Used with llGetParcelDetails to get the parcel description. -PARCEL_DETAILS_OWNER Used with llGetParcelDetails to get the parcel owner id. -PARCEL_DETAILS_GROUP Used with llGetParcelDetails to get the parcel group id. -PARCEL_DETAILS_AREA Used with llGetParcelDetails to get the parcel area in square meters. -PARCEL_DETAILS_ID This is a flag used with llGetParcelDetails to get the parcel UUID. +PARCEL_DETAILS_NAME Used with llGetParcelDetails to get the parcel name +PARCEL_DETAILS_DESC Used with llGetParcelDetails to get the parcel description +PARCEL_DETAILS_OWNER Used with llGetParcelDetails to get the parcel owner id +PARCEL_DETAILS_GROUP Used with llGetParcelDetails to get the parcel group id +PARCEL_DETAILS_AREA Used with llGetParcelDetails to get the parcel area in square meters +PARCEL_DETAILS_ID Used with llGetParcelDetails to get the parcel id +PARCEL_DETAILS_SEE_AVATARS Used with llGetParcelDetails to get the avatars visibility setting -STRING_TRIM_HEAD Used with llStringTrim to trim leading spaces from a string. -STRING_TRIM_TAIL Used with llStringTrim to trim trailing spaces from a string. -STRING_TRIM Used with llStringTrim to trim both leading and trailing spaces from a string. +STRING_TRIM_HEAD Used with llStringTrim to trim leading spaces from a string +STRING_TRIM_TAIL Used with llStringTrim to trim trailing spaces from a string +STRING_TRIM Used with llStringTrim to trim both leading and trailing spaces from a string CLICK_ACTION_NONE Used with llSetClickAction to disable the click action CLICK_ACTION_TOUCH Used with llSetClickAction to set touch as the default action when object is clicked @@ -512,10 +567,11 @@ CLICK_ACTION_PAY Used with llSetClickAction to set pay as the default act CLICK_ACTION_OPEN Used with llSetClickAction to set open as the default action when object is clicked CLICK_ACTION_PLAY Used with llSetClickAction to set play as the default action when object is clicked CLICK_ACTION_OPEN_MEDIA Used with llSetClickAction to set open-media as the default action when object is clicked +CLICK_ACTION_ZOOM Used with llSetClickAction to set zoom in as the default action when object is clicked -TOUCH_INVALID_TEXCOORD Value returned by llDetectedTouchUV() and llDetectedTouchST() when the touch position is not valid. -TOUCH_INVALID_VECTOR Value returned by llDetectedTouchPos(), llDetectedTouchNormal(), and llDetectedTouchBinormal() when the touch position is not valid. -TOUCH_INVALID_FACE Value returned by llDetectedTouchFace() when the touch position is not valid. +TOUCH_INVALID_TEXCOORD Value returned by llDetectedTouchUV() and llDetectedTouchST() when the touch position is not valid +TOUCH_INVALID_VECTOR Value returned by llDetectedTouchPos(), llDetectedTouchNormal(), and llDetectedTouchBinormal() when the touch position is not valid +TOUCH_INVALID_FACE Value returned by llDetectedTouchFace() when the touch position is not valid PRIM_MEDIA_ALT_IMAGE_ENABLE Used with ll{Get,Set}PrimMediaParams to enable the default alt image for media PRIM_MEDIA_CONTROLS Used with ll{Get,Set}PrimMediaParams to determine the controls shown for media @@ -557,14 +613,158 @@ STATUS_NOT_SUPPORTED Feature not supported STATUS_INTERNAL_ERROR An internal error occurred STATUS_WHITELIST_FAILED URL failed to pass whitelist +# windlight constants +WL_WATER_COLOR Windlight Water Colour +WL_WATER_FOG_DENSITY_EXPONENT Windlight Water Fog Density Exponent +WL_UNDERWATER_FOG_MODIFIER Windlight Underwater Fog Modifier +WL_REFLECTION_WAVELET_SCALE Windlight Reflection Wavelet Scale +WL_FRESNEL_SCALE Windlight Fresnel Scale +WL_FRESNEL_OFFSET Windlight Fresnel Offset +WL_REFRACT_SCALE_ABOVE Windlight Refract Scale Above +WL_REFRACT_SCALE_BELOW Windlight Refract Scale Below +WL_BLUR_MULTIPLIER Windlight Blur Multiplier +WL_BIG_WAVE_DIRECTION Windlight Big Wave Direction +WL_LITTLE_WAVE_DIRECTION Windlight Little Wave Direction +WL_NORMAL_MAP_TEXTURE Windlight Normal Map Texture +WL_HORIZON Windlight Horizon Colour +WL_HAZE_HORIZON Windlight Haze Horizon +WL_BLUE_DENSITY Windlight Blue Density +WL_HAZE_DENSITY Windlight Haze Density +WL_DENSITY_MULTIPLIER Windlight Density Multiplier +WL_DISTANCE_MULTIPLIER Windlight Distance Multiplier +WL_MAX_ALTITUDE Windlight Max Altitude +WL_SUN_MOON_COLOR Windlight Sun/Moon Colour +WL_SUN_MOON_POSITION Windlight Sun/Moon Position +WL_AMBIENT Windlight Ambient Colour +WL_EAST_ANGLE Windlight Sun/Position East +WL_SUN_GLOW_FOCUS Windlight Sun Glow Focus +WL_SUN_GLOW_SIZE Windlight Sun Glow Size +WL_SCENE_GAMMA Windlight Scene Gamma +WL_STAR_BRIGHTNESS Windlight Star Brightness +WL_CLOUD_COLOR Windlight Cloud Colour +WL_CLOUD_XY_DENSITY Windlight Cloud X/Y/Density +WL_CLOUD_COVERAGE Windlight Cloud Coverage +WL_CLOUD_SCALE Windlight Cloud Scale +WL_CLOUD_DETAIL_XY_DENSITY Windlight Cloud Detail X/Y/Density +WL_CLOUD_SCROLL_X Windlight Cloud Scroll X +WL_CLOUD_SCROLL_Y Windlight Cloud Scroll Y +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 +# keyframe 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. + +# 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) + +# physics constants +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. + +##Even more missing constants, thanks to Justin Clark Casey for pointing me into the right direction +##Liru: Were these supposed to be LSL? They're undocumented, commenting out for now. +#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 +#LIST_STAT_HARMONIC_MEAN +#PARCEL_DETAILS_CLAIMDATE +#VEHICLE_FLAG_LOCK_HOVER_HEIGHT +#VEHICLE_FLAG_LOCK_ROTATION +#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 + +# castray constants +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. # string constants [word .48, .72, .84] NULL_KEY Indicates an empty key EOF Indicates the last line of a notecard was read TEXTURE_BLANK UUID for the "Blank" texture -TEXTURE_DEFAULT UUID for the "Default Media" texture +TEXTURE_DEFAULT Alias for TEXTURE_PLYWOOD +TEXTURE_MEDIA UUID for the "Default Media" texture TEXTURE_PLYWOOD UUID for the default "Plywood" texture TEXTURE_TRANSPARENT UUID for the "White - Transparent" texture @@ -603,12 +803,11 @@ return Leave current function or event handler # Comment [one_sided_delimiter .86, .69, .50] // Comment:Non-functional commentary or disabled code -# for now two_sided_delimiter spans from the token to the token, reversed. (eg: /* to */) -[two_sided_delimiter .86, .69, .50] -/* Comment:Non-functional commentary or disabled code +[two_sided_delimiter_esc .86, .69, .50] +/* */ Comment:Non-functional commentary or disabled code # String literals [two_sided_delimiter_esc .57, .83, .52] -" String literal +" " String literal -#functions are supplied by the program now. +#functions are supplied by the program now