aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra
diff options
context:
space:
mode:
authorMcCabe Maxsted2010-08-16 20:48:04 -0700
committerMcCabe Maxsted2010-08-16 20:48:04 -0700
commit1b202fc9ba129cc213e7d84a258e878a1815866d (patch)
tree0175c473604f66c3d80cec8677871b77d6a8843b /linden/indra
parentLoad other missing UUIDs from OpenSim from file instead (diff)
downloadmeta-impy-1b202fc9ba129cc213e7d84a258e878a1815866d.zip
meta-impy-1b202fc9ba129cc213e7d84a258e878a1815866d.tar.gz
meta-impy-1b202fc9ba129cc213e7d84a258e878a1815866d.tar.bz2
meta-impy-1b202fc9ba129cc213e7d84a258e878a1815866d.tar.xz
Fixed some missing constants in the script editor and added llGetLinkNumberOfSides
Diffstat (limited to '')
-rw-r--r--linden/indra/llcommon/llclickaction.h1
-rw-r--r--linden/indra/llcommon/lllslconstants.h17
-rw-r--r--linden/indra/lscript/lscript_compile/indra.l47
-rw-r--r--linden/indra/lscript/lscript_compile/lscript_bytecode.cpp2
-rw-r--r--linden/indra/lscript/lscript_compile/lscript_tree.cpp4
-rw-r--r--linden/indra/lscript/lscript_library/lscript_library.cpp7
-rw-r--r--linden/indra/newview/app_settings/keywords.ini5
7 files changed, 73 insertions, 10 deletions
diff --git a/linden/indra/llcommon/llclickaction.h b/linden/indra/llcommon/llclickaction.h
index 8048724..209e2d6 100644
--- a/linden/indra/llcommon/llclickaction.h
+++ b/linden/indra/llcommon/llclickaction.h
@@ -42,5 +42,6 @@ const U8 CLICK_ACTION_PAY = 3;
42const U8 CLICK_ACTION_OPEN = 4; 42const U8 CLICK_ACTION_OPEN = 4;
43const U8 CLICK_ACTION_PLAY = 5; 43const U8 CLICK_ACTION_PLAY = 5;
44const U8 CLICK_ACTION_OPEN_MEDIA = 6; 44const U8 CLICK_ACTION_OPEN_MEDIA = 6;
45const U8 CLICK_ACTION_ZOOM = 7;
45 46
46#endif 47#endif
diff --git a/linden/indra/llcommon/lllslconstants.h b/linden/indra/llcommon/lllslconstants.h
index 7cd854f..fc5363f 100644
--- a/linden/indra/llcommon/lllslconstants.h
+++ b/linden/indra/llcommon/lllslconstants.h
@@ -48,6 +48,7 @@ const U32 AGENT_TYPING = 0x0200;
48const U32 AGENT_CROUCHING = 0x0400; 48const U32 AGENT_CROUCHING = 0x0400;
49const U32 AGENT_BUSY = 0x0800; 49const U32 AGENT_BUSY = 0x0800;
50const U32 AGENT_ALWAYS_RUN = 0x1000; 50const U32 AGENT_ALWAYS_RUN = 0x1000;
51const U32 AGENT_AUTOPILOT = 0x2000;
51 52
52const S32 LSL_REMOTE_DATA_CHANNEL = 1; 53const S32 LSL_REMOTE_DATA_CHANNEL = 1;
53const S32 LSL_REMOTE_DATA_REQUEST = 2; 54const S32 LSL_REMOTE_DATA_REQUEST = 2;
@@ -72,6 +73,9 @@ const S32 LSL_PRIM_TEXGEN = 22;
72const S32 LSL_PRIM_POINT_LIGHT = 23; 73const S32 LSL_PRIM_POINT_LIGHT = 23;
73const S32 LSL_PRIM_CAST_SHADOWS = 24; 74const S32 LSL_PRIM_CAST_SHADOWS = 24;
74const S32 LSL_PRIM_GLOW = 25; 75const S32 LSL_PRIM_GLOW = 25;
76const S32 LSL_PRIM_TEXT = 26;
77const S32 LSL_PRIM_NAME = 27;
78const S32 LSL_PRIM_DESC = 28;
75 79
76const S32 LSL_PRIM_TYPE_BOX = 0; 80const S32 LSL_PRIM_TYPE_BOX = 0;
77const S32 LSL_PRIM_TYPE_CYLINDER= 1; 81const S32 LSL_PRIM_TYPE_CYLINDER= 1;
@@ -201,5 +205,18 @@ const U32 CHANGED_OWNER = 0x80;
201const U32 CHANGED_REGION = 0x100; 205const U32 CHANGED_REGION = 0x100;
202const U32 CHANGED_TELEPORT = 0x200; 206const U32 CHANGED_TELEPORT = 0x200;
203const U32 CHANGED_REGION_START = 0x400; 207const U32 CHANGED_REGION_START = 0x400;
208const U32 CHANGED_MEDIA = 0x800;
209
210// Possible error results
211const U32 LSL_STATUS_OK = 0;
212const U32 LSL_STATUS_MALFORMED_PARAMS = 1000;
213const U32 LSL_STATUS_TYPE_MISMATCH = 1001;
214const U32 LSL_STATUS_BOUNDS_ERROR = 1002;
215const U32 LSL_STATUS_NOT_FOUND = 1003;
216const U32 LSL_STATUS_NOT_SUPPORTED = 1004;
217const U32 LSL_STATUS_INTERNAL_ERROR = 1999;
218
219// Start per-function errors below, starting at 2000:
220const U32 LSL_STATUS_WHITELIST_FAILED = 2001;
204 221
205#endif 222#endif
diff --git a/linden/indra/lscript/lscript_compile/indra.l b/linden/indra/lscript/lscript_compile/indra.l
index ac52432..584087e 100644
--- a/linden/indra/lscript/lscript_compile/indra.l
+++ b/linden/indra/lscript/lscript_compile/indra.l
@@ -150,6 +150,7 @@ extern "C" { int yyerror(const char *fmt, ...); }
150"AGENT_CROUCHING" { count(); yylval.ival = AGENT_CROUCHING; return(INTEGER_CONSTANT); } 150"AGENT_CROUCHING" { count(); yylval.ival = AGENT_CROUCHING; return(INTEGER_CONSTANT); }
151"AGENT_BUSY" { count(); yylval.ival = AGENT_BUSY; return(INTEGER_CONSTANT); } 151"AGENT_BUSY" { count(); yylval.ival = AGENT_BUSY; return(INTEGER_CONSTANT); }
152"AGENT_ALWAYS_RUN" { count(); yylval.ival = AGENT_ALWAYS_RUN; return(INTEGER_CONSTANT); } 152"AGENT_ALWAYS_RUN" { count(); yylval.ival = AGENT_ALWAYS_RUN; return(INTEGER_CONSTANT); }
153"AGENT_AUTOPILOT" { count(); yylval.ival = AGENT_AUTOPILOT; return(INTEGER_CONSTANT); }
153 154
154"CAMERA_PITCH" { count(); yylval.ival = FOLLOWCAM_PITCH; return(INTEGER_CONSTANT); } 155"CAMERA_PITCH" { count(); yylval.ival = FOLLOWCAM_PITCH; return(INTEGER_CONSTANT); }
155"CAMERA_FOCUS_OFFSET" { count(); yylval.ival = FOLLOWCAM_FOCUS_OFFSET; return (INTEGER_CONSTANT); } 156"CAMERA_FOCUS_OFFSET" { count(); yylval.ival = FOLLOWCAM_FOCUS_OFFSET; return (INTEGER_CONSTANT); }
@@ -232,7 +233,8 @@ extern "C" { int yyerror(const char *fmt, ...); }
232"CHANGED_OWNER" { count(); yylval.ival = CHANGED_OWNER; return(INTEGER_CONSTANT); } 233"CHANGED_OWNER" { count(); yylval.ival = CHANGED_OWNER; return(INTEGER_CONSTANT); }
233"CHANGED_REGION" { count(); yylval.ival = CHANGED_REGION; return(INTEGER_CONSTANT); } 234"CHANGED_REGION" { count(); yylval.ival = CHANGED_REGION; return(INTEGER_CONSTANT); }
234"CHANGED_TELEPORT" { count(); yylval.ival = CHANGED_TELEPORT; return(INTEGER_CONSTANT); } 235"CHANGED_TELEPORT" { count(); yylval.ival = CHANGED_TELEPORT; return(INTEGER_CONSTANT); }
235"CHANGED_REGION_START" { count(); yylval.ival = CHANGED_REGION_START; return(INTEGER_CONSTANT); } 236"CHANGED_REGION_START" { count(); yylval.ival = CHANGED_REGION_START; return(INTEGER_CONSTANT); }
237"CHANGED_MEDIA" { count(); yylval.ival = CHANGED_MEDIA; return(INTEGER_CONSTANT); }
236 238
237"OBJECT_UNKNOWN_DETAIL" { count(); yylval.ival = OBJECT_UNKNOWN_DETAIL; return(INTEGER_CONSTANT); } 239"OBJECT_UNKNOWN_DETAIL" { count(); yylval.ival = OBJECT_UNKNOWN_DETAIL; return(INTEGER_CONSTANT); }
238"OBJECT_NAME" { count(); yylval.ival = OBJECT_NAME; return(INTEGER_CONSTANT); } 240"OBJECT_NAME" { count(); yylval.ival = OBJECT_NAME; return(INTEGER_CONSTANT); }
@@ -452,6 +454,9 @@ extern "C" { int yyerror(const char *fmt, ...); }
452"PRIM_FULLBRIGHT" { count(); yylval.ival = LSL_PRIM_FULLBRIGHT; return(INTEGER_CONSTANT); } 454"PRIM_FULLBRIGHT" { count(); yylval.ival = LSL_PRIM_FULLBRIGHT; return(INTEGER_CONSTANT); }
453"PRIM_TEXGEN" { count(); yylval.ival = LSL_PRIM_TEXGEN; return(INTEGER_CONSTANT); } 455"PRIM_TEXGEN" { count(); yylval.ival = LSL_PRIM_TEXGEN; return(INTEGER_CONSTANT); }
454"PRIM_GLOW" { count(); yylval.ival = LSL_PRIM_GLOW; return(INTEGER_CONSTANT); } 456"PRIM_GLOW" { count(); yylval.ival = LSL_PRIM_GLOW; return(INTEGER_CONSTANT); }
457"PRIM_TEXT" { count(); yylval.ival = LSL_PRIM_TEXT; return(INTEGER_CONSTANT); }
458"PRIM_NAME" { count(); yylval.ival = LSL_PRIM_NAME; return(INTEGER_CONSTANT); }
459"PRIM_DESC" { count(); yylval.ival = LSL_PRIM_DESC; return(INTEGER_CONSTANT); }
455 460
456"PRIM_TYPE_BOX" { count(); yylval.ival = LSL_PRIM_TYPE_BOX; return(INTEGER_CONSTANT); } 461"PRIM_TYPE_BOX" { count(); yylval.ival = LSL_PRIM_TYPE_BOX; return(INTEGER_CONSTANT); }
457"PRIM_TYPE_CYLINDER" { count(); yylval.ival = LSL_PRIM_TYPE_CYLINDER; return(INTEGER_CONSTANT); } 462"PRIM_TYPE_CYLINDER" { count(); yylval.ival = LSL_PRIM_TYPE_CYLINDER; return(INTEGER_CONSTANT); }
@@ -610,6 +615,7 @@ extern "C" { int yyerror(const char *fmt, ...); }
610"CLICK_ACTION_OPEN" { count(); yylval.ival = CLICK_ACTION_OPEN; return(INTEGER_CONSTANT); } 615"CLICK_ACTION_OPEN" { count(); yylval.ival = CLICK_ACTION_OPEN; return(INTEGER_CONSTANT); }
611"CLICK_ACTION_PLAY" { count(); yylval.ival = CLICK_ACTION_PLAY; return(INTEGER_CONSTANT); } 616"CLICK_ACTION_PLAY" { count(); yylval.ival = CLICK_ACTION_PLAY; return(INTEGER_CONSTANT); }
612"CLICK_ACTION_OPEN_MEDIA" { count(); yylval.ival = CLICK_ACTION_OPEN_MEDIA; return(INTEGER_CONSTANT); } 617"CLICK_ACTION_OPEN_MEDIA" { count(); yylval.ival = CLICK_ACTION_OPEN_MEDIA; return(INTEGER_CONSTANT); }
618"CLICK_ACTION_ZOOM" { count(); yylval.ival = CLICK_ACTION_ZOOM; return(INTEGER_CONSTANT); }
613 619
614"TEXTURE_BLANK" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, "5748decc-f629-461c-9a36-a35a221fe21f"); return(STRING_CONSTANT); } 620"TEXTURE_BLANK" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, "5748decc-f629-461c-9a36-a35a221fe21f"); return(STRING_CONSTANT); }
615"TEXTURE_DEFAULT" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, "89556747-24cb-43ed-920b-47caed15465f"); return(STRING_CONSTANT); } 621"TEXTURE_DEFAULT" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, "89556747-24cb-43ed-920b-47caed15465f"); return(STRING_CONSTANT); }
@@ -621,6 +627,45 @@ extern "C" { int yyerror(const char *fmt, ...); }
621"TOUCH_INVALID_VECTOR" { count(); return(TOUCH_INVALID_VECTOR); } 627"TOUCH_INVALID_VECTOR" { count(); return(TOUCH_INVALID_VECTOR); }
622"TOUCH_INVALID_TEXCOORD" { count(); return(TOUCH_INVALID_TEXCOORD); } 628"TOUCH_INVALID_TEXCOORD" { count(); return(TOUCH_INVALID_TEXCOORD); }
623 629
630"PRIM_MEDIA_ALT_IMAGE_ENABLE" { count(); yylval.ival = 0; return(INTEGER_CONSTANT); }
631"PRIM_MEDIA_CONTROLS" { count(); yylval.ival = 1; return(INTEGER_CONSTANT); }
632"PRIM_MEDIA_CURRENT_URL" { count(); yylval.ival = 2; return(INTEGER_CONSTANT); }
633"PRIM_MEDIA_HOME_URL" { count(); yylval.ival = 3; return(INTEGER_CONSTANT); }
634"PRIM_MEDIA_AUTO_LOOP" { count(); yylval.ival = 4; return(INTEGER_CONSTANT); }
635"PRIM_MEDIA_AUTO_PLAY" { count(); yylval.ival = 5; return(INTEGER_CONSTANT); }
636"PRIM_MEDIA_AUTO_SCALE" { count(); yylval.ival = 6; return(INTEGER_CONSTANT); }
637"PRIM_MEDIA_AUTO_ZOOM" { count(); yylval.ival = 7; return(INTEGER_CONSTANT); }
638"PRIM_MEDIA_FIRST_CLICK_INTERACT" { count(); yylval.ival = 8; return(INTEGER_CONSTANT); }
639"PRIM_MEDIA_WIDTH_PIXELS" { count(); yylval.ival = 9; return(INTEGER_CONSTANT); }
640"PRIM_MEDIA_HEIGHT_PIXELS" { count(); yylval.ival = 10; return(INTEGER_CONSTANT); }
641"PRIM_MEDIA_WHITELIST_ENABLE" { count(); yylval.ival = 11; return(INTEGER_CONSTANT); }
642"PRIM_MEDIA_WHITELIST" { count(); yylval.ival = 12; return(INTEGER_CONSTANT); }
643"PRIM_MEDIA_PERMS_INTERACT" { count(); yylval.ival = 13; return(INTEGER_CONSTANT); }
644"PRIM_MEDIA_PERMS_CONTROL" { count(); yylval.ival = 14; return(INTEGER_CONSTANT); }
645"PRIM_MEDIA_PARAM_MAX" { count(); yylval.ival = 14; return(INTEGER_CONSTANT); }
646
647"PRIM_MEDIA_CONTROLS_STANDARD" { count(); yylval.ival = 0; return(INTEGER_CONSTANT); }
648"PRIM_MEDIA_CONTROLS_MINI" { count(); yylval.ival = 1; return(INTEGER_CONSTANT); }
649
650"PRIM_MEDIA_PERM_NONE" { count(); yylval.ival = 0x0; return(INTEGER_CONSTANT); }
651"PRIM_MEDIA_PERM_OWNER" { count(); yylval.ival = 0x1; return(INTEGER_CONSTANT); }
652"PRIM_MEDIA_PERM_GROUP" { count(); yylval.ival = 0x3; return(INTEGER_CONSTANT); }
653"PRIM_MEDIA_PERM_ANYONE" { count(); yylval.ival = 0x4; return(INTEGER_CONSTANT); }
654
655"PRIM_MEDIA_MAX_URL_LENGTH" { count(); yylval.ival = 1024; return(INTEGER_CONSTANT); }
656"PRIM_MEDIA_MAX_WHITELIST_SIZE" { count(); yylval.ival = 1024; return(INTEGER_CONSTANT); }
657"PRIM_MEDIA_MAX_WHITELIST_COUNT" { count(); yylval.ival = 64; return(INTEGER_CONSTANT); }
658"PRIM_MEDIA_MAX_WIDTH_PIXELS" { count(); yylval.ival = 2048; return(INTEGER_CONSTANT); }
659"PRIM_MEDIA_MAX_HEIGHT_PIXELS" { count(); yylval.ival = 2048; return(INTEGER_CONSTANT); }
660
661"STATUS_OK" { count(); yylval.ival = LSL_STATUS_OK; return(INTEGER_CONSTANT); }
662"STATUS_MALFORMED_PARAMS" { count(); yylval.ival = LSL_STATUS_MALFORMED_PARAMS; return(INTEGER_CONSTANT); }
663"STATUS_TYPE_MISMATCH" { count(); yylval.ival = LSL_STATUS_TYPE_MISMATCH; return(INTEGER_CONSTANT); }
664"STATUS_BOUNDS_ERROR" { count(); yylval.ival = LSL_STATUS_BOUNDS_ERROR; return(INTEGER_CONSTANT); }
665"STATUS_NOT_FOUND" { count(); yylval.ival = LSL_STATUS_NOT_FOUND; return(INTEGER_CONSTANT); }
666"STATUS_NOT_SUPPORTED" { count(); yylval.ival = LSL_STATUS_NOT_SUPPORTED; return(INTEGER_CONSTANT); }
667"STATUS_INTERNAL_ERROR" { count(); yylval.ival = LSL_STATUS_INTERNAL_ERROR; return(INTEGER_CONSTANT); }
668"STATUS_WHITELIST_FAILED" { count(); yylval.ival = LSL_STATUS_WHITELIST_FAILED; return(INTEGER_CONSTANT); }
624 669
625{L}({L}|{N})* { count(); yylval.sval = new char[strlen(yytext) + 1]; strcpy(yylval.sval, yytext); return(IDENTIFIER); } 670{L}({L}|{N})* { count(); yylval.sval = new char[strlen(yytext) + 1]; strcpy(yylval.sval, yytext); return(IDENTIFIER); }
626 671
diff --git a/linden/indra/lscript/lscript_compile/lscript_bytecode.cpp b/linden/indra/lscript/lscript_compile/lscript_bytecode.cpp
index 9cd7d48..0e46064 100644
--- a/linden/indra/lscript/lscript_compile/lscript_bytecode.cpp
+++ b/linden/indra/lscript/lscript_compile/lscript_bytecode.cpp
@@ -312,7 +312,7 @@ void LLScriptScriptCodeChunk::build(LLFILE *efp, LLFILE *bcfp)
312 set_register(mCompleteCode, LREG_TM, mTotalSize); 312 set_register(mCompleteCode, LREG_TM, mTotalSize);
313 313
314 314
315 if (fwrite(mCompleteCode, 1, mTotalSize, bcfp) != mTotalSize) 315 if (fwrite(mCompleteCode, 1, mTotalSize, bcfp) != (size_t)mTotalSize)
316 { 316 {
317 llwarns << "Short write" << llendl; 317 llwarns << "Short write" << llendl;
318 } 318 }
diff --git a/linden/indra/lscript/lscript_compile/lscript_tree.cpp b/linden/indra/lscript/lscript_compile/lscript_tree.cpp
index e291d4c..984e7b0 100644
--- a/linden/indra/lscript/lscript_compile/lscript_tree.cpp
+++ b/linden/indra/lscript/lscript_compile/lscript_tree.cpp
@@ -631,9 +631,7 @@ static void print_cil_cast(LLFILE* fp, LSCRIPTType srcType, LSCRIPTType targetTy
631 switch(targetType) 631 switch(targetType)
632 { 632 {
633 case LST_INTEGER: 633 case LST_INTEGER:
634 //fprintf(fp, "call int32 [LslLibrary]LindenLab.SecondLife.LslRunTime::ToInteger(float32)\n"); 634 fprintf(fp, "call int32 [LslLibrary]LindenLab.SecondLife.LslRunTime::ToInteger(float32)\n");
635 fprintf(fp, "conv.i4\n"); // TODO replace this line with the above
636 // we the entire grid is > 1.25.1
637 break; 635 break;
638 case LST_STRING: 636 case LST_STRING:
639 fprintf(fp, "call string [LslLibrary]LindenLab.SecondLife.LslRunTime::ToString(float32)\n"); 637 fprintf(fp, "call string [LslLibrary]LindenLab.SecondLife.LslRunTime::ToString(float32)\n");
diff --git a/linden/indra/lscript/lscript_library/lscript_library.cpp b/linden/indra/lscript/lscript_library/lscript_library.cpp
index 40675af..68daa50 100644
--- a/linden/indra/lscript/lscript_library/lscript_library.cpp
+++ b/linden/indra/lscript/lscript_library/lscript_library.cpp
@@ -459,13 +459,14 @@ void LLScriptLibrary::init()
459 addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetHTTPHeader", "s", "ks", "string llGetHTTPHeader(key id, string header)\nGet the value for header for request id.")); 459 addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetHTTPHeader", "s", "ks", "string llGetHTTPHeader(key id, string header)\nGet the value for header for request id."));
460 460
461 // Prim media functions and those added in SL server 1.38 -- MC 461 // Prim media functions and those added in SL server 1.38 -- MC
462 addFunction(new LLScriptLibraryFunction(10.f, 1.0f, dummy_func, "llSetPrimMediaParams", "i", "il", "llSetPrimMediaParams(integer face, list params)\nSets the media params for a particular face on an object. If media is not already on this object, add it.\nList is a set of name/value pairs in no particular order. Params not specified are unchanged, or if new media is added then set to the default specified.\nThe possible names are below, along with the types of values and what they mean.")); 462 addFunction(new LLScriptLibraryFunction(10.f, 1.0f, dummy_func, "llSetPrimMediaParams", "i", "il", "llSetPrimMediaParams(integer face, list params)\nSets the media params for a particular face on an object. If media is not already on this object, add it.\nList is a set of name/value pairs in no particular order. Params not specified are unchanged, or if new media is added then set to the default specified."));
463 addFunction(new LLScriptLibraryFunction(10.f, 1.0f, dummy_func, "llGetPrimMediaParams", "l", "il", "list llGetPrimMediaParams(integer face, list params)\nReturns the media params for a particular face on an object, given the desired list of names, in the order requested.\n(Returns an empty list if no media exists on the face.)")); 463 addFunction(new LLScriptLibraryFunction(10.f, 1.0f, dummy_func, "llGetPrimMediaParams", "l", "il", "list llGetPrimMediaParams(integer face, list params)\nReturns the media params for a particular face on an object, given the desired list of names, in the order requested.\nReturns an empty list if no media exists on the face."));
464 addFunction(new LLScriptLibraryFunction(10.f, 1.0f, dummy_func, "llClearPrimMedia", "i", "i", "llClearPrimMedia(integer face)\nClears (deletes) the media and all params from the given face.")); 464 addFunction(new LLScriptLibraryFunction(10.f, 1.0f, dummy_func, "llClearPrimMedia", "i", "i", "llClearPrimMedia(integer face)\nClears (deletes) the media and all params from the given face."));
465 addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetLinkPrimitiveParamsFast", NULL, "il", "llSetLinkPrimitiveParamsFast(integer linknumber, list rules);\nIdentical to llSetLinkPrimitiveParams except with no script delay.")); 465 addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetLinkPrimitiveParamsFast", NULL, "il", "llSetLinkPrimitiveParamsFast(integer linknumber, list rules);\nIdentical to llSetLinkPrimitiveParams except with no script delay."));
466 addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetLinkPrimitiveParams", NULL, "il", "list llGetLinkPrimitiveParams(integer link, list params)\nSimilar to llGetPrimitiveParams except works for any prim in the link set and with no script delay.")); 466 addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetLinkPrimitiveParams", NULL, "il", "list llGetLinkPrimitiveParams(integer link, list params)\nSimilar to llGetPrimitiveParams except works for any prim in the link set and with no script delay."));
467 addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llLinkParticleSystem", NULL, "il", "llLinkParticleSystem(integer link, list params)\nSimilar to llParticleSystem except works for any prim in the link set.")); 467 addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llLinkParticleSystem", NULL, "il", "llLinkParticleSystem(integer link, list params)\nSimilar to llParticleSystem except works for any prim in the link set."));
468 addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetLinkTextureAnim", NULL, "iiiiifff", "llSetLinkTextureAnim(integer link, integer mode, integer face, integer sizex, integer sizey, float start, float length, float rate);\nSimilar to llSetTextureAnim except works for any prim in the link set")); 468 addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetLinkTextureAnim", NULL, "iiiiifff", "llSetLinkTextureAnim(integer link, integer mode, integer face, integer sizex, integer sizey, float start, float length, float rate);\nSimilar to llSetTextureAnim() but applies to any prim in the link set."));
469 addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetLinkNumberOfSides", "i", "i", "integer llGetLinkNumberOfSides(integer link)\nSimilar to llGetNumberOfSides() but applies to any prim in the link set."));
469 470
470 // energy, sleep, dummy_func, name, return type, parameters, help text, gods-only 471 // energy, sleep, dummy_func, name, return type, parameters, help text, gods-only
471 472
diff --git a/linden/indra/newview/app_settings/keywords.ini b/linden/indra/newview/app_settings/keywords.ini
index b8f9cec..8e303dc 100644
--- a/linden/indra/newview/app_settings/keywords.ini
+++ b/linden/indra/newview/app_settings/keywords.ini
@@ -353,8 +353,9 @@ PRIM_BUMP_SHINY Followed by an integer face, one of PRIM_SHINY_NONE, PRIM_SHINY
353PRIM_FULLBRIGHT Followed by an integer face, and TRUE or FALSE 353PRIM_FULLBRIGHT Followed by an integer face, and TRUE or FALSE
354PRIM_TEXGEN Followed by an integer face, and one of PRIM_TEXGEN_DEFAULT or PRIM_TEXGEN_PLANAR 354PRIM_TEXGEN Followed by an integer face, and one of PRIM_TEXGEN_DEFAULT or PRIM_TEXGEN_PLANAR
355PRIM_GLOW Followed by an integer face, and a float from 0.0 to 1.0 specifying glow amount 355PRIM_GLOW Followed by an integer face, and a float from 0.0 to 1.0 specifying glow amount
356PRIM_NAME Sets/Shows the primitive name 356PRIM_TEXT For primitive hovertext. Followed by a string, a vector color and a float alpha
357PRIM_TEXT Sets/Shows the primitive desc 357PRIM_NAME For primitive name (from server v1.40 onwards). Followed by a string.
358PRIM_DESC For primitive description (from server v1.40 onwards). Followed by a string.
358 359
359PRIM_TYPE_BOX Followed by integer hole shape, vector cut, float hollow, vector twist,:vector top size, and vector top shear 360PRIM_TYPE_BOX Followed by integer hole shape, vector cut, float hollow, vector twist,:vector top size, and vector top shear
360PRIM_TYPE_CYLINDER Followed by integer hole shape, vector cut, float hollow, vector twist,:vector top size, and vector top shear 361PRIM_TYPE_CYLINDER Followed by integer hole shape, vector cut, float hollow, vector twist,:vector top size, and vector top shear