Commit Graph

163 Commits

Author SHA1 Message Date
Aleric Inglewood
96b5f7bdc8 Add wearable exporting / importing in linden_genepool format.
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.
2013-07-10 21:19:42 +02:00
Lirusaito
fd453593b3 Merge branch 'Moap' of git://github.com/Shyotl/SingularityViewer into VoiceUpdate
Conflicts:
	indra/newview/llfloateravatarinfo.cpp - llpanelprofile.cpp update
	indra/newview/llfloatergroupinfo.cpp - llgroupactions.cpp update
	indra/newview/llfloaterobjectiminfo.cpp - simple merge
	indra/newview/llstartup.cpp - Followed Shyotl's directions from 07165961dc
	indra/newview/llviewermedia.cpp - includes conflict, simple stuff.

SLURL update:
	indra/newview/llavataractions.cpp
	indra/newview/llgroupactions.cpp
2013-06-11 15:32:18 -04:00
Lirusaito
cbfa47c0da [Voice Update] LLPanelActiveSpeakers to LLParticipantList
Minor updates to code, mostly just a migration with some v3 stuff commented, since we don't have LLAvatarList and must use buttons since scrolllist menus don't actually exist nicely yet.
Added toggleMuteVoice and isVoiceMuted to LLAvatarActions
Added a minor touch to the voice volume slider, it'll now offer changing your own volume while in an active voice session.. nice to not drop out of an import voice session just to fix yourself.

Also, fix a bug with SpeakerMgr's not flagging speakers for removal properly, causing external speakers and speakers managed by LLActiveSpeakerMgr to never actually get removed.
2013-06-09 11:28:49 -04:00
Lirusaito
89963b018b [Voice Update] llfloateractivespeakers.* to llspeakers.*
Condenses the three moderation responders to one.
Adds Speakers settings.
Uses dedicated timer class to track speakers on the list
Adds temporary getSpeakerManager() function to LLFloaterIMPanel to play the role of LLIMModel::getSpeakerManager
2013-06-04 10:18:49 -04:00
Lirusaito
c273e34ed8 [Voice Update] LLVoiceClient
Migrate a bunch of classes out of llvoiceclient.* and into new llvoicevivox.*
Update most of these to match their counterparts
Introduce VoiceFonts support (voice morphing, floater still to come)
Support for a bunch of v3 voice settings.
Move volume settings management from LLMutelist into LLSpeakerVolumeStorage
Support for Avaline mutes (WIP)
Adds voice section to LLAgent
Moved llfloatervoicedevicesettings to llpanelvoicedevicesettings, v3's voice device panel design is more intuitive.
2013-06-03 22:20:27 -04:00
Lirusaito
07e1b5c3b9 [Voice Update] Remove gVoiceClient occurrences in favor of using LLVoiceClient as a Singleton everywhere. 2013-06-02 01:34:03 -04:00
Lirusaito
fcd6f217d2 LLGroupActions too! (Strengthens RLVa restrictions!)
Cleans up llfloatergroupinfo, makes it an instance tracker... pretty much as nice as llfloateravatarinfo now ^*^
Adds notifications JoinGroupNoCost and JoinedTooManyGroups (added to our existing translations, of course)
Cleans up all around, placing groupactions around.

