From 387bf672f3b96c77d4f3857394550a03ab8cf26a Mon Sep 17 00:00:00 2001 From: Martin Reddy <lynx@lindenlab.com> Date: Wed, 16 Sep 2009 12:59:13 +0000 Subject: [PATCH] DEV-31898: merging the fix for this bug into viewer-2.0.0-3 so that it will be available in our next public release. The server part of the fix missed 1.30, but should (hopefully) get into 1.32. Original fix was reviewed by soft and kelly. --- indra/llcommon/indra_constants.h | 1 + indra/llcommon/lllslconstants.h | 1 + indra/lscript/lscript_compile/indra.l | 1 + indra/newview/app_settings/keywords.ini | 1 + indra/newview/llviewermessage.cpp | 4 ++++ indra/newview/skins/default/xui/en/strings.xml | 2 +- 6 files changed, 9 insertions(+), 1 deletion(-) diff --git a/indra/llcommon/indra_constants.h b/indra/llcommon/indra_constants.h index c0b0d72d9bd..4836d41fb31 100644 --- a/indra/llcommon/indra_constants.h +++ b/indra/llcommon/indra_constants.h @@ -286,6 +286,7 @@ const U8 UPD_UNIFORM = 0x10; // used with UPD_SCALE // Agent Update Flags (U8) const U8 AU_FLAGS_NONE = 0x00; const U8 AU_FLAGS_HIDETITLE = 0x01; +const U8 AU_FLAGS_CLIENT_AUTOPILOT = 0x02; // start location constants const U32 START_LOCATION_ID_LAST = 0; diff --git a/indra/llcommon/lllslconstants.h b/indra/llcommon/lllslconstants.h index 7cd854febd0..a626e3f0855 100644 --- a/indra/llcommon/lllslconstants.h +++ b/indra/llcommon/lllslconstants.h @@ -48,6 +48,7 @@ const U32 AGENT_TYPING = 0x0200; const U32 AGENT_CROUCHING = 0x0400; const U32 AGENT_BUSY = 0x0800; const U32 AGENT_ALWAYS_RUN = 0x1000; +const U32 AGENT_AUTOPILOT = 0x2000; const S32 LSL_REMOTE_DATA_CHANNEL = 1; const S32 LSL_REMOTE_DATA_REQUEST = 2; diff --git a/indra/lscript/lscript_compile/indra.l b/indra/lscript/lscript_compile/indra.l index ac524326fcd..9cc2841e8c9 100644 --- a/indra/lscript/lscript_compile/indra.l +++ b/indra/lscript/lscript_compile/indra.l @@ -150,6 +150,7 @@ extern "C" { int yyerror(const char *fmt, ...); } "AGENT_CROUCHING" { count(); yylval.ival = AGENT_CROUCHING; return(INTEGER_CONSTANT); } "AGENT_BUSY" { count(); yylval.ival = AGENT_BUSY; return(INTEGER_CONSTANT); } "AGENT_ALWAYS_RUN" { count(); yylval.ival = AGENT_ALWAYS_RUN; return(INTEGER_CONSTANT); } +"AGENT_AUTOPILOT" { count(); yylval.ival = AGENT_AUTOPILOT; return(INTEGER_CONSTANT); } "CAMERA_PITCH" { count(); yylval.ival = FOLLOWCAM_PITCH; return(INTEGER_CONSTANT); } "CAMERA_FOCUS_OFFSET" { count(); yylval.ival = FOLLOWCAM_FOCUS_OFFSET; return (INTEGER_CONSTANT); } diff --git a/indra/newview/app_settings/keywords.ini b/indra/newview/app_settings/keywords.ini index cd7b533e7a7..eaf5213985d 100644 --- a/indra/newview/app_settings/keywords.ini +++ b/indra/newview/app_settings/keywords.ini @@ -108,6 +108,7 @@ 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 PSYS_PART_FLAGS PSYS_PART_START_COLOR diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 177c987bc09..7e2183f1f39 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -3111,6 +3111,10 @@ void send_agent_update(BOOL force_send, BOOL send_reliable) { flags |= AU_FLAGS_HIDETITLE; } + if (gAgent.getAutoPilot()) + { + flags |= AU_FLAGS_CLIENT_AUTOPILOT; + } flag_change = last_flags ^ flags; diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 4206b87c2b3..530c3816c83 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -1137,7 +1137,7 @@ Checks to see whether the border hit by dir from pos is the edge of the world (h <string name="LSLTipText_llGetAgentInfo"> integer llGetAgentInfo(key id) Gets information about agent ID. -Returns AGENT_FLYING, AGENT_ATTACHMENTS, AGENT_SCRIPTED, AGENT_SITTING, AGENT_ON_OBJECT, AGENT_MOUSELOOK, AGENT_AWAY, AGENT_BUSY, AGENT_TYPING, AGENT_CROUCHING, AGENT_ALWAYS_RUN, AGENT_WALKING and/or AGENT_IN_AIR. +Returns AGENT_FLYING, AGENT_ATTACHMENTS, AGENT_SCRIPTED, AGENT_SITTING, AGENT_ON_OBJECT, AGENT_MOUSELOOK, AGENT_AWAY, AGENT_BUSY, AGENT_TYPING, AGENT_CROUCHING, AGENT_ALWAYS_RUN, AGENT_WALKING, AGENT_IN_AIR and/or AGENT_AUTOPILOT. </string> <string name="LSLTipText_llAdjustSoundVolume"> llAdjustSoundVolume(float volume) -- GitLab