Don't enable AA in deferred/ui/etc unless AA is actually enabled via setting
Standard c array instead of silly vector, since the size is knowable at compile.
This fixes the bug that if you Quit while in the Singularity -> Pose
Stand, then you are permanently hovering over the group until you go
into Advanced -> Debug Settings and reset AscentAvatarZModifier.
It also fixes that before, when you changed AscentAvatarZModifier
in Advanced -> Debug Settings then you saw no effect (until the
viewer would sent an AvatarAppearance message.
After this patch, changing any of the AscentAvatar*Modifier settings
has immediate visible effect, and a pose stand (Z-offset) is reset
when quitting.
Allows to save the .llm of all mesh objects, and
all morphs of each as .obj (Wavefront OBJ File),
for import in, for example, blender.
You can also load .obj files, but of course they
will only affect what you see locally.
LLInstanceTracker added to llcommon (pulled from llui in v2 for usage elsewhere)
LLEventTimer now using LLInstanceTracker
Updated LLLiveAppConfig (Though it appears unused, really)
processor.h is obsolete, thus removed. (llprocessor.h replaces it)
Also a little review of Dead objects in general.
The old code was calling 'erase' on a large vector, once for
every dead object (which are a lot, especially if you exit or
teleport), causing the whole (large) vector to be copied every
time. The new code only calls erase once per call (about once
a second at most now), erasing 20 to 100 objects at the END
of the vector. This is INCREDIBLY faster.
This makes sound beacons green when playing at
full volume, yellow when playing at a lower volume
and red when they are muted (aka, in another parcel
that you can't hear the sounds of).
Originally this was a debug patch as muted sound
sources used to be implemented by setting the volume
to zero, which happens to use like three times more
CPU: so, having a lot of muted sound source caused
the audio thread to never release a mutex anymore
(cause it was never idle anymore), causing the main
loop to hang, waiting on that mutex - dropping the
FPS drastically. Hence it was necessary to see which
sound sources were muted for debugging purposes.
(Since VWR-14914, muted source source are not played
at all anymore, so they do not take extra CPU).
It's still fun to see this extra information though,
now the patch exists anyway.