summaryrefslogtreecommitdiff
path: root/indra/llappearance
AgeCommit message (Collapse)Author
2016-09-15MAINT-5232: Normalize LLSingleton subclasses.Nat Goodspeed
A shocking number of LLSingleton subclasses had public constructors -- and in several instances, were being explicitly instantiated independently of the LLSingleton machinery. This breaks the new LLSingleton dependency-tracking machinery. It seems only fair that if you say you want an LLSingleton, there should only be ONE INSTANCE! Introduce LLSINGLETON() and LLSINGLETON_EMPTY_CTOR() macros. These handle the friend class LLSingleton<whatevah>; and explicitly declare a private nullary constructor. To try to enforce the LLSINGLETON() convention, introduce a new pure virtual LLSingleton method you_must_use_LLSINGLETON_macro() which is, as you might suspect, defined by the macro. If you declare an LLSingleton subclass without using LLSINGLETON() or LLSINGLETON_EMPTY_CTOR() in the class body, you can't instantiate the subclass for lack of a you_must_use_LLSINGLETON_macro() implementation -- which will hopefully remind the coder. Trawl through ALL LLSingleton subclass definitions, sprinkling in LLSINGLETON() or LLSINGLETON_EMPTY_CTOR() as appropriate. Remove all explicit constructor declarations, public or private, along with relevant 'friend class LLSingleton<myself>' declarations. Where destructors are declared, move them into private section as well. Where the constructor was inline but nontrivial, move out of class body. Fix several LLSingleton abuses revealed by making ctors/dtors private: LLGlobalEconomy was both an LLSingleton and the base class for LLRegionEconomy, a non-LLSingleton. (Therefore every LLRegionEconomy instance contained another instance of the LLGlobalEconomy "singleton.") Extract LLBaseEconomy; LLGlobalEconomy is now a trivial subclass of that. LLRegionEconomy, as you might suspect, now derives from LLBaseEconomy. LLToolGrab, an LLSingleton, was also explicitly instantiated by LLToolCompGun's constructor. Extract LLToolGrabBase, explicitly instantiated, with trivial subclass LLToolGrab, the LLSingleton instance. (WARNING: LLToolGrabBase methods have an unnerving tendency to go after LLToolGrab::getInstance(). I DO NOT KNOW what should be the relationship between the instance in LLToolCompGun and the LLToolGrab singleton instance.) LLGridManager declared a variant constructor accepting (const std::string&), with the comment: // initialize with an explicity grid file for testing. As there is no evidence of this being called from anywhere, delete it. LLChicletBar's constructor accepted an optional (const LLSD&). As the LLSD parameter wasn't used, and as there is no evidence of it being passed from anywhere, delete the parameter. LLViewerWindow::shutdownViews() was checking LLNavigationBar:: instanceExists(), then deleting its getInstance() pointer -- leaving a dangling LLSingleton instance pointer, a land mine if any subsequent code should attempt to reference it. Use deleteSingleton() instead. ~LLAppViewer() was calling LLViewerEventRecorder::instance() and then explicitly calling ~LLViewerEventRecorder() on that instance -- leaving the LLSingleton instance pointer pointing to an allocated-but-destroyed instance. Use deleteSingleton() instead.
2016-09-02mergeBrad Payne (Vir Linden)
2016-08-25SL-427 - debug logging for AvatarBodySize will give details about when and ↵Brad Payne (Vir Linden)
why body size changed
2016-08-23SL-274 - disabled test w/non-SSE matrix ops. MAINT-6672 - fixed Reset ↵Brad Payne (Vir Linden)
Skeleton, no longer crashes.
2016-08-12MAINT-6631 - reluctantly, added support for animation of collision volumes, ↵Brad Payne (Vir Linden)
to avoid breaking existing content.
2016-08-09SL-109 - made viewer much less tolerant of bad data in avatar_skeleton.xml ↵Brad Payne (Vir Linden)
or avatar_lad.xml. If either of these is broken, there's no point trying to continue, more informative to just error out with an appropriate message.
2016-06-29SL-426 - strings.xml fix for pec attachments, SL-402 - diagnostics for ↵Brad Payne (Vir Linden)
investigation
2016-06-27SL-124 - code cleanupBrad Payne (Vir Linden)
2016-06-24SL-124 - comment cleanup, fixed a crash if skinned mesh has no valid joint ↵Brad Payne (Vir Linden)
names defined
2016-06-07SL-395 - support scale overrides (currently no way to get these into a dae, ↵Brad Payne (Vir Linden)
so the actual scale values are fabricated at run-time based on the joint name)
2016-05-21merged jelly-doll viewer-release into bentoBrad Payne (Vir Linden)
2016-05-18SL-315 - fixed collision volume scale issue in resetSkeleton()Brad Payne (Vir Linden)
2016-05-18SL-315 - fix for max/linux build failure, additional lad validation in ↵Brad Payne (Vir Linden)
skel_tool.py
2016-05-17SL-315 - resetSkeleton() fixes, mostly to get better behavior with non-self avsBrad Payne (Vir Linden)
2016-05-12SL-315 - resetSkeleton(). Still some small scale discrepancies, visually ↵Brad Payne (Vir Linden)
pretty good.
2016-05-11SL-315 - resetSkeleton(), working for bones at least partially, still some ↵Brad Payne (Vir Linden)
issues with collision volumes
2016-05-10SL-315 - resetSkeleton() work including attachment points, reapplying ↵Brad Payne (Vir Linden)
appearance message values.
2016-04-22SL-374 - don't allow sliders to modify joint positions if there's already a ↵Brad Payne (Vir Linden)
mesh-imposed override in place.
2016-04-18SL-371 - more tracking on partial joint overridesBrad Payne (Vir Linden)
2016-04-11SL-362 - changed 'could not link driven params for wearable' into a debug ↵Brad Payne (Vir Linden)
message. Needs more diagnosis to figure out whether we care. Silencing for now to avoid redundant bug reports.
2016-04-04merge with 4.0.3-releaseOz Linden
2016-04-01mergeBrad Payne (Vir Linden)
2016-03-10SL-315 - wip on joint resetBrad Payne (Vir Linden)
2016-02-26SL-109 WIP - minor code cleanupBrad Payne (Vir Linden)
2016-02-26SL-287 - default avatar handles position changes caused by extra spine jointsBrad Payne (Vir Linden)
2016-02-23SL-287 WIP - fixed default avatar crash caused by added spine joints. Still ↵Brad Payne (Vir Linden)
renders distorted.
2016-02-12SL-333 WIP - added back some unused constructors to make the appearance ↵Brad Payne (Vir Linden)
utility happier
2016-02-03SL-333 work - attachment joints now get a valid mJointNum, more checking on ↵Brad Payne (Vir Linden)
valid joint num values. Also reduced log spam slightly.
2016-02-03SL-315 - context strings, comments, debugging. joint_test temporarily disabled.Brad Payne (Vir Linden)
2015-12-15SL-276, SL-277 - support for version 2.0 of avatar_skeleton.xml and ↵Brad Payne (Vir Linden)
avatar_lad.xml
2015-11-23SL-271 WIP - skip rendering bones with no end (set as 0 length). Show bones ↵Brad Payne (Vir Linden)
if show joints is enabled in mesh upload preview.
2015-11-18SL-271 WIP, SL-201 WIP - leaf joint attrib is now end. Show bones option now ↵Brad Payne (Vir Linden)
includes occluded portions.
2015-11-17SL-271 WIP, SL-201 WIP - add support for end point to joints, use for debug ↵Brad Payne (Vir Linden)
rendering display to show bones.
2015-11-13Eliminated joint_offset file. Added aliases attrib to bones in ↵Aura Linden
avatar_skeleton.xml.
2015-11-10remove execute permission from many files that should not have itOz Linden
2015-10-16SL-234 WIP - Track which joints are part of base skeleton, remap non-base ↵Brad Payne (Vir Linden)
ones when not being rendered.
2015-08-19Be sure the correct include is included.Rider Linden
2015-08-18See if this helps the linux build. If not change will be needed to ↵Rider Linden
viewer-update-llapearance-utility repo
2015-08-14SL-125 WIP - updated base bento repo excluding dynamic skeleton.Brad Payne (Vir Linden)
2015-05-28mergeBrad Payne (Vir Linden)
2015-05-28SL-117 WIP - initial placeholders for wing, tail joints. Updated max joints ↵Brad Payne (Vir Linden)
to 48 and added some debugging.
2015-04-24mergeBrad Payne (Vir Linden)
2015-04-10restore the ll[io]fstream because we need them as wrappers on Windows for ↵Oz Linden
wide char paths; on other platforms they are now just typedefs to the std classes
2015-04-07replace llifstream and llofstream with std::ifstream and std::ofstream ↵Oz Linden
respectively
2015-04-07convert llifstream and llofstream to std::ifstream and std::ofstream ↵Oz Linden
respectively
2015-04-07appearance utility source updatedBrad Payne (Vir Linden)
2015-04-07appearance utility source updatedBrad Payne (Vir Linden)
2015-03-09SL-103 WIP - fix for some inventory items not enabling addBrad Payne (Vir Linden)
2015-03-09SL-103 WIP - bumped MAX_CLOTHING_LAYERS to target value of 60Brad Payne (Vir Linden)
2015-03-05SL-103 WIP - viewer enforces wearable limits based on total articles of ↵Brad Payne (Vir Linden)
clothing rather than per-type limit. Limit is artificially low for testing, will bump before release.