diff --git a/indra/lscript/lscript_byteformat.h b/indra/lscript/lscript_byteformat.h index a54ebd583..bf810817b 100644 --- a/indra/lscript/lscript_byteformat.h +++ b/indra/lscript/lscript_byteformat.h @@ -535,6 +535,7 @@ typedef enum e_lscript_runtime_permissions SCRIPT_PERMISSION_CHANGE_PERMISSIONS, SCRIPT_PERMISSION_TRACK_CAMERA, SCRIPT_PERMISSION_CONTROL_CAMERA, + SCRIPT_PERMISSION_TELEPORT, SCRIPT_PERMISSION_EOF } LSCRIPTRunTimePermissions; @@ -551,6 +552,7 @@ const U32 LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_EOF] = (0x1 << 9), // SCRIPT_PERMISSION_CHANGE_PERMISSIONS (0x1 << 10),// SCRIPT_PERMISSION_TRACK_CAMERA (0x1 << 11),// SCRIPT_PERMISSION_CONTROL_CAMERA + (0x1 << 12),// SCRIPT_PERMISSION_TELEPORT }; // http_request string constants diff --git a/indra/lscript/lscript_compile/indra.l b/indra/lscript/lscript_compile/indra.l index 2235dc134..aeb976399 100644 --- a/indra/lscript/lscript_compile/indra.l +++ b/indra/lscript/lscript_compile/indra.l @@ -1,3 +1,4 @@ + N [0-9] L [a-zA-Z_] H [a-fA-F0-9] @@ -211,7 +212,8 @@ extern "C" { int yyerror(const char *fmt, ...); } "PERMISSION_CHANGE_JOINTS" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_CHANGE_JOINTS]; return(INTEGER_CONSTANT); } "PERMISSION_CHANGE_PERMISSIONS" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_CHANGE_PERMISSIONS]; return(INTEGER_CONSTANT); } "PERMISSION_TRACK_CAMERA" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_TRACK_CAMERA]; return(INTEGER_CONSTANT); } -"PERMISSION_CONTROL_CAMERA" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_CONTROL_CAMERA]; return(INTEGER_CONSTANT); } +"PERMISSION_CONTROL_CAMERA" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_CONTROL_CAMERA]; return(INTEGER_CONSTANT); } +"PERMISSION_TELEPORT" { count(); yylval.ival = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_TELEPORT]; return(INTEGER_CONSTANT); } "INVENTORY_TEXTURE" { count(); yylval.ival = LLAssetType::AT_TEXTURE; return(INTEGER_CONSTANT); } "INVENTORY_SOUND" { count(); yylval.ival = LLAssetType::AT_SOUND; return(INTEGER_CONSTANT); } @@ -307,8 +309,8 @@ extern "C" { int yyerror(const char *fmt, ...); } "ATTACH_LULEG" { count(); yylval.ival = 26; return(INTEGER_CONSTANT); } "ATTACH_LLLEG" { count(); yylval.ival = 27; return(INTEGER_CONSTANT); } "ATTACH_BELLY" { count(); yylval.ival = 28; return(INTEGER_CONSTANT); } -"ATTACH_LPEC" { count(); yylval.ival = 29; return(INTEGER_CONSTANT); } -"ATTACH_RPEC" { count(); yylval.ival = 30; return(INTEGER_CONSTANT); } +"ATTACH_RPEC" { count(); yylval.ival = 29; return(INTEGER_CONSTANT); } +"ATTACH_LPEC" { count(); yylval.ival = 30; return(INTEGER_CONSTANT); } "ATTACH_HUD_CENTER_2" { count(); yylval.ival = 31; return(INTEGER_CONSTANT); } "ATTACH_HUD_TOP_RIGHT" { count(); yylval.ival = 32; return(INTEGER_CONSTANT); } "ATTACH_HUD_TOP_CENTER" { count(); yylval.ival = 33; return(INTEGER_CONSTANT); } diff --git a/indra/lscript/lscript_execute/llscriptresource.cpp b/indra/lscript/lscript_execute/llscriptresource.cpp index 05ab8ebba..cd3696ab3 100644 --- a/indra/lscript/lscript_execute/llscriptresource.cpp +++ b/indra/lscript/lscript_execute/llscriptresource.cpp @@ -31,6 +31,7 @@ */ #include "linden_common.h" + #include "llscriptresource.h" #include "llerror.h" diff --git a/indra/lscript/lscript_library/lscript_library.cpp b/indra/lscript/lscript_library/lscript_library.cpp index 117c9d1ed..b4a708f87 100644 --- a/indra/lscript/lscript_library/lscript_library.cpp +++ b/indra/lscript/lscript_library/lscript_library.cpp @@ -461,11 +461,12 @@ void LLScriptLibrary::init() addFunction(10.f, 0.f, dummy_func, "llGetLinkNumberOfSides", "i", "i"); - // IDEVO Name lookup calls, see lscript_avatar_names.h + // IDEVO Name lookup calls, see lscript_avatar_names.h addFunction(10.f, 0.f, dummy_func, "llGetUsername", "s", "k"); addFunction(10.f, 0.f, dummy_func, "llRequestUsername", "k", "k"); addFunction(10.f, 0.f, dummy_func, "llGetDisplayName", "s", "k"); addFunction(10.f, 0.f, dummy_func, "llRequestDisplayName", "k", "k"); + addFunction(10.f, 0.f, dummy_func, "llGetEnv", "s", "s"); addFunction(10.f, 0.f, dummy_func, "llRegionSayTo", NULL, "kis");