Touches up bits for avataractions
2013-05-31 07:37:00 -04:00
Shyotl
ef3e918558 Initial moap commit. /VERY/ WIP. Primarily committed to clean up unstaged changes. Do not run this, even if it may compile, as it will NOT work (for a myriad of reasons)! 2013-05-31 05:33:41 -05:00
Siana Gearz
6fca791632 Fortify on release doesn't work and throws warnings on F18 2013-05-27 08:48:45 +02:00
Inusaito Sayori
ee785f0f17 Allow turning flying on and off while seated, if using Continue Fly On Unsit
Note: Redundant code, but these functions will likely be merged eventually(FUI-esque project), so it doesn't matter for now.
2013-05-20 12:14:58 -04:00
Lirusaito
9b5360a40b Chat Frosting
Basic Summary:
Issue 743: [Chat UI] Option to italicize actions (/me) in chat
- Adds debug LiruItalicizeActions, and a checkbox to Adv. Chat->Chat UI preferences
Issue 737: [Frosting] Annoyance Removal (Red beacon after teleport using LM's)
- Adds debug ClearBeaconAfterTeleport, checkbox under System->General
Issue 639: [Frosting] The agent isn't identified properly in chat
- Oh what a silly issue this was, it's as though whoever wrote this didn't care.
Fixes issue where names in logs do not match names in chat due to display name system
Fixes the issue in which Unnamed objects got named by a hardcoded string under certain circumstances.
Issue 813: [Frosting] When only accepting from friends, do not display incoming chat notification for nonfriends
- Also broke the setting out, separating it from the voice calls friend only setting
- Adds InstantMessagesFriendsOnly debug setting and checkbox in Adv. Chat->Chat/IM
Issue 764: Copy SLURL from Map returns correct region but wrong coordinates.
Satisfied the longstanding issue of inflexible autoresponse options.
- Autoresponse now has its own tab in Adv. Chat preferences: Busy, Muted, nonfriends, and anyone (or just friends) can have separate responses, along with items of your choosing.
- Prevent doubling up with the first repeated autoresponse due to typing message and normal message.

Translator Summary:
Adv. Chat->Chat UI->"Italicize action messages (/me)"
System->General->"Clear red destination beacon after teleporting"
Drop Targets for floater_ao.xml, panel_avatar.xml, panel_group_notices.xml, and panel_preferences_ascent_system.xml
Adv. Chat->Chat/IM->"Only accept IMs from Friends"
Please clean up the Busy Mode Response elements from panel_preferences_im.xml
strings.xml now has "IM_autoresponse_minutes"
Adv. Chat (panel_preferences_ascent_chat.xml) now has a new panel "Autoresponse", please clean up the old Autoresponse elements from Chat/IM tab and translate this panel.

Developer Summary:
Adds EChatStyle to LLChat, used for identifying what style a piece of chat is.
Update settings_per_account.xml
- Reorganized the ascent specific section.
- Removes a few old and unused settings
Better organize settings_per_account_ascent.xml
- TODO: Actually get this include system working and remove the Ascent specific section in settings_per_account.xml
Modernize LLDropTarget and make it more flexible and stand alone
- The Text of drop targets is now a child of the target itself, meaning the necessity of having a static instance to the parent is eliminated
- Drop targets are now one element in UI XML.
- Drop targets now have fill_parent option which allows the target to spread over the parent, while the text, tool_tip, and border stays in place
- If Drop Targets have a control_name, it is from the per account settings group, since Items must be in the inventory of the account in question.
- All drop targets now use the common LLDropTarget class instead of their own.
- LLGroupDropTarget is now derived from LLDropTarget and has its own tag group_drop_target.
Cleaned up the focus functions we use to focus the input bar, setInputFocus exists for their purpose.
Updated our llim* code to line up better with upstream and conform to styling.
Polished LLTracker and LLFloaterWorldMap a bit
Cleaned/Updated up LLStyleMap a bit.
Optimized autoresponse code:
- wildcards are now replaced via boost::algorithm::replace_all
- Autoresponse and related chat enhancements are now performed inside their case, instead of by the large if block above.
2013-05-11 22:36:46 -04:00
Lirusaito
8c49716eae Merge branch 'Cupcake' of https://github.com/LightDrake/SingularityViewer into Frosting
Conflicts:
	indra/newview/llviewerwindow.cpp - Also two compile fixes.
2013-04-10 13:26:48 -04:00
Lirusaito
401ea93b57 ToolPie Frosting
Easiest read with Copy/Move detection and no space changes
Adds debug settings: DragAndDropDistanceThreshold, EnableGrab, ClickToWalk, ClickActionBuyEnabled, ClickActionPayEnabled
ClickToWalk was redefaulted to false, though if you are curious enough to read this, you should give it a try, it takes some getting used to but it might be fun.
2013-03-29 03:56:26 -04:00
Shyotl
92cc65bf5e Decoupled rlva/setting based z-offset from param based z-offset. This reverts questionable changes introduced in the recent rlva merge. 2013-03-27 01:36:23 -05:00
Latif Khalifa
303840f729 Merge remote-tracking branch 'shyotl/sunshine'
Conflicts:
	indra/llappearance/llavatarappearance.cpp
	indra/newview/character/avatar_lad.xml
	indra/newview/llagent.cpp
2013-03-26 23:54:36 +01:00
Shyotl
441b564afe RLVa update. 2013-03-26 00:46:11 -05:00
Lirusaito
16babd38e0 Phantom Avatar no longer works, not on SL, not on OpenSim. Bye Phantom~ 2013-03-24 12:44:29 -04:00
Lirusaito
7aa0b439a8 Updates and clean up and frosting, oh my~
Removes old code for permitting emerald attachment points
Removes other old dead code...
Updates RLVa a bit.
Adds more translation flexibility via strings.xml
2013-03-24 12:29:58 -04:00
Nyx Linden
07850410b5 SH-3909 Support avatar height offset
Adding a new visual param that allows users to manually adjust an offset for
how far off the ground (+ or -) their avatar's root bone is.

Supports the +-2m range people are used to adjusting in their viewers, but
new implementation should support server-generated appearances.

Conflicts:

	indra/newview/character/avatar_lad.xml
	indra/newview/llagent.cpp
	indra/newview/llcallingcard.cpp
	indra/newview/skins/default/xui/en/strings.xml
2013-03-19 02:06:22 +01:00
Siana Gearz
13e0bc2742 Merge branch 'sunshine' of git://github.com/Shyotl/SingularityViewer
Conflicts:
	indra/newview/lldrawable.cpp
	indra/newview/llviewerwindow.cpp
2013-02-26 00:20:26 +01:00
Shyotl
94a0040ddb Sunshine catchup. 2013-02-25 12:53:18 -06:00
Siana Gearz
00cb7a0e51 Merge branch 'sunshine' of git://github.com/Shyotl/SingularityViewer 2013-02-19 21:12:14 +01:00
Shyotl
76f3dc9e19 Massive sunshine/viewer-dev catchup. Further implemented serverside baking and added/updated metrics feedback. 2013-02-19 01:50:46 -06:00
Lirusaito
4c33328906 If RLVa is off, RLVa z offset should not be enforced.
Easier diff view without space changes.
2013-02-18 17:57:40 -05:00
Lirusaito
54c1fcf33d Override the viewer's Z offset with the RLV one, if the RLV one has been set. 2013-02-06 22:41:10 -05:00
Latif Khalifa
a9b05fd029 Merge remote-tracking branch 'lirusato/master' 2013-01-30 05:48:45 +01:00
Lirusaito
1582bf43c5 Allow RLVa Z Offset and Vanity Body Dynamics Offset to coexist. 2013-01-25 11:26:52 -05:00
Latif Khalifa
18816ae146 Merge remote-tracking branch 'shyotl/sunshine' 2013-01-21 11:25:10 +01:00
Siana Gearz
cddd21d879 Merge branch 'master' of github.com:singularity-viewer/SingularityViewer 2013-01-13 20:11:15 +01:00
Shyotl
e622e03d2a Bulk of server-baking impelmentation and a bit of cleanup. 2013-01-13 02:37:12 -06:00
Siana Gearz
896036b3c2 Removing ReSit, because it's not so very nice 2013-01-12 00:50:24 +01:00
Aleric Inglewood
f9738cb611 Add getName() to every non-base class Responder object. 2013-01-11 04:15:55 +01:00
Shyotl
54771409d6 Merge branch 'master' into sunshine
Conflicts:
	indra/llimage/llimage.cpp
	indra/llui/llui.cpp
	indra/newview/llvoavatar.cpp
2013-01-08 17:05:29 -06:00
Shyotl
776a977824 Completed code migration to LLAvatarAppearance 2013-01-05 17:12:02 -06:00
Shyotl
3ca39ab3f1 Client-side maturity handling when teleporting. Adds new notification that asks if you want to change maturity settings with a single click and automatically re-fire the teleport request. 2012-12-25 02:30:51 -06:00
Shyotl
f8a6e2e19f Moved region rebake button to 'Tools' menu 2012-12-25 02:27:15 -06:00
Shyotl
e08afcb963 Created llappearance project. Migrated llvoavatardefines and llwearabletype. 2012-12-20 00:00:17 -06:00
Shyotl
794dbacea3 Merge branch 'master' of https://github.com/AlericInglewood/SingularityViewer.git into testpit
Conflicts:
	indra/newview/lldrawpoolavatar.cpp
	indra/newview/llviewertexturelist.cpp
	indra/newview/llworldmap.cpp
	indra/newview/pipeline.cpp
2012-11-29 11:54:41 -06:00
Shyotl
5e6ed2dc9f Large update to the worldmap. Essentially, v3 merge, and reimplemented legacy tile drawing and opensim-specific changes. Also added a diagnostic view. 2012-11-24 11:21:29 -06:00
Shyotl
9d8f31a0cb Some teleport reworking. Don't clear rebuild groups/resetVBO unless tp screen is up, or we've just changed sims. Also skip updateUI drawing if tp screen is up. 2012-11-18 02:41:37 -06:00
Siana Gearz
303c74f4c9 Merge branch 'master' of git://github.com/Lirusaito/SingularityViewer
Conflicts:
	indra/llmessage/llurlrequest.cpp
	indra/newview/llvoavatar.cpp
2012-11-12 06:46:58 +01:00
Shyotl
0c58a42b08 Added a couple needed nullchecks of gAgentAvatarp in LLAgent. 2012-11-09 16:32:26 -06:00
Lirusaito
d0a0aa7a65 Fix handle_secondlifeprotocol.sh, and sync with v-d.
More translation strings~
Log inventory offers to those we're not chatting with.
"SDL deiconification state switched to " now lldebugs instead of llinfos, far too spammy..

(Pre-outbox commit, may contain pieces of outbox work.. and unmentioned harmless sync)
2012-11-06 18:50:45 -05:00
Aleric Inglewood
c0ac428179 Code cleanup
* Moved Responder stuff to LLHTTPClient.
* Renamed LLHTTPClient::Responder to LLHTTPClient::ResponderWithResult.
* Deleted LLHTTPClientAdapter and LLHTTPClientInterface.
* Renamed AICurlInterface::TransferInfo to AITransferInfo and moved it
  to llhttpclient.h
* Removed 'CURLcode code' argument from completed_headers.
2012-10-31 23:11:42 +01:00
Aleric Inglewood
0b265320a9 Code clean up.
* Removed LLCurlRequest and replaced it's last usage with LLHTTPClient API calls.
* Deleted dead code.
* Renamed all the get4/post4/put4/getByteRange4 etc, back to their
  original name without the '4'.
2012-10-31 05:01:24 +01:00
Aleric Inglewood
2a88f7d7c4 ResponderAdapter stuff
Renamed AICurlInterface::Responder to AICurlInterface::ResponderBase,
but without the virtual 'event' methods.
Derived from that: Responder and ReponderWithCompleted, where the
first defines result = 0, ErrorWithContent and error, and the latter
completedRaw and completed.
Added HttpClient::IgnoreBody, derived from Responder and implementing
'result' doing nothing; HttpClient::Ignore is now derived from
IgnoreBody and defines the still pure virtual getHTTPTimeoutPolicy.

Added ResponderBase::decode_body, which is now the sole place
where the code makes the decision wether some response data might be
LLSD or not based on the http status result. Before it just tried
to decode everything as LLSD, which seems a bit nonsense.

ResponderWithCompleted::completed no longer does anything, since
classes derived from ResponderWithCompleted are expected to override it,
or never call it by overriding completedRaw.

Entry point is now ResponderBase::finished = 0, instead of
completedRaw, where ResponderWithCompleted implements finished by
called completedRaw, but Responder doesn't: that directly calls
result/errorWithContent/error. Or, for the hack ResponderAdapter,
the entry points are pubResult/pubErrorWithContent.
Those are now the ONLY public methods, so more confusion.
mFinished is now set in all cases.

As a result of all that, it is no longer possible to accidently
pass a responder to ResponderAdapter that would break because it
expects completed() and completedRaw() to be called.

Added LLBufferArray::writeChannelTo.

Fixed bug for BlockingResponder::body (returned reference to temporary).

LLSDMessage::ResponderAdapter now allows a "timeoutpolicy" name
to be passed (not doing so results in the default timings), so
that the timeout policy of the used responder is retained.

Fixed llfasttimerview.cpp to test LLSDSerialize::fromXML() to return
a positive value instead of non-zero, because it may return -1 when the
parsing fails (three places).

Removed LLHTTPClient::Responder as base class from
LLFloaterRegionDebugConsole completely: it isn't a responder!

Several other responder classes were simplified a bit in order to
compile again with the above changes.
2012-10-26 04:13:29 +02:00
Aleric Inglewood
e7cd445491 Merge branch 'curlthreading2' into curlthreading3 2012-09-06 15:12:22 +02:00
Aleric Inglewood
15cce79040 Merge remote-tracking branch 'singu/master' into curlthreading2
Conflicts:
	indra/llmessage/llcurl.cpp

Changes to unused file (I'll remove it when I'm done).
2012-09-04 17:38:11 +02:00
Aleric Inglewood
83b13f6a3f WIP: make everything use AICurlEasyRequestStateMachine 2012-08-20 21:18:19 +02:00
Latif Khalifa
53c7cf116c Implement setting home position the way V3 does it, with CAP fallback 2012-08-16 08:00:42 +02:00