summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcallum <none@none>2012-04-10 15:31:05 -0700
committercallum <none@none>2012-04-10 15:31:05 -0700
commita6fc0f63bff7f329cb77e86677af92a1cf5efb47 (patch)
tree945fac5417f035769ba1441d32e7dbd35bad4a8e
parentd8b80cdbb635360d36fb374b76edc5d7ab32fad8 (diff)
MAINT-922 FIX Client side code to catch the SCRIPT_PERMISSION_TELEPORT request from similator and display a notification
Reviewed by Simon
-rw-r--r--indra/lscript/lscript_byteformat.h2
-rw-r--r--indra/lscript/lscript_compile/indra.l3
-rw-r--r--indra/newview/app_settings/keywords.ini1
-rwxr-xr-xindra/newview/llviewermessage.cpp6
-rw-r--r--indra/newview/skins/default/xui/en/strings.xml5
5 files changed, 12 insertions, 5 deletions
diff --git a/indra/lscript/lscript_byteformat.h b/indra/lscript/lscript_byteformat.h
index 7dd21bb1ad..a294def734 100644
--- a/indra/lscript/lscript_byteformat.h
+++ b/indra/lscript/lscript_byteformat.h
@@ -529,6 +529,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;
@@ -545,6 +546,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 4e103ae2ba..96b7e57e97 100644
--- a/indra/lscript/lscript_compile/indra.l
+++ b/indra/lscript/lscript_compile/indra.l
@@ -212,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); }
diff --git a/indra/newview/app_settings/keywords.ini b/indra/newview/app_settings/keywords.ini
index 82b43432eb..318b69438a 100644
--- a/indra/newview/app_settings/keywords.ini
+++ b/indra/newview/app_settings/keywords.ini
@@ -91,6 +91,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
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index acddd3efe7..9875a61ffa 100755
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -155,7 +155,8 @@ const std::string SCRIPT_QUESTIONS[SCRIPT_PERMISSION_EOF] =
"AddAndRemoveJoints",
"ChangePermissions",
"TrackYourCamera",
- "ControlYourCamera"
+ "ControlYourCamera",
+ "TeleportYourAgent"
};
const BOOL SCRIPT_QUESTION_IS_CAUTION[SCRIPT_PERMISSION_EOF] =
@@ -170,7 +171,8 @@ const BOOL SCRIPT_QUESTION_IS_CAUTION[SCRIPT_PERMISSION_EOF] =
FALSE, // AddAndRemoveJoints
FALSE, // ChangePermissions
FALSE, // TrackYourCamera,
- FALSE // ControlYourCamera
+ FALSE, // ControlYourCamera
+ FALSE // TeleportYourAgent
};
bool friendship_offer_callback(const LLSD& notification, const LLSD& response)
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index 4bc72be49b..d79958df17 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -400,8 +400,9 @@ Please try logging in again in a minute.</string>
<string name="AddAndRemoveJoints">Add and remove joints with other objects</string>
<string name="ChangePermissions">Change its permissions</string>
<string name="TrackYourCamera">Track your camera</string>
- <string name="ControlYourCamera">Control your camera</string>
- <string name="NotConnected">Not Connected</string>
+ <string name="ControlYourCamera">Control your camera</string>
+ <string name="TeleportYourAgent">Teleport you</string>
+ <string name="NotConnected">Not Connected</string>
<!-- Sim Access labels -->
<string name="SIM_ACCESS_PG">General</string>