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.

Saturday, March 16, 2019

Black Dragon 64x - Update 3.4.5 "Audible Dragon"

Black Dragon Updates Episode MXVII

In a virtual universe far far away...

It's a small one but important one, it contains an updated CEF plugin which fixes an important security issue, we were asked to get this into our releases ASAP. So after some short testing and a test run on yesterday's meeting... everything seems fine, so here we go.

As usual, if you find bugs, report them... or don't.

With this update i'll also experiment with the auto-updater again. This release will be made mandatory so everyone will have to update to this version soon. This is primarily to get people to get all the latest stuff and to see whether the updater works now, it will be removed if it doesn't (saving 10-15mb from the package).

Monday, March 11, 2019

Black Dragon 64x - Update 3.4.4 "Audible Dragon"

So as announced last week, another update.

This one came with a bit more than i wanted. I just wanted to replace FModEx with FModStudio, for those who don't know what it is, it is essentially SL's used sound engine. I had to replace it and get an official license because apparently taking Patreon donations (or any donations, even inworld) voids the FMod license and i need to get one for my Viewer. I'm happy to say that this is now the case, Black Dragon now has an official FModStudio license. Wooo.... so nothing changes. Old audio engine out, new one in, same bugs plus more.

The other announced change was the inclusion of a crash fix but when i pulled it i pulled the entire batch of other changes too and thought "fuck it" and update the Viewer to the latest LL code... with a few changes here and there all seemed to have gone well. Wooo....

As side-effect you'll now find a new .exe in the Viewer labeled "SLVersionChecker.exe" this new and totally (not) improved ViewerManager replaces the old one that didn't work, i had to include it because otherwise the Viewer wouldn't start and crash on startup, i could have just disabled it but i thought this would be a good time to leave it in and soon force an autoupdate to this or the next version in order to see whether it actually works with TPV's now or not. Worst case you won't be able to log in, get a cryptic message that doesn't tell you to update the Viewer and you'll have to play the guessing game what it means and eventually update the Viewer or end up asking me. In that case i'll disable and remove it again. Nothing lost.

I've also included a few texture fixes across a few windows that i missed. No interesting changes from my side other than these mentioned above.

LL's changes brings us a few fixes here and there, nothing worth mentioning and the new Bugsplat service which i don't use.

As always, the release is highly untested, i just made sure it starts and runs and does things as always you'll have to find the evil hidden booboos. Good luck on that, you didn't even notice the dropdown textures in tools were missing :<

by Spiritus

Wednesday, March 6, 2019

Black Dragon 64x - Update 3.4.3 "Exploding Dragon"

Yesterday i pushed another small update.

It's not much but it fixes some reported bugs, including the mouselook offset not working thanks to a last minute change (once again) and the land tool selection being offset.

Soon i'll push another update, this one will most likely contain only 1-2 changes but a really important and big one. Stay tuned.

by Loverdag

Sunday, March 3, 2019

Black Dragon 64x - Update 3.4.2 "Exploding Dragon"

Whew. What do we got here? Is that an update in your pants or are you just happy to see me.

More than 1 month without an update, what have i done? Let's just say quite a bit.

Lets get started right away! We'll start with the cat in the bag: Performance! Don't you just hate when you optimize right-click selection outlines to the point you can actually have something selected without freezing to death and this stupid UI blows everything up and calls his children 560.000 times per frame? ME TOO! I know mothers become dragons when it's about the kids but boy this mom surely calls its children a lot of times, unnecessarily so, even worse, calling out for her kids this often annoyed the nice neighbor framerate so much that he couldn't do his work this resulted in a lot of stalls, unnecessary stalls in work. I took my chance and smacked a big fat patch across her big mouth, she should be quiet for a while. No more interruptions. No more stalls in work. If only working on the Viewer was this easy... oh i forgot, it is! That's why i did more! I didn't just fix 560.000 getChild calls per frame i also took the liberty to look around the UI and see what else is calling for its childs too often. You know, counting through all your 5 billion children is a bit slow, especially if you do it hundred thousand times a second but the UI does call its children quite a lot everywhere, not just when something is selected (for whatever reason), i went through right click menus, the main menu, object and avatar menus, some windows and the main UI as well as the main UI update cycles and drastically reduced the stalls everywhere. It feels so nice to open right click menus without stalls now. Not to mention left-clicking now doesn't stall the Viewer for a tiny itsy moment either. In general the overall performance should be much more stable and maybe even a tiny bitsy bit better. Most importantly though, constantly updating objects won't murder your framerate anymore when you keep them selected, wonderful.

So while going through everything due to the above... *ahem* performance issues, i also cleaned up some quite a few code parts and hopefully made them faster and safer, this includes iterating through attachments in the complexity window, the camera as well as the Viewer in general.

Then i spent a lot of time going through my to-do list, fixing as many issues as i could, adding some suggestions and improving on some others. Keybindings should no longer falsely default to "First Person" and show "Third Person". Attachment icon and text when creating group notes should finally show up and stay like they should...i added a warning to changing the Font DPI, improved consistency in multiple areas of the UI such as the Map and Tools window.

Mod/Copy/Trans permissions in inventory have been changed, they are now strikethrough, Deferred Rendering is now considered default on, Motion Blur was disabled by default, its options were slightly changed (you can now select whether to blur your own avatar, others or both in addition to objects), the balance display vanishing in some rare conditions was fixed and working with the glow and transparency sliders on objects should now be much smoother thanks to them not immediately spamming the server with changes and rather waiting for you to be done dragging the slider.

IM/Group sessions starting for you should hopefully no longer make you freeze for increasingly longer times (thanks to Drake for the fix), flycam rolling should work again when its bound to an axis rather than buttons and more...

..i fixed multiple crashes, one related to having a bigger Font DPI and opening certain windows, another when rendering lights.

Finally there are also new things in this update. You can now change the mouselook camera offset but beware, mouselook works different than the normal camera, changing anything but the height will do strange things. You can do some fun things with it tho.

But most importantly this update includes the very first draft of my new big feature i'll be working on after the Poser. You might remember the totally broken camera recorder window i added quite some time ago, i spent a few days to rework it and make it mostly fully functional, it's really hard to use and extremely meh at best still but its only the very very first working version and just like the Poser this will get constant updates, new features, improvements and so on. I've also chosen to leave the UI as is, as in it's complete shit, no thought and no effort put into it as special experiment so you can see how the UI looks when its just made functional and i haven't put my hands on it yet. I'm thinking of putting every UI overhaul into a separate tab so you can see the evolution (if there is any beyond the first rework) of the UI over the course of its development, i thought that might be a nice reminder of how much is actually going on behind curtains when it comes to working on the UI. You'll get a functional UI first, no fanciness, no consistency, no design, no nothing, pure UI functionality, then later you'll get the usual UI changes, then tell me again i don't put any thoughts into it.

Yeppers, that's the UI you see there, big, clunky, broken. Have fun with that.

And for the end, i saved the very best: WEBPROFILES WILL GO! GOODBYE WEBPROFILES!

No i didn't change my mind. This came right from LL! Soon webprofile feeds will break and then LL will bring back clientside profiles. Oh did i wait long for this... not because i don't like webprofiles, i liked them, i'm just happy to get a new window to trash and redo.

As always, if you find bugs or issues, report them to me (or on Discord), i'll hopefully get them worked out sooner or later.

by 털덩이

by Spiritus
by Spiritus
by Loverdag

Friday, January 25, 2019

Black Dragon 64x - Update 3.4.1 "Exploding Dragon"

This one's a big one. Lots of fanciness included!

Let's start with the additions.

The double-click behavior on inventory items and avatars in "People" can now be changed, there are multiple options. Teleport to is NOT an option.

Shadow occlusion has been brought back, no idea if it actually improves shadow rendering performance but we'll see.

The changes...

Keybindings has been reworked (again) to hopefully make it much easier to rebind keys and see what you are supposed to do, no more 5 lists, no more selecting an action first, the new way is much simpler. You select the keybindings you want to see -> First Person , Third Person and so on, you hit "Add" and get the add dialog in which you can select the action you want to add and press the keys you want to assign, very simple.

