Commit Graph

81 Commits

Author SHA1 Message Date
Router Gray
f25577649a [BOM] Fix universal wearables more, and correctly: Sync WT_COUNT and WT_UNKNOWN constants in llinventory.cpp and llwearable.h
Reverted previous changes to textures.xml regarding this issue
2019-12-17 06:34:27 -06:00
Router Gray
1d1857e5a7 [LL] Null checks, and demote a LL_ERRS to LL_WARNS. 2019-10-20 22:14:50 -05:00
Router Gray
68d19cd6fb [BOM] More BoM hooking up. 2019-10-18 16:16:16 -05:00
Liru Færs
7c24e67c50 The UI portion of Bakes on Mesh... and the entire thing, sure, why not?
Also let's now select the proper tab when we input an ID or select a face
with an asset ID that we can find in a tab, but that never works for BOM
when applied.
2019-10-11 03:41:42 -04:00
Shyotl
3724cf0e68 Fixed some more header issues. 2019-04-11 03:12:48 -05:00
Lirusaito
98d315b3f7 Translation Request: Wearables 2019-03-24 22:52:30 -04:00
Lirusaito
28de2ceed8 [EEP] Change to using LLTranslationBridge::ptr_t 2019-03-24 22:52:30 -04:00
Lirusaito
28c814e4ef [EEP] Add all the new llinventory windlight settings files
Also add v3colorutil.h
Also update LLQuaternion and its LLSD pieces
2019-03-24 22:52:30 -04:00
Lirusaito
9affd767e4 [EEP] II_FLAGS_WEARABLES_MASK -> II_FLAGS_SUBTYPE_MASK 2019-03-24 22:52:29 -04:00
Shyotl
fd53ff014e Minor bugfix. 2019-03-20 15:34:23 -05:00
Shyotl
b81373366b Animesh test changes. Also stop screwing with my commit messages, github. 2019-03-17 02:35:07 -05:00
Shyotl
2d8fbb89c9 Intermiediary commit. 2019-03-16 17:51:00 -05:00
Shyotl
5d75b3b223 Prep for animesh. 2019-03-09 01:51:50 -06:00
Shyotl
04ea11c61e Make gcc happier. 2018-11-20 02:49:57 -06:00
Shyotl
736696ac36 Track glEnable states via static refs instead of map lookups.
Sync light state, bound shader, and various gl context states similarly to render matrices.
Texture handles now refcounted, as multiple viewer textures could ref the same handle (cubemaps do this)
Clean up gl extension loading a bit. Not necessary, but only look for ARB variants if not included in current core version. Removed unused extensions.
Use core shader api if supported, else use ARB. (FN signatures are identical. Just doing some pointer substitution to ARB if not core.)
Attempt at improving VBO update batching. Subdata updates better batched to gether per-frame.
There's probably other stuff I forgot that is in this changeset, too.

Todo: Fix lightstate assertion when toggling fullscreen with shaders off.
2018-11-19 00:37:48 -06:00
Shyotl
f4a713a500 Merge. 2017-03-14 04:02:53 -05:00
Shyotl
98516a2a22 Bento hell and back, and back to hell, and back. 2017-01-11 03:55:36 -06:00
Lirusaito
f33429f1bb Buncha pointless sync and cleanup 2016-05-27 12:17:30 -04:00
Shyotl
55b5f60b68 V3 mesh, texture, and hover merge. 2016-04-26 13:36:39 -05:00
Shyotl
df41722c98 llappearance merge 2016-04-04 00:16:55 -05:00
Drake Arconis
949a9ab5dc Largely rework llfile* 2016-01-17 23:33:21 -05:00
Shyotl
18ac6dcb60 Fix 'Wear' action if a wearable of that asset id is already worn; option should now be disabled if there's already a worn wearable with a matching assetid that would NOT be replaced by said 'Wear' action. (It should work otherwise). 2015-07-12 02:35:14 -05:00
Shyotl
9f10d9510d Initial AISv3 merge. New HTTP messages not plugged in yet. 2015-06-25 20:16:30 -05:00
Shyotl
09f4528bfb Removed LLDynamicArray, LLDynamicArrayIndexed, LLDynamicArrayPtr, LLDLinked, LLDynamicQueuePtr, LLEnum, and LLIndexedQueue. Added new LLPointer variants. 2015-06-19 18:27:21 -05:00
Shyotl
1c627317ec No longer include llerrorlegacy.h. Updated llstl to include deletion utilites. 2015-06-19 03:54:20 -05:00
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