FS#5147 - Consistent window style

Attached to Project: OpenTTD
Opened by Hans (hackalittlebit) - Thursday, 12 April 2012, 12:15 GMT
Last edited by andythenorth (andythenorth) - Monday, 14 August 2017, 20:31 GMT
Type Patch
Category Interface
Status Closed
Assigned To andythenorth (andythenorth)
Operating System All
Severity Low
Priority Normal
Reported Version trunk
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No


Just a small change for consistency sake.

Extra push button to close window
Don't know if you left it out intentionally.

Regards Hans
This task depends upon

Closed by  andythenorth (andythenorth)
Monday, 14 August 2017, 20:31 GMT
Reason for closing:  Won't implement
Additional comments about closing:  Mass closure of patch tickets with no commentary for >5 years. Goal is to reduce patch queue as an experiment to see if it aids faster reviewing and rejection/acceptance (it may not). If this offends you and the patch is maintained and compiles with current trunk, discuss with andythenorth in irc. (andythenorth has no ability to review patches but can re-open tickets).
Comment by frosch (frosch) - Thursday, 12 April 2012, 16:49 GMT
This button was removed intentionally in r11698. The argument back then was, that the difficulty window is the only settings window with explicit buttons for comfirming or dismissing changes, while the "X" button was considered confusing.

Today we have these types of windows:
1) Game settings, advanced settings: Windows have only "X". All changes are applied immediately.
2) Difficulty settings: Accept and Cancel buttons.
3) NewGRF settings: Accept and "X" button for dismissing.
4) Script settings: Close and "X" button. All changes are applied immediately.
5) Select script (subwindow of script settings): Accept, Cancel and "X" button. "X" behaves like Cancel.

So, it is even more inconsistent today :p

Possible way to make it a bit more consistent:
1) Remove "Cancel" buttons from Difficulty and Select script windows.
2) Add "X" button to Difficulty settings.
3) Rename "Save" button in Difficulty settings to "Accept".
4) Remove "Close" button from Script settings.

Other opinions?
Comment by PaulC (PaulC) - Thursday, 12 April 2012, 20:06 GMT
IMO the "Save" & "Cancel" buttons are a better way of doing things for windows like this, and would be better implemented on others such as Advanced Settings. And I think "Save" or "Save Changes" is better than "Accept".
Comment by Hans (hackalittlebit) - Thursday, 12 April 2012, 20:21 GMT
Sounds fine to me.
I saw however that "maximum no. competitors" is repeated in "Script settings".
So would it not be an idea to make button after "maximum no. competitors" that opens "Script settings".
For new players all those buttons must be daunting.
Comment by PaulC (PaulC) - Thursday, 12 April 2012, 20:30 GMT
Some of the other settings are repeated in the "World Generation" window. Ideally it all wants sorting out, but that takes us into the realm of gui redesign...
Comment by Hans (hackalittlebit) - Thursday, 12 April 2012, 21:15 GMT
the realm of gui redesign
Hmmm I think that could give a nice discussion in the forum ;)

Attached patch with your proposed changes
Remove "Close" button from Script settings is not included
Comment by Hans (hackalittlebit) - Thursday, 12 April 2012, 22:10 GMT
And patch to remove "Close" button from Script settings
Moved "Check online contents" to position "Close"
Maybe need some minor adjustments at the borders.

Comment by PaulC (PaulC) - Thursday, 19 April 2012, 12:36 GMT
The NewGRF window uses "Apply changes" rather than "Save", which is perhaps better. I think a proper "Cancel" button is good though because it's more clear that you're dismissing any changes and not just closing the window.
Comment by frosch (frosch) - Thursday, 19 April 2012, 17:38 GMT
v1: Incorporates all changes discussed in this task so far. However, the windows look actually quite ugly this way.