Font shadowing has been enabled for most if not almost all texts in the UI, you'll notice that the text will look different than before, that's because it will now have a soft black shadow around it, making it a bit easier to distinguish from the background and making background such as in the Login panel changelog obsolete. It also looks cool at no perceived additional performance cost so far. Nice!

While we are at performance, i've undone a small cleanup from the last update that seems to have introduced a loss in performance, i hope this is fixed now.

I've also spend some time optimizing the preferences window again, improving its opening performance by a lot, no more freezes on opening it except when opening the Avatar Render Settings tab for the very first time. It should also run a tad bit faster while open, less slowdown whooohooo!

Also, while we are at Avatar Render Settings, the right-click menu entry "Exceptions..." didn't work, i fixed that, it should now open the preferences window and select the Avatar Render Settings tab.

Furthermore i spend a huge amount of time this update going through many windows and panels, fixing the tabs, fixing the layout, making everything as consistent as possible and generally just making everything look nice and fancy. You'll notice the preferences window has gotten a bit fancier and all tabs in several windows have had their widths increased to properly fill the entire container all the way to the end, so nice and clean.

Have you ever noticed how selecting high poly avatars in other Viewers has absolutely murdered your framerate? Did you also notice how this was not the case in Black Dragon? Well i did some.. tweaks in the past to stop the selection outline from updating every frame but this had the side effect that the selection outline became instantly out-of-sync when the item in question was rigged and moved, it also made selecting parts a hassle because the outline took 5 seconds to show up (and update) if the update was enabled, otherwise it might have never showed up at all. Well not anymore! I've reworked this part too, the selection outline will once again update as fast as possible, every frame, but it will require VASTLY less performance to do so now, it will still take a huge chunk of your framerate if you select Maitreya or Belleza bodies but it should no longer drop you into completely unusable 1-3 fps or worse, 10-20 FPS while having them selected should be easily possible now, given you have 20-30 FPS to begin with of course. As test i've selected a jacked that had 1 million polygons, it only dropped me to around 6 FPS (from 30 thanks to the overly complex avatar itself), previously that would have made me freeze for several seconds and most likely not allow me to get more than 1 FPS... or more likely would have simply crashed me. Having one million polygons selected and update in realtime is a bitch but its our bitch now! *whipcracking*

Haha ohyea and before i forget, the mesh outlines (and all their styles you can select) are now used for all object types, not just mesh. How awesome is that!? Screw those old shitty laggy crap glowy outline thingies, you can now have the new ones!

Also premium users should now hopefully see their premium max group number correctly, previously it was showing the default 42 at all times.

I've also changed a few option labels to better describe what they do and look less like leftovers from previous preferences versions.

And finally, i've merged the latest code from Linden Labs getting the Viewer up on par with 6.0.1. It contained some crash fixes, translation stuff (which i don't use) and a few other smaller bugfixes such as jellydolls still emitting light.

By Loverdag

Tuesday, January 1, 2019

Black Dragon 64x - Update 3.3.9 "Exploding Dragon"

Happy New Year everyone.

I hope you got a better start into 2019 than i did.

2018 was a trainwreck and the last week just now was equivalent of a nuclear chainreaction. Everything went haywire, one catastrophic event followed the next. To some degree this feels like 2011-2012 all over again, an emotional rollercoaster full of shit and even bigger shit.

I don't feel like writing much about this update, its just some bugfixes, some tidying up the UI and slight improvements here and there. If you find anything, report it as usual.

by Beev Fallen

I'm signing off for a while.

Monday, December 24, 2018

Black Dragon 64x - Update 3.3.8 "Traveling Dragon"

Another week, another update.

This time with much less rage inducing changes.

Again as promised, UI QoL changes, fixes and reworks, mainly the World Map has been overhauled and should now look much cleaner and fit the new style much better.

Here's the old one:

And the new one:

Also the Advanced Complexity window has gotten some additional bugfixing and finetuning, no more scrolling vertical then horizontal and resizing the window should now properly work and not break the layout. The media column is now visible too and broken values should be fixed and display properly now wohooo!

