Commit Graph

788 Commits

Author SHA1 Message Date
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
Benau
85cea43077 Allow starting offline CTF from command line 2021-02-08 10:32:10 +08:00
Benau
06500e18ca Make init android dialog header more visible 2021-02-03 01:24:58 +08: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
ccd3f8144c Update first time internet dialog string for removed hardware stats 2020-10-24 09:25:24 +08:00
Benau
618eb87df0 Use TCP stun for more reliable IP type detection 2020-09-03 13:24:49 +08:00
Benau
4a4da3c96c Add splash screen to hide black screen in android during launching 2020-08-27 12:52:58 +08:00
Benau
33fb8d3f5b Update code for android tv 2020-07-14 15:22:25 +08:00
Benau
d8beb5bdb6 Allow main menu auto resize if missed a resize event 2020-07-12 12:14:46 +08:00
Benau
8cc4dd3383 Initial work to make android STK use SDL2 completely 2020-07-12 08:25:06 +08:00
Benau
ea0380ae16 Use SDL2 to create iOS device 2020-06-11 11:40:25 +08:00
Benau
d4cd6d6fc9 Add minimum window size 2020-06-06 01:02:01 +08:00
Benau
da1d41bf85 Add resizing of GUIEngine (only works with some screen) 2020-06-04 15:49:34 +08:00
Benau
2eaca2091e Use SDL2 to handle window creation 2020-06-02 10:36:06 +08:00
Benau
32e3e4a504 Make gamepad visualization work with SDL2 2020-04-21 19:40:30 +08:00
Benau
93cf4bab52 Fix crash in case system doesn't support IPv4 or IPv6 2020-04-14 11:35: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
ccdca532b5 Turn projectile manager into a singleton get for 2 processes 2020-02-28 09:42:52 +08:00
Benau
6a3e606c2d Turn race manager into a singleton get for 2 processes 2020-02-28 09:42:44 +08:00
Benau
c8ea01d264 Initial work on client server within same process 2020-02-28 09:41:07 +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
4a9135c8c0 Avoid pushing and using screen in no graphics 2020-02-15 16:38:49 +08:00
Benau
88bbdbdc92 Move no graphics setting to guiengine which is a better place 2020-02-15 14:00:48 +08:00
Benau
e0f494abcd Allow server AI starting in a same process with client 2020-02-10 16:39:47 +08:00
Benau
92a11c075a Rename NetworkAITester to NetworkAIInstance for a proper name 2020-02-10 09:38:23 +08:00
Benau
99a5675abe Add UserDefinedServer class to allow saving the server name easier 2020-02-05 14:06:51 +08:00
Benau
33d228bb6d Clean up header files and remove unused class 2020-02-01 10:45:15 +08:00
Benau
23ad6f09a6 Clean up direct connection code with full IPv6 support 2020-02-01 09:30:40 +08:00
Benau
e1188c5532 Fix non random client port (NetworkConfig initialized too early) 2020-01-30 11:30:54 +08:00
Benau
6abd3bbf69 Add socket address to support both IPv4 and IPv6 2020-01-27 11:50:15 +08:00
Benau
63c7c711d5 Fix IPv4 only server in dual stack network 2020-01-23 16:43:46 +08:00
Benau
8486b11da6 Allow setting public address for IPv6 client 2020-01-23 01:16:02 +08:00
QwertyChouskie
594cfefeed Fix CMD flags in main.cpp (#4180)
Came across these when working in my branch.
2019-12-25 10:44:28 +08:00
Benau
a46f82420f Bigger confirm internet dialog size for small iPhone screen 2019-12-23 09:15:01 +08:00
Benau
4d0952c716 Clear up tips manager 2019-12-18 12:52:45 +08:00
杜茂森
1ade00462d Simple tips manager (#4146) 2019-12-18 02:23:06 +01:00
Benau
49651cca4f Allow connect to server with domain in IPv4, fixed #3969 2019-12-14 09:52:04 +08:00
Benau
5f32b81ab8 Fix stk server crash 2019-11-03 02:43:31 +08:00
Benau
5c9df8d9a2 Fix profiling mode of stk 2019-11-02 00:07:10 +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
Alayan
50988c6c60 Fix #3687 2019-10-26 02:28:42 +02:00
kxxvii
816cd3f3bf Additional trivial type/word fixes for man page and '-h' (#4102)
* Command-line help typo, fix
	modified:   src/main.cpp

* Typo fix, GNU/Linux manual
	new file:   doc/supertuxkart.1
	modified:   src/main.cpp

* More word and typo fixes in man/'-h'
	modified:   doc/supertuxkart.1
	modified:   src/main.cpp
2019-10-22 01:54:54 +08:00
kxxvii
f55a206271 GNU/Linux manual page. (#4100)
* Command-line help typo, fix
	modified:   src/main.cpp

* Typo fix, GNU/Linux manual
	new file:   doc/supertuxkart.1
	modified:   src/main.cpp
2019-10-21 16:26:40 +08:00
Benau
c577383573 Fix #2536 2019-10-20 00:54:12 +08:00
chozo
d4d34498ad Command-line help typo, fix
modified:   src/main.cpp
2019-10-17 20:29:10 +02:00
Benau
b639efd8ed Use lower frequency for network ai 2019-10-16 11:48:58 +08:00
Benau
1614868b5d Add AI handling for online racing games 2019-10-15 16:19:30 +08:00
Benau
76871a3f24 Fix crash when fresh stk lan game with AI 2019-10-14 16:34:28 +08:00