- Add a new dialog that gives some information and asks for the user's preferences
- Ensure that one and only one of the 'Performance', 'Balanced' and 'Graphics quality' checkboxes is active
- Add a new button in video settings to access this dialog
It makes a lot of sense there too, and it makes the UI settings less crowded. This allows also to put the label as a section title, fixing an overflow that happened with some translations when using the very large font size.
* Use a new file for includes to reduce redundancy between option files
* Remove some unnecessary includes
* Reorder some includes
* Increase spacing in the graphics settings screen
* Increase spacing in the audio settings screen
* Use explicit activation and desactivation functions for the profiler to improve code clarity and robustness
* In the pause dialog, only display the 'back to race' and 'exit' buttons in benchmark mode
* Relabel the buttons in the pause menu in benchmark mode
* Use 'Performance test' in user-facing texts to ensure better translations
* Fix parts of the UI disappearing when leaving the pause menu in benchmark mode
Additional known issue introduced in the previous benchmark commit:
* With big text sizes, the performance test button overflows in the graphics settings.
* Add a button in the graphics options to start a benchmark
* Added logic to play a custom replay for benchmarking
* Added logic to automatically start and end the profiling as the race starts and ends, when in benchmark mode
* Disable the profiler drawings in benchmark mode, they take additional resources and are useless
* Keep the race going when the pause menu is opened, as it would otherwise distort the results
* Added logic to clean up the profiler data each time profiling is switched back from off to on. This avoids multiple profiling sessions piling up in one report, for example when benchmarking tw
* Added a sped up Black Forest replay for use during the benchmark
Missing features and known issues:
* The end screen should display a benchmark result summary instead of a normal end screen
* Entering and leaving the pause menu in benchmark mode makes some parts of the race UI disappear
* The end screen should send the player back to the graphics settings, not the main menu
* Pausing and quitting can leave the profiler enabled when it should not be
* The options in the pause menu should be customized in benchmark mode
* The replay used for benchmarking should be configurable in a data file
* Automatically testing multiple graphics settings and providing an overall summary
* And more advanced options.
- Add and use new icons
- Make some labels more explicit
- Properly document copyright of both the new icons, and the icons used to make them
- Note that the Cartoon icons fall under the same copyright as all other Cartoon icons, so no licenses.txt update is needed
In UX, back/cancel/etc buttons usually go on the left, while forward/confirm/etc go on the right. (Note that even the icon for "Back" is a leftwards-pointing arrow.) STK put the Back arrow button on general screens in the upper left corner, but before this commit, put back/cancel/etc on the right in dialogs and such. This commit fixes things to be in line with standard UX conventions, and also in line with the pre-existing upper-left corner Back button placement on screens in STK.
https://ux.stackexchange.com/a/63239
* Add in-game high score selection screens, based on the ghost replay screens
Its functionality is basic for now, mainly to let players have a central place to view
their high scores
Other things to improve:
* Allow sorting the high score entries by criteria
* Allow deleting high score nodes and possibly entries
* Use better icons
* The string for the high scores title in the track info screen can now be translated
* Refine in-game high score selection screens
Includes:
* High score info dialog now shows track and setup information
* A race can be started with the displayed setup, using the current player and kart
* Icon to access the screen now placed between the tutorial and achievements buttons
* It is possible to delete a specific high score group or all of the high score groups
* Change the order of some columns to make them easier to hide for non-linear modes
* The list will now filter out enpty high score groups
* Replace bomb icon (as used in the help menu) with the full object version from STK 0.8
It has been edited to remove most of the transparency in the object itself
* Implement column clicking in the high score selection screen, and minor GUI fixes
Note that high score entry sorting is not yet working properly
Includes:
* Top right buttons replaced by button bar containing them; fixes unreliable clicking
* High score manager has some one-line functions moved into its header file
* High scores can be sorted by some criteria
* Sorting is done before every time high scores are saved
* Fix header define names for the high score info dialog
* Fix high score sorting, reorganize its associated code
* More refinements to the high score selection screen
Includes:
* Clearing high scores no longer causes memory leaks
* The manual refresh button has been removed, as it has been deemed useless
* Remove unused header files for the high scores information dialog header
* The high scores box in the track information screen no longer has '='
* Fix pressing escape key in the high score information dialog crashing the game
Also remove unused widget variables and unnecessary function overrides
* Do not write high scores for races that have 0 laps and/or have no real karts
* Allow passing a parameter to prevent high scores from temporarily being written
This setting lasts only as long as the game runs; it is useful during track and
kart animation testing, where unwanted high score entries should not be written
* Force update sources.cmake, as new source files are being added for high scores screens
* Fix memory leak and strings
Co-authored-by: Benau <Benau@users.noreply.github.com>
IMO auto scale doesn't have much sense on desktop computers, because advanced lighting was enabled by default for a long time and graphics level 3 should be fast enough as it is. And still now rtts scale it's easily configurable in options.
I fixed deactivated "render resolution" spinner when you enter graphics options when advanced lighting is disabled.
I also added a function that reads dpi on android and it sets rtts scale based on this value. SDL is not initialized yet in this place, so getDisplayDPI() is not possible.
Auto mode adjusts based on your display's DPI in order to hit a target DPI. Currently it will default to Always Full for render resolution, but High Quality or even Quality might make a good default, community testing is needed.
With the font size set to "Very Large" and the theme set to "Cartoon", the Apply button went slightly outside of the main box. This fixes that by putting the two checkboxes on the same row, which saves a bit of valuable horizontal space.
This improves things for #4378 but is not a comprehensive solution. It also includes unrelated improvements to this screen.
- Switch from 2 track rows to 3 track rows. This allows to show more tracks at once. Nonetheless amount of white space between track pictures is still significant. Showing the track name below each track is part of the issue, as it needs space on the bottom and margins on the side to avoid track names overflowing onto each other. Word-wrap for track title would incur a small vertical cost while gaining a lot of horizontal space. Alternatively, the track names could be hidden and only shown on hover (like the game's main track selection screeen).
- Select the standard set of tracks by default instead of all.
- Reduce the amount of vertical spacing for the buttons below the track picker.
- Group laps/reverse and ok/cancel vertically instead of horizontally. This creates clear visual blocks, as the reduced vertical spacing didn't work out well otherwise.
- Add a new selected track picture. The selected track's name is always shown as title, but some users may miss it or not know track names well enough. Now, which track is going to be added to the GP when clicking ok is obvious.
- When selecting a different track, change the lap number to the track's default.