I was aware of the SLPlugin.exe issue, here's hope this doesn't happen again, sorry about that.

Merry Christmas everyone!

By Spiritus

Sunday, December 16, 2018

Black Dragon 64x - Update 3.3.7 "Notifying Dragon"

This was a super annoying and painful update to do.

I knew i was going to have to touch the Appearance window at some point and i knew why i didn't want to the past years. It's a horrible mess, it's a clusterfuck of shit and its archaic code makes no sense to me whatsoever. I wasted a good 95% of the time trying to get a single thing to work and that just because i'm taking consistency really serious.

Those who are on my Discord chat probably have noticed my semi-mental-breakdown on the topic of reworking the Appearance window and its disgustingly shit design, what's worse... i had to abort doing what i was trying to do and settle for the lesser evil one that i'm not willing to keep permanently. Again those who followed the Discord chat know what i'm talking about and what i've done.

To TL:DR what was said appearance is a clusterfuck and its horrible giving it a consistent look with the rest of the UI is basically nearly impossible and the biggest offender of them all is this unacceptable double-button-row at the bottom.

Ignore the fact it is not going all the way to the right and concentrate on the pure SHIT-ness that is the usage of a bottom button row TWICE right above each other. I've redesigned all other panels to NOT do this. The bottom of a section is supposed to be filled with a bottom button row, this goes for the main panel as well but there should never ever be two of them right above each other. My problem is that i cannot fix this everything i do either makes the UI un-intuitive or simply is a strange workflow, one idea was putting the "Editing/Add More" section at the top but that's just weird, why would you put a "add more" section at the top of a "Editing" panel where you come in to edit the currently worn outfit by changing or editing the already existing clothes/bodyparts... adding more is editing too but its more an "additional" feature than the main one so it's obviously not an option at all. The other idea was putting the controls in the very bottom which again wouldn't work, not only because the second row of options only appears when the add more section is opened but also because these controls are not "main controls" for the entire panel which would play into inconsistency.
Another one is keeping as it is (for now) and just fill the entire bottom row. That's what i settled for... for now. It's a mess and i hate working in Appearance because of this, it forces unconventional solutions that don't need to be used anywhere else, increasing inconsistency and spitting on my carefully constructed everything. I hope you burn in hell Appearance window.

This is not even starting on the topic of the actual contents, the clothing/bodypart entries, i wanted to make the appearing buttons consistent and nice but no, the code doesn't let me, everything in its code is old, doesn't make any sense is just utterly and stupidly wasting space, besides nothing working as i want it to. 3 days later and i've gotten 0 progress so i trashed it and kept it as it is and did as much as i could without touching the code. It's better now but i'm still extremely unhappy with it. Needless to say that one day i'll have to look at it again and go with the sledgehammer approach.

And if you think that's just a whole lot of noise for nothing, you haven't seen (or heard) my autistic screeching when i saw this:

This made my heart drop down right out of my ass. ONE PIXEL INCONSISTENCIES. The bane of my existence.

But Niran it's just a single pixel, no one even notices. I DO. It drives me nuts. I put so much fucking effort into doing this PERFECT. Two pixel from top, right and bottom with scrollbars (yes i know about the scrollbars in accordions, they don't... i can't fix it), one pixel space between buttons, one pixel space between bottom and buttons, one pixel space between checkboxes and so on... you get the idea. This is stuff i look for a lot and this is what takes up most of the time when i design the UI, besides thinking of a good layout and making everything work.

If you truly think i put way too little time into my UI, if you think my UI is overly complex, bad or un-intuitive you truly have no idea how much time i invest in making this UI the way it is, how many different options i go through, how many layouts i consider how many cases i have to work with to get the UI where it is, i don't just go in, toss all the buttons on the wall and call it a day because they stick. There's a huge difference between a good, intuitive, thought-out UI and a simple, barely functional "it-just-works" UI.

People often compare my UI to Firestorm and immediately say that Firestorm's UI is so much better and intuitive and not at all complex without realizing you are tossing the worst insult someone could possibly come up with around as if it was nothing.