v2: Minimal changes, which do not look bad.
Comment by Hans (hackalittlebit) - Friday, 20 April 2012, 22:34 GMT
v2 looks indeed the best.
But pls wait a sec with applying.
This weekend I'll have a better look at it.
Comment by Hans (hackalittlebit) - Saturday, 21 April 2012, 21:17 GMT
I made this file (menu.html) to give you an idea.
with css you can make consistent changes.
Just have a look at it pls.
With added buttons you can navigate through document.
Use 'Backspace' to navigate backwards.
   menu.html (176.5 KiB)
Comment by frosch (frosch) - Saturday, 21 April 2012, 22:42 GMT
Interesting study.

Wrt. scenario editor: You cannot open a scenario in SE from the main menu (which is fine), so I like it that you can quickly enter the SE and then decide what you want to do (load scenario, generate new map). Starting with a flat map makes most sense to me. The height is actually remembered from some setting.
Edit: Actually there could be a secondary window after clicking SE with options to load a scenario, or generate/generate from heightmap.

Wrt. difficulty settings: Instead of a "reset" button there are currently "easy", "medium", "hard" buttons.
Comment by Hans (hackalittlebit) - Sunday, 22 April 2012, 00:14 GMT
Wrt. scenario editor: I am strongly thinking about new players. It would be very nice if SE screen "world generator" (See photo) would pop up if SE is entered. This would give immediate results (less frustration).
Options to load scenario and generate/generate from heightmap is for more advanced players, that usually know where they can find those options. (available when saving game).
Wrt. difficulty settings: reset not necessary, you are right did not see it.
If you want I will keep editing menu.html with agreed changes in order to come to road map.
and in the end to do the changes at once.
Or maybe post new menu.html with changes. just say it.

   SE.png (42.5 KiB)
Comment by Ingo von Borstel (planetmaker) - Sunday, 22 April 2012, 11:21 GMT
Very interesting summary on the window style, Hans.

No doubt the suggested change wrt world generation behaviour is a good one, currently it feels a bit icky (but this goes a bit beyond the GUI rework)
Comment by PaulC (PaulC) - Sunday, 22 April 2012, 11:35 GMT
I don't see why the extra "Game Settings" menu is necessary - better to keep these things on the main menu IMO. But this discussion seems to have veered off from "Add close button in top left corner in Difficulty Level window". You would almost certanly get more input on the forums.
Comment by Hans (hackalittlebit) - Sunday, 22 April 2012, 13:00 GMT
PaulC If you have an opinion state why! Otherwise stay out please.
Ill give you an answer about the first menu.
It is based on the 'KISS' principle. Do not overwhelm new users with information.
All I am trying to do here, is come to a consensus about uniformity and user friendliness.
Developing in the gui is time consuming (compiling) and it is easier to maintain a html document until general agreement is reached. Making the actual changes is not so difficult.
If the developers want I will maintain the document with desired changes and post it.
I will add some more issues that I think need considering.
Comment by Ingo von Borstel (planetmaker) - Sunday, 22 April 2012, 13:24 GMT
  • Field changed: Summary (Add close button in top left corner in "Difficulty Level" window → Consistent window style)
I think PaulC expresses a different view on the issue. His opinion is also important to take into consideration. In general, more brains that think about a solution produce a better result.

I renamed the task as it grew (obviously) a bit broader.
Comment by PaulC (PaulC) - Sunday, 22 April 2012, 13:35 GMT
Hans, I believe I did state an opinion, or are you just looking for opinions that agree with yours? You also need to consider established users, and the "Game Settings" menu provides an unnecessary extra step that some will probably find annoying - I know I will.
Comment by Michael Lutz (michi_cc) - Sunday, 22 April 2012, 13:57 GMT
The current interface is definitely inconsistent and not always discoverable. But I think that just adding a close button here, renaming a button there will not lead to any ultimate improvement.

