Black Dragon is MY Viewer, i decide which feature i want to add and which to remove, i share this Viewer to show the world that user base size is not important, i do rate quality by effort, thought and love put into the project, not some rough estimated numbers. I consider feature requests only if i you can name proper valid reasons i can agree on. It is my (unpaid) time i'm putting into this project, i'm not here to cater to every Joe's desires.

Tuesday, December 29, 2015

Black Dragon Viewer - Update "Preferred Preferences"

Today i'll release the last update of this year.

This update's main topic will be the preferences panel which has undoubtedly become a bit... of a mixed chaos. While the display preferences tab has gotten quite some upgrades and consistency changes, all the other panels were left out... until now.

I spend quite some hours doing some consistency changes to all the other preferences panels, swapping out dropdowns for radio buttons, making sure checkboxes have 0 pixels padding to the one above, changing all title colors, rewriting some labels and generally changing the layout to that of the display preferences panel, including the addition of a huge bunch of "default" buttons for all sliders as well as the ability to write the number directly, there are still a few exceptions like the general tab which has dropdowns due to coding reasons, i will be swapping out as many things as possible in future updates to make sure the preferences UI becomes as simple as possible by only using a very limited set of UI widgets that everyone should be able to understand easily, a nice side effect of this is the opportunity to add more "danger" and "default" indicators to make it even easier to quickly identify where problematic options might have broken something for you.

Here's an example of how the panels have changed:

Another obvious change you will most likely notice immediately is the reactivation of the login screen videos, coming with a new video, as always.

Fitting to the end of the year, the name of this new video is "This is Black Dragon - 2015", it could have been "was" but then again it would be unfitting for the time it was uploaded at, still in 2015. You can watch the video here as well, in full HD and in 60 FPS.

You will notice some other minor changes and probably some bugs, report me any you can find, the biggest misc addition you might notice is the ability to right click rigged meshes again, hooray for that, the camera flying off into the distance should be fixed in this version.

All other changes mostly include merging up with the latest Linden Release code and the Maintenance code which includes a tiny change to icon downloading that should hopefully delay the appearance of the famous "Texture Trashing" problem until there's a proper fix for it.

This update was suppose to include the Bento Project, for those who don't know, it's the extended skeleton with additional bones for wings, face, fingers and so on. I was on a working version at the meeting that was held right after this Project was announced, sadly i was personally asked not to include Bento in my Viewer early on and on the possibility of my Viewer getting removed from the TPVD or worse, getting blocked alltogether or even my account getting locked, i chose to not include it. If you want a Bento Viewer that is not the official one you will have to use Cool VL Viewer. I asked for an explanation as to why this would be a problem, i didn't get any specific answer on that. All i can say is: My Viewer does not support mesh upload in any form, therefor the only thing my Viewer could do with the Bento Project code included is... watch other people... with fancy graphics. I chose to exclude mesh upload a long time ago because i do not want people to upload with a Viewer that is not the official one simply because i do not want people to upload something that could look and work differently on the official Viewer and therefor for everyone, i don't want to be responsive for broken or "specific" content released upon the grid. There was/is already a discussion about LoD's, Mesh Uploads and Firestorm that looked like Firestorm could be held responsive for allowing Mesh Uploads with their possibly different handling of LoD's in conjunction with Settings. Someone saying "because of your different graphic settings creator X Y and Z are creating content that looks broken or causes framerate issues for everyone, including yourself" is the last thing i want.



