* WIP RPC support
* Might have windows support now, don't peek
* Windows support
* RichPresence: __SWITCH__ => DISABLE_RPC (for MOBILE_STK support)
* RichPresence: Handle JSON strings according to spec, support for addons icon
* RichPresence: use translated difficulty name
* RichPresence: disable when client_id=-1
* RichPresence: thread connection, show server name on RPC
* RichPresence: destroy on close
* RichPresence: don't compile methods at all if DISABLE_RPC
* RichPresence: fix windows compile (untested)
* RichPresence: fix for mac
* RichPresence: Linux needs MSG_NOSIGNAL still
* RichPresence: fix memory leaks, don't spam update while not connected
* RichPresence: free thread on terminate
* RichPresence: handle initial registration
* RichPresence: fix compiler warning
* Add more functionality to the debug menu
Includes:
* Front of kart view
* Inverse side of kart view
* Change to kart #9 or #10
* Attachments for AI karts
* Fix enumeration value not handled in switch for debug camera
* More enhancements to the debug menu, part 2
Includes:
* Restore access to the anchor/anvil powerup
* Clear the current powerup or attachment
* Change to kart #11 or #12
* Flatten karts as if they were hit by a swatter
* Block most of the view with plungers
* Enable executing some keypress actions from the debug menu in a new sub-menu
Includes:
* Rescuing karts from menu
* Pausing the game from menu (but keypresses will cause the game to crash)
* Moved "To next kart" menu entry to be right below "To previous kart" for easier reach
* Change print kart positions to info level, better labeling of side kart views
* Prevent crashes when trying to use 'Behind wheel view' on a ghost kart
* Add close button to the debug slider dialog, and a function to enable/disable spinners
* Make it easier to read and select kart camera targets from the debug menu
* Add another dialog (reusing the debug slider code) to allow the user to select
from a slider the kart number to change to
* The 11th and 12th target slots have been removed to make the submenu cleaner,
but the 9th and 10th slots have been left in place
* The predefined slots (1st place to 10th place) actually use numbers
* Improve the appearance of the FPS (frames per second) counter
* Shift the position closer to the center, so that in-race kart icons are not obscured
* The box and text position adapt based on the screen resolution
* Use a thin black border for the font, and make the font white-colored
* Decrease the font scaling to 0.7, so that other UI elements can be seen more easily
* Improve debug keyboard shortcuts handling, rearrange some shortcuts
Most shortcuts are now handled by Debug instead of InputManager directly
Other changes include:
* Fix moving right in 1st-person view not working
* Change the 1st-person view shortcuts to work more like in Blender
* Add more keyboard shortcuts for quickly seeing the top and sides of a kart
* The key to show player list in soccer mode no longer needs to be held down
* Rearrange some shortcuts to flow more naturally
New list of debug keyboard shortcuts:
* F1 - Normal view
* F2 - Top view
* F3 - Right side of kart view
* F4 - Left side of kart view
* F5 - 1st-person view
* F6 - Reload SP textures
* F7 - Next kart
* F8 - Previous kart
* F9 - Show player list in soccer mode
* Q - Move 1st-person view camera down
* E - Move 1st-person view camera up
* R - Rotate 1st-person view camera right
* F - Rotate 1st-person view camera left
* Exit demo mode when there also are no dialogs active; fixes related crashes
* Improve the debug menu, various fixes to some menu items, and mouse-accessible actions
Includes:
* Debug menu opens at the cursor position, but not at off-screen places
* Ensure that the debug menu stays (almost) within the actual window
* Middle mouse button can also be used to access the debug menu
* Move all items into submenus, rearrange most submenus to keep a compact size
* Add ability to set powerup and nitro amount by debug slider dialog
* Label the some commands with the new keyboard shortcuts
* Screenshots can now be saved via the debug menu
* Texture reloading can now be done via the debug menu
* Add more debug shortcut keys, change many of the existing ones
The full shortcuts list will be explained later
Includes:
* Use Control and Shift keys to fit more shortcuts onto fewer keys
* Label the debug menu items with the keys that can be used to activate them
* Fix more debug menu items causing game crashes in certain situations
* Add help message dialog to tell users the list of static/debug shortcuts; incomplete
* Slightly alter the free margins that the debug menu can appear in
* Render target textures (RTT) can now be dumped via the debug menu
* Replace the 10th kart camera target with the last kart camera target
* Switch the shortcuts used for activating history save and manual replay saving
* Finish labelling the remaining debug actions, complete the debug keys help dialog
Unfortunately, the now unused tutorial message dialog has been repurposed for this use,
and the font sizes greater than 'Large' will cause some text to draw outside the dialog
* Document the remaining command-line parameters, clean up some of them
This adds another method that will print out the previously undocumented debug options
Rename --gamepad-visuali[s,z]ation to --gamepad-visuals
Also fix some comments related to the user config, including the game mode numbers
* The AI cannot handle the anvil powerup anymore, but it won't spam logs anymore
* WIP support for Nintendo Switch
* OpenAL is usable
* Remove some debug code, add manual crash when DEBUG_NXLINK is on
* Remove more debug logs
* Support touch, account name detection, language detection. Remove resolution settings
* Stylistic changes
* SFXManager: update on main thread
* Add build script, remove crypto.hpp changes, disable opengl recorder on switch
* make: use sudo where needed, libs=>lib, portlib=>portlibs
* make: build harfbuzz with freetype
* main: remove DEBUG_NXLINK
* socket_address: this comment is no longer relevant
* Fix indentation in SDL, remove extra debug logs from InputManager
* InputManager: make log debug, not info
* CMakeLists: add mbedtls include dirs on switch
* main: deinitialize stuff
* main_loop: fix format
* 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>
* Open the confirm dialog if exiting the grand prix editor with changes by escape key
* When launching the tutorial, use the last used device instead of the first keyboard
* When launching story mode, use the last used device instead of the first keyboard
* Make the kart color selection dialog more consistent with other dialogs
Includes:
* Add an icon button bar with containing actions to apply changes or to cancel them
* The kart only shows its straight frame, without animation; it is slightly smaller
* Adjust the vertical space between widgets, to try keeping the kart size larger
* Use a button bar for the video settings and custom camera settings dialog
A lot of old options for materials.xml format where flagged as deprecated. They are now removed. Addons will not break but might have a few visual artifacts. They should be upgraded by artists to the new structure.
The blender exporter was also cleaned.
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.
* few improvements of option UI
* small fix
* show the correct spinner text when not activated
* camera name for translation
* clean the code (loop camera spinner)
* Allow setting [again] track reverse mode via command line
* Make composer field in music information files optional
* Add support for loop end of music
* Remove print statements used for checking current music play time
* Support playing different music on race results screen
Also make them configurable in stk_config.xml
* Allow configuring grand prix win/lose and feature unlocked music in stk_config.xml
* Fix coding indentation style
* Fix warning when scrolling track screenshots in grand prix results
* Display the rank a player kart finishes in if not in 1st place
* Add gamerzilla support to achievements.
* Move all gamerzilla code into one file. Should we want to support another achievement system like Steam, it can be isolated to the WebAchievementsStatus class.
* Add WebAchievementsStatus files.
* Add version number to achievements file. Update graphics. Generate achievement list from internal system.
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.
* add camera settings in option screen
* Remove camera settings (distance, backward/forward angles, smoothing) from kart characteristics
Co-authored-by: luffah <luffah@runbox.com>
The graphics engine changed a lot since this warning was added and it's
quite possible that it works now. Also that warning causes issues for newer
drivers that have eg. version 4.3.xxx.
* Modern skin
The culmination of years worth of work! Thanks to all who helped make this as amazing as possible!
PNGs were ran through `pngquant` then `optimize_data.sh` for maximum smallness
* Shrink a multitude of icons
Ran through `optipng` then `optimize_data.sh`
* Allow theming of powerup/attachment icons
Icons were optimized with `pngquant` then `optimize_data.sh`
* Change help screens to use icons from icons folder rather than `models`
* Implement box model spacing for skin elements
* Account for padding when spacing out on-screen keyboard
* Fix padding for Tutorial button on Help screen
* Reduce spacing between tabs
(Also removed a couple duplicated files.)
* Change verticalTab margin as per Benau's request
Uses `vborder_out_portion`, which is how it was done before.
* Remove duplicate files
* Adjust spacings after PNGs were adjusted in a previous commit
* Improve spacing of verticalTabs
* Slightly increase the tabbar width in the Options screens
* Slightly increase the tabbar width in the help screens