There needs to be a more complete solution, akin to what e.g. andy mocked-up in (Not specially the NewGRF part, but the whole concept of a single window with all settings related to a new game). This way the arbitrary division between game, difficulty and advanced settings can be fixed up. A lot of the advanced settings affect difficulty a lot more than the difficulty settings for example.
Comment by Hans (hackalittlebit) - Sunday, 22 April 2012, 14:43 GMT
Setting that are changed outside the game (e.g. not yet game loaded) are global settings.
These are the settings that will be applied every time you start up new game.
Inside the game different settings can be applied to loaded game and should be saved with that game.
If settings are changed inside game they should not affect global settings.
I think most of this is done now.

A new player should be up and running as soon as possible.

And "NOT" have frustrating experience.
I will give you an example:
Now we a button NewGRF Settings. A new player pushes it and gets the NewGRF Settings screen /task/5147/getfile/8315/menu.html#GR
Does new player understand what "NewGRF" means??
He does not see any file(not confirmed) so he presses "check online content".
If lucky and his firewall allows it he will get list of available NewGRF. (Otherwise message "Unable to locate Server")
He looks at description like "2cc Chimera addon" with link that is not click-able. (Sorry but even I have difficulties deciphering that description).
So he starts to download all NewGRF's without knowing what they do.
I think this possible confusion and frustration should be avoided.
Therefore the initial start should be as simple as possible.
I am telling you this because I showed game to my kids (9, 12) and things are too difficult for them.
That is the reason I simplified as much as possible the first menu.

Comment by Hans (hackalittlebit) - Sunday, 22 April 2012, 15:00 GMT
Another one: Any configuration screen should have same color pattern, same for other kinds of screens like building, info, etc
Comment by Hans (hackalittlebit) - Sunday, 22 April 2012, 15:09 GMT
I did not see you comment michael
But I agree.
That is also the reason of my doc (menu.html)
Maybe it is incomplete and in fact all possibilities should be added in order to have overview and see inconsistency
and come to a general pattern of design.

Edit: link to GUI Style wiki

Comment by PaulC (PaulC) - Sunday, 22 April 2012, 15:15 GMT
Sure, but in your example a new player clicks on "Game Options" and gets all the same options as they do now. If the player doesn't know what newgrfs are then they will still be confused, the extra step doesn't help in that regard. Of course, if someone doesn't know what something is then they should really leave it alone.

