Commit Graph

56 Commits

Author SHA1 Message Date
Inusaito Sayori
398014b118 Port Hover Height from Alchemy, it's in quicksettings~
Lots and lots of other sync~
Also has a command /hover
Added /resync command from Alchemy.
2015-03-25 08:04:24 -04:00
Inusaito Sayori
72080e79e9 Sync llcommon with Alchemy a bit.
llmath::llround->ll_round
LL_ICC->LL_INTELC
Add llpredicate
Add LL_CPP11 macro
Remove llhash
Update llinitparam, llsd and all relatives of it.
2015-03-20 22:04:04 -04:00
Shyotl
36a8a20434 Alignment fixes. 2014-11-26 22:53:32 -06:00
Shyotl
f38754d0d6 Fixed an alignment issue with LLAvatarJointCollisionVolume array. Thanks Henri. 2014-09-07 15:55:53 -05:00
Shyotl
282de8c7f5 Only use LLAvatarJoint when necessary, else LLJoint 2014-08-20 19:40:31 -05:00
Shyotl
54f05b409c Always use dynamic_cast when casting from an LLJoint* 2014-08-13 18:04:24 -05:00
Shyotl
7c073c1db7 Explicit enforcement of alignment for all aligned types, including structures with aligned members. (Compiler handholding) 2014-06-22 03:39:33 -05:00
Shyotl
061178ad82 Migrated gl matrix stack to LLMatrix4a 2014-06-22 03:34:51 -05:00
Aleric Inglewood
2453c13e11 Add AIXMLLindenGenepool - redo of archetype export/import using AIXML*.
In order to remove code duplication, and as prove of concept,
I redid the linden_genepool archetype export and import (from the Edit
Appearance Floater), using AIXML and AIAlert.

The import/export code did shrink significantly, and became a lot
simpler. Although a new file pair (aixmllindengenepool.{cpp,h}) is
added to define the (de)serialization of the linden_genepool XML format,
that code is now centralized in one place, and still a lot simpler.

As a bonus however, every possible error is now semi-automatically
reported to the user with all details that might help to overcome
the problem, like file names and system errors.
2013-11-05 03:01:49 +01:00
Siana Gearz
19625ea6b8 MAINT-2968 disable client GL namegen, go spec 2013-10-13 17:07:45 +02:00
Latif Khalifa
d98402b13f Merge branch 'master' of git://github.com/Shyotl/SingularityViewer
Conflicts:
	indra/newview/llvotree.h
2013-10-10 00:03:36 +02:00
Shyotl
f25eb07fab Unstaged changes cleanup. Further vectorization. Change in binormal/bitangent calculation. 2013-10-09 15:43:23 -05:00
Aleric Inglewood
cc9fc6b868 First attempt to deal with broken (pre multiwear) inventory items.
Since multiwear, the low 8 bit of inventory items, if they are of type
IT_WEARABLE, is used for the wearable type (WT_*). Older viewers and
bots (like Second Inventory) create inventory items with 0 in those
bits. This causes all those item to appear as shapes in multi-wear
capable viewers.

This gives rise to many problems:
1) You can't wear them, because the inventory and asset wearable type
mismatch, which makes Singularity just abort.
2) Before it aborts, it already removed your old shape, thinking you
are about to wear another shape - and told the server that you are
wearing this broken item now. The result is that you see no change,
until you relog when you are suddenly wearing the broken "shape"
and stay a cloud forever.

This commit detects the problem for AT_CLOTHING wearables, because
they are not compatible with the type 'shape' after all (which is
is AT_BODYPART). It still doesn't know what the wearable type is, but
sets the type temporarily to the new value WT_UNKNOWN. Since this is
at least not a shape anymore, it doesn't cause you shape to be removed
when wearing it. Moreover, once the asset is downloaded, the mismatch
is detected and corrected: you can now wear -say- pants, or other
clothing.

Inventory clothing items with an unknown wearable type now have a
red question mark icon in the inventory.

What does NOT work yet:

1) If you copy such an item and paste it, then the new copy has
a shape icon again (and all the previously mentioned problems).

2) If you wear broken hair, skin or eyes (which still show as
shapes in the inventory) then your shape is still removed, and
wearing them fails because they are not multiwear capable and you
are already wearing such a body part. What should be done here
is that the removed shape is added back and the real body part
that you're trying to wear is removed.