I'm sure when i say that i can take ANY panel, any window of Firestorm that also exists in my Viewer and compare them both and i'll find you a million things you didn't even knew where there...and bad. Want an example of the oh-so-godly, flawless UI design of Firestorm?

1. What is with the "Nothing selected" tag, the one that shows some impact and selection info, why is it centered? It will clip into the tabs below unless it is centered vertically which then poses the question WHY?
2. Why is "Physics Shape Type" so awfully misplaced, why is it not on the same height as the "Flexible Path" checkbox?
3. Why is the "Physics Material" dropdown below it a different length for no reason?
4. Why is the Bounciness so awkwardly spaced from the rest?
5. Why are the light and light texture pickers different sizes? Why are they so small? Why do they waste so much space?
6. Why are the first three bottom spinners spaced differently than those above? Only one pixel rather than 2 like above?
7. Why are the second three bottom spinners on the right awkwardly offset from the left ones? And why are they longer than all the others?
8. Why is there so much space wasted at the bottom?
9. Why are the spaces between those buttons above the nothing selected info line different, the dropdown has more space in between than the rest? Why are the next/prev buttons so close to each other? They could be spaced out a bit more so the dropdown could be spaced less and extend all the way to fit perfectly to the end of the line below just like the next/prev buttons do on the left.
10. Why is the Edit Linked checkbox not on the right where the other checkboxes are?

This is just one tab out of a single window, one that many of you use every day. It's just one example of many thousands i could make.

Is this truly a better UI? Do you think that's more "thought" put into the UI? This is nothing! That's just the tools window, i haven't even started on the main UI... the preferences window, anything. You come here and tell me my UI is shit, looks like crap and is un-intuitive and complex and in the same breath you continue with "Firestorm did it better" when all they did was nothing but squeezing it in there somewhere. Their UI is an insult to my eyes (and i've told them several times that they could spend some quality time on improving it) but that's not what pisses me off, it's people who have the balls to tell me that i do a shit job at making UI's because they are used to a vastly inferior UI that has neither gotten the love and care it deserves nor has it had someone sitting there for hours on end trying to get it perfect, not just working or just right but perfect. Their UI makes me vomit and it pains me to see that they managed to downgrade an already only marginally decent UI that is basically the aftermath of a nuclear fallout seeing how much everything is wasting space with empty (probably blown up) space.

You think i'm crazy? Yes, i'm crazy wasting so much time and effort on trying to deliver a consistent looking, decent UI that doesn't horribly break apart if you look funny at it. It's funny how some people seemingly don't see how much time is spent on just thinking about the UI and trying different approaches, all of which get thrown out because they look shit, they feel shit, they are broken or they are un-intuitive. When something is un-intuitive report it and give some feedback for a better workflow. Some things simply can't be done without changing a whole lot. Sometimes things as small as changing the arrangement of a few buttons in an appearance window will involve rewriting everything from the ground up if you want it done right and not just working.

Sometimes things don't work, don't think i haven't tried. Single-click selection in the poser avatar list didn't work for some reason, now it does. Sometimes things don't work out as planned and i have to do what is called "damage control" aka salvaging what can be salvaged from the wrecks of a burning pile of scrap.

I hope this gave you an idea with what kind of shit i'm dealing with in the UI and gave you a glimpse of the inner workings when i work on the UI and what i have to do to do what i want to do. UI design isn't easy.

Friday, December 7, 2018

Black Dragon 64x - Update 3.3.6 "Notifying Dragon"

First week update.

Woohoo. It's not much, again mostly just QoL a few bugfixes and the like but i wanted to give it out a bit sooner due to the Poser bug.

So, this update contains a fix for a nasty bug that broke poses on load, they should once again work properly (and better than before too).

Next are several tiny QoL changes, such as reducing the double-click to a single-click in both camera window (to select a preset) as well as in advanced complexity floater to show the ARC values of a selected avatar. Yay for saving a single click per action!

The [Invert] buttons in the joystick window will now properly refresh the values and as such will now actually work without having to hit enter in the text editor after clicking the invert button. Horray for keyboard hits saved.