If you want to make the game more accessible to young children (do they make up a significant number of OTTD users?) then you need a much more substantial amount of simplification I think. Seperate "basic" and "advanced" game modes, perhaps? But I think I may digress a little...
Comment by Hans (hackalittlebit) - Saturday, 28 April 2012, 23:46 GMT
New try.
I tried to make a framework to show all possible screens available in ottd.
I post most probably to early because document is not complete.
In fact it should show all possible qui actions in the game.
Still I like to show it to you and see what you think of it.
See some experiments that I did with color's. one really ugly.
Maybe it could be used as help file with links to the wiki. (check "See Building signals" /task/5147/getfile/8339/menu_v2.html#STR_RAIL_MENU_RAILROAD_CONSTRUCTION)
Alberth: when placing sign you get "edit sign text" this does not close with 'Delete button' but with 'Esc' button.
I use windows and most popup screens close with 'Esc' button.
Comment by Michael Lutz (michi_cc) - Sunday, 29 April 2012, 01:46 GMT
Nice list. Just a quick note: The various online content buttons should already exactly only show the relevant category (I didn't check each of them personally right now, so if there's one that doesn't, it is a bug).
Comment by Hans (hackalittlebit) - Sunday, 29 April 2012, 09:28 GMT
I know, atomic subdevision not yet done. But will be.
Comment by Alberth (Alberth) - Sunday, 29 April 2012, 19:08 GMT
Large list!!
It is however good that someone takes a fresh look to consistency and ease of use across all windows.

w.r.t. to the scenario editor, some settings are missing there, and they should be added (at least all world generation options).
An author normally has an idea of the required size of the map as well as the climate, they should be set manually, I think.

You could move the 'load heightmap' into the world generation screen, as it is an alternative to creating an empty map. All the other things, like placing towns and industries etc are the same in both cases. The interface of that window may get a bit more complicated though, perhaps too complex? (I find it very hard to judge such things.)

(Oh, I see you have a comment for me too. I would normally never see that, could you please collect such remarks somewhere (eg in the .html file), so they won't get lost? I am sure you will find more things that need changing.
Currently I am trying to add a help text to the advanced settings, so I cannot do it now.)
Comment by frosch (frosch) - Sunday, 29 April 2012, 20:23 GMT
What options are missing in the scenario map generation? Isn't it the same window anyway?
Or do you mean moving the options for generating a flat empty map to a separate window?
Comment by Hans (hackalittlebit) - Monday, 30 April 2012, 06:01 GMT
The doc is not finished. I need more time. (+/- 1wk.).
Some pictures in v2 are stretched and some are cropped.
In next version I will refrain from alterations and most images will be shown true size.
If not I will mention.
The (original) in-game toolbar size is 644 px and is about one of the widest pictures.
So I have to set area for pictures to that width.
Most of the screens can than be shown without alterations.
I did not show duplicate images for document size reasons.
But I found solution albeit hackish.
I will use <img src="X" onerror="loadpic('wateverduplicate_pic_var')" />
It is cross browser recognized.

Irregularities that I encounter I will report in the file.

and below new approach to "World generator".
Again way to many buttons on first screen.
So split up to standard and advanced.

EDIT: No of towns and No of industries changed tot Towns and Industries with same drop down box like rivers.
Words like many, few, little, average, standard. moderate.
Comment by frosch (frosch) - Monday, 30 April 2012, 16:48 GMT
If you are redesigning the world generation window, you should plan in the town names. (maybe also driving side in advanced mapgen settings)
Comment by Hans (hackalittlebit) - Tuesday, 01 May 2012, 11:51 GMT
Like this? (see attachment)
I really would like to get rid of Game Options screen /task/5147/getfile/8339/menu_v2.html#GS_BO
Screen resolution could be placed in 'advanced settings','interface','display options'.
Full screen F11 (now juke box) or also in 'advanced settings','interface','display options'.
Screen shot format should be moved to Land area information maybe. /task/5147/getfile/8339/menu_v2.html#STR_ABOUT_MENU_LAND_BLOCK_INFO
'Auto safe' somewhere in advanced settings.
'Base Sound' and 'Base Music' in fact should not be talked about, but if necessary moved to music toolbar.
'Base Graphics' Set in fact should not be talked about, but if necessary moved to NwGraf eg Graphics screen.

EDIT Just some brainstorming
Edit 2 Please delete attachment 75.9 kb (missing some double points)
Comment by frosch (frosch) - Tuesday, 01 May 2012, 12:47 GMT
I think neither the GUI language, nor currency nor measuring units belong to the map generation settings.
Comment by Hans (hackalittlebit) - Wednesday, 02 May 2012, 01:05 GMT
Next try :)
Comment by frosch (frosch) - Saturday, 05 May 2012, 10:38 GMT
Personally I don't quite like opening advanced mapgen settings into a separate window. Also starting with a flat map in SE is quite weird when having to use multiple windows.

So, I made my own suggestion:
- Merge random map / load heightmap / flat land into single window.
- Make the advanced mapgen settings an expandable part of that window. (the expansion state could also be saved, so advanced users keep getting the expanded window)

Also I shuffled the position of the settings a bit around.
Comment by Hans (hackalittlebit) - Saturday, 05 May 2012, 13:12 GMT
Frosch just have a look, not ready yet.
Document structure is ready. Details like links and tags not ready
Proposed changes not all implemented.
Just for looking.
Comment by Hans (hackalittlebit) - Wednesday, 09 May 2012, 14:47 GMT
Open scenario map_generator_2.html after extracting.
I do not think I forgot any options.

Some extra comments besides.
If loading heightmap the name displayed at the top besides Map tab. Dimensions displayed besides Size: 12.. X 12.. (I changed * into
X) plus message if player want's to accept map dimensions yes\no.

Comment by frosch (frosch) - Wednesday, 09 May 2012, 20:24 GMT
I don't understand the idea behind moving the "random seed" to advanced settings. It is a one-time setting for a single generation, no persistent setting.

If the random seed fits nowhere, it might also be an idea to remove it completely. I don't think there is much use in setting the seed, esp. since the map depends on so many other settings; maybe it could just become a console command.

I like putting the flat map into the terrain type box and then changing the window controls depending on that. The the hiding of the edges thingie depending on the "manual" selection is also fine.

However, this new layout offers more settings in total than the currenty layout, so I still like the idea to move some of them into an "advanced" category. If you want to keep the separation between map and scenery, the advanced mapgen settings could be expanded towards the right, instead of towards the bottom.
Comment by Hans (hackalittlebit) - Wednesday, 09 May 2012, 23:01 GMT
quote:I don't understand the idea beh...
For me 'random seed' is sort of debug option(See tab Label), It should show up in 'World generator' only if specifically asked.
It could be through the console or with 'Advanced settings'.

About reshuffling advanced mapgen settings. I am now thinking about 'advanced' button to hide or show.
Comment by frosch (frosch) - Thursday, 10 May 2012, 17:20 GMT
Ah, so you meant an advanced setting to enable displaying the random seed in the worldgen window. I thought you wanted to set the random seed via adv. settings.

Anyway, it is already possible to generate a map with a specific seed with the console command "newgame". So, I think it is no necessary at all to display the random seed in the worldgen window ever.
Comment by Hans (hackalittlebit) - Thursday, 10 May 2012, 19:09 GMT
Updated version with 'advanced' right top corner
random seed still there but just ignore :)

