* 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.
* Quick cull invisible LOD nodes
* Reduce dynamic cast
* Fix for Vulkan
Maintainer's comment: Helps only in select tracks and more in already fast frames than in the more problematic slow frames, but an improvement nonetheless.
Add 3 new setting values, increasing the distance at which a lower level of detail is used by factors of 1.6, 2.0 and 3.0 (default is 1.25). This allows players for which getting enough FPS is not an issue to reduce pop-in and improve the looks of tracks.
In local testing with a strong CPU and a weak GPU, the performance impact of increasing the view distances is small and well worth it, but this may vary from system to system. More testing is needed on different systems, but this suggests room to increase minimum, default and maximum values in future releases.
This patch also slightly changes the auto-computation of LoD distance, making the transition around a distance of 250 smoother.
- Change the colors of the background and borders of the textbox to ensure they always contrast with each other
- Make the color of the textbox cursor the same as the skin's text color - this ensure it always has good contrast
- Offset the display of text slightly in the textbox. This avoids the cursor 'blending in' with the textbox border
- Correctly format the log to display the actual UID
- Fix getReplaydIdByUid being called with an UID of 0, when no replay to compare has been selected
- If there is 2 or 3 karts in the GP, karts in 2nd and (if any) 3rd place display a sad animation
- If there is 4 karts in the GP, the kart in 3rd displays a sad animation
- If there is 5 karts or more in the GP, all karts on the podium display a happy animation
The first kart in the GP always displays a happy animation even if alone.
- Fix a bug that made the last lap SFX played only if music was on.
- Fix the behavior of the music volume adjustment when the last lap SFX is played. Previously, the music volume was only adjusted when the music volume was above a certain threshold, but when it was above that threshold, the adjustment was too strong.
- Set the minimum sound volume to 0.025f instead of effectively 0.1f. This is particularly helpful for headphone users.
- Make the step between each volume setting exponential.
- Add parameters to remember the parameters of the audio spinners.
- Increase the default number of values the audio spinners can take from 10 to 15. Old config files will keep using 10.
- Set the default values to 10 (spinners), which translates to 0.2678 (volume fraction) instead of 0.6 (previous default)
Not displaying a win message when there is only one kart was intended behaviour. A win requires the possibility of a loss. However, displaying the finishing rank with only one kart is ugly.
* Update soccer_world.cpp
edited getRescueTransform function in soccer_world.cpp so that the rescue bird places the kart towards the ball in soccer, as requested by many players.
`setLabel()` does not work in `beforeAddingWidgets()`, use `setText()` instead as was originally used when the code was written.
This fixes a regression introduced in 0ace825d5f (almost exactly 10 years ago!)
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
Since we only show one button at first, make it centered. (This is the continue button that switches from displaying race results to overall GP results.)
* Hide the cursor during gameplay
The cursor will show back up whenever:
- The mouse is moved
- The game is paused
- The race finished
This is probably not the best implementation, but it's a start.
* Wrap mouse display code in PT_MAIN checker
* Moved mouse display code to updateGraphics
* Protect SDL calls with #ifndef SERVER_ONLY
---------
Co-authored-by: Semphris <semphris@protonmail.com>
- Fix capitalization of "Standard" in kart and track selection screens
- Fix both "All" and "Standard" in random GP screen
- Code style/documentation/consistency improvements
1. Remove pow in shader and do srgb conversion in code
2. Fix setGreen and setBlue order
3. Multiply particle color first like vertex color in the other shaders
4. Fix incorrect smoothstep
It used to work in 1.2 because the top of the invisible wall was
not covered, which will affect height map calculation. Now we
ignore physics only objects when doing the height map calculation.