As importing has been broken for a long time, I decided to
hijack the existing (broken) buttons of the Appearance floater
for the following new implementation:
The currently selected wearable, if full perm and the agent
is owner (of course) and creator, then that wearable can be
exported to disk with AIFilePicker in the context "archetype".
The used format is now XML, linden_genepool version 1.0, the
same format that is used when saving from Advanced --> Character
--> Character Tests --> Appearance to XML in any viewer.
However, unlike that Advanced option (which normally only
works when DebugAvatarAppearanceMessage is set to TRUE, ie in
the official Linden Viewer; but that does a lot more, most
likely unwanted things: it causes to dump files in this format
to the LL_PATH_LOGS directory whenever appearance data comes
by and other stuff for debugging purposes only), now ONLY the
selected wearable is written to the file. In the case of multiwear
with several layers, that means the selected layer, as well.
When importing these XML files again, only the selected
wearable/layer is overwritten (assuming it is modifiable) with
the data in the file that corresponds to that wearable (if
the file contains data of another wearable then nothing happens).
Note that this file format can be read by blender-avastar:
Using this feature to save the shape you created in SL will
allow you to import that into blender. Likewise, a shape created
or modified in blender can be imported into SL using this feature.
When saving a file, if the suggested filename has the form
PREFIX?000.EXT then the viewer checks if that file already
exists and if so, increments the number until it finds a
name that does not already exist (in the suggested directory).
The '?' is replaced with an underscore.
This allows to fast saving of the same data without overwriting
previous data.
Params are driven by wearable; changing the base character gets
overwritten real quick.
Fixed to call the appropriate LLWearable::setVisualParamWeight.
I didn't test this in the light of multiwear -but it works for
the shape, which is good enough.
=== Pull request version ===
Re-enabled fix for avatar body invisibility featurebug (archaic)
Added option to adjust maximum attachment span with settings
Added option to enable automatic derendering of huge attachments (use with care)
Conflicts:
indra/newview/app_settings/settings_effervescence.xml
I need to parse the debug output of libcurl for this, and choose
to not do that for a Release build - at which point it makes little
sense to even do it for a Debug build, since also the Alpha release
are 'Release'. Even though it would probably have no impact on FPS,
there would be like two persons looking at that number and understanding
it.
The automatic adjustment sets the connect time to 3 seconds, which might
be a bit on the short side sometimes.
Also remove the HACK and use CurlTimeoutConnect again.
The default is still 10 seconds, but is overridden to be 30 for mesh
now (which needs a reconnect for every mesh, since LL does not support
connection reuse for mesh). Note that I never saw any successful
connect under 8 seconds while I had the connect time out at 30:
Over 8 seconds is a sure fail (except for mesh, where in rare cases
there were connect times of 15 seconds (never 14 or 16).
On quiet servers, the connect time is normally sub-second. This is
the bulk of connections for my own SL use.
1. When web search was open, because it had no id, it would steal the links clicked for the in-viewer browser, now it identifies as search and will not.
2. Work around an oddity with the browser being unresponsive to certain category only slurls, by temporarily removing the expected behavior of it returning as last seen when reopened (no setVisible(false) in onClose, just close out as normal)
Removes the enable callback for Appearance To XML, LL no longer has that hooked in, why should we?
Tested and confirmed to work with or without DebugAvatarAppearanceMessage the same way.
Added "Use web-based search instead of legacy v1 search" checkbox to System->General preferences
Unified all functions to display search floater into toggle_search_floater and LLFloaterSearch::showInstance
Added UseWebSearch and UseWebSearchSLURL debug settings for flexible configurations
- SLURLs with legacy search cannot always present the same results as web
Added SearchURL debug setting, a separate setting from the one used in the all tab, slightly different and always set by response["search"] on OSGrid logins to detect if websearch is supported
Cleaned up llfloaterdirectory includes and added "Search.WebFloater" to the CommitCallbackRegistrar in case we ever want to add a button or something to open web search (couldn't find a nice place for it, sadly), also added more functions to show specific tabs and performQueryOn to search a tab with specific query on LLPanelDirBrowser's
XMLRPCResponder is used to login, which is a HTTP 1.0 server
that doesn't support reuse of connections.
It's cleaner to close connections from our side too.
This changes,
0x7fffdcf93700 CURLIO 0x7fffcd86db40 * Connection #0 to host login.agni.lindenlab.com left intact
into
0x7fffdcf93700 CURLIO 0x7fffcd8b0bd0 * Closing connection #0
Cleaned up includes, switched callbacks over to mCommitCallbackRegistrar, updated RLVa portions to RLVa 1.4.5, changed mSLURL from a string to a real SLURL