Changed: Notifications Preferences panel layout, applied Display panel buildup.
Changed: Browser Preferences panel layout, applied Display panel buildup.
Changed: Camera Preferences panel layout, applied Display panel buildup.
Changed: Chat Preferences panel layout, applied Display panel buildup.
Changed: Controls Preferences panel layout, applied Display panel buildup.
Changed: General Preferences panel layout, applied Display panel buildup.
Changed: IM Preferences panel layout, applied Display panel buildup.
Changed: Privacy Preferences panel layout, applied Display panel buildup.
Changed: RLVa Preferences panel layout, applied Display panel buildup.
Changed: Sound Preferences panel layout, applied Display panel buildup.
Changed: Colors Preferences panel layout, applied Display panel buildup.
Changed: Interface Preferences panel layout, applied Display panel buildup.
Changed: Viewer Preferences panel layout, applied Display panel buildup.
Changed: Restored my own Notification floater layout.
Changed: Made show/hide Device Settings code more dynamic for future UI changes.
Changed: Reactivated Experimental Login Background Videos again.
Changed: Login Video to my latest one.
Fixed: Device Settings falsely opening when they should close and vise versa.
Fixed: Low level German UI label fixes to better match the new preferences layout.
Fixed: Viewer not starting up anymore after merge.
Fixed: Compile errors and reverted the file panel face back.
Fixed: More compile errors.
Fixed: Group count display missing.
Merge with Linden Release
Merge with Maintenance
MAINT-335 FIXED Avatar hangs in space after cancelling teleport
MAINT-884 FIXED Spanish Mundo > Acerca del terreno > Opciones: overlapped texts
MAINT-906 expiration time gets zeroes
MAINT-909 FIXED Opening a notecard with the same name as one that is already open does not work
MAINT-925 FIXED Objects called "Second Life" are unclickable & unmuteable via local chat
MAINT-933 FIXED [PUBLIC]Show Land Owner color overlay only visible where there is water when rendering of Lights and Shadows is active.
MAINT-957 WIP Double-click Auto-pilot activates for clicks on UI elements, HUDs, some right-clicks
MAINT-1017 FIXED Disable checkbox during saving process to avoid glitch.
MAINT-1109 Toggling graphics options causes viewer memory to increase, eventually causing the rendering pipeline to fall over and crashing the viewer
MAINT-1274 FIXED Light texture picker snaps back to initial choice
MAINT-1390 FIXED Top colliders floater reopens itself if it was closed at once after opening
MAINT-1401 FIXED Pressing 'Cancel' button in 'Color picker' dialog changes color of prim to the previous
MAINT-1459 For Sale accordion overlaps Estate accordion in Place Profile panel
MAINT-1588 FIXED Square fonts in OSX mountain lion
MAINT-2130 FIXED Update Tools floater after loosing selection.
MAINT-2215 Estate tools Apply button remains available after it is clicked.
MAINT-3491 FIXED If ALM is enabled while in wireframe mode, disabling wireframe mode results in a black screen.
MAINT-3568 Mac OS X, ALM, Full Bright, Shininess
MAINT-4018 Improvements to icon fetching.
MAINT-4260 FIXED Animated agents at high altitudes randomly show up at 0,0,0
MAINT-4360 (Setting LogTextureDownloadsToSimulator causes a viewer crash)
MAINT-4483 (Mesh uploader allows Low LODs to have more triangles than High LODs)
MAINT-5064 FIXED (Mesh upload attempt causes viewer crash) (replacing BBox generation)
MAINT-5268 (Rotating an object that's used as grid reference goes crazy)
MAINT-5443 FIXED Appearance menu does not display gestures in outfit
MAINT-5416 FIXED Cannot right-click a rigged mesh that's worn
MAINT-5464 FIXED Do not add badge to links that have a port number specified.
MAINT-5478 FIXED Keep history according to calendar days and don't completely remove events while changing threshold.
MAINT-5488 ADD FIX [Experience Tools] Opening an experience compiled script in an object in an adjacent region fails to show the script is compiled with an experience in the script editor.
MAINT-5495 FIXED Drag and Drop no copy items from object contents to inventory creates multiple pop ups
MAINT-5498 LLUrlEntry regex refactoring
MAINT-5533 FIXED The fragment part of an URI is only shown if it contains a query part as well.
MAINT-5547 FIXED errors when texturing a linkset "Unable to add texture. Please wait a few seconds and try again."
MAINT-5548 FIXED Don't update snapshot when resizing Viewer if snapshot floater is closed.
MAINT-5556 FIXED Active listing folder stays listed, with empty Version folder
MAINT-5584 FIXED On voice disabled parcel or region, speak button remains disabled in ad-hoc and group voice calls - you can hear but not speak.
MAINT-5619 : Viewer seems to parse LSL syntax file three times, has warnings
MAINT-5670 FIXED should not be parsed in expandable textboxes
MAINT-5678 FIXED Materials with spaces in name import with truncated names
MAINT-5688 FIXED Viewer crashes when user in DnD calling to another user also in DnD
MAINT-5728 fix for dae uploading crash
MAINT-5738 FIXED If "Always Run" is enabled, camming is broken when sitting down.
MAINT-5742 FIXED Appearance window progress indicator spins after changing to an identical outfit
MAINT-5743 Fixed Remove gpu_table and references to it from viewer packaging
MAINT-5753 FIXED Viewer crashes when opening a texture from object contents
MAINT-5755 FIXED Activating Show Avatar Complexity disables all llSetText (hovertext) until relog
MAINT-5758 FIXED "Ban Member" from the group chatters list context menu
MAINT-5756: Unicode characters in online notifications get stripped
MAINT-5759 FIXED URL links in the UI with non-English characters, diacritics, don't get parsed correctly.
MAINT-5760 Save favorite landmarks after renaming
MAINT-5762 FIXED Groups - Message about number of groups you can join does not recognize that your account is premium
MAINT-5796 FIXED Double clicking on anything in COF removes it from your avatar - including skin, shape, hairbase and eyes - results in bakefailed avatar
MAINT-5807 WIP - initialize some uninitialized members of LLModelLoader.
MAINT-5821 FIXED Giant spew of XUI messages in SecondLife.log
MAINT-5829 FIXED About Land floater defect
MAINT-5837 FIXED Hovering text is displayed when the avatar is blocked
MAINT-5846: Change media roll of begining to 10m
MAINT-5862: Change the Linux wording in the ToS floater per Grumpity.
MAINT-5966 - file download failures need feedback
MAINT-5870 FIXED Texture mapping drop down overlaps color thumbnail.
MAINT-5871 FIXED Duplicate Calling Card created for each friend on login.
MAINT-5876 FIXED Facial expressions & Preview while not working in many languages when importing animations
MAINT-5879 Block incoming blind teleport requests from non-friends
MAINT-5892 FIXED Alt camming on rigged mesh makes the camera judder, get stuck or fly off into the distance.
MAINT-5893 FIXED Issue with muted agent's attached lighting still rendering.
MAINT-5901: Make avatar auto pilot work correctly through transparent objects
MAINT-5903 FIXED Resident's name is not automatically filled into the resident chooser for the group invite
MAINT-5909: Enable unicode text input on mac and feed that directly into the viewer.  Windows fixes still required.
MAINT-5925 FIXED Viewer allows you to locally retexture anyones content including attachments.
MAINT-5933 FIXED When a new library avatar folder is created in Clothing folder, folder rename is grayed out until relog
MAINT-5934 FIXED Have to open About Land twice to get parcel ban timings to load in parcel ban list when banned names are not cached
MAINT-5940 FIXED Viewer group info widget query cleanup
MAINT-5941 [Valhalla] Default flash to on by default (reverts MAINT-5773)
MAINT-5956 FIXED Certain dae will not upload with the new importer code
MAINT-5961 FIXED Incorrect position of "Delete all" button within "Notifications" floater
MAINT-5971 FIXED Creator and Owner are missing in Object profile
SL-192 Edit Experience Profile shows up once an Exp is acquired
WOLF-300: Try using a smaller data volume for LLLeap tests on Windows.

Monday, December 14, 2015

Black Dragon Viewer - Update "Going Places"

Fixing the broken, protecting the fixed, i am the terminator of... bugs. *crunches a bug under his feet*

This time i got some work done on the places floater which i broke (intentionally) in the last release, it was in a catastrophic state before i broke it, the broken version was actually the good one, i just couldn't let you see it... you can thank me later.

The aforementioned fixes for the places floater were basically everything that were delaying this update so i had to get it done... even though it was a total pain, layered layers for layering layered layers in layers... you get the idea...

This update is really important as it also contains 2 crash fixes, one for a random crash i was experiencing (and you most likely too) due to leftover code that triggered a nuclear chain reaction in the Viewer, making it blow up violently as soon as certain avatars, objects, prims... whatever else it was, came into your draw distance, the other one for a crash 100% reproducible whenever you right-click while in either zoom/pan/orbit mode in the tools floater (build window) or when in object view mode in the camera controls floater, the camera controls floater thing was really tough... it took me just 50 builds to figure out a proper way to do it that works, as always the solution was as simple as it can get, so simple i would have never found it, hooray for having a nose for things like this.

Next up were the broken values for Avatar Rendering Complexity introduced in the last update, i'm sorry for that, it's the reason probably EVERYONE is always just appearing as jellybaby (or not at all), when merging with automerge i didn't see that the LL Viewer sets a default value for the new ARC debug, it was 200 because the LL Viewer sets the ARC limit depending on your general graphic preset which my Viewer doesn't have anymore, i raised the limit to the proper value of 120000, that means the probability of your friends being derendered is lowered by approximately 15%. Why only 15% you ask? because your friends are most likely resource hogs and have a much higher ARC than 120000.

This needs some explanation, first off you should read the Avatar Rendering Complexity wiki page LL made for this feature to get an idea what this actually is. Basically every avatar's "weight" is calculated, it depends on how much attachments he wears, how many prims it has, how many textures, which features does it use (glow, fullbright, materials etc) and so on, the more ARC someone has the more render resources he takes up, higher numbers = bad. If the avatar goes over your set limit, which in the case of my viewer is by default 120000, he will be rendered as impostor or "jellybaby", sort of like a 2D sprite if you know what that means, basically he will be derendered and use almost no resources, that feature is in place to A: protect you from evil graphic crashers and B: from hardware hungry framerate killer avatars like your friends or your own avatar (probably). Don't worry, your own avatar is not derendered for you, just for others with this feature enabled...oh did i say enabled? You can't disable it. That's right, no on/off toggle. I could make one but i'm sure LL is going to get soft and make one anyway, basically throwing this entire feature into trash, yay! So why did i set 120000 and not some other arbitrary number? All my avatars move in the range of 30000-150000 and as you may know i'm a furry, i wear quite some ARC heavy stuff, some of it stuff i can't just take off to reduce my ARC because it is my head, or my leg or my tail, they are however, still somewhat easy to get below 120000 if i wanted to (i don't want to because i don't use them anymore, they are old... sculpt... look like shit, you name it), also most normal avatars i see have an ARC below 120000 as well, so 120000 should be a good limit, it seems like something high enough to see low to medium weighted avatars without showing the ones that tend to tank your framerate. My current ARC is at ~36000, that should give you an idea and for those who don't know i look like this:

around 26000 of my ARC is my hair, 6000 my body and 4000 my clothes.

Additionally to the ARC value and limit there are 2 more limits set, the avatar size in bytes (8000000 = 8mb by default) and the maximum object surface an avatar can have (100m² by default), i'm not too sure about the size yet it might be a super miss, it isn't all that important but the avatar surface can play a huge role, very high surface m² can mean the avatar is wearing a shitton of textures or huge prims or might even be wearing a graphics crasher.

You can of course find the options in preferences - display - performance options and change them as you like, you can also right click someone and select to render someone always fully but i highly recommend you not to raise them all too much higher, higher values means heavier avatars means less framerate.

You can also check your own values and those of others around you with the now called "show avatar complexity information" menu entry in Dragon - Useful Features - Performance Tools.

It will display you the information like this:
Avatar Rendering Complexity
Surface m²
Size KB

Here's a snapshot from the last post to show you how it looks like.

I hope that clears up your invisible avatars issue once and for all, i'm sorry i didn't explain that in the last update where it was introduced.

Guess that's it for today, have fun with the now less crashy/buggy version.


Changed: Use ellipses for Inventory view, stop this endless horizontal scrolling mess.
Changed: Layout of Places floater.
Changed: Layout of Place Profile panel.
Changed: Layout of Landmark Info panel.
Changed: Fancied up forward button in History a bit.
Fixed: Clipping Landmark lists.
Fixed: Broken button rows.
Fixed: Random Crash with certain Avatars, removed some leftover code.
Fixed: Avatar Complexity Debugs being off, causing everyone to be a jellybaby.
Fixed: Crash when right-clicking in Object View or Zoom/Pan/Orbit mode.