3) Although this code attempts to fix the mFlags in the inventory,
the icon in the inventory doesn't change from question mark to the
right thing.
2013-08-18 02:50:31 +02:00
Latif Khalifa
bde1ce7577 Merge branch 'master' of git://github.com/Shyotl/SingularityViewer 2013-07-31 01:53:58 +02:00
Shyotl
45b85070f3 A bit of harmless cleanup, null checking, nan checking. Removed sphericalProjection and cylindricalProjection from llface (broken/dead). 2013-07-29 19:23:30 -05:00
Aleric Inglewood
611c4bd5fa Merge remote-tracking branch 'singu/master' 2013-07-19 21:26:55 +02:00
Aleric Inglewood
325ef60a8c Wearable export improvements.
Add grid nick to default filename.
Add grid nick and date to exported XML.
Add inventory path, name and description of item to exported XML.
2013-07-19 21:22:59 +02:00
Latif Khalifa
c769510c6f Merge remote-tracking branch 'lirusaito/master' 2013-07-12 08:15:05 +02:00
Aleric Inglewood
df71d4518e Merge remote-tracking branch 'singu/master' 2013-07-10 21:31:49 +02:00
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
742ccdcf0c Touched up awavefront once more to conform to permissions and be used as intended
Added debug settings OBJExportNotifyFailed and OBJExportNotifySuccess for whether or not to notify about OBJ Exports failing or succeeding respectively
Moved exports back into tools submenu, there's not enough variety to justify a menu dedicated to exportation
Removed hardcoded "Insufficient Permissions" string, there's already a notification for this.
Implemented proper permissions checking, along with own Avatar Export.
2013-07-10 06:30:19 -04:00
Latif Khalifa
8e503f2596 Added Wavefront OBJ format exporter
Exporter written by Apelsin:
https://github.com/Apelsin

TODO: Hookup avatar export
2013-07-09 22:04:27 +02:00
Lirusaito
4eae554812 Merge branch 'UICleanup' of git://github.com/Shyotl/SingularityViewer
Conflicts:
	indra/llappearance/llwearable.h
	indra/llui/llcombobox.h
	indra/newview/jcfloaterareasearch.cpp
	indra/newview/jcfloaterareasearch.h
	indra/newview/llpanelgrouproles.cpp
	indra/newview/llpanelgrouproles.h
	indra/newview/llviewermenu.cpp - Plugged in new MenuFloaterDict for AssetBlacklist and SoundExplorer in menu_viewer.xml and removed the old listeners for them.
	indra/newview/skins/default/xui/es/floater_inventory.xml
Compile Fixes:
	indra/llcommon/llstl.h - error: expected nested-name-specifier before ‘const’
	indra/llui/llmultisliderctrl.cpp:283:12: error: ‘caller’ was not declared in this scope
	indra/llui/lltexteditor.cpp
		- error: operands to ?: have different types ‘const LLPointer<LLTextSegment>’ and ‘long int’
		- error: passing ‘const LLPointer<LLTextSegment>’ as ‘this’ argument of ‘LLPointer<Type>& LLPointer<Type>::operator=(const LLPointer<Type>&) [with Type = LLTextSegment]’ discards qualifiers
	indra/newview/llfloaterpermissionsmgr.cpp - Silly Shyotl, boost bind, not std bind.
	indra/newview/llfloaterproperties.* - error: ‘LLInstanceTracker<LLFloaterProperties, LLUUID>’ is an inaccessible base of ‘LLFloaterProperties’
	indra/newview/llgivemoney.cpp - Again, boost::ref, not std::ref
	indra/newview/llpreviewscript.cpp - no known conversion for argument 1 from ‘std::vector<const LLPointer<LLTextSegment> >’ to ‘std::vector<LLPointer<LLTextSegment> >&
2013-05-27 08:09:28 -04:00
Drake Arconis
e0ef803ed5 Fix issue a different way and supress new gcc 4.8 warning 2013-05-05 19:24:13 -07:00
Drake Arconis
73b10e6b29 Made compiler detection more reliable and cleanup clang warnings 2013-05-05 17:56:16 -07:00
Shyotl
e8ce35ebf8 Merge branch 'master' into UICleanup
Conflicts:
	indra/llcommon/llstl.h
	indra/newview/jcfloaterareasearch.cpp
	indra/newview/jcfloaterareasearch.h
	indra/newview/llfloateranimpreview.cpp
	indra/newview/llfloateranimpreview.h
	indra/newview/llfloaterperms.cpp
	indra/newview/llfloaterproperties.cpp
	indra/newview/llpanelpermissions.cpp
	indra/newview/llviewermenu.cpp
2013-05-03 21:41:51 -05:00
Shyotl
701fc87c05 Minor cleanup and additional nullchecks. 2013-05-03 14:29:55 -05:00
Shyotl
ef9fbe2193 Attempt to speed up agent idle update by optimizing wearable/visualparam related lookups/iterations a bit more.
Generalized several templates in llstl.h in order to support more containers.
Removed several instances of is_in_map/getWearableCount being followed immediately by another lookup with the same key. find is more efficient, as we get an iterator to use instead of a simple boolean.
2013-04-24 17:52:17 -05:00
Nyx Linden
987ab9c07f SH-4059 FIX other's hover parameters affects your avatar's setting
Added an additional sanity check to make sure that other avatars don't
affect your wearables.
2013-04-05 23:10:17 +02:00
Nyx Linden
1a3e2ff18e SH-4050 FIX camera goes below ground when avatar offset set to 0
Added a constraint to ensure that the avatar's height (with offset)
does not go below 0.1 meters. Camera was getting confused since the avatar's
effective height was negative.

Note the avatar is mostly underground/contorted even at 0.1 meters, but
most users setting values this low will be making ultra-tinies and would
be hiding the avatar mesh. Camera stays above ground when height is at 0.1.

Conflicts:

	indra/llappearance/llavatarappearance.cpp
2013-04-05 23:10:16 +02: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
Latif Khalifa
ea4f2ec7a7 Merge remote-tracking branch 'origin/sunshine2' 2013-03-24 14:23:18 +01:00
Nyx Linden
9ff1c8b879 SH-3798 FIX avatar skins look dull
Wearable parsing error caused last texture in some assets to fail to parse.
Parser now does not throw an error if the wearable does not end in a newline
2013-03-19 02:09:23 +01: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
Drake Arconis
b800320a49 Remove LLMemType and related files 2013-03-04 12:02:01 -05:00
Shyotl
94a0040ddb Sunshine catchup. 2013-02-25 12:53:18 -06: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
Shyotl
0a8147a9da Merged some alignment adjustments from sunshine-external 2013-02-12 14:52:53 -06:00
Aleric Inglewood
d055494706 Libcwd compile fixes
include linden_common.h first (is already included through the used
headers).
2013-02-01 21:26:08 +01:00
Shyotl
dc106c5442 Fix some compiler warnings/errors. Error in llinventorymodelbackgroundfetch was introduced by partial commit. 2013-01-20 17:10:38 -06:00
Shyotl
e622e03d2a Bulk of server-baking impelmentation and a bit of cleanup. 2013-01-13 02:37:12 -06:00
Shyotl
c5c1294d7d Finished LLGLTexture. Migrated opengl related code from llui.h/cpp to llrender2dutils.h/cpp. Moved lluiimage to llrender library. 2013-01-07 20:12:14 -06:00
Shyotl
776a977824 Completed code migration to LLAvatarAppearance 2013-01-05 17:12:02 -06:00
Shyotl
5cf091b8b2 Completed code migration from LLViewerWearable to LLWearable. 2013-01-05 00:33:55 -06:00
Shyotl
bea4bc6a1a Brought over lltexglobalcolor 2013-01-04 21:15:35 -06:00
Shyotl
9596514c79 Dragged over lltexlayer, lldriverparam, lllocaltextureobject, llwearabledata 2013-01-04 20:50:35 -06:00
Shyotl
dd15b9234f Migrated LLTexLayerParams. Renamed LLTexLayerSet(Buffer) to LLViewerTexLayerSet(Buffer), and provided simple bases in llappearance/lltexlayer.h to mimic new usage. Reworked various bits to work with these changes, and performed some basic cleanup of LLVOAvatar(Self) 2012-12-24 17:20:46 -06:00
Shyotl
d03d145be4 Pulled LLAvatarJointMesh out of LLViewerJointMesh. 2012-12-23 18:33:35 -06:00