530 Commits

Author SHA1 Message Date
Nomagno
e47958f2d3 Fix #5053 (bool vector -> uint8_t vector) (#5073) 2024-05-05 23:21:31 +02:00
Alayan
01d62be5de Fix crashing when turning the modern renderer on or off before benchmarking 2024-04-28 18:32:51 +02:00
Alayan
171ac3c0b0 Adapt the pause menu in benchmark mode
* Use explicit activation and desactivation functions for the profiler to improve code clarity and robustness
* In the pause dialog, only display the 'back to race' and 'exit' buttons in benchmark mode
* Relabel the buttons in the pause menu in benchmark mode
* Use 'Performance test' in user-facing texts to ensure better translations
* Fix parts of the UI disappearing when leaving the pause menu in benchmark mode

Additional known issue introduced in the previous benchmark commit:
* With big text sizes, the performance test button overflows in the graphics settings.
2024-04-24 13:29:05 +02:00
Alayan
a6cecd2279 First steps for a benchmark mode
* 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.
2024-04-16 05:46:30 +02:00
Alayan
a57ac415bb Fix #3578
- 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.
2023-11-24 17:59:39 +01:00
Alayan
bf88954e31 Fix #4944 2023-11-24 16:29:18 +01:00
Alayan
858ed6bb3e Fix #4926
Also add more explicit error logging for this case.
2023-11-12 23:02:27 +01:00
QwertyChouskie
4932a60a9b UI/UX: Add new icon for Lap Trial mode
Also fix more license documentation stuff
2023-05-11 12:44:04 -07:00
Benau
8544f19b59 Fix #4834 2023-01-05 10:33:39 +08:00
Benau
a688912872 Remove IrrlichtDevice.h and IVideoDriver.h in header files 2022-11-17 11:09:56 +08:00
Benau
d170f0f445 Remove irrlicht.h in remaining code if unneeded 2022-11-17 08:46:54 +08:00
Benau
8fead715da Add onDemandLoadTrackScreenshots for all tracks 2022-08-14 15:21:37 +08:00
Benau
f777e01a21 Make kart textures loading ondemand if needed 2022-08-13 11:44:06 +08:00
Benau
de09566b4a Avoid configurations xml lost if having disk space issue, see #4709 2022-04-09 14:59:57 +08:00
Benau
601511e7f4 Split device polling out of renderLoading 2022-04-01 09:59:46 +08:00
Kuba
0d8b01b08b Lap Trial improvements (#4664) 2021-11-03 09:39:22 +08:00
Kuba
3623fa8f5f Add Lap Trial mode (#4663) 2021-11-02 03:02:16 +08:00
Benau
1470eb3939 Fix possible crash in discord rpc 2021-10-30 10:04:17 +08:00
Benau
39f7e6441a Fix random player position in FTL 2021-10-05 11:34:51 +08:00
Richard Qian
d5f8496abc Enable grand prix races in high score dialog (#4626) 2021-09-30 09:57:59 +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
de52f2ae92 Fix uninitialized reverse type 2021-09-23 16:08:06 +08:00
Benau
dab4486465 Implement proper fix for #2776
Doing computeGPRanks in race result screen will make sorting
animation disappear
2021-09-21 16:32:53 +08:00
Kuba
6ee1b398e9 Save minor mode in GP highscores (#4620) 2021-09-21 10:06:09 +08:00
mrkubax10
26db54c90f Don't save highscore when player skipped track 2021-09-18 11:21:04 +02:00
Daniel Garcia
1fff48ea61 Fix incorrect comment in grand_prix_manager.hpp 2021-09-16 11:04:20 -05:00
Kuba
0b5eda8ef9 Save more detailed informations about reverse mode in GP highscores (#4616) 2021-09-14 16:22:29 +08:00
Benau
e3a88c71e2 Allow using shift-f11 in kart selection screen 2021-09-01 11:17:07 +08:00
Kuba
0b45ac9fd9 Add grandprix highscore (#4566) 2021-08-02 11:38:07 +08:00
Kuba
2264ca6faa Fix tracks not showing in grandprix info (#4561)
Tell user grandprix is not available if it includes locked tracks in singleplayer
2021-07-25 01:26:56 +08:00
courbe
39006f9889 Rank by greatest time if points equality in Follow the leader for GP (#4562) 2021-07-22 01:58:14 +08:00
Benau
6a24b5cb0e Correct the order of begin / end scene
It fixes DirectX 9 driver warnings
2021-04-23 15:36:16 +08:00
Benau
dd5fcfce47 Remove assertion for discord rich presence 2021-03-18 11:03:16 +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
Mary Strodl
b93a24a184 Clock up CPU while loading 2021-03-04 09:57:02 -05: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
6b08a873a2 Allow world to have 2 process instances
Also add specific process type handling to world
2020-02-28 09:43:25 +08:00
Benau
63bad92765 Turn race event manager into a singleton get for 2 processes 2020-02-28 09:43:00 +08:00
Benau
6a3e606c2d Turn race manager into a singleton get for 2 processes 2020-02-28 09:42:44 +08:00
Benau
88bbdbdc92 Move no graphics setting to guiengine which is a better place 2020-02-15 14:00:48 +08:00
CodedOre
13fca9a0eb Adapting MessageQueue for Tutorial (#4204)
* Make Script-Message more adaptable

* Highly WIP-TriggerMessage

This is commited for discussion, so it is far away from complete or good or anything else.

* One Place for the static Message!

* Fixing that clear() dont clear the static message.

* Discard Static Messages when Race is closed.

In Order to not leave StaticMessages if an Race is quit, now closing the race discard StaticMessages.

* Allow for co-existence of static and normal message

* Fix indentation and Enum Order

* Clean up used StaticMessages.

* Clean StaticMessages up Round 2
2020-01-11 00:12:56 +08:00
Fouks0
cb236e9674 Always show times in ms (#4177)
* Always have the time(r)s showing milliseconds
* Format time in mm:ss.mmm in the Ghosts List/Dialog
2020-01-09 17:12:38 +01:00
Benau
13bfb902db Improve showing of tips
1. Disable in track loading as for most tracks it too short to be seen

2. Show race tips only when human loses
2019-12-19 00:33:22 +08:00
Alayan
50988c6c60 Fix #3687 2019-10-26 02:28:42 +02:00
Alayan
ff2ccdbde3 Minor mode checks clean-up 2019-10-25 20:26:18 +02:00
riso
657e02efe4 Clean icon name (Improve PR#4073) (#4081)
* fix icon names

* add file mode_weapon.png
2019-10-06 01:14:09 +08:00
Du maosen
8316d91469 Some improvements for soccer AI spinner (#4069)
* Improve code

* Bigger space in track info

* Bug fix && improvements

* Bug fix && improvements

* Bug fix && improvements
2019-09-26 10:12:24 +08:00
Benau
400c1e5347 Fix #3597 2019-07-08 01:45:36 +08:00
Benau
dc8bbfc603 Allow saving kart color to KartStatus 2019-07-08 01:29:11 +08:00
Benau
8fa3c79be7 Clear only data from network to fix #3980 2019-06-30 10:05:56 +08:00