Page 1 of 2

transparency and invisibility merged, how?

Posted: 24 Apr 2011 13:32
by Alberth
Hello,

I have been trying to merge the visibility options from the 'options' dropdown and the 'transparency' window together, and could use some help on window layout.
how to merge in a nice way?
how to merge in a nice way?
how_to_merge.png (20.72 KiB) Viewed 10189 times
This solution looks bad imho, partly vertical partly horizontal, settings that belong together are spread, and last but not least, the icons do not look very clickable.

So the question is, can you find a better layout?

Re: transparency and invisibility merged, how?

Posted: 24 Apr 2011 15:26
by Lord Aro
2 columns for the 'list' perhaps?

Re: transparency and invisibility merged, how?

Posted: 24 Apr 2011 15:54
by John_Smith
How about the arrows used in the advantaged settings, with the options, 'On', 'Transparency' and 'Invisibility' and to lock it you click the icon.
JS.

Re: transparency and invisibility merged, how?

Posted: 24 Apr 2011 17:21
by Alberth
@lord aro: It seems that way, although it makes me somewhat sad, I kind of like the icons.

@John_Smith:
Hmm, locking. Good point. So we have 3 values, and a 'locked' boolean.

I don't understand how you want to combine the arrows and the icon, unfortunately.


For reference, I have added the bits that need to be controlled below:

Code: Select all

/* Display Options */
enum DisplayOptions {
	DO_SHOW_TOWN_NAMES     = 0,
	DO_SHOW_STATION_NAMES  = 1,
	DO_SHOW_SIGNS          = 2,
	DO_FULL_ANIMATION      = 3,
	DO_FULL_DETAIL         = 5,
	DO_SHOW_WAYPOINT_NAMES = 6,
};

enum TransparencyOption {
	TO_SIGNS = 0,  ///< signs
	TO_TREES,      ///< trees
	TO_HOUSES,     ///< town buildings
	TO_INDUSTRIES, ///< industries
	TO_BUILDINGS,  ///< company buildings - depots, stations, HQ, ...
	TO_BRIDGES,    ///< bridges
	TO_STRUCTURES, ///< other objects such as transmitters and lighthouses
	TO_CATENARY,   ///< catenary
	TO_LOADING,    ///< loading indicators
	TO_END,
};

typedef uint TransparencyOptionBits; ///< transparency option bits
extern TransparencyOptionBits _transparency_opt;
extern TransparencyOptionBits _transparency_lock;
extern TransparencyOptionBits _invisibility_opt;
extern byte _display_opt; ///< What do we want to draw/do?
It doesn't seem to be symmetric, so for some things there is a display option, and for some there isn't and vice versa.

Re: transparency and invisibility merged, how?

Posted: 24 Apr 2011 18:27
by planetmaker
a GUI interface could possibly look like the attached mock-up. Also I fancy the buttons a lot ;-)

Complete transparency could be displayed as an empty, depressed button or as the icon drawn with the palette converted to the crash palette, that is in gray.

Re: transparency and invisibility merged, how?

Posted: 24 Apr 2011 21:19
by Zuu
How about a grid with the different settings on one axis and the different states on another axis?

Re: transparency and invisibility merged, how?

Posted: 24 Apr 2011 21:29
by Alberth
Zuu wrote:How about a grid with the different settings on one axis and the different states on another axis?
After a long discussion at IRC, we concluded you need more than one axis for a category.

There are three states (visible, partial transparent, and invisible), and you have lock.

Questions are how does 'x' work with 3 values,
is locked visible of any use?

Most likely, I have not all the questions, let alone I have answers.

Re: transparency and invisibility merged, how?

Posted: 24 Apr 2011 21:35
by planetmaker
Alberth wrote: is locked visible of any use?
Definitely. I use it for catenary and the vehicle % view. Sometimes also for bridges.

Re: transparency and invisibility merged, how?

Posted: 24 Apr 2011 21:43
by Zuu
Here is a mockup of a grid. For options that are only on/off there will not be an option for "transparent".

IIRC OpenTTD does not have radio buttons, so that will either have to be implemented or another widget solution to be seeked.



Edit: I took a look at the last 500 lines of the IRC logs and found some discussion. However, didn't find the relevant part that concerns the conclusion regarding using two axes for categories. Did you come up with a by word-prototype? Eg. what categories to put on each axis? Or did I missunderstood you? (my understanding of two axes for "categories" is that you would put eg houses and bridges at one axis and stations and industries at another as for an example)

Re: transparency and invisibility merged, how?

Posted: 24 Apr 2011 22:00
by Hyronymus
Radio buttons would be really neat in my opinion.

Re: transparency and invisibility merged, how?

Posted: 24 Apr 2011 23:07
by Roujin
I feel (judging from the mockups) that the planned implementation takes away a usage of the invisibility option that I frequently use..

This is how I use the current transparency options:
I lock some options to visible that do not disturb me in any activity and I do not want to disappear when 'x'-toggling (Signs, Catenary, Loading Indicator).
I (sometimes) lock to invisible trees, because they disturb me very often.

Then when the situation arises (mostly while building track) I hit x to toggle transparency of the rest, do what I want to do, and hit x again to toggle it back. However I want some of the options to toggle to invisible (trees definately, they're often still a hindrance even when transparent), while others only to transparent (e.g. industries, bridges - making them completely invisible can lead to false assumption of empty tiles).


I do not see how I could configure the behavior of 'x' to my likes if invisibility becomes a third state instead of a boolean toggle. :(

Re: transparency and invisibility merged, how?

Posted: 25 Apr 2011 06:27
by andythenorth
Roujin wrote:I feel (judging from the mockups) that the planned implementation takes away a usage of the invisibility option that I frequently use..
Eddi thought roughly the same thing for roughly the same reasons ;)

Re: transparency and invisibility merged, how?

Posted: 25 Apr 2011 07:42
by Zuu
Roujin wrote:I feel (judging from the mockups) that the planned implementation takes away a usage of the invisibility option that I frequently use..

...

Good point. That's how I usually also use the transparency settings


Edit: Though, if only the presentation change, but not the backend data store, then the old behaviour of x could be kept. It might not be perfectly intutitive, but works from a technical point of view.

Re: transparency and invisibility merged, how?

Posted: 25 Apr 2011 12:04
by Roujin
andythenorth wrote:
Roujin wrote:I feel (judging from the mockups) that the planned implementation takes away a usage of the invisibility option that I frequently use..
Eddi thought roughly the same thing for roughly the same reasons ;)
Where did he state so, in the IRC discussion? Sorry, I was not present nor did I read the logs, so I did not know I was posting stuff that had already been stated by someone else.
Zuu wrote:Edit: Though, if only the presentation change, but not the backend data store, then the old behaviour of x could be kept. It might not be perfectly intutitive, but works from a technical point of view.
Hm, you're right. The behavior of 'x' would then be "sets visibility status of all non-locked categories to the last non-verbose state you set it to manually in the transparency window (transparent if you did not ever set it), unless all of them are already in that state, in which case they will all be set to verbose".
I think it will be pretty hard to communicate this behavior to new players ^^

Maybe we can find a different mechanic that is equally or more powerful than the current 'x' behavior? I don't have any ideas though...

Re: transparency and invisibility merged, how?

Posted: 25 Apr 2011 12:19
by Emperor Jake
How about "x just makes everything invisible unless it's locked?" Then maybe shift-X could make everything invisible, even if it is locked. (similar to how shift-del closes sticky windows)

Re: transparency and invisibility merged, how?

Posted: 25 Apr 2011 16:29
by 3298
I really like the old system with three booleans.
1. toggle transparency/invisibility (this is what the X key changes)
2. use invisibility instead of transparency
3. the lock thing
That way I can easily tell OpenTTD, "make this category transparent and that one invisible, but not until I press X". But the additional categories in the transparency window are nice - I think it is a bit easier to use than the settings menu. The gray palette also looks like a useful addition - it could be drawn on the buttons for the second boolean instead of the empty buttons used until now. Another suggestion for this old system: make X just toggle everything, instead of turning everything off if anything is on and turning everything on if nothing is on. (makes "inverted" transparency selection possible, see below)

Another idea would be to make two options for each category:
1. appearance with visibility switch (toggled by the X key) OFF
2. appearance with visibility switch ON
These options can be set to "normal", "transparent" or "invisible" independently. Locking means to set both to the same value. This system would also make it possible to "invert" the transparency, i.e. draw something transparent/invisible in mode 1 and normal in mode 2 (even with another category which is set up the other way round). Or you could make the X key toggle between "transparent" and "invisible".

Re: transparency and invisibility merged, how?

Posted: 25 Apr 2011 20:40
by frosch
Usually (well, when i play :p ) I have to transparency options permanently opened and positioned next to the other toolbars. So IMO it should not be a huge GUI of the size of the news settings.
Maybe there could be some expand button like for the economy window. (which I also keep opened in the minimised layout at the start of games).

The option "full animation" does not fit into the transparency options at all IMHO. It could be moved to advanced settings or even game options, or just stay in the menu.

Finally, to add another layout suggestion:
my mockup
my mockup
TransparencyDropdowns.png (5.24 KiB) Viewed 9852 times
  • This adds dropdowns to the signs button for individual settings for individual sign types,
  • removes the "loading indicator" button and moves it into the "signs"-dropdown,
  • turns the "catenary" button into a "miscellaneous" button and
  • adds "full detail" to it.
Wrt. the behaviour: Unchecking stuff in the dropdown hides them permanently. Checked stuff is drawn according to the toggle button, i.e. is affected by the "lock" and toggle-all-transparency-settings-hotkey.

Re: transparency and invisibility merged, how?

Posted: 25 Apr 2011 21:49
by John_Smith
In my personal view I like Zuu suggestion the best, it is ten times better than the current version, it is clearer, and easier to understand. Even if you do not brother merging the two options, just that would be great.

The full detail and full animation options, should not be in the transparency options. In additional I do not understand why there are still there anyway all computers built today can handle OTTD its not the 1990’s.

JS.

Re: transparency and invisibility merged, how?

Posted: 25 Apr 2011 22:22
by Eddi
John_Smith wrote:In additional I do not understand why there are still there anyway all computers built today can handle OTTD its not the 1990’s.
to quote a friend of mine who studied biotechnology:
I don't understand why you are so happy that computers double their power every year, we'll just take one atom more into our models, and it brings them down to their knees
they are still there, because they still make a difference.

i like frosch's idea. that, and some way to make the "lock" feature more obvious is all that should be done to the window.

Re: transparency and invisibility merged, how?

Posted: 25 Apr 2011 22:57
by planetmaker
frosch's idea sounds quite nice indeed. Give the signs and the misc buttons then the same size as the bridges and both the invisibility and drop down switch associated with them remain click-able.