Changes by CrystalDaEevee:
- Fix some UI elements that were incorrectly using the base Cartoon variant instead of the correctly contrasted Cartoon Coal variant
- Use a dark table-header to fix contrast issues
- Fix Licenses.txt
- Use new 'base theme name' and 'variant name' values for skins to determine spinner values
- Ensure the skin is correctly set based on the values of both spinners
- Keep the options in the 'variant' spinners correct when updating the base spinner, as different base themes may have different variants (or no variants)
- Many other small changes to make it all work smoothly.
- Rename the folders of the classic skins, as the order of variants is determined by folder name alphabetic order. Using the same structure as with the cartoon skins ensure the variant order is the same.
- Also remove some redundant comments that were missed in the previous commit.
Remaining:
- Tidying up the code
- Ensure that if a variant exists in both the previous 'base theme' and the new 'base theme', switching the base theme while this variant is active doesn't reset to the default variant.
Instead of duplicating the general skin-making advice in all 12 stkskin.xml files, centralize it in one place.
Also correct header comments regarding the theme names.
The variants use the same accent colors as variants of the standard skin : blue (ocean), green (forest), black (coal), pink (ruby), yellow (desert). Made by CrystalDaEevee with help from QwertyChouskie (base theme advice, original cartoon theme) and myself (forest screenshot, advice regarding screenshots, initiative to get it merged)
- The code starting a tutorial race was duplicated in three places. Consolidate it in one place.
- When launching the tutorial from the overworld, use the last used input device instead of the keyboard
- Restore the old cmake policy. The new way to replace that code suggested by the cmake manual fails CI, and debugging MSVC fantasies without a local install is a nightmare.
- Restrict this policy setting to MSVC as that's the only compile path that needs it, avoiding the warning for non-MSVC builds.
- Add missing define guards
- Remove some extraneous includes
This gets rid of deprecation warnings. Cmake 3.6 has been out for almost 8 years by now, so this requirement should not cause undue trouble to people trying to compile the game.
- Call autoComputeLevel to make the LoD distance for on-track items (bananas, nitro, gifts, etc.) depend on the user settings
- Ensure that the distance is reasonably high even on the lowest settings
A basic restart of the screen does not reinitialize what's needed to properly update anisotropic filtering. Therefore, ensure a full restart is done, but avoid showing the user a resolution confirmation dialog afterwards.
Also use a new applySettings function to avoid having two places to update when changing the code that manages applying updated graphics settings.
- 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
Also:
- Since draw distance is used to account for the object's size, have parameters depending on geometry detail correct for it. The minimum switch distance increases slightly with each geometry detail level.
- Clarify what the formula spreading the distances for each LoD level does
- Adjust slightly the auto-LoD multipliers.