Edit:link to proposal frosch123 classification of the settings
Comment by Hans (hackalittlebit) - Saturday, 12 May 2012, 13:32 GMT
Changes applied according to
snow height only shows when clicking arctic climat. Not advanced setting.
seed removed.
I agree with these settings. (42.9 KiB)
Comment by frosch (frosch) - Saturday, 12 May 2012, 14:34 GMT
As next step I propose to decide on the order of the various settings within the GUI.

I like the categories for "map" and "scenery". What would you think about these changes:
* Variety distribution affects "terrain type", so it could go to the right of it.
* Snow line does not feel like "scenery" to me, I would have put it to the right of "sea amount".

Is there some way to make the non-advanced view look less 1-column like?
Comment by Hans (hackalittlebit) - Saturday, 12 May 2012, 15:42 GMT
changed 'verity distribution' to terrain type.
last issue snow line not done yet

Edit: Pls remove . Has bug in 'totally flat' option. Solved in
Comment by Hans (hackalittlebit) - Sunday, 13 May 2012, 13:18 GMT
Proposal for changes in options of world generator.
In principal 2 sections Map: and Scenery:
Some words were changed first I will mention old description followed by new suggested description
* = default settting.

- Land generator: (Original),(TerraGenesis*) --> Generator: (Original),(Improved*)
- Terrain type : (Very Flat),(Flat*),(Hilly),(Mountainous) --> Terrain type : (Totally Flat),(Very Flat),(Flat*),(Hilly),(Mountainous)
'Totally Flat' only visible in CE

No.of Towns (Very Low),(Low),(Normal*),(High),(Custom) --> Towns: (Very Few),(Few),(Normal*).(Many),(Custom)

Sea Level: (Very Low),(Low),(Medium*),(High),(Custom) --> Sea:(Very Little),(Little),(Normal*),(Much),(Custom)
Maybe in custom talk about tile height
Tree Algorithm: (None),(Original),(Improved*) --> Trees: (None),(Normal),(More*)
Comment by PaulC (PaulC) - Sunday, 13 May 2012, 13:56 GMT
As far as I can tell the improved tree algorithm is not "more" trees per se but an "improved" distribution of trees, so that's not a change I would make.

