Sunday, September 14, 2014

Progress Update to 2.4 (#7)

You hear this? This is the sound of progress my friends.

Okay, i know this was shamelessly stolen from Team Fortress and i also know most of you don't even know what a Team Fortress is, so lets get this post done ok?

I spend a few hours the last few days to start redoing the group info panel as well the appearance floater, you know, those being absolutely horrible and broken since ages, those you had so many problems with.

First i started with the appearance floater, moving stuff around, creating a base layout for everything and trying several others on the way, the final outcome is this for now.


As you may or may not notice, the search bar is gone and is now replaced by a button that will slide the search bar in (and the name out) in case you are really so desperate that you need to search your outfits, other than that the whole appearance floater looks pretty straight forward, you can create new outfits with the + button, edit a selected one with the wrench button and of course save and save as, trash or wear it with the bottom buttons, nothing new here, just a huge cleanup.

Today i spend some hours on making the base group panel look similarly structured like the appearance and people panel is.


I think it's pretty obvious isn't it? The similarity in their core layout is... really obvious, but the main panel is not enough, the content panels (General, Roles etc) need a lot of work, they just look horrible, i never touched them because they worked fine but looked like horrible shit which i never cared about (and honestly i still don't care about groups, it's not the focus of my Viewer) but tjey are in need for some tweaking regardless.



It's still a bit in progress and those other 3 tabs (and their sub tabs) aren't even touched yet. So there's still quite a lot to do but in the end it will be worth it i guess.

Thursday, September 11, 2014

Progress Update to 2.4 (#6)

Aaand another bunch of changes, still mainly focused on the Inventory.

Good news tho, looks like i'm done for now, the Inventory looks pretty now, all sliders are properly aligned, all re-sizing issues should be fixed and the Marketplace inbox is now also prettier.

Have a look:



The question is, will i ever get done with this? This question will forever stay a mystery i guess!

Here's the list of changes since the last changelog update:

Dragon #26: Changed: Default skin colors slightly.
Dragon #26: Changed: Background color of flat_list_views.
Dragon #26: Added: Floater shadow background texture.
Dragon #26: Added: Navigationbar background texture.
Added: image_overlay_alignment attribute to buttons so we know it exists without looking into code.
Changed: Rip out the entire account balance system and transplant it to the Inventory floater.
· Changed: Entirely realigned and mostly redesigned the entire Inventory floater.
· Changed: Realigned and swapped the inbox panel button image for something less ugly.
· Changed: Default Inventory size, made it slightly smaller.
· Added: Account balance display to Inventory.
· Fixed: Scrollbar offsets of all Inventory panels.
Changed: Make all Inventory panel widgets our given XML values a bit more.
Changed: Made scrollbar widget and background slightly smaller to fit better with the rest of the widgets.
Changed: Realigned People floater for a cleaner look.
Changed: Slightly realigned several Preferences floater panels to prevent the scollbars from being cut off.
Changed: Widget background colors (has no effect).
Fixed: Accordion scrollbars having a slight offset from top/bottom.
Removed: Old navbar background textures.
Removed: Old 'Colors' tab in Preferences which is not used anymore.

Wednesday, September 10, 2014

Progress Update to 2.4 (#5)

Seems like i will be using today's free time for changing so tiny things that you will never notice not even if i told you... the question is, why do i tell you anyway? I. Don't. Know.

Did you ever open up floaters like 'Inventory' and 'People' and thought: "Something in this floater looks incredibly fishy and i can't seem to find out what it is..."? I tell you what it is... these tiny little inconsistencies scattered throughout the entire UI are really annoying, so annoying they make my AV's boobs flat out pop like balloons. Look:


Just look at them, soak it up like a sponge and let the anger flow. It's really REALLY cringe worthy. Cut off buttons and slider drag bars, totally dis-aligned inventory panels, too much or too less space in-between widgets and so on.

I tried fixing this mess several times already, especially the Inventory which seems to be completely resistant to any change in its XML files, guess why, its because its another prime example of why doublehubletripledipplenipple hard-coding attributes of a widget and/or rewriting its functionality and or behavior several times throughout the code, overwriting the absolutely fine and properly working automated UI creation when working with the XMLUI system they made. Example?

In XML:

A button. It should follow the top and left edges of its containing panel. It is 200 pixel wide and 23 pixel high. It will toggle debug 'TestDebug'.

In code:

Above mentioned button should follow all sides. It should move horizontally depending on another button that is by default on the left of it. It has a parameter and function wired up that does essentially the same as toggling 'TestDebug' just in 5 times more steps and shows/hides another panel.

Outcome:

That button will now follow everything, resulting in it ignoring the predefined width and height and it will double-toggle 'TestDebug' which then shows/hides another panel, it will also move to the right depending on the width of the button on its left.

The problem:

That button now scales with the containing panel, which might have been a panel that is as big as the button was predefined as but now is not available anymore because i removed it, making it crazily big and filling the entire major panel/floater minus a given width on the left due to the button, which is also not there anymore because i moved it somewhere else (on the right as example), making the button re-position itself behind it causing it to go off panel/floater/screen. It will also hide that panel that may or may not be there anymore because i removed it because it only contained a button that had a fixed position that never changes no matter what and then made the button itself hide only, this could lead to a crash in worst case as the viewer is trying to execute an action with a not existing widget. There are more problems caused by this but i don't want to go more into detail here, i think that's a big example already.

The solution:

DO NOT HARD CODE THINGS THAT CAN BE EASILY DONE VIA XML SUCH AS TOGGLING A DEBUG OR SHOWING/HIDING A PANEL AND DO NOT EVER PLS HARD CODE ATTRIBUTES SUCH AS follows="" IN CODE, IT'S HORRIBLE AND CAUSES A LOT OF PAIN WHEN WORKING WITH THIS UI. Not to mention that it would save me going through several files looking for the problem, changing all kinds of UI code, just to fix a stupid inventory scrolling bar which is cut of a little.

Here's the fixed version (far left red rectangle):


The other red rectangles show these inconsistencies i'm talking about, too much space in-between widgets, dis-aligned buttons etc.

I know you may say why the fuck am i even doing this, this is just a stupid pixel being cut off. It may be just a stupid pixel cut off or a pixel too much space but it a huge part of the overall extremely low and buggy quality that is present in Second Life and i want these fixed, even if i have to go on a war with these.

What did we learn from this?
STOP DOING THIS MESS LINDEN.
Thanks.

PS: look into llfloatertools.cpp and floater_tools.xml and start removing all those double hard coded attributes, they don't belong there, they cause problems, they limit customizing and they can somewhat destroy and/or limit the translation process if you limit certain buttons and texts to certain widths and follows.

Tuesday, September 9, 2014

Progress Update to 2.4 (#4)

Here we go again!

I wanted to post something for days but never felt like actually doing so, today's addition of my Snapshot floater changes gave me a reason to do so tho.

So what are these changes i'm talking about?

In the past i have been working on the Snapshot floater (you saw the first iteration of my new snapshot floater in my latest update) and Oz came to me telling me that he likes it and would like to have it in the Linden Viewer, so i stopped everything else and started working on getting it into the Linden Viewer asap. Fast forward a few weeks, these changes are now in the official Release Viewer, so next time you use the Linden Viewer you might see this:


This is the new snapshot floater layout, it was made because i was unable to get the separate snapshot preview to work on this floater so i decided to make the existing preview a lot bigger and introduce changes that allow working properly with it. You can show/hide the preview with the double arrow left/right, access all important snapshot functions right on the main snapshot floater (except the silent snapshot feature which is an advanced feature for reasons), use filters for any snapshot type even including your inventory and mails and set custom resolutions easier than ever! I really like the outcome even tho some things could be better still.

Next up would be working with Oz to un-uglify the CHUI floaters which are just horribly aligned and seem like their buttons and widgets were just randomly thrown into the available space at times. I told Oz i could do that but my Viewer has priority for now.

About 2 weeks later i finally started working on my own Viewer again and literally went on change-mania, i went through the entire Preferences floater as well as the entire main menu 'Dragon' to fix up alignments, missing features, broken features, remove doubles and so on. A lot of changes have been done there and even tho they might not look different at first, they definitely were improved to make sure they meet a certain minimum of quality i want in my stuff. Here's a simple example of these little improvements i did all over the place:

Left (middle window) is the new improved version with which's check-boxes have been moved further to the right so they are on the same horizontal position as all other check-boxes all over the Preferences tabs, the maturity drop-down has been changed to an icon drop-down, making the icons behind the drop-down widget obsolete and overall everything has been a bit realigned to make sure everything is absolutely straight.

Apart from this long overdue 'cleanup' you may have noticed that my main interface changes removed the account balance display, it has been moved into your Inventory and will also be shown in the buy floaters later (if it isn't like that already). Example:


The reasons for this change is simple, there is no reason you need to see your account balance 24/7, it's unnecessarily eating up resources to refresh and render it up there and you only look up there to see if you can buy something for which you can very well just open your inventory to have a quick look, you will open your Inventory somewhere in a session anyway. Since money also is part of your Inventory (non-physical tho) and you are able to upload from your Inventory it fits there just as well as in the upper right corner. Not to mention that it frees up space up there.

Note that these changes are all made just for this very skin, i have another skin planned, a clean, grey-ish one which will most likely visually return the original Black Dragon interface layout.

I think that's it for today, there are a lot more changes done than what i just listed here, you can find these changes by clicking on the 'Changelog' link on the right side of my blog (link section), all my current changes are listed there (excluding Linden changes currently which are probably twice as much as my changes if not more), there will be more soon!

Monday, August 18, 2014

Progress Update to 2.4 (#3)

I figured i should talk a bit about the current progress, right?

Basically there is none, i'm not actively working on the Viewer right now. I'm currently working on fixing bugs and fleshing out my server-side AO a bit more now that it is available. You can find it here.

Also i'm working on fixing the last bugs in my Snapshot floater Oz happened to like, he wants it in the Linden Viewer, so i'm basically waiting for them to find all bugs so i can fix them as fast as possible so this implementation doesn't take unnecessarily longer than it already does. I suppose it will go into a RC sometime this or next week which means i can slowly start working on my Viewer again without getting sidetracked by that kind of stuff.

You probably wonder why a bit of fixing bugs and scripting an AO keeps me busy so much, well it doesn't but there's other stuff i do every day, playing games, talking with friends, real life stuff like that... maybe also a new video...MAYBE.

Other than that, here's a run down of what changed since last update:
Added Zi's mirror code for testing purposes, merged LL's release code several times, fixed a few very tiny things and collecting reports of broken features... still trying to figure out a proper way to make floaters n stuff fit to the new skin without doing incredibly hacky stuff.

Tuesday, July 22, 2014

Progress Update to 2.4 (#2)

EDIT: Changed for some wording to hopefully add all missing words i missed except an "a" i missed somewhere which i can't find anymore...also moved the entire part regarding Firestorm  onto an extra page as "open" letter (here).

After merging all the latest changes from LL and fixing a nasty merge error that broke chatting with icons i have been slowly preparing to start the real work on fixing up all the broken stuff, redoing many UI parts and rechecking everything else for consistency and stuff.

As said in the previous post i will have a look at preferences again, changing tool tips, labels, reorganizing stuff a bit, checking options.. stuff like that. Also the machinima sidebar is in desperate need for some changes, it's still using old labels, tool tips and partly options that aren't even working anymore...

Chat will probably have a re-visit too, maybe a more V2 styled look overall with the CHUI core functionality (sadly), i'll be looking into the chat "panel" request too since it's something i wanted back since CHUI was introduced, i never managed to get it to work tho, new try with more knowledge than before, new luck i suppose.

I have also had a great live stream about my camera behaving funny and i might just like it enough to make it a more fleshed out feature, it ended up in making a superb snapshot that clearly shows the real power of my Viewer, you should really watch it and take the last part starting at 53:45 as a guide on how setting up a snapshot could work, it's depending on the scene of course but it's better than a 1000 words lengthy tutorial as it shows it in a real scene.


You can see the final snapshot here, crop'd to 1920x1058 for your viewing pleasure (and because Google doesn't allow going beyond 2048)



Now someone should say that my Viewer doesn't look totally different than other Viewers!... wait...a...second.

"Not allowing users to get the inkmarks off the borders is just stupid, egotistic even, considering your idiotic reasoning.

Not everyone uses the in-game snapshot function for screenshots, not everyone wants an unremovable overlay/border getting in the way of scrollboxes, HUD's or interface buttons. Not everyone LIKES some bullshit black mark/border around everything. If they did, they'd use a fucking vignette.

A minimalist design is good, but you're fucking it up by putting stupid shit where it isn't needed - the opposite of minimalism. Do you need a funky black border? No? Then don't add it.

Your viewer already adds hardly anything more than Firestorm, graphically there's hardly any difference and yet you are still missing a lot of features Firestorm has and you want to focus on shitting up your UI? If you really want to improve the UI? Make the chatbox better. Done.

Otherwise focus on graphics optimization and feature support.

Brought to you by someone who likes Black Dragon but isn't a psychophant who's going to blindly suck your dick no matter what decisions you make."

Ohboy... whoever that was, he or she sounds like me, hence i'm going to destroy this comment piece by piece and debunk these laughable rumors once and for all.

"Not allowing users to get the inkmarks off the borders is just stupid, egotistic even, considering your idiotic reasoning. 


So i guess the reason why game X chooses to have Y style interface because of immersion is also egoistic. Games without any interface at all are probably the most egoistic because they don't want to share information they are working with!

Dude. I chose to add these black inked corners for artistic and immersion reasons, they give the rendering a feeling as if it were painted on your monitor.

Not everyone uses the in-game snapshot function for screenshots, not everyone wants an unremovable overlay/border getting in the way of scrollboxes, HUD's or interface buttons. Not everyone LIKES some bullshit black mark/border around everything. If they did, they'd use a fucking vignette. 

1. If you don't use the "in-game" snapshot function which's primary function is to make snapshot, then that's your problem, the "in-game" snapshot function has all necessary options to make a proper snapshot, even more than pretty much every other "game" has.

2. Those black borders are not irremovable, they are hidden just like any UI part when using the hide UI shortcut.

3. Those black borders can't get in the way of your HUD because it's not mouse opaque, it will let mouse clicks pass through, it is also very small, there is hardly way those could get in the way of anything at all. Even if, i could still just move their layer below the UI which would just take some separation changes to the HUD, which would even add the ability to move the HUD around layers and put it on top of the whole UI.

3.1 Those black borders can't get in the way of your UI because it is already layered below the entire UI, every menu, every floater, every anything that is a part of the UI is added after those borders layering them on top of them.

4. If you don't like it, go ahead, remove it. If i really wanted to prevent anyone from removing it i would probably have to pack textures into a data package that no one can extract to prevent people from editing them. I'm not going to stop you, but i won't help you if you decide to go against my intentional design, change it and break something.

5. A vignette effect is usually nothing else than a black screen with a round hole in it, it's something entirely different than what i'm doing there, if i wanted to have a normal vignette effect i would have forced vignette on, which would have been easily reversible and wouldn't have worked in Forward Rendering.

A minimalist design is good, but you're fucking it up by putting stupid shit where it isn't needed - the opposite of minimalism. Do you need a funky black border? No? Then don't add it. 


Be careful here, just because i have a minimalistic approach doesn't mean i am trying to squeeze out every tiny pixel, which i already did several times already.

Your viewer already adds hardly anything more than Firestorm, graphically there's hardly any difference and yet you are still missing a lot of features Firestorm has and you want to focus on shitting up your UI? If you really want to improve the UI? Make the chatbox better. Done. 

Nothing but rumors, empty and unproven accusations.

1. My viewer is not meant to be another "Firestorm", i keep out pretty much all their features for reasons you will again just call "egoistic" and "stupid". My viewer is not designed to be a wanna-be-can-do-everything viewer which copy cats every tiny feature of other viewers that makes them special. Some viewers try to focus on something, Exodus is a nice example, it focuses a lot on combat but also on machinima/photography/rendering to make that combat look nice and crispy. My viewer is focused on rendering and a more gaming-like, immersive approach of showing Second Life. I always found Second Life lacking so many fundamentally basic things present in every game, very tiny things that would make Second Life more interesting and easier to learn for gaming oriented people or generally people who did at least a bit video gaming at some point.

2. Graphically both viewers hardly differ huh?


Both pictures were taken in stock settings, i went into both viewers, took the default UI, UI size, ticked all available options except Depth of Field because it was causing Firestorm to go all blurry when using the scripted camera position, my viewer didn't have any problems with focusing through a scripted object that took control over my camera.

Then i wanted to know it, once and for all, i went to Manor Garden and raised the settings to maximum, copied my glow weighting and settings over to Firestorm and ticked Depth of Field in both viewers, which i previously disabled due to Firestorm having issues with it, chose a windlight preset and applied it both with exactly the same settings.


Looks quite a bit different, doesn't it? I could have even gone so far and copy pasted every damn setting from my viewer to Firestorm, my SSAO defaults, my DoF defaults, Camera defaults, everything, what would it have changed? Nothing. Sure, DoF wouldn't have blurred my avatars and pretty much half the scene but the overall difference would have been still the same, missing Godrays, Lens Flare, Motion Blur, sharper shadows, better SSAO, no fog-ish grey look among other things. Not to mention that Firestorm's SSAO probably would have been broken if i carried over my SSAO settings because Firestorm uses a different SSAO style (if they haven't changed it by now).

3. I already tried changing CHUI, people didn't like it so i removed it. I secretly tried again several times, without any really achievement worth mentioning. I settled on fixing CHUI's alignments and look.

Brought to you by someone who likes Black Dragon but isn't a psychophant who's going to blindly suck your dick no matter what decisions you make.


Google's dictionary suggests psychopath, i guess that's what you meant. I don't want anyone to blindly suck my dick, actually it is very embarrassing every time a fan boy comes up reading from a list of cliche sentences like "THIS IS THE VERY BEST EVAH ITS SO GOOD I WILL NEVER EVER USE ANYTHING ELSE". I really dislike those kind of feedback comments as they do not contain any valuable information other than fanboyism. If you really liked my viewer you would have put some thoughts to what you were ranting about, all you were doing was criticize my plans long and broad with no real facts showing that my plans/ideas are bad.


@Anonymous


I've installed Firestorm just to show you how wrong you are and i didn't enjoy my stay at all, it was the most horrible derail to any other viewer i have ever had.

Friday, July 18, 2014

Progress Update to 2.4 (#1)

Quite some time passed since i last updated the Viewer and nothing really important has come up that needs fixing as of now so i decided i should start to make 2.4 happen. 2.4 will see quite some changes, excluding a bazillion just to get up to date with Linden Lab's latest releases.

Most changes will happen in the User Interface category (obviously). The current interface is what i consider "broken", it's stuck in a temporary transition between new and old designs i'm testing. Many things are just either missing, bugged or straight up broken, there are also a crazy amount of widgets that need a lot of love. Preferences is a prime example of a huge outdated floater that has never made a step forward until i recently total-overhauled every panel, categorized everything and added and fixed a lot of features, inventory is another one that could use some changes but the worst is the whole "Appearance" or "Outfits" floater, it looks absolutely horrible, it's filled with buttons and strange alignments, it's straight up next to broken, simply broken. I want to trash them all and redo them for a cleaner and better look without removing too much functionality (hopefully). I got quite a bunch of ideas for Preferences already, if you've been following me since my first Niran's Viewer releases you probably know how many re-visits the Preferences floater had already... so i'm here, asking you what i should do next, i want something that is unique, something that can contain a huge amount of options without cluttering the screen too much, there are so many things i could do, i could try, maybe a mix that includes features from the past, maybe not. My previous iterations looked like this:


"I think this one was probably the worst i have done so far. It was space wasting, looked way too funky to be good and didn't work out at the end anyway..."

 

"...which brought me to this, basically a small version of the graphics panel that can be minimized. It didn't work out, was really buggy and missed a lot of options. It went into trash really fast."

 

"Similar to the one below, it includes the second design from the first one as "Graphics 2" tab and had the advanced graphics options in an accordion that was only visible if the main one was hidden (right one) until i changed it to always visible (left one)."

 

"This one was similar to the last one, it included the above panel and used a similar layout i used later in the next one, advanced settings were in a completely separate main preferences tab totally disconnecting it from the graphics tab itself, most people didn't even look into it."

 

"I think this one was one of the better designed ones, it made all most important options easily available on the main page, allowed selecting advanced options via tabs and was quite idiot safe. I still use the drop-down widgets for most detail related options because everyone understands LOW MEDIUM HIGH better than 1 3 5."

 

"I loved this one, it had a huge goal but never met it tho because of the horrible way the UI works especially with scaling. It was inspired by pretty much any game that uses a full screen preferences panel instead of a big floater that is always in your way no matter where you put it. All i could do was just trying to make it usable as much as possible. I would really like to see it return but it would require a huge redo of how the UI works to make it work with differing screen resolutions, not to mention that i would have to cut off about 60% of all included features. Second Life is a bitch, it has way too many options for conventional methods of containing them."



Phew, what do you think, should any of these be re-considered? Should i create something totally new again or is there something you would like that is used elsewhere in games or other applications you know that might work?

Next big part on the redo list is the main interface, the one you see as soon as you logged in to Second Life.

I will change it, that is for sure, you already saw that i changed it to a "water splash" themed design which didn't quite look like i wanted to. I have redone it in a more "painting / brush" styled design, have a look:


This is the current main UI. Small, sleek and minimalistic, the only "fancy" thing about is the actual design i chose for it... and no you will not be able to hide those black lines around the screen, they are a core part of the artistic style i want to create, hiding or transparenting it (Yes i'm looking at you Adeon.) is a kick right to where it hurts most, there will be no option to hide it other than hiding the entire interface, i will include an option to show/hide it in Snapshots though because it's a nice framing. Mouselook UI hiding will not hide it too, only the edges at the top but not the black frame around the screen. I will hate you if you remove or transparent them, i'm serious. The main UI will probably not include a direct "Search" feature as it did before except the Navigationbar which can be used to search as well, you might also notice that there is no balance display. Yes, i am money-less, you will become money-less too soon enough when 2.4 is ready... i'm just joking, the money display will be moved to your Inventory and Pay/Buy floaters. Inventory... am i crazy? No. Tell me, do you see any money display here on this screenshot below?


I'm pretty sure you don't, that is because there is none, it only shows up in your Inventory and on vendors and it works absolutely fine and i'm pretty sure it works fine in Second Life too, you don't need to see your account balance 24/7, it's wasted screen space.

No "Search", no "Account Balance". Check. Anything else? Yes. There's one thing i want to mention. Toolbars, those widgets you put your most important buttons into. I'm considering to remove all of them except the top one, either that or i will add 2 to the bottom corners and unnecessarily code a hide part into their background so they only show up when buttons are slotted. I think that's it for today. Tell me what you think and if you liked the new "layout" i chose for this sort of "self conversation"

Wednesday, July 2, 2014

2.3.9.9(C)

Oh boy.

Here we go, i wasted WEEKS in putting on/taking off all kinds of meshes, changing their textures, bumpmaps, speculars, transparency, rotation, scale, glow, properties and whatnot to finally find out why Motion Blur keeps bugging out on very certain mesh things. FITTED MESH. Fitted Mesh uses extra bones which you rig surfaces to to allow these surfaces getting modified like normal shapes would do, it's a "hacky" fix of doing it but probably the easiest and Motion Blur takes samples of each bone, since Motion Blur was made at the time where Fitted Mesh was far from even being thought about, it was made with 35 bones in mind instead of the 52 we got now, resulting in all other bones to go blurry 24/7 because Motion Blur thinks these are in motion. This error could have gone the total opposite and Motion Blur wouldn't have worked on these surfaces at all which would have made noticing it even harder.

Long story short. It is fixed. Finally!

WOOOHOO!

Sunday, June 29, 2014

Update 2.3.9.9(B)

As promised, if there's anything major broken i will push a fix in between before working on 2.4. So i guess work on 2.4 will probably start in about a week or so if nothing (again) breaks horribly.

The changelogs were available for a few days already so those of you looking at them might already know whats coming, it's mainly bug fixing especially some really major ones like a GPU not being recognized, some more shader compilation bug fixing on older GPU's with older OpenGL, fixed derender and proper flycam controls which are not FPS dependent anymore.

I'm also working on an AO (not clientside one) that utilizes all the new things from Serverside AO + more while keeping maximum speed, reliability and a low memory footprint, for those of you interested, just IM me and i'll give you the latest available test version. I hope to put it on the Marketplace soon and add an updating possibility.

Snapshot: