Route --url and --slurl command-line switches through a common settings
variable. Treat them uniformly now. (Previously, passing --url would notice a
grid-specific SLURL and preselect that grid; --slurl wouldn't. Now both do.)
The existing POSITION variable gives "global" position: that is, your region-
local coordinates plus the (somewhat arbitrary) global coordinates of the
region's corner within the whole world. That may be meaningful to people on
the mainland, hard to say, but it correlates with nothing else available from
the viewer. POSITION_LOCAL gives you region-local coordinates, which could be
used (for instance) to construct a SLURL.
The cmd_line.xml entries:
analyzeperformance
crashonstartup
debugsession
disablecrashlogger
logmetrics
logperformance
noquicktime
replaysession
all specify map-to settings.xml variables -- none of which existed! Introduce
such variables. Instead of detecting the presence of a particular switch in
the command-line parser, use the value of its corresponding settings variable.
Use map-to in cmd_line.xml to inform the command-line processor that the
target variable for --graphicslevel is RenderQualityPerformance.
That lets us eliminate clunky llappviewer.cpp switch from '0' to 0, etc.
Moreover, previous switch statement only accepted 0 - 3, whereas
LLFeatureManager::setGraphicsLevel() actually accepts 0 - 6. Introduce
LLFeatureManager::isValidGraphicsLevel() and use that to validate.
Replace switch statement in setGraphicsLevel() mapping int constants to string
literals with static vector of level names, using same data for mapping as for
validating level numbers.
UserLoginInfo block had <key>Value</key> without the required subsequent
element to provide any actual value. This confused at least the Python
LLSD reader.
It seems that certain build hosts have an (obsolete? broken?) install of
indra.util.llmanifest under the system Python. If we append the local repo
indra/lib/python to sys.path, viewer_manifest.py pulls in the broken
llmanifest. Prepend to sys.path instead to ensure we get the right one.
Instead of generating viewer command-line switch overrides into
the Windows shortcut,
an arguments.txt file on Mac, or
a gridargs.dat file on Linux,
generate a platform-independent settings_install.xml file containing
'sourceid' key (if 'sourceid' found in TeamCity environment variables).
All command-line override switches previously found in the aforementioned
files have happily become moot.