Commit Graph

744 Commits

Author SHA1 Message Date
lokpro
1fd18c8d88
add UserConfigParams: m_gp_reverse, random-gp-num-tracks for GPInfoScreen (#4656) 2021-10-28 10:15:26 +08:00
Heuchi
e110948eb5 add configuration for item return times in stk_config.xml 2021-10-24 10:02:05 +02:00
Benau
013b065f2c Allow disabling loading of addon karts or tracks, fix #4637 2021-10-05 11:58:23 +08:00
iwoithe
95de01a8fb
Add a user config option to randomize the player position at the start (#4627) 2021-09-29 11:40:14 +08:00
Benau
daf1dcfb6b Make AI / grand prix option in create server screen configurable 2021-09-24 11:29:41 +08:00
mrkubax10
26db54c90f Don't save highscore when player skipped track 2021-09-18 11:21:04 +02:00
Benau
f22f4a52ef Remove server bookmarks based on inactive days 2021-07-14 10:44:15 +08:00
Benau
b465729304 Implement server bookmarks for global networking 2021-07-12 16:50:16 +08:00
Benau
ae32b8fc61 Fix max FPS order for iOS STK 2021-05-21 16:21:06 +08:00
Kuba
8add6fba2f
Added last entered IP addresses list (#4525) 2021-05-07 01:01:24 +08:00
Benau
92f6158ffd Default to DirectX 9 driver for ARM64 Windows 2021-04-27 16:13:47 +08:00
Benau
47011140a5 Add code to switch render driver at runtime 2021-04-23 21:21:39 +08:00
Benau
9a0b72a282 Simplify json sanitizing 2021-03-21 09:57:41 +08:00
Mary
0dd3c62a43
Discord rich presence (#4500)
* 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
2021-03-10 10:47:33 +08:00
Richard Qian
969de9e751
Improved artist debug mode (#4501)
* 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
2021-03-08 11:23:28 +08:00
Mary
d9b8b7acad
Support for Nintendo Switch (#4491)
* 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
2021-03-04 09:23:23 +08:00
Richard Qian
f136c6fe36
In-game high scores management (#4483)
* 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>
2021-02-12 11:12:43 +08:00
Richard Qian
9fdec3067e Fix a minor issue for the comment with difficulty not showing SuperTux mode 2021-02-11 12:06:33 -06:00
Benau
5d5f01b4b5 Add backward distance in camera setting gui 2021-02-06 09:13:36 +08:00
Deve
a7a1c8abca Some work with scale rtts.
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.
2021-01-19 23:58:51 +01:00
QwertyChouskie
6d3ee0ce31 Add Render resolution (scale_rtts) slider with auto-mode
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.
2021-01-19 00:12:20 +01:00
riso
ce13648721 camera settings 2020-12-23 21:39:30 -06:00
Richard Qian
0db8d50359
More configurable music (loop end support, different race result music) (#4445)
* 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
2020-12-21 02:14:52 +01:00
Benau
0e1732c45d Implement auto acceleration for steering wheel from mobile control 2020-12-08 08:51:30 +08:00
Benau
85984d143a Only count approved addons for indicator 2020-12-01 16:17:47 +08:00
Benau
8eb318675d Allow saving custom camera settings 2020-11-19 12:17:01 +08:00
dulsi
e2d4936056
Add gamerzilla support to achievements. (#4386)
* 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.
2020-10-31 11:32:40 +08:00
Benau
618eb87df0 Use TCP stun for more reliable IP type detection 2020-09-03 13:24:49 +08:00
Benau
bdbf961e76 Allow showing online addon kart as tux when live join is on 2020-08-23 16:38:59 +08:00
Benau
c091574c64 Update default stun list 2020-08-16 14:16:26 +08:00
Benau
fe8a6fb6a9 Update default value of screen keyboard status after SDL2 is used 2020-07-15 00:21:38 +08:00
Benau
f202bcd48c Remove unused code 2020-07-12 10:26:37 +08:00
Luffah
0a6a487b29
add camera settings in option screen (#4273)
* add camera settings in option screen

* Remove camera settings (distance, backward/forward angles, smoothing) from kart characteristics

Co-authored-by: luffah <luffah@runbox.com>
2020-07-10 11:39:19 +08:00
Benau
d1ab5f8aaf Allow remembering network splitscreen option when opening STK 2020-06-16 09:46:56 +08:00
Benau
c77a695f35 Add back the default stun servers list to user config
Now we can remove stun server in c8d9383d6a
2020-05-07 15:23:12 +08:00
Benau
1bd34e338e Allow showing or hiding soccer player list with F7 in artist debug mode 2020-04-29 01:09:33 +08:00
luffah
914f1a6a77 add user option (config.xml) to substitute look back camera by a camera that follows the ball in soccer mode 2020-04-16 18:50:35 +02:00
luffah
2ca815ace4 add top view for spectator mode & remove gui item view for this camera mode 2020-04-16 16:24:56 +02:00
David Carlier
12afc23e4e NetBSD build few updates. 2020-04-05 16:10:34 +01:00
Benau
364936e37b Allow getting stun server list using SRV records 2020-03-15 10:05:13 +08:00
Benau
6a3e606c2d Turn race manager into a singleton get for 2 processes 2020-02-28 09:42:44 +08:00
Benau
26dbf67d53 Ask if user want to play tutorial when new profile is created 2020-02-02 16:32:57 +08:00
Benau
1e9dab821c Allow pre-set IP type in config.xml 2020-01-31 13:20:11 +08:00
Benau
e18bcd62e6 Add IPv6 LAN server discovery
Broadcasting to windows doesn't work as the windows firewall seems
to block all IPv6 multicast
2020-01-27 13:48:57 +08:00
Benau
fcdec55bc1 Add tools for advanced IPv4 and IPv6 detection 2020-01-19 10:13:17 +08:00
Benau
7b3559ba69 Add IPv4 only stun for later usage 2020-01-19 01:00:48 +08:00
David Carlier
d97a1ce1ef removing compilation warning explicitly showing enum origin
to avoid confusions even though they have same values.
FreeBSD recognised as os in stats point of view.
2020-01-18 13:32:50 +00:00
Benau
44d2127800 Always use default name Player in mobile STK 2019-12-29 10:44:13 +08:00
Benau
4cb3383c4a Remove the unneeded manage memory option in request 2019-12-01 01:19:51 +08:00
Benau
13975cc5db Use std::shared_ptr for Request to avoid leaking 2019-11-30 16:01:31 +08:00