Pie menu looked a bit "eaten" now its a full pie again. Yummy!

And finally as mentioned last month this update's main reason, the ongoing UI improvement marathon. Today: "Picks". Everything "Picks" related has been looked into and revamped if necessary. This includes "Picks", "Edit Pick", "Edit Classified" and everything around them.

In comparison, the original edit classified on the left and the already finished edit picks on the right.

And here we see the finished version of both. Looks much more organized and clean now doesn't it?

Phew, yea. A few tiny fixes and changes in the Poser that should hopefully prevent future incidents with 0.0 interpolation times and that's pretty much it for this update.

More will be coming!

Monday, December 3, 2018

Black Dragon 64x - Update 3.3.5 "Notifying Dragon"

Phew this took a bit longer, stuff kept breaking.

preeeeetty much.

Anyway, to make it up this update comes with some big changes, at least in code they are.

First and foremost, to improve the user experience and help the user get an idea what's going on and which options they should touch with care i've built on top of the already present warning system and added notifications to some options. Notifications that will trigger when you enable certain options or set some others too high.

An example of changing the UI Size:

An example of setting shadow resolution too high:

An example of enabling your beloved Pie Menu:

As you can see they have a clear layout and immediately draw your attention (literally because they are taking focus). They will nicely inform you of your possible wrongdoings and give you some information as to why, some of them are mutable some of them are not, checkbox options and UI size are not because it is imperative to remind the user that these are EVIL options... and because you're most likely only ever gonna see them once or twice anyway.

I'm sure they'll be helpful in the future. This feature alone probably took half the time... because it kept breaking randomly.

Next up, something i've had on my ToDo list: Custom Camera Presets!

Have you ever wanted to simply make a new one rather than editing the already present ones? Do you want to not only create one... or two... but 200? Well now you can! You can create and edit as many as the Viewer can possibly load into a list before crashing, so a lot!

This feature comes prepacked with all the old presets as well as a new front preset some asked for, it also revamps the camera window slightly and shrinks down the Camera preferences tab a lot and condenses all the many preset slider pairs into just one used to edit the currently selected one. You'll find buttons to create a new one, delete the selected one and reset the selected one as well as a dropdown menu to select which one you want, selecting one will also automatically switch to that preset so you can immediately start editing it and see the changes live! So much Quality-of-Life. (All of it pretty much sucked up 90% of the time spending on this, besides fixing).

Note that this is a highly experimental feature though, i've spent a great deal fixing everything i could find and making it as easy to use as possible while retaining as much of the old look as possible. If you find any bugs with it, report them ASAP. We're talking about the camera here, it's critical and needs immediate fixing, don't come to me 3 years after that something is not right about it!

Next up, complexity or ARC. I further "refined" it. Media surfaces will now weight ten times more than before to get them on the complexity value where they roughly should, 10k for such a huge impact was way too little. Projectors have gotten a 4 times increase too, from 4k to 16k. Lastly texture memory has been updated and raised a lot, texture memory sucking avatars behold, you'll now be spammed back with complexity points! As a rule of thumb 1MB texture memory equals to 1k complexity. A 512x texture is ~1k, 1024x texture is 4k, not counting alpha channels. I've raised the default complexity limit to 250k to compensate for this.

Apart from these 3 big changes i've spend some time improving the details and workflow of some parts of the UI, keybinding now allows you to set the action when binding rather than having to select one before trying to add a new bind, this should make it easier to understand what the Viewer wants.

Poser lists have been made unsortable so you don't accidentally break things, the poser has gotten a few fixes too and the windlight editor now allows adding infinite cloud noise textures, it will refresh and show the new ones whenever you reopen the sky editor, just copy them into the correct folder and reopen the window.

Machinima sidebar has gotten the missing Global Light Strength option, log spamming has been reduced by a lot and lots and lots of commenting and cleanup in my code.

Last but not least, several new Patreon Patrons have been added and once again many thanks to everyone who helped so far and continues to help!

By TheScoutExe
By TheScoutExe