Commit Graph

247 Commits

Author SHA1 Message Date
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
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
Benau
8cc4dd3383 Initial work to make android STK use SDL2 completely 2020-07-12 08:25:06 +08:00
Benau
1055dd8932 Remove unused gamepad android config 2020-06-17 11:12:09 +08:00
Benau
4d72b118e3 Batch glyph for quicker text rendering 2020-05-01 09:34:04 +08:00
Benau
00cb6c2d48 Use SDL2 for better gamepad support and hotplug 2020-04-21 00:14:32 +08:00
Benau
b7f2a9614d Add tool for server creation in the same process
For iOS or Android App Bundle (or other platform) where create process
or fork is not possible or can not be easily done
2020-02-28 09:35:25 +08:00
Benau
33d228bb6d Clean up header files and remove unused class 2020-02-01 10:45:15 +08:00
Benau
6abd3bbf69 Add socket address to support both IPv4 and IPv6 2020-01-27 11:50:15 +08:00
Benau
2ca1c5555c Allow connect to IPv4 only server with NAT64 for all platforms 2020-01-20 16:49:27 +08:00
Benau
4d0952c716 Clear up tips manager 2019-12-18 12:52:45 +08:00
Benau
19d008d0f8 Add support for installing addons pack 2019-11-30 00:36:35 +08:00
Benau
520f1c7d3a Fix broken kart animation for countdown timer in result screen 2019-11-24 12:14:29 +08:00
Alayan-stk-2
770d02b19b
Compute and display a story mode timer (#4121)
This is the result of my previous work, with a port of the timer version that was developed for a 1.0 mod. It has been used by several players so no major issue should exist, though UI and other elements may require adjustment to smooth some rough edges.

It features both a casual story mode timer storing the total time to complete the story mode (on by default) and a "speedrun" timer (off by default). The casual timer is paused whenever the player exits story mode, and supports play over multiple sessions. It is only displayed in the overworld and during challenges ; while the speedrun timer is permanently displayed.

Fix #2907
2019-11-01 13:25:27 +01:00
Benau
c2c5c20d92 Initial work on IPV6 game server 2019-08-19 00:05:34 +08:00
Benau
4200f0ca59 Allow install full game assets from stk server 2019-08-08 16:38:53 +08:00
Benau
0b1da5a1d0 Checking for IPV6 only before connecting to game server in iOS 2019-07-27 02:12:35 +08:00
Benau
5cc5780f28 Add download assets screen for mobile stk 2019-07-24 01:33:12 +08:00
Benau
1cd725586f Add functions to handle file in utf8 encoded name 2019-06-28 20:49:33 +08:00
Benau
7165449da8 Add emoji keyboard 2019-06-20 01:24:55 +08:00
Benau
867cecc01e Refactor FaceTTF for later better usage 2019-05-30 10:34:47 +08:00
Benau
b9f82ebdf0 Rename network user dialog to network player dialog 2019-05-14 14:44:58 +08:00
Benau
9b4b283c4c Add check trigger to replace item trigger 2019-02-27 11:31:19 +08:00
Benau
0431344886 Add copyFrom for RemoteKartInfo 2019-01-01 13:12:28 +08:00
Benau
d6946198c5 Make flag a rewinder
It remove the capturing delay and allow ctf in local splitscreen
2018-12-24 16:01:21 +08:00
hiker
4bd57b9f67 Remved VoteOverview screen, and migrated voting related code
to TracksScreen. No display of votes yet.
2018-12-16 01:34:51 +11:00
hiker
ed29c280b3 Added initial voting animation while loading the track. 2018-12-10 00:29:14 +11:00
hiker
fa7d3eef73 Added 'voting result' screen, though it does not have any functionality atm. 2018-11-22 09:17:58 +11:00
Benau
b3bffacb40 Add network ai tester for linear race 2018-09-16 17:58:00 +08:00
Benau
0d93fe427e Initial work on server_config.xml 2018-09-11 10:13:33 +08:00
Benau
88e1733d50 Simplify STUN and LAN connection
Using enet intercept directly
2018-09-07 01:40:32 +08:00
Benau
b4d9b43a52 Use Nettle in linux if found 2018-09-01 01:05:22 +08:00
Benau
64595a7b18 Initial work on FFA in network 2018-08-13 00:59:20 +08:00
Benau
56b71e97ad Remove unused class 2018-07-23 08:41:59 +08:00
Benau
0cee131b9f Add positional smoothing for physical objects in network 2018-07-13 20:27:37 +08:00
hiker
ad82dca6cc Created separate file for ItemEventInfo. 2018-05-15 18:05:46 +10:00
hiker
9d60112e65 Started to implement proper item handling: the server now sends
updates of all collected items to the clients as part of a state.
A client confirms the received states. Once all clients have
confirmed a certain event, that event is deleted on the server
and not sent anymore. WIP, item collection kind of works, but only
because of kart state updates which include attachment (but not
e.g. nitro).
2018-05-08 19:12:06 +10:00
hiker
1b72d88593 Merge remote-tracking branch 'origin/kobato' into game_protocol 2018-03-31 01:12:22 +11:00
hiker
6474fbf73e Modified file to automatically trigger cmake on compilation. 2018-03-31 00:39:49 +11:00
hiker
2192d1383f Removed the storing of DT (which is not necessary when using ticks
now). Removed TimeStep information class etc.
2018-03-30 18:32:48 +11:00
hiker
c7bc47f2e3 Fixed world update to be fixed at the physics frame rate. 2018-02-12 09:54:46 +11:00
Benau
297c66bf04 Remove unused cpp and hpp files 2018-01-25 15:41:30 +08:00
Benau
390554eca1 Add xml shader and the loader 2018-01-21 13:19:00 +08:00
Benau
7797115867 Add SP for correct normal and easier shader system 2017-12-25 14:00:10 +08:00
hiker
55d0df7bad Added option to buffer log messages (which can reduce debug output
overhead).
2017-12-04 11:32:09 +11:00
Benau
4573e51e98 Fix #2427 2017-10-15 19:14:07 +08:00
Benau
0b9a3e1c69 Fix some issues found in first-try 2017-10-14 09:47:13 +08:00
Benau
a00b878919 Use transposed matrix everywhere 2017-08-17 01:26:08 +08:00
Deve
70c481cb26 Add a possibility to set android version in graphics restrictions. 2017-07-10 22:54:38 +02:00
Deve
2102b059de Update sources.cmake 2017-05-18 21:26:38 +02:00