Fixed up Keywords

Up to date definitions and reorganizations,
commented out constants that apparently don't exist.
Fixed Strings not highlighting by borrowing missing code from Phoenix.

Also, this fixes 1020 being treated as UnknownAltitude when not on SL grid
and cleans up the horrible tabbing/spacing mud in llfloateravatarlist.cpp
This commit is contained in:
Lirusaito
2012-06-24 01:52:56 -04:00
parent 48a2d0497b
commit 26810ff16a
5 changed files with 596 additions and 308 deletions

View File

@@ -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<len; i++)
{
if (s[i] != t[i])
@@ -112,6 +138,7 @@ BOOL LLKeywords::loadFromFile( const std::string& filename )
std::string SOL_LINE("[line ");
std::string SOL_ONE_SIDED_DELIMITER("[one_sided_delimiter ");
std::string SOL_TWO_SIDED_DELIMITER("[two_sided_delimiter ");
std::string SOL_TWO_SIDED_DELIMITER_ESC("[two_sided_delimiter_esc ");
LLColor3 cur_color( 1, 0, 0 );
LLKeywordToken::TOKEN_TYPE cur_type = LLKeywordToken::WORD;
@@ -143,6 +170,12 @@ BOOL LLKeywords::loadFromFile( const std::string& filename )
cur_type = LLKeywordToken::TWO_SIDED_DELIMITER;
continue;
}
else if( line.find(SOL_TWO_SIDED_DELIMITER_ESC) == 0 )
{
cur_color = readColor( line.substr(SOL_TWO_SIDED_DELIMITER_ESC.size()) );
cur_type = LLKeywordToken::TWO_SIDED_DELIMITER_ESC;
continue;
}
else if( line.find(SOL_ONE_SIDED_DELIMITER) == 0 )
{
cur_color = readColor( line.substr(SOL_ONE_SIDED_DELIMITER.size()) );
@@ -163,6 +196,17 @@ BOOL LLKeywords::loadFromFile( const std::string& filename )
// first word is keyword
std::string keyword = (*token_word_iter);
LLStringUtil::trim(keyword);
// second word may be right delimiter
std::string delimiter;
if (cur_type == LLKeywordToken::TWO_SIDED_DELIMITER || cur_type == LLKeywordToken::TWO_SIDED_DELIMITER_ESC)
{
while (delimiter.length() == 0 && ++token_word_iter != word_tokens.end())
{
delimiter = *token_word_iter;
LLStringUtil::trim(delimiter);
}
}
// following words are tooltip
std::string tool_tip;
@@ -176,11 +220,11 @@ BOOL LLKeywords::loadFromFile( const std::string& filename )
{
// Replace : with \n for multi-line tool tips.
LLStringUtil::replaceChar( tool_tip, ':', '\n' );
addToken(cur_type, keyword, cur_color, tool_tip );
addToken(cur_type, keyword, cur_color, tool_tip, delimiter );
}
else
{
addToken(cur_type, keyword, cur_color, LLStringUtil::null );
addToken(cur_type, keyword, cur_color, LLStringUtil::null, delimiter );
}
}
}
@@ -195,23 +239,26 @@ BOOL LLKeywords::loadFromFile( const std::string& filename )
void LLKeywords::addToken(LLKeywordToken::TOKEN_TYPE type,
const std::string& key_in,
const LLColor3& color,
const std::string& tool_tip_in )
const std::string& tool_tip_in,
const std::string& delimiter_in)
{
LLWString key = utf8str_to_wstring(key_in);
LLWString tool_tip = utf8str_to_wstring(tool_tip_in);
LLWString delimiter = utf8str_to_wstring(delimiter_in);
switch(type)
{
case LLKeywordToken::WORD:
mWordTokenMap[key] = new LLKeywordToken(type, color, key, tool_tip);
mWordTokenMap[key] = new LLKeywordToken(type, color, key, tool_tip, LLWStringUtil::null);
break;
case LLKeywordToken::LINE:
mLineTokenList.push_front(new LLKeywordToken(type, color, key, tool_tip));
mLineTokenList.push_front(new LLKeywordToken(type, color, key, tool_tip, LLWStringUtil::null));
break;
case LLKeywordToken::TWO_SIDED_DELIMITER:
case LLKeywordToken::TWO_SIDED_DELIMITER_ESC:
case LLKeywordToken::ONE_SIDED_DELIMITER:
mDelimiterTokenList.push_front(new LLKeywordToken(type, color, key, tool_tip));
mDelimiterTokenList.push_front(new LLKeywordToken(type, color, key, tool_tip, delimiter));
break;
default:
@@ -249,7 +296,7 @@ void LLKeywords::findSegments(std::vector<LLTextSegment *>* 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<LLTextSegment *>* 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<LLTextSegment *>* 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<LLTextSegment *>* 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<LLTextSegment *>* 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<LLTextSegment *>* 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++;
}

View File

@@ -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<LLWString, LLKeywordToken*> word_token_map_t;
typedef word_token_map_t::const_iterator keyword_iterator_t;

View File

@@ -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 <start_slice, end_slice, 0>
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

View File

@@ -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<LLUUID> 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<LLUUID> ids = mAvatarList->getSelectedIDs();
for (LLDynamicArray<LLUUID>::iterator itr = ids.begin(); itr != ids.end(); ++itr)
{
@@ -1590,7 +1591,7 @@ void LLFloaterAvatarList::onClickMute(void *userdata)
for (LLDynamicArray<LLUUID>::iterator itr = ids.begin(); itr != ids.end(); ++itr)
{
LLUUID agent_id = *itr;
std::string agent_name;
if (gCacheName->getFullName(agent_id, agent_name))
{

View File

@@ -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 <start_slice, end_slice, 0>
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