Perhaps also change "Sea level" to "Amount of sea/lakes" for better clarity, similar to how it was in the original TTD?
Comment by Hans (hackalittlebit) - Sunday, 13 May 2012, 14:18 GMT
PaulC This morning I was testing that option. The trees are more spread out and maybe a little more.
The problem here is that you have the option 'none' that means no trees.
I tried to make a logical following order. 'Trees: improved' is not clear I think.
And 'tree algorithm improved' is dubious.
Suggestion are welcome :)
"Amount of sea/lakes" to me fine but problematic because of word length.(no space to put).
This must be the more difficult part for translator's. I mean finding a good description as short as possible and to the point
Comment by PaulC (PaulC) - Sunday, 13 May 2012, 14:38 GMT
You're choosing an algorithm for the placement of trees, not the amount of trees on the map. "Tree algorithm: More" doesn't make sense and isn't strictly accurate. I don't see the problem with "Original" and "Improved".

Length of text should not be an issue. The width of the (current) window is not fixed and depends on language.
Comment by Ingo von Borstel (planetmaker) - Sunday, 13 May 2012, 23:15 GMT
The problem with "original" and "improved" is: both are 100% non-descriptive.
Having a setting like "Tree growth: " "none", "adjacent only", "also wind seeded" or even "increased" like Hans suggests might be better to understand and describes the setting's effect better.
Comment by Hans (hackalittlebit) - Tuesday, 15 May 2012, 15:18 GMT
Updated version of global document
Most of the changes are applied.
Links not yet 100% (many)
If you agree with changes it is time to start thinking about all these option screens. :)
Note: applied external links to 'Advanced Settings' (very easy to maintain (see array at end of doc)).
Comment by Hans (hackalittlebit) - Tuesday, 15 May 2012, 23:57 GMT
I reshuffled start up of game
has a more natural flow.
added option to load scenario when scenario editor is started in order to be up and going asap.
See comments in document.

Edit : Note that with SE start up screen is with 'totally flat' option on.
Edit2: second file (start_up_game_v2) has button correct 'Create scenario' --> 'Scenario Editor'.
Comment by Hans (hackalittlebit) - Sunday, 01 July 2012, 08:08 GMT
Just a sneak peek :)

When I change language also font changes, is that correct ?
I like the font used for English.

Comment by Ingo von Borstel (planetmaker) - Sunday, 01 July 2012, 08:20 GMT
OpenTTD takes that font which provides all required glyphs. As such it asks the OS to provide a font, if the default font does not have all required ones. As such: yes, that's correct and intended.
Comment by Hans (hackalittlebit) - Tuesday, 03 July 2012, 19:11 GMT
First try world generator window
SE will come later.
Disclaimer: experimental code.
hg makes big patches :(
Comment by Hans (hackalittlebit) - Thursday, 19 July 2012, 22:14 GMT
New version

1st patch
All changes in variables are done here
game_window.hpp.sq I changed manually!!!
ShowCreateScenario has to be renamed or removed it is no longer used.
in description of patch I use 'terraform_gui' this should be genworld_gui.cpp.

2nd patch is all changes in genworld_gui.cpp and one change in openttd.cpp.

missing: Townnames are not in alphabetical order and hard coded.

1. When in GameMode GM_MENU you select 'create scenario' and after that you select 'load scenario'
the GameMode is changed to GM_EDITOR
This gives no problem when when scenario is actually selected.
Obviously it is bad however when screen is closed.
I was not able to find nice solution to switch back to GameMode GM_MENU :(

2. After opening 'generating world screen' the intro screen should be disabled.
and after closing 'generating world screen' enabled again because of GameMode switching.
This is not done now also. (I did not know this??).

in genworld_gui.cpp I change GameMode to GM_EDITOR when clicking on WID_GL_SCENARIO.

My apologies for the way the patches are presented.
I am new to hg and did not have much time to familiarize.

Comment by Hans (hackalittlebit) - Friday, 20 July 2012, 08:38 GMT
Hold on a sec.
Today I will make changes because it does not apply to trunk.
Comment by Hans (hackalittlebit) - Friday, 20 July 2012, 11:12 GMT
Alberth I think this is more readable. :)