2220 Commits

Author SHA1 Message Date
Alayan
abbee26708 Don't do the upscaling animation if already upscaled 2018-09-22 23:13:54 +02:00
Alayan
9c6352c867 Add SuperSize in the artist debug mode menu 2018-09-22 22:44:34 +02:00
Alayan
ae1181540d Reduce duration 2018-09-22 01:14:43 +02:00
Alayan
df25f9b1fb Reduce duration, increase item probability 2018-09-22 01:13:15 +02:00
Alayan
639a173339 Add bowling ball immunity for super-sized karts 2018-09-22 00:57:15 +02:00
Alayan
862113d2a9 Add probabilities to get the new super-size item 2018-09-21 18:33:40 +02:00
Alayan
1285f8c58c Add invulnerability stars 2018-09-21 06:47:13 +02:00
Alayan
a9b49305db Add minimal supersize AI ; special effect when swattered 2018-09-21 06:25:02 +02:00
Alayan
d9581d9f70 Make the visual kart scale 2018-09-21 05:56:38 +02:00
Alayan
6a9a1a0e7a Add a new super-size powerup 2018-09-21 05:43:48 +02:00
Alayan
d3c4dd0b7c Add new characteristics for super-size boost 2018-09-21 05:14:44 +02:00
Alayan
b48f31d4a0 add basic functions to manage super status 2018-09-21 04:36:23 +02:00
Alayan
13b3b3c2bd Remove redundancy between kart constructor and reset, reset a few more variables 2018-09-21 02:44:51 +02:00
Alayan
6dedbff1a8 Fix all known instances of kart flying due to cushioning 2018-09-20 23:56:53 +02:00
Alayan
0da04805b4 Merge branch 'master' of https://github.com/supertuxkart/stk-code 2018-09-20 22:22:56 +02:00
Alayan
961c4af662 Fix cushioning when landing on a slope, reduce needed data size 2018-09-20 22:22:23 +02:00
Benau
6232140689 Implement auto server recovery if connection to stk-addons is lost 2018-09-20 16:43:34 +08:00
Benau
f975e37dea Use a uniform material loading for non-glsl (for server) 2018-09-20 14:20:38 +08:00
Deve
bc675ffd81 Revert "Disconnect android player from wan race when the window is not active anymore"
This reverts commit e80e0555e1.
2018-09-19 22:06:41 +02:00
Deve
2c79b02088 Make pause button working when watching ghost replay 2018-09-19 22:06:24 +02:00
Alayan
9f3bc471d8 Specify reverse status for existing challenges 2018-09-19 18:17:36 +02:00
Alayan
6af8f70b48 Add support for challenges in reverse mode 2018-09-19 18:13:42 +02:00
Deve
63ba99457e Add a check for null when unset squash 2018-09-19 07:07:40 +02:00
Benau
951c48292a Fix #3446 2018-09-19 09:19:34 +08:00
auria.mg
afe2b6f2f4 Fix crash when searching for users fails. Does not fix the search, only fixes STK crashing when errors occur 2018-09-18 19:20:19 -04:00
Alayan
52f5562be8 Fix crash with ghost replays 2018-09-19 01:04:19 +02:00
Deve
402cbea3d6 Restore wheels size when game is restarted.
Fixes #3455
2018-09-19 00:14:53 +02:00
Deve
e80e0555e1 Disconnect android player from wan race when the window is not active anymore 2018-09-18 23:05:54 +02:00
Deve
18c108c99a Add some commandline params 2018-09-18 23:05:54 +02:00
Alayan
eb274e01d4 Adjust value to cushion most small jumps 2018-09-18 20:32:13 +02:00
Alayan
6145aff895 Use height data to cushion only close to the ground and adjust impulse strength 2018-09-18 20:01:59 +02:00
Alayan
6af07fac77 Don't assume number of physics ticks per second 2018-09-18 15:56:09 +02:00
Alayan-stk-2
6b4ebc2148 Minor style fixes 2018-09-18 13:52:08 +02:00
Alayan
d39b2a0620 Move special bomb steering in handleSteering 2018-09-18 13:19:14 +02:00
Alayan
ab1e86d796 Move handleNitroAndZipper in handleAcceleration 2018-09-18 12:40:29 +02:00
Alayan
1f514727d5 Change handleAcceleration into handleAccelerationAndBraking 2018-09-18 12:00:02 +02:00
Benau
07ad8977dd Use separate nettle aes context for encryption and decryption
So it can be used and validated by different threads at the same time
2018-09-18 14:25:55 +08:00
Benau
0cd8c03bcd Fix uninitialized value 2018-09-18 10:03:46 +08:00
Alayan
f0807f9c0e Move handleBraking next to handleAcceleration for easier maintenance 2018-09-18 03:40:08 +02:00
Alayan
488e53d669 Remove hardcoded number assuming tick duration 2018-09-18 03:30:31 +02:00
Alayan
c032bfe941 Remove unused findNonCrashingPointFixed 2018-09-18 03:13:55 +02:00
Deve
c2b2a57c87 Minor fix for run_server script.
Restart if known error happened and also update datetime to avoid overwriting log files.
2018-09-17 22:15:14 +02:00
Alayan
fb95e9736b Disable rubber-banding for FTL leader 2018-09-17 21:25:27 +02:00
Alayan
8271213756 Fix incorrect braking before starting line 2018-09-17 21:17:19 +02:00
Alayan
2486e72c25 Tell the FTL AI to not build up a nitro reserve for use in lap 99999 2018-09-17 20:38:48 +02:00
Alayan
1e9f175f43 Fix some identation 2018-09-17 20:26:28 +02:00
Alayan
3aa2a04197 Make the FTL leader use a boosted AI 2018-09-17 20:19:21 +02:00
Alayan
21e88698d2 Make AI kart slowdown before having finished overtaking the leader in FTL 2018-09-17 20:09:58 +02:00
Alayan-stk-2
0c353f4b49 Increase difficulty for the SuperTux challenge 2018-09-17 17:36:20 +02:00
Alayan-stk-2
7bda2d097d Clear last overworld position when switching profile 2018-09-17 17:01:59 +02:00
Alayan-stk-2
2e559aa391 Improve scotland challenge balance in expert/supertux 2018-09-17 15:48:22 +02:00
Alayan
025c60033d Reset min nitro time when no nitro and fix #3180 2018-09-17 14:40:23 +02:00
Alayan
75127fc044 Merge branch 'LockSTG' 2018-09-17 12:42:50 +02:00
Alayan
4d9407653a Fix #3383 2018-09-17 12:40:51 +02:00
Benau
dc059aa8f7 Fix attachment with swatter removing bomb animation rewind 2018-09-17 16:15:15 +08:00
Alayan
02a3de4dd8 Fix #3439 2018-09-17 03:46:20 +02:00
Alayan-stk-2
e269c5a72d Fix #3442 2018-09-17 02:32:46 +02:00
Alayan
b98024f11e Use skin-specific credit color. Fix #3433 2018-09-17 01:53:07 +02:00
Alayan
96c5293021 Add credits color to the skins 2018-09-17 01:46:22 +02:00
Alayan
137a7e671f Move online screns to their own folders to reduce clutter 2018-09-16 23:55:40 +02:00
Alayan
4d68d324a2 Move options screns to their own folder to reduce clutter 2018-09-16 23:35:40 +02:00
Deve
2cb9f1e714 Fixed compilation 2018-09-16 23:11:20 +02:00
Deve
fc04eeade7 Merge remote-tracking branch 'Alayan/DisableKeyboardConfig' 2018-09-16 23:06:54 +02:00
Alayan-stk-2
073f337415 Allow word wrap for ghost replay dialog buttons 2018-09-16 17:29:55 +02:00
Benau
7c53a5556c Single CPU core usage as shown in top 2018-09-16 23:23:23 +08:00
Alayan
152c695a37 Remove unused GUI files 2018-09-16 17:02:38 +02:00
Alayan
085e3f8eae Merge branch 'master' of https://github.com/supertuxkart/stk-code into GUI_Folders 2018-09-16 16:44:31 +02:00
Alayan
03839b7cfe Move GUI files to categorized folders and update all references 2018-09-16 16:37:42 +02:00
Benau
d663bb2caf Update german translation by Wuzzy 2018-09-16 22:01:08 +08:00
Benau
68d6326348 Update NETWORKING.md for network AI tester 2018-09-16 20:48:51 +08:00
Benau
f1057726ad Log peer address who formed bad message 2018-09-16 19:48:27 +08:00
Benau
8cb5e43bad Allow using --auto-connect with network ai tester 2018-09-16 19:19:42 +08:00
Benau
b3bffacb40 Add network ai tester for linear race 2018-09-16 17:58:00 +08:00
Benau
2c35b0f03c Allow using --connect-now with wan server with server-id 2018-09-16 12:26:34 +08:00
Alayan-stk-2
07e681e927 Minor improvement to the help text 2018-09-16 05:42:39 +02:00
Alayan-stk-2
21857327d4 Improvement for #3441 2018-09-16 04:53:39 +02:00
Alayan-stk-2
1fc58ef445 Fix #3434 2018-09-16 03:37:26 +02:00
Alayan-stk-2
4bbc494de4 Fix #3445 2018-09-16 01:50:39 +02:00
Alayan-stk-2
c22403f080 Fix #3448 2018-09-16 01:36:43 +02:00
Alayan-stk-2
ccdf0098a6 Fix #3447 2018-09-16 00:41:11 +02:00
Deve
35cc6930ab Make button labels in user screen a bit shorter 2018-09-15 23:50:27 +02:00
Deve
2026eb6a69 Ghost replay tables are quite complex, so give them a context for more flexible translations 2018-09-15 23:45:27 +02:00
Deve
e84ac0da7c Avoid a crash when node is null 2018-09-15 23:31:22 +02:00
Alayan-stk-2
02732e78be Make minigolf expert/supertux challenge easier
The grass texture slowdown working again makes this challenge several seconds slower than in 0.9.3 ; and the previous balancing change for supertux ended up overshooting.

The additional AI karts also make it more challenging than in 0.9.3, as it's frequent to be hit by something in the 1st lap.
2018-09-15 21:09:14 +02:00
Alayan-stk-2
9a82e168de Make sure there is always one enabled keyboard config 2018-09-15 19:33:29 +02:00
Alayan-stk-2
15bc188aa3 Add getActiveKeyboardAmount function 2018-09-15 19:31:56 +02:00
Benau
32d192460e Update translation from transifex 2018-09-16 01:24:22 +08:00
Alayan-stk-2
3c89e20733 Add support for disabled keyboard config icon 2018-09-15 18:58:22 +02:00
Alayan-stk-2
d6fd2df8f5 Add new icon for disabled keyboard configs 2018-09-15 18:57:29 +02:00
Alayan-stk-2
88d0313230 Fix comment 2018-09-15 18:30:01 +02:00
Benau
b400d56585 Don't use static in unicode conversion due to multiple threads usage now 2018-09-16 00:29:59 +08:00
Alayan-stk-2
19ba899afd Allow to disable a keyboard configuration without deleting it 2018-09-15 18:28:31 +02:00
Alayan-stk-2
78e592bfbf Add disable button 2018-09-15 18:27:49 +02:00
Benau
0c7475c6cf Handle linebreaking from motd if needed 2018-09-15 23:06:28 +08:00
Benau
28511c597e Remove compiler warning 2018-09-15 22:43:35 +08:00
Benau
211def77a6 Make sure no IV is duplicated and allow using 32bit counter completely 2018-09-15 16:36:01 +08:00
Benau
bbb618fe6b Write to a dummy blocks instead of out of bounds pointer for AES 2018-09-15 16:09:49 +08:00
Benau
4cf9542be1 Add user version in string to connection request 2018-09-15 15:57:27 +08:00
Benau
57d4017cc6 Fix documentation 2018-09-15 15:23:06 +08:00
Benau
e5f5a1c04d Use a more server owner friendly value instead of threshold 2018-09-15 15:10:03 +08:00
Benau
4c6d535f00 Compress kart control action 2018-09-15 14:25:38 +08:00
Benau
01b95d873e Header clean up 2018-09-15 11:18:30 +08:00
Benau
f547753aaa Add seamless endcontroller transition in network 2018-09-15 09:43:37 +08:00
Alayan-stk-2
505a67a372 More improvements for #3430
Now that the list is wider, time and version can fit with a smaller place, leaving more for the rest.
2018-09-15 03:32:51 +02:00
Alayan-stk-2
4c8d1b6b67 Move the track screenshot down to help with #3430 2018-09-15 03:04:35 +02:00
Benau
c10b40fb7d Use a special detail map shader for normal map (later) 2018-09-14 22:51:44 +08:00
Benau
b613c2c989 Make new startup boost and penalty working in network 2018-09-14 22:23:37 +08:00
Benau
641998be69 Move startup boost and penalty handling to set phase for local games 2018-09-14 22:03:02 +08:00
Benau
83a456e835 Add kart id checking so that only peer with correct kart can control 2018-09-14 21:42:35 +08:00
Benau
a53307cc14 Reset only physical objects in onGo 2018-09-14 13:43:44 +08:00
Benau
ea3215aad6 Use "and" search for server 2018-09-14 09:06:03 +08:00
Deve
99a4fac85e Fixed a crash when server was created in GUI.
Regression since 7d561de3fb
2018-09-13 21:07:19 +02:00
Alayan-stk-2
0fd62c1ca7 Add Super Tux time requirements for challenges lacking it
The AI is not yet good enough to be the sole factor ; the time requirement is necessary to not have these Super Tux challenges much easier than others.
2018-09-13 16:27:17 +02:00
Alayan-stk-2
d7b6e4c339 More consistent balance in time requirements
Time-trial records give a good idea of the relative length of different tracks. I tried to keep a similar balance to the one reached in Cornfield Crossing's challenge.
2018-09-13 16:17:35 +02:00
Alayan-stk-2
0b5d390c48 Switch to position requirements for intermediate/novice difficulties
Finishing first should always result in challenge success in low difficulties, and the AI balancing should be more effective than per-challenge tweaking in achieving consistent difficulty across challenges.
2018-09-13 16:03:20 +02:00
Alayan-stk-2
3616e93201 Switch to position requirement for low difficulties
The AI is slower than the required times in this challenge, so it makes it easier.

The previous times were, without nitro/skidding, as hard if not harder than the expert challenge.
2018-09-13 15:51:33 +02:00
Alayan-stk-2
3d14ae5bf1 Move repeated code to a function 2018-09-13 15:14:56 +02:00
Alayan-stk-2
b413d9ef24 Remove useless time requirements
Even with max rubberbanding effect (staying purposefully way behind), the first AI kart finishes around or under the required time.
2018-09-13 15:06:07 +02:00
Benau
803fae5320 Use a correct way to decrypt GCM with openssl
From http://patches.opendataplane.org/patch/7237/, use the correct
order (set tag, than update, and than final)
2018-09-13 16:36:35 +08:00
Benau
c8d56cc2b9 Use absolute path of cert location 2018-09-13 16:29:50 +08:00
Benau
f0a4b707ef Print incorrect packet 2018-09-13 10:46:54 +08:00
Benau
3b070cdaad Fix ranked server player reconnection handling 2018-09-13 10:46:37 +08:00
Alayan-stk-2
323af45fbd Change profile folder to avoid compatibilities issues
As discussed on IRC with Auria.

This removes the several issues already noticed when switching between 0.9.3 and git versions (forgotten challenges and settings ; and more recently a crash with highscores).

Reminder for git users : you can migrate your data by copying it from the previous folder to the new one, so you won't have to redo your settings/profiles.
2018-09-13 02:19:00 +02:00
QwertyChouskie
6dab3b4e03 Fix centering in race paused dialog (#3429) 2018-09-13 01:31:30 +02:00
Deve
0ff4d3d286 Update pot file to fix a typo 2018-09-12 22:58:06 +02:00
Deve
127c91d825 Minor fix for update_pot.
The "supertuxkart-assets" is supported everywhere else.
2018-09-12 22:53:58 +02:00
Deve
b911a31bf2 Quick fix for run_server script 2018-09-12 22:08:38 +02:00
Benau
60157a33c4 Avoid allocating large memory for m_gpu_times in no graphics 2018-09-13 01:33:29 +08:00
Benau
7d561de3fb Disable freetype in no graphics 2018-09-13 01:11:17 +08:00
Benau
930115a449 Disable addons and news manager in no graphics 2018-09-13 00:58:45 +08:00
Benau
e5aa172d00 Clear player chosen kart each race if not grand prix 2018-09-13 00:40:55 +08:00
Benau
114dca1733 Fix typo 2018-09-13 00:12:32 +08:00
Benau
1b0f5be495 Pre-upload powerup spm to prevent hangs when using item 2018-09-12 16:34:38 +08:00
Benau
f39946347f Try to free vertex buffer memory if possible 2018-09-12 16:29:41 +08:00
Benau
37cf5ac459 Add delete vertex buffer to save memory for no graphics 2018-09-12 15:30:57 +08:00
Benau
930c2c004d Always disable network console in child process server 2018-09-12 10:28:02 +08:00
Benau
f5ba14fc54 Fix typo 2018-09-12 10:07:15 +08:00
Benau
a51c88febe Update translation which is completed 2018-09-12 09:42:42 +08:00
Benau
e64fd7a47d Show help in lobby only if connection accepted 2018-09-12 09:30:43 +08:00
Deve
31d425795c Bubblegum may be used up only if switch was not used 2018-09-11 22:29:55 +02:00
Deve
3ebc68ff10 Fixed glow when switch is used 2018-09-11 22:02:06 +02:00
Benau
29a7be5531 Add server hosting documentation 2018-09-12 02:07:34 +08:00
Benau
6203b415e2 Set log filename with server config without .xml suffix + .log 2018-09-12 00:55:34 +08:00
Benau
8f8d5f8814 Use time-played from database 2018-09-11 23:15:08 +08:00
Benau
8ad3cbdff9 Save server config when exit server lobby 2018-09-11 21:08:18 +08:00
Benau
c778a22a3a Use a correct xml syntax for map config 2018-09-11 20:57:19 +08:00
Benau
300cdff07f Disable showing dialog in server for news 2018-09-11 16:04:10 +08:00
Benau
3337f41529 Fix ServerConfig and STKConfig dependencies 2018-09-11 15:35:24 +08:00
Benau
1c94cd6880 Avoid spamming with connect to peer message with localhost 2018-09-11 15:23:45 +08:00
Benau
ade3551c16 Disable message queue in no graphics too 2018-09-11 14:35:07 +08:00
Benau
8bb2eeb629 Always disable online user polling for wan server
With d6955f03fcbc21cb4cd9332d0d528063ad9a0f60 in stk-addons it is no
longer necessary
2018-09-11 14:31:43 +08:00
Benau
612e8bdaf6 Keep http header of curl_slist* until the exit of stk to prevent memory leak 2018-09-11 14:24:59 +08:00
Benau
dd15947aa1 Use ServerConfig for setup server 2018-09-11 14:06:30 +08:00
Benau
0d93fe427e Initial work on server_config.xml 2018-09-11 10:13:33 +08:00
Deve
4262418532 Don't report stats for server_only/no-graphics.
It may cause a crash on some devices eg. when glGetString returns NULL.
2018-09-09 23:58:26 +02:00
Benau
ba37513f7a Fix detail map on normal map with skinned mesh shader 2018-09-09 00:52:00 +08:00
samuncle
ed47b78d26 Merge branch 'master' of https://github.com/supertuxkart/stk-code 2018-09-08 08:50:22 +02:00
Benau
81f2a9e99d Implement CIDR banning with online id split 2018-09-07 23:55:01 +08:00
Benau
3729f27de0 Update stun servers list with not working one removed 2018-09-07 11:39:16 +08:00
Deve
9cf42302a6 Fixed compilation with older nettle versions 2018-09-07 00:26:18 +02:00
Deve
8e29c189c4 Don't segfault if null device creation failed 2018-09-06 22:56:55 +02:00
Deve
e3b3a369d0 Allow to choose monitor with environment variable 2018-09-06 22:06:40 +02:00
Benau
88e1733d50 Simplify STUN and LAN connection
Using enet intercept directly
2018-09-07 01:40:32 +08:00
Benau
3cdc1b6ddd Fix crash if server lobby is NULL 2018-09-06 08:41:13 +08:00
Benau
a5c9bbd3ef Get private port and server id from file 2018-09-06 08:33:11 +08:00
Deve
a60a84b05a Make sure that dialog window and screen keyboard are deleted before changing screen in lobby 2018-09-05 23:06:29 +02:00
Benau
d0b24487eb Allow search with unicode characters and space 2018-09-05 13:37:30 +08:00
Benau
30028cc330 Implement text searcher in server selection 2018-09-05 12:19:11 +08:00
Benau
1577c1e61b Update strings 2018-09-05 08:24:38 +08:00
Deve
4ec7f45e56 Avoid a crash when hiscore has too many entries 2018-09-04 23:48:49 +02:00
Deve
bcb7e48fb1 Some tweaks in track info screen.
Use the same layout for gp info screen.
2018-09-04 23:24:47 +02:00
Deve
0f1f876874 Revert "Change highscore limit from 3 to 5 (#3417)"
This reverts commit 84359ad7da.

It broke "Max players supported" text in arena info screen. It also doesn't work well for hidpi_enabled property that is used on android. Additionally it causes incompatibility with older STK versions (STK 0.9.3 crashes when there is more than 3 entries in hiscore.xml).

Fixes #3424
Fixes #3425
2018-09-04 21:31:27 +02:00
Deve
8f6daefc73 Revert "Fixed android compilation"
This reverts commit 399b89730d.
2018-09-04 21:31:27 +02:00
Benau
c59a11c85c Skip waiting players in network item manager 2018-09-05 01:59:40 +08:00
Benau
0b19ee77fa Use xmlDecode for server name 2018-09-05 01:52:51 +08:00
Benau
bb61c3425a Show current players on server in server info dialog 2018-09-05 01:32:44 +08:00
Benau
24b3e09429 Disable message queue in server only 2018-09-04 14:45:39 +08:00
Benau
c8a42fd355 Show friends currently joined servers when polling user profile 2018-09-04 14:36:48 +08:00
Benau
83d49389d6 Use new syntax for server xml 2018-09-04 07:37:21 +08:00
Benau
a9ecebfbc8 Merge remote-tracking branch 'origin/master' into network_next 2018-09-04 07:26:02 +08:00
Deve
cdeb70dbf4 Some fixes for soccer setup screen 2018-09-04 00:33:34 +02:00
Deve
674397e648 Minor fixes for low resolutions 2018-09-04 00:33:34 +02:00
Deve
6bd5b5276a Make GP editor GUI working better on different resolutions 2018-09-04 00:33:34 +02:00
Benau
65d2c0fc28 Fix memory leak 2018-09-03 14:21:44 +08:00
hiker
3d34c2893b Merge branch 'master' of github.com:supertuxkart/stk-code 2018-09-03 10:13:01 +10:00
hiker
03c003b68d First fix for bubble bum support in networking (and some documentation
updates).
2018-09-03 10:08:33 +10:00
Deve
5a82c6b537 Slightly increase a size of some gui elements. 2018-09-02 22:53:06 +02:00
Benau
e2eed9de88 Allow to keep the server connection for clients when polling 2018-09-03 00:48:00 +08:00
Deve
a9793a10a0 Better fix for legacy pipeline 2018-09-01 23:15:05 +02:00
Benau
0878e59794 Fix #3421 with settings in user config (default off) 2018-09-01 14:57:38 +08:00
Benau
45e20e5a9a Fix compiler warning 2018-09-01 09:39:30 +08:00
Benau
823b2a6f05 Update string 2018-09-01 09:39:16 +08:00
Benau
478f9a42a9 Use better english 2018-09-01 09:32:33 +08:00
Deve
26d9de4262 Fixed legacy pipeline 2018-08-31 22:33:55 +02:00
Deve
3a6cc08596 Make items in server selection list slightly bigger 2018-08-31 21:47:03 +02:00
Benau
b4d9b43a52 Use Nettle in linux if found 2018-09-01 01:05:22 +08:00
Benau
8873013911 Move base/decode64 to crypto class 2018-08-31 19:30:25 +08:00
Benau
7fe6023e4f Use current team info to determine next player team 2018-08-31 19:00:14 +08:00
Benau
15853c4e32 Fix #3418 2018-08-31 17:40:26 +08:00
Benau
2199679ac2 Add support for joining server with ongoing game 2018-08-31 16:27:32 +08:00
Deve
8a579d9542 Ignore mouse clicks that were made directly on ribbon toolbar instead of child elements 2018-08-31 01:29:17 +02:00
Deve
399b89730d Fixed android compilation 2018-08-31 00:50:44 +02:00
Alayan-stk-2
46064d5c52 Give more space for button labels 2018-08-30 19:54:43 +02:00
Liam Middlebrook
0c4852b05c Add CLI option for setting random seed (#3419)
This will allow for deterministic runs with the profiling options.
2018-08-30 14:04:21 +02:00
Alayan-stk-2
ad68f5c5ac Fix #3415 2018-08-30 05:37:07 +02:00
Alayan-stk-2
84359ad7da Change highscore limit from 3 to 5 (#3417)
* Update to support 5 highscores

* Support 5 highscores in the UI

* Save up to 5 highscores instead of 3
2018-08-29 20:32:24 -04:00
Alayan-stk-2
fb43b173d6 Don't count ghost karts for highscores (#3416)
* Add function to get the number of non-ghost karts

* remove print

* Update function call to not count ghosts

* Don't count ghost karts for highscores
2018-08-29 19:50:38 -04:00
Alayan-stk-2
8249266338 Don't remove a level 2 skid bonus when getting a level 1 (#3410) 2018-08-29 18:33:37 -04:00
Alayan-stk-2
80555f4905 Display soccer timer after a goal (#3411)
* Use shouldDrawTimer overrides for tutorial and soccer worlds

* Add isActiveRacePhase

* Update shouldDrawTimer

* Remove duplicate check

It also allows displaying time in soccer after a goal
2018-08-29 18:33:01 -04:00
Benau
279e15f894 Fix attachment for ghost karts 2018-08-30 01:42:19 +08:00
Alayan-stk-2
fe4c918f3a Fix #3403 2018-08-29 18:26:41 +02:00
Benau
4a29e46817 Remove warning for skinned mesh shader fallback
The shader will be unused anyway if there is no armature
2018-08-29 09:32:34 +08:00
Alayan-stk-2
03700acd53 Improve option text 2018-08-29 02:37:08 +02:00
Benau
809cce0c26 Fallback to default shader in case any shader is missing 2018-08-29 08:04:36 +08:00
Benau
8fc2bdcc3f Show game started info in server screen with icon 2018-08-28 14:43:48 +08:00
Benau
ca9f66a8a8 Add explanation for smooth network body class 2018-08-28 10:17:59 +08:00
Alayan-stk-2
ea25d6b7d4 Fix #3404 2018-08-28 03:18:49 +02:00
Alayan-stk-2
740786c3f4 Multiple AI levels when view is hidden by a plunger (#3407)
* Disable AI item avoidance when blocked by a plunger

* Differentiate steering under plunger by item AI level

* Variable AI slowdown under plunger
2018-08-27 20:50:47 -04:00
Alayan-stk-2
8e17965465 Add default 1280x720 resolution in case irrlicht don't report it (#3405) 2018-08-27 19:31:21 -04:00
Alayan-stk-2
ed8b1fc185 Fix egg hunt finish time (#3402)
* Fix #3264

* Fix the fix
2018-08-27 18:44:40 -04:00
scootergrisen
d94383e307 Change multiplayer race to multiplayer (#3401)
I think its called multiplayer in the main menu without race.
2018-08-27 18:42:07 -04:00
Alayan-stk-2
658e091ea3 Fix list headers not being aligned with cells (#3400) 2018-08-27 18:41:36 -04:00
Benau
54bac1bf83 Fix compiler warnings 2018-08-28 01:54:25 +08:00
Benau
61e37bc60f Use zero for unused values in vote for FFA and CTF 2018-08-27 15:41:15 +08:00
Benau
cbaa06d952 Discard resend packet due to packet loss and adjust tolerance 2018-08-27 14:32:05 +08:00
Benau
732fd7a4c9 Don't show timer warning if voting timeout is not default 2018-08-27 13:49:52 +08:00
Benau
0f39add432 Convert time-related code in network to 64bit to avoid overflow 2018-08-27 13:49:11 +08:00
Benau
e5925a53b7 Use the network timer synchronizer to start game 2018-08-27 09:16:35 +08:00
auria.mg
817b576399 Fix crash when leaving ghost replay screen 2018-08-26 21:07:56 -04:00
auria.mg
418901b0de Fix List widget rendering glitch 2018-08-26 21:07:02 -04:00
hiker
b3af6a0473 Fixed compiler warnings. 2018-08-27 08:53:58 +10:00
Deve
94400b12d6 Set multitouch device scale depending on actual screen size 2018-08-25 23:42:05 +02:00
Alayan-stk-2
4484bd961a Add kart icons to the ghost replay list (#3392)
* Add a hide multiplayer replays checkbox

* Hide player number column ; add kart icon column

Enabling the icon display creates issues in the list widget layout, however.

* Fix formatting issue when an icon is displayed in only some cells

* Display "?" icon when kart model is unknown

This can happen with uninstalled addons, old replays with removed official karts, etc

* Add helper functions for icons in replay info dialog

* Add kart icons to replay info dialog

* Delete m_icon_bank in tearDown
2018-08-24 19:34:42 -04:00
Deve
38ed061d71 Fixed up/down button for inverted buttons 2018-08-25 00:45:37 +02:00
Deve
2beca69f25 Use slightly bigger buttons for multitouch gui by default 2018-08-25 00:21:46 +02:00
Deve
9d3c9f8f0d Use smaller margin for up/down button 2018-08-25 00:11:05 +02:00
Deve
19ad3df8fa Revert a workaround for 32bit angelscript compilation.
It's unclear which gcc versions are affected.
2018-08-24 23:25:59 +02:00
Deve
7738eb7899 Fixed compilation with older gcc 2018-08-24 22:59:46 +02:00
Deve
8b2a40e914 Fixed compilation 2018-08-24 03:27:13 +02:00
Deve
ad8b30b5d3 Recreate libchildprocess after apk upgrade also when device has non-typical internal data dir 2018-08-23 23:08:27 +02:00
Benau
35b167a824 Add network timer synchronizer 2018-08-23 16:11:05 +08:00
Benau
7b646dd2cb Add timer synchronization to config and adjust for CTF 2018-08-23 15:07:40 +08:00
Benau
1992177205 Add network timer in main loop 2018-08-23 14:40:17 +08:00
Benau
9e500751a1 Add 64bit unsigned integer handling in network string 2018-08-23 14:35:18 +08:00
Benau
abc93beedf Add c++11 chrono timer handling 2018-08-23 14:34:56 +08:00
Deve
7e7a23854f Use standard data dir location if possible 2018-08-23 07:16:16 +02:00
Benau
8363dd42d3 Fix server owner name sorting 2018-08-23 09:01:11 +08:00
Benau
fc68532f38 Update supertuxkart.pot 2018-08-23 07:50:39 +08:00
Benau
bc83e181ff Remove more space before ? 2018-08-23 07:48:45 +08:00
Alayan-stk-2
024e17aa97 Display time-trial and egg hunt times up to the ms (#3391)
* Add function to get time display precision for current race mode

* Display time-trials times and highscores up to the ms

* Add comment
2018-08-22 19:36:21 -04:00
Deve
2ac8387761 Read data path from ApplicationInfo structure instead of hardcoded /data/data/... 2018-08-23 00:21:20 +02:00
Deve
9908b83f05 Fixed random kart in overworld 2018-08-22 21:10:28 +02:00
Deve
4515038302 Fixed compilation.
Now it's added as IRR_KEY_OEM_*
2018-08-21 22:27:20 +02:00
Deve
66548d68a9 Add some missing key names 2018-08-21 22:01:17 +02:00
Deve
54c9fb97fa Use higher values as a fallback for unknown keycodes on android 2018-08-21 21:36:39 +02:00
Deve
ba6bbd4133 More key codes for keyboard on android 2018-08-21 21:18:35 +02:00
Benau
c67290a262 Sort code files too according to name, fix some spaces before ! 2018-08-21 13:34:27 +08:00
Benau
70e393c93a Update supertuxkart.pot 2018-08-21 09:53:32 +08:00
Benau
d984409c6b Remove --online and clarify global networking 2018-08-21 09:52:54 +08:00
Benau
1610158405 Use sort -n to maintain a constant file order 2018-08-21 09:50:28 +08:00
Alayan-stk-2
dc43e3d5b2 Assign kart type to karts not having a valid one (#3385)
* Fix #3375

* Remove debug print

* Don't clear the list of kart types when changing resolution
2018-08-20 20:52:10 -04:00
Alayan-stk-2
8039a18aec Fix #2776 (#3386) 2018-08-20 20:51:04 -04:00
Deve
07fd42ee3c Add support for unicode characters for hardware keyboard on android 2018-08-20 23:34:51 +02:00
Benau
11bb2f3b0a Always call kartHit
CTF map can be used without arena, and linear race mode will
override kartHit to do nothing anyway
2018-08-21 01:49:59 +08:00
Benau
73ac4f165b Add indication for collected flags in GUI and map 2018-08-21 01:31:49 +08:00
Benau
1becb50cf8 Use reset function from powerup 2018-08-21 00:17:30 +08:00
Benau
7ad349a7ed Implement auto flag returning after some timeout 2018-08-20 16:19:32 +08:00
Benau
f48491c279 Make sure all karts has the same position before go phase 2018-08-20 15:40:29 +08:00
Benau
2fa233179c Remember num laps only in race mode 2018-08-20 15:14:08 +08:00
Benau
58c55a3b30 Don't recreate animation if exists already 2018-08-20 14:34:17 +08:00
Benau
552028e791 Put the kart back to its own flag base like rescue if direct hit in CTF 2018-08-20 14:33:17 +08:00
Benau
d885a87600 Remove unused code 2018-08-20 13:17:04 +08:00
Benau
124324a133 Clear powerups when rescue or direct hit in CTF 2018-08-20 13:03:20 +08:00
Benau
eca9ffb508 Scale the timer according to m_end_ticks told by server if necessary 2018-08-20 11:39:31 +08:00
Deve
1e0a4dc1aa Delete old libchildprocess after apk upgrade 2018-08-19 21:51:15 +02:00
Magne Djupvik
9cf59a4dd0 Removed IRC announcements for AppVeyor and Travis since we now have our own bot to do the announcements. 2018-08-19 14:40:21 +02:00
Benau
2307005159 Add end ticks handling to kart animation 2018-08-19 16:27:42 +08:00
Benau
7970d138e5 Fix flag returning 2018-08-19 14:30:00 +08:00
Alayan-stk-2
da2294d8ac Fix #3306 (#3384) 2018-08-18 21:32:05 -04:00
Alayan-stk-2
926ad522ce Don't trigger eventCallback when moving to the other arrow of a spinner (#3380) 2018-08-18 18:48:23 -04:00
Alayan-stk-2
dac94fad57 Changelog additions (#3377)
* Remove a duplicate mention of deveee ; add Fantasmos and QwertyChouskie

Fantasmos has contributed :
- Illimited splitscreen multiplayer (involves also race UI improvements in local multiplayer)
- Flashing bubble gum before expriation
- Crash sounds changing depending on speed/direction
- Better rescue
- Misc fixes

QwertyChouskie has contributed :
- New skidding particles
- Misc. fixes and improvements

* Add most of the significant changes (for finished features) since 0.9.3 to the changelog

* Include two more changes for the 0.9.3 version

* Add a few items, clearly separate track/modelling changes

Also, each new track get one line of changelog. Putting two on the same line vastly underestimate the importance of such a change. This also make it easier to mention removed/replaced tracks.

The changelog should not be shortened at all costs ; rather, it should be reasonably complete and not shy from using more lines as a visual cue when appropriate.

* Add kart and tracks subsection, improve changelog organization for 0.7.x versions

* More sorting for 0.6.x releases

* Improve info on track changes in 0.4/0.5

* Add android input improvements to the changelog

* Fix typo

* Remove incomplete name change info
2018-08-18 18:47:30 -04:00
Deve
dd7380f569 Fixed server_only compilation 2018-08-19 00:19:31 +02:00
Deve
3fe2340628 Use --no-sound for created server 2018-08-18 23:34:54 +02:00
Deve
9b9785e8ec Add a possibility to disable sound in commandline 2018-08-18 23:34:54 +02:00
Benau
db36ee6df6 Handle controller the last to avoid slow PC sending actions too late 2018-08-18 12:49:31 +08:00
Benau
8b3772470a End CTF early if no red / blue players connected 2018-08-18 12:08:12 +08:00
Deve
15a3be2dc1 Avoid invalid memory access in child process on Android 2018-08-17 23:40:39 +02:00
Deve
474a243890 Enable server creation on Android 2018-08-17 22:36:56 +02:00
Deve
d04ff88a5e Fixed one more bug with SeparateProcess on Android 2018-08-17 22:36:39 +02:00
Benau
df69e7f6b6 Implement capture and return of flags 2018-08-18 01:05:00 +08:00
Benau
f54c1eb2b6 Merge remote-tracking branch 'origin/network-debugging' 2018-08-17 18:19:44 +08:00
Benau
8e9d42baf1 Fix end controller crash if using CTF with DriveGraph 2018-08-17 17:10:27 +08:00
Benau
afe5bc2a16 Fix isRaceOver in CTF 2018-08-17 16:46:56 +08:00
hiker
942718a442 Fixed physics differences based on setting the restitution in
case of a rewind based on the wrong (old) speed.
2018-08-17 17:46:27 +10:00
Benau
5104ffe0eb Remove unneeded . for fetching ranking message 2018-08-17 14:08:42 +08:00
Benau
4831caac77 Tell user that player name is clickable in lobby 2018-08-17 13:45:38 +08:00
Benau
9905ebe09d Add the required GUI code for CTF 2018-08-17 12:54:38 +08:00
Deve
acce57cf31 Add a script for easier managing STK servers 2018-08-16 22:30:15 +02:00
Deve
d2a28f18f7 Fixed a crash with --no-graphics 2018-08-16 22:30:15 +02:00
Deve
80fd62c7d8 More fixes for global_android_app 2018-08-16 22:30:15 +02:00
Benau
a2af7127e7 Reset the font scale after drawing with it 2018-08-16 15:25:58 +08:00
Benau
1d87f9a104 Add red and blue flag svg icon in gui 2018-08-16 14:55:41 +08:00
Deve
ecc5aaf869 Fixed some crashes 2018-08-15 23:53:14 +02:00
Deve
b5e4275f87 Don't crash if separate process creation failed 2018-08-15 22:11:59 +02:00
Deve
c43975c03a Don't kill everything if fork failed 2018-08-15 22:10:00 +02:00
Benau
73c264df94 Add support for CTF map 2018-08-16 02:09:44 +08:00
Benau
03728708cd Rename soccer team to kart team for CTF 2018-08-15 15:13:55 +08:00
Deve
19038b4600 Make SeparateProcess working on Android 2018-08-14 00:14:34 +02:00
samuncle
b8ce2da3f3 Add more utilities to default shader function + make the road shader more optimized 2018-08-13 18:46:00 +02:00
Benau
2efe3afa9f Don't undo swatter destruction which is not necessary with local event 2018-08-13 13:05:29 +08:00
hiker
da11c0266d Round the kart sizes to work around a bug that client and
server get (slightly) different kart sizes (which then affects
the physics).
2018-08-13 12:22:58 +10:00
hiker
543993a614 Merge remote-tracking branch 'origin/master' 2018-08-13 12:22:43 +10:00
hiker
514a169f5b Round the kart sizes to work around a bug that client and
server get (slightly) different kart sizes (which then affects
the physics).
2018-08-13 12:19:19 +10:00
Benau
8aab1c0a69 Use Free-For-All for name instead 2018-08-13 09:00:37 +08:00
Alayan-stk-2
41a3a1056e Improved spinner (#3374)
* Add spinner arrow focus with keyboard

* Improve keyboard navigation for spinners

* Only display active arrow if spinner is focused
2018-08-12 18:00:42 -04:00
Benau
64595a7b18 Initial work on FFA in network 2018-08-13 00:59:20 +08:00
Benau
c8c0e599db Try to remember server creation option 2018-08-12 12:46:45 +08:00
Benau
6bdec3d01a Add initial framework for FFA and CTF in network 2018-08-12 10:57:37 +08:00
Benau
b755d4d00b Replay slipstream speed increase event locally in network 2018-08-10 18:26:13 +08:00
Benau
0b0a3641f2 Update some translation for testing 2018-08-10 16:39:29 +08:00
Benau
3e95feeb0b Translate network message in main thread 2018-08-10 16:38:38 +08:00
Benau
95f3dfc01a End network game early if there is no red or blue team player 2018-08-10 15:08:19 +08:00
Alayan-stk-2
00c0fecb27 Clearer spinner arrows (#3373)
* Clearer focus on coal spinner

* Clearer focus on ocean spinner

* Clearer focus on ruby spinner
2018-08-09 19:47:55 -04:00
Benau
b4d16799e8 Fix bubblegum torque rewind in network 2018-08-08 13:20:37 +08:00
Benau
e9945a5d16 Improve undo destruction for flyable 2018-08-08 11:50:45 +08:00
Alayan-stk-2
83ff426c53 Fix default sorting 2018-08-08 03:15:47 +02:00
Deve
3211403276 Don't use progress bar for server-only on android 2018-08-07 23:36:05 +02:00
Benau
7d17601f8a Fix 32bit random number overflow 2018-08-07 10:56:23 +08:00
Alayan-stk-2
61b56e7352 Improvements to kart selection stats bars (#3371)
* Compute acceleration efficiency instead of raw engine power

* Improve kart stats display

* Fix conflict resolution error

* Fix conflict resolution error
2018-08-06 20:50:07 -04:00
auria.mg
f1bd14c5b5 Add tooltip support on IconButtonWidget 2018-08-06 20:03:22 -04:00
Arthur-D
ae64d563e0 Update INSTALL.md (#3358)
* Update INSTALL.md

* Update INSTALL.md

Moved Git and SVN installation instructions to the wiki, and a few other small changes.
2018-08-06 19:43:52 -04:00
Deve
0f4023a39c Add a path to zlib when building curl for android 2018-08-06 23:04:40 +02:00
Benau
eef888d2b7 Fix falling effect of rescue animation in network 2018-08-07 02:36:38 +08:00
Benau
8ab2368e2d Add confirmation of kart animation for network 2018-08-07 02:26:34 +08:00
Benau
b4783d82f6 Redo the same physicial properties in server 2018-08-06 15:49:01 +08:00
Benau
93aeeda12b Fix rewind issue of rubber ball 2018-08-06 14:37:55 +08:00
Alayan-stk-2
f5a308f94b Fix list sorting (#3368)
* Manage if the sort should be default, ascending or descending from the base widget

* Update all list sorting to be in sync with the list widget sort buttons
2018-08-05 18:03:37 -04:00
Benau
c58ac1b111 Use hardcoded values for m_max_frames
Some compiler fails to load default values of UserConfigParams
during static initialization
2018-08-05 13:14:22 +08:00
Alayan-stk-2
e711f20edb Fix #3234 (#3367) 2018-08-04 21:17:38 -04:00
Alayan-stk-2
3b3990a196 Use a stable sort for replay list sorting (#3364)
* Use a stable sort for replay list sorting

* Add default multi-criteria sorting for ghost replays list
2018-08-04 20:37:29 -04:00
Benau
37f1dea312 Invert the order of saving to keep state small 2018-08-05 01:29:43 +08:00
Benau
79d1178626 Improve kart animation handling in network 2018-08-04 16:29:49 +08:00
Benau
a892988b00 Clarify password in create server screen 2018-08-04 00:32:40 +08:00
Benau
9e6ebe6097 Try to fix speedy end controller in network race 2018-08-04 00:02:52 +08:00
Benau
ce58014cab Fix compiler warning 2018-08-03 20:26:16 +08:00
Benau
4d2e79da4c Implement auto-kick high ping player (default off) 2018-08-03 19:50:49 +08:00
Benau
14475762b8 Flush all command before delete world 2018-08-03 18:36:35 +08:00
Benau
9d78173ec6 Use 32bit for server version 2018-08-03 14:01:36 +08:00
auria.mg
90073bc954 Fix karts spawning over the start line, esp. in reverse 2018-08-02 21:02:52 -04:00
Benau
8b07ec755a Disable switch and bubblegum for now in network 2018-08-03 01:28:20 +08:00
Benau
0a95900283 Clean all pending rewind event functions when exit 2018-08-03 01:26:42 +08:00
Benau
9a8d5fc667 Improve swatter in network by locally add a swat event 2018-08-02 16:37:56 +08:00
hiker
fc151bb262 Added Alayans scaled weight factors (sums now 1000 instead of 200),
which makes it easier to visualise the values.
2018-08-02 18:06:45 +10:00
hiker
b164a35d91 Fixed item distribution (signed numbers made the random number
negative, causing incorrect distribution of items).
2018-08-02 18:03:42 +10:00
hiker
0fa25db181 Removed runbber ball's time-between-ticks setting, which is not
necessary anymore after alayan's changes to item distribution.
2018-08-02 09:34:03 +10:00
hiker
46706fb109 Applied a simpler version of Alayan's change to selecting the
a random item: the computed 'random' number is now sent through
a PRNG once to avoid long sequences of picking the same item.
2018-08-01 09:55:08 +10:00
hiker
9b7f63b4ca Applied alayan's bugfix - thanks! 2018-08-01 09:55:00 +10:00
hiker
8ea8562ee6 Fixed profile mode. 2018-08-01 09:54:43 +10:00
Benau
2bb52df3c8 Split random ports (default off for server) configuration 2018-07-31 10:46:41 +08:00
Alayan-stk-2
8acd13542e Fix #3351 (#3354) 2018-07-30 20:29:31 -04:00
Benau
d203239aa2 Improve kart kart collision in network 2018-07-31 01:14:02 +08:00
Benau
4ec8a33f8c Use a correct queue to save network state 2018-07-30 19:38:10 +08:00
Benau
f49a092603 Optimize network state saving 2018-07-30 16:26:28 +08:00
Benau
a8434624a1 Optimize saving of max speed state in network 2018-07-30 15:36:16 +08:00
Benau
782e966fa5 Optimize saving of skidding state in network 2018-07-30 15:35:59 +08:00
Benau
59ebc48fe1 Don't recreate locally destroyed projectile 2018-07-30 01:56:14 +08:00
Benau
982220daf8 Fix rubber ball in network 2018-07-29 15:59:34 +08:00
Benau
3f27a04bd1 Fix plunger in network 2018-07-28 16:02:46 +08:00
Deve
fa4c640dae Merge branch 'hide-navbar' 2018-07-27 20:56:36 +02:00
Deve
52d6e93bdc Hide navbar only for android >= 4.4. 2018-07-27 20:55:31 +02:00
Deve
bd5d2f1c2a Use theme that works better with hidden navbar 2018-07-27 20:43:32 +02:00
Benau
5f90a61c3d Improve item firing sound in network 2018-07-28 01:00:41 +08:00
Benau
b0f20ca5a5 Add the remaining unreliable fragment flags 2018-07-27 22:40:28 +08:00
Benau
5d3304b1c0 Fix compiler warnings 2018-07-27 22:40:03 +08:00
Benau
d9cebc3991 Try unreliable state in network 2018-07-27 21:47:07 +08:00
hiker
4e35fe8fb8 Merge branch 'physics-tweaks' 2018-07-27 21:24:28 +10:00
Benau
f0b46d08b2 Fix swatter in network 2018-07-27 13:32:19 +08:00
Deve
ef27fdaba8 Fixed a crash on exit 2018-07-27 00:05:39 +02:00
Deve
b7a11e68ad Hide navigation bar for more comfortable playing and more screen space 2018-07-26 22:34:56 +02:00
Deve
5d9614295e Allow to handle window state events directly in main thread 2018-07-26 22:21:41 +02:00
Deve
a08cccceaa Use our copy of native app glue 2018-07-26 22:20:53 +02:00
hiker
f8acc1ad49 Added the cushioning time to the network state (to be decided later
if local state might be good enough).
2018-07-26 21:47:05 +10:00
hiker
b12205332c Changed default value of m_network_steering_reduction to -1 to make
sure we test if this value is specified in stk_config.xml.
2018-07-26 17:52:29 +10:00
hiker
84c21c4af2 Merge remote-tracking branch 'origin/master' into physics-tweaks 2018-07-26 17:47:25 +10:00
Benau
05f5663888 Save the uncompressed physics values to objects in server 2018-07-26 13:32:41 +08:00
Benau
7538f36bed Remove compiler warnings 2018-07-26 08:54:38 +08:00
hiker
007f611c10 Bugfix - NetworkPlayerController are also created on the server. 2018-07-26 10:48:06 +10:00
hiker
7ff7e049ea Merge branch 'master' of github.com:supertuxkart/stk-code 2018-07-26 10:18:30 +10:00
Benau
c69bf2b96f Split squashed timer and squashed status 2018-07-26 01:47:49 +08:00
Benau
f88ad497e9 Fix ticks time mixed up 2018-07-26 01:02:41 +08:00
Benau
c261735c2b Try to fix osx build 2018-07-25 21:42:36 +08:00
Benau
d4ca53b34e Detect incompatible binary during restore state 2018-07-25 16:15:26 +08:00
hiker
7cca534273 Added option to reduce steering of remote karts automatically each frame.
This can help in case of high latency connections and quick steering changes:
because of the high latency the steering is applied too long locally,
reducing in the other kart driving left/right way too much.
It's disabled for now (i.e. steering is multiplied by 1.0), but can be
enabled in stk_config.
2018-07-25 18:09:05 +10:00
hiker
deb6d76504 Fixed compiler warning. 2018-07-25 17:52:38 +10:00
Benau
1e53349f52 Rewind bowling and cake in network game 2018-07-25 15:33:49 +08:00
Benau
c8a50d2f49 Temporarily fix rewind queue for undo 2018-07-24 15:44:31 +08:00
Benau
4a9a0fba0f Make flyable to work with shared_ptr 2018-07-24 15:43:31 +08:00
Benau
60bfc1840b Port rewinders to use shared_ptr 2018-07-24 14:22:20 +08:00
Benau
bbf5c54f87 Use rewinder with shared_ptr for easier item destroy handling 2018-07-24 14:21:42 +08:00
Benau
6369256022 Reset rewinding manager at each online or offline game 2018-07-24 14:18:43 +08:00
Marianne Gagnon
973b29980d Fix #3347 2018-07-23 19:58:15 -04:00
hiker
1a9f0163e0 Try to fix odd behaviour of soccer ball. 2018-07-23 17:52:12 +10:00
hiker
a1ba27bc45 Try again to fix our build environment in server only mode. 2018-07-23 15:40:25 +10:00
Benau
b6c893b03e Try to fix server only build in linux 2018-07-23 13:27:14 +08:00
hiker
bda6c546d0 Merge branch 'fix-serveronly-build' 2018-07-23 13:53:10 +10:00
hiker
d18e963ea6 Added Benau's new version. 2018-07-23 12:51:59 +10:00
Benau
56b71e97ad Remove unused class 2018-07-23 08:41:59 +08:00
Benau
00a22a727a Check minimap invert for all players (required in network) 2018-07-23 08:29:37 +08:00
hiker
39e218b2dc Try to fix server-only build ... now non-server build is broken :( 2018-07-23 09:28:12 +10:00
Deve
ea13d97f6b Allow to specify minimum number of players in command line 2018-07-22 22:48:45 +02:00
Benau
a22fde85ec Correct ghost kart starting position before start 2018-07-20 19:49:06 +08:00
Benau
82b23b6c26 Fix ghost replay crashes 2018-07-20 19:23:18 +08:00
Benau
d4f7d6baaa Don't show the polling log if currently server 2018-07-20 15:46:07 +08:00
Benau
0e1a5ea285 Properly check for soccer team of players 2018-07-20 14:44:53 +08:00
Benau
2b4d062911 Try to fix the remaining ipo issues 2018-07-20 14:09:27 +08:00
auria.mg
a3a5befe63 Keep working on #3345, not there yet 2018-07-19 21:09:33 -04:00
auria.mg
f4dced8172 A few steps forward for issue #3345, more issues remain 2018-07-19 20:56:46 -04:00
Benau
c4ae3dff69 Set the min max values for each mode properly 2018-07-20 01:42:31 +08:00
Benau
1f7f64f3b5 Prevent rescuing in soccer mode to go back to self goal immediately 2018-07-20 01:36:02 +08:00
Benau
487227630f Invert x-z of position for soccer blue team player 2018-07-20 01:06:11 +08:00
hiker
b4a4de74bb Merge remote-tracking branch 'origin/master' into physics-tweaks 2018-07-19 18:39:55 +10:00
Benau
f124bd9df3 Don't allow the game to start if all players joined red or blue team 2018-07-19 15:50:01 +08:00
Benau
639883ca48 Display the number of players required to start a game for owner-less server 2018-07-19 15:26:15 +08:00
Benau
4ccb405cd1 Add exception handling in handlePendingConnection 2018-07-19 14:48:50 +08:00
Benau
7ebd1fabd9 Add exception handling to prevent player hacking network string 2018-07-19 14:23:35 +08:00
Benau
00712c5c6d Fallback to goal target if not specified in command line 2018-07-19 09:24:13 +08:00
hiker
6bf1a59579 Fixed compiler warning. 2018-07-19 09:56:15 +10:00
hiker
53d2bc3b8e Made restitution configurable (depending on speed of kart). 2018-07-19 09:55:24 +10:00
Deve
285b4701d6 Revert "Revert "Fixed multitouch device after some modifications in player controller""
This reverts commit d14916dec2.
2018-07-18 21:32:36 +02:00
Benau
1ba361ae23 Reset track objects during onGo when race start for network 2018-07-19 01:55:05 +08:00
Benau
1d7a9e9465 Prevent negative time in network soccer when finishing 2018-07-19 01:17:52 +08:00
Benau
6423925718 Hide the low-level extra server info from command line 2018-07-19 01:08:26 +08:00
Benau
b7569635a0 Load LOD models required by phyiscal moveable objects for server only 2018-07-19 00:51:04 +08:00
Benau
5e7ec89002 Fix more override warnings 2018-07-19 00:35:56 +08:00
Benau
d14916dec2 Revert "Fixed multitouch device after some modifications in player controller"
This reverts commit b359a3387f.

The original controller handling is brought back
2018-07-19 00:26:29 +08:00
Benau
252505a59f Merge remote-tracking branch 'origin/master' into local_state 2018-07-19 00:25:00 +08:00
Benau
1be9e4fdc4 Remove unsuitable tracks for each game mode during setup 2018-07-19 00:03:09 +08:00
Benau
c5cdfcebfe Finish soccer mode in network 2018-07-18 16:37:09 +08:00
Benau
d5168691e1 Dont't send item event confirmation if empty state 2018-07-18 13:33:37 +08:00
Benau
59f1fdf250 Take controller event into account for connection debug 2018-07-18 13:31:38 +08:00
Benau
f5230e30aa Use the original way to save controller event
And save more locally for network state
2018-07-18 13:10:44 +08:00
hiker
fcc1ab3abe Test to change restitution based on speed, to avoid huge push-into-air
after certain high speed collisions.
2018-07-18 09:39:19 +10:00
hiker
c01622a5d7 Avoid cushioning a kart more than once per second. This helps
avoiding the hovering effect (a kart is cushioned, moves forwards
on a downward slope, cushioned again, ...).
2018-07-17 09:31:14 +10:00
Benau
5c6de6d0fa Increase quaternion compressed precision
After dropping the largest value, the rest 3 are guaranteed not
larger than 1 / sqrtf(2), given normalized quaternion
2018-07-16 12:13:31 +08:00
Benau
fc563cc678 Add useLocalEvent in rewind manager 2018-07-16 01:00:13 +08:00
Benau
511d8dd7a8 Port kart animation rewind to RewindInfoEventFunction 2018-07-16 00:35:33 +08:00
Benau
f2d5b32fa6 Add RewindInfoEventFunction for functional rewind 2018-07-16 00:32:58 +08:00
Benau
e0ada8d6d1 Fix soccer ai stats 2018-07-15 15:20:55 +08:00
Benau
30ceb7dd4a Make smoothing variable configurable 2018-07-15 12:49:07 +08:00
Benau
b979d0db71 Fix change team icon path 2018-07-14 15:55:03 +08:00
Benau
06bcb13590 Allow changing soccer team in lan or private servers 2018-07-14 15:16:54 +08:00
Benau
c72db7099d Synchronized random arena item in network game 2018-07-14 08:11:35 +08:00
Deve
a1168d49db Minor fix for more consistency in android make script 2018-07-14 00:03:09 +02:00
Deve
b359a3387f Fixed multitouch device after some modifications in player controller 2018-07-13 23:50:40 +02:00
Benau
9fbfe0588f Make network tracks screen usable for all game modes 2018-07-14 00:40:53 +08:00
Benau
49d7a2fbbc Use count up ticks on rewinding for time limit in soccer game 2018-07-13 23:34:50 +08:00
Benau
724828b031 Don't adjust vertical offset for phyiscial objects 2018-07-13 22:06:13 +08:00
Benau
23e5dace40 Allow starting soccer mode in network with goals limit 2018-07-13 21:29:26 +08:00
Benau
0cee131b9f Add positional smoothing for physical objects in network 2018-07-13 20:27:37 +08:00
Benau
1333fe2d19 Use minimum size for uid of rewinder 2018-07-13 15:05:07 +08:00
Benau
ef65d70f77 Compress physical object state 2018-07-13 13:46:15 +08:00
Benau
5330951842 Improve compress quaternion by only dropping the largest value out of 4 2018-07-13 12:56:55 +08:00
Benau
565dfcef96 Only send state for moving track object 2018-07-13 10:47:30 +08:00
Benau
ab528e2840 Add a unique identity to each rewinder 2018-07-12 12:41:06 +08:00
Benau
99659e8021 Initial work on dynamic physics object rewind 2018-07-12 09:05:26 +08:00
Benau
7e2d25d4a9 Disable in game menu to avoid timer desync if not racing in network game 2018-07-12 07:16:37 +08:00
Benau
11d9090039 Add initial kart local state saving with correct attachment rewind 2018-07-12 07:08:02 +08:00
Deve
ec25a9d368 Enable screen keyboard on android even if there is no touch device.
It may be still useful for gamepad.
2018-07-11 22:41:22 +02:00
Deve
30b1799b6e Fixed minor bug in android build script 2018-07-11 21:35:40 +02:00
Deve
e0d262bfdd Allow to use screen keyboard even if hardware keyboard is available 2018-07-11 21:02:24 +02:00
Benau
8515805d52 Add initial framework for local state saving 2018-07-11 15:40:36 +08:00
Benau
a8959f604c Fix crash when in-game menu opened when going to result screen in network game 2018-07-11 15:37:55 +08:00
Benau
db8a92a2d6 Fix getifaddrs leaking 2018-07-11 13:49:01 +08:00
Benau
908735b1b1 Remove local state saving at t = 0
A proper same frequency local state saving for client will come later
2018-07-11 13:29:30 +08:00
Benau
b537df54fc Move scripting update to updateGraphics 2018-07-11 11:08:53 +08:00
Benau
3b2acf01eb Add m_disable_sending_log to request to hide logging for server polling 2018-07-11 10:56:28 +08:00
Benau
bce888ec26 Always highest geometry level in network game 2018-07-11 09:06:49 +08:00
Deve
ed8b5e9f76 Allow to set different path for log files 2018-07-11 00:31:30 +02:00
Deve
b531858ddb Fixed sound on android 2018-07-10 22:23:22 +02:00
Deve
b5c3910fe8 Fixed android x86 compilation.
Ugly, but there is no better solution atm.
2018-07-10 21:22:14 +02:00
Deve
9190847aa3 Close screen keyboard before race is started 2018-07-10 21:22:14 +02:00
Benau
621a718d27 Switch to assign mode in case a player hasn't chosen any karts 2018-07-11 01:41:43 +08:00
Benau
2d6c45f65e Fix attachment rewind with passing bomb 2018-07-11 01:36:20 +08:00
Deve
c76f48c701 Require enet >= 1.3.4.
It's needed for enet_peer_ping_interval()
2018-07-09 22:33:14 +02:00
Deve
68d43734cd Fixed compilation with older compilers 2018-07-09 21:40:52 +02:00
Deve
8885119974 Don't crash if some textures are missing 2018-07-08 23:00:16 +02:00
Benau
8a25edf2cc Use has_animation_before to avoid immediately rescue from previous material 2018-07-08 16:23:39 +08:00
Benau
35e2916981 Add the missing calculation for ipo constructor 2018-07-08 15:29:15 +08:00
Benau
3347cac92d Make track object with ipo animation depend on world up ticks 2018-07-08 14:08:33 +08:00
Benau
e67f0db7c1 Reset all actions in suitable function for local game restart 2018-07-08 13:58:19 +08:00
Benau
17d1bddf0d Don't re-update scripting engine during rewind 2018-07-08 12:58:57 +08:00
Benau
0fa444fbbf Add isNetworking scripting function to disable some track object 2018-07-08 11:57:37 +08:00
Benau
f0c376a41d Always push a screen in server only build to fix getCurrentScreen crash 2018-07-08 09:26:22 +08:00
Deve
aa0a51c31a Fixed angelscript compilation with 32bit gcc 2018-07-07 23:36:02 +02:00
Benau
b6edc0d93f Add --disable-polling for hosting multiple servers on 1 machine
Only 1 instance of STK server needs keep polling the addon server,
the rest can be run with the above option
2018-07-07 12:50:04 +08:00
Benau
efd20966e4 Fix #3066 by make sure cert location is handled in main thread 2018-07-07 12:33:30 +08:00
Benau
21ccf587c3 Add --init-user for server owner to save player profile without gui 2018-07-07 12:32:06 +08:00
Benau
21842f78d8 Fix leaking dummy sfx buffer 2018-07-07 10:56:11 +08:00
Benau
622f46d95a Properly use the ENABLE_SOUND flag 2018-07-07 10:43:05 +08:00
Benau
02fea1ee43 Disable sound code in server only build and rename the flag 2018-07-07 09:48:43 +08:00
Benau
4099afb25f Remove image related code and library dependencies in server only build 2018-07-07 09:27:39 +08:00
Benau
a60b2d3761 Remove freetype in server only build 2018-07-07 02:06:49 +08:00
Benau
00db1f8405 Turn wii cmake flag into a dependent option 2018-07-07 01:58:19 +08:00
Benau
9c3aae554e Remove fribidi and tinygettext in server only build 2018-07-07 01:22:26 +08:00
Benau
106d4c3c08 Fix #3340 2018-07-07 00:25:08 +08:00
Benau
8e449750c8 Correct help for networking 2018-07-07 00:02:32 +08:00
Benau
d184c82daa Fix #3341 2018-07-06 23:50:16 +08:00
Benau
8931d90813 Merge remote-tracking branch 'origin/master' into curved 2018-07-06 23:49:04 +08:00
Benau
80178ba695 Fix camera offset 2018-07-06 23:43:30 +08:00
Benau
7a1355d415 Use smoothed transformation in minimap 2018-07-06 22:40:57 +08:00
Benau
1efce9ae29 Fix penalty in networking 2018-07-06 22:24:32 +08:00
Benau
c437fcc513 Split jump time update to graphical for skidding 2018-07-06 21:40:41 +08:00
Benau
3f47c650e8 Allow smoothing for skidmarks 2018-07-06 19:01:13 +08:00
Benau
d6c3c825aa Add an up offset on skidmarks for uneven terrain 2018-07-06 18:30:22 +08:00
Benau
8071865a07 Use a separate smoothing timer for steering 2018-07-06 17:44:50 +08:00
Benau
a76a6e3508 Use smoothed transform to raycast the skidmark quads 2018-07-05 14:22:37 +08:00
Benau
e50029b707 Use smoothed transform directly for shadow 2018-07-05 11:21:41 +08:00
Benau
0a020210e5 Fix quaternion slerp 2018-07-05 11:16:45 +08:00
Deve
4f2b538399 Fixed pause dialog on touch device when end controller is used 2018-07-04 21:52:08 +02:00
Benau
d6672b64c5 Don't use 0 host id for starting 2018-07-05 01:37:50 +08:00
Benau
7caad2905e Add smoothing for steering percent 2018-07-04 16:22:09 +08:00
Benau
ad773089a5 Fix the rotation smoothing 2018-07-04 15:14:20 +08:00
QwertyChouskie
c4f0a71ef0 Add macOS to travis builds, fix server-only builds on macOS, msc. fixes (#3339)
* Use thread number from Travis docs
The other number is probably incorrect.
See https://github.com/travis-ci/travis-ci/issues/4696

* Add macOS to travis builds

* Remove unnecessary libraries
Not sure why these were added in the first place.
First commit that added them: 6aecb42e42

* Fix server-only build on macOS
2018-07-03 19:37:57 -04:00
Benau
e1dfe2e7e0 Show ping of remote players in lobby 2018-07-04 00:54:40 +08:00
Benau
a44ce60991 Send our own reliable packet for a more accurate ping 2018-07-03 14:20:35 +08:00
Benau
de8730dbfc Preload some textures to avoid game hangs 2018-07-03 09:23:58 +08:00
Deve
872f214c41 Fixed a crash when using rubber band in legacy pipeline.
Fixes #3338
2018-07-02 21:41:48 +02:00
Benau
7174e4070c Use 8 maximum players in network games 2018-07-03 00:47:31 +08:00
Benau
8c53296290 Disable the unneeded time adjust 2018-07-02 16:38:11 +08:00
Benau
674faad226 Fix #3259 2018-07-02 15:40:27 +08:00
Benau
211b107955 Make sure we don't send controller event if updateRace is too slow 2018-07-02 11:20:46 +08:00
Deve
0518d422c6 Fixed compilation 2018-07-01 22:57:48 +02:00
Benau
172a86192f Remove debug output 2018-07-01 14:34:02 +08:00
Benau
d3f7cb7999 Move ticks adjustment to main_loop 2018-07-01 14:31:42 +08:00
QwertyChouskie
b4ef263cc9 Update macOS instructions (#3335)
* Update macOS instructions

Thanks @OzoneOne for testing this.

* Fix issues

Also remove 0.9.3-and-below-only Xcode build instructions, was "much less well tested" anyways.

* Revert unnecessary change, more tweaks

* Remove extra newline
2018-06-30 19:30:33 -04:00
Benau
75c8864e8f Fix nitro in network 2018-06-29 12:17:24 +08:00
Benau
16cebffa3a Move more kart g/sfx handling to updateGraphics 2018-06-27 16:41:15 +08:00
Benau
9752d4849b Don't update slipstream and jump animation in rewind 2018-06-27 15:30:00 +08:00
Deve
22124ae11f Don't display English twice on the languages list 2018-06-26 22:50:05 +02:00
Deve
34c335b05e Handle wrong line endings in localized_name file.
Fixes #2795
2018-06-26 21:26:43 +02:00
hiker
cdfdab7db3 Added documentation, and properly #ifdef'ed cushioning debug output. 2018-06-26 17:21:22 +10:00
hiker
12095d6fcd Try different way of cushioning - documentation is still msissing,
only for testing.
2018-06-26 10:36:38 +10:00
Deve
ddd63771be Avoid empty header in edit gp screen.
Fixes #3329
2018-06-25 23:38:30 +02:00
Benau
295568560b Make m_num_wheels_on_ground update after rewind 2018-06-25 16:34:46 +08:00
Benau
bd5381dad7 Buffer all inputs until last frame ticks 2018-06-25 11:57:18 +08:00
Deve
e7d07f4537 One more check for tbo 2018-06-24 01:31:02 +02:00
Deve
096a5b2420 Fixed server-only compilation 2018-06-23 00:20:31 +02:00
Deve
5549229310 Add a graphics restriction for nouveau.
Fixes #3058
2018-06-22 23:59:44 +02:00
Deve
9ad3ba1fe2 Allow to use skinning without tbo 2018-06-22 23:48:00 +02:00
hiker
01adee6fb4 Merge remote-tracking branch 'origin/master' into physics-tweaks 2018-06-22 21:56:47 +10:00
Benau
d68111af51 Pass timeout to enet other than unconditional sleep 2018-06-22 13:27:37 +08:00
Alayan-stk-2
fee6866c6d Navigation improvements (#3325)
* Don't focus empty lists and ribbons

* Don't navigate to deactivated children of a ribbon

* Clarify log message
2018-06-21 20:44:35 -04:00
Alayan-stk-2
ebc7940985 New options menu (#3323)
* Updated options UI file, new icon for language tab

Also updates the license file.

* Update the options screens to support the new layout

And add a language change screen.

* Don't overwrite the updates which happened in master.

* Add missing (new) password reset button

* Focus the list of actions binding rather than the tabbar in device options
2018-06-21 19:50:16 -04:00
hiker
991dc00049 Moved hsitory replay handling into physics loop to make sure we
get identical replay independent of frame rate (otherwise input
might get delayed by a few frames).
2018-06-21 19:33:20 +10:00
hiker
526482bab4 Removed unused variable. 2018-06-21 19:32:09 +10:00
hiker
a40da718b8 Try different physics setting to improve collision handling. 2018-06-21 12:38:13 +10:00
Alayan-stk-2
1025bfe298 New help menu (#3322)
* Add vertical tabs to ribbon widget types

* Update GUI engine for vertical tabs

* New icons for the help menu

The slipstream icon is not great, it's here to have something now. It should be replaced by something better looking and more in STK's visual style.

* Updated help GUI

The git changelog is a bit misleading here, because the order of the items in the help menu has been revised too.

1)General (same)
2)Game modes (before : 3)
3)Powerups (before : 2)
4)Bananas (before : 5)
5)Story Mode
6)Kart classes
7)Multiplayer

* Update help screen code to handle the additional tabs

The hugely repetitive structure of one cpp/hpp per tab is kept here.

* Optimized version of new icons

Except for the slipstreaming one, as it should be replaced by a better one anyway.
2018-06-20 20:57:40 -04:00
hiker
bca11b98fb Decode the solver-mode only once instead of at every race start. 2018-06-21 10:20:22 +10:00
hiker
2399946301 Fixed line ending style. 2018-06-21 09:18:41 +10:00
Alayan-stk-2
e6a0f821a9 Reduce dark background artifacts (#3324)
* Improve quality following Benau's observation

* Improve darker background quality
2018-06-20 22:16:28 +02:00
Benau
72fdfe1ac3 Merge remote-tracking branch 'origin/master' into curved 2018-06-21 01:14:38 +08:00
Benau
4d680c27f4 Fix kart animation in networking 2018-06-21 01:14:26 +08:00
hiker
326ef82e90 Fixed line ending style. 2018-06-21 00:34:46 +10:00
hiker
ec6b611a94 Merge remote-tracking branch 'origin/master' into physics-tweaks 2018-06-21 00:33:29 +10:00
hiker
4903252931 Merge branch 'master' of github.com:supertuxkart/stk-code 2018-06-21 00:32:28 +10:00
hiker
2c0d47e511 Made some solver parameters configurable in stk-config. 2018-06-21 00:31:51 +10:00
Alayan-stk-2
be98a6c4c3 Add vertical tabs (#3314)
* Add vertical tabs to ribbon widget types

* Update GUI engine for vertical tabs

* Add the ability to get a ribbon's active children number

* Add full looping for vertical tabs
2018-06-19 21:00:10 -04:00
Alayan-stk-2
750320fbeb Fix the previous number of points being 0 after relaunching STK (#3320)
* On launch, also update the number of previous points so it is not 0

* Do the first call after the loading of the challenges status

* Remove prints
2018-06-19 20:20:21 -04:00
QwertyChouskie
5d34488adc Donate and reset password buttons (#3252)
* First version of donation link and password reset buttons
The register screen still needs to be tweaked, though the GUI engine seems to be limted here.
Maybe dynamicly delete/re-create the widget?

* Fix mingw compilation

* Remove dead code

* minor cleanup

* Error handling, tweaks

* Fix ifdef for macOS

* Disable donate button on Android

* Use stk-config

* Implement LinkHelper::isSupported, fixes
2018-06-19 19:59:54 -04:00
hiker
5a74ed92e6 Fixed compiler warnings, and many coding style issues. 2018-06-20 08:22:23 +10:00
Alayan-stk-2
205d4b5626 Fix start/exit buttons not working in networking lobby (#3318) 2018-06-19 22:54:16 +02:00
Deve
c889503d7b Fixed wrong comment 2018-06-19 21:59:09 +02:00
Alayan-stk-2
e7f3f2b969 Fix #3316 (#3317) 2018-06-19 21:50:20 +02:00
Deve
b430a0e5bf Huge improvement of apk file size thanks to Alayan.
The apk is now 20 MB smaller.

It may need some testing to see if there are no artifacts, but as far as I see there is no difference in quality.
2018-06-19 21:40:26 +02:00
Alayan-stk-2
4cb6ea4871 Optimize image size in the GUI folder (#3315)
* Optimize image size in GUI, save 1.2 MB

* Optimize android GUI images

* Optimize networking menu images
2018-06-19 19:19:24 +02:00
hiker
8428603150 Removed exec permission (I need to get that #*$*#$* issue fixed). 2018-06-19 18:38:52 +10:00
hiker
e6417bcf03 Merge remote-tracking branch 'origin/master' into STK-helper-ItemWeights 2018-06-19 18:30:19 +10:00
hiker
60c9994e29 Fixed documentation and typo, thanks to Alayan. 2018-06-19 18:27:33 +10:00
hiker
714665f444 Improved 'randomness' of item selection while keeping exploitability
very low. Added documentation, moved item-distribution logging to
get more detailed information.
2018-06-19 10:19:10 +10:00
hiker
46b62de07e Fixed compiler warning. 2018-06-19 09:19:32 +10:00
Alayan-stk-2
3450984c3e Multi directional GUI navigation (#3307)
* Allow full up/down/left/right navigation

* Update list and ribbon widgets to work well with the new navigation

* Fix windows compilation

* Improve navigation algorithm to fix the observed limitations

* Make windows compilator happy

* Fix keyboard navigation issues in networking lobby

And make some parts more proportional to screen size
2018-06-18 19:08:34 -04:00
Alayan-stk-2
bd16045525 New dark skin (coal) (#3293)
* License for new coal skin

* Coal skin elements

* New coal skin

* Better contrast for coal skin select

* Lighter white text.

* Improved contrasts for actionable UI elements

* Make the theme back to a darker background while improving contrast again

* Ranking formula refinements (#3288)

* Reduce the maximum scaling time from 600s to 500s

8m20s is already much longer than nearly all ranked races will be, so it matters most for eliminated players. It would be too punishing if kept to 600 with the new time scaling method.

* New helper function for ranking computations

* Make short races less important for ranking points

And long races more important

* Use double for calculation

* Fix as alayan suggested

* Fix possible empty race event manager instance

* Show remote player in the past

* Allow to set commandline arguments on android

* Fix #3242

* More on #3242

* FIx #2912

* Better checkboxes (#3291)

* Better checkboxes for forest skin

* Better checkboxes for ocean skin

* Better checkboxes for peach skin

* Better checkboxes for ruby skin

* Try to create external/internal directory if it's not available.

Typically it always exists on new phones, but I didn't find any information if it's guaranteed to exist and it's missing on my old phone.

* Always set blend func in GLES 2.0.

It's often changed in STK engine and the value stored in irrlicht variable may be invalid.

Fixes #3296

* Avoid a crash when user name is empty

* Unlock cutscene improvements (#3298)

* Don't display unlocked features out of screen when there are 4 to 6-7

And more regular spacing between them

* Remove outdated workaround

* Store the previous number of story mode point

* Allow to get the previous points from player profile

* Fix points estimation for finding unlocked tracks

- Updated to reflect that the player's points are now updated before this function
- Use the real previous number of points rather than trying to estimate the point change (otherwise, the points computation method would have to be duplicated here to not have a bug with GPs who give more points than single race challenges).

* Fix #3100 (#3299)

* Fix #3100

* Fix server only compilation

* Fix stupidly long line full of whitespace (#3303)

* Don't use pkg-config on macOS

Fixes #3305

* Fix #3309

* Great improvements to skin data (#3312)

* Add vertical tab support and get common files from a common folder

* License file for the common folder

* UI images shared by all 4 colored themes

* Delete redundant pictures

* Delete background.jpg

* Delete dialog.png

* Delete glassbutton_deactivated.png

* Delete glasscheckbox_checked_deactivated.png

* Delete glasscheckbox_deactivated.png

* Delete glass_rsection.png

* Delete glass_section.png

* Delete glassspinner.png

* Delete glassspinner_deactivated.png

* Delete glass_square_focused_bw.png

* Delete left_arrow.png

* Delete list_sort_down.png

* Delete list_sort_up.png

* Delete rating_star.png

* Delete right_arrow.png

* Delete scrollbar_bg.png

* Delete scrollbar_btn.png

* Delete table_header.png

* Delete tooltip.png

* Optimize image size and add vertical tabs

* Optimize image size and add vertical tabs for ocean skin

* The multiplayer colored squares are also shared

* Use the multiplayer colored squares from common

* Remove more redundant skin images

* Delete glass_square1.png

* Delete glass_square2.png

* Delete glass_square3.png

* Delete glass_square4.png

* Delete glass_square_focused.png

* Delete glass_square_focused2.png

* Delete glass_square_focused3.png

* Delete glass_square_focused4.png

* Optimize image size and add vertical tabs for peach skin

* Optimize image size and add vertical tabs for forest skin

* Special focus halo for ruby skin

Currently, the halo used in single player is shared with the one used for the first player in local multiplayer, despite the color of the top spinner widget not matching in this situation.

Better having this mismatch that a not-so-great halo in single-player.

I put it in common as it may be reused for multiplayer focus by other skins.

* Use pink selection halo

* Put the bottom bar among skinnable UI images

* Make the bottom bar part of the skins

* Coding style fix

* Delete bar.png

* Load bottom bar texture from skin rather than gui folder

Also rename bg_image to m_bg_image

* Move black focus halo to the common folder

* Remove duplicate image, use common folder

* Delete glass_square1.png

* Delete glass_square2.png

* Delete glass_square3.png

* Delete glass_square4.png

* Delete glass_square_focused.png

* Delete glass_square_focused2.png

* Delete glass_square_focused3.png

* Delete glass_square_focused4.png

* Delete glass_square_focused_bw.png

* Delete left_arrow.png

* Delete rating_star.png

* Delete right_arrow.png

* Delete list_sort_down.png

* Delete list_sort_up.png

* Delete glassbutton_deactivated.png

* Delete glasscheckbox_deactivated.png

* Delete glassspinner.png

* Delete glassspinner_deactivated.png

* Delete scrollbar_bg.png

* Delete scrollbar_btn.png

* Delete tooltip.png

* Delete glasscheckbox_checked_deactivated.png

* Use common folder, support vertical tabs, and small tweaks

* Optimize image size, add vertical tabs, add custom bottom bar
2018-06-18 19:02:35 -04:00
Deve
2e3ae1c3f8 Allow to set min and max drivers version in graphics restrictions 2018-06-18 22:32:41 +02:00
hiker
2859265545 Applied Alayan's fix for properly handling weight 0, some minor
other fixes, added two unit tests.
2018-06-18 22:24:52 +10:00
hiker
7c6d3c9e42 Fixed compiler warnings. 2018-06-18 18:19:29 +10:00
Benau
cfbdc30c6b Normalize the rotation before slerping 2018-06-18 13:59:35 +08:00
Benau
6eb7bf6bba Move camera update to update graphics 2018-06-18 13:36:56 +08:00
hiker
296bd89129 Replaced tabs with white-spaces 2018-06-18 15:13:36 +10:00
hiker
41ed9fc332 Removed execute permission. 2018-06-18 13:55:55 +10:00
Alayan-stk-2
2fbcd73c93 Great improvements to skin data (#3312)
* Add vertical tab support and get common files from a common folder

* License file for the common folder

* UI images shared by all 4 colored themes

* Delete redundant pictures

* Delete background.jpg

* Delete dialog.png

* Delete glassbutton_deactivated.png

* Delete glasscheckbox_checked_deactivated.png

* Delete glasscheckbox_deactivated.png

* Delete glass_rsection.png

* Delete glass_section.png

* Delete glassspinner.png

* Delete glassspinner_deactivated.png

* Delete glass_square_focused_bw.png

* Delete left_arrow.png

* Delete list_sort_down.png

* Delete list_sort_up.png

* Delete rating_star.png

* Delete right_arrow.png

* Delete scrollbar_bg.png

* Delete scrollbar_btn.png

* Delete table_header.png

* Delete tooltip.png

* Optimize image size and add vertical tabs

* Optimize image size and add vertical tabs for ocean skin

* The multiplayer colored squares are also shared

* Use the multiplayer colored squares from common

* Remove more redundant skin images

* Delete glass_square1.png

* Delete glass_square2.png

* Delete glass_square3.png

* Delete glass_square4.png

* Delete glass_square_focused.png

* Delete glass_square_focused2.png

* Delete glass_square_focused3.png

* Delete glass_square_focused4.png

* Optimize image size and add vertical tabs for peach skin

* Optimize image size and add vertical tabs for forest skin

* Special focus halo for ruby skin

Currently, the halo used in single player is shared with the one used for the first player in local multiplayer, despite the color of the top spinner widget not matching in this situation.

Better having this mismatch that a not-so-great halo in single-player.

I put it in common as it may be reused for multiplayer focus by other skins.

* Use pink selection halo

* Put the bottom bar among skinnable UI images

* Make the bottom bar part of the skins

* Coding style fix

* Delete bar.png

* Load bottom bar texture from skin rather than gui folder

Also rename bg_image to m_bg_image
2018-06-17 21:40:01 -04:00
hiker
8d12c5aa07 Updated changelog and credits. 2018-06-18 08:54:11 +10:00
hiker
34bfb2d868 Simplified loop structure, fixed other minox code issues. 2018-06-18 08:47:31 +10:00
hiker
de44b2aaf9 Made configuration files with missing or too many entries abort STK. 2018-06-18 08:14:30 +10:00
Benau
c58119be87 Smooth shadow and skidmarks for remote players 2018-06-18 00:10:49 +08:00
Benau
3b4353a2c9 Add curved smoothing for moveable in network 2018-06-18 00:06:32 +08:00
hiker
48aca2f70f Started to address comments from the reviewer. 2018-06-17 23:48:47 +10:00
hiker
8cf52b4c7c Updated documentation. 2018-06-17 11:43:35 +10:00
hiker
6bcd1b4c58 Merge remote-tracking branch 'origin/master' into STK-helper-ItemWeights 2018-06-17 01:05:07 +10:00
hiker
5207e9a38b Improved implementation of powerup collection weight. 2018-06-17 01:03:37 +10:00
hiker
87da438bf3 Fixed comment. 2018-06-17 01:01:44 +10:00
Benau
e8c4f74a20 Revert "Show remote player in the past"
Use a proper smoothing for all players later
2018-06-16 14:08:02 +08:00
Benau
bd6492f5cf Fix #3309 2018-06-16 13:55:20 +08:00
Deve
e14ea99acd Don't use pkg-config on macOS
Fixes #3305
2018-06-15 21:06:29 +02:00
Alayan-stk-2
96a07be6bc Fix stupidly long line full of whitespace (#3303) 2018-06-13 19:46:20 -04:00
Alayan-stk-2
e4b131fc78 Fix #3100 (#3299)
* Fix #3100

* Fix server only compilation
2018-06-13 19:43:18 -04:00
Alayan-stk-2
aee9e7ffa1 Unlock cutscene improvements (#3298)
* Don't display unlocked features out of screen when there are 4 to 6-7

And more regular spacing between them

* Remove outdated workaround

* Store the previous number of story mode point

* Allow to get the previous points from player profile

* Fix points estimation for finding unlocked tracks

- Updated to reflect that the player's points are now updated before this function
- Use the real previous number of points rather than trying to estimate the point change (otherwise, the points computation method would have to be duplicated here to not have a bug with GPs who give more points than single race challenges).
2018-06-12 20:36:33 -04:00
Deve
7d9adf5b93 Avoid a crash when user name is empty 2018-06-12 23:01:13 +02:00
Deve
e44266b526 Always set blend func in GLES 2.0.
It's often changed in STK engine and the value stored in irrlicht variable may be invalid.

Fixes #3296
2018-06-12 22:25:46 +02:00
Deve
19736c2a51 Try to create external/internal directory if it's not available.
Typically it always exists on new phones, but I didn't find any information if it's guaranteed to exist and it's missing on my old phone.
2018-06-11 22:23:48 +02:00
Alayan-stk-2
be5b389d94 Better checkboxes (#3291)
* Better checkboxes for forest skin

* Better checkboxes for ocean skin

* Better checkboxes for peach skin

* Better checkboxes for ruby skin
2018-06-11 22:02:46 +02:00
auria.mg
81aedd6582 FIx #2912 2018-06-10 19:09:36 -04:00
auria.mg
e9becd283b More on #3242 2018-06-10 18:57:25 -04:00
auria.mg
fc89a1c244 Fix #3242 2018-06-10 18:45:37 -04:00
Deve
90f3a2389e Allow to set commandline arguments on android 2018-06-10 23:25:51 +02:00
Benau
e823babb90 Show remote player in the past 2018-06-09 20:16:56 +08:00
Benau
f329314bf6 Fix possible empty race event manager instance 2018-06-09 19:04:15 +08:00
Benau
6433e1eae0 Fix as alayan suggested 2018-06-09 18:57:26 +08:00
Benau
9133275677 Use double for calculation 2018-06-09 18:53:44 +08:00
Alayan-stk-2
7c14fd28ba Ranking formula refinements (#3288)
* Reduce the maximum scaling time from 600s to 500s

8m20s is already much longer than nearly all ranked races will be, so it matters most for eliminated players. It would be too punishing if kept to 600 with the new time scaling method.

* New helper function for ranking computations

* Make short races less important for ranking points

And long races more important
2018-06-09 08:43:19 +00:00
Deve
05572b0084 Disable addons manager for server-only build.
No need to spam with downloading icons for add-ons.
2018-06-09 00:38:10 +02:00
Deve
68f8d524df Update ubuntu dependencies.
Fixed "ibogg" typo.
2018-06-08 23:08:25 +02:00
Deve
fe322d1209 Move building instructions to separate file 2018-06-08 22:54:22 +02:00
jpenguin
1e85e74219 Fedora deepedency installation (#3282)
* Update README.md

Fedoraa dependency instructions

* Update README.md

* Update README.md

changed fedora dependencies to match *buntu ones
2018-06-08 22:50:01 +02:00
Benau
d9ede4f213 Add state to avoid deadlock when finishing the race 2018-06-08 22:59:07 +08:00
Benau
9af27d93c4 Remove unneeded header 2018-06-08 14:56:49 +08:00
Benau
01dc948247 Fix #3286
In the future move trigger to check structure
2018-06-08 14:31:55 +08:00
Benau
b9bf3fa125 Use map to store peer and ticks in network item manager 2018-06-08 14:24:21 +08:00
hiker
8a534bb795 Fixed missing collisions. 2018-06-08 15:28:44 +10:00
hiker
6496289707 Added missing virtual destructor. 2018-06-08 15:28:38 +10:00
hiker
ea229b4e5e Merge branch 'ItemWeights' of git://github.com/STK-helper/stk-code into STK-helper-ItemWeights
A very rough merge to solve conflicts, not expected to even work.
2018-06-08 15:03:27 +10:00
Benau
843ecfcbc0 Add --connection-debug for verbose packet logging 2018-06-08 12:12:59 +08:00
Benau
e674f2d091 Make sure no weak ptr expires when calculating ranking 2018-06-08 11:04:58 +08:00
auria.mg
1dcb8d3db6 Tweak message queue fix 2018-06-07 21:52:42 -04:00
auria.mg
aa64f40f26 Fix text overlapping icon in message queue 2018-06-07 21:48:31 -04:00
hiker
9c6b17aeba Merge branch 'master' of github.com:supertuxkart/stk-code 2018-06-08 11:00:14 +10:00
hiker
cd80101bdf Removed execute permission (for unknown reasons VS makes source files
executable when it saves them).
2018-06-08 10:59:13 +10:00
hiker
e05990bc1c Fixed compilation problem. 2018-06-08 10:55:45 +10:00
hiker
b0da0f640a Merge remote-tracking branch 'origin/master' into network-items,
fixed conflicts.
2018-06-08 10:55:14 +10:00
hiker
d966962ca3 Avoid crash (that likely only happens when debugging). 2018-06-08 09:27:02 +10:00
auria.mg
729d7c9b3e Fix pot, another attempt 2018-06-07 19:19:04 -04:00
auria.mg
3cfe0e41c6 Update pot 2018-06-07 18:59:20 -04:00
Deve
4db01b3c24 Avoid skipping soccer setup screen when using gamepad 2018-06-07 23:17:47 +02:00
Deve
4efafe5b2f Set focus when opening addons loading dialog 2018-06-07 22:55:00 +02:00
Deve
d2806161bb Allow to exit soccer setup screen with cancel button 2018-06-07 22:04:23 +02:00
Alayan-stk-2
0b5d68d1d1 Fix #3280 (#3284) 2018-06-07 20:43:09 +02:00
Benau
495b80fb04 Remove newline from translation 2018-06-08 01:29:06 +08:00
Benau
9a32c075eb Use ngettext as translator suggests 2018-06-08 01:26:56 +08:00
Benau
5b62d03323 Fix wrong formula
Alayan said: +25% and +15s
2018-06-08 01:15:28 +08:00
Benau
304787f106 Remove unneeded translation in server lobby 2018-06-07 16:09:48 +08:00
Benau
9f6c87a636 Fix cornfield crossing network play 2018-06-07 15:31:13 +08:00
Benau
785aaf7647 Add auto end network game (implicitly on for ranked server) 2018-06-07 14:28:06 +08:00
auria.mg
53156a3a07 Update pot 2018-06-06 20:49:16 -04:00
Benau
5a5bdbe851 Remove duplicated id 2018-06-07 08:43:26 +08:00
Benau
96b27e427c Use a simpler english 2018-06-07 08:32:47 +08:00
Deve
6effdeced4 Avoid a crash in debug menu 2018-06-06 22:19:14 +02:00
Deve
a39c934d2b Fade background when general text field dialog is opened.
Fixes #3240
2018-06-06 22:11:10 +02:00
Benau
5e3a482588 Let player connecting in the middle of count down know 2018-06-07 01:34:25 +08:00
hiker
78133114ca Try to fix shaking in network mode when skidding. 2018-06-07 01:12:45 +10:00
Benau
644d1b1521 Allow specify motd with .txt file 2018-06-06 16:14:49 +08:00
Benau
d87cf6fba6 Don't allow starting a ranked race with only 1 player left 2018-06-06 15:04:27 +08:00
Benau
ca039b13ff Add observeExistence for request until porting request to shared_ptr 2018-06-06 13:23:48 +08:00
auria.mg
cbe5aad3d9 Merge branch 'master' of https://github.com/supertuxkart/stk-code 2018-06-05 20:07:25 -04:00
auriamg
939e5d7057 Update build instructions for new OSX build system 2018-06-05 20:06:55 -04:00
Marianne Gagnon
cb8f519bd9 Change OSX build system to be homebrew-based 2018-06-05 19:56:15 -04:00
hiker
80ab0b6cda Moved the 'visual' raycasts (for skidmarks) out of the update loop
into the updateGraphics call tree.
2018-06-06 08:24:34 +10:00
Deve
5e798ad6d4 Restore max texture size when reloading skin.
Fixes #3111
2018-06-05 23:55:31 +02:00
Benau
5da5a1972f Add auto start with timeout and player threshold for owner less server 2018-06-06 01:06:44 +08:00
Benau
7093cc2196 Don't show error for findAndTerminate if no such protocol 2018-06-06 00:54:04 +08:00
Benau
148677598b Terminate connect to peer after kart selection start 2018-06-05 11:21:21 +08:00
Benau
47455a71f3 Use KeyData instead of tuple 2018-06-05 10:23:14 +08:00
Benau
402e447ba1 Merge remote-tracking branch 'origin/master' into aes 2018-06-05 10:21:55 +08:00
auria.mg
3f1bd6b25e Merge branch 'UTF8_Config' 2018-06-04 19:34:07 -04:00
Deve
6e7b2a2ecd Remove write media storage permission from android manifest.
This permission is not officially available in documentation and it was a hack for some devices that have access to sdcard only on system applications.
2018-06-04 22:24:26 +02:00
Deve
ffee5d266d Prefer /sdcard/Android/data/ for extracting assets.
Fixes #3266, #3281
2018-06-04 22:24:26 +02:00
Deve
4275dbdac6 Fixed android build 2018-06-04 22:24:26 +02:00
hiker
9ea8dae693 Further improved braking in networking. 2018-06-05 00:46:36 +10:00
hiker
5092f0326c Removed unnecessary update (it's done in max_speed.cpp as well). 2018-06-05 00:04:49 +10:00
Benau
5baaf83401 Adjust for stk-addons 2018-06-04 16:35:45 +08:00
Benau
2f00196420 Clarify voting phase 2018-06-04 14:23:29 +08:00
Benau
4014e8f0e4 Remove unused protocol 2018-06-04 13:52:31 +08:00
Benau
a08e46f279 Remove the keys too after selection 2018-06-04 13:47:37 +08:00
Benau
4ef0c4e03c Add option for official server to disable stun at all 2018-06-04 13:36:24 +08:00
Benau
d89c65b0c9 Remove token in network string 2018-06-04 13:25:10 +08:00
Benau
ec51a2dfbb Fix memory leak 2018-06-04 11:12:11 +08:00
Benau
e326d7bcfd Fix valgrind uninitialized 2018-06-04 11:12:03 +08:00
auria.mg
c599195eeb XML fixes 2018-06-03 21:48:34 -04:00
Benau
aa1bb720e3 No joinning of password-proected server if no password is given 2018-06-04 09:41:50 +08:00
Benau
2fbf0ab49f Avoid unnecessary slow down and mutex locking in server lobby 2018-06-04 09:28:38 +08:00
auria.mg
42d98f8ff1 Start on UTF-8 config conversion 2018-06-03 21:04:46 -04:00
Alayan-stk-2
79e3d298ce Correct finish time for GPs when skipping a race (#3276)
* Make human players have a correct finish time when skipping a GP race

* Don't compute the estimated finish time twice
2018-06-03 19:50:24 -04:00
hiker
c751db865f Always include terrain-based slowdown fraction in a state update
(otherwise the client would reset this value to 1.0 in each rewind).
2018-06-04 08:54:49 +10:00
hiker
b15de8c3dc Update m_hardPointWS after a rewind to make sure the current
terrain is computed based on the new (rewound) kart position.
2018-06-04 08:53:21 +10:00
Benau
4653089d95 Add ranked server for validated player 2018-06-04 01:19:27 +08:00
Benau
a9696792c2 Merge remote-tracking branch 'STK-helper/RankingFormula' into aes 2018-06-03 15:39:01 +08:00
Benau
2fe50ba0c4 Make connect to server message stay longer if needed in lobby 2018-06-03 15:24:36 +08:00
Benau
490b865ddd Allow using %f with translated message 2018-06-03 15:15:25 +08:00
Benau
e122d045cc Allow showing player ranking in network user dialog 2018-06-03 15:08:52 +08:00
Benau
7e5263168e Add minimum required OpenSSL version 2018-06-03 14:44:53 +08:00
hiker
91f472e1c7 Fixed braking in network games (hopefully). 2018-06-03 01:09:05 +10:00
Benau
b43a5e4d18 Add AES encryption and validation for wan player 2018-06-02 12:28:29 +08:00
QwertyChouskie
7cb0ffe844 Fix segfault in cutscene when pressing CTL+Shift and when using FPV cam (#3279)
Fixes https://github.com/supertuxkart/stk-code/issues/2876
2018-06-01 21:25:56 -04:00
Deve
a39007d48e Fixed invisible spare tire kart.
Fixes #3277
2018-06-01 22:12:51 +02:00
hiker
5ec22d17f4 Fixed EndController (base functions in AIBasecontroller need to
use same state size as PlayerController.
2018-06-02 00:48:48 +10:00
hiker
e0d7717c46 Added previous brake and steer value (necessary for full state). 2018-06-02 00:08:08 +10:00
hiker
c3ec9bf6eb Fixed comment. 2018-06-01 21:43:40 +10:00
hiker
da14ffc4de Added brake_tick counter to the state (the longer you brake the
stronger you brake).
2018-06-01 21:40:00 +10:00
hiker
eebd5f2534 Removed unnecessary #include. 2018-06-01 09:42:36 +10:00
hiker
a9279a05d0 Made --check-debug to work with --no-graphics; print also the
race time at which a check-structure is crossed.
2018-06-01 00:24:27 +10:00
hiker
dc36f743ab Fixed compiler warnings. 2018-06-01 00:21:25 +10:00
hiker
8cca845dde Hopefully fixed item collection prediction. 2018-05-31 09:48:33 +10:00
hiker
70039f7d92 Removed unnecessary #include. 2018-05-31 09:29:01 +10:00
hiker
e6d5e194d3 Don't save the terrain slowdown as part of the state, it will get
updated on each client automatically.
2018-05-29 19:25:24 +10:00
hiker
50425ef59f Moved item position into ItemState. 2018-05-29 19:21:34 +10:00
Alayan-stk-2
c4768b72ae Add support for hours display to timeToString (#3270)
* Add hours support to timeToString

* Update timeToString declaration
2018-05-28 20:17:52 -04:00
Alayan-stk-2
670a40cb05 Improvements to finish time accuracy (#3273)
* Add time info for recent positions

* More accurate finish time

* Rebase changes on the version with overrides
2018-05-27 18:04:57 -04:00
Deve
6444405479 Avoid using incorrect action in debug menu 2018-05-27 21:35:44 +02:00
hiker
755cd8095b Use ItemState instead of Item as paramter for kart's collectedItem. 2018-05-28 00:26:02 +10:00
hiker
d0e95d0d63 Removed debug code (always get bubble gum as powerup). 2018-05-27 23:44:51 +10:00
hiker
ab3a3e1155 Combined event handler and emitter in item into one object (since
they are the same anyway).
2018-05-27 23:42:38 +10:00
Alayan-stk-2
30c1e0ca6d Make rubber-banding distances different between AI karts (#3256)
* Don't generate IRC alerts

* Differentiated rubber-banding

* Fix #3222

* Small simplification

* Use master's version

* Fix typo

* Use std::sort

* Remove useless function call

test_ai is only used for profiling without human players
2018-05-26 19:09:18 -04:00
hiker
079b5abe2a Started to use ItemState instead of Item in the attachment and
powerup callbacks on item collection.
2018-05-27 00:42:21 +10:00
QwertyChouskie
c4cb0201df Let user know when STK is compiled without libopenglrecorder (#3267)
* Let user know when STK is compiled without libopenglrecorder

* More work
2018-05-26 05:30:55 +00:00
Deve
12fc3fd063 Enable gles for arm architecture on linux.
It should be more useful than opengl renderer.
2018-05-25 21:16:22 +02:00
Deve
ed2d57996d Fixed libsquish compilation on arm 2018-05-25 21:08:00 +02:00
Deve
056ee641d1 Allow to use openglrecorder with gles 2018-05-24 22:07:33 +02:00
hiker
89ded35c21 Fixed bugs in MaxSpeed state saving and restoring. 2018-05-24 10:19:54 +10:00
Deve
2958435f7c More work on gles + texture compression.
Now it's usable with mesa, nvidia blob and in theory nvidia tegra too.
2018-05-23 21:21:14 +02:00
Deve
b98aede1e1 Fix for old headers 2018-05-22 22:31:38 +02:00
Deve
765d4019b7 Allow to use texture compression with GLES when extension is available 2018-05-22 22:31:38 +02:00
Alistair Findlay
fab05a54e8 Minor Update to GP Titles (#3265)
* Update 2_offthebeatentrack.grandprix

* GP Titles
2018-05-22 14:17:41 +02:00
Benau
5482c028ca Add wee sound when starting kart / track selection 2018-05-22 15:51:37 +08:00
Benau
ff08a2ba16 Don't send events if it trigger a rewind in server 2018-05-22 14:21:05 +08:00
Alayan-stk-2
175b932b13 Correct finish time for egg hunt ghosts (#3263)
* Use replay data for ghost karts finish time

* Compute correct finish time for egg hunts replays
2018-05-21 18:12:16 -04:00
Deve
04170f5855 Avoid a crash on exit.
Still NetworkingLobby::unloaded() probably shouldn't be executed if networking screen is never opened, but initialize variables doesn't hurt anyway
2018-05-21 21:51:04 +02:00
Deve
5d840f6bf7 Move android stkgui files to its own directory 2018-05-21 21:30:24 +02:00
Deve
bcd856d7b2 Avoid not needed enet modification.
Link needed libraries in cmake file in the same way as mingw build.
2018-05-21 21:23:45 +02:00
Benau
056e596d5a Fix debug build and clean up 2018-05-22 02:06:16 +08:00
Benau
1a975f9ef4 Offer a way to know accurate ping to server within 3 seconds 2018-05-22 01:31:08 +08:00
hiker
227572809a Synch attachments of bananas between client and server, some
code cleanup.
2018-05-22 00:00:38 +10:00
Benau
34b8a07d80 Add proper line breaking 2018-05-21 11:19:18 +08:00
hiker
9108934c18 Added handling of predicted item drops. 2018-05-21 10:09:10 +10:00
Alayan-stk-2
4fdd3eee38 Ghost finish times based on replay data (#3262)
* New ghost kart function to compute finish time

* Don't estimate the finish time for ghosts, use replay data
2018-05-19 19:23:44 -04:00
Alayan-stk-2
b8d2dc9034 Fix #3182 (#3260)
Checklines validation is for karts only, so having it true for the basket ball made the ball_distance always equal to zero. Setting it to false make the basket ball work again.
2018-05-19 18:23:58 -04:00
Benau
fdc299e073 Add player rankings in achievements 2018-05-20 01:15:39 +08:00
auria.mg
06d0dafcbf Change default keyboard key for "back" in the UI, backspace can be accidentally triggered when trying to erase texte 2018-05-18 21:23:31 -04:00
auria.mg
6291fada36 Fix more clang warnings 2018-05-18 20:09:13 -04:00
auria.mg
19fab0a4c1 Fix clang warnings 2018-05-18 19:58:51 -04:00
Deve
f2325e9140 Grab mouse on linux when panning is enabled 2018-05-18 22:35:54 +02:00
Deve
ad9a314bcf Fixed android compilation 2018-05-17 23:35:05 +02:00
Alayan-stk-2
bac516aa40 Update comment 2018-05-17 17:45:49 +02:00
Alayan-stk-2
6d6520ab89 Make the formula different between normal and time-trial modes 2018-05-17 17:37:16 +02:00
Benau
fa61059ad2 Add double for xml node 2018-05-17 10:28:46 +08:00
Alayan-stk-2
9902e7c767 Use double for max_ranking too, remove first half base-points distribution (done elsewhere) 2018-05-17 03:16:12 +02:00
Benau
d2bf17e71a Show owner name as Official if official server hoster account is used 2018-05-16 16:07:08 +08:00
Alayan-stk-2
f5245a679e Fix #3236 (#3253)
* Don't generate IRC alerts

* Fix #3236

* Update .appveyor.yml
2018-05-15 19:16:56 -04:00
hiker
cdea16f81d Fixed kart id being received as unsigned int (needs to be signed since
the sign indicates the event type).
2018-05-16 08:55:18 +10:00
Alayan-stk-2
b026b24e4a Fix/update ranking computation 2018-05-15 18:47:59 +02:00
Alayan-stk-2
8da8390773 Merge pull request #14 from supertuxkart/master
Update branch
2018-05-15 15:25:21 +02:00
Benau
d4b3f75b22 Add code for alayan 2018-05-15 16:08:07 +08:00
hiker
ad82dca6cc Created separate file for ItemEventInfo. 2018-05-15 18:05:46 +10:00
Benau
b8982200b6 Fix track objects in network 2018-05-15 15:23:39 +08:00
Alayan-stk-2
9f18c0e2c1 (Broken) ranking computation 2018-05-15 04:22:23 +02:00
Alayan-stk-2
1fc3e0916e Ranking related changes 2018-05-15 04:20:44 +02:00
Alayan-stk-2
5ab277bd68 Resolve conflict with master 2018-05-15 03:46:00 +02:00
hiker
0d850201fb Renamed and split the two newItem () functions into three functions:
placeItem(), placeTrigger(), dropNewItem(). Started to add support
for networked bubble gum (though that's not working, i.e. will crash
atm ;) ).
2018-05-15 10:40:25 +10:00
Alayan-stk-2
7f84dd39a6 Numerous improvements related to ghost replays (#3244)
* Update GUI files for replay improvements

* Updated replay capabilities

* Improve timer formatting possibilities

Mainly, the ability to choose to display or not minutes, and to choose how many digits are shown after seconds (from 0 : second as smallest timestep - to 3 : ms as smallest timestep)

Also displays "mm:ss.ms" rather than "mm:ss:ms".

* Some new list widget possibilities

Like the ability to update the header while the list is displayed (useful to add or remove columns)

* Update ghost kart for the new replay data

* Also update the ghost controller

* Live differences with ghost replays in linear worlds

* Replay-related UI changes

Big changes to the replay selection screen, and small change to the race UI (add the live timer in ghost races) and the race result UI (add the option to directly race against a newly saved ghost).

* Improves the replay action modal dialog

* Fix time-to-ticks regression

* Several requested improvements

* Improved ghost icon

Also updates the license

* GUI changes and improvements to accomodate multi-mode support

* Additional recorded data

* More functions to get the current race state

* Update replay variables to match what is used

* Updated replay-related config values

* Add ghost kart support to easter egg hunt mode

* Transparent attachments for ghost karts

* Use new stored data (color, item type)

Also :
- Interpolate speed for smoother display in watch-only mode
- Coding style improvements

* Fix coding style issues and add UI support for modes

* Fix coding style issues & support for easter egg mode

* Remove leftover prints

* Use getDifficultyName to remove hardcoded values

* Fix attach_ticks and coding style fixes

* Make the position of the timers fully relative

Otherwise, they would tend to touch each other in some resolutions

Also add a comment about the 59.9995f

* Make the list filling code clearer

Also use getDifficultyName

Most of the line changes shown by git correspond to moving around some bits or adjusting indentation.

* Remove a TODO as requested

* Fix dialog being dismissed too soon

* Remove a fixme

* Small clean up

* Fix logging

* Partial #3249 fix
2018-05-13 20:51:52 -04:00
Alayan-stk-2
322f0e77f8 Don't generate IRC alerts 2018-05-14 00:53:10 +02:00
hiker
8c4158c139 Removed option to set item etc type via additional parameter for
networking. Now networking relies on deterministically determined
'random' item types and state updates.
2018-05-14 08:46:50 +10:00
Deve
0b79d9c1d1 Remove a line that is not needed anymore.
Now spinner widget is drawn correctly and min value >= 1 restriction exists in xml file anyway. In this way it shows correct value when particles effects are manually set to 0 in config.xml.
2018-05-13 22:03:15 +02:00
Deve
14cb6a89fd Fix for current angelscript version.
Now AS_MAX_PORTABILITY behaves the same as native calling convention.
2018-05-13 22:03:15 +02:00
Alayan-stk-2
1bba398c09 Merge pull request #13 from supertuxkart/master
Update fork
2018-05-13 20:36:43 +02:00
hiker
d2dc99f859 Added --disable-item-collection command line flag, which is useful
for evaluating client/server 'disagreements'.
2018-05-13 23:43:29 +10:00
Alistair Findlay
290eb354c7 Update custom_video_settings.stkgui (#3224)
* Update custom_video_settings.stkgui

Change label titles to conform to title case typographical convention.

* Update custom_video_settings.stkgui

Sentence case for everything.
2018-05-12 19:00:07 -04:00
hiker
af0495848a Use client prediction for item collection. 2018-05-13 01:04:45 +10:00
Benau
5fb0113362 Don't enable texture matrix if no vbo or ibo 2018-05-11 19:27:41 +08:00
Benau
34f416506e Remove infinitive loop if image failed to load 2018-05-11 19:27:25 +08:00
Benau
02ecb9f914 Shuffle player list for the 1st track in grand prix 2018-05-11 13:44:46 +08:00
Benau
52e2a64893 Add ring for local player controller in minimap 2018-05-11 13:26:30 +08:00
Benau
4a4c99baf2 Send to all broadcast addresses for connecting to wan server in lan 2018-05-11 11:13:42 +08:00
Benau
7926ad9ba0 Progressively adjust time with slow down functionality 2018-05-11 10:43:22 +08:00
Benau
e28fbdd019 Increase vote timeout to 20 second, and offer a way to end vote early
After half voting time and all entries in voting table has > 50%
agreement out of current connected peers, go on
2018-05-11 10:37:31 +08:00
hiker
d88ce3b3b6 Removed unused code, coding style fixes. 2018-05-11 09:41:46 +10:00
hiker
b77a76dd8c The ItemManager must be updated even if no event is received (to
rewind item states to the rewind time).
2018-05-10 23:25:04 +10:00
hiker
5f8dc7b641 Added debug comment to let the server not connect any items
(--> client predictions wrong, useful for debugging).
2018-05-10 23:24:07 +10:00
hiker
ff6d5119b4 CLients now predict item (predictions are not synched with server,
so the item will chance once the server update is received atm).
2018-05-10 23:23:23 +10:00
hiker
8f2b991e6a Code cleanup. 2018-05-10 09:31:21 +10:00
Deve
15f79b0f95 Add key binding for azerty layout 2018-05-09 21:11:24 +02:00
hiker
4e37c1388b Item collection on a client now works, though it is not predicted yet.
Other things (dropping bubble gum, switch, synchronised banana collection)
still do be done.
2018-05-10 01:09:23 +10:00
hiker
031eb461a3 Removed debug output. 2018-05-10 01:07:41 +10:00
hiker
c98df155a6 Change item visibility always in Item::updateGraphics, which (except
for listener) makes it unnecessary to call collect for Item (only
for ItemState).
2018-05-10 01:05:38 +10:00
hiker
85eb59c6af Merge pull request #3232 from STK-helper/MiniMap
Increase minimap size and reduce its aliasing
2018-05-09 15:39:19 +10:00
Deve
fe42da5b04 Avoid conflicts with key codes when fallback keycode is used 2018-05-08 21:59:11 +02:00
Deve
78d9f2065c Add some key names for azerty layout 2018-05-08 21:22:46 +02:00
hiker
e1530267f3 Fixed compilation error and some warnings. 2018-05-09 00:48:20 +10:00
hiker
3f96ba2b93 Added nitro amount to state. 2018-05-08 20:51:35 +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
356680b182 Removed debug prints. 2018-05-08 18:41:37 +10:00
Alayan-stk-2
473732b952 Add comment to clarify a if/else 2018-05-07 02:34:52 +02:00
Deve
20507424ee Don't draw spinner widget gauge for negative values 2018-05-06 23:06:27 +02:00
Alayan-stk-2
20d36b6f1b Fix #3175 (#3243) 2018-05-06 22:26:21 +02:00
Alayan-stk-2
11c31bf205 Merge pull request #11 from supertuxkart/master
Update fork
2018-05-06 03:48:12 +02:00
Alayan-stk-2
267dfde46f Fix #3197 (#3238)
* Add parameters for negative sound in nitro challenge

* Fix #3197
2018-05-05 20:33:12 -04:00
Alayan-stk-2
7ee3d6576e Use the new config options for display 2018-05-05 22:18:02 +02:00
Alayan-stk-2
086cc024e4 Add AI and player icon sizes as configurable 2018-05-05 22:12:05 +02:00
Alayan-stk-2
6ec7799a1d Read minimap parameters 2018-05-05 22:06:21 +02:00
Alayan-stk-2
206bd0170a New minimap stk_config parameters 2018-05-05 22:05:29 +02:00
Alayan-stk-2
bdf4c62abc Add config option for minimap size 2018-05-05 21:25:31 +02:00
Alayan-stk-2
bc569b9e04 Display the minimap during the start countdown
So the players (especially those not familiar with the tracks) can take a look at it before starting to race.
2018-05-05 21:09:33 +02:00
auria.mg
f44fbbfdfb Fix code style 2018-05-04 18:50:47 -04:00
hiker
eb647124e8 Split the item update into update and updateGraphics() parts. 2018-05-04 16:41:03 +10:00
hiker
c7c061c7c1 Bugfix: all items were counted as easter eggs :) 2018-05-04 16:36:56 +10:00
hiker
3e518968b3 Added a generic collectedItem() virtual function to world
instead of a special case of easter eggs only.
2018-05-04 10:29:44 +10:00
hiker
10ce48b86f Moved notification of easter egg collectoin from Item to ItemManager. 2018-05-04 09:48:54 +10:00
hiker
5ba79bddd7 Removed m_confirmed, renamed m_disappear_counter to m_used_up_counter. 2018-05-04 09:31:50 +10:00
hiker
9392354663 Split Item into two classes: ItemState which contains the non-graphical
and changing properties (e.g. collected,item type etc), and Item (using
ItemState as base class) which contains graphical and constant values.
2018-05-04 01:01:15 +10:00
Qwerty Chouskie
b5067a935e Final? 2018-05-02 22:35:36 -07:00
Qwerty Chouskie
173702cca1 "skid0" effect 2018-05-02 22:23:16 -07:00
Qwerty Chouskie
ded672ea0d Remove no-longer-needed code
It doesn't compile with this anymore, and the issue it fixed seems gone anyways.
2018-05-02 18:39:47 -07:00
Qwerty Chouskie
b0c061290f Merge branch 'master' of https://github.com/supertuxkart/stk-code 2018-05-02 18:09:13 -07:00
hiker
7e9e258b17 Merge remote-tracking branch 'origin/move-handleMaterialSFX' 2018-05-03 10:23:51 +10:00
auria.mg
c6c005ded4 Revert "jgh"
This reverts commit e1a1196a9f.
2018-05-02 19:35:41 -04:00
auria.mg
e1a1196a9f jgh 2018-05-02 19:35:04 -04:00
Alayan-stk-2
74a77ed5ef Cast width and height as floats before checking the ratio 2018-05-02 20:33:08 +02:00
Alayan-stk-2
d6c2cccccd Reduce minimap size in splitscreen multiplayer
It won't work very well with 8 players, but still slightly better than when it was always 100.
2018-05-02 20:07:10 +02:00
Alayan-stk-2
bed03b2a43 Make minimap size 1.8 higher
This factor has been chosen because :
1) It allows the toplist to be able to still display 10 karts (maximum number reached in story mode or in networking (currently 12 but will be 8-10 for release according to Benau))
2) This size should fit nicely in the android GUI.

Otherwise, there is still some margin before it hinders view in 4:3 resolutions.
2018-05-02 19:40:00 +02:00
Alayan-stk-2
3d17e68c4e Get a larger minimap texture to significantly reduce aliasing 2018-05-02 19:13:09 +02:00
Benau
a5b234ceef Reset player action in pause menu for network, fix #3230 2018-05-02 15:37:47 +08:00
Benau
f5035a00ea Allow showing paused dialog in network now it doesn't pause timer 2018-05-02 13:17:23 +08:00
Alayan-stk-2
022dd3e302 Fix handicap values (#3231)
* Fix handicap values for slipstreaming

* Change bugged handicap value and double-effect values

* Add skidding to handicap, remove explosions
2018-05-01 21:14:53 -04:00
Alayan-stk-2
179e825e60 Merge pull request #10 from supertuxkart/master
Update fork
2018-05-01 23:56:10 +02:00
Benau
ac54ee8888 Remove max 80 words limit now we use uint16_t for wide char 2018-05-01 12:42:59 +08:00
Benau
eb9f5b3fb3 Add speed and acceleration handicap to make it more visible 2018-05-01 01:13:09 +08:00
Benau
d17fddcac8 Fix handicap in splitscreen and network 2018-05-01 01:10:12 +08:00
hiker
0d1e799b4b Removed unused function. 2018-04-30 08:56:28 +10:00
hiker
28eb0112e0 Moved handleMaterialSFX to updateGraphics(), which removes the need
for a isLastSubstep() function in main(). Fix potential bug when
a new material sfx is triggered when a previous sfx still exists.
2018-04-30 08:49:57 +10:00
Alayan-stk-2
6a25384ed9 SuperTux in Story Mode (and other improvements) (#3207)
* Add SuperTux difficulty & update number of karts

Also make the expert challenge slightly easier to match more the difficulty of other challenges.

* Add SuperTux difficulty & update number of karts & points required

Also give some more time margin in easier difficulties, as it is a hard challenge compared to most.

* Add SuperTux difficulty & update number of karts & points required

Also change the lap count to 4 as it is a very short track (sub 30s)

* Add SuperTux difficulty

Also tweak the expert challenge to have a more appropriate difficulty

* Add SuperTux difficulty & update number of karts

* Add SuperTux difficulty & update number of karts & points required

* Add SuperTux difficulty & update number of karts & points required

Also correct the requirement position, since this is not a FTL race anymore.

* Add SuperTux difficulty & update number of karts & points required

Also slight balancing improvements for the usual difficulties.

* Add SuperTux difficulty & update number of karts & points required

Also adds a position requirement in expert

* Add SuperTux difficulty & update number of karts & points required

* Add SuperTux difficulty & update number of karts & points required

* Add SuperTux difficulty & update number of karts & points required

Also change the number of laps to 5, as this is a very short track. The time requirements for easier difficulties have been kept proportionally similar to before.

* Add SuperTux difficulty & update number of karts & points required

Also change the number of laps to 4.

* Add SuperTux difficulty & update number of karts & points required

Also add a position requirement to expert and intermediate.

* Add SuperTux difficulty & update number of karts & points required

Also change the number of laps to 4, as a lap often is 30s or less in expert/supertux

* Add SuperTux difficulty & update number of karts & points required

* Add SuperTux difficulty & update number of karts & points required

* Rename islandtrack.challenge to gran_paradiso.challenge

* Rename challenge file

* Add SuperTux difficulty & update number of karts & points required

Also makes the time limit in expert less easy and tweak position requirement.

* Add SuperTux difficulty & update number of karts

* Add SuperTux difficulty & update number of karts & points required

* Add SuperTux difficulty & update number of karts & points required

* Add SuperTux difficulty & update number of karts & points required

* Add SuperTux difficulty & update number of karts & points required 

Doesn't unlock the SuperTux difficulty anymore - it's managed elsewhere.

* Add SuperTux difficulty & update number of karts & points required

* Add SuperTux difficulty & update number of karts & points required

* Add new unlock challenges, for difficulty and karts

* Add a lap to oliver's math class

* Replace Northern Resort by Volcano Island

* Replace Volcano Island by Candela City

Candela City was in no (official) GP before this.

Also sets Green Valley to 3 laps.

* Add Northern Resort and remove Fort Magma

In 0.9.3, this GP has only 4 races in Story Mode (5 for the other GPs) because Fort Magma is locked.

Of all the tracks outside this GP before, Northern Resort is one of the hardest, the AI being rather good there.

* Temporary cup for SuperTux challenges

Recolored version of the gold cup

* Update challenge selection UI for the SuperTux challenges

* GUI used before SuperTux difficulty unlocking

This is the old select_challenge.stkgui

* Swap the two sara

* Replace Kiki by another kart to unlock on Benau's demand

* Update for improved Story Mode

* Update for improved Story Mode

* Add support for SuperTux challenges

* Add support for SuperTux challenges

* Add support for SuperTux challenges

* Add support for SuperTux challenges

* Update for SuperTux ; also adds the ability to unlock a challenge by points

* Update for unlocking by points

* Add support for SuperTux challenges

* Add support for SuperTux challenges

* Add support for SuperTux challenges

* Minor changes to function calls

* Update for SuperTux challenges

* Add support for SuperTux challenges

* Update for Story Mode GP changes

* Allows to display the correct number of points for GP challenges

* Set the unlock of the 1st bonus kart to correct non-test value

* Add support for SuperTux challenges

Including a bigger challenge selection diaolg

* Add default value

* Icon to indicate that there is an unlockable

The number of points needed to unlock it are displayed next to it.

* Changed format : the point requirements is now specified in the file

* Changed format : the point requirements is now specified in the file

* Changed format : the point requirements is now specified in the file

* Function for unlock by points UI

* Add default for unlock list node and use requirements node for all

* Make unlockByPoints simpler and more flexible

Now the code will iterate in StoryModeStatus and send the unlock_list challenges for treatment here. The question of getting the right challenge statuses beings solved, it allows for a great simplification and much more flexibility

* Update unlockByPoints declaration

* Adds support for next unlockable UI

* Improve call of unlockByPoints

Also calculations for displaying in the UI how many point the next unlockable by points requires.

* Add icon for next unlockable

* Displays icon/number to make the player aware of the next unlockable

Also displays the number below the icon rather than on the side, for more clarity.

* Changes to display karts in the unlock scene

* Update unlock functions declarations

* New function to clarify code and more logical recently unlocked list management

In the previous version, everything was added to the recently unlocked list at some point, necessitating a clearing at the end of computeActive, which also removed from the list the non-race challenges. Checking if the feature is newly unlocked to add it to the list remove the need of that clearing.

* Declaration for unlockFeatureByList

* Display newly unlocked karts

* Display newly unlocked karts

* Clear the list of recently unlocked features at the end

* Update testing code

* Update unlocks finding function call

* Improve UI scaling

* Fixes indentation

* Update the number of points before checking for unlock by points

* Add const to declarations

* Remove const_cast

* Remove a const_cast

There are other const_cast in the menu debug items (but they are unrelated to this PR)

* Fix menu being bolder
2018-04-29 18:27:03 -04:00
Alayan-stk-2
a1e19f3692 Fixes weight computation at reference points 2018-04-29 07:23:33 +02:00
Alayan-stk-2
49ff8ecd25 Reload powerup models on graphics options restart 2018-04-28 23:06:25 +02:00
Alayan-stk-2
e1f585a916 Add powerup model loading on start 2018-04-28 23:03:39 +02:00
Alayan-stk-2
1545c10328 Split loadAllPowerups in two functions 2018-04-28 23:00:23 +02:00
Alayan-stk-2
5e749901f3 New loadPowerupsModels function 2018-04-28 22:58:03 +02:00
Alayan-stk-2
c785a45e93 Fixes ordering error 2018-04-27 23:46:13 +02:00
Alayan-stk-2
5f994204ab Use only one random number for item selection 2018-04-27 23:25:08 +02:00
deve
a2659f479c Merge branch 'master' of https://github.com/supertuxkart/stk-code 2018-04-27 06:52:58 +02:00
deve
b90a9fbf0d Don't allow totally disable particles in GUI.
Now we don't use tfb shader to compute particles, so it seems to not have a sense anymore.
And it's still possible to set particles_effects=0 in config.xml if someone will need it.
2018-04-27 06:50:39 +02:00
deve
bf1392cadc Keep important particles enabled on lowest settings 2018-04-27 06:44:56 +02:00
Deve
bc9660a81c Use known working java version for building apk if possible.
It fails to build with newer versions, so that on different systems you may need to set JAVA_HOME manually.
2018-04-26 21:48:59 +02:00
hiker
a737f9e3d5 Fixed typos. 2018-04-27 00:34:58 +10:00
Alayan-stk-2
33c60ddc1c Remove obsolete powerup loading
Powerup data is loaded before each race when the number of karts (and type of race) is known.
2018-04-26 12:45:49 +02:00
Alayan-stk-2
af106fcd7d Remove obsolete powerup loading 2018-04-26 12:41:15 +02:00
Alayan-stk-2
c2ae2bfce6 Improve comments 2018-04-26 05:52:41 +02:00
Alayan-stk-2
acf9ed1eab Remove unused default value
Also corrects a comment typo
2018-04-26 05:35:12 +02:00
Alayan-stk-2
ae21cfe8d7 Fix log reporting 2018-04-25 23:18:02 +02:00
Deve
b770fa19fb Auto refresh for lan server detection 2018-04-25 20:26:23 +02:00
Alayan-stk-2
e10e56a962 Various improvements requested in review 2018-04-25 11:43:46 +02:00
hiker
8a8b954bf9 Fixed more ticks vs time issues. 2018-04-24 17:44:39 +10:00
hiker
c8befd7505 Fixed compiler warning. 2018-04-24 17:30:15 +10:00
hiker
6f38a56dfa Merge branch 'lan-broadcast' 2018-04-24 17:28:19 +10:00
hiker
88abad8dc7 Moved handleMaterialGFX() and updateEngineSFX() from update()
to updateGraphics() - i.e. only one per rendered frame.
2018-04-24 17:19:13 +10:00
hiker
f2f15ac4e0 Removed duplicated entries. 2018-04-24 09:22:52 +10:00
hiker
2a89e7e0d1 Merge remote-tracking branch 'origin/lan-broadcast' into lan-broadcast 2018-04-24 09:18:41 +10:00
hiker
0809f3e286 Added 192.168.1.255 as default broadcast address. 2018-04-24 09:16:55 +10:00
Benau
62ea07ecc8 Try to synchronize timer independent of music 2018-04-24 01:01:47 +08:00
Benau
b919c82da5 Merge remote-tracking branch 'origin/master' 2018-04-23 23:47:30 +08:00
hiker
866eba936d Try to fix linux - compiles. but untested. 2018-04-24 00:37:53 +10:00
hiker
59b796a7f5 Since broadcasting to 255.255.255.255 does not work in all cases,
add code to create a set of potential broadcast addresses and
use them all. Duplicated will be filtered out (since likely a server
will replace more than all).
2018-04-23 23:30:48 +10:00
Alayan-stk-2
4d4fff690d Support for multiple reference weight lists 2018-04-23 03:51:39 +02:00
Alayan-stk-2
d79e4a1509 Use referenc 2018-04-23 03:49:48 +02:00
Alayan-stk-2
7f5565cbc4 New item weight lists 2018-04-23 02:29:40 +02:00
Alayan-stk-2
d3659232e0 Fix time-to-ticks build issue (#3215) 2018-04-22 20:18:46 -04:00
Alayan-stk-2
2ca9189f32 Add isFollowMode function 2018-04-23 02:03:35 +02:00
Alayan-stk-2
4844b415b6 Merge pull request #9 from supertuxkart/master
Update fork
2018-04-23 01:59:15 +02:00
auria.mg
c08093d732 Merge branch 'More-AI-improvem'
# Conflicts:
#	src/karts/controller/skidding_ai.cpp
2018-04-22 19:36:37 -04:00
Alayan-stk-2
fa85460bc2 Merge pull request #7 from supertuxkart/master
Update fork
2018-04-22 21:31:44 +02:00
hiker
8e1f046b86 Fix the handling of messages that arrive before the last saved state
(which currently causes a crash).
2018-04-22 22:07:21 +10:00
Benau
bc8539ae10 Add some sound effect for lobby 2018-04-22 15:07:08 +08:00
Benau
d4eaec6667 Fix crashed sound repeating 2018-04-22 14:44:43 +08:00
Benau
7ddd498156 Add a separator as auria suggested when reentering the lobby 2018-04-22 14:32:41 +08:00
Benau
96797e9325 Fix wrong code to make it the same as comment 2018-04-22 14:01:11 +08:00
auria.mg
ad7555d8ea Fix race GUI glitch kart icons to line horizontally at the start of a race 2018-04-21 21:04:21 -04:00
auria.mg
bb88ffc460 Merge branch 'game_protocol' 2018-04-21 19:53:56 -04:00
auria.mg
cbfcc55ebc Fix cutscenes sychronisation, fixes #3213 2018-04-21 19:12:25 -04:00
auria.mg
edb3cc4f0b Fix material slowdown not working, fixes #3212 2018-04-21 19:05:45 -04:00
auria.mg
c9d1d1c579 Fix issue with ticks vs time elapsed in scripting engine 2018-04-21 18:46:21 -04:00
Deve
8d767f0c8f Fixed flooding with wrong way messages.
Fixes #3214
2018-04-21 22:51:21 +02:00
Benau
a4198536a0 Reset server if no player in lobby between a grand prix 2018-04-22 01:03:25 +08:00
Benau
e1797f0572 Don't use NetworkConfig which got deleted already 2018-04-21 16:41:25 +08:00
Benau
448ad5abcf Clean up network local player handling 2018-04-21 16:32:43 +08:00
Benau
82a396ed56 Fix kart headlight in network 2018-04-21 16:30:38 +08:00
Benau
ba681a7cf8 Initial GP in network 2018-04-21 16:00:14 +08:00
Benau
6728951985 Fix incorrect camera index for GP 2018-04-21 12:55:55 +08:00
Benau
708d558528 Fix #3191 2018-04-21 10:25:05 +08:00
Deve
e0a5bd1027 Restore dropping bubblegum after shield explosion 2018-04-20 22:04:29 +02:00
hiker
78f96d4818 Temporary 'fixed' banana handling. 2018-04-21 01:32:03 +10:00
Benau
d55d5d0f3f Get local player id from server for GP sorting later 2018-04-20 19:10:40 +08:00
Benau
75a63f6bae Remove unused protocol type 2018-04-20 17:33:07 +08:00
Benau
afa647ac90 Remove unneeded rewind test in skidmarks 2018-04-20 17:22:33 +08:00
Benau
3772045f99 Fix GLES 2018-04-20 17:01:59 +08:00
hiker
359cb4770a Merge branch 'master' of github.com:supertuxkart/stk-code 2018-04-20 18:26:48 +10:00
Benau
611def3c04 Fix sp shader debug handling 2018-04-20 16:25:12 +08:00
hiker
42d21ba9f9 Merge branch 'master' of github.com:supertuxkart/stk-code 2018-04-20 17:59:59 +10:00
hiker
4a0444987a Fixed skidding in network mode. Only the jump duration is part of
the state, the current height of the kart in case of a jump is
then computed (without keeping track of speed etc). Jumping is
now only done during updateGraphics().
2018-04-20 17:31:31 +10:00
Benau
91e1bd3fd1 Try to fix invalid string by store a copied of translation 2018-04-20 14:36:19 +08:00
Benau
a071e022a5 Do the same for race event manager for non-stop network 2018-04-20 14:18:26 +08:00
Benau
32c1255c10 Make sure no dialog exists when going back to lobby 2018-04-20 14:18:05 +08:00
Benau
0c33803159 Let the network game keep going even race paused dialog shown 2018-04-20 13:30:17 +08:00
Benau
e5c991e3d2 Merge remote-tracking branch 'origin/master' into kobato 2018-04-20 13:03:34 +08:00
Benau
2dada03bae Save available karts and tracks from clients in STKPeer
So if this peer disconnects later in lobby it won't affect current players
2018-04-20 12:19:58 +08:00
Benau
bd13f40584 Reset server to accepting client state if no more connected players 2018-04-20 12:19:58 +08:00
Benau
99a25bb837 Implement a proper end and restart race in network 2018-04-20 12:19:58 +08:00
Benau
6eaa88a3f5 Remove the unknown 255 attachment which caused by Endcontroller replacement 2018-04-20 12:19:58 +08:00
Benau
b6caf00bfc Stop race event manager if exiting lobby 2018-04-20 12:19:58 +08:00
Benau
9a32bdcbe1 Fix #1636 2018-04-20 12:19:58 +08:00
Benau
d4fb888ffa Eliminate disconnected kart 2018-04-20 12:19:58 +08:00
Benau
6f30fd0cb0 Clean up ConnectToPeer 2018-04-20 12:19:58 +08:00
Benau
0ecc6e34b9 Add deve request for auto-server port detection 2018-04-20 12:19:58 +08:00
Benau
12e4ba0f18 Check server version again in connection request (for connect-now) 2018-04-20 12:19:58 +08:00
Deve
a7deff5c3e Avoid a crash in general text field dialog.
onEnterPressed can be executed twice - in event handler and in input manager.
2018-04-20 12:19:58 +08:00
Benau
789d75bf26 Remember last sucessfully connected server address 2018-04-20 12:19:58 +08:00
Benau
bd5fc33816 Add billboard text of online player name to non-local player 2018-04-20 12:19:58 +08:00
Benau
d30faece9c Show (online) player name in race GUI 2018-04-20 12:19:58 +08:00
Benau
d6af63da67 Fix possible android crash 2018-04-20 12:19:58 +08:00
Benau
0c688c7df7 Use music phase instead of race phase 2018-04-20 12:19:58 +08:00
Benau
2c6883842e Add connect-now equivalent to online screen
Specify port to allow to connect to one of multiple servers in same machine
2018-04-20 12:19:58 +08:00
Benau
8c72ce66e3 Copy server address to avoid using STKHost in shutdown 2018-04-20 12:19:58 +08:00
Benau
266898ca28 Display server port in log for connect-now GUI later 2018-04-20 12:19:58 +08:00
Benau
88728b074c Fix lobby crash in graphics server 2018-04-20 12:19:58 +08:00
Benau
ba98e7dde9 Remove invalid warning about logging packets 2018-04-20 12:19:58 +08:00
Benau
f37ca7ada5 Don't update skidmark if rewinding 2018-04-20 12:19:58 +08:00
Benau
c3354923db Avoid skipping of vertex buffer update if called more than once per frame 2018-04-20 12:19:58 +08:00
Benau
22f8095cb0 Remove compiler warnings 2018-04-20 12:19:58 +08:00
Benau
beaafb3d79 Fix clang discarding the translated stringw 2018-04-20 12:19:58 +08:00
Benau
2a3d57706a Reset timer after finished loading world
It avoid some clients with slower loading time than anybody else hanging
when rewinding
2018-04-20 12:19:58 +08:00
Benau
969b56844b Don't pause timer in thunderbird phase when in offline game
And don't show the dialog at all in network game when thunderbird phase
2018-04-20 12:19:58 +08:00
Benau
93d1b9136d Clean all previous AI if exists in offline game 2018-04-20 12:19:58 +08:00
Benau
2dd9174b3a Remove unused code in game events protocol 2018-04-20 12:19:58 +08:00
Benau
660ccd1f43 Don't crash if user opened a dialog when server shutting down 2018-04-20 12:19:58 +08:00
Benau
66c05bbdbf Avoid crash if pressing close window button when networking 2018-04-20 12:19:58 +08:00
Benau
eca5a78075 Fix starting race now network string leaking 2018-04-20 12:19:58 +08:00
hiker
a727f524f2 Modified file to automatically trigger cmake on compilation. 2018-04-20 12:19:58 +08:00
hiker
4f94615c49 Moved wrong-way timer from kart into linear world. 2018-04-20 12:19:58 +08:00
hiker
da039bf6a9 Renamed member variable and method to better describe them. 2018-04-20 12:19:57 +08:00
auria.mg
92edfe5121 Attempt for #3164 2018-04-20 12:19:57 +08:00
auria.mg
ca7aac04c7 Fix leak 2018-04-20 12:19:57 +08:00
Deve
6d435a3dcf Fixed mingw compilation 2018-04-20 12:19:57 +08:00
Deve
7e553356ea Fixed windows compilation 2018-04-20 12:19:57 +08:00
Deve
0773e03246 Avoid some code duplication 2018-04-20 12:19:57 +08:00
Deve
fc3b428360 Allow to use scripting on arm64 2018-04-20 12:19:57 +08:00
auria.mg
6d306e64a7 More UI scaling improvements, see #3146 2018-04-20 12:19:57 +08:00
hiker
99d8ad8ac1 Properly fix #3159 (Wrong direction text is displayed twice).
When this is merged with master, the current work around
in #3159 can be reverted.
2018-04-20 12:19:57 +08:00
hiker
da7780a9e1 Removed the storing of DT (which is not necessary when using ticks
now). Removed TimeStep information class etc.
2018-04-20 12:19:57 +08:00
hiker
ac3c99a3ca Removed support for position-based history files, now only
physics history files are supported.
2018-04-20 12:19:57 +08:00
Benau
c2b5e566c0 Merge branch 'game_protocol' 2018-04-20 10:34:19 +08:00
Benau
c926d37bb9 Remove online menu again 2018-04-20 10:31:50 +08:00
Deve
fdea04f34c Simplify setting android project version 2018-04-19 21:05:27 +02:00
Deve
b07a345b1c Merge branch 'version_number_android' 2018-04-19 20:46:20 +02:00
hiker
78bd331cae Fix #3206 (crash in gui-less server). 2018-04-20 00:01:45 +10:00
hiker
5990e172b6 Cleanup unnecessary states and events (i.e. everything up to
the last confirmed state).
2018-04-19 23:54:36 +10:00
hiker
8c420d68d7 Fixed shaky tires (#3051), which was re-introduced by moving the
kart model update the updateGraphics().
2018-04-19 19:33:19 +10:00
hiker
d565ce904d Fixed incorrect comment. 2018-04-19 19:32:31 +10:00
hiker
203c511fab Fixed compiler warnings. 2018-04-19 18:08:48 +10:00
hiker
969f938dce Avoid an assertion error if previously a local race with AI
was done (then #ai karts + player karts != num_karts in
race manager).
2018-04-19 17:44:38 +10:00
Benau
9897a497f5 Fix slipstream crashed in server 2018-04-19 14:48:44 +08:00
Benau
4464d4cd55 Fix quaternion in dynamic draw call 2018-04-19 14:28:26 +08:00
Benau
7fb276e976 Don't update the physical object if it's static 2018-04-19 14:14:37 +08:00
Benau
f8323b9ad1 Remove unneeded skinned mesh shader for road blending shader 2018-04-19 11:49:38 +08:00
Benau
63bb6a467b Fix total_uniforms uninitialized if missing shader program 2018-04-19 11:48:27 +08:00
Benau
c3f2d144b2 Fix m_current_transform uninitialized 2018-04-19 11:46:49 +08:00
Alayan-stk-2
dd13fbd977 Merge pull request #6 from supertuxkart/master
Update fork
2018-04-19 03:40:56 +02:00
hiker
98555a8f35 Merge remote-tracking branch 'origin/master' into game_protocol 2018-04-19 10:57:37 +10:00
auria.mg
c199ba7c63 Bugfix 2018-04-18 20:05:32 -04:00
Qwerty Chouskie
ffe9dad241 Update again 2018-04-18 16:26:58 -07:00
Deve
26d15e9d8b Update android project after recent modifications related to STK project version 2018-04-19 00:25:22 +02:00
hiker
95bba525c5 Refacotring: instead of Moveable::update calling updateGraphics,
this is now called separately once per rendered frame from
the main loop. Started to split other objects to have separate
updateGraphics functions (e.g. to fix skid marks issues caused
by previously updating skidmarks even in rewind).
2018-04-18 22:27:06 +10:00
Alayan-stk-2
be8ae4dca6 Various slipstreaming refinements (#3202)
* New getRecentPreviousXYZ function

* New getRecentPreviousXYZ function

* New getRecentPreviousXYZ function

* General slipstreaming refinements

* Increase the minimum time to get the slipstream bonus

The obsolete parameter is not yet removed as several other files would have to be changed to not trigger an error.

* Slipstreaming characteristics update

* Changed slipstreaming characteristics

* Update slipstreaming characteristics

* Update slipstreaming characteristics

* Update slipstreaming characteristics

* Update slipstreaming characteristics

* Update slipstreaming characteristics

* Remove slipstreaming power engine bonus per kart type

Power engine bonus is already balanced by the different weights : a heavier kart needs more engine power to achieve/maintain the same speed.

* Remove an unused function

* Various slipstreaming refinements

* Pull the XYZ history size from config

* Pull the XYZ history size from config

* Remove unnecessary logs

* Fix a frenchism with fix
2018-04-17 21:09:49 -04:00
hiker
acdba401a9 Merge pull request #3090 from qwertychouskie/simplify-version-number-change
Reduce number of places version number needs to be changed on release
2018-04-18 09:44:13 +10:00
Alayan-stk-2
539ab45b08 Keep the camera looking to the same kart when changing view type (#3205)
Except for first-person view which keeps resetting to the player kart (the FP view itself is linked to it)
2018-04-17 18:49:43 -04:00
Deve
c23f1bbc5b Fixed a bug in generate_assets script 2018-04-17 23:57:10 +02:00
hiker
b17b45d8c5 Fix non-networked races. 2018-04-17 18:48:32 +10:00
hiker
a9a73e643b Save an initial state at t=0 on the client, to make sure they
can always rewind (e.g. in case that an event from another client
arrives before a state from the server).
2018-04-17 18:42:16 +10:00
Alayan-stk-2
c72cf74138 Fixes server_only build issue (#3199) 2018-04-16 20:16:51 -04:00
hiker
70e7625282 Don't split a game state upon receiving into separate chunks (one
for each rewinder), instead save only one state with all rewind
buffers.
2018-04-17 09:17:02 +10:00
Alayan-stk-2
131011d01e Better GP points distribution (#3178) 2018-04-16 18:32:25 -04:00
auria.mg
54d3476c13 Merge branch 'FixGaugeI' 2018-04-16 18:29:00 -04:00
Alayan-stk-2
e39735934b Merge pull request #5 from supertuxkart/master
Update fork
2018-04-16 23:09:50 +02:00
hiker
292243ddad Merge branch 'STK-helper-SStreaming' 2018-04-16 23:04:03 +10:00
hiker
0637dd0fa1 Merge branch 'SStreaming' of https://github.com/STK-helper/stk-code into STK-helper-SStreaming 2018-04-16 22:37:49 +10:00
Alayan-stk-2
ba2df185e2 Fixes speedometer saturation 2018-04-16 14:34:02 +02:00
Alayan-stk-2
15ff516b53 New helper function for drawing meters 2018-04-16 14:28:15 +02:00
Alayan-stk-2
746d862e84 Various improvements
1)Use a new helper function for the drawing as the code was nearly identical at three different places
2)Fixes the coloring of transparent points : full color as intended, rather than black
3)Additional drawing points to properly manage the gauge_goal going outside of the gauge_full space
2018-04-16 14:27:27 +02:00
Alayan-stk-2
63127f553f Better gauge goal 2018-04-16 14:08:28 +02:00
Alayan-stk-2
8bd6cafddf Attempt to fix #3195 2018-04-16 12:46:23 +02:00
hiker
3167180d7f Refactored state saving into a separate function to later allow
saving of an initial local state.
2018-04-16 17:25:50 +10:00
auria.mg
40372319f6 At general request, remove follow-the-lreader from story mode 2018-04-15 18:31:13 -04:00
auria.mg
264fac392e Ajust forgotten texture 2018-04-15 18:08:08 -04:00
auria.mg
655faa81a0 Reduce speedometer images to a more reasonable size 2018-04-15 18:03:02 -04:00
Deve
868dbf792c Avoid a crash in general text field dialog.
onEnterPressed can be executed twice - in event handler and in input manager.
2018-04-15 21:14:43 +02:00
Deve
32acae7507 Merge pull request #3194 from psypherium/patch-2
minor Update README.md
2018-04-15 20:17:15 +02:00
Psypherium
8341c3657e minor Update README.md
Refine syntax to match protocol
moved one line back into code fence.
2018-04-16 02:59:56 +10:00
samuncle
50e433afca Add shader specialized for roads, still some stuff to be tuned 2018-04-15 09:37:55 +02:00
Alayan-stk-2
080cecd400 Fix member variable name 2018-04-15 06:54:38 +02:00
Alayan-stk-2
8797f5b1fe Fix member variable name 2018-04-15 06:53:09 +02:00
Alayan-stk-2
8f2c118e33 Improved AI testing (#3184)
* New command line option for testing

* Fix command line option

* Allow races from command line without player kart

* Use the new command line option for testing

Also increase the default number of karts for testing from 9 (including player kart) to 15 (no player kart) for reduced randomness.
And set the default test difficulty to SuperTux
2018-04-14 21:07:12 -04:00
Alayan-stk-2
ff55703457 Nitro fixes (#3190)
* Nitro fixes

* Remove the attachment of a kart on elimination
2018-04-14 20:56:16 -04:00
Psypherium
45e5612985 Update README.md (#3181)
* Update README.md

- Add recompilation instructions
- Add build threading instructions
- Rearranged 1 sentence with passive voice to match the rest of the readme

* Update README.md

* Update README.md

Clarification

* Update README.md

Rephrasing, reformatting
2018-04-14 20:42:17 -04:00
Alayan-stk-2
f16ed91bd5 Go back to the overworld in losing challenges (#3192) 2018-04-14 20:38:23 -04:00
Deve
45aa9c2e3a Minor tweak for init android dialog 2018-04-14 22:39:51 +02:00
hiker
896b631f97 Removed unused skidding code. 2018-04-15 00:40:41 +10:00
hiker
b4107bfc25 Added a new constructor taking a string and port number (including
test cases) - mostly useful for debugging.
2018-04-15 00:32:30 +10:00
Alayan-stk-2
9d1abed0cd Remove erroneous chars at EOF 2018-04-14 04:37:55 +02:00
Alayan-stk-2
39d6178f64 Checks to avoid undefined operations on moving textures 2018-04-14 04:09:27 +02:00
Alayan-stk-2
79fd0f12a5 Fixes a too small index 2018-04-13 23:32:37 +02:00
Alayan-stk-2
607ee6ed75 Merge pull request #3 from supertuxkart/master
Update fork
2018-04-13 21:57:35 +02:00
Alayan-stk-2
0c4c5fbe80 Slipstreaming characteristics completely reworked 2018-04-13 08:50:10 +02:00
Alayan-stk-2
bffebe32fc Update header for slipstreaming improvements 2018-04-13 08:41:57 +02:00
Alayan-stk-2
f41b537477 Completely revamps slipstreaming 2018-04-13 08:40:03 +02:00
Alayan-stk-2
b2bdd49931 Allow instantSpeedIncrease use from Kart 2018-04-13 04:36:35 +02:00
Alayan-stk-2
885eaa516c Allow instantSpeedIncrease use from Kart 2018-04-13 04:35:48 +02:00
Alayan-stk-2
7e0bb71d64 Allow instantSpeedIncrease use from Kart 2018-04-13 04:34:45 +02:00
Alayan-stk-2
c490db927b Remember previous positions 2018-04-12 21:45:53 +02:00
Alayan-stk-2
3425fb3c70 Remember previous positions
Use an array of 30 Vec3 to remember the previous kart positions 0,25s before. Each one is updated with the previous one, starting from the oldest.

time_previous_counter is used to keep the time of the oldest as close as possible to 0,25s ; in case the physics ticks proceed faster or slower than 1/120th of second.
2018-04-12 21:41:09 +02:00
Alayan-stk-2
8d1fc02b0d Remember previous positions 2018-04-12 21:35:54 +02:00
Alayan-stk-2
64168c2f67 New setQuad function 2018-04-12 21:33:59 +02:00
Alayan-stk-2
df2714ae71 New setQuad function
Allows to easily update the coordinates of a quad (used for dynamic slipstreaming quad)
2018-04-12 21:33:33 +02:00
Alayan-stk-2
26d4cf4795 Update for new sstreaming characteristics 2018-04-12 21:30:49 +02:00
Alayan-stk-2
85efc2d535 Update for new sstreaming characteristics 2018-04-12 21:18:03 +02:00
Alayan-stk-2
f9669c2d09 Update for new sstreaming characteristics 2018-04-12 21:17:37 +02:00
Alayan-stk-2
0342f89133 Update for new sstreaming characteristics 2018-04-12 21:17:03 +02:00
Alayan-stk-2
31a58c1b23 Update for new sstreaming characteristics 2018-04-12 21:16:48 +02:00
Alayan-stk-2
27ab829f59 Update tool for new sstreaming characteristics 2018-04-12 21:14:41 +02:00
hiker
6490551533 Uodate physics max speed after a rewind to make sure
the physics have the right max and min speed defined.
2018-04-13 01:07:08 +10:00
hiker
0328d05631 Updated and disabled debug output. 2018-04-13 00:53:59 +10:00
hiker
7bbaebe594 Fixed skidding rewind by adding all necessary variable to skidding
state and adding timed impulse to physics state of kart.
2018-04-13 00:44:53 +10:00
Benau
2fdc6b0de8 Fix billboard text 2018-04-12 16:41:13 +08:00
Benau
ef2f12f568 Remove unneeded skinned mesh version for tilling and vertical mapping shader 2018-04-12 16:35:25 +08:00
Benau
3742adf5ee Use 2 digits for shader order 2018-04-12 16:31:01 +08:00
Benau
295c793f91 Use 4 32bit floats for quaternion for sam's wall 2018-04-12 16:27:48 +08:00
Deve
4abdb14a4c Allow to use bigger fonts on desktop version for easier debugging 2018-04-11 21:39:34 +02:00
Deve
c8c390cdaa Tweak nitro meter in android race gui 2018-04-11 21:09:40 +02:00
Alayan-stk-2
8f7502e204 Fix incorrect item utilisation in zipper path
Also remove the code logic which tells to use a zipper instead of nitro (not always useful, and should be managed inside handleNitroAndZipper anyway) ; and fixes the code disabling the use of zipper at start in time-trial (the previous code made the AI use it at random, when it's sometimes better to not use it at all at this moment and to wait later).
2018-04-11 19:00:46 +02:00
Alayan-stk-2
5b4a938165 Bubblegum and Cake improvements 2018-04-11 16:27:49 +02:00
Alayan-stk-2
3f5ab23e50 Make code more compact 2018-04-11 05:35:50 +02:00
Alayan-stk-2
dfb2ff282a Remove anvil handling in arena AI 2018-04-11 04:16:50 +02:00
Alayan-stk-2
074065f274 Remove anvil handling (obsolete) 2018-04-11 04:16:13 +02:00
Alayan-stk-2
22b69e10f4 Check that there is a kart behind/ahead before testing properties 2018-04-11 04:08:21 +02:00
Alayan-stk-2
4496caeadf Move the shield check for the swatter
Reduce unnecessary computation and fix compilation
2018-04-11 03:26:31 +02:00
Alayan-stk-2
8f4744b061 Improved speedometer and nitrometer (#3177)
* New speedometer and nitrometer gui

* Update Speedometer and Nitrometer

* Improve nitro background

* Improve nitro bar drawing

* Improved meters

* Improve meter and rank drawing

* Agressive smoothing and higher visibility

* Helper function for meter drawing

* Helper function for meter drawing

* Improved meters

* New nitro bar, slight 3D effects and hopefully fix compilation

* Update license
2018-04-10 21:14:50 -04:00
Alayan-stk-2
0025ef6305 New item handling functions 2018-04-11 02:54:24 +02:00
Alayan-stk-2
6e7f0051e0 New item handling functions 2018-04-11 02:52:48 +02:00
Alayan-stk-2
ee0b64eb69 Merge pull request #2 from supertuxkart/master
Update fork
2018-04-11 02:06:19 +02:00
Deve
1ee5f3aa8a Keep acceleration sensitivity for up/down button when accelerometer is enabled 2018-04-10 21:09:05 +02:00
auria.mg
a4159a9b1a Update translations 2018-04-09 20:33:36 -04:00
auria.mg
ca771f6218 Cleanup input.xml file (remove unused properties in some cases), add a little inline doc to make it a little easier to customize 2018-04-09 19:28:22 -04:00
Deve
4ef196d086 Fixed minor bug in touch settings dialog 2018-04-10 00:25:38 +02:00
Deve
3f69fd37ed Some improvements for touch device 2018-04-10 00:22:09 +02:00
hiker
bfc832d5de Removed debug output. 2018-04-10 00:45:40 +10:00
hiker
9eb59522c6 Added remaining jump time to skidding state (since the jump time
is used to determine if a kart can skid again or not).
2018-04-10 00:36:29 +10:00
hiker
cca7563bec Avoid issue that when rewinding the latest state is skipped (so
it rewinds from an even earlier state).
2018-04-10 00:32:12 +10:00
hiker
8841200a1c Fixed compilation in debug mode. 2018-04-09 21:57:10 +10:00
auria.mg
7543240db0 Merge branch 'Fix_3167_attempt' 2018-04-08 20:51:54 -04:00
auria.mg
61469a6806 Mitigate AI-related edge cases of original fx 2018-04-08 20:47:24 -04:00
hiker
9eadd2e64d Fixed handling of events that happen at the same time when
m_current points to one of the events.
2018-04-09 08:27:48 +10:00
hiker
1e388c434f Update comment. 2018-04-08 22:12:28 +10:00
hiker
364733882f Code simplification. 2018-04-08 22:12:04 +10:00
samuncle
434f74b4ac Add vertical / horizontal mapping for snow, sand, moss, etc (everything going on top of something) 2018-04-07 22:16:43 +02:00
samuncle
daf4721fa9 Add a mitigation for tilling textures. Very usefull for terrains, etc 2018-04-07 04:11:11 +02:00
samuncle
32016f0118 Add tilling mitigation shader 2018-04-06 16:25:39 +02:00
Deve
4b5c3a37fd Increase target sdk version 2018-04-05 22:18:11 +02:00
Deve
4b972b73c7 Ignore paths that are not writable in assets manager 2018-04-05 22:18:11 +02:00
Arthur-D
9fb88b3eb7 Update README.md
Changed link to point to https://sourceforge.net/projects/supertuxkart/files/SuperTuxKart/ instead of a specific version (which already was outdated and pointed to 0.9.2).
2018-04-03 14:40:46 +02:00
Benau
edbc7233d2 Allow to use space in command line with "" quoting the parameter 2018-04-01 12:34:32 +08:00
Benau
1b6e8f11b8 Make sure lobby display the quick play server name 2018-04-01 11:08:02 +08:00
Benau
47c679e398 Disable wan buttons in init in case of connect-now going back 2018-04-01 10:24:10 +08:00
Benau
6b5a01755c Clean added player if going to login screen 2018-04-01 09:56:03 +08:00
auria.mg
c488c63d38 Rollback part of the recently merged PR that did not belong with AI changes 2018-03-31 21:16:25 -04:00
Alayan-stk-2
8fae521a94 AI item handling improvements (#3143)
* Prepares for advanced item and nitro usage strategy

Replace the bool determining if usage is random or not by an int allowing several levels of AI item usage.

Add NITRO_ADVANCED mode for nitro usage.

* Adapt for more item and nitro levels

The XML files have to be changed. The logic for the item_skill still has to be done.

* Preparation for the preferred kart in GP

* Preparation for the preferred kart in GP

* Preparation for the preferred kart in GP

* Prepares for advanced item and nitro usage strategy

*  Prepares for advanced item usage strategy

* Preparation for the preferred kart in GP

* Parametrized AI_skill level

* Fix typo

* Fix typo

* Fix typo

* Fire items with a shield on in unrestricted mode

* New function allowing AI to know what flyable is incoming

* New function allowing AI to know what flyable is incoming

* Fix typo

* Update bubble gum AI to new system

In addition of making some functionality depends on AI levels, there are a few overall improvements for the better AIs :
1)Remove the "drop the gum in the last lap" logic. Bad strategy since ever the shield has been added to the gum
2)The protection against flyable is not used if the user holds a swatter and the flyable is a plunger 
3)Holding a swatter no longer blocks the AI from using the shield against a flyable nor from using the gum behind
4)The shield is used to remove bad attachments (bomb, parachute, anvil)
5)Reduce the distance with the kart behind when dropping the gum to reduce misses

* Update swatter AI to new system

The swatter could benefit from several kind of usage improvement. This patch introduce only one, but probably the more important : the better AIs now use it to remove bad attachments

* Fixing #3139

* Fix compile error

* Fix

* Fix compilation

* Fix compilation

* Fix compilation

* Update variable

* Update variable

* Fix non-breaking space issue

* Fix typos

* Revert for compilation

* Revert for compilation

* Update cake AI to new system

* Redefine HandleItems to be position aware

* Redefine HandleItems to be position aware

Also changes bowling ball for the new system.

* Activate shield before hitting box or bad item

Meant for higher AIs.

* Increase lookup distance

Some distance will be needed for the switch

* Temporary fix to avoid a nitro regression

* Fix typo

* Fix typo

* Bubble gum improvements ; explicitely calculate distances to items

* Update Switch to the new system ; use item-distance awareness

Also fix a missing parenthesis

* Change nitro-usage to a numerical parameter

* Change nitro-usage to a numerical parameter

Also update comments to explain the new item-skill

* Change nitro-usage to a numerical parameter

* Change nitro-usage to a numerical parameter

* Change nitro-usage to a numerical parameter

* Update handleNitroAndZipper to the new system

Also fix a naming error, remove the 95% speed limitation on nitro usage

* Adds a small engine boost to nitro

Currently, nitro is very counter-intuitive as it only affects max_speed. This change corrects it. The effect remains small to not upset balance. It is mostly felt when below max_speed, so the can of nitro potential power doesn't change much.

* Improve AI nitro handling

Summary :
1)Makes the AI use nitro by bursts, greatly improving its efficiency
2)Makes the AI use nitro when close to max speed (to unlock the max speed increase)
3)Remove the overtaking logic as the AI will now use its nitro anyway
4)The AI tries to keep a reserve of nitro for use towards the end of the race.

* Allows estimated finish time to be checked at any lap, fix a crash

* Makes the AI use its nitro reserves

* Better tuning for nitro reserve usage to reduce the probability of unused nitro

* Remember last used powerup for AI

* Remember last used powerup for AI

* Remember last used powerup for AI

* Remember last used powerup for AI

* Remember last used powerup for AI

* Remember last used powerup for AI

* Fix compilation

* AI don't wait between usage of items of different types

* Use floats for Parachute duration

* Revert

* Nitro use when trying to pass a bomb improved

* Fix broken time check

* Take into account the kart-specific fadeout to calculate time between bursts

* Improvements to bursts and to use of the reserve at the end

* Improve comments explaining item_usage_skill and nitro_usage

* Make LastUsedPowerup a PowerupType

* Make LastUsedPowerup a PowerupType

* Make LastUsedPowerup a PowerupType

* Make LastUsedPowerup a PowerupType

* Make last_used_powerup a PowerupType

* Make last_used_powerup a PowerupType

* Fix compilation

* Fix compilation

* Revert

* Revert

* Finally fix compilation

* Finally fix compilation

* Change shield radius per difficulty

A reduced non-null shield radius reduces false positives as long as it is big enough to get a few frames during which the object is inside the radius.

* Improve Projectile closeness management

* Improve projectileCloseType

* Improve projectileCloseType

* Fixes indentation

* Fix lastUsedPowerup initialization

* Fix the last used powerup type

* Rename projectileCloseType

* Rename projectilCloseType

* Clarify comment and update projectileCloseType to new name

* Reuse a member RandomGenerator

* Fixes getLastUsedPowerup type

* Fixes comparison

* Fixes type
2018-03-31 21:09:57 -04:00
auria.mg
9250e66ff2 Improve 3167 patch 2018-03-31 21:03:56 -04:00
Benau
5920ac5406 Improve server-only run, hide all sp shader debug message 2018-04-01 08:51:12 +08:00
auria.mg
9fe4e2c30e Improve 3167 patch 2018-03-31 20:49:45 -04:00
auria.mg
19338482a8 Improve 3167 patch 2018-03-31 20:38:09 -04:00
auria.mg
04b6f67573 FIx #3167 attempt 2018-03-31 19:42:08 -04:00
Benau
852c78729f Adjust connect-now for new lobby 2018-03-31 16:14:22 +08:00
Benau
7f17d7ab25 Rebuild the network screen stacks up to wan / lan screen 2018-03-31 15:23:20 +08:00
Benau
1a6c219d3f Fix voting timeout in case of time zone difference
Also allow voting when pressing the spinner or reverse checkbox
2018-03-31 14:35:55 +08:00
Benau
47a86cc36f Add initial support for GP and soccer info in lobby 2018-03-31 01:19:23 +08:00
Benau
6c56939f49 Allow to reuse same stkgui for different screen instance 2018-03-31 00:11:39 +08: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
b1013f6030 Merge remote-tracking branch 'origin/network_improvements' into game_protocol 2018-03-31 00:38:57 +11:00
hiker
7e3fc660f1 Moved wrong-way timer from kart into linear world. 2018-03-31 00:16:47 +11:00
hiker
a3f68f621f Renamed member variable and method to better describe them. 2018-03-30 23:22:00 +11:00
hiker
17200d7809 Merge remote-tracking branch 'origin/master' into game_protocol 2018-03-30 22:47:30 +11:00
hiker
10a2ae0e2a Properly fix #3159 (Wrong direction text is displayed twice).
When this is merged with master, the current work around
in #3159 can be reverted.
2018-03-30 22:46:32 +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
auria.mg
a384866e6a Attempt for #3164 2018-03-29 19:23:51 -04:00
Benau
b1ad185d50 Only trying to connect without aloha for WAN only
So the checking of lan direct socket handling in stk host will have
effect
2018-03-29 12:56:01 +08:00
auria.mg
e2645c1060 Fix leak 2018-03-28 19:45:24 -04:00
Benau
1b0bf98766 Fix typo 2018-03-28 13:32:38 +08:00
Deve
0093a8eaab Fixed mingw compilation 2018-03-27 23:03:47 +02:00
Deve
756ec632ae Fixed windows compilation 2018-03-27 23:02:39 +02:00
Deve
eb28126f56 Avoid some code duplication 2018-03-27 23:02:09 +02:00
Deve
3666d1a2ec Allow to use scripting on arm64 2018-03-27 23:01:46 +02:00
Benau
01c1287900 Always remove kart selection screen to avoid setRootID -1 assertion 2018-03-27 16:19:30 +08:00
Benau
c6fa384d94 Fix uninitialized values and broken local kart selection if reenter 2018-03-27 15:44:19 +08:00
Benau
b75428e4e5 Use distance with km 2018-03-27 11:56:36 +08:00
auria.mg
b778b91b5e More UI scaling improvements, see #3146 2018-03-26 21:24:48 -04:00
Benau
ce8a15d90c Add online id with player name for easier banning 2018-03-27 01:23:54 +08:00
Benau
5eb436384f Remove commented out code 2018-03-27 01:15:12 +08:00
Benau
70def13ca2 Use a more sophiscated server-client token validation 2018-03-27 01:02:31 +08:00
Benau
c8dadf76f1 Remove LatencyProtocol now we have server distance and ping in lobby 2018-03-26 14:19:33 +08:00
Benau
a685d5c212 Adjust direct and formal connection timeout 2018-03-26 14:15:05 +08:00
Benau
b5ff84bd46 Further clean up create server screen 2018-03-26 12:37:06 +08:00
Benau
8db959a755 Fix server selection column proportion 2018-03-26 12:27:40 +08:00
auria.mg
ee57bbd6b4 As suggested by deveee, make the server creation screen more scalable. Also cleanup/simplify a bit 2018-03-25 18:10:44 -04:00
Benau
0e2112d7f0 Add server distance calculation 2018-03-26 02:11:04 +08:00
Benau
42e1873458 Fix possible null pointer dereference 2018-03-26 00:32:26 +08:00
Benau
946a902f98 Adjust server creation screen for 1280x720
And add some more game modes
2018-03-24 15:44:15 +08:00
Benau
85895074aa Merge branch 'origin/master' 2018-03-24 09:31:06 +08:00
auria.mg
75c1739ff2 GUI tweaks 2018-03-23 20:38:16 -04:00
Benau
c3ea7f1088 Ignore the first 15 seconds for ping result 2018-03-24 08:20:27 +08:00
Benau
076fb3273f Add 1500ms timeout for direct connection to wan server
This way player can instantly connect to firewall-less server
without waiting for polling in stk addons server
2018-03-24 00:53:42 +08:00
Benau
025ca63df0 Display ping to server in lobby 2018-03-23 22:19:44 +08:00
Benau
1e2cb2dc4a Fix clang screen.hpp warning 2018-03-23 20:20:09 +08:00
Benau
3ee3d8d5bd Randomly use stun servers of the low ping from top-half of the list 2018-03-23 18:51:26 +08:00
Benau
52dc38d03b Use human readable ip for ban list
And update MapUserConfigParam to use initializer_list default value
2018-03-23 17:22:03 +08:00
Benau
e5c66d541b Hide friend request button if already made friend 2018-03-23 15:00:19 +08:00
Benau
dac7158ce0 Show WAN server owner if it's localhost or friends' 2018-03-23 13:41:07 +08:00
Benau
61b6389764 Use crown icon for server owner 2018-03-23 10:08:48 +08:00
Benau
ef15a1881c Better default focus for network dialog 2018-03-23 10:06:04 +08:00
auria.mg
2cabf3594f GUI bugfix 2018-03-22 20:55:23 -04:00
Benau
449365b5b6 Let server take splitscreen players into account for max players 2018-03-22 15:09:52 +08:00
Benau
0599e8c0d7 Fix broken network kart selection for some keyboard configuration 2018-03-22 14:53:29 +08:00
Benau
d8b68a2cbc Remove guest account in network splitscreen 2018-03-22 14:43:16 +08:00
Benau
ebadc84945 Fix assertion when going back fron network to normal kart selection screen 2018-03-22 13:26:44 +08:00
Benau
c026261e0f Improve splitscreen dialog for easier adding 2018-03-22 12:52:37 +08:00
Benau
1b4caa36af Use a better wording 2018-03-22 11:43:09 +08:00
Benau
e9c956b357 Fix possible crash in network splitscreen lobby 2018-03-22 11:42:40 +08:00
Deve
be037781b8 Tweak screen keyboard layout 2018-03-21 23:06:15 +01:00
Benau
152dfe7c55 Add toggling of network splitscreen in online menu 2018-03-22 01:38:29 +08:00
Benau
6fca802c8e Add network split screen kart selection 2018-03-21 15:41:44 +08:00
Benau
e63124ea3e Rename stun list to avoid conflicts with old config 2018-03-21 10:48:37 +08:00
auria.mg
41cd33ce55 Fix Wrong Way message, fixes #3159 2018-03-20 20:05:34 -04:00
Alayan-stk-2
a27dd674a0 Change camera view in debug to the previous/next kart (#3158)
* Change camera view from one kart to the previous/next with F5-6 keys or with menu buttons

* Simplify code

The kart_num/real_num distinction was part of the base code Benau did ; but it is completely redundant after the changes I did to the way kart_num is calculated (it was previously a static int, it's now an unsigned int).
2018-03-20 19:39:18 -04:00
Deve
db3399500f Better scaling initial android dialog 2018-03-20 21:38:06 +01:00
Deve
0471202c9c Fixed stupid isAccelerometerActive condition 2018-03-20 20:55:26 +01:00
hiker
17b3a79997 Removed support for position-based history files, now only
physics history files are supported.
2018-03-20 23:52:02 +11:00
Benau
4379244f3e Adjust based on auria's feedback 2018-03-20 14:56:17 +08:00
Benau
dd3a544834 Use std atomic for timeout 2018-03-20 09:59:14 +08:00
Alayan-stk-2
1dedd915ad Update the track list and reorder it to alphabetic order (#3154) 2018-03-19 20:50:31 -04:00
Benau
e58d86d4d5 Merge branch 'origin/game_protocol' 2018-03-20 08:32:45 +08:00
hiker
e1a2f68073 Fixed warning. 2018-03-20 10:25:06 +11:00
Deve
193ba6909f Represet special keys on screen keyboard by symbols 2018-03-20 00:10:13 +01:00
hiker
4fd205773e Moved graphical weather update into separate update function that
is only called once per rendered frame.
2018-03-20 09:58:34 +11:00
hiker
950fc7a14f Fixed ticks vs time mix up. 2018-03-20 09:51:39 +11:00
hiker
78b120a04f Moved wiimote handling into input manager. 2018-03-20 09:42:26 +11:00
hiker
c456edd9f2 Convert more time handling to handling ticks. 2018-03-20 09:25:39 +11:00
Deve
f559627951 Allow to repeat backspace key on screen keyboard 2018-03-19 23:06:20 +01:00
Benau
d436446de2 Add no-kart-selection network splitscreen 2018-03-20 02:54:10 +08:00
Benau
cfd1de43bb Display all votes in the RHS of tracks screen 2018-03-19 15:08:38 +08:00
auria.mg
ee64a22349 GUI bugfix 2018-03-18 20:22:50 -04:00
Deve
900beae4b2 Allow to create x86_64 android package.
64-bit packages will be required by google.
2018-03-18 21:56:36 +01:00
Deve
203d045485 More improvements for gui on android 2018-03-17 22:28:45 +01:00
Benau
6a963ffcc9 Add POSIX equivalent for detecting parent termination 2018-03-17 12:26:37 +08:00
Benau
e66c4eed35 Properly hide the rectangle box in ghost track screen 2018-03-17 11:12:21 +08:00
Deve
26419e5ee0 Better gui scaling on android 2018-03-16 23:00:58 +01:00
Benau
f9d2d539ff Server never has local player at the moment 2018-03-16 23:09:21 +08:00
Benau
bb7c3c0de3 Move voting timeout to user config 2018-03-16 21:49:14 +08:00
Benau
1a852b7f22 configRemoteKart needs to include the random kart 2018-03-16 21:32:12 +08:00
Benau
8c702a376e Move assign mode to exit callback 2018-03-16 21:31:46 +08:00
Benau
78ac3a922d Fix compiler warnings 2018-03-16 19:06:20 +08:00
Benau
0fef316313 Use lock and push_back 2018-03-16 17:42:21 +08:00
Benau
362b74a77c For server-only there can be no player profile 2018-03-16 17:38:23 +08:00
Benau
758581d13c Merge branch 'origin/game_protocol' 2018-03-16 17:11:40 +08:00
Benau
82be7572a1 Use the new method to connect / start game 2018-03-16 17:11:23 +08:00
Benau
a5c1dbb446 Move voting to server lobby 2018-03-16 14:36:11 +08:00
Benau
d6936c5746 Add remaining time to vote message 2018-03-16 12:45:38 +08:00
Benau
cf898c2795 Remove waiting for other screen now that you can instantly know votes 2018-03-16 11:35:16 +08:00
auria.mg
f8f77edc47 Fix GUI skin issue 2018-03-15 21:29:45 -04:00
Deve
98a7b5a03e Send text message when pressing enter on android keyboard 2018-03-15 21:35:29 +01:00
Deve
3d787f4134 Send text message when pressing enter on android keyboard 2018-03-15 21:35:12 +01:00
Benau
2cedd6729a Try to connect anyway even without aloha message
This should allow clients with strong firewall to connect to
server not behind any firewall
2018-03-16 01:14:43 +08:00
Benau
f78276a930 Show player vote in message queue for immediate effect 2018-03-16 00:54:02 +08:00
Benau
bc56c07c51 Hide the chatbox when disable chatting 2018-03-15 14:02:29 +08:00
Benau
e715140835 Change for new server code in stk-addons 2018-03-15 12:37:02 +08:00
Benau
f7b3950cd4 Fix cursor stop working after pressing enter 2018-03-15 10:39:02 +08:00
auria.mg
2e981b33e7 Patch textbox crash 2018-03-14 21:26:44 -04:00
Deve
38a4e06a6c Avoid window size to be larger than available space.
When window size is equal to screen resolution and user selected windowed mode, we can assume that he wants maximized window.
2018-03-14 22:47:31 +01:00
Deve
9c3998be0e Fixed server_only compilation 2018-03-14 21:43:28 +01:00
Deve
4f51c9c915 One more valgrind fix 2018-03-14 21:02:25 +01:00
Deve
a3c0254f81 Better fix for login screen 2018-03-14 20:49:05 +01:00
Benau
532bd88062 Avoid possible packet loss
The connect to peer done by server will auto terminate if same peer
from same port has connected already
2018-03-15 00:41:01 +08:00
Benau
60d822da50 Only broadcast aloha to self if address is really localhost 2018-03-15 00:34:59 +08:00
Benau
1b8d4c80dc Initial work to port network profile to use weak_ptr 2018-03-14 15:48:02 +08:00
Benau
ea8ba470d6 Use (s) for server 2018-03-14 10:07:54 +08:00
Benau
2e0558323b Merge branch 'origin/network_improvements' 2018-03-14 10:05:07 +08:00
auria.mg
f3d1995033 Change assert into warning, it's definitely not fatal 2018-03-13 21:39:27 -04:00
Deve
6621196266 Don't close STK after login screen 2018-03-13 21:22:21 +01:00
Benau
5699a86586 Allow toggling the display of only private server 2018-03-14 00:50:19 +08:00
Benau
901c5eabec Allow specifying server password in dialog 2018-03-13 16:04:59 +08:00
hiker
d3a60356c9 Merge remote-tracking branch 'origin/fix-timestep' into game_protocol.
Started to use ticks instead of time floating point values in networking.
2018-03-13 18:37:12 +11:00
Benau
c73536263f Add password protected and version info to server 2018-03-13 14:39:20 +08:00
Benau
fe0adadd16 Simplify linebreak 2018-03-13 12:52:04 +08:00
Benau
a33a9a040b Allow text box widget to listen enter event 2018-03-13 09:00:44 +08:00
Deve
952b973b89 Valgrind complains about changing variable after closeScreen 2018-03-12 23:03:15 +01:00
Deve
fd14c7fa91 Update android tv banner.
Thanks to Mr.XX99 for his work.
2018-03-12 21:49:09 +01:00
Benau
b72cf4f406 Don't assert peer size for client as the listening thread is delayed-start 2018-03-13 01:03:02 +08:00
Benau
8330919a3a Add missing stkgui for lobby chat 2018-03-13 00:51:08 +08:00
Benau
0f6dbbb4a0 Add default-disabled lobby chatting 2018-03-12 16:51:30 +08:00
Benau
25da48634d Add kick ban in network console configurable in config.xml 2018-03-12 13:59:38 +08:00
Benau
bb3bcdca3e Change int to int map to uint32_t for server ban list 2018-03-12 12:39:16 +08:00
Benau
93c910f18b Use a uniform translated timed out string 2018-03-12 11:38:37 +08:00
Benau
d527c0eee2 Use icon to identify server owner, online and offline players
Also hide the friend request button for offline players
2018-03-12 11:28:13 +08:00
Benau
ffd6e84759 Stop threads of texture loading before destroying shader manager 2018-03-12 09:21:30 +08:00
auria.mg
48f2aa3da4 Fix bubblegum flashing, fixes #3133 2018-03-11 19:35:59 -04:00
auria.mg
361e03c375 Fix more keyboard issues, fixes #3131 2018-03-11 19:06:48 -04:00
auria.mg
2087a72cf3 Improve keyboard-only navgation. See #3131 2018-03-11 18:50:55 -04:00
Benau
95208967cf Add kicking player for server owner 2018-03-12 02:05:38 +08:00
Benau
3bbec8aa27 Initial work on lobby redesign 2018-03-12 00:18:53 +08:00
Benau
4dea283965 Only run enet command in listening thread
And use sleep instead of timeout for new code
2018-03-10 14:56:32 +08:00
Benau
c50cdd9d68 Only start listening after trying connect to a server 2018-03-10 13:20:18 +08:00
Benau
98e3d82921 Add kicking players and properly recieve disconnect events 2018-03-10 12:34:33 +08:00
Benau
22ca1cb751 Avoid sending to wrong peer in case of disconnection 2018-03-10 01:07:23 +08:00
Benau
8e1cc2b0c8 Make latency protocol work with weak pointer of STKPeer 2018-03-10 01:00:10 +08:00
Benau
5600d01b2c Use shared_ptr of STKPeer if needed 2018-03-09 23:54:13 +08:00
Benau
e439e68b60 Move protocol start after creation of STKHost 2018-03-09 23:01:20 +08:00
Benau
5756fd5f48 Use a mutex to make only 1 enet_peer_send happening
In reality we need mutex to protect enet_host_service, but it leads
to seriously increased locked time
2018-03-09 23:00:47 +08:00
Benau
d538dfc7e6 Header cleanup 2018-03-09 21:17:31 +08:00
Benau
9c46b70042 Use peerExists to check for establishment of connection 2018-03-09 19:05:25 +08:00
Benau
dd2e32a953 Implement a thread-safe list of STKPeer
Block re-connect from the same ip and port and clean up add or
remove of peers
2018-03-09 18:33:19 +08:00
Benau
db68756fd6 Use mutex to prevent joining of players when start selection 2018-03-09 09:22:13 +08:00
Deve
d271e27590 Show progress bar before new data is extracting. It will at least show that the game is not hanged and is doing something. 2018-03-08 21:45:20 +01:00
Benau
2d86adce3c Fix quitting the server 2018-03-08 13:19:24 +08:00
Benau
0b00640760 Let stk host clean up server id file 2018-03-08 12:00:36 +08:00
hiker
8cf885652f Merge remote-tracking branch 'origin/master' into game_protocol 2018-03-08 09:51:00 +11:00
hiker
fa624c90e1 Merge remote-tracking branch 'origin/master' into fix-timestep 2018-03-08 09:50:14 +11:00
hiker
e4ea3291b1 Fixed world time differences between client and server. 2018-03-08 09:47:42 +11:00
Benau
cd713f6c99 Move hiding icons for android to beforeAddingWidget 2018-03-07 11:04:00 +08:00
Deve
022dd68a17 Some fixes for gamepad on android 2018-03-06 23:23:15 +01:00
Benau
aa06d3f4e2 Always use lan connection for connect-now 2018-03-07 00:56:43 +08:00
Benau
269c9318e5 Send a broadcast in case of lan connection for wan server 2018-03-07 00:51:59 +08:00
Benau
177c7b147c Fix connect to wan server in lan network 2018-03-06 16:18:57 +08:00
Benau
1dc7f3aa4e Move port configuration to user and stk config 2018-03-06 15:38:51 +08:00
Benau
88e9d6a34c Fix server selection screen loading dots 2018-03-06 14:40:29 +08:00
Benau
821a00c039 Fix some corruption in server only stk 2018-03-06 13:11:05 +08:00
Benau
66626e4ea8 Fix uninitialized value 2018-03-06 11:59:08 +08:00
Deve
e00074cb14 Some work on gamepad support on android.
Still it works only for single gamepad, but at least it's preconfigured and google shouldn't complain about stupid button names.
2018-03-06 00:19:01 +01:00
Benau
03285a33a3 Move ModalDialog::dismiss() after setJoinedServer 2018-03-06 01:38:09 +08:00
hiker
ae111d3cfb Fixed item rotation in network mode. 2018-03-05 22:42:01 +11:00
Benau
d5c1ac30ab Fix signin leaking 2018-03-05 16:34:15 +08:00
hiker
4f9353e03f Reduce camera shaking (caused by camera being updated during rewind). 2018-03-05 17:52:06 +11:00
Benau
eec166c90d Always clean up server id file in case client failed to connect 2018-03-05 13:55:35 +08:00
Benau
4ab04bc546 Don't overwrite user id and token if using client-server 2018-03-05 13:52:04 +08:00
Benau
ebcaa2c1ad Fix auto connect 2018-03-05 13:04:17 +08:00
auria.mg
aa027bd09c Fix GUI bug 2018-03-04 18:38:58 -05:00
Benau
2b56a97b08 Clean up Server, ServersManager and quick play
For now we choose the server with the least player for quick play
2018-03-05 01:54:44 +08:00
Deve
8f78d4e891 Add a popup on first run on android, so that user can choose if accelerometer should be enabled 2018-03-04 00:08:24 +01:00
Deve
975fc8f84a Don't show screen keyboard when hardware keyboard is available 2018-03-03 21:06:59 +01:00
Benau
58757c2927 Hide create server buttons for android 2018-03-03 14:31:38 +08:00
Benau
594780a758 Don't use setVisible for IconButtonWidget in beforeAddingWidget 2018-03-03 14:22:44 +08:00
auria.mg
89596af654 UI bugfix 2018-03-02 20:44:00 -05:00
auria.mg
0cd5b5672e Fix assert failure 2018-03-02 19:46:43 -05:00
Deve
41ba4395d9 Don't spam with old drivers popup on android 2018-03-02 22:34:20 +01:00
Deve
729e508027 Disable accelerometer in options if it's not available 2018-03-02 22:30:22 +01:00
Deve
4157eef894 Get device orientation only if accelerometer is used 2018-03-02 21:38:15 +01:00
Deve
402b2ffb7a Fixed compilation 2018-03-02 20:29:25 +01:00
Benau
4e2863294d Use stun servers that return XOR mapped address 2018-03-02 22:38:04 +08:00
Benau
4f9af9d438 Don't use getifaddrs as it crashes android 2018-03-02 20:03:04 +08:00
Benau
43cf29af86 Merge remote-tracking branch 'origin/network_improvements' 2018-03-02 17:39:16 +08:00
Benau
efa294d4f4 Clean up lan and wan server code 2018-03-02 15:21:27 +08:00
Benau
80a9cc5c48 Auto shutdown the child STK server in windows 2018-03-02 13:25:14 +08:00
Benau
a27512f515 Use ostringstream to add server option 2018-03-01 12:50:51 +08:00
Benau
d76bd49eee Fix one more non-exist GL call in no graphics 2018-03-01 12:19:25 +08:00
Benau
9d93e0112c Try to fix OSX no-graphics STK 2018-03-01 10:10:08 +08:00
Deve
a00c1cadc8 Simplify accelerometer selection in settings 2018-02-28 22:01:30 +01:00
Deve
0ee00ad1e5 Make accelerometer values relative to device orientation 2018-02-28 22:01:30 +01:00
Benau
3141b67f89 Use a signal handler to partially clean up STK when terminating 2018-03-01 02:19:26 +08:00
Benau
13d4cc50cf Use server id file to determine the status of no-graphics server 2018-02-28 16:09:53 +08:00
Benau
e760642842 Use NetworkConfig to set user id and token 2018-02-28 15:29:40 +08:00
Benau
18eb0a613a Allow non-saved password user to create wan server 2018-02-28 15:05:34 +08:00
samuncle
0c23e6063d Merge branch 'master' of https://github.com/supertuxkart/stk-code 2018-02-27 23:39:28 +01:00
samuncle
7db4ef8056 Add a shader to use the day/night cycle for lamps, etc 2018-02-27 23:38:28 +01:00
Deve
6b4fb50876 Convert tabs to spaces 2018-02-27 23:24:29 +01:00
Deve
36c6ea52ae Allow to detect device rotation for better accelerometer support 2018-02-27 23:24:29 +01:00
samuncle
39c50c838f Make access to the time of the track in the shader to react to day/night cycle 2018-02-27 23:20:49 +01:00
Benau
cd5cb5ef6d Use STKHost to determine graphics-client-server 2018-02-27 14:10:44 +08:00
Benau
6536a311b3 Allow logging save only to a file 2018-02-27 13:22:58 +08:00
Benau
4ac34fac76 Don't register LAN server 2018-02-27 12:56:22 +08:00
Deve
4cc56aec1b Detect system language on android 2018-02-26 21:25:08 +01:00
Benau
0e2d5ab460 Allow server and client together in graphics 2018-02-27 02:40:50 +08:00
Benau
92b5f69220 Move hiker's SSM to a SeparateProcess class for graphics + client server 2018-02-27 01:40:36 +08:00
Benau
d8007c4518 Update server for new xml code
And initial work for starting a complete stk server
2018-02-26 14:23:34 +08:00
Deve
78bb9e78ac Fixed version number for nvidia gles.
It uses gl version string: OpenGL ES 3.2 NVIDIA 384.111
2018-02-25 22:40:15 +01:00
Deve
34f0f8c239 Fixed a bug with red light in thunderbird model on android 2018-02-25 22:17:53 +01:00
Benau
6c18664967 Make sure protocol manager exists when requesting 2018-02-25 15:24:46 +08:00
Benau
c5cf87071c Use xmlEncode for proper unicode handling 2018-02-25 14:32:38 +08:00
Benau
2fcaeabf1c Increase timeout in case of busy network 2018-02-25 13:45:43 +08:00
Benau
571a524f59 Update lobby for new gui engine code 2018-02-25 13:31:45 +08:00
auria.mg
7b903a09ba Add text_valign="top" support to GUI engine 2018-02-24 21:49:49 -05:00
auria.mg
8d565fba11 Unicode fix 2018-02-24 21:38:31 -05:00
Benau
34caab24fe Update networking lobbdy for better display info 2018-02-25 02:09:07 +08:00
Benau
2a117d8e44 Don't lock in async update in protocol manager
It allows GUI interacts with protocol more actively

Also don't handle lan connection request if we are not waiting for
players
2018-02-25 02:07:24 +08:00
Benau
b26b784b6a Various improvements to WAN and LAN connection 2018-02-24 15:48:30 +08:00
Ethan Uzarowski
b782af2949 Remove "Final lap!" message in one-lap races (#3127)
* Fix "Final lap!" message on one-lap races

When starting a one-lap race, the game gives the message "Final lap!". This should only be given when there is more than one lap in the race. This commit changes linear_world.cpp so that this message is only given when the number of laps in the race is greater than 1.

* Fix spacing

I accidentally changed the spacing when making my last commit. This commit fixes that accident.
2018-02-23 20:43:46 -05:00
hiker
95f0bf9e3b Used functions in stk_config to convert between ticks and times. 2018-02-23 23:22:49 +11:00
Benau
d586ab9011 Allow auto-fallback to another unused port if needed 2018-02-23 16:16:43 +08:00
Benau
a93182740e Reset NetworkConfig when exiting WAN game screen 2018-02-23 15:46:03 +08:00
Benau
7d14954012 Simpify network console 2018-02-23 14:57:59 +08:00
Benau
1023e6580e Unregister STK server when exiting 2018-02-23 14:01:20 +08:00
hiker
cb712411e0 Converte some pararchute values to use ticks. 2018-02-23 10:01:22 +11:00
Benau
005454ba7b Use the recieved port to connect, also fix a possible crash 2018-02-22 16:38:53 +08:00
hiker
81342ddd00 Fixed several mixups of ticks and time. 2018-02-22 19:25:11 +11:00
hiker
7a53cf16fe Fixed compiler warnings. 2018-02-22 19:19:04 +11:00
Benau
33435de026 Fix lan game in localhost, also improve timer behaviour 2018-02-22 16:03:54 +08:00
Benau
4559fd6a2c Remove unused protocol 2018-02-22 15:14:15 +08:00
Benau
1458f3ef8e Fix wan connection, move get public address from stun to stk host 2018-02-22 15:11:07 +08:00
hiker
797e35c674 Bugfix, forgot to change the type from float to int. 2018-02-22 09:23:45 +11:00
hiker
1c3da88e77 Replaced more time with ticks. 2018-02-22 09:22:57 +11:00
hiker
09e7a5cc13 Converted more times to using ticks; fixed bug that in case of
a race restart the fastest lap was not reset.
2018-02-21 22:46:35 +11:00
hiker
27b5409487 Use ticks (at the physics frame rate) for time measurement, which
avoids potential floating point errors (in networking).
2018-02-21 22:18:45 +11:00
hiker
208c5eb6d8 Merge remote-tracking branch 'origin/master' into fix-timestep 2018-02-21 08:35:58 +11:00
Benau
8daebe06e1 Allow creating wan server in command line
It can only be used with a saved online player, also fix a weird
crash if server failed to create (wan is NULL)
2018-02-20 15:11:58 +08:00
Benau
22c755a328 Show protocol name when it is terminated (easier for debugging) 2018-02-20 13:33:43 +08:00
Benau
14b401b54e Use std atomic for server state 2018-02-20 11:14:57 +08:00
Benau
04a6f6d08b Warn user about multiple instance of STK server 2018-02-20 10:11:09 +08:00
Benau
3223d05c6c Merge remote-tracking branch 'origin/master' into network_improvements 2018-02-20 00:14:29 +08:00
Benau
4ab823cfbc Move lan network socket to thread main loop, fixed leaking of it too
Also call enet_deinitialize when destroy STKHost
2018-02-19 11:36:32 +08:00
Benau
e393e3d4f0 With shared_ptr protocol is not leakable 2018-02-18 14:50:06 +08:00
Benau
e52ab5888c Don't crash when close STK window directly 2018-02-18 14:13:24 +08:00
Benau
c5b986e874 Allow going back to online menu if server connection is lost 2018-02-18 14:06:17 +08:00
Benau
6fd7fb0e0e Allow reconnecting to lan servers as many time as possible 2018-02-18 13:24:29 +08:00
Benau
0a5c1a69c7 Use shared_ptr for protocol to avoid leaking
With weak_ptr it's also possible to auto clear LobbyProtocol when
STKHost is shutdown
2018-02-18 12:39:05 +08:00
Benau
bcf8e4e5fe Allow shutdown STKHost from dialog 2018-02-17 16:25:53 +08:00
Benau
4c1cc50955 Don't pause timer in network as it breaks rewind
Also remove the unneed protocol manager checking
2018-02-17 15:38:56 +08:00
Benau
372753f505 Use atomic flag to start / stop listening thread 2018-02-17 11:40:48 +08:00
Benau
cfeadf335c Move some code to header 2018-02-17 10:51:33 +08:00
Benau
c5788a2c90 Move the cleaning of events to destructor of protocol manager
So that the last one who deletes it can clear all the remaining data
properly (ie if it's STKHost listening thread)

Remove the assert in async update thread as it may not be true for
the first thread creation
2018-02-16 00:48:27 +08:00
Benau
05f7c014dd Create a prototype for thread-safe protocol manager
Using weak and shared_ptr, if !lock(), than it was atomtically
destroyed
2018-02-15 16:47:04 +08:00
Benau
3d8efcdfa1 Use >= for counter in case of some peer disconnect in between for completing race end 2018-02-15 15:33:18 +08:00
Benau
fa2a8bccd3 Reset available karts and tracks each selection 2018-02-15 14:07:58 +08:00
Benau
20a2bc3bbb Terminate controller and game event protocols when exit result screen 2018-02-15 13:28:28 +08:00
Benau
e7d3658a53 Merge remote-tracking branch 'origin/network_improvements' into game_protocol 2018-02-15 10:36:14 +08:00
hiker
c0333fe0f7 Bugfix: TimeInfo objects were missing for substeps, resulting in
very stuttering game play.
2018-02-15 10:06:13 +11:00
Deve
bfb862645d Print some debug info 2018-02-14 22:28:55 +01:00
Deve
959f33223e Enable multitouch gui only if touchscreen is available 2018-02-14 22:28:55 +01:00
Benau
469f7d2fc5 Drop player if he has incompatible karts / tracks 2018-02-14 12:23:05 +08:00
auria.mg
e26239e364 Improve the input sensing text to be a bit clearer 2018-02-13 20:35:07 -05:00
hiker
4bd7848431 Removed duplicated update of the ProtocolManager, and only
update it when STKHost exists (otherwise STK will crash since
ProtocolManager can get called when it does not exist).
2018-02-14 09:27:13 +11:00
hiker
2a30f75b78 Avoid crash that can happen if the first DT is large and event
happens during that time.
2018-02-14 09:20:45 +11:00
hiker
df5adbc320 Fixed comment. 2018-02-14 09:20:27 +11:00
Benau
8a1ef31f4a Allow remove unusable karts or tracks in network game 2018-02-14 01:57:05 +08:00
Benau
46416781fa Make it possible to restart race after going back to lobby
At the moment the token is reset by client after each restart
2018-02-13 15:20:55 +08:00
auria.mg
196b5a2bbe Minor ajustments to kart color screen, make kart slightly bigger, make XML cleaner 2018-02-12 20:22:35 -05:00
auria.mg
ceeb79f3a4 Restore accidentally removed resolution ajustment in kart color selection screen 2018-02-12 20:16:31 -05:00
auria.mg
2830dabfc1 Improve kart color selection screen, fixes #3122 2018-02-12 20:08:51 -05:00
hiker
26401972d2 Merge branch 'fix-timestep' into game_protocol 2018-02-13 08:41:49 +11:00
Deve
4cc57dd754 Fixed a crash when logging long messages 2018-02-12 21:31:32 +01:00
hiker
000b613b8b Fixed compiler warnings. 2018-02-12 18:10:52 +11:00
hiker
4ce66e754b Fixed compiler warnings. 2018-02-12 18:07:51 +11:00
hiker
fa20e4f866 Only issue sfx commands once per rendered frame (during the last
substep).
2018-02-12 18:01:05 +11:00
Qwerty Chouskie
8a51cae73d Final(?) tweak 2018-02-11 19:16:23 -08:00
Qwerty Chouskie
835d4ccc63 Update skidding effect
Also fix nitro when skiddding
2018-02-11 19:01:42 -08:00
hiker
c7bc47f2e3 Fixed world update to be fixed at the physics frame rate. 2018-02-12 09:54:46 +11:00
hiker
4d03fbd1fb Made the physics time step size configurable in the config file. 2018-02-12 08:23:06 +11:00
Benau
971db902a8 Fix queries stop working after changing resolution 2018-02-11 15:06:35 +08:00
Benau
0e3398a46b Use eglGetProcAddress for debug function 2018-02-11 14:56:43 +08:00
Benau
7ebc33bcaa Fix server only build 2018-02-11 02:03:09 +08:00
Benau
b42c540eed Allow to save current GPU query string to apitrace 2018-02-11 01:53:30 +08:00
hiker
37d81be033 Made the physics time step size configurable in the config file. 2018-02-10 17:55:45 +11:00
hiker
4f54fb7898 Avoid crash in history replay (dirty workaround), 2018-02-10 17:51:12 +11:00
hiker
52e9330212 Removed debug output. 2018-02-10 17:34:10 +11:00
Benau
3290321c5d PlayerController can become EndController anytime 2018-02-09 18:00:19 +08:00
Benau
366313d29d Avoid an unknown value from attachment rewind 2018-02-09 17:59:48 +08:00
hiker
434a9c5dcc Fixed compiler warnings. 2018-02-09 16:14:38 +11:00
hiker
4d75042f3b Fixed compiler warnings. 2018-02-09 16:12:44 +11:00
hiker
113e3c0c09 Merge branch 'game_protocol' of github.com:supertuxkart/stk-code into game_protocol 2018-02-09 16:09:39 +11:00
hiker
8eddff3e34 Merge branch 'speed-cap-to-physics' into game_protocol 2018-02-09 16:03:58 +11:00
hiker
b3243a3589 Merge branch 'speed-cap-to-physics' 2018-02-09 09:38:34 +11:00
hiker
6c0f97261a Fixed missing startup boost, improved maths to only use
velocity in the current plane for boosting.
2018-02-09 09:15:23 +11:00
Deve
a18351c052 Some fixes for gamepad buttons 2018-02-08 22:34:53 +01:00
Benau
9a5ce54c4f Merge remote-tracking branch 'origin/master' into game_protocol 2018-02-09 00:53:02 +08:00
Benau
7210992e3d Prevent local player == 0 when in network mode 2018-02-09 00:49:55 +08:00
Benau
19c705f27c Make wrong way message always centered, fix #3115 2018-02-08 13:15:22 +08:00
Deve
5e8343a068 Add basic gamepad support for android 2018-02-08 01:24:35 +01:00
Ben Krajancic
d96b6b92ce Split screen regression fixes (#3116)
* Fix lapcount

* Fix selection box color

* Fix messages on screen

* Fix scaling

* Fix for icons

* Styling fixes

* fix style issue

* Fix calls

* Final call fix
2018-02-07 18:52:53 -05:00
Benau
0e5b7b532c Further boost stk by writing 1 less framebuffer attachment
Now we can get determine the background color by depth, so
the alpha tricks in diffuse color fbo is not necessary

And using rgba8 to pack normal doesn't seem to cause visual glitches.
2018-02-07 12:49:45 +08:00
hiker
777435fb35 Merge branch 'master' of github.com:supertuxkart/stk-code 2018-02-07 09:58:22 +11:00
Deve
f101c9e366 Fixed android compilation 2018-02-06 23:17:34 +01:00
samuncle
704fe3e32a Fix a bug in the emissive contribution. Now there is a bigger range of value for bloom 2018-02-06 23:15:21 +01:00
hiker
c37f2887c1 Fixed compiler warnings and coding style issues. 2018-02-07 08:54:15 +11:00
hiker
3788a3d90d Merge remote-tracking branch 'origin/master' into speed-cap-to-physics 2018-02-07 08:36:48 +11:00
Deve
a755dae85f One more fix for android tv 2018-02-06 22:35:46 +01:00
Deve
8fd52cd8e3 Fixed android compilation with different sdk version 2018-02-06 22:35:46 +01:00
hiker
a72ed7ef30 Merge branch 'master' of github.com:supertuxkart/stk-code 2018-02-07 08:34:51 +11:00
hiker
1f7350822c Added buffer flushing if a history replay is aborted. Don't print
data to stdout when using buffering (since it slows down flushing).
2018-02-07 08:32:22 +11:00
hiker
5a07739786 Prevented a crash when aborting STK (audio thread is not shut down
in this case, but is getting deleted - but the audio thread might
still try to insert an update event during that time).
2018-02-07 08:22:19 +11:00
Ben Krajancic
0f3518e71b Unlimited Split-Screen (#3104)
* Initial SplitScreen

All are upside down and player 1, 5 player does 6 even...

* Working version of splitscreen

* black screen fix

* te fix

* Update race_gui.cpp

* Change item

* wrong way fix and refactorings

* Fix icon scale, cleaning code for lap count

* Remove tabs

* Add settings option

* Fix FOV

Right now the FOV gradually  decreases when going from 1,2,3,4 players. Then after 4 players it wont drop any lower. This behaviour can easily be replaced in the future

* Prevent overflow

* Unlimited splitscreen

* Space out duplicate skins across additional players

* Update stk_config.cpp

* Update irr_driver.cpp

* Update options_screen_ui.cpp

* Update irr_driver.cpp

* Update options_screen_ui.cpp

* Update race_gui.cpp

* Update irr_driver.cpp

* Fix for empty pixels at edges

* Fix referring to template not int

* Fix compile errors

* Progress towards fixing selection screen

* Begin process for selections

* Fix selection screen for >4 people

Important GUI changes included

* Disable changing rows/cols ingame

* fix sp related crash

* Styling fixes
2018-02-05 20:01:32 -05:00
hiker
2e3e594967 Merge remote-tracking branch 'origin/master' into speed-cap-to-physics 2018-02-06 11:27:02 +11:00
Ben Krajancic
0c171bfc8d Better rescue (#3106)
* Half of the rescue animation is now placing the kart back down

* Bit of cleaning

* Single Camera Cut

* Update rescue_animation.hpp

* Update rescue_animation.cpp

* progress to fixes

* potential fix

* broken implementation

* Latest attempt

* Instant camera snap when placing the kart down

* style cleanups

* Fix BACKSLASH

HYEH
2018-02-05 19:04:00 -05:00
Deve
8742420c23 Allow to navigate with dpad 2018-02-05 22:54:50 +01:00
hiker
d5938a2447 Replaced old zipper handling in physics with minSpeed setting. 2018-02-06 08:51:17 +11:00
hiker
1c2fdc1c14 Fixed compiler warnings. 2018-02-06 08:29:18 +11:00
Deve
14c7d757ad More work for android TV.
If you want to make better banner, then you are welcome!
2018-02-05 22:11:09 +01:00
hiker
884e966ab9 Added capability to handle setting the maximum speed first to 0, and then
later to a higher value (which happens in overworld, which sets max speed
to 0, but the value got later overwritten with the normal supertuxkart max_speed
handling.
2018-02-05 16:11:19 +11:00
hiker
baa0677b1a Handle max- and min-speed capping in phyiscs (which is frame rate
independent).
2018-02-05 15:57:40 +11:00
hiker
55159fbdcd Prevented a crash when aborting STK (audio thread is not shut down
in this case, but is getting deleted - but the audio thread might
still try to insert an update event during that time).
2018-02-05 09:39:40 +11:00
Deve
12723239a7 Use higher target sdk version for android.
It should help STK on Android TV and it still works for me on Android 4.4 under emulator.
2018-02-04 22:37:02 +01:00
Deve
ff884852d7 Don't hardcode stk data dir on android 2018-02-03 22:18:42 +01:00
Benau
01c2680f73 Fix runtime typo 2018-02-04 01:07:42 +08:00
Benau
ac8294abdb Clean up debug visualization
Allow toggle (triangle) normal / (bi)tangent / wireframe separately
2018-02-03 13:14:15 +08:00
Benau
9d9502e99c Move glBindVertexArray(0) to a better place for deferred enabled 2018-02-03 11:27:53 +08:00
Deve
48cde3e041 Try to create 32bit visual for gles if 24bit failed.
People need it for Odroid boards.
2018-02-02 22:15:31 +01:00
Benau
a2052b77b9 Remove unneeded flat out
We can share the same uniform name, esp flat out is not working
for my adreno 306 in android 5.0
2018-02-03 00:21:59 +08:00
Benau
e3483fccbe Unroll the skinned mesh shader for loop
This give some fps improvement for adreno 306 in android 5.0
2018-02-02 21:59:13 +08:00
Benau
e4c827176a Remove flat for hue_change
It causes bad rendering in adreno 306 in android 5.0
2018-02-02 21:17:24 +08:00
Benau
e81e16c6da Fix possible vao crash
Some bindbuffer later will invalidate the previous bound vao
2018-02-02 13:41:11 +08:00
Benau
b26e62322f Fix polycount without artist debug mode 2018-02-02 12:08:36 +08:00
hiker
c201483f5b Merge branch 'master' of github.com:supertuxkart/stk-code 2018-02-02 13:09:15 +11:00
hiker
f29da60ac4 Coding style fixes. 2018-02-02 09:45:15 +11:00
hiker
59f28d3746 Fixed line ending style. 2018-02-02 09:16:34 +11:00
Deve
8771c77689 Allow to use dependencies for vs and mingw without changing the names every time.
Now there are:
- dependencies-vs
- dependencies-vs-64bit
- dependencies-mingw
- dependencies-mingw64

And if it's not found, then fallback to:
- dependencies
- dependencies-64bit

So that if you use only one compiler, then you can just still use "dependencies" or "dependencies-64bit".

And I didn't restrict it to WIN32 only, because in theory it should be possible to put there openglrecorder for linux build.
2018-02-01 21:36:28 +01:00
Benau
a137665916 Fix god rays in split screen
Also use rgba8 fbo for the glowing of sun
2018-02-01 15:39:06 +08:00
Benau
dbb82fea94 Clear default framebuffer when drawing from our rtt for first cam
Also remove unused IReferenceCounted in post processing
2018-02-01 13:46:42 +08:00
Benau
baff519a21 Use the correct vertex color for rubber band 2018-02-01 11:28:38 +08:00
Benau
e06fabde96 Clean up alpha test and unlit shader
Remove 1 wrong line in alpha test shader
2018-02-01 11:26:58 +08:00
Benau
4dd6f75998 Rename wrong profiler item 2018-01-31 10:31:25 +08:00
Deve
50ad5eed33 Try to fix VS build 2018-01-30 23:44:55 +01:00
Deve
4529189048 Upgrade enet 2018-01-30 23:10:30 +01:00
Deve
fc15a33a39 Add an option to use system enet.
Atm. use it only on linux, because there is no need to spam with cmake warnings on other platforms.
Also fallback to built-in enet if system enet is not found.
2018-01-30 22:57:40 +01:00
Igor Gnatenko
810df68f9c Unbundle ENet
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
2018-01-30 22:29:38 +01:00
leper
47dc4bdbaa Remove enet modifications. Fixes #21. 2018-01-30 22:06:07 +01:00
Benau
154ad8d0db Fix skybox blending with light scatter 2018-01-31 01:31:12 +08:00
Benau
af6b075450 Clear stencil buffer when possible 2018-01-30 14:49:26 +08:00
Benau
9399db6eba Split glow to avoid re-bind color framebuffer 2018-01-30 14:25:50 +08:00
Benau
9e57bfb73f Split point light scatter so it can be combined together 2018-01-30 13:42:50 +08:00
Deve
853084e75a Fixed mingw compilation 2018-01-29 22:14:43 +01:00
Deve
3345fa6e51 Try to fix travis.
It reverts commit:
https://sourceforge.net/p/angelscript/code/2278/

It looks that it's impossible to detect "real" clang version using compiler definitions, so that we can't check if std::is_trivially_default_constructible is available.

I mean that clang 4.0 on my machine is "newer" than clang 5.0 on travis, because it tries to use gcc 4.8 headers:

/usr/lib/gcc/*x86_64-linux-gnu/4.8*/../../../../include/c++/4.8/type_traits:1211:12:
note: 'has_trivial_default_constructor' declared here
    struct has_trivial_default_constructor

At this stage we can just disable AS_CAN_USE_CPP11 for clang. It was disabled for clang before our angelscript upgrade, so that it's not worse than before.

Note that I don't use clang and I don't really know what are our requirements (for example for Mac OS build). Feel free to revert it after travis upgrade.
2018-01-29 20:48:15 +01:00
Magne Djupvik
748a65c013 Made Old Mine Expert challenge a bit more challenging. 2018-01-29 18:51:43 +01:00
Magne Djupvik
6ac36f8117 Merge branch 'master' of https://github.com/supertuxkart/stk-code 2018-01-29 16:53:26 +01:00
Magne Djupvik
b5d2ce4850 Added back 5 seconds to challenges after feedback. 2018-01-29 16:52:18 +01:00
Benau
9ebcdc5af3 Set DeviceManager assign more to ASSIGN in network kart selection
Because input manager use this to determine backspace functionality
(for rescue in game or leave a screen)

This will be reset to NO_ASSIGN when you go back to main menu screen
2018-01-29 14:50:29 +08:00
Qwerty Chouskie
89a8219ec9 Tweak particle emission rate
The boost-specific rate was never really noticeable anyways.
2018-01-28 13:36:45 -08:00
Deve
1979298b06 Use pkgconfig only on linux 2018-01-28 21:39:21 +01:00
Benau
f0c03b317e Use std::make_tuple instead of list initialization 2018-01-29 00:08:28 +08:00
Magne Djupvik
ad2665c641 Made Northern Resort and Blackhill Mansion Expert challenges more difficult. 2018-01-28 15:17:27 +01:00
Benau
11f9b74e13 Don't use out variable in vertex shader 2018-01-28 15:28:20 +08:00
Benau
9737c2f950 Further clean up framebuffer
Avoid using hdr framebuffer in displace and glow

Also remove stencil test in mlaa (in the pass no stencil buffer
exists in FBO_MLAA* anyway)
2018-01-28 15:10:17 +08:00
Benau
ccc83a28f2 Clean up rtts and framebuffers
Use rgba framebuffer for tonemap and later, don't create
unnecessary rtts.
2018-01-28 14:07:03 +08:00
Ben Krajancic
f6f051e85b Consistent split screen (#3105)
* Splitscreen positions are now consistent across rounds

* Fix tabs

* Remove unnecessary comments
2018-01-27 19:27:17 -05:00
Qwerty Chouskie
d4aa7b69ad New skidding particle effect (and a small fix for the SFX)
The textures are here:

https://jacobspctuneup.tk/STK/skid-particle1.png
https://jacobspctuneup.tk/STK/skid-particle2.png
2018-01-26 14:41:41 -08:00
Deve
0003b39d31 Install appdata file in correct directory.
As reported on Debian:
https://lintian.debian.org/tags/appstream-metadata-in-legacy-location.html
2018-01-26 22:33:37 +01:00
Deve
8cd6f61e44 Restore information about license 2018-01-26 22:18:22 +01:00
Deve
0532a41ab3 Convert tabs to spaces 2018-01-26 22:03:04 +01:00
Deve
5aaf3a9c39 Comment out unused wayland code to avoid compilation errors with clang 2018-01-26 21:41:39 +01:00
Deve
4802c4d11c Avoid cmake warning 2018-01-26 21:20:33 +01:00
Igor Gnatenko
aec7ca0ce9 libs: update angelscript to 2.32.0
Fixes: https://github.com/supertuxkart/stk-code/issues/2528
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2018-01-26 21:19:01 +01:00
Sam
c4b42c1852 Add layer of abstraction to output pbrData 2018-01-26 20:16:16 +01:00
Sam
f5a0e6477e put the correct convention 2018-01-26 11:10:16 +01:00
Sam
e75f1cb799 Merge branch 'master' of https://github.com/supertuxkart/stk-code 2018-01-26 10:52:23 +01:00
Sam
a1c9ad107f Add the possibility to disable an object for shadow pass 2018-01-26 10:51:42 +01:00
Benau
a10b62b894 Use SPTextureManager to get displace.png
This will allow using texture compression for it
2018-01-26 16:02:51 +08:00
Benau
97fd634ed8 Allow auto-add usable uniforms to shader 2018-01-26 16:02:31 +08:00
Benau
9e2d649b55 Warn for failed shader compile or link in GUI when artist debug mode 2018-01-26 16:02:00 +08:00
Deve
313661ad07 Merge pull request #3107 from andy5995/spelling
README.md:correct spelling of 2 words [skip ci]
2018-01-26 06:11:12 +01:00
andy5995
cf6b3a2640 README.md:correct spelling of 2 words [skip ci]
Corrections:

* Dependencies
* aforementioned
2018-01-25 21:04:58 -06:00
Deve
74af810d50 Fixed compilation error.
It was failing with "'this' was not captured for this lambda function"
2018-01-25 21:43:19 +01:00
Benau
9041649a39 Don't check for reference counting in shader mananger
It will not be 1 if there are fallback shaders
2018-01-25 15:51:28 +08:00
Benau
297c66bf04 Remove unused cpp and hpp files 2018-01-25 15:41:30 +08:00
Benau
2448b10cd4 Fix correct spelling of deferred 2018-01-25 15:38:10 +08:00
Benau
ff38cb6423 Clean up advanced pipeline off code
Don't use RTT at all in game when it's off
2018-01-25 15:36:34 +08:00
Sam
37a6f464b9 Merge branch 'master' of https://github.com/supertuxkart/stk-code 2018-01-24 21:51:11 +01:00
Benau
5b4be274fb Some more fallback for legacy pipeline 2018-01-25 01:51:10 +08:00
Benau
6bcee60a1c Merge remote-tracking branch 'origin/master' into game_protocol 2018-01-24 10:20:06 +08:00
hiker
e9f9302c2f Added simple script to extract only the data rendered on the client. 2018-01-24 12:38:54 +11:00
hiker
226ff0cea2 Added simple script to extract useful data from a client
and server run.
2018-01-24 12:38:26 +11:00
Deve
94c3efa8d3 Force legacy device for sandy bridge generation celeron graphics cards 2018-01-23 22:40:42 +01:00
hiker
ecbb1db2c9 Flush buffer in case of a disconnect, which allows the server to use
buffered logging, which will be written when the client disappears.
2018-01-24 08:39:10 +11:00
hiker
76354bb08c Added description on how the main loop with regards to physics works. 2018-01-24 08:38:11 +11:00
Benau
d8511956f5 Only warn for possible undeleted opengl stuff when debug build
Happens when you press close button in stk window.
2018-01-23 16:18:48 +08:00
Benau
9ecf952057 Don't add instance data if missing shadow shader 2018-01-23 14:27:15 +08:00
Benau
40552b3fa0 Preload all visible spm (not including physics node) properly
Also change reset-button.spm to swatter_anim.spm, reset button
was replaced by thunderbird long time ago
2018-01-23 13:32:30 +08:00
Benau
95c12faa10 Use map for sorted name texture (easier for debug) 2018-01-23 11:55:54 +08:00
auria.mg
8c609c87d9 Fix compilation 2018-01-22 21:17:51 -05:00
Benau
dea6dc1f3f Try to fix OSX build by using type index which is copy constructible 2018-01-23 09:53:23 +08:00
hiker
b4d9e03e5c On GUI-less servers the frame rate can be <1ms. Previously the minimum
time-step size was 1 ms, which resulted in the world time advancing
faster than real time.  This caused problems in the communication
and synchronisation with clients.
2018-01-23 08:30:23 +11:00
Benau
e5cdf3a086 Remove all unneed gamma correction when advanced pipeline off
Except for the colorization stuff
2018-01-23 01:16:45 +08:00
Benau
86393ba0a9 Use alphatest as a fallback shader for unlit
Adjust graph shader when advanced pipeline off, and no srgb prefilled
texture when advanced pipeline off
2018-01-22 13:27:21 +08:00
Benau
8fa5ad46c9 Use the original spm uv texture 1 and 2 for compare in scene manager
Because for splatting it will have some duplicated entries

Also remove never-working material code for splatting because of SP
2018-01-22 13:05:02 +08:00
Benau
45957af6f8 Remove !sRGB in shader which is always true now
Also don't use tonemap in RTT
2018-01-22 12:54:39 +08:00
Benau
4025883243 Use sampleTextureLayer in shader files 2018-01-22 10:43:22 +08:00
Benau
39f4f8e966 Allow tracks and library objects to use custom shader 2018-01-22 10:34:49 +08:00
Benau
0ed74ac3e9 Add the ability to auto discard unused texture layer based on the compiled shader 2018-01-22 09:55:17 +08:00
Benau
0aa61ec746 Header clean up 2018-01-22 01:11:53 +08:00
Benau
9aae773e91 Use absolute path when caching 2018-01-22 01:09:58 +08:00
Benau
c85425c473 Only try to clean stuff if kart model is unique 2018-01-22 00:13:27 +08:00
Benau
f8c6de316a Allow karts to have custom shader
Also implement proper cleaning for textures (mainly addons)
2018-01-21 16:31:49 +08:00
Benau
a39977d550 Use shared_ptr SPShader in mesh buffer 2018-01-21 15:35:38 +08:00
Benau
390554eca1 Add xml shader and the loader 2018-01-21 13:19:00 +08:00
Benau
b199b81427 Add the code required for reloading sp shader on the fly 2018-01-19 20:47:30 +08:00
Benau
0f95d36dbc Add proper sharing and deletion of shader files 2018-01-19 14:41:33 +08:00
auria.mg
105935c645 Merge branch 'Fix3099' 2018-01-18 18:32:27 -05:00
auria.mg
8380e93e8d FIx overflow 2018-01-18 18:02:26 -05:00
Benau
18fd12652d Fix server build 2018-01-18 16:18:19 +08:00
Benau
5b440ae04b Don't abuse the use of std::shared_ptr for moving texture 2018-01-18 13:49:35 +08:00
Benau
8a5994b9e3 Don't crash if missing texture image 2018-01-18 12:45:04 +08:00
Benau
0d74b1739b Allow mesh textures to be reloaded 2018-01-18 12:35:41 +08:00
Benau
281b30dd5d Fix invalid graph node sometimes detected 2018-01-17 13:52:40 +08:00
Deve
2516de8231 Disable npot textures on android emulator 2018-01-16 23:06:27 +01:00
Deve
458ffd4617 Allow to force pot textures in graphical restrictions 2018-01-16 22:50:18 +01:00
Benau
c3d0db9856 Use normalized short for animated texture update
It should allow to have the maximum possible smooth animation

texture_trans_x,y is fmoded so it's guaranteed to be -1.0 to 1.0
2018-01-17 01:05:47 +08:00
Benau
7aaac81d0a Disable backface culling for transparent material for legacy pipeline 2018-01-16 14:29:45 +08:00
auria.mg
10831b210e Improve fix for #3099 2018-01-15 20:58:05 -05:00
auria.mg
1d9d628855 Try to fix #3099 2018-01-15 20:52:53 -05:00
Deve
effa23d952 Some minor fixes in linux device 2018-01-15 23:15:27 +01:00
hiker
a34b014fb5 Assign events to closest time step. 2018-01-16 08:53:45 +11:00
hiker
8d7ff2a948 Store event time explicitly, which makes network replay much easier.
Simplified update updateReplayAndGetDT function.
2018-01-16 08:43:59 +11:00
Benau
a37b60ac6e Only add RenderInfo if the material has a list of random color 2018-01-15 15:43:50 +08:00
Benau
cbd7b3fd84 Add some fallback for legacy pipeline for SP 2018-01-15 13:46:37 +08:00
Benau
a3a00f70f8 Remove unused entries in materials and fog settings 2018-01-15 13:23:21 +08:00
Benau
681ef66d8d Rename _nm to _Normal for normal map textures 2018-01-15 12:37:57 +08:00
Benau
9c2f91c11b Don't crash for wip-tracks / karts (wrong shader name or incomplete terrain) 2018-01-15 11:07:58 +08:00
Sam
97053b9405 Merge branch 'master' of https://github.com/supertuxkart/stk-code 2018-01-14 16:15:04 +01:00
Sam
6abd79dde6 Add the world position in default information avaliable to shaders 2018-01-14 10:39:16 +01:00
Benau
813b08bc73 Fix #3091 2018-01-14 10:19:37 +08:00
Deve
8698705468 Fixed android compilation 2018-01-14 00:14:31 +01:00
Benau
d0fb0500eb Update to opengl 3.3 for SP 2018-01-14 01:28:30 +08:00
Benau
59045cd064 Merge remote-tracking branch 'origin/master' 2018-01-13 15:44:57 +08:00
Benau
4194977df5 Fix shadow visualization 2018-01-13 15:38:52 +08:00
Benau
9e90bd251d Use hardware skinning GR in sp_mesh_node 2018-01-13 15:16:16 +08:00
Benau
24308ced03 Remove features in SP that give no performance boost at all
gl_Layer in vertex shader, bindless and array textures
2018-01-13 14:49:33 +08:00
Benau
503455d02f Simplify instruction 2018-01-13 13:48:51 +08:00
Benau
7902e2ad06 Fix focusing of kart color slider dialog 2018-01-13 11:58:32 +08:00
Benau
c4f589fee7 Use the low quality for libsquish again 2018-01-13 11:55:57 +08:00
Deve
24772eb9d7 GLEW_ERROR_NO_GLX_DISPLAY needs glew 2.1 2018-01-13 00:41:53 +01:00
Deve
e46a18ab61 Merge pull request #3060 from akien-mga/update-glew
GLEW: Update to pristine upstream 2.1.0
2018-01-13 00:22:18 +01:00
Deve
84459c6086 Merge pull request #3059 from akien-mga/unbundle-glew2
CMake: Add option to use system GLEW 2.0+
2018-01-13 00:20:11 +01:00
Deve
3f604f3adf Merge branch 'master' into unbundle-glew2 2018-01-13 00:19:30 +01:00
Deve
226c2bbed5 Merge branch 'master' into unbundle-glew2 2018-01-13 00:13:45 +01:00
Deve
2f7d7b677d Don't fail to start if glx display in glew is not available.
It should be safe, because we check if display is available in irrlicht device anyway.
2018-01-13 00:06:37 +01:00
Deve
f220bb14f4 More improvements in wayland device 2018-01-12 22:31:21 +01:00
Benau
bb0cf72635 Add required code and color selector for rainbow karts 2018-01-13 00:38:46 +08:00
Benau
68e8da2353 Remove all unused shaders 2018-01-12 19:10:55 +08:00
Benau
b1f1afb9c5 Use SSE2 in windows build for faster libsquish 2018-01-12 17:47:18 +08:00
Benau
e5fff9e65a Reallocate the vertices vector for dynamic draw call when resize 2018-01-12 17:18:49 +08:00
Benau
feb1667acc Precompute srgb to linear values to array 2018-01-12 13:58:49 +08:00
Benau
6071d2f983 Remove all unused / unstable opengl-related code 2018-01-12 13:04:40 +08:00
Benau
9ccb34c2a1 Adjust graphics presets for SP 2018-01-12 12:03:31 +08:00
Deve
6f4c1f41da More work with xdg shell 2018-01-11 19:03:01 +01:00
Benau
7f3722d90b Make supports SP checking global 2018-01-12 01:28:13 +08:00
Benau
4252895d8b Remove old unused glsl code 2018-01-12 01:18:07 +08:00
Qwerty Chouskie
6aefa2542b Reduce number of places version number needs to be changed on release 2018-01-11 08:56:23 -08:00
Benau
49568f3fd9 Auto fallback to legacy pipeline if not supports all functions required by SP 2018-01-11 15:55:53 +08:00
Benau
26a481e478 Allow using system libsquish 2018-01-11 14:40:33 +08:00
Benau
7859a00967 Remove unused mesh code 2018-01-11 13:38:08 +08:00
Benau
68ceceb6e3 Remove unused texture code 2018-01-11 12:47:02 +08:00
Benau
3374ec66e3 Better memory management for vertex buffers 2018-01-11 11:30:55 +08:00
auria.mg
de8298f734 Try to fix #3089 2018-01-10 18:48:18 -05:00
hiker
7b21bb16e6 Remove debug output. 2018-01-11 08:21:40 +11:00
Deve
55ea7625b3 Create xkb context before registry listener is created 2018-01-10 22:05:27 +01:00
hiker
7fd0754bfe Improve script to handle any dimensional data (e.g. scalars as well). 2018-01-11 07:59:18 +11:00
Deve
4f9b46b20c More work with xdg_shell 2018-01-10 21:31:54 +01:00
hiker
f6abdefe05 Removed debug output. 2018-01-10 18:37:56 +11:00
hiker
4c6a226968 Fixed index for steering events - physical replays now appear to be identical
to the original recording.
2018-01-10 18:37:12 +11:00
hiker
f5af65f4ef Increased precision of written time step sizes, since otherwise
the floating point differences will cause a different number of
physics time steps to be taken (which causes replay differences).
2018-01-10 18:10:39 +11:00
Benau
4823c46ad9 Preload the container id of materials 2018-01-10 13:10:12 +08:00
Benau
f4fb2cb41c Fix no graphics and server only run 2018-01-10 11:35:02 +08:00
Deve
74b071494c Some work on xdg shell support 2018-01-09 23:41:34 +01:00
Deve
62fe84ecc7 Fixed server-only build 2018-01-09 20:35:33 +01:00
Deve
b17920cf4c Use server-side decorations for KDE wayland for now 2018-01-08 23:08:23 +01:00
hiker
bb9f2c6385 Fixed loop structure (which only worked with a single kart *blush*). 2018-01-09 08:00:17 +11:00
hiker
f242120cd1 Fixed difference from one replay to the next (caused by returning the
actual measured DT in certain cases instead of the recorded one).
2018-01-09 07:56:10 +11:00
Deve
f7654d3867 Fixed a crash with disabled repeating keys on wayland 2018-01-08 21:12:50 +01:00
Benau
54c7914cb5 Update graphical restrictions
Mesa 17.4 will use the correct normalization forumla

Disable GLSL on intel HD2000 / HD3000 due to broken opengl 3.3 support
2018-01-08 15:55:28 +08:00
Benau
57fad498f8 Fix traffic light when changing resolution 2018-01-08 14:31:47 +08:00
Benau
1604ca1daa Use 2018 header for SP 2018-01-08 09:31:15 +08:00
Benau
aa9dce1672 Add texture compression cache 2018-01-08 09:28:11 +08:00
auria.mg
e3f3f7d291 Fix compilation on travis 2018-01-07 19:33:05 -05:00
auria.mg
6a21ca75fb Improve text legibility 2018-01-07 19:09:42 -05:00
auria.mg
196117c41e Bugfix when loading saved GP, but the GP has changed 2018-01-07 18:47:16 -05:00
auria.mg
3c591bcf39 Tweak text color to improve legibility 2018-01-07 18:47:01 -05:00
auria.mg
246d010895 Fix compilation 2018-01-07 18:31:37 -05:00
Deve
5af835505c Don't send too many useless events on touch move 2018-01-07 23:49:39 +01:00
Deve
51e1153cc9 Fixed unsafe printf 2018-01-07 21:33:43 +01:00
Deve
88897cae1d Enable wayland for testing.
It's not 100% ready yet, but some testing won't hurt.

It's possible to switch between wayland/x11 using

    export IRR_DEVICE_TYPE=x11

or

    export IRR_DEVICE_TYPE=wayland

so that x11 device can be forced in wayland session.
2018-01-07 21:23:21 +01:00
Deve
92f7caf696 Fixed cygwin warning 2018-01-07 21:15:08 +01:00
Deve
9afbf9a772 Don't return fatal error if wayland libraries are not found 2018-01-07 21:11:37 +01:00
Benau
76788d7dd8 Fix GLES 2018-01-07 15:44:57 +08:00
Benau
262337bc13 Fix some leaking when switching resolution 2018-01-07 14:58:32 +08:00
Deve
6ce1573cfd Some cleanup 2018-01-07 02:22:58 +01:00
Deve
b0afa6ab3d Add srgb attrib in egl only if requested 2018-01-07 02:22:58 +01:00
Deve
f6111d04fd Use explicit display type in egl if possible. 2018-01-07 02:22:58 +01:00
Benau
157faaf616 Fix tracks with no skybox 2018-01-06 15:35:35 +08:00
Benau
0633099662 Add a quick fallback tangent computation 2018-01-06 12:47:22 +08:00
Benau
5293a0dbef Add b3d loader for SP 2018-01-06 12:07:22 +08:00
Corentin Pazdera
201f8eca59 Add a github issue template to the project (#3071) 2018-01-05 20:10:16 -05:00
Benau
a06d9e858b Add some fallback 2018-01-05 23:46:23 +08:00
Benau
e1c7efd68c Add sam's formula for pbr 2018-01-05 16:45:33 +08:00
Benau
294f0d79d1 Port feature unlocked to use SP 2018-01-05 01:06:58 +08:00
Benau
60b173559a Disable cull face after drawing mesh (for gui) 2018-01-04 14:39:32 +08:00
hiker
8e8567f6ee In case of networking there might be no history frame for a given time -
restructure loop so that it is not always executed at least once in
networking, but is done once in case of history replay.
2018-01-04 09:02:03 +11:00
hiker
547e59e866 Avoid storing history information during a rewind. 2018-01-04 09:01:24 +11:00
hiker
cdf3dd8062 Prevented a crash when aborting STK (audio thread is not shut down
in this case, but is getting deleted - but the audio thread might
still try to insert an update event during that time).
2018-01-04 08:58:37 +11:00
hiker
8a25effa5c While it does not make a difference in this case, it should be &&, not &. 2018-01-03 22:03:33 +11:00
hiker
92426606c0 Fixed profiler in case that rendering is not done from main thread. 2018-01-03 21:48:52 +11:00
Benau
d24796aa6f Use win / lose animation in grand prix result screen 2018-01-03 16:33:55 +08:00
Benau
511c8e316b Make skidding show curve compile 2018-01-03 15:35:25 +08:00
Benau
1de1cdf530 Port line debug to SP, removing all unicolor code too 2018-01-03 15:28:29 +08:00
Benau
2eabf87ffe Remove stk_mesh* 2018-01-03 14:40:34 +08:00
Benau
345f2bc64b Port god ray to use SP 2018-01-03 14:29:20 +08:00
hiker
373ec0f242 Made the history files use events for players (will break physics replay
for AIs for now). Useful for network debugging.
2018-01-03 16:29:35 +11:00
Benau
1400257a60 Port debug sphere to SP 2018-01-03 13:29:19 +08:00
Benau
df6fbc455b Port show curve to SP 2018-01-03 12:46:35 +08:00
Benau
938e6629fc Add a dummy normal for rubber band 2018-01-02 12:48:00 +08:00
Benau
d34277c35f Hide shadow when kart eliminated 2018-01-02 12:47:42 +08:00
Benau
3a24d0ed1f Port slipstream to SP 2018-01-02 12:19:36 +08:00
Benau
17c337284e Make SPMeshBuffer uniform-assignable (for slipstream) 2018-01-01 14:24:11 +08:00
Benau
0da5922722 Use upper kart position to fix culling for rubber band 2018-01-01 12:27:44 +08:00
Benau
1400542194 Make dynamic draw call update independent of culling result 2018-01-01 11:00:45 +08:00
hiker
28bc8c8e8f Merge branch 'master' of github.com:supertuxkart/stk-code 2018-01-01 00:36:24 +11:00
Benau
9f8475bda1 Fix fading 2017-12-31 12:57:28 +08:00
Benau
2bde6d1325 Use shared_ptr for dynamic draw call 2017-12-31 12:15:55 +08:00
Benau
c8aea0bf9e Add bounding boxes visualization for SP 2017-12-31 10:34:55 +08:00
Benau
cce8abe6f3 Port billboard text 2017-12-30 15:28:04 +08:00
Benau
ec59e3f573 Don't delete vao each frame when update vertex buffer 2017-12-29 23:42:45 +08:00
Benau
63267391ef BufferData with new size vector 2017-12-29 23:26:50 +08:00
Benau
8a93b07c5e Don't clean the current skidmarking 2017-12-29 23:26:29 +08:00
Benau
8919f42894 Use dynamic draw call for rubber band 2017-12-29 19:41:17 +08:00
Benau
d71ea71e35 Remove some ifdef 2017-12-29 18:10:51 +08:00
Benau
711fb8211a Add samuncle way to sample texture slot 2017-12-29 15:39:22 +08:00
Benau
4ad7934a85 Clean sp framebuffer individually 2017-12-29 14:50:15 +08:00
Benau
1e0b611c7d Draw kart shadow with dynamic draw call 2017-12-29 01:36:36 +08:00
Benau
f040be710e Fix normal visualizer 2017-12-29 00:52:29 +08:00
Benau
590850eacf Add dynamic draw call for skidmarks 2017-12-28 16:14:09 +08:00
Ben Krajancic
7c10a5559d Ghost replay selection fix (#3081)
* Label unknown replay makers as "Unknown"

* Language neutral result
2017-12-27 21:08:34 -05:00
Benau
52b19dd83a Use glVertexAttrib only in debug view 2017-12-27 13:50:17 +08:00
Benau
62e0effed6 Rename input variables 2017-12-27 12:31:21 +08:00
Benau
dbc3cd5ff5 Normalize in shader for broken drivers 2017-12-27 11:33:30 +08:00
Benau
891b053358 Add more functions to normal visualizer 2017-12-27 01:33:21 +08:00
Benau
ce45605c18 Use half float for texture matrix 2017-12-26 15:28:01 +08:00
Benau
daf1294e6f Add minimap and adjust unlit shader for it 2017-12-26 14:34:34 +08:00
Deve
87d43063ed Assume that "HandleSRGB == false" means "don't care".
It solves the issue with nvidia when HandleSRGB is set to false.
2017-12-25 23:59:49 +01:00
Benau
7797115867 Add SP for correct normal and easier shader system 2017-12-25 14:00:10 +08:00
Ben Krajancic
c35599f3e2 Flashing bubble gum (#3080)
* Initial Implementation

* Name values to give meaning
2017-12-22 19:06:24 -05:00
Deve
31f8b7ec35 Allow to install debug version without uninstalling release version on android 2017-12-22 21:51:41 +01:00
Deve
6f6ac84495 Fixed android compilation 2017-12-22 21:02:37 +01:00
hiker
c1a3d281f6 Merge remote-tracking branch 'origin/master' into game_protocol 2017-12-19 11:57:31 +11:00
hiker
9addcc4a55 Fixed handling of steering etc events: they are now properly
done at the closest time stamp, previously they were typically
exectuted too early on the server.
2017-12-19 11:14:33 +11:00
hiker
4d02e736f7 Started to add smoothing of errors - atm only for position, not angle. 2017-12-18 23:13:59 +11:00
hiker
51fd0c1e8e Don't limit number of physics steps in networking, since otherwise
physics results can diverge.
2017-12-18 23:08:40 +11:00
Deve
2b8737a75b Remove known issues from android readme.
We can use github issues for it.
2017-12-12 23:07:01 +01:00
hiker
f0d07a2de4 Execute rollback detection only on client; added comments
for potential future improvements.
2017-12-11 18:01:33 +11:00
Benau
a55e7d204a Fix wrong newline in linux terminal 2017-12-11 11:00:06 +08:00
Benau
dc562103c5 Remove wrong commit 2017-12-10 00:12:35 +08:00
Benau
f70af4677c Add direct conversion to map for xml nodes 2017-12-09 16:06:43 +08:00
hiker
2f747cf614 Remove REQUIRED_LOGIN #ifdef which is not needed anymore with the new menu. 2017-12-09 00:57:08 +11:00
hiker
825deed8dd Merge remote-tracking branch 'origin/master' into game_protocol
Fixed various conflicts.
2017-12-09 00:56:30 +11:00
hiker
eea6196231 Merge branch 'buffer-log-messages' 2017-12-07 09:43:56 +11:00
hiker
ebcab8d4e0 Fixed compiler warning. 2017-12-07 09:43:27 +11:00
hiker
5b296b08f9 Merge remote-tracking branch 'origin/master' 2017-12-07 09:43:09 +11:00
hiker
2810d2ad7d Merge remote-tracking branch 'origin/master' into buffer-log-messages 2017-12-07 09:39:29 +11:00
hiker
55d0df7bad Added option to buffer log messages (which can reduce debug output
overhead).
2017-12-04 11:32:09 +11:00
auria.mg
1afb62c97d Bring back the ability to skip the unlock cutscense, fixes #3069 2017-12-03 18:44:50 -05:00
Benau
d9937d7b33 Fix physical object from meta library 2017-12-03 23:58:17 +08:00
hiker
7744b056ea Merge branch 'master' of github.com:supertuxkart/stk-code 2017-12-04 00:41:28 +11:00
Benau
7ab8477a53 Reserve onReset of scripting method for library nodes (unused atm) 2017-12-02 15:24:36 +08:00
Benau
3607c7d520 Adjust irrlicht CSkinnedMesh class for .spm
The last frame in .spm is usable
2017-12-02 15:24:05 +08:00
Benau
2161efd9c4 Allow configure animation set through scripting 2017-12-02 02:36:43 +08:00
Benau
60a3890c78 Add support for meta library objects 2017-12-01 13:59:00 +08:00
hiker
3093803762 Add support for a 'prefix' to be printed for all log messages. 2017-11-30 17:49:45 +11:00
hiker
4f5b4aed0b Change the bld directories to be looked for to all include -64; changed
name of installer and only include 64-bit redistributable.
2017-11-30 17:48:34 +11:00
hiker
ae57be8f3b Changed version number to be git, added 32bit to installer name, and only include
the 32 bit redistributable.
2017-11-30 17:47:24 +11:00
hiker
efde9ac501 If more than one state arrived in one timestep for a client, rewind
to the latest one (not the earliest).
2017-11-28 17:26:00 +11:00
auria.mg
48aded5f6d Login screen : proper post-login redirection 2017-11-27 18:07:42 -05:00
auria.mg
579a4aa3cc Improve the way to enable/disable the networking menu, use the --online switch that previously existed 2017-11-26 21:54:48 -05:00
auria.mg
4f528c258d Disable new networking menus, will be enabled back in the networking branch 2017-11-26 21:48:45 -05:00
hiker
0b6e793df6 Script to print the per-timestep interpolated error plus maximum
and average error when comparing client and server debug output.
2017-11-27 08:32:44 +11:00
auria.mg
d92476ae70 First implementation prototype of the new netwoking UI, as discussed. 2017-11-25 18:51:49 -05:00
hiker
b08e2f56e1 Make the number of state updated the server sends configurable. 2017-11-24 18:33:26 +11:00
hiker
37ee602f28 Added state type to debug output. 2017-11-24 18:15:39 +11:00
hiker
7508b5db8b Fixed index in debug output and compiler warning. 2017-11-24 18:10:55 +11:00
Rémi Verschelde
2a093cde0a GLEW: Update to pristine upstream 2.1.0
Previous version was a modified GLEW 1.11.0 (2014). The STK modifications meant
to address https://sourceforge.net/p/glew/patches/40/ which is now fixed since
GLEW 2.0.0.

Here's the diff between pristine 1.11.0 and STK's version before this patch:
```diff
diff --git a/lib/glew/src/glew.c b/lib/glew/src/glew.c
index a78f14e1e..f8df0d758 100644
--- a/lib/glew/src/glew.c
+++ b/lib/glew/src/glew.c
@@ -296,30 +296,6 @@ static GLboolean _glewStrSame3 (GLubyte** a, GLuint* na, const GLubyte* b, GLuin
   return GL_FALSE;
 }

-#include <string.h>
-#include <stdlib.h>
-
-/* A simple open addressing hashset for extensions on OpenGL 3+. */
-static const char ** ext_hashset = NULL;
-size_t ext_hashset_size = 0;
-
-static unsigned hash_string(const char * key)
-{
-  unsigned hash = 0;
-  unsigned i = 0;
-  for (; i < strlen(key); ++i)
-  {
-    hash += key[i];
-    hash += (hash << 10);
-    hash ^= (hash >> 6);
-  }
-  hash += (hash << 3);
-  hash ^= (hash >> 11);
-  hash += (hash << 15);
-
-  return hash;
-}
-
 /*
  * Search for name in the extensions string. Use of strstr()
  * is not sufficient because extension names can be prefixes of
@@ -328,37 +304,14 @@ static unsigned hash_string(const char * key)
  */
 static GLboolean _glewSearchExtension (const char* name, const GLubyte *start, const GLubyte *end)
 {
-  if (ext_hashset != NULL)
+  const GLubyte* p;
+  GLuint len = _glewStrLen((const GLubyte*)name);
+  p = start;
+  while (p < end)
   {
-    unsigned hash = hash_string(name);
-
-    /*
-     * As the hashset is bigger than the number of extensions
-     * this will eventually break.
-     */
-    while(1)
-    {
-        unsigned index = hash % ext_hashset_size;
-        if (ext_hashset[index] == NULL)
-            break;
-
-        if (!strcmp(ext_hashset[index], name))
-            return GL_TRUE;
-
-        hash++;
-    }
-  }
-  else
-  {
-    const GLubyte* p;
-    GLuint len = _glewStrLen((const GLubyte*)name);
-    p = start;
-    while (p < end)
-    {
-      GLuint n = _glewStrCLen(p, ' ');
-      if (len == n && _glewStrSame((const GLubyte*)name, p, n)) return GL_TRUE;
-      p += n+1;
-    }
+    GLuint n = _glewStrCLen(p, ' ');
+    if (len == n && _glewStrSame((const GLubyte*)name, p, n)) return GL_TRUE;
+    p += n+1;
   }
   return GL_FALSE;
 }
@@ -10099,13 +10052,9 @@ static GLboolean _glewInit_GL_WIN_swap_hint (GLEW_CONTEXT_ARG_DEF_INIT)
 /* ------------------------------------------------------------------------- */

 GLboolean GLEWAPIENTRY glewGetExtension (const char* name)
-{
+{
   const GLubyte* start;
   const GLubyte* end;
-
-  if (ext_hashset != NULL)
-      return _glewSearchExtension(name, NULL, NULL);
-
   start = (const GLubyte*)glGetString(GL_EXTENSIONS);
   if (start == 0)
     return GL_FALSE;
@@ -10165,39 +10114,9 @@ GLenum GLEWAPIENTRY glewContextInit (GLEW_CONTEXT_ARG_DEF_LIST)
     GLEW_VERSION_1_2   = GLEW_VERSION_1_2_1 == GL_TRUE || ( major == 1 && minor >= 2 ) ? GL_TRUE : GL_FALSE;
     GLEW_VERSION_1_1   = GLEW_VERSION_1_2   == GL_TRUE || ( major == 1 && minor >= 1 ) ? GL_TRUE : GL_FALSE;
   }
-
-  if (major >= 3) /* glGetString method is deprecated */
-  {
-    GLint n, i;
-    glGetIntegerv(GL_NUM_EXTENSIONS, &n);
-    glGetStringi = (PFNGLGETSTRINGIPROC)glewGetProcAddress((const GLubyte*)"glGetStringi");
-
-    free(ext_hashset); /* In case we get called a second time. */
-
-    ext_hashset_size = (n * 3) / 2;
-    ext_hashset = calloc(ext_hashset_size, sizeof(const char *));
-    for (i = 0; i < n; ++i)
-    {
-      const char * extension;
-      unsigned hash;
-
-      extension = (const char *)glGetStringi(GL_EXTENSIONS, i);
-      hash = hash_string(extension);
-
-      while(ext_hashset[hash % ext_hashset_size] != NULL)
-        hash++;
-
-      ext_hashset[hash % ext_hashset_size] = extension;
-    }
-
-    extStart = 0;
-  }
-  else
-  {
-    /* query opengl extensions string */
-    extStart = glGetString(GL_EXTENSIONS);
-  }

+  /* query opengl extensions string */
+  extStart = glGetString(GL_EXTENSIONS);
   if (extStart == 0)
     extStart = (const GLubyte*)"";
   extEnd = extStart + _glewStrLen(extStart);
@@ -14064,9 +13983,6 @@ GLenum glxewContextInit (GLXEW_CONTEXT_ARG_DEF_LIST)
   GLXEW_VERSION_1_2 = GL_TRUE;
   GLXEW_VERSION_1_3 = GL_TRUE;
   GLXEW_VERSION_1_4 = GL_TRUE;
-  /* Check if GLX display is available */
-  if (glXGetCurrentDisplay == NULL || glXGetCurrentDisplay() == NULL)
-    return GLEW_OK;
   /* query GLX version */
   glXQueryVersion(glXGetCurrentDisplay(), &major, &minor);
   if (major == 1 && minor <= 3)
```
2017-11-22 12:04:46 +01:00
Rémi Verschelde
e3264d1de3 CMake: Add option to use system GLEW 2.0+
The option is enabled by default, but the system version will only be used
if found and newer than 2.0.0 (to ensure that https://sourceforge.net/p/glew/patches/40/
is fixed). When missing, we silently fallback to the vendored source code,
so there is no change for e.g. Windows compilation.
2017-11-22 11:54:38 +01:00
auria.mg
c59af9136c Merge branch 'KartPerGamemode'
# Conflicts:
#	src/states_screens/gp_info_screen.cpp
2017-11-21 19:20:49 -05:00
hiker
9b4f773703 Avoid rewinds on the server (which would create a big chaos since state
updated would be duplicated etc). Instead it will move 'past' events
to the current time, causing only a 'jump' in the one client causing
the event (instead of all).
2017-11-22 10:28:52 +11:00
hiker
40bdb4d777 Added #define to disable the online login for now. Makes it easier
to start and debug LAN play.
2017-11-21 18:15:03 +11:00
Deve
4d4c514c75 Corrrect gp info screen to keep consistency with track info screen.
Now num karts config param is updated only if spinner button or start button has been pressed.
2017-11-15 22:11:21 +01:00
hiker
afac848bb9 Updated documentation. 2017-11-15 16:36:21 +11:00
hiker
f38f30a75c Merge branch 'master' into game_protocol 2017-11-15 08:12:38 +11:00
hiker
f783be4d75 Updates translations with 0.9.3 version from transifex (no author credits updated). 2017-11-15 08:11:51 +11:00
hiker
28cd15cf84 Changed installer version to git. 2017-11-14 22:43:37 +11:00
hiker
76ceea5b0f Added Benau's 64-bit installer. 2017-11-14 22:23:23 +11:00
hiker
e6897c47a0 Merge pull request #2968 from leyyin/master
Improve windows installer script
2017-11-14 21:55:23 +11:00
hiker
5ad0e5b93d Updated x86 redistributable to 2017 version. 2017-11-14 21:46:40 +11:00
hiker
84ccf82173 Updated script to handle existing entries without duplicating authors
(or even worse msgids for translator credits).
2017-11-14 17:55:07 +11:00
Deve
20ffc3a693 Avoid a crash in ghost replay screen.
It was crashing when add-on track was uninstalled.

It only avoids a crash and it's not true fix, because replays list should be updated when add-ons have been installed/uninstalled.
2017-11-13 22:35:18 +01:00
hiker
5b9dc6895d Fixed server-only execution. 2017-11-13 12:48:03 +11:00
Deve
a67be44422 Allow to compile STKRelease build with debug symbols.
It may be useful for decoding backtraces from our linux static package.
2017-11-12 23:59:12 +01:00
auria.mg
b95e0a3373 Fix #2990 2017-11-11 18:15:55 -05:00
Deve
252403c9cc Avoid semi-transparent window on some compositors 2017-11-10 22:48:48 +01:00
hiker
4fced331fe Merge remote-tracking branch 'origin/master' into game_protocol 2017-11-10 16:08:03 +11:00
Deve
468c24acd3 Avoid negative AI karts number in follow the leader 2017-11-09 23:38:53 +01:00
Deve
165b2fea9c Avoid running follow the leader GP with 0 AIs 2017-11-09 23:23:05 +01:00
Benau
51a16b938f Read only 4 bytes for tangent (unused atm), remember update stk-assets 2017-11-09 12:16:30 +08:00
Ben Krajancic
53827cbe21 Fixing selection issue on end-race screen (#3008)
* Small clarification to prevent build errors

Building outside of this directory prevents the executable from launching, this small addition can help prevent this issue from happening.

* Initial Commit

* Code cleanup

* Fix compile error

* Fix incorrect comparison

* Fix focusing erorr twice over

It may be worth making 'setfocusable' part of setvisible
2017-11-08 19:11:29 -05:00
Deve
28f81b2a85 Allow to move installed apk to sdcard 2017-11-08 22:06:58 +01:00
Deve
3baefcd6a7 Initialize FeatureAvailable array to false for legacy pipeline.
It has been broken in commit 271a26eaf0.

It solves some issues with etnaviv gallium driver. It may also solve a crash on old intel 965gm on windows, but I can't test it atm.
2017-11-07 22:54:36 +01:00
hiker
beca172af3 Fixed server-only execution. 2017-11-08 01:25:25 +11:00
Benau
046403e1df Expose race mode for scripting 2017-11-06 15:15:44 +08:00
LeMagnesium
237927e3e5 Mark "fortmagma" as locked until the door can open (#3015)
Keep the "fortmagma" challenge marked as locked on the GUI minimap even if enough points (180+) have been gathered to unlocked it, when the door is not open yet
2017-11-05 18:33:56 -05:00
auria.mg
158d83057c Fix FTL reset bug, fixes #3019 2017-11-05 18:22:27 -05:00
Deve
08be02af8f Fixed 64-bit dependencies.
Thanks to qwertychouskie for finding it.
2017-11-05 21:54:43 +01:00
hiker
54b32ba6b1 Merge branch 'master' into game_protocol 2017-11-05 13:03:15 +11:00
Deve
2e96a29977 Ignore some configuration changes that don't matter for us.
The "orientation" without "screenSize" was a clear bug. And now connecting external keyboard doesn't close STK for me anymore.
2017-11-04 22:08:42 +01:00
Benau
69c86930e8 Don't raycast driveable objects that are not enabled 2017-11-05 01:32:41 +08:00
Benau
8ba0fd3569 Allow exact shape to be used with tangents mesh 2017-11-05 00:55:26 +08:00
Benau
628bc7ce50 Allow light to be disabled by scripting 2017-11-04 14:01:47 +08:00
Deve
cc970c01a5 Merge pull request #3011 from qwertychouskie/patch-3
Prevent upgrades to 0.9.3 causing all particles to be disabled
2017-11-04 00:00:46 +01:00
Benau
fc23874991 Clarify running commands location 2017-11-03 21:16:16 +08:00
Benau
7b6b211bde Merge pull request #3014 from urtzai/patch-3
All language names capitalized
2017-11-03 21:09:19 +08:00
Urtzi Odriozola
80efc29e69 All languages capitalized
In order to keep a correct order in a language selection menu, the language names need to be capitalized
2017-11-03 14:00:34 +01:00
Benau
fa6959251a Fix #2949
Use clamp to edge sampler
2017-11-03 20:28:15 +08:00
Benau
260729a8e2 Merge pull request #3012 from urtzai/patch-1
Basque language name capitalized
2017-11-03 17:02:48 +08:00
Urtzi Odriozola
cb4ef7a68d Update localized_name.txt 2017-11-03 09:32:52 +01:00
QwertyChouskie
b13a502f50 Prevent upgrades to 0.9.3 causing all particles to be disabled
Older version's "false" in the config file translates to "0", which disables all particles in 0.9.3.  Mitigate this by renaming the variable.

See https://forum.freegamedev.net/viewtopic.php?f=17&t=7662&sid=71b18d47f0b9d436d4bd17c2da8cbb86#p74823 for an example of this causing confusion.
2017-11-02 18:49:57 -07:00
Deve
bcb452f76b Add missing languages to tinygettext 2017-11-02 22:17:57 +01:00
Deve
719f3039b3 Remove invalid empty translations.
They are not available on transifex. Norwegian is nb and nn. Chinese is zh_TW and zh_CN.
2017-11-02 21:30:52 +01:00
auria.mg
04c9763e77 Clarify UI in game paused dialog of story mode, fixes #3004 2017-11-01 19:29:02 -04:00
auria.mg
3760d84359 Attempt to fix #2997 2017-11-01 19:08:47 -04:00
Ben Krajancic
a94d22cce7 No option to abort grand prix on last track (#3003)
* Small clarification to prevent build errors

Building outside of this directory prevents the executable from launching, this small addition can help prevent this issue from happening.

* Initial Commit

* Code cleanup

* Fix compile error

* Fix incorrect comparison
2017-10-31 19:15:57 -04:00
auria.mg
2cc160d7cc Tweak challenge that was too difficult. See #2997 2017-10-31 19:07:26 -04:00
Ben Krajancic
a1689efa5f Crash sounds based on speed and direction (#2964)
* Small clarification to prevent build errors

Building outside of this directory prevents the executable from launching, this small addition can help prevent this issue from happening.

* Initial calculation and application

However this doesn't handle other karts well. Max speed both karts should differ in each direction

* Properly scale volume appropriate to speed and direction

* Improve clarity in variables and created getcurrentemitter method

* equation is awful, don't use

* Head on collision fix physics to be more accurate

* Removed debug std cout

* Cleaned up method for calculating volume, other misc fixes

Changed from m_body->getlinearvelocity() to getvelocity() to ensure that the reader doesn't mistake the functions as being different

* Fixed wrong value for min_volume

* Updated to Styling guidelines

* Fixed tabs to spaces

* fixed tab to space

* Coding conventions, fix set volume

* Last tab fix

* Make quiter sounds louder through math, whilst ensuring not imaginary numbers
2017-10-31 18:38:10 -04:00
Fantasmos
98231956fb rename to more appropriate variable 2017-11-01 08:38:34 +11:00
Fantasmos
83c14fc0dc Added default num karts for GP 2017-10-31 18:11:45 +11:00
Fantasmos
367eeb8c20 fix innapropriate name changes 2017-10-31 17:57:19 +11:00
Fantasmos
a094a5a3d6 Fix non newline brackets 2017-10-31 11:15:38 +11:00
Deve
57c874f703 Add a possibility to overwrite assets dir using environment variable.
It fixes #2982 when both SUPERTUXKART_DATADIR and SUPERTUXKART_ASSETS_DIR are set.
2017-10-29 21:02:13 +01:00
Deve
f7886a31bf Better fix for shadow acne 2017-10-29 20:26:46 +01:00
auria.mg
4f7cdbe294 Fix #2977 2017-10-29 14:07:41 -04:00
Benau
b15ab1f043 Fix #2988 2017-10-30 01:34:40 +08:00
Benau
d9d3afc36e Fix wrong normal, vertex 2 color and memory leak of texture quad
Fix #2979
2017-10-29 16:19:14 +08:00
Benau
e57c2bbbd3 Remove the dead elephpant 2017-10-29 09:20:50 +08:00
Fantasmos
702d7f71c5 Replaced pair with temporary struct, to ensure POD-typing 2017-10-28 18:41:26 +11:00
Fantasmos
7fff73afa6 Clarifies the cause of compiler errors for some systems 2017-10-28 14:13:57 +11:00
Fantasmos
e50d295c87 Remvoe redundancy 2017-10-28 13:05:08 +11:00
Fantasmos
d366dd84cd Updated to naming conventions 2017-10-28 12:59:04 +11:00
Fantasmos
cb1a2b1e25 Rename m_num_karts to be more appropriate, removed redundant variables I've made 2017-10-28 12:51:49 +11:00
Fantasmos
4a0db1926d Highlighted issue that needs resolving 2017-10-28 12:09:23 +11:00
Fantasmos
4fbc39572b Removed Tab, first working version! 2017-10-28 11:56:52 +11:00
Fantasmos
ca330b1ac0 Map compiles now and can be set 2017-10-28 11:35:11 +11:00
Fantasmos
f10feb77fd Can now load a map type 2017-10-28 09:16:28 +11:00
Daniel Butum
0af7d7bf7f Modify windows installer so that it is version specific + add entry in the windows add/remove list 2017-10-27 17:30:47 +03:00
Fantasmos
823d3112ad Begun making template for dictionary 2017-10-27 22:31:54 +11:00
Benau
66d1ea802d Update Changelog 2017-10-27 14:31:10 +08:00
hiker
207e8cd475 Updaetd translator credits. 2017-10-27 10:52:48 +11:00
hiker
ad637e1076 Merge branch 'master' of github.com:supertuxkart/stk-code 2017-10-26 11:57:32 +11:00
Fantasmos
af7fefee1e note errors 2017-10-26 11:32:43 +11:00
hiker
0abfa64373 Updated credits to include all doncators and other contributors. 2017-10-25 20:24:28 -04:00
auria.mg
256ad66e13 #2734 2017-10-25 20:20:00 -04:00
auria.mg
067db4c8ce Fix #2734 2017-10-25 20:16:36 -04:00
hiker
2275dc7744 Merge branch 'master' of github.com:supertuxkart/stk-code 2017-10-26 10:26:44 +11:00
hiker
e95657b2f4 Updated credits to include all doncators and other contributors. 2017-10-26 10:21:32 +11:00
Fantasmos
df69a684a3 Identified cause of compile error 2017-10-26 09:39:48 +11:00
Fantasmos
74cdd07ba7 Added string array for karts per gamemode, and references to it to replace num_karts 2017-10-26 09:11:57 +11:00
Deve
9fe805f5f8 Avoid tinygettext warning 2017-10-25 23:52:35 +02:00
Benau
b28574eb46 Fix b3d with more than 4 weights per vertex 2017-10-25 13:11:54 +08:00
Benau
0f17d7e23a Fix #2917 2017-10-25 09:14:26 +08:00
Benau
6cfe16a320 Add Karelian localized name 2017-10-25 00:24:56 +08:00
hiker
530bfce849 Updated translations. 2017-10-25 00:32:54 +11:00
hiker
6476af46cd Replced unicode characters with ascii characters. 2017-10-24 10:27:00 +11:00
hiker
d6251054cb Merge branch 'master' of github.com:supertuxkart/stk-code 2017-10-23 09:45:20 +11:00
hiker
4c1874ebf8 Hopefully fix #2939 (backpedal animation flickers when stopping and
left/right is being pressed).
2017-10-23 08:44:17 +11:00
Benau
fc2e05c0a6 Use a trick to make skinned mesh shader branchless 2017-10-22 13:03:45 +08:00
Benau
7252a38da1 Fix skinning glitches possible in (some) cards 2017-10-22 02:17:37 +08:00
Benau
aa080db501 Fix resolution change crash
UpdateFlips stop working if we don't m_flips_data.clear();
2017-10-22 01:52:37 +08:00
Benau
a0991c3233 Don't use unsync map buffer
It causes regression in hd5670 in windows

Although we should update ubo only once per frame
2017-10-22 01:51:45 +08:00
Benau
6a79d204c1 Don't use SSBO for skinning
It causes trouble in hd5670 in windows
2017-10-22 01:31:15 +08:00
Deve
cf26337bd4 Fixed particles in multiplayer mode 2017-10-21 08:18:28 +02:00
hiker
7f1c460227 Merge branch 'master' of github.com:supertuxkart/stk-code 2017-10-21 01:00:44 +11:00
hiker
d7f5fb9e69 Avoid flicker when a kart with backpedal animation is stopping and
left/right is pressed (see #2939).
2017-10-21 00:58:25 +11:00
Benau
6896c44da8 Clang fix 2017-10-20 18:35:28 +08:00
Benau
42a3eb1880 Uniform vertex color for fonts in all pipelines 2017-10-20 18:21:55 +08:00
Benau
e61eb3415a Remove hardcoded max 1024 bones for skinning 2017-10-20 17:10:08 +08:00
Benau
1b70144c80 Reserve a graphics restriction for hardware skinning 2017-10-20 14:00:38 +08:00
Benau
fd0eaf064f Show a ghost hat for ghost kart 2017-10-20 10:05:49 +08:00
Benau
8a0232382a Some fixes for some shader compiler 2017-10-20 09:25:43 +08:00
Benau
ebdde49984 Merge remote-tracking branch 'origin/master' into tbo_skinning 2017-10-20 08:36:54 +08:00
Deve
5216f8e917 Fixed jump explosion on android 2017-10-19 21:44:50 +02:00
Benau
553b2439ac Allow using SSBO for skinning if supported 2017-10-20 01:27:44 +08:00
Benau
0d96906d54 Use texture buffer (texture2d in gles) for skinning 2017-10-19 13:31:07 +08:00
Deve
1a9cf6a46f Set max texture size to 256 for Raspberry Pi 2017-10-18 21:13:23 +02:00
Deve
9ec06f122c Allow to filter graphical restrictions by vendor 2017-10-18 20:51:26 +02:00
auria.mg
204e715637 Fix build 2017-10-17 20:08:15 -04:00
Deve
c3e772e863 Add different explosion effect for Android.
It gives much better performance while it still looks similar.
2017-10-17 23:34:19 +02:00
Deve
77161cc583 Avoid compilation errors for GLES 2017-10-17 23:34:19 +02:00
Deve
f034b3c22b Add tracks for apk 2017-10-17 23:34:19 +02:00
Benau
b204c492ef Update syntax 2017-10-17 12:15:37 +08:00
Benau
6a74b88273 Update readme and changelog 2017-10-17 11:53:22 +08:00
Benau
aaa8befe0a Fix appveyor build 2017-10-17 11:04:28 +08:00
Benau
fa48d099f2 Fix the remaining msvc warnings 2017-10-17 10:51:52 +08:00
Benau
fb6a0d7631 Merge remote-tracking branch 'origin/master' 2017-10-17 10:25:22 +08:00
Deve
1454e53b79 Set proper min sdk version for 64bit build 2017-10-16 21:31:17 +02:00
Benau
88e15147b8 Merge remote-tracking branch 'origin/win-64bit' 2017-10-17 00:55:22 +08:00
Benau
e47aa5d567 Take relative path issue into account when unloading texture
Now except global particle textures all textures loaded by track can be
clean properly
2017-10-16 16:09:07 +08:00
Benau
c8d13d7360 Preload the particle textures when first load
This prevent hangs when lazy loading texture runtime
2017-10-16 14:22:09 +08:00
Benau
7e0d706946 Don't call setLastTriggeredCheckline for check cannon
It will override the track check line
2017-10-16 13:47:21 +08:00
Ben Krajancic
6dcee109b5 Merge branch 'master' of https://github.com/Fantasmos/stk-code 2017-10-16 11:05:40 +11:00
Benau
9f10676dd3 Remove unused billboard shader 2017-10-16 07:43:00 +08:00
Benau
30e78fb1c0 Merge branch 'fix_2427' 2017-10-16 07:25:38 +08:00
hiker
9166e704e9 Take ball squashing into account when computing the ball height (so now
the basketball properly touches the ground if its height is 0).
2017-10-16 10:10:33 +11:00
Benau
c7dbe715fc Remove duplicated and unused code 2017-10-16 00:48:08 +08:00
Benau
4573e51e98 Fix #2427 2017-10-15 19:14:07 +08:00
Benau
a7debc286a Check flips using unordered_set 2017-10-15 15:05:49 +08:00
Benau
058f9163db Some work to make particle shader able to render billboard
The lifetime in height map stimulation will always now < 1.0f
2017-10-15 13:57:01 +08:00
Benau
f646a26fbe Clean up particle .xml
Remove unsupported entries, notice that particles now are auto-
faded out by lifetime

Also remove flips that are not visible at all
2017-10-15 12:47:21 +08:00
Benau
998b11ed51 Add an option to disable pre-generation for explosion particles
Also remove some unused code
2017-10-15 11:32:58 +08:00
Benau
b1f4ced6f0 Fix bounding boxes in legacy pipeline 2017-10-15 00:18:11 +08:00
Benau
85adab6e1e Allow to use new STKParticle with legacy pipeline
Due to cull face issue the kart exhaust is still not visible
2017-10-14 15:42:10 +08:00
Benau
088d09cb64 Don't hardcode first vbo size 2017-10-14 14:42:54 +08:00
Benau
c3a22ddcf7 Pre-generate some particles if max count is small 2017-10-14 14:42:24 +08:00
Benau
a0c9ba2b8c Pack mixed color into instanced array
With half-floats for lifetime and size for same stride
2017-10-14 12:33:08 +08:00
Benau
e49a7139d7 Split MiniGLM for more usage (instancing, cpu particle, network...) 2017-10-14 11:00:51 +08:00
Benau
0b9a3e1c69 Fix some issues found in first-try 2017-10-14 09:47:13 +08:00
Benau
0066722dab Features completed cpu particle 2017-10-14 00:19:59 +08:00
Deve
63ecbefbdd I forgot about particles 2017-10-12 22:55:26 +02:00
Deve
928ae4e44d Try to fix server-only compilation 2017-10-11 21:50:44 +02:00
Deve
b0cdbd94b4 Merge branch 'srgb_fb' 2017-10-11 21:46:58 +02:00
Deve
c1e17f0593 Add a fallback for intel on linux.
When workaround with alpha_channel=true failed, then fallback to the path with disabled srgb framebuffer.
2017-10-11 21:39:13 +02:00
Deve
6794670510 Disable srgb framebuffer for intel hd 2000 too 2017-10-11 20:53:49 +02:00
Benau
9304f6fa3c Disable the usage of all parts colorized
Please use colorization mask for better effect
2017-10-11 13:05:15 +08:00
Benau
839142b752 Add up-to-date restriction for hd3000 in windows 2017-10-11 11:25:28 +08:00
Ben Krajancic
865426aad7 Small clarification to prevent build errors (#2954)
Building outside of this directory prevents the executable from launching, this small addition can help prevent this issue from happening.
2017-10-09 21:10:50 -04:00
Ben Krajancic
8ce23fe078 Small clarification to prevent build errors
Building outside of this directory prevents the executable from launching, this small addition can help prevent this issue from happening.
2017-10-10 09:53:15 +11:00
Deve
ae4e302741 Add a way to run STK without srgb framebuffer 2017-10-09 21:18:15 +02:00
auria.mg
0453809915 Update credits 2017-10-08 19:56:13 -04:00
Benau
10e3467f96 Merge remote-tracking branch 'origin/better_rescue_animation' 2017-10-09 07:44:50 +08:00
hiker
fba22def40 Merge branch 'master' of github.com:supertuxkart/stk-code 2017-10-09 10:29:24 +11:00
hiker
b97088c933 Fixed computation of new point. The previous approach was based on
the newly computed point. If this point should be under the track,
and the new height is not enough to offset this, the ball will be
tunnelling, which results in the ball being reset to the previous
position, i.e. the ball will not move.
2017-10-09 10:25:36 +11:00
hiker
f94b3a9120 Added more debug info, removed unused code. 2017-10-09 10:25:11 +11:00
Benau
2217083421 Replace broken abyss replay with candela city 2017-10-08 11:16:25 +08:00
Deve
48d94e10a7 Use separate os name for android stats 2017-10-07 21:37:59 +02:00
Benau
4f1becb20d Add a better rescue animation
Also fix #2501
2017-10-06 23:42:23 +08:00
Benau
cf2a9f7089 Allow configurable exhuast particle, fixes #2878 2017-10-06 01:08:27 +08:00
auria.mg
3ad081104e Re-extract strings for missing track, oops 2017-10-04 20:59:30 -04:00
auria.mg
7a63955a06 Minor challenge tweak 2017-10-04 18:56:43 -04:00
auria.mg
1c9e4bc04a Tweak hacienda easy challenge, see #2951 2017-10-04 18:50:27 -04:00
Deve
bc84559f1d Revert a hack for shadows.
It helps for horizontal surfaces, but makes vertical surfaces worse (for example rocks in cornfield crossing), so it's not really a solution.
2017-10-04 22:19:19 +02:00
auria.mg
0f790d4331 Update strings 2017-10-03 19:04:34 -04:00
Deve
27a79526b1 Allow to use particles heightmap simulation in GLES 2017-10-02 23:05:12 +02:00
Deve
843ebad9a1 Don't use GL_FRAMEBUFFER_SRGB in GLES 2017-10-01 22:25:37 +02:00
Benau
d6d1fa40c0 Use a hack to get the "real" transformation for bones
Sometimes the value return before was not as correct as in blender

Todo: expose it in mesh interface
2017-10-01 15:20:37 +08:00
Deve
1a250c5b74 Hopefully fixed rare crash in createVideoModeList.
Assume that the window was null.
2017-09-30 23:43:29 +02:00
Deve
d99b2d4b5a Fixed a crash in overworld after kart selection screen when accelerometer is enabled 2017-09-30 23:08:17 +02:00
Benau
f1dfabdcc2 Update Changelog 2017-09-30 14:55:14 +08:00
Sam
c4726e767a Merge branch 'master' of https://github.com/supertuxkart/stk-code 2017-09-28 20:07:17 +02:00
Sam
e3bfa79d43 Now you must progress the story mode to unlock sara the wizard 2017-09-28 20:05:12 +02:00
Deve
34a3207f91 Fixed android compilation 2017-09-27 23:20:35 +02:00
Deve
afbdbaeee8 Remove unused files.
Both Console and FB don't work with opengl driver. And the software driver is not even included in stk sources. So I don't think that it will be ever used.
2017-09-27 23:07:44 +02:00
Deve
de116c7e4c Fixed possible issue with changing resolution 2017-09-27 22:24:40 +02:00
Deve
126991118d Now only irrlicht depends on x11 2017-09-27 21:45:08 +02:00
Deve
e2c0f83fb0 Move patform specific code from irr_driver to irrlicht devices 2017-09-27 17:37:56 +02:00
Benau
e655c5e971 Don't initInverseBoneMatrices for < version 3 karts
grep -rn speed-weighted-object in deveee's addon karts show nothing
(even most addons)
2017-09-20 13:27:46 +08:00
auria.mg
4078863d1d Update achivements.xml, fixes #2940 2017-09-19 18:44:05 -04:00
Deve
70471a7266 Adjust explosion particle size to updated explosion image (removed transparent margins).
Causes minor performance improvement, but better than nothing.
2017-09-19 22:42:39 +02:00
Benau
3cd2f403e0 Force re-skin when getMesh with hardware skinning on
Actually spm has a built in way to use mesh without bothering bind
pose
2017-09-20 01:27:52 +08:00
Deve
71334bac5b Move xrandr to irrlicht cmake file and also fixed indentations 2017-09-18 22:14:43 +02:00
Deve
66cebbdbe7 Add cmake scripts that find egl and wayland libraries 2017-09-18 21:50:34 +02:00
Benau
b09eec4bcb Allow speed weight objects to be attached to bone 2017-09-18 11:27:21 +08:00
Deve
f6fa44f0df Request srgb colorspace on wayland 2017-09-17 21:51:07 +02:00
Benau
cef65cb98a Use the same radius as before 2017-09-17 08:44:58 +08:00
Deve
29ba4ee543 Avoid a warning about missing texture in race result gui 2017-09-16 23:38:26 +02:00
Benau
12188c5287 Allow sharing headlight model and config its color (for gnu) 2017-09-16 14:46:21 +08:00
Benau
00660293b7 Fix #1795, fix #2755 and fix #2886
Allow using bone attachment in straight-frame static mesh.

Advanced headlight rendering with light origin from center mass
of headlight model which can be bound to any bone in kart model
2017-09-15 20:08:38 +08:00
auria.mg
32243e7eb3 Update the newlt-added icons with ones whose liense is known 2017-09-14 19:44:34 -04:00
auria.mg
024b642d27 Add margin 2017-09-14 19:24:23 -04:00
auria.mg
1d2e882ffe Merge branch 'master' into master_fhach
# Conflicts:
#	src/guiengine/widgets/kart_stats_widget.cpp
2017-09-14 19:24:06 -04:00
Deve
04cc5bb62c Make sure that music pointers are always null when deleted 2017-09-13 21:11:12 +02:00
deve
9681a9586f Update supertuxkart.pot 2017-09-13 06:20:20 +02:00
deve
6500cf716a Use better names in touch device settings 2017-09-13 06:18:07 +02:00
Deve
e615ff67d6 Don't use gl functions that are not available in core context.
Fixes some driver warnings.
2017-09-12 23:49:35 +02:00
Deve
be4d0e7208 Fixed a crash when starting ghost replay 2017-09-12 20:14:10 +02:00
deve
6829bb1e51 Fixed aspect ratio for icon button widget.
It happened when using non-hd textures. Textures with aspect ratio != 1, are scaled to MAX_TEXTURE_SIZE, for example from 512x256 to 256x256, so we can't base on scaled texture size.

Btw. such behaviour seems to not have a sense (for example 2048x256 will be scaled down to 256x256), so it may need some work in stk_texture.cpp.
2017-09-12 06:10:23 +02:00
Deve
fd00ef4d92 Fixed a crash in grand prix editor 2017-09-09 21:25:56 +02:00
deve
4610572649 Don't draw explosion particles if only important effects are selected in options.
It causes slowdown on some devices, i.e. from 30fps to 5fps when explosion occurs very near of the camera. So disable it for lowest graphical level.
2017-09-08 06:25:21 +02:00
Deve
f96863c421 Add a possibility to totally disable particles.
Particles cause a crash on some radeon devices, so people can at least disable it to make the game working.
Also tfb causes quite big slowdown on slow devices even if there is no particles displayed, so it can give few more fps.
2017-09-08 00:33:46 +02:00
QwertyChouskie
039a7d0ecc Put screenshots in ~/.local/share/supertuxkart/screenshots (#2932)
* Put screenshots in ~/.local/share/supertuxkart/screenshots

Instead of `~/.cache/supertuxkart/screenshots`.

* whoops :(
2017-09-06 20:22:05 -04:00
auria.mg
5e8f25a1fc Add a slight delay when triggering the falling camera, avoids triggering it too soon when the kart is not yet sure to fall 2017-09-06 19:23:58 -04:00
Benau
88972f8308 Cache all mipmap levels for compressed texture
Not sure if devee has super-fast loading speed like me
2017-09-06 15:14:36 +08:00
Benau
ee3d0df242 Try to fix "Cannot find container_id for texture" for models 2017-09-06 15:13:50 +08:00
hiker
92aec928a1 Tweaked physics so that wheel raycasts happen from inside the collision shape
(fixes karts getting stuck at borders), use a longer less bevelled collision
shape better kart stability), and reduce angular factor to make it less
likely that karts can drive on walls.
2017-09-06 09:06:04 +10:00
hiker
5cbcd79cca Merge branch 'master' of github.com:supertuxkart/stk-code 2017-09-06 09:02:33 +10:00
Deve
8a3cdb4fef Don't link with useless libs.
Also remove custom script for xrandr.
2017-09-05 00:19:55 +02:00
hiker
416b93b0a1 Reset steering when calling reset in a kart, which results in more accurate
physics replays.
2017-09-04 18:08:14 +10:00
hiker
71978e2bb0 Merge branch 'master' of github.com:supertuxkart/stk-code 2017-09-04 10:43:00 +10:00
auria.mg
15ea4a8f17 Merge branch 'master' of https://github.com/supertuxkart/stk-code 2017-09-03 20:38:16 -04:00
auria.mg
b974b35a07 Code cleanup in kart audio code 2017-09-03 20:37:43 -04:00
hiker
5d51b7fcd1 Added #define to switch between AI-debugging-topview camera (high up)
and physics-debugging-topview camera (close to kart).
2017-09-04 08:41:21 +10:00
hiker
bd6c2d9b21 Allow setting bevel to 0, fix incorrect Y position when using bevelled
values for wheel positions.
2017-09-04 08:30:31 +10:00
Deve
b820a60e98 Tweak default accelerometer sensitivity.
Also move it to the config file.
2017-09-03 23:39:03 +02:00
auria.mg
beb10863c4 Continue optimizing OpenAL sources, see #2921 2017-09-02 22:49:36 -04:00
auria.mg
cb2295c738 Improve kart audio refactor, see #2921 2017-09-02 22:35:41 -04:00
auria.mg
663c7aacaf Tweak kart audio code to use fewer OpenAL sources (see #2921). Seems to work well, though I need to take a closer look to make it thread-safe 2017-09-02 22:00:37 -04:00
auria.mg
590ec78640 Update changelog 2017-09-02 21:54:02 -04:00
Deve
1123ceeceb Don't try to create textures for empty names.
It's not designed to work with empty file names, because the "existFile" function in irrlicht returns true for directories, our file manager doesn't check that it's a directory and generally strange things happen.

This solves a problem with luna track that doesn't have a screenshot and possibly with some broken add-ons, so that valgrind doesn't complain anymore.

Benau, feel free to revert it if you have better solution.
2017-09-03 00:04:29 +02:00
Deve
6710fc2a5c Don't add absolute path if screenshot name is empty 2017-09-02 23:47:25 +02:00
Deve
6f11a1669f Make particles in GLES renderer to look a bit better.
Now kart exhaust is not too dark anymore.
2017-09-02 01:01:35 +02:00
Benau
f07a7062b3 Add min / max height testing for all graphs 2017-09-01 14:12:10 +08:00
hiker
f7397028ff Merge branch 'master' of github.com:supertuxkart/stk-code 2017-08-31 23:55:33 +10:00
hiker
4759ff2490 Cancel the setAnimationEndCallback when a non-existing animation is
tried to be set. Fixes #2628.
2017-08-31 23:47:39 +10:00
auria.mg
64c1e8d19c Fix SFX leaks 2017-08-30 20:39:20 -04:00
Deve
69e26d7561 Remove unclear warning.
Weather node without particles is fine and it's used in Blackhill Mansion (just for lightning). The warning was suggesting that something is wrong there.
2017-08-30 21:21:43 +02:00
hiker
0dd3bbbd9b Changed severity level so that additional information in case of a crash
is certain to be seen.
2017-08-30 17:54:45 +10:00
hiker
7a3448a159 Merge branch 'master' of github.com:supertuxkart/stk-code 2017-08-30 17:52:41 +10:00
hiker
c33ee321cc Merge branch 'master' of github.com:supertuxkart/stk-code 2017-08-30 17:49:59 +10:00
hiker
4440c7e40a Added error check for alDeleteSource. 2017-08-30 17:46:07 +10:00
deve
8c73b67309 Update supertuxkart.pot 2017-08-30 06:50:51 +02:00
deve
2de3a39e04 Make device name translatable 2017-08-30 06:46:55 +02:00
auria.mg
6e30154fc3 Update strings 2017-08-29 19:48:32 -04:00
Allan Nordhøy
f08b53c1fc Spelling: Chose, add-ons, low, command-line (#2914)
* Spelling: Chose, add-ons, low, command-line, HTTPS

* Back to http for privacy.supertuxkart.net

It auto-negotiates for https from Let's Encrypt when connected to through http, strange.
2017-08-29 19:47:07 -04:00
Deve
e05ef71b77 Make it clear that NDK >= r15b is atm. not supported 2017-08-29 22:00:45 +02:00
Deve
184ecce836 Reset multitouch buttons state when game is restarted 2017-08-29 22:00:45 +02:00
Deve
65363a2fa0 Move multitouch race gui creation.
It's to avoid duplicated buttons because result gui uses gui_base too.
2017-08-29 22:00:45 +02:00
Benau
ba55fc7d2e Fix previously always true statement
bufferSize (Real*BOSize) was never used and set
2017-08-29 10:31:56 +08:00
auria.mg
96c4e26ef3 Update strings 2017-08-28 19:36:34 -04:00
hiker
ab6fbd2609 Merge remote-tracking branch 'origin/master' into fix-ball-cannon 2017-08-29 09:19:41 +10:00
hiker
cf98e049b0 Fixed sliding (i.e. not being able to drive up steep uphill sections). Fixes #2906. 2017-08-29 08:23:06 +10:00
Deve
2fdb33990e Tweak some touch device params.
Better on 5'', worse on 10''... Can be changed in options anyway.
2017-08-28 22:25:32 +02:00
Deve
704d3ea9d9 Try to make touch device a bit more comfortable 2017-08-28 22:25:32 +02:00
Benau
ea58a736d5 Fix displace fallback in non-advanced pipeline 2017-08-28 13:04:41 +08:00
Benau
7b571de395 Fix the wrong "misuse"
Now you can play hot.ogg
2017-08-25 16:39:34 +08:00
auria.mg
5999e83cba Update changelog 2017-08-23 19:02:19 -04:00
auria.mg
e852714466 Update challenges for new city track 2017-08-23 18:52:10 -04:00
Deve
6465cc4569 Minor fix in graphics restrictions.
Some android restrictions are very basic, eg. UniformBufferObject is disabled on whole platform. So make sure that it's not used on any exotic OS.
2017-08-23 21:18:45 +02:00
Deve
dec9948d0b Make sure we don't write out of array.
It shouldn't happen, but code below assumes that visualAttrBuffer has its full size, so just in case...
2017-08-23 00:13:57 +02:00
Deve
b03e108902 Handle a case when request for srgb-capable framebuffer failed.
It fixes #2902.
2017-08-22 23:53:04 +02:00
Benau
850afc8620 Allow using animated texture with displace shader
Plus some clean-up
2017-08-23 00:55:25 +08:00
Deve
6a03f147f6 Add a possibility to use ubo on gles.
Disabled by default on android, because it's been tested on only one device and it's a bit slower in most cases.
2017-08-22 00:02:34 +02:00
Deve
bd84929982 Don't convert gloss maps.
It causes artifacts when advanced lighting is enabled.
2017-08-21 11:30:49 +02:00
Benau
ad369b88da Remove .b3d usage in stk-code 2017-08-21 16:02:06 +08:00
Benau
a8e20101f8 Make SPM loader more portable (for stk-editor later)
Also allow calculating normal if required
2017-08-21 14:57:33 +08:00
hiker
f1f8bf0e4d Oops - fixed unexplainable #includes ... I am sure I didn't put them in :P 2017-08-21 14:59:28 +10:00
hiker
6d61ef7fb9 Use StringUtils instead of strrchr, some code cleanup. 2017-08-21 08:47:28 +10:00
hiker
5a35bb6195 Made crash reporting work with 32- and 64-bit windows executables. 2017-08-21 08:11:03 +10:00
Deve
d698e62053 Minor fix in video settings dialog 2017-08-19 22:09:42 +02:00
Benau
1ca6a6edea Remove the need of 2nd UVmap for displace objects 2017-08-19 08:51:09 +08:00
Benau
4c0b28a43e Fix speed weight object looping in non-animated character 2017-08-17 15:48:21 +08:00
Benau
fd7bf80493 Fix kart selection screen animation if only 1 kart 2017-08-17 15:28:04 +08:00
Deve
ad062d3b81 Fixed indentations 2017-08-17 00:11:25 +02:00
Deve
3cf8649a6e More work with generate_assets script.
Now uncompressed tux with .spm takes just 350 kb.
2017-08-17 00:11:25 +02:00
Benau
a00b878919 Use transposed matrix everywhere 2017-08-17 01:26:08 +08:00
hiker
f3d56b37df Merge branch 'master' into win-64bit 2017-08-16 17:29:57 +10:00
Benau
3031fabcf9 Add spm loader 2017-08-16 13:48:27 +08:00
Deve
196fe378b4 Fix for png->jpg converter.
It's possible that there are multiple file names in single parameter, for example:
<sky-box texture="0006.png 0001.png 0004.png 0002.png 0003.png 0005.png" ... />
now it should work.

Also use is_opaque rather than has_alpha that gives better results.
2017-08-15 23:03:22 +02:00
hiker
01be800253 Fixed stack traces for win32 (#2642). 2017-08-15 23:54:39 +10:00
Deve
8fa0e4e7b3 Make it less verbose 2017-08-15 10:12:56 +02:00
Deve
4da945f710 Move duplicated code to separate function 2017-08-15 10:12:56 +02:00
Deve
0a2d05a998 Add a possibility to convert png->jpg for spm format for smaller apk 2017-08-15 10:12:56 +02:00
hiker
5a2b92d79d Merge branch 'master' into improve-xbox-gamepad-support 2017-08-14 10:05:26 +10:00
Deve
71bbafadbd Fixed memory leaks in gles 2017-08-13 22:02:55 +02:00
Deve
0bf0ca0a35 Fixed memory leak 2017-08-13 01:38:21 +02:00
Deve
1f4a9135b6 Remove useless elif 2017-08-13 01:38:21 +02:00
Deve
ee5bdad926 Move output/seat listener to better place 2017-08-13 01:38:21 +02:00
Deve
fd4ab9d88f Fixed possible uninitialized variable in gles renderer 2017-08-13 01:38:21 +02:00
Deve
cf868df93f Fixed memory leaks in wayland device 2017-08-13 01:38:21 +02:00
hiker
1cc9f503a4 DT can actually be 0 :P (e.g. in server with no graphics, and I
guess on really fast computers). Bad things happen with dt=0, so
set dt to at least 1 ms.
2017-08-11 17:22:25 +10:00
hiker
6edfc02ec5 Removed debug output. 2017-08-11 17:10:59 +10:00
hiker
a7a3f2b137 Fixed typo in profiler call. 2017-08-11 17:10:28 +10:00
hiker
50c3ac671b Merge branch 'master' of github.com:supertuxkart/stk-code 2017-08-11 10:10:27 +10:00
hiker
e7f8cc7239 Added profiling events for playing network events. 2017-08-11 09:50:08 +10:00
hiker
4c0ffdb055 Added profiling events for ProtocolManager. 2017-08-11 09:48:34 +10:00
hiker
aa757637ec Added more profiling events for rewinding. 2017-08-11 09:46:30 +10:00
hiker
3923da30bc Use unique names for profiler events. 2017-08-11 09:41:22 +10:00
hiker
5b68e18df4 Fix cygwin support. 2017-08-11 09:38:58 +10:00
auria.mg
936ef3c4c7 Update changelog 2017-08-09 19:37:49 -04:00
hiker
587687a614 Merge remote-tracking branch 'origin/fix-2850' 2017-08-09 21:40:44 +10:00
hiker
626f540b15 Merge branch 'Fix-2617' 2017-08-09 21:21:03 +10:00
hiker
86d5e11c13 Merge branch 'improve-xbox-gamepad-support' of github.com:supertuxkart/stk-code into improve-xbox-gamepad-support 2017-08-09 20:32:13 +10:00
hiker
e03c0849ce Fixed previous commit - got confused with the #undef :P 2017-08-09 20:30:44 +10:00
hiker
8be5443f8c Merge branch 'fix-profiler' into improve-xbox-gamepad-support 2017-08-09 17:56:40 +10:00
hiker
d46b03b317 Hopefully fixed cygwin build problems. 2017-08-09 17:54:29 +10:00
hiker
379a9db3c9 Merge remote-tracking branch 'origin/fix-profiler' into game_protocol 2017-08-09 17:43:14 +10:00
Benau
861e7f7ebd Remove contradiction 2017-08-09 15:36:26 +08:00
Benau
cc8331f5cd Fix #2897 2017-08-09 15:03:37 +08:00
Benau
79c6705bb1 Fix #2814 2017-08-09 13:00:09 +08:00
Benau
ea97258b65 Add scripting code for throwing banana monkeys 2017-08-09 12:23:37 +08:00
auria.mg
94bb657102 Ignore input sensing coming from the wrong gamepad 2017-08-08 20:44:31 -04:00
hiker
6f5b1d2a55 Merge branch 'improve-xbox-gamepad-support' of github.com:supertuxkart/stk-code into improve-xbox-gamepad-support 2017-08-09 10:23:52 +10:00
auria.mg
f589bbea04 Attempt to fix 2617 2017-08-08 20:23:22 -04:00
hiker
11a587dd30 Merge branch 'improve-xbox-gamepad-support' of github.com:supertuxkart/stk-code into improve-xbox-gamepad-support 2017-08-09 10:15:35 +10:00
hiker
28890aad33 Merge branch 'master' into game_protocol
Some minor changes to make code easier to read.
2017-08-09 09:50:46 +10:00
hiker
c3cd7ceaa2 Merge branch 'master' into improve-xbox-gamepad-support 2017-08-08 23:08:14 +10:00
hiker
b440511c95 Fixed incorrect right thumbstick mapping. 2017-08-08 21:55:28 +10:00
hiker
bd5eb89cc0 Use XInput 9.1 which does not need an installer and works on most
windows platforms. Move the linking to irrlicht cmake.
2017-08-08 21:44:32 +10:00
hiker
0acda38987 Add profiling events to sfx manager, but they are commented out
by default (using preprocessor directives), since they are typically
not useful.
2017-08-08 16:44:55 +10:00
hiker
6a0fb83209 Clear existing events when the circular buffer wraps around. 2017-08-08 16:36:54 +10:00
hiker
d29d2b831f Only use start and end time for thread 0, since all other threads
might not have valid start and end times (since they can record
several identical events during one frame). Bars for all other
threads can therefore not be nested.
2017-08-08 16:09:49 +10:00
hiker
887814ea98 Fixed incorrect start and end time setting when synchronising
frames. Only use thread 0's start and end time to compute the
duration (since other threads might have multiple identical
events during one frame, resulting in incorrect start times).
2017-08-08 16:08:15 +10:00
Deve
0a715ac31a Fixed 32-bit mingw compilation 2017-08-07 22:33:57 +02:00
hiker
620d1f34c1 Link in xinput on windows builds. 2017-08-07 23:50:09 +10:00
hiker
6783ab26f8 Keep a list of all event names in the order in which they first
appear. This list allows the proper ordering of events when drawing
the bar chart to show nesting. Make sure that enabling the profiler
starts at the next synch point (to avoid incomplete event pairs).
Create a seprate output file for each thread.
2017-08-07 17:53:15 +10:00
hiker
e6c2c3df95 Revert to using guidProduct for all existing code, but the correct guidInstance
for detecting XInput devices only.
2017-08-07 09:15:09 +10:00
Deve
b6df36fc39 Don't hardcode build-tools version 2017-08-06 23:15:08 +02:00
Deve
bc6ff38b22 Simplify light factor when advanced lighting is disabled.
In this case only diffuseMatColor really matters, other values are constant.

It improves performance on GLES renderer and it's also noticeably faster for GL on desktop.
For example:
- fps increased for me from 60 to 69 on Hacienda with intel HD 4000
- from 43 to 49 on lighthouse

There is much less difference on nvidia graphics card, but still it gives small performance improvement.
2017-08-06 22:18:18 +02:00
hiker
4c55ca4da9 Merge commit 'e6a134c3479ccdbaf91bb36d46ffb64b6a3b52b9' into improve-xbox-gamepad-support 2017-08-06 22:58:49 +10:00
hiker
891e439264 Remapped XInput to be the same as DirectInput buttons, so that
existing configs works as expected. Hard-coded 6 axis for xbox
controller to allow for triggers to be reported as two different
axis (instead of as one axis). Updated gamepad config to use
proper names for triggers.
2017-08-06 22:56:59 +10:00
hiker
68d41a07ba Now actually use XInput to read the joystick events for all
XInput devices.
2017-08-05 00:34:51 +10:00
hiker
f431730278 Fixed recognition of XInput devices. 2017-08-05 00:12:22 +10:00
Geoffrey Mon
a73af6eb0d Save and use usernames in replay files (#2754) (#2893)
* Save and use usernames in replay files

Fixes #2754.

* Store usernames of each racer in recorded replay files
* Display those usernames in a column of the replay selection UI
  and in race result dialogs
* RaceResultGUI::getKartDisplayName functionality moved into
  Controller::getName

* Move Controller::getName definition to avoid unnecessary #include

* Backwards compatibility: use kart name if username is not in replay

* Fix code style issues
2017-08-03 19:51:42 -04:00
hiker
623bb460c6 Merge branch 'master' of github.com:supertuxkart/stk-code 2017-08-03 21:23:32 +10:00
hiker
04c775eead Don't measure lock time, some whitespace cleanup. 2017-08-03 21:21:40 +10:00
hiker
d3da93f368 Try to use a Microsoft function to detect XInput devices when using
DirectInput - atm not working yet :(
2017-08-03 09:24:50 +10:00
Geoffrey Mon
802d70ca8d Fix code style issues 2017-08-02 17:21:37 -04:00
Deve
1d2ff0bc47 Remove more unused files 2017-08-02 22:03:01 +02:00
Deve
e9496caa71 Merge pull request #2892 from qwertychouskie/cleanup2
Cleanup V2
2017-08-02 21:49:58 +02:00
Geoffrey Mon
9ec2ff5c4a Backwards compatibility: use kart name if username is not in replay 2017-08-02 14:13:26 -04:00
Geoffrey Mon
ca5258a46c Move Controller::getName definition to avoid unnecessary #include 2017-08-02 13:48:44 -04:00
Benau
ac406e1e00 Fix #2891 2017-08-03 01:34:35 +08:00
Geoffrey Mon
f3a962c391 Save and use usernames in replay files
Fixes #2754.

* Store usernames of each racer in recorded replay files
* Display those usernames in a column of the replay selection UI
  and in race result dialogs
* RaceResultGUI::getKartDisplayName functionality moved into
  Controller::getName
2017-08-02 12:55:23 -04:00
Qwerty Chouskie
14ea69dc90 Cleanup V2 2017-08-02 09:29:15 -07:00
hiker
203995262c Exclude the time to get the lock from profile measurements. 2017-08-02 22:40:19 +10:00
hiker
d8fe700f64 Don't store data when the profiler is disabled. 2017-08-02 08:48:01 +10:00
hiker
d800a8c0bc Made everything threadsafe. 2017-08-02 08:34:43 +10:00
hiker
22208365d2 Switch to direct input for joystick handling. 2017-08-02 08:13:24 +10:00
hiker
1e5d2643be Bugfix: incorrect index. 2017-08-02 08:13:04 +10:00
hiker
cc6a1a3909 Started to add XInput support (to be able to distinguish the two
triggers).
2017-08-01 17:48:18 +10:00
hiker
85ee217d77 Converted tab to spaces. 2017-08-01 17:19:52 +10:00
hiker
ea12c8f494 Very first version of profiler that supports multiple threads
and handles events in branches better.
2017-07-31 22:56:47 +10:00
hiker
47d2e30c5f Fixed compiler warnings. 2017-07-31 22:56:00 +10:00
hiker
e6a134c347 Fix 2850 by increasing the number of axis for a gamepad to include
D-pad.
2017-07-30 23:05:27 +10:00
hiker
65c8cb7ae1 Replaced arrays with std::vector (to get better error checking). 2017-07-30 23:03:40 +10:00
Deve
a89b2f5df2 Minor tweak for linux icon.
On freedesktop specs they suggest to use 48x48 icon.
2017-07-30 12:56:25 +02:00
Deve
7d4fbb8d0c Minor modification in play tutorial text. Fixes #2535 2017-07-29 00:43:17 +02:00
hiker
fdd551a730 Fixed debug compilation. 2017-07-24 23:56:34 +10:00
hiker
ea3f9f8945 Merge branch 'master' into game_protocol 2017-07-24 21:12:36 +10:00
hiker
46bc3493b4 Coding style changes to profiler. Replaced ";" as separator with " "
(which is gnuplot friendly), and also added column number to header
to make it easier to know which column is what field.
2017-07-24 16:54:45 +10:00
hiker
48de916f68 Added non-interpolated physics position to debug output. 2017-07-24 16:53:51 +10:00
QwertyChouskie
0be10ce448 Fix MinGW cross-compilation (#2883)
* Fix MinGW x64 cross-compilation

* Fix MinGW x86 cross-compilation
2017-07-22 20:17:31 -04:00
Benau
979e1546fb Fix #2881, only create a camera when initializing 2017-07-21 09:27:57 +08:00
auria.mg
1770d01e07 Changelog, continued 2017-07-20 19:57:42 -04:00
auria.mg
b2fd3d341a Changelog 2017-07-20 19:50:46 -04:00
Deve
09a735c25e Use key names in android device too 2017-07-20 22:58:12 +02:00
Deve
7a92708fd3 Use key names in wayland device 2017-07-20 22:58:12 +02:00
Deve
0dba3c8f67 Add a prefix to irrlicht key codes 2017-07-20 22:58:11 +02:00
Benau
10909b9556 Remove m_scale_rtts_factor == 1.0f in image quality for now
Because not working in advanced pipeline
2017-07-20 10:19:30 +08:00
samuncle
a3d6f2f453 Start to update the changelog for the release (please add/correct if needed) 2017-07-19 19:35:04 +02:00
Deve
11b2409fab Activate accelerometer only if needed 2017-07-18 21:43:45 +02:00
Deve
20850c9811 Remove unused cmake option 2017-07-18 00:11:09 +02:00
Deve
bbee93dfe8 Update readme and generate_assets script.
The issues on android 4.4 + qualcomm should be already fixed in 8653d410f8 and d44802a482

I also added few lightweight tracks and karts to the apk
2017-07-14 22:04:52 +02:00
Deve
cbba2b6b7d Merge pull request #2880 from scootergrisen/patch-2
Add danish translation
2017-07-14 06:21:38 +02:00
scootergrisen
cb8e0d7b2a Add danish translation 2017-07-14 00:40:56 +02:00
Deve
d44802a482 Add a workaround for some qualcomm devices on android 4.4 2017-07-11 00:37:31 +02:00
Deve
70c481cb26 Add a possibility to set android version in graphics restrictions. 2017-07-10 22:54:38 +02:00
Deve
1fd6a8aa86 Make sure that we are not using files from our zlib/libpng when STK is compiled with shared libraries.
It's possible that STK was using these files for compilation when cmake was run from main directory. In this case compiled files are stored in stk-code/lib, so that CMAKE_CURRENT_BINARY_DIR is stk-code/lib/irrlicht rather than stk-code/build/lib/irrlicht and we include whole lib/libpng rather than non-existing directory.
2017-07-10 21:14:28 +02:00
Benau
8653d410f8 Option 1 for fixing android 4.4
Reinit vertex attribute pointer each time, performance may hurt
2017-07-09 00:46:42 +08:00
QwertyChouskie
7b185ce2f1 Add new GPwin cutscene (#2875)
* Add new cutscene

* Cleanup

* Make all podiums arrive at the same time
2017-07-06 20:54:42 -04:00
Deve
6fc285b794 Show only native resolution in settings on android.
Changing resolution is atm. not available, so adding 1024x768 doesn't have a sense.
2017-07-06 23:18:43 +02:00
Deve
9b7f3d70dd One more place where we were linking with glu.
It doesn't really matter, but it's better that our linux package doesn't depend on it.
2017-07-05 21:49:31 +02:00
Deve
9fc1acc4c0 Allow to draw steering wheel on the right side 2017-07-05 21:21:33 +02:00
Deve
2cda14686d Simplify touch device settings 2017-07-05 20:43:57 +02:00
Deve
2bf99aef1d Remove useless gles defines from irrlicht cmake file 2017-07-04 23:32:57 +02:00
Deve
c6ea07eacc Remove unused gles 1.0 code 2017-07-04 23:30:09 +02:00
Deve
2bdce1994c Minor fix in android build script 2017-07-04 22:57:59 +02:00
Deve
09262a606b Add missing copyright.
The EGL context manager has been written from scratch, so our copyright should be fine.
2017-07-04 22:55:08 +02:00
Deve
f672088a04 Tweak closing android device 2017-07-04 22:43:11 +02:00
Deve
f13f69851f Fixed black screen on some GLES 2.0 devices.
It affects only GLES 2.0. The GLES >= 3.0 and OpenGL allow sized internal formats.
2017-06-29 23:00:08 +02:00
Deve
8462c552d1 Add a warning for very low screen resolutions.
There are some android devices that are 320x240, 400x240 etc... Bare minimum to run STK is 640x480. Otherwise some important gui elements are not displayed and it may crash in guiengine.
2017-06-28 21:32:12 +02:00
QwertyChouskie
76257f68c5 Avoid error when libopenglrecorder not found (#2871)
* Avoid error when libopenglrecorder not found

* Full fix
2017-06-27 19:56:53 -04:00
Deve
076d1f2b62 Save few more mbytes in the apk 2017-06-27 21:20:38 +02:00
hiker
721cebc325 Added timestamp to debug output. 2017-06-27 19:02:03 +10:00
Deve
68cfdfbf17 Minor fix for android progress bar that probably doesn't make any difference anyway 2017-06-24 21:41:36 +02:00
Deve
23277066a4 Some fixes for egl config.
Added a fallback with basic configuration if requested config failed.
Also better check if choose config is success (num_configs can be >0 even if egl config is null)
2017-06-24 21:39:58 +02:00
Deve
8f70b74db9 Some tweaks in generate assets script 2017-06-24 01:11:58 +02:00
Deve
78b9b92efa Fixed gles compilation.
We include CIrrDeviceLinux in our edit box widget and it doesn't respect irrlicht cmake flags, so that it tries to include opengl headers even if we selected gles renderer. Just move it to the cpp file to avoid redeclaration errors.
2017-06-23 23:51:33 +02:00
QwertyChouskie
a2d831c1ea Handle missing libopenglrecorder gracefully (#2867)
* Handle missing libopenglrecorder gracefully

* Tweak readme

* Change version to "git"

* fail when version !== git

* oops

gota do my research :/
2017-06-22 20:27:29 -04:00
hiker
59ae3e8e63 Added documentation. 2017-06-22 17:39:56 +10:00
hiker
95016d03f4 Removed unnecessary loop. 2017-06-22 17:32:27 +10:00
hiker
60bbd4951a Added more debug output. 2017-06-22 09:54:55 +10:00
Deve
72358371f7 Some fixes for video mode list on android.
Should be a bit safer when user wants to close the game very early (i.e. when assets are extracting) and we get destroy event before irr_driver is actually initialized.
2017-06-19 22:59:27 +02:00
Matthew Trescott
1d8a709e38 Fix the --cutscene=<cutscene> commandline flag (#2861)
If the menu is shown, there's this ugly purple background (the OpenGL default, I think) and the cutscene won't play.
2017-06-17 18:49:00 -04:00
Deve
cfc506d0cf Merge pull request #2862 from MTres19/unlock_all_cmdline
Add option to unlock everything with a command line flag
2017-06-17 18:04:36 +02:00
Matthew Trescott
3dee6ce5dd Add option to unlock everything (and disable that option) from the command line
This was a complaint of Michael Larabel from Phoronix and is why he doesn't use STK in benchmarks; because the new tracks are mostly locked from the start and unavailable even with the --track flag
2017-06-17 11:45:57 -04:00
QwertyChouskie
10e439b6a1 Clean up output (#2856) 2017-06-13 20:50:13 -04:00
hiker
dd9e361289 Stop startup time being accelerated in network games (which results
in client and server to become out of synch).
2017-06-14 08:28:06 +10:00
hiker
283f3b94d3 Fixed tiem correctoin (which was in the wrong direction). 2017-06-14 08:27:34 +10:00
Deve
ae19ade5e5 Add gradle support to android build script 2017-06-13 22:06:53 +02:00
QwertyChouskie
be00283b2e Fix a few compiler warnings (#2854)
* Fix compiler warnings in gpwrap.cpp

* Fix compiler warning in skybox.cpp
2017-06-11 15:59:12 -04:00
Deve
e11641cd43 Minor correction in generate_assets script 2017-06-08 21:44:17 +02:00
hiker
72e7c5a4cb Updated unit testing for latest code changes, removed old/commented
out code.
2017-06-08 09:29:42 +10:00
hiker
08cd8bf235 Added debug output. 2017-06-08 09:17:34 +10:00
hiker
f772c090ec If a state from the server is received in the future (which can happen
if the server is forced to a rewind), make sure to still replay
the state.
2017-06-07 22:09:22 +10:00
hiker
0cc3a2d63f Removed unnecessary call. 2017-06-07 18:57:24 +10:00
hiker
48bbdc0e07 Determine end of rewind period by reaching the latest TimeStepInfo
(i.e. the one that was just added for the upcoming timestep that
first needed to do the rewind) instead of comparing world time
and end time - the latter is prone to floating point differences,
causing rewinds to 'rewind' the timestep that has yet being computed.
2017-06-07 09:33:40 +10:00
Marianne Gagnon
e4f2d0b1d5 Fix OS X build following libpng upgrade 2017-06-05 20:52:46 -04:00
Deve
15ce5b4ebf Fixed windows compilation 2017-06-05 21:54:44 +02:00
Deve
ccf3893abb Apply our modifications to libpng cmake script 2017-06-05 21:16:22 +02:00
Deve
9ebdb5fd00 Update libpng to newer version in order to fix some vulnerabilities.
I decided to just make a bug-fix update and keep the 1.5.x series because newer versions may also need the zlib update.
2017-06-05 21:10:38 +02:00
hiker
a13856c6d1 Adjust DT on client (due to server requests) at time DT is computed
(to keep consistent DT across all further calls, esp. avoid
issues with rewinding getting different DT).
2017-06-05 09:46:34 +10:00
hiker
f32a1961e2 Minor bugfix. 2017-06-05 09:06:12 +10:00
hiker
3747427c5f ixed handling of adding states to time step info to minimise
rewindw by assigning new events to existing time step info events.
2017-06-05 08:54:52 +10:00
Deve
37a2752162 Use newer seat version if possible 2017-05-31 23:47:19 +02:00
Deve
212411fb49 Allow to repeat keys 2017-05-31 22:31:46 +02:00
Deve
d6e5e04666 One more tweak 2017-05-31 22:29:28 +02:00
Deve
c13f812290 Simplify previous commit and also fix the double egl context deletion 2017-05-30 21:39:30 +02:00
Deve
26a6c49fc1 Add missing break 2017-05-30 00:34:39 +02:00
Deve
e00995d099 Allow to use GLES renderer with Wayland device.
It would be nice to simplify it a bit, i.e. decide if OpenGL context should be created on device side or driver side, use single constructor in GLES driver etc... But I'm not really sure how it will look like after Benau's space partitioning work, so some refactoring postponed till later.
2017-05-30 00:30:00 +02:00
hiker
34af963cc1 Fixed incorrect server-start-delay (caused by the start delay
being delivered in a different thread, so adding DT in the main
thread was not the right time step).
2017-05-29 15:08:32 +10:00
Deve
c8137fc0fa Add a possibility to set a window class in irr device.
This makes one ugly #ifdef less in the irr_driver.cpp.
2017-05-25 21:26:31 +02:00
Deve
b5f2e4d163 Allow to set window caption 2017-05-25 20:49:10 +02:00
Deve
0c18090669 Minor simplifications for keyboard on wayland 2017-05-25 17:27:08 +02:00
Deve
ce0a7bde84 Correct the rule for Polish plural forms.
It's already fixed in transifex.
2017-05-25 16:17:38 +02:00
Deve
8989cc97b5 Some fixes for keyboard on wayland 2017-05-24 01:17:25 +02:00
hiker
742be06c21 Removed code duplication by using macros. 2017-05-22 12:38:21 +10:00
Deve
2102b059de Update sources.cmake 2017-05-18 21:26:38 +02:00
Deve
8968706c09 Merge branch 'wayland' 2017-05-18 21:25:53 +02:00
Deve
bc25bc4435 Keep consistency with other irrlicht defines 2017-05-18 20:48:42 +02:00
Deve
abde57cd4a Add mouse wheel event 2017-05-17 22:44:22 +02:00
Deve
36368041ee Mostly cleanup and style modifications 2017-05-17 22:43:56 +02:00
hiker
fb5a600787 Remove 'duplicated' input events (e.g. auto-repeat might send
'accelerate' events over and over). This reduces traffic to
the server and other clients (and fixed a bug caused by rewinding
those events in the wrong order).
2017-05-17 09:19:19 +10:00
hiker
54fdd2d586 Add prefix for log messages during a rewind. 2017-05-16 22:01:32 +10:00
hiker
6162be9432 Add support for a 'prefix' to be printed for all log messages. 2017-05-16 22:00:35 +10:00
Deve
f99bc25845 Avoid semi-transparent window 2017-05-15 21:17:03 +02:00
Deve
961ac4d79e Better fix for glew 2017-05-14 00:06:54 +02:00
Deve
1966d3f072 Use x11 functions in irr_driver only if x11 device was created 2017-05-14 00:05:36 +02:00
hiker
91bad37939 Fixed incorrect position for a rubber ball in a cannon. 2017-05-13 21:38:59 +10:00
Deve
da802d836d Some fixes for mouse cursor. 2017-05-12 22:58:33 +02:00
Deve
ba39e88680 Update cursor when visibility is changed 2017-05-12 21:47:51 +02:00
hiker
bdbc7fd728 Reduce the height of a rubber ball in a cannon over time, so that
it starts closer to the ground when released after the cannon.
2017-05-12 17:52:15 +10:00
hiker
490bef516e Fix crash: the ProjectileManager must be cleared before the CheckManager
(since a rubber ball will emove itself from all cannon checklines, so
a crash happens if the checklines are gone).
2017-05-12 17:39:53 +10:00
hiker
1b75ed9b4c First fix for the basket-ball in cannon - make the ball follow
the cannon.
2017-05-12 17:11:46 +10:00
Deve
23c428160f Some fixes 2017-05-12 00:57:01 +02:00
hiker
03f4b76a32 Fixed various compiler warnings. 2017-05-09 09:34:37 +10:00
hiker
3a176f818c Merge remote-tracking branch 'origin/master' 2017-05-09 09:26:30 +10:00
auria.mg
dbd0cfa7d0 Expose the time of day to scripting, see #2315 2017-05-06 18:48:18 -04:00
auria.mg
242c8be90c Pause the bomb during animations, fixes #2846 2017-05-06 18:46:25 -04:00
Deve
70dc99ca6c Fixed some non-working keys.
We can't include linux/input.h because it breaks irrlicht keys.
2017-05-06 23:25:00 +02:00
Deve
632a759ee6 Allow to choose device type using environmental variable 2017-05-06 22:38:05 +02:00
Deve
e02a8f4448 Allow to make single build with both x11 and wayland device 2017-05-06 21:53:32 +02:00
Deve
2f1b61b798 Remember mouse button states 2017-05-05 23:04:18 +02:00
QwertyChouskie
58a170b4b7 Update string (#2824)
* Change message

* Update string in another file.

* Update addons_manager.cpp

* Update news_manager.cpp
2017-05-04 19:17:08 -04:00
auria.mg
553207fc11 Fix assertion failure if a bomb explodes while in a cannon, see #2846 (the bug is not quite fixed) 2017-05-04 19:12:17 -04:00
Deve
a9c2a1922a Some work on support clipboard 2017-05-04 22:36:12 +02:00
Deve
e27df23415 Draw mouse cursor 2017-05-04 21:06:40 +02:00
Deve
da65650b75 Allow to write unicode characters.
Needs some cleanup.
2017-05-03 20:45:42 +02:00
Deve
fc79ee50d0 Add the ping/pong events to avoid non-responding window and few other minor fixes 2017-04-28 23:04:34 +02:00
Deve
01ffc129fb Make it working for current wayland/weston 2017-04-24 22:26:47 +02:00
Deve
f31e4f8ea4 Add missing files 2017-04-23 21:22:15 +02:00
Dagan Martinez
ec3a74f758 Changed "macOS X" to "macOS" (#2843)
No such system stylized as "macOS X."

Left "OS X Install" because I don't think Apple uses install DVD's anymore since renaming as macOS?
2017-04-22 18:49:37 -04:00
Deve
5d9b1e103d Rename file 2017-04-22 21:55:24 +02:00
Deve
63517dd4be Better EGL context creation 2017-04-22 21:51:49 +02:00
Deve
035c33f960 Merge branch 'master' into wayland 2017-04-22 21:11:10 +02:00
Deve
72012120d9 Merge branch 'egl2' 2017-04-21 21:09:21 +02:00
Deve
d0a909361b Revert "Avoid reading/writing out of array"
This reverts commit 7f53faed4a.
2017-04-21 21:06:53 +02:00
deve
f4e803220b Some minor fixes 2017-04-21 08:51:54 +02:00
Deve
9fc3578b51 Rewrite whole EGL manager.
Now it allows to create OpenGL context, so we can use it for Wayland.
2017-04-20 23:20:21 +02:00
auria.mg
49be7570a9 Fix inaccuracy in readme 2017-04-19 19:17:48 -04:00
Yevgeny
89c3a5cc65 Improved README.md's quality - April 17 2017 (#2839)
* Massive README.md update

Readme.md updated and cleaned up, a new section was added

* More updates to README.md

Updated README.md with another STK Winbuild method, some additonal
changes - mostly to enrich and improve the language of the readme file.
Windows_build.md is just a scratch pad for README.md's Windows sections.

* more tweaks to the file

more tweaks, old windows build method was removed because it is
confusing. additional tweaks were added

* More tweaks to the file

Updated the file to correct issues that were found in
supertuxkart/stk-code#2839

Disk space requirement was updated to be more correct.
mention of libvpx-devel was temporarly removed.

step  8 was revised slightly

* quick mistake correction
2017-04-18 19:02:24 -04:00
hiker
efec344738 Fixed more 64-bit related compiler warnings. 2017-04-11 22:30:57 +10:00
hiker
c6109c9392 Try to fix linux compilation. 2017-04-08 23:36:41 +10:00
hiker
f2138e062d Tried to fix all 64-bit related compiler warnings triggered from files
in graphics.
2017-04-08 23:25:33 +10:00
hiker
5af4ea35a7 Fixed 64-bit related compiler warnings. 2017-04-07 23:43:01 +10:00
hiker
668fdd3b49 Fixed some 64-bit related compiler warnings. 2017-04-07 23:25:52 +10:00
hiker
14ec154f19 Try to fix linux build. 2017-04-07 20:27:11 +10:00
hiker
8a1d0bae34 Fixed some 64-bit related compiler warnings on VS. 2017-04-07 00:41:08 +10:00
hiker
5e5d86bc6d On windows look for the 64-bit dependency package in dependencies-64bit.
This allows installation compiling 32 and 64-bit windows versions from
the same repo without switching dependencies.
2017-04-06 23:59:01 +10:00
Deve
240041f520 Fixed android compilation 2017-04-05 21:49:52 +02:00
Deve
1d39030f51 Assume that EGL version is always greater than 1.3 because otherwise we won't be able to create GLES 2.0/3.0 context. 2017-04-05 21:49:42 +02:00
Deve
635ea89cd0 Some corrections with egl attribs 2017-04-05 21:49:33 +02:00
Deve
3961a9a3b7 Move EGL context to separate class.
It will allow to use it for OpenGL + Wayland.
2017-04-05 21:49:24 +02:00
hiker
17751631f1 Protocol data structure uses now finer grained locks, avoiding that
asynchronous updates or event delivery can be delayed by synchronous
updates/event deliveries to a different protocol.
2017-02-15 09:57:38 +11:00
hiker
efeea8eeb2 More debug output. 2017-02-15 09:50:00 +11:00
hiker
69658c557b Refactored the event/state handling to make it somewhat faster by
avoiding creating smaller time steps on the server when events
from clients are received, and also made it easier to handle
duplicated states (i.e. server rewinds and sends a second state
for a certain time).
Still work in progress though.
2017-02-09 09:03:15 +11:00
hiker
ffff62ff52 Removed debug code. 2017-02-01 18:06:36 +11:00
hiker
9df07ac0c2 Rearranged code somewhat to make it easier to read - only cosmetic changes. 2017-01-31 18:25:30 +11:00
hiker
d8706e2319 Added log message when server starts a race on clients. 2017-01-30 09:29:58 +11:00
hiker
a3b959cee9 Avoid that the server replays states saved in the previous frame. 2017-01-30 08:58:00 +11:00
hiker
6cc795fc60 Use a std::list instead of std::vector for the list of events. This allows
not to lock the whole event queue while an event is being delivered, which
allows more parallelism (especially the asynchronous eventss queue is not
locked while e.g. the world is loaded, which can take several seconds).
2017-01-30 08:54:23 +11:00
hiker
dfc5c1499c Added separate log message for disconnecting clients. 2017-01-30 08:52:41 +11:00
hiker
cebf24f3af Don't use the time during a rewind to determine if a client needs
to slow down.
2017-01-27 23:45:25 +11:00
hiker
5690eb0edd Merge branch 'master' of github.com:supertuxkart/stk-code 2017-01-26 23:14:43 +11:00
hiker
7ad0a0cf69 Fixed coding style issues (same should be done with speedweight objects). 2017-01-25 21:55:16 +11:00
hiker
ecc4e30cbe Fixed compiler warning. 2017-01-25 21:51:26 +11:00
hiker
0e6daf9319 Fixed compiler warning. 2017-01-25 18:19:37 +11:00
hiker
096d68c361 Merge remote-tracking branch 'origin/master' into game_protocol 2017-01-25 18:15:24 +11:00
hiker
426cbaaff5 Added '--auto-connect' command line option to automatically connect
a client to the first LAN server it finds and start a race - strictly
for debuggint ;)
2017-01-25 14:29:48 +11:00
hiker
b8bf4a3c2e Fixed documentation. 2017-01-24 08:35:15 +11:00
hiker
241d31d8f9 Added support for slowing down time on a client. This is used by
a server to reduce number of rewinds.
2017-01-24 08:05:46 +11:00
hiker
9b38e401f4 Store special time events for clients (otherwise incorrect or even
way too large dt is used in rewind).
2017-01-23 08:23:54 +11:00
hiker
d038848c2e If a client should have received a state in the future, use it (long
term this should not happen, since the server is behind the clients).
2017-01-22 17:41:47 +11:00
hiker
414c51a558 Bugfix: loop did not test if there were RewindInfo available; simplified
loop as well.
2017-01-20 10:46:37 +11:00
hiker
ef1f48da50 Refactored the queue handling to be a separate object from the
RewindManager. Added unit tests.
2017-01-19 17:30:34 +11:00
hiker
33caf5ed4b Fixed unit test. 2017-01-18 20:57:40 +11:00
hiker
a8be3f8068 Removed unnecessary events crated by KartControl, added steer_left
and steer_right values from the player controller to the state to
fix steering synchronsiation problems.
2017-01-11 09:29:01 +11:00
hiker
2be59e7728 Avoid infinite loop when showing the in-race menu and a rollback happens. 2017-01-04 09:51:36 +11:00
hiker
6941317979 Increase server delay to reduce number of rewinds on server. 2017-01-04 09:50:43 +11:00
hiker
b3f6307107 Fixed crash when exiting a race early. 2017-01-04 09:23:57 +11:00
hiker
cd4a19e801 Reset snapshot frquency; fixed bug in rewind (which would stop with
the last event, and not rewind all the way back to the current time).
2017-01-04 09:17:54 +11:00
hiker
2df97ebc39 Disable skipping of ready-set-go in artist debug mode when networking
(can desynchronise client and server).
2017-01-04 08:18:41 +11:00
hiker
e5c5870564 Removed debug output. 2017-01-04 08:11:17 +11:00
hiker
069e916dc0 Added state updates, not fully working yet. 2016-12-30 13:35:48 +11:00
hiker
31619aecff Merge remote-tracking branch 'origin/master' into game_protocol 2016-12-20 10:31:24 +11:00
hiker
084869263d Use a sort function to sort the rewind info events and network events,
so that the merge function can be used to combine them. The RewindManager
is now threadsafe.
2016-12-20 09:41:50 +11:00
hiker
1e372d6e77 Added separate queue for storing network events (to reduce synchronisation);
replaced vector with std::list in preparation for making the RewindManager
threadsafe.
2016-12-17 10:32:21 +11:00
hiker
5cde8f785f Fix crash in normal race (RaceEventManager NULL). 2016-12-16 23:26:34 +11:00
hiker
77c14152c2 The server now uses the RewindManager to receive network events
and takes the kart input from this queue of events.
2016-12-15 08:12:04 +11:00
hiker
95ca3fcac1 Try to fix rare GUI crash, likely caused by pushing a screen in the
network thread while the gui is being drawn. Made the messages
causing this synchronous, i.e. executed by the main thread.
2016-12-15 08:10:04 +11:00
hiker
177c8c8f63 Merge remote-tracking branch 'origin/simplify-world' into game_protocol 2016-12-13 17:17:25 +11:00
hiker
b73d08d089 Removed unnecessary cast. 2016-12-09 16:39:59 +11:00
hiker
0a2ea4bd08 Removed unused functions. 2016-12-09 16:39:37 +11:00
hiker
a8d3b6b0df Fixed compiler warning. 2016-12-09 09:18:56 +11:00
hiker
04d1d4817a Removed KartUpdate protocol (which breakes online play). 2016-12-09 09:00:20 +11:00
hiker
4d065f67e6 Started to introduce GameProtocol (which will combine several
individual protocols.
2016-12-09 08:55:06 +11:00
fHachenberg
a82f36d61d Fixes issue #2065
Changes applied:

 *symbol files added
 *LabelWidget removed from SkillLevelWidget and replaced by IconButtonWidget
  Subsequently variables and method containing Label or Text renamed
  setSize method was rewritten
 *Unused property "m_label_name" removed from SkillLevelWidget
 *Substitution label->icon also introduced renamings in KartStatsWidget.
  For instance, setDisplayText is now named setDisplayIcons
2016-09-20 14:01:02 +02:00
Deve
8572c5ef3b Open window in fullscreen mode when it was set by user 2015-10-29 00:16:00 +01:00
Deve
e61d3bc0ac Fixed a crash on startup 2015-10-28 23:40:57 +01:00
Deve
c81243fc1a Merge branch 'master' into wayland 2015-10-28 22:43:02 +01:00
Deve
af68dd9046 Fixed compilation 2015-10-28 22:28:12 +01:00
Vincent Lejeune
cbf9e03b41 honour vsync param 2015-02-01 19:43:43 +01:00
Vincent Lejeune
1844ab2a7c Fix attempt for void scene in non advanced pipeline 2015-02-01 19:38:47 +01:00
Vincent Lejeune
d2ececacf4 Delay sync 2015-02-01 19:23:05 +01:00
Vincent Lejeune
da449e02d0 Improve keypad support 2015-02-01 19:18:47 +01:00
Vincent Lejeune
73a8220203 Improve mouse support 2015-02-01 19:13:37 +01:00
Vincent Lejeune
874d63f5bc WIP wayland 2015-02-01 18:53:12 +01:00
2436 changed files with 344512 additions and 221263 deletions

View File

@@ -3,7 +3,6 @@ environment:
DEPS_BRANCH: master
ASSETS_DIR: c:\\projects\stk-assets
APPVEYOR_CACHE_ENTRY_ZIP_ARGS: -t7z -m0=lzma2 -mx=9
IRC_NOTIFY_SCRIPT: c:\\projects\stk-code\tools\appveyor-irc-notify.py
os: Visual Studio 2015
clone_depth: 1
@@ -47,7 +46,7 @@ install:
#Get-ChildItem $env:ASSETS_DIR | Measure-Object -property length -sum
before_build:
- ps: Copy-Item "${env:DEPS_DIR}\windows_64bit\dependencies" c:\projects\stk-code\dependencies Recurse
- ps: Copy-Item "${env:DEPS_DIR}\windows_64bit\dependencies" c:\projects\stk-code\dependencies-64bit Recurse
- cmd: |
md build
cd build
@@ -57,10 +56,3 @@ before_build:
build:
parallel: true
project: build\ALL_BUILD.vcxproj
on_success:
- "python %IRC_NOTIFY_SCRIPT% supertuxkart [{author}:{branch}] {short_commit}: {message} {color_green}Succeeded,Details: {build_url},Commit: {commit_url}"
on_failure:
- "python %IRC_NOTIFY_SCRIPT% supertuxkart [{author}:{branch}] {short_commit}: {message} {color_red}Failed,Details: {build_url},Commit: {commit_url}"

7
.gitignore vendored
View File

@@ -4,6 +4,7 @@ cmake_build*/
dependencies*/
CMakeFiles/
stk-editor/
.vscode/
.config/
supertuxkart-64
@@ -56,10 +57,14 @@ android/android-ndk*
android/android-sdk*
android/assets
android/bin
android/obj
android/build
android/libs
android/obj
android/res
android/.gradle
android-*
*.apk
*.keystore
lib/curl
lib/freetype

View File

@@ -5,6 +5,9 @@
#
sudo: false
language: cpp
os:
- linux
- osx
compiler:
- gcc
- clang
@@ -40,31 +43,14 @@ addons:
- zlib1g-dev
before_script:
# Unfortunately using all threads crashes g++: "g++: internal compiler error: Killed (program cc1plus)"
# Use half of the available threads, gcc is memory hungry
- 'if [ ${CC} = "gcc" ]; then
export THREADS=$((`nproc` / 2));
else
export THREADS=$((`nproc` + 1));
fi'
- echo "THREADS = $THREADS"
- free -mt
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update && brew bundle; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sudo mkdir -p /usr/local/include/; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sudo ln -s /System/Library/Frameworks/OpenGL.framework/Versions/A/Headers/ /usr/local/include/GL; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export CMAKE_PREFIX_PATH=/usr/local/opt/freetype/:/usr/local/opt/curl/:/usr/local/opt/libogg/:/usr/local/opt/libogg/:/usr/local/opt/libvorbis/:/usr/local/opt/openssl\@1.1/:/usr/local/opt/glew/:/usr/local/opt/fribidi/; fi
script:
- mkdir "build"
- cd "build"
- cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DSERVER_ONLY=$SERVER_ONLY -DCHECK_ASSETS=off -DBUILD_RECORDER=off
- make VERBOSE=1 -j $THREADS
notifications:
irc:
channels:
- "irc.freenode.org#supertuxkart"
skip_join: false
use_notice: true
template:
#- "[%{commit}: %{author}] %{message}"
#- "%{build_url}"
- "[%{repository}#%{branch} @%{commit}] %{author}): %{message}"
- "Diff: %{compare_url}"
- "Build: %{build_url}"
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then /usr/local/opt/cmake/bin/cmake .. -DFREETYPE_INCLUDE_DIRS=/usr/local/opt/freetype/include/freetype2/ -DUSE_SYSTEM_GLEW=1 -DOPENAL_INCLUDE_DIR=/usr/local/opt/openal-soft/include/ -DOPENAL_LIBRARY=/usr/local/opt/openal-soft/lib/libopenal.dylib -DFREETYPE_LIBRARY=/usr/local/opt/freetype/lib/libfreetype.dylib -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DSERVER_ONLY=$SERVER_ONLY -DCHECK_ASSETS=off -DBUILD_RECORDER=off; fi
- if [[ "$TRAVIS_OS_NAME" != "osx" ]]; then cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DSERVER_ONLY=$SERVER_ONLY -DCHECK_ASSETS=off -DBUILD_RECORDER=off; fi
- make VERBOSE=1 -j3

8
Brewfile Normal file
View File

@@ -0,0 +1,8 @@
brew "libogg"
brew "libvorbis"
brew "openal-soft"
brew "freetype"
brew "curl"
brew "openssl@1.1"
brew "fribidi"
brew "glew"

View File

@@ -1,87 +1,150 @@
## SuperTuxKart 0.9.2
# Changelog
This file documents notable changes to SuperTuxKart across versions since its inception.
It should be kept in mind that some versions have a less complete changelog than others, and that this changelog do not list the details of the many small bugfixes and improvements which together make a significant part of the progress between releases.
For similar reasons, and because some features are vastly more complex than others, attributions of main changes should not be taken as a shorcut for overall contribution.
## Unreleased
* Networking game for normal race, time trial, free for all, capture the flag and soccer
* Better random item distribution for various numbers of karts by Alayan and hiker
* Numerous improvements to input on Android by deveee
* Unlockable SuperTux challenges in Story Mode by Alayan
* Race UI improvements (new speedometer, nitro gauge, bigger minimap) by Alayan
* Improvements to ghost replays (more data saved, live time difference, replay comparison, UI improvements, egg hunt replays) by Alayan
* Kart color customization by Benau
* Improved powerup handling in AI by Alayan
* Local multiplayer improvements by Fantasmos
* New coal skin by Alayan
* Visual improvements (new skidding particles, better rescue, bubblegum flashing before ending)
* Audio improvements (crash sound depending on speed/direction, sound cue in nitro challenges)
* Gameplay improvements (much better slipstreaming, GP points...)
* Terrain slowdown works again as intended on several tracks where it was missing
* Many bugfixes
### Tracks and modeling
#### Tracks
* Many unwanted shortcuts and exploits fixed by Auria
* Las Dunas Soccer by samuncle
## SuperTuxKart 0.9.3 (28. October 2017)
* Reduced RAM and VRAM usage, reducing load times by Auria and Benau
* New mesh format optimized for space and hardware skinning
* Code refactoring of both render pipeline by Benau and Elderme
* Physics improvements and various physics bugfixes by hiker
* Kart GFX improvements (exhaust and headlight)
* In-game screen recording powered by libopenglrecorder
* High quality mipmap generation by Stragus
* New smoother camera by Auria
* New grand prix win scene
* Gamepad configuration bugfixes
* 3 Strikes Battles : added spare tire karts
* Visual representation of the start line in all tracks
* Various improvements (starting boost effect, wall driving fixes, parachutes, GP points, help page for bananas, cannon fixes, colorization shader)
### Tracks and modeling
#### Karts
* New kart Wilber and Hexley by Jymis
* New kart Kiki and updated Konqi by Benau
#### Tracks
* All tracks drivable in reverse, with arrows pointing in the correct direction
* Candela City by samuncle (replace Shiny Suburbs)
* Cornfield Crossing by samuncle (replace Bovine Barnyard)
* New battle track Las Dunas Arena by samuncle
## SuperTuxKart 0.9.2 (1. July 2016)
* Ghost replay races by Benau
* Battle mode AI by Benau
* Soccer mode AI by Benau
* New icy soccer field by samuncle and Benau
* New subsea track by samuncle
* New volcano track by Ponzino
* TTF font rendering by Benau
* New ruby and forest skins by Benau
* Kart properties refactor by Flakebi
* Scripting work under the hood
* Work on the track editor by mhp
* Tweak to challenges
* New farm track song by 0zone0ne and Krobonil
* Bugfixes
### Tracks and modeling
#### Tracks
* Antediluvian Abysses by samuncle (replace Subsea)
* Volcano Island by Ponzino
* New icy soccer field by samuncle and Benau
## SuperTuxKart 0.9.1
## SuperTuxKart 0.9.1 (17. October 2015)
* Many bug fixes
* Started to use scripting in tracks
* Significant audio performance improvements
* Smaller tweaks and improvements to several tracks including
** Math class
** XR591
** Fort Magma
** Gran Paradiso
** Subsea
* Tweak to challenges
### Tracks and modeling
#### Tracks
* Better support for driving tracks in reverse
* Smaller tweaks and improvements to several tracks including
* Math class
* XR591
* Fort Magma
* Gran Paradiso Island
* Subsea
## SupertTuxKart 0.9 (April 2015)
## SupertTuxKart 0.9 (24. April 2015)
* Fully shader-based rendering engine
* New tracks Cocoa Temple and Gran Paradiso
* Graphical improvements to many other tracks
* New karts amanda and gavroche
* New and improved tux, adiumy, sara the wizard and the racer, xue kart
* Online login which allows to:
** connect with friends and see when they are playing
** vote for addons
** collect online achievements
* connect with friends and see when they are playing
* vote for addons
* collect online achievements
* Grand Prix editor, including creation of random GPs
* Different kart physics
### Tracks and modeling
#### Karts
* New karts Amanda and Gavroche by XGhost
* New and improved Tux, Adiumy, Sara the Wizard and the Racer, Xue
#### Tracks
* Cocoa Temple by samuncle (replace Amazonian Journey)
* Gran Paradiso Island by samuncle (replace The Island)
* Graphical improvements to many other tracks
## SuperTuxKart 0.8.1 (26. November 2013)
* New track STK Enterprise
* Updated track The old mines
* Updated Lighthouse track
* Updated Zen Garden track
* New Soccer mode
* New Egg Hunt mode
* New karts Xue and Sara
* Updated Beastie kart
* Added Tutorial
* Added new Supertux difficulty
* New bubblegum shield weapon
* New Speedometer and nitro meter
* Add ability to filter addons
* Updated nitro models
* Add ability to save and resume Grand Prix
* Improve skid marks and nitro effects
* Wiimote support
### Tracks and modeling
#### Karts
* New karts Xue and Sara
* Updated Beastie kart
#### Tracks
* STK Enterprise by Rubberduck (replace Star Track)
* Gameplay and graphical updates to several tracks :
* The Old Mine
* Lighthouse
* Zen Garden
#### Miscellaneous
* Updated nitro models
## SuperTuxKart 0.8 (11. December 2012)
* Story mode and new challenge set
* Improved AI
* Skidding and better collision physics
* Reverse mode
* New green valley track
* New Blackhill Mansion track
* Updated XR591 track
* Updated Fort Magma track
* Updated jungle track
* Updates Sand track
* Updated menus
* New music
### Tracks and modeling
#### Tracks
* Green Valley by Wolfs (replace Tux Tollway)
* Blackhill Mansion by samuncle (replace Crescent Crossing)
* Gameplay and graphical updates to several tracks :
* XR591
* Fort Magma
* Jungle
* Sand
## SuperTuxKart 0.7.3 (2. November 2011)
* New Zen Garden and Subsea tracks
* New Island battle arena
* New Suzanne kart
* New graphical effects
* New weapons 'Swatter' and 'Rubber Ball'
* Added Thunderbird as race referee
* 3 Strikes Battles now displays lives as spare tires
* Improved bubble gum
* See progression during Grand Prix
@@ -90,16 +153,28 @@
* Improved kart control at high speeds
* Better placement of rescued karts
* Transition track-making to blender 2.5/2.6
### Tracks and modeling
#### Karts
* New Suzanne kart
#### Tracks
* Zen Garden by samuncle (replace Secret Garden)
* New Subsea
* New Island battle arena
#### Miscellaneous
* Added Thunderbird as race referee
## SuperTuxKart 0.7.2 (15. July 2011)
* Added in-game addon manager
* Fixed major memory leaks
* New Snow Peak track by Samuncle
* Improved star track UFO by Rudy
* New Beastie kart.
* Show when you get a highscore
* Improve gamepad configuration under Windows (add ability to tell gamepads apart)
* Various other tweaks done and glitches fixed
### Tracks and modeling
#### Karts
* New Beastie kart.
#### Tracks
* Improved Snow Peak by samuncle
* Improved Star Track UFO by Rudy
## SuperTuxKart 0.7.1b (21. April 2011)
* Fix circular dependency in challenges
@@ -107,8 +182,6 @@
## SuperTuxKart 0.7.1 (15. April 2011)
* Particle (smoke, splash, fire) and weather effects
* New Fort Magma by Samuncle, new Shiny Suburbs track by Horace
* New Beagle kart by wolterh
* Added internet news
* Support for live language switch
* Added optional minimal race UI
@@ -123,6 +196,12 @@
* Fixed character names that contain non-ASCII characters
* Full RTL (right to left) support
* Various other tweaks done and glitches fixed
### Tracks and modeling
#### Karts
* New Beagle kart by wolterh
#### Tracks
* New Fort Magma by samuncle
* New Shiny Suburbs by Horace
## SuperTuxKart 0.7 (December 2010)
Too many to list them all. Main points:
@@ -135,8 +214,12 @@ Too many to list them all. Main points:
* Other improvements
- Allowed alternative ways/shortcuts in tracks
- New item 'switch'
* New art:
- New tracks farm, hacienda, scotland, secret garden
### Tracks and modeling
#### Tracks
- Farm
- Hacienda by samuncle (replace Beach)
- Scotland by Canis Lupus
- Secret Garden
## SuperTuxKart 0.6.2a (October 2009)
* Bugfix: STK would crash while trying to save the config file
@@ -156,7 +239,7 @@ Too many to list them all. Main points:
* Bugfix: battle mode would not display track groups.
## SuperTuxKart 0.6.1 (February 2009)
* Added new kart ("Puffy"), new battle map ("Cave"), and new music for Snow Mountain.
* New music for Snow Mountain.
* Fixed bug in track selection screen that could cause a crash when track groups were used.
* Fixed crash in character selection that could happen if an old user config file existed.
* Fixed incorrect rescues in Fort Magma.
@@ -164,15 +247,19 @@ Too many to list them all. Main points:
* A plunger in the face is now removed when restarting.
* Added slow-down for karts driving backwards.
* Somewhat reduced 'shaking' of AI driven karts.
### Tracks and modeling
#### Karts
- New Puffy kart
#### Tracks
- New Cave battle map
## SuperTuxKart 0.6 (January 2009)
* New improved physics and kart handling
* Added sharp turns and nitro speed boost (replacing wheelies and jump)
* Totally rewrote powerups (plunger, bowling ball, cake, bubblegum) and new look for bananas
* New and improved tracks : skyline, snow mountain, race track, space track, old mine, XR591
* New game mode : 3-Strikes Battle
* Major improvements to AI
* New/improved karts (and removed some old ones) : wilber, eviltux, hexley
* Improved user interface
* Karts now have a visible suspension effect
* Fully positional audio with OpenAL
@@ -187,9 +274,23 @@ Too many to list them all. Main points:
* Bug fixes and code refactor/cleanup/documentation
- Fixed 'joystick locks' (kart would turn even if the joystick is in neutral),
thanks to Samjam for the patch.
### Tracks and modeling
#### Karts
* Improved Wilber
* Eviltux
* Hexley
* Some old karts have been removed
#### Tracks
* Skyline
* Snow Mountain
* Race track
* Old Mine
* XR591
* Improved track :
* Star track
## SuperTuxKart 0.5 (May 2008)
* Six new tracks and one improved track: Fort Magma, SnowTux Peak, Amazonian Journey, City, Canyon, Crescent Crossing and StarTrack
* Complete Challenges to unlock game modes, new tracks and a skidding preview
* New Follow the Leader game mode
* New Grand Prix
@@ -200,18 +301,29 @@ Too many to list them all. Main points:
* Many Bugfixes including:
- a memory leak fix (Charlie Head)
- an AI crash fix (Chris Morris)
### Tracks and modeling
#### Tracks
* SnowTux Peak
* Amazonian Journey
* City
* Canyon
* BSODs Battlements renamed to Fort Magma
* Improved Crescent Crossing, Fort Magma, and Star Track
## SuperTuxKart 0.4 (February 2008)
* New physics handling using the bullet physics engine
* New kart: wilber
* Improved 'Shifting Sands' and 'Lighthouse' tracks
* Improved AI
* New GUI handling, including resolution switching GUI
* Improved input handling
* Jump and look-back featue
* Additional music and main theme
### Tracks and modeling
#### Karts
* New kart: wilber
#### Tracks
* Improved 'Shifting Sands' and 'Lighthouse'
## SuperTuxKart 0.3 (May 2007)
* Highscore lists
@@ -243,7 +355,7 @@ Too many to list them all. Main points:
- Fixed keyboard keys unable to work on the first key press bug
- And others
##SuperTuxKart 0.2 (22. Sep 2006)
## SuperTuxKart 0.2 (22. Sep 2006)
* Significant performance improvement by using display lists
* Improved AI
* Support for different grand prixs
@@ -261,7 +373,7 @@ Too many to list them all. Main points:
* Added help and about screens, added credits to track designer
* Items were added to all tracks
##SuperTuxKart 0.1 (04. May 2006) (not officially released)
## SuperTuxKart 0.1 (04. May 2006) (not officially released)
* Significant speedup by using a new HOT and collision algorithm --> all tracks are now playable
* Removed all SDL dependencies, only plib is needed
* Single and multi-window menu can be used
@@ -269,7 +381,7 @@ Too many to list them all. Main points:
* Some bug fixes and small improvements
* Added profile option to support automatic profiling
##SuperTuxKart 0.0.0 (22. Dec 2004)
## SuperTuxKart 0.0.0 (22. Dec 2004)
* new tracks
* new characters and karts
* new user-interface

View File

@@ -1,8 +1,10 @@
cmake_minimum_required(VERSION 2.8.4)
# root CMakeLists for the SuperTuxKart project
project(SuperTuxKart)
set(PROJECT_VERSION "0.9.1")
set(PROJECT_VERSION "git")
add_definitions( -DSUPERTUXKART_VERSION="${PROJECT_VERSION}" )
cmake_minimum_required(VERSION 2.8.4)
if(NOT (CMAKE_MAJOR_VERSION VERSION_LESS 3))
cmake_policy(SET CMP0043 OLD)
endif()
@@ -11,22 +13,48 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake")
include(CMakeDependentOption)
include(BuildTypeSTKRelease)
if (NOT CMAKE_BUILD_TYPE)
if(NOT CMAKE_BUILD_TYPE)
message(STATUS "No build type selected, default to STKRelease")
set(CMAKE_BUILD_TYPE "STKRelease")
endif()
option(SERVER_ONLY "Create a server only (i.e. no graphics or sound)" OFF)
option(USE_FRIBIDI "Support for right-to-left languages" ON)
option(CHECK_ASSETS "Check if assets are installed in ../stk-assets" ON)
option(USE_SYSTEM_ANGELSCRIPT "Use system angelscript instead of built-in angelscript. If you enable this option, make sure to use a compatible version." OFF)
option(ENABLE_NETWORK_MULTIPLAYER "Enable network multiplayer. This will replace the online profile GUI in the main menu with the network multiplayer GUI" OFF)
option(USE_SYSTEM_ENET "Use system ENET instead of the built-in version, when available." ON)
option(USE_SYSTEM_GLEW "Use system GLEW instead of the built-in version, when available." ON)
CMAKE_DEPENDENT_OPTION(USE_CRYPTO_OPENSSL "Use OpenSSL instead of Nettle for cryptography in STK." OFF
"NOT APPLE" ON)
CMAKE_DEPENDENT_OPTION(BUILD_RECORDER "Build opengl recorder" ON
"NOT SERVER_ONLY;NOT USE_GLES2;NOT APPLE" OFF)
"NOT SERVER_ONLY;NOT APPLE" OFF)
CMAKE_DEPENDENT_OPTION(USE_FRIBIDI "Support for right-to-left languages" ON
"NOT SERVER_ONLY" OFF)
CMAKE_DEPENDENT_OPTION(USE_WIIUSE "Support for wiimote input devices" ON
"NOT SERVER_ONLY;NOT MINGW;NOT CYGWIN" OFF)
if (UNIX AND NOT APPLE)
option(USE_GLES2 "Use OpenGL ES2 renderer" OFF)
if(APPLE)
list(APPEND CMAKE_PREFIX_PATH /usr/local/opt)
include_directories(/usr/local/opt/fribidi/include/)
include_directories(/usr/local/opt/openssl@1.1/include/)
include_directories(/usr/local/opt/openssl@1.1/include/openssl/)
include_directories(/usr/local/opt/freetype/include/freetype2/)
endif()
if((UNIX AND NOT APPLE) AND NOT SERVER_ONLY)
option(ENABLE_WAYLAND_DEVICE "Enable Wayland device for linux build" ON)
if((${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm") OR
(${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64"))
option(USE_GLES2 "Use OpenGL ES2 renderer" ON)
else()
option(USE_GLES2 "Use OpenGL ES2 renderer" OFF)
endif()
endif()
if(UNIX OR MINGW)
option(DEBUG_SYMBOLS "Compile with debug symbols" OFF)
endif()
if(MSVC AND (MSVC_VERSION LESS 1900))
@@ -39,12 +67,6 @@ else()
set(WIIUSE_BUILD ON)
endif()
if(MINGW OR CYGWIN OR SERVER_ONLY)
option(USE_WIIUSE "Support for wiimote input devices" OFF)
else()
option(USE_WIIUSE "Support for wiimote input devices" ON)
endif()
if(UNIX AND NOT APPLE)
option(USE_ASAN "Build with Leak/Address sanitizer" OFF)
option(USE_LIBBFD "Use libbfd for crash reporting and leak check" OFF)
@@ -60,96 +82,182 @@ set(STK_INSTALL_BINARY_DIR "bin" CACHE
set(STK_INSTALL_DATA_DIR "share/supertuxkart" CACHE
STRING "Install data folder to this directory, absolute or relative to CMAKE_INSTALL_PREFIX")
# Define dependencies path
if(MSVC)
set(DEPENDENCIES "dependencies-vs")
elseif(MINGW)
set(DEPENDENCIES "dependencies-mingw")
else()
set(DEPENDENCIES "dependencies")
endif()
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(DEPENDENCIES "${DEPENDENCIES}-64bit")
endif()
if(WIN32)
if(NOT IS_DIRECTORY "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}")
set(DEPENDENCIES "dependencies")
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(DEPENDENCIES "${DEPENDENCIES}-64bit")
endif()
endif()
if(NOT IS_DIRECTORY "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}")
message(FATAL_ERROR "Dependencies directory not found.")
endif()
endif()
# These variables enable MSVC to find libraries located in "dependencies"
if(WIN32)
set(ENV{PATH} "$ENV{PATH};${PROJECT_SOURCE_DIR}/dependencies/include")
set(ENV{LIB} ${PROJECT_SOURCE_DIR}/dependencies/lib)
set(ENV{OPENALDIR} ${PROJECT_SOURCE_DIR}/dependencies)
set(ENV{PATH} "$ENV{PATH};${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/include")
set(ENV{LIB} ${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib)
set(ENV{OPENALDIR} ${PROJECT_SOURCE_DIR}/${DEPENDENCIES})
add_definitions(-D_IRR_STATIC_LIB_)
add_definitions(-DNO_IRR_COMPILE_WITH_X11_)
include_directories(${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/include)
endif()
if(USE_GLES2)
add_definitions(-DUSE_GLES2)
add_definitions(-D_IRR_COMPILE_WITH_OGLES2_ -DNO_IRR_COMPILE_WITH_OPENGL_)
endif()
if(SERVER_ONLY)
add_definitions(-DSERVER_ONLY)
add_definitions(-DNO_IRR_COMPILE_WITH_X11_)
add_definitions(-DNO_IRR_COMPILE_WITH_X11_ -DNO_IRR_COMPILE_WITH_OPENGL_ -DNO_IRR_COMPILE_WITH_OSX_DEVICE_)
endif()
if(DISABLE_VPX)
add_definitions(-DNO_VPX)
if(UNIX OR MINGW)
if(DEBUG_SYMBOLS)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g")
endif()
endif()
if(BUILD_RECORDER)
add_definitions(-DENABLE_RECORDER)
if(UNIX AND NOT APPLE)
find_package(PkgConfig REQUIRED)
if(NOT PKGCONFIG_FOUND)
message(FATAL_ERROR "Pkg-config not found.")
endif()
endif()
# Build the Bullet physics library
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/bullet")
include_directories("${PROJECT_SOURCE_DIR}/lib/bullet/src")
# Build the ENet UDP network library
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/enet")
include_directories("${PROJECT_SOURCE_DIR}/lib/enet/include")
# Build glew library
if(NOT USE_GLES2 AND NOT SERVER_ONLY)
add_definitions(-DGLEW_NO_GLU)
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/glew")
include_directories("${PROJECT_SOURCE_DIR}/lib/glew/include")
# Find system ENet library or build it if missing
if((UNIX AND NOT APPLE) AND USE_SYSTEM_ENET)
pkg_check_modules(ENET libenet>=1.3.4)
endif()
if((WIN32 AND NOT MINGW) OR APPLE)
if (NOT APPLE)
if(ENET_FOUND)
include_directories(${ENET_INCLUDE_DIRS})
else()
# Fallback to built-in version
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/enet")
include_directories("${PROJECT_SOURCE_DIR}/lib/enet/include")
set(ENET_LIBRARIES "enet")
endif()
# Find system GLEW library or build it if missing
if (APPLE)
find_package(glew)
if(GLEW_FOUND)
include_directories(${GLEW_INCLUDE_DIRS})
endif()
elseif(NOT USE_GLES2 AND NOT SERVER_ONLY)
add_definitions(-DGLEW_NO_GLU)
if((UNIX AND NOT APPLE) AND USE_SYSTEM_GLEW)
pkg_check_modules(GLEW glew>=2.1)
endif()
if(GLEW_FOUND)
include_directories(${GLEW_INCLUDE_DIRS})
else()
# Fallback to built-in version silently
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/glew")
include_directories("${PROJECT_SOURCE_DIR}/lib/glew/include")
set(GLEW_LIBRARIES "glew")
endif()
endif()
if(MSVC)
# Build zlib library
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/zlib")
include_directories("${PROJECT_SOURCE_DIR}/lib/zlib")
set(ZLIB_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/lib/zlib" "${PROJECT_BINARY_DIR}/lib/zlib/")
set(ZLIB_LIBRARY zlibstatic)
endif()
# Build png library
set (SKIP_INSTALL_ALL TRUE)
set (PNG_STATIC TRUE)
set (PNG_TESTS FALSE)
set (PNG_SHARED FALSE)
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/libpng")
include_directories("${PROJECT_SOURCE_DIR}/lib/libpng")
set(PNG_PNG_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/lib/libpng/")
set(PNG_LIBRARY png15_static)
endif()
# Add jpeg library
if (APPLE)
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/jpeglib")
include_directories("${PROJECT_SOURCE_DIR}/lib/jpeglib")
set(JPEG_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/lib/jpeglib/")
set(JPEG_LIBRARY jpeglib)
else()
find_package(JPEG REQUIRED)
include_directories(${JPEG_INCLUDE_DIR})
if (NOT SERVER_ONLY)
if(MSVC OR APPLE)
# Build png library
set(SKIP_INSTALL_ALL TRUE)
set(PNG_STATIC TRUE CACHE BOOL "Build static lib")
set(PNG_TESTS FALSE CACHE BOOL "Build libpng tests")
set(PNG_SHARED FALSE CACHE BOOL "Build shared lib")
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/libpng")
include_directories("${PROJECT_SOURCE_DIR}/lib/libpng")
set(PNG_PNG_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/lib/libpng/")
set(PNG_LIBRARY png_static)
endif()
# Add jpeg library
if (APPLE)
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/jpeglib")
include_directories("${PROJECT_SOURCE_DIR}/lib/jpeglib")
set(JPEG_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/lib/jpeglib/")
set(JPEG_LIBRARY jpeglib)
else()
find_package(JPEG REQUIRED)
include_directories(${JPEG_INCLUDE_DIR})
endif()
endif()
if (BUILD_RECORDER)
find_library(OPENGLRECORDER_LIBRARY NAMES openglrecorder libopenglrecorder PATHS "${PROJECT_SOURCE_DIR}/dependencies/lib")
find_path(OPENGLRECORDER_INCLUDEDIR NAMES openglrecorder.h PATHS "${PROJECT_SOURCE_DIR}/dependencies/include")
find_library(OPENGLRECORDER_LIBRARY NAMES openglrecorder libopenglrecorder PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib")
find_path(OPENGLRECORDER_INCLUDEDIR NAMES openglrecorder.h PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/include")
if (NOT OPENGLRECORDER_LIBRARY OR NOT OPENGLRECORDER_INCLUDEDIR)
message(FATAL_ERROR "libopenglrecorder not found. "
"Either install libopenglrecorder or disable ingame recorder with -DBUILD_RECORDER=0")
if(PROJECT_VERSION STREQUAL "git")
message(WARNING "libopenglrecorder not found, disabling in-game recorder. "
"To use recorder, install libopenglrecorder.")
set(OPENGLRECORDER_LIBRARY CACHE INTERNAL "")
set(OPENGLRECORDER_INCLUDEDIR CACHE INTERNAL "")
set(BUILD_RECORDER OFF)
else()
message(FATAL_ERROR "libopenglrecorder not found. "
"Either install libopenglrecorder or disable in-game recorder with -DBUILD_RECORDER=0")
endif()
else()
include_directories(${OPENGLRECORDER_INCLUDEDIR})
mark_as_advanced(OPENGLRECORDER_LIBRARY OPENGLRECORDER_INCLUDEDIR)
add_definitions(-DENABLE_RECORDER)
endif()
include_directories(${OPENGLRECORDER_INCLUDEDIR})
mark_as_advanced(OPENGLRECORDER_LIBRARY OPENGLRECORDER_INCLUDEDIR)
endif()
if(NOT SERVER_ONLY AND NOT USE_GLES2)
if(NOT SERVER_ONLY)
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/graphics_utils")
include_directories("${PROJECT_SOURCE_DIR}/lib/graphics_utils")
endif()
if(NOT SERVER_ONLY)
find_library(SQUISH_LIBRARY NAMES squish libsquish)
find_path(SQUISH_INCLUDEDIR NAMES squish.h PATHS)
if (NOT SQUISH_LIBRARY OR NOT SQUISH_INCLUDEDIR)
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/libsquish")
include_directories("${PROJECT_SOURCE_DIR}/lib/libsquish")
SET(SQUISH_LIBRARY squish)
else()
include_directories("${SQUISH_INCLUDEDIR}")
MESSAGE(STATUS "Use system libsquish: ${SQUISH_LIBRARY}")
endif()
endif()
# Build the irrlicht library
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/irrlicht")
include_directories("${PROJECT_SOURCE_DIR}/lib/irrlicht/include")
@@ -192,38 +300,27 @@ else()
set(Angelscript_LIBRARIES angelscript)
endif()
# OpenAL
if(APPLE)
# In theory it would be cleaner to let CMake detect the right dependencies. In practice, this means that if a OSX user has
# unix-style installs of Vorbis/Ogg/OpenAL/etc. they will be picked up over our frameworks. This is blocking when I make releases :
# the mac I use to make STK releases does have other installs of vorbis/ogg/etc. which aren't compatible with STK, so letting
# CMake pick the library it wants essentially means I can't build.
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -framework OpenAL")
set(OPENAL_LIBRARY)
else()
if(NOT SERVER_ONLY)
# OpenAL
find_package(OpenAL REQUIRED)
include_directories(${OPENAL_INCLUDE_DIR})
endif()
# OggVorbis
if(APPLE)
# In theory it would be cleaner to let CMake detect the right dependencies. In practice, this means that if a OSX user has
# unix-style installs of Vorbis/Ogg/OpenAL/etc. they will be picked up over our frameworks. This is blocking when I make releases :
# the mac I use to make STK releases does have other installs of vorbis/ogg/etc. which aren't compatible with STK, so letting
# CMake pick the library it wants essentially means I can't build.
set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -I/Library/Frameworks/Ogg.framework/Versions/A/Headers -I/Library/Frameworks/Vorbis.framework/Versions/A/Headers")
else()
# OggVorbis
find_package(OggVorbis REQUIRED)
include_directories(${OGGVORBIS_INCLUDE_DIRS})
add_definitions(-DENABLE_SOUND)
endif()
# Freetype
find_package(Freetype)
if(FREETYPE_FOUND)
include_directories(${FREETYPE_INCLUDE_DIRS})
else()
message(FATAL_ERROR "Freetype not found. "
"Freetype is required to display characters in SuperTuxKart. ")
if (NOT SERVER_ONLY)
find_package(Freetype)
if(FREETYPE_FOUND)
include_directories(${FREETYPE_INCLUDE_DIRS})
else()
message(FATAL_ERROR "Freetype not found. "
"Freetype is required to display characters in SuperTuxKart. ")
endif()
endif()
# Fribidi
@@ -244,25 +341,14 @@ if(NOT USE_GLES2 AND NOT SERVER_ONLY)
include_directories(${OPENGL_INCLUDE_DIR})
endif()
if(UNIX AND NOT APPLE AND NOT SERVER_ONLY)
find_package(X11 REQUIRED)
include_directories(${X11_INCLUDE_DIR})
find_package(Xrandr REQUIRED)
if(NOT XRANDR_FOUND)
message(FATAL_ERROR "XRANDR not found.")
endif()
if(USE_LIBBFD)
find_package(Libbfd)
if(LIBBFD_FOUND)
add_definitions(-DENABLE_LIBBFD)
include_directories(${LIBBFD_INCLUDE_DIRS})
else()
set(USE_LIBBFD OFF CACHE BOOL "Use libbfd for crash reporting and leak check" FORCE)
message(WARNING "Libbfd not found, disable integrated stack trace.")
endif()
if(USE_LIBBFD)
find_package(Libbfd)
if(LIBBFD_FOUND)
add_definitions(-DENABLE_LIBBFD)
include_directories(${LIBBFD_INCLUDE_DIRS})
else()
set(USE_LIBBFD OFF CACHE BOOL "Use libbfd for crash reporting and leak check" FORCE)
message(WARNING "Libbfd not found, disable integrated stack trace.")
endif()
endif()
@@ -276,11 +362,6 @@ if(MINGW AND CMAKE_BUILD_TYPE MATCHES Release)
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--subsystem,windows")
endif()
# Netwowk Multiplayer
if(ENABLE_NETWORK_MULTIPLAYER)
add_definitions(-DENABLE_NETWORK_MULTIPLAYER_SCREEN)
endif()
if(WIN32)
# By default windows.h has macros defined for min and max that screw up everything
add_definitions(-DNOMINMAX)
@@ -308,8 +389,6 @@ else()
endif()
endif()
# TODO: remove this switch
add_definitions(-DHAVE_OGGVORBIS)
if(WIN32)
configure_file("${STK_SOURCE_DIR}/../tools/windows_installer/icon_rc.template" "${PROJECT_BINARY_DIR}/tmp/icon.rc")
@@ -333,16 +412,10 @@ if(APPLE)
add_executable(supertuxkart MACOSX_BUNDLE ${STK_SOURCES})
find_library(IOKIT_LIBRARY IOKit)
find_library(QUICKTIME_LIBRARY QuickTime)
find_library(CARBON_LIBRARY Carbon)
find_library(AUDIOUNIT_LIBRARY AudioUnit)
find_library(COCOA_LIBRARY Cocoa)
target_link_libraries(supertuxkart
${IOKIT_LIBRARY}
${QUICKTIME_LIBRARY}
${CARBON_LIBRARY}
${AUDIOUNIT_LIBRARY}
${COCOA_LIBRARY})
# configure CMake to use a custom Info.plist
@@ -362,7 +435,7 @@ else()
elseif(MINGW)
set(PTHREAD_NAMES "winpthread-1" "libwinpthread-1" "pthreadGC2")
endif()
find_library(PTHREAD_LIBRARY NAMES pthread ${PTHREAD_NAMES} PATHS ${PROJECT_SOURCE_DIR}/dependencies/lib)
find_library(PTHREAD_LIBRARY NAMES pthread ${PTHREAD_NAMES} PATHS ${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib)
mark_as_advanced(PTHREAD_LIBRARY)
# Set data dir (absolute or relative to CMAKE_INSTALL_PREFIX)
@@ -382,14 +455,45 @@ else()
target_link_libraries(supertuxkart ${PTHREAD_LIBRARY})
endif()
# CURL
# CURL and OpenSSL or Nettle
# 1.0.1d for compatible AES GCM handling
SET(OPENSSL_MINIMUM_VERSION "1.0.1d")
if(MSVC)
target_link_libraries(supertuxkart ${PROJECT_SOURCE_DIR}/dependencies/lib/libcurl.lib)
set(USE_CRYPTO_OPENSSL ON)
target_link_libraries(supertuxkart ${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib/libcurl.lib)
target_link_libraries(supertuxkart ${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib/libeay32.lib)
elseif(MINGW)
target_link_libraries(supertuxkart ${PROJECT_SOURCE_DIR}/dependencies/lib/libcurldll.a)
set(USE_CRYPTO_OPENSSL ON)
target_link_libraries(supertuxkart ${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib/libcurldll.a)
target_link_libraries(supertuxkart ${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib/libeay32.dll)
else()
find_package(CURL REQUIRED)
include_directories(${CURL_INCLUDE_DIRS})
find_path(NETTLE_INCLUDE_DIRS nettle/gcm.h nettle/sha.h nettle/base64.h nettle/version.h nettle/yarrow.h)
find_library(NETTLE_LIBRARY NAMES nettle libnettle)
if (NOT NETTLE_INCLUDE_DIRS OR NOT NETTLE_LIBRARY OR USE_CRYPTO_OPENSSL)
set(USE_CRYPTO_OPENSSL ON)
find_package(OpenSSL REQUIRED)
if(${OPENSSL_VERSION} VERSION_LESS ${OPENSSL_MINIMUM_VERSION} OR
(${OPENSSL_VERSION} VERSION_EQUAL ${OPENSSL_MINIMUM_VERSION} AND ${OPENSSL_VERSION} STRLESS ${OPENSSL_MINIMUM_VERSION}))
message(FATAL_ERROR "OpenSSL version found (${OPENSSL_VERSION}) is less then the minimum required (${OPENSSL_MINIMUM_VERSION}), aborting.")
endif()
include_directories(${OpenSSL_INCLUDE_DIRS})
else()
set(USE_CRYPTO_OPENSSL OFF)
include_directories(${NETTLE_INCLUDE_DIRS})
endif()
endif()
if (USE_CRYPTO_OPENSSL)
message(STATUS "OpenSSL will be used for cryptography in STK.")
add_definitions(-DENABLE_CRYPTO_OPENSSL)
else()
message(STATUS "Nettle will be used for cryptography in STK.")
add_definitions(-DENABLE_CRYPTO_NETTLE)
endif()
# Common library dependencies
@@ -397,28 +501,35 @@ target_link_libraries(supertuxkart
bulletdynamics
bulletcollision
bulletmath
enet
${ENET_LIBRARIES}
stkirrlicht
${Angelscript_LIBRARIES}
${CURL_LIBRARIES}
${OGGVORBIS_LIBRARIES}
${OPENAL_LIBRARY}
${FREETYPE_LIBRARIES}
${JPEG_LIBRARIES}
${TURBOJPEG_LIBRARY}
${VPX_LIBRARIES}
)
if (USE_CRYPTO_OPENSSL)
target_link_libraries(supertuxkart ${OPENSSL_CRYPTO_LIBRARY})
else()
target_link_libraries(supertuxkart ${NETTLE_LIBRARY})
endif()
if(NOT SERVER_ONLY)
if(NOT USE_GLES2)
target_link_libraries(supertuxkart ${OPENGL_gl_LIBRARY} glew graphics_utils)
target_link_libraries(supertuxkart ${OPENGL_gl_LIBRARY} ${GLEW_LIBRARIES})
else()
target_link_libraries(supertuxkart EGL GLESv2)
target_link_libraries(supertuxkart GLESv2)
endif()
target_link_libraries(supertuxkart
${SQUISH_LIBRARY}
${FREETYPE_LIBRARIES}
${JPEG_LIBRARIES}
${OGGVORBIS_LIBRARIES}
${OPENAL_LIBRARY}
graphics_utils)
endif()
if(UNIX AND NOT APPLE)
target_link_libraries(supertuxkart ${X11_LIBRARIES} ${XRANDR_LIBRARIES})
if(USE_LIBBFD)
target_link_libraries(supertuxkart ${LIBBFD_LIBRARIES})
endif()
@@ -437,15 +548,6 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L/usr/local/lib")
endif()
if(APPLE)
# In theory it would be cleaner to let CMake detect the right dependencies. In practice, this means that if a OSX user has
# unix-style installs of Vorbis/Ogg/OpenAL/etc. they will be picked up over our frameworks. This is blocking when I make releases :
# the mac I use to make STK releases does have other installs of vorbis/ogg/etc. which aren't compatible with STK, so letting
# CMake pick the library it wants essentially means I can't build.
set_target_properties(supertuxkart PROPERTIES LINK_FLAGS "-arch x86_64 -F/Library/Frameworks -framework OpenAL -framework Ogg -framework Vorbis")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I/Library/Frameworks/OpenAL.framework/Versions/A/Headers")
endif()
if(USE_FRIBIDI)
target_link_libraries(supertuxkart ${FRIBIDI_LIBRARIES})
add_definitions(-DENABLE_BIDI)
@@ -462,7 +564,7 @@ if(USE_WIIUSE)
if(WIIUSE_BUILD)
target_link_libraries(supertuxkart wiiuse)
else()
target_link_libraries(supertuxkart ${PROJECT_SOURCE_DIR}/dependencies/lib/wiiuse.lib)
target_link_libraries(supertuxkart ${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib/wiiuse.lib)
endif()
else()
target_link_libraries(supertuxkart wiiuse bluetooth)
@@ -475,7 +577,7 @@ if(MSVC OR MINGW)
target_link_libraries(supertuxkart iphlpapi.lib)
add_custom_command(TARGET supertuxkart POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory
"${PROJECT_SOURCE_DIR}/dependencies/dll"
"${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/dll"
$<TARGET_FILE_DIR:supertuxkart>)
add_custom_target(stkshaders SOURCES ${STK_SHADERS})
endif()
@@ -532,10 +634,10 @@ if(STK_ASSETS_DIR AND CHECK_ASSETS)
install(DIRECTORY ${STK_ASSETS_DIR} DESTINATION ${STK_INSTALL_DATA_DIR}/data PATTERN ".svn" EXCLUDE PATTERN ".git" EXCLUDE)
endif()
install(FILES ${STK_DATA_DIR}/supertuxkart.desktop DESTINATION share/applications)
install(FILES data/supertuxkart_32.png DESTINATION share/icons/hicolor/32x32/apps RENAME supertuxkart.png)
install(FILES data/supertuxkart_48.png DESTINATION share/icons/hicolor/48x48/apps RENAME supertuxkart.png)
install(FILES data/supertuxkart_128.png DESTINATION share/icons/hicolor/128x128/apps RENAME supertuxkart.png)
install(FILES data/supertuxkart_32.png data/supertuxkart_128.png DESTINATION share/pixmaps)
install(FILES data/supertuxkart.appdata.xml DESTINATION share/appdata)
install(FILES data/supertuxkart_48.png DESTINATION share/pixmaps RENAME supertuxkart.png)
install(FILES data/supertuxkart.appdata.xml DESTINATION share/metainfo)
if(MINGW)
install(DIRECTORY ${CMAKE_BINARY_DIR}/bin/ DESTINATION ${STK_INSTALL_BINARY_DIR}

View File

@@ -12,7 +12,7 @@ GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/>
Copyright (c) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

261
INSTALL.md Normal file
View File

@@ -0,0 +1,261 @@
## Building from source
In order to build SuperTuxKart from source, you'll need both the code and the assets (See <https://supertuxkart.net/Source_control> for more information):
```bash
git clone https://github.com/supertuxkart/stk-code stk-code
svn co https://svn.code.sf.net/p/supertuxkart/code/stk-assets stk-assets
```
## Building SuperTuxKart on Linux
### Dependencies
To build SuperTuxKart from source, you'll need to install the following packages:
* OpenGL (mesa)
* OpenAL (recommended: openal-soft-devel)
* Ogg (libogg-dev)
* Vorbis (libvorbis-dev)
* Freetype (libfreetype6-dev)
* libcurl (libcurl-devel)
* libbluetooth (bluez-devel)
* libpng (libpng-devel)
* zlib (zlib-devel)
* jpeg (libjpeg-turbo-devel)
Ubuntu command:
```bash
sudo apt-get install build-essential cmake libbluetooth-dev \
libcurl4-openssl-dev libenet-dev libfreetype6-dev libfribidi-dev \
libgl1-mesa-dev libglew-dev libjpeg-dev libogg-dev libopenal-dev libpng-dev \
libssl-dev libvorbis-dev libxrandr-dev libx11-dev pkg-config zlib1g-dev
```
Fedora command:
```bash
sudo dnf install @development-tools cmake bluez-libs-devel \
openssl-devel libcurl-devel freetype-devel fribidi-devel mesa-libGL-devel \
libjpeg-turbo-devel libogg-devel openal-soft-devel libpng-devel \
libvorbis-devel libXrandr-devel libGLEW pkgconf zlib-devel
```
### In-game recorder
To build the in-game recorder for STK, you have to install
libopenglrecorder from your distribution, or compile it yourself from [here](https://github.com/Benau/libopenglrecorder).
Compilation instruction is explained there. If you don't need this feature, pass `-DBUILD_RECORDER=off` to cmake.
### Compiling
To compile SuperTuxKart, run the following commands inside `stk-code` directory:
```bash
mkdir cmake_build
cd cmake_build
cmake ..
make -j4
```
STK can then be run from the build directory with `bin/supertuxkart`
#### Keeping your build up to date
To recompile the latest code without redownloading the entire source, first run the ```svn up``` command inside the 'stk-assets' directory, then run the following commands inside the 'stk-code' directory:
```bash
git pull
cd cmake_build
cmake ..
make -j4
```
##### Build Speed Optimization
"-j4" is an example, for a faster build, use "-jx" instead, where "x" is the amount of CPU threads you have, minus one. "-j$(nproc)" usually works.
### Further options
To create a debug version of STK, run:
```bash
cmake .. -DCMAKE_BUILD_TYPE=Debug
```
You can install your build system-wide:
```bash
sudo make install
```
The default install location is `/usr/local`, i.e. the data files will
be written to `/usr/local/share/games/supertuxkart`, the executable
will be copied to `/usr/local/bin`. To change the default installation
location, specify `CMAKE_INSTALL_PREFIX` when running cmake, e.g.:
`cmake .. -DCMAKE_INSTALL_PREFIX=/opt/stk`
## Building SuperTuxKart on Windows
To Build SuperTuxKart on Windows, follow these instructions:
1. Download and install Visual Studio from here: [Visual Studio - Download](https://www.visualstudio.com/downloads/). The free Visual Studio Community edition works fine. Remember to select "Desktop development with C++" in the installer.
2a. If you want the stable version, download the SuperTuxKart source package from the latest stable version [SuperTuxKart download area - SourceForge.net](https://sourceforge.net/projects/supertuxkart/files/SuperTuxKart/) and unpack it.
2b. If you want the development version, you will need a Git client and a SVN client. More information can be found here: [SuperTuxKart.net - Source Control](https://supertuxkart.net/Source_control).
Open your file browser and find somewhere you want to put the development version of SuperTuxKart. For example in C:\Users\<Your Username> as the Git and SVN clients will have write permissions there, and you should create its own directory, for example SuperTuxKart-dev. Enter that directory, and create a directory inside called stk-assets, and enter it. If you installed TortoiseSVN, right-click, select TortoiseSVN -> Checkout... and paste the correspodning URL found in [SuperTuxKart.net - Source Control](https://supertuxkart.net/Source_control). While it is downloading the game assets, go back to your file browser and one level up. Right-click again somewhere empty and select "Git clone..." and paste the corresponding link found in [SuperTuxKart.net - Source Control](https://supertuxkart.net/Source_control).
*Note: Both `stk-code` and `stk-assets` **must** be in the same directory, otherwise the build will likely fail!*
3a. If you got the stable version, download the Windows dependencies package from [SuperTuxKart download area: Dependencies - SourceForge.net](https://sourceforge.net/projects/supertuxkart/files/SuperTuxKart%20Dependencies/Windows/) and unpack it.
3b. If you got the development version go to SuperTuxKart-dev in your file browser, right-click somewhere empty, select "Git clone..." and paste https://github.com/supertuxkart/dependencies.git in the URL field; click OK. When finished, copy the `dependencies` directory from either the `windows` or the `windows_64bit` directories into the `stk-code` directory; rename the latter to `dependencies-64bit` if you want to compile a 64-bit build.
4. Download CMake from here: [CMake - download page](https://cmake.org/download/), install it; once CMake is installed, double click on the CMake icon on your desktop, and point it towards your `stk-code` directory in the 'Where is the source code' field, and point it to a new directory called `build` or `bld` inside the stk-code directory.
5. Press 'Configure'; CMake will ask you if it is OK to create the aforementioned directory, press `Yes`. CMake will then ask you about your version of Visual Studio.
Confirm your selection; *Please look at the table below to avoid confusion between version numbers and releases of Visual Studio*; CMake will begin creating the required files for the build in the directory. If you want to do a 64-bit build, select the version of Visual Studio you installed with "Win64" appended.
6. Navigate to your build directory and open the `SuperTuxKart.sln` file; Visual Studio will now load the solution.
7. In the 'Solution Explorer', right click on the `supertuxkart` project and select "Set as StartUp project".
8. Open the 'Build' menu and select 'Build Solution'; or, press the default keyboard shortcut: `CTRL + SHIFT + B` to build the solution.
*Note: To avoid confusion between releases and versions, refer to this table:*
Visual Studio Release | Version
----------------------|------------
Visual Studio 2017| 15
Visual Studio 2015| 14
Visual Studio 2013| 13
## Building SuperTuxKart on Windows (from PowerShell/Command line)
1. Download and install Visual Studio from here: [Visual Studio - Download](https://www.visualstudio.com/downloads/), the free Visual Studio Community edition works fine.
2. Download a source package from either [SuperTuxKart 0.9.2 download area - SourceForge.net](https://sourceforge.net/projects/supertuxkart/files/SuperTuxKart/0.9.2) or [SuperTuxKart.net - Source Control](https://supertuxkart.net/Source_control)
NOTE: the `stk-code` and `stk-assets` directories **must** be in the same directory
3. Download the Windows dependencies package from either [SuperTuxKart download area - SourceForge.net](https://sourceforge.net/projects/supertuxkart/files/SuperTuxKart%20Dependencies/Windows/)
or [SuperTuxKart on GitHub - Dependencies](https://github.com/supertuxkart/dependencies)
and unpack the archive; once unpacked, copy the `dependencies` directory from either the `windows` or the `windows_64bit` directories into the `stk-code` directory
4. Download CMake from here: [CMake - download page](https://cmake.org/download/); and install it. Navigate to the `stk-code` directory; and create an directory called "build":
```cmd
mkdir build
cd build
```
5. Once inside the build directory; run CMake to start the compilation process:
```cmd
cmake ..
```
6. Now that CMake finished configuring and creating the necessary files for the build, run the build command in the same directory:
```cmd
msbuild.exe SuperTuxKart.sln
```
SuperTuxKart can now be run as `bin\Debug\supertuxkart.exe` or `bin\Release\supertuxkart.exe`
## Building SuperTuxKart on macOS
### Getting Started
Install the developer tools, either from the OS X Install DVD or from Apple's website.
If you have never built anything before, you have create `/usr/local/include/` first:
```bash
sudo mkdir -p /usr/local/include/
```
Symlink the `include`-folder of OpenGL framework to `/usr/local/include/GL` (Unix programs have an easier time finding it this way):
```bash
sudo ln -s /System/Library/Frameworks/OpenGL.framework/Versions/A/Headers/ /usr/local/include/GL
```
On OS X 10.9.5, you might need the following workaround:
```bash
sudo ln -s `xcrun --show-sdk-path`/usr/include/ /usr/include
sudo ln -s `xcrun --show-sdk-path`/System/Library/Frameworks/OpenGL.framework/Headers/ /usr/local/include/OpenGL
```
The first link is required in order to find libcurl, the second to find opengl.
### CMake
CMake is used to build STK. At this time CMake will not make a binary that is ready for distribution.
You'll have to run these commands inside your stk-code directory.
### STK 0.9.4 or later (or latest git)
Install homebrew ( https://brew.sh/)
Install all of the dependencies using homebrew :
```bash
brew install libogg
brew install libvorbis
brew install openal-soft
brew install freetype
brew install curl
brew install openssl@1.1
brew install fribidi
brew install glew
```
Build STK
```bash
mkdir cmake_build
cd cmake_build
CMAKE_PREFIX_PATH=/usr/local/opt/freetype/:/usr/local/opt/curl/:/usr/local/opt/libogg/:/usr/local/opt/libogg/:/usr/local/opt/libvorbis/:/usr/local/opt/openssl\@1.1/:/usr/local/opt/glew/:/usr/local/opt/fribidi/ /usr/local/opt/cmake/bin/cmake .. -DFREETYPE_INCLUDE_DIRS=/usr/local/opt/freetype/include/freetype2/ -DUSE_SYSTEM_GLEW=1 -DOPENAL_INCLUDE_DIR=/usr/local/opt/openal-soft/include/ -DOPENAL_LIBRARY=/usr/local/opt/openal-soft/lib/libopenal.dylib -DFREETYPE_LIBRARY=/usr/local/opt/freetype/lib/libfreetype.dylib
make
```
#### (Optional) packaging for distribution
By default, the executable that is produced is not ready for distribution. Install https://github.com/auriamg/macdylibbundler and run:
```bash
dylibbundler -od -b -x ./bin/SuperTuxKart.app/Contents/MacOS/supertuxkart -d ./bin/SuperTuxKart.app/Contents/libs/ -p @executable_path/../libs/
```
Afterwards, copy the contents of `stk-assets` into `/SuperTuxKart.app/Contents/Resources/data`.
### STK 0.9.3 or earlier
Download pre-built dependencies from [here](https://sourceforge.net/projects/supertuxkart/files/SuperTuxKart%20Dependencies/OSX/) and put the frameworks in [hard disk root]/Library/Frameworks
Building with clang:
```bash
mkdir cmake_build
cd cmake_build
cmake ..
make
```
Building with GCC:
```bash
mkdir cmake_build
cd cmake_build
cmake .. -DCMAKE_CXX_COMPILER=/usr/bin/g++ -DCMAKE_C_COMPILER=/usr/bin/gcc
make
```
Building on 10.10 with 10.9 compatibility:
```bash
cmake .. -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9
```
#### Xcode
Place an additional copy of the dependencies into `Users/<YOUR_USERNAME>/Library/Frameworks`.
Then cd to your cloned stk-code directory and execute the following commands:
```bash
mkdir xcode_build && cd xcode_build
cmake .. -GXcode
```
Use Finder to navigate to your stk-code/xcode_build folder and open the newly generated Xcode project (`SuperTuxKart.xcodeproj`).
You can then build the project in Xcode using Product -> Build
Note: Xcode is much less well tested than makefiles, so there may be issues when trying to use Xcode.

49
ISSUE_TEMPLATE.md Normal file
View File

@@ -0,0 +1,49 @@
## Description
Provide a description of your issue.
For any suggestions, please address them on the [forum](https://forum.freegamedev.net/viewforum.php?f=16).
## Steps to reproduce
## Configuration
STK release version:
STK Source (ppa, distribution package, official bin,...):
If you did not download STK from the official website, please specify where you got it:
System:
Graphics card:
CPU:
Gamepads/keyboards models if related to the issue:
## Additional information
Please provide stdout.log, it is located in
* %appdata%\supertuxkart\0.8.2 (windows)
* ~/Library/Application Support/supertuxkart/0.8.2 (mac)
* $XDG_CONFIG_HOME/supertuxkart/0.8.2 or ~/.config/supertuxkart/0.8.2 (linux, and other unix based systems)
stdout.log
```
```
If your issue is related to the input config (gamepads, keyboards), please provide your file input.xml located in the same directory as stdout.log.
input.xml
```xml
```
If an error message was shown, please copy paste the complete error message or a screenshot of it.
error
```
```

171
NETWORKING.md Normal file
View File

@@ -0,0 +1,171 @@
# Online networking games for STK
## Hosting server
First of all, you can compile STK with `-DSERVER_ONLY=ON` which will produce a GUI-less STK binary optimized for size and memory usage, useful for situation like in VPS.
### Hosting WAN (public internet) server
You are required to have an stk online account first, go [here](https://addons.supertuxkart.net/register.php) for registration.
It is recommended you have a saved user in your computer to allow hosting multiple servers simultaneously with the same account, if you have a fresh STK installation, first run:
`supertuxkart --init-user --login=your_registered_name --password=your_password`
After that you should see `Done saving user, leaving` in terminal if it successfully logged in.
Than you can just run:
`supertuxkart --server-config=your_config.xml --network-console`
It will create that xml configuration file if not found in current directory, you can type `quit` in terminal, than you can edit that file for further configuration as required.
The current server configuration xml looks like this:
```xml
<?xml version="1.0"?>
<server-config version="1" >
<!-- Name of server, encode in XML if you want to use unicode characters. -->
<server-name value="stk server" />
<!-- Port used in server, if you specify 0, it will use the server port specified in stk_config.xml or if random-server-port is enabled in user config, than any port. STK will auto change to random port if the port you specify failed to be bound. -->
<server-port value="0" />
<!-- Game mode in server, 0 is normal race (grand prix), 1 is time trial (grand prix), 3 is normal race, 4 time trial, 6 is soccer, 7 is free-for-all and 8 is capture the flag. Notice: grand prix server doesn't allow for players to join and wait for ongoing game. -->
<server-mode value="3" />
<!-- Difficulty in server, 0 is beginner, 1 is intermediate, 2 is expert and 3 is supertux (the most difficult). -->
<server-difficulty value="0" />
<!-- Number of grand prix tracks per game (If grand prix enabled). -->
<gp-track-count value="3" />
<!-- Use goal target in soccer. -->
<soccer-goal-target value="false" />
<!-- Enable wan server, which requires you to have an stk-addons account with a saved session. Check init-user command for details. -->
<wan-server value="true" />
<!-- Enable network console, which can do for example kickban. -->
<enable-console value="false" />
<!-- Maximum number of players on the server, setting it more than 8 will have performance degradation. -->
<server-max-players value="8" />
<!-- Password for private server, empty for a public server. -->
<private-server-password value="" />
<!-- Message of today shown in lobby, you can enter encoded XML words here or a file.txt and let STK load it. -->
<motd value="" />
<!-- Timeout in seconds for voting tracks in server. -->
<voting-timeout value="20" />
<!-- Timeout in seconds for validation of clients in wan, currently stk will use the stk-addons server to share AES key between client and server. -->
<validation-timeout value="20" />
<!-- By default WAN server will always validate player and LAN will not, disable it to allow non-validated player in WAN. -->
<validating-player value="true" />
<!-- Disable it to turn off all stun related code in server, it allows saving server resource if your server is not behind a firewall. -->
<firewalled-server value="true" />
<!-- No server owner in lobby which can control the starting of game or kick any players. -->
<owner-less value="false" />
<!-- Time to wait before entering kart selection screen if satisfied min-start-game-players below for owner less or ranked server. -->
<start-game-counter value="30" />
<!-- Only auto start kart selection when number of connected player is larger than or equals this value, for owner less or ranked server, after start-game-counter reaches 0. -->
<min-start-game-players value="2" />
<!-- Automatically end linear race game after 1st player finished for some time (currently his finished time * 0.25 + 15.0). -->
<auto-end value="false" />
<!-- Enable team choosing in lobby in team game (soccer and CTF). If owner-less is enabled, than this option is always disabled. -->
<team-choosing value="true" />
<!-- Server will submit ranking to stk addons server for linear race games, you require permission for that. validating-player, auto-end and owner-less will be turned on. -->
<ranked value="false" />
<!-- Time in seconds when a flag is dropped a by player in CTF returning to its own base. -->
<flag-return-timemout value="20" />
<!-- Value used to calculate hit limit in free for all, which is min(number of players * hit-limit-threshold, 40), negative value to disable hit limit. -->
<hit-limit-threshold value="5" />
<!-- Value used to calculate time limit in free for all, which is max(number of players * time-limit-threshold-ffa, 3.0) * 60, negative value to disable time limit. -->
<time-limit-threshold-ffa value="0.7" />
<!-- Value used to calculate capture limit in CTF, which is max(3.0, number of players * capture-limit-threshold), negative value to disable capture limit. -->
<capture-limit-threshold value="0.7" />
<!-- Value used to calculate time limit in CTF, which is max(3.0, number of players * (time-limit-threshold-ctf + flag-return-timemout / 60.0)) * 60.0, negative value to disable time limit. -->
<time-limit-threshold-ctf value="0.9" />
<!-- Value used by server to automatically calculate lap of each race in network game, if more than 0.0f, the number of lap of each track vote in linear race will be determined by max(1.0f, auto-lap-ratio * default lap of that track). -->
<auto-lap-ratio value="-1" />
<!-- Maximum ping allowed for a player (in ms). -->
<max-ping value="300" />
<!-- Tolerance of jitter in network allowed (in ms). -->
<jitter-tolerance value="100" />
<!-- Kick players whose ping is above max-ping. -->
<kick-high-ping-players value="false" />
<!-- ip: IP in X.X.X.X/Y (CIDR) format for banning, use Y of 32 for a specific ip, expired-time: unix timestamp to expire, if -1 (uint32_t max) than a permanent ban. -->
<server-ip-ban-list>
<ban ip="0.0.0.0/0" expired-time="0"/>
</server-ip-ban-list>
<!-- online-id: online id for banning, expired-time: unix timestamp to expire, if -1 (uint32_t max) than a permanent ban. -->
<server-online-id-ban-list>
<ban online-id="0" expired-time="0"/>
</server-online-id-ban-list>
</server-config>
```
At the moment STK has a list of STUN servers for NAT penetration which allows players or servers behind a firewall or router to be able to connect to each other, but in case it doesn't work, you have to manually disable the firewall or port forward the port(s) used by the STK.
By default STK servers use port `2759`. For example, in Ubuntu based distributions, run the following command to disable the firewall on that port:
`sudo ufw allow 2759`
You may also need to handle the server discovery port `2757` for connecting your WAN server in LAN / localhost.
Notice: You don't need to make any firewall or router configuration changes if you connect to our official servers.
### Hosting LAN (local internet) server
Everything is basically the same as WAN one, except you don't need an stk online account, just do:
`supertuxkart --server-config=your_config.xml --lan-server=your_server_name --network-console`
In LAN network it is required that the server and server discovery port is connectable by clients directly, no NAT penetration will be done in LAN.
------
After the first time configuration, you can just start the server with the command:
`supertuxkart --server-config=your_config.xml`, regardless of whether LAN or WAN server is chosen (of course you need to have a saved user for the WAN one), by default your server logging will be saved to the STK configuration directory with a name of `your_config.log`, given that the server configuration filename is `your_config.xml`.
You can find out that directory location [here (See Where is the configuration stored?)](https://supertuxkart.net/FAQ)
## Testing server
There is a network AI tester in STK which can use AI on player controller for server hosting linear races game mode, which helps automating the testing for servers, to enable it use:
`supertuxkart --connect-now=x.x.x.x:y --server-id=id --network-ai=n --auto-connect --no-graphics`
x.x.x.x:y is your server ip address with its port, id is the id field of server-info in STK server xml list, omit it if you are testing LAN server, n is the number of AI you want to create.
You can see STK server xml list [here](https://addons.supertuxkart.net/api/v2/server/get-all).
The server you want to test must be able to be connected without NAT penetration. You can remove `--auto-connect` if you have another client which can control the starting of games in server, or you can consider enable owner-less mode on server so the games on server can keep going. Remove `--no-graphics` if you want to see the AI racing. You can also run network AI tester in server-only build of STK.
With the network AI tester, it's easier to for example simulate high-loaded servers or bad (high ping with packet loss) network.
Tested on a Raspberry Pi 3 Model B+, if you have 8 players connected to a server hosted on it, the usage of a single CPU core is ~60% and there are ~60MB of memory usage for game with heavy tracks like Cocoa Temple or Candela City on the server, you can use the above figures to consider number of STK servers hosting on a same computer.
For bad network simulation, we recommend `network traffic control` by linux kernel, see [here](https://wiki.linuxfoundation.org/networking/netem) for details.
You have the best gaming experience when choosing server less than 100ms ping with no packet loss.

180
README.md
View File

@@ -1,187 +1,33 @@
# SuperTuxKart
[![Build Status](https://travis-ci.org/supertuxkart/stk-code.svg?branch=master)](https://travis-ci.org/supertuxkart/stk-code)
[![AppVeyor Build Satus](https://ci.appveyor.com/api/projects/status/github/supertuxkart/stk-code?svg=true&branch=master)](https://ci.appveyor.com/project/supertuxkart/stk-code)
[![#supertuxkart on freenode](https://img.shields.io/badge/freenode-%23supertuxkart-brightgreen.svg)](https://webchat.freenode.net/?channels=supertuxkart)
[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/supertuxkart/stk-code?svg=true&branch=master)](https://ci.appveyor.com/project/supertuxkart/stk-code)
[![#supertuxkart on the freenode IRC network](https://img.shields.io/badge/freenode-%23supertuxkart-brightgreen.svg)](https://webchat.freenode.net/?channels=supertuxkart)
SuperTuxKart is a free kart racing game. It focuses on fun and not on realistic kart physics. Instructions can be found on the in-game help page.
The SuperTuxKart homepage can be found at <https://supertuxkart.net/>. There is also our [FAQ](https://supertuxkart.net/FAQ) and information on how get in touch with the [community](https://supertuxkart.net/Community)
## Hardware Requirements
* You need a 3D graphics card. (NVIDIA GeForce 8xxx and higher, ATI Radeon HD 4xxx and higher or Intel HD 3000 and higher.)
* You should have a CPU that's running at 1GHz or better.
To run SuperTuxKart, make sure that your computer's specifications are equal or higher than the following specifications:
* A graphics card capable of 3D rendering - NVIDIA GeForce 8 series and newer (GeForce 8100 or newer), AMD/ATI Radeon HD 4000 series and newer, Intel HD Graphics 3000 and newer. OpenGL >= 3.3
* You should have a CPU that's running at 1 GHz or faster.
* You'll need at least 512 MB of free VRAM (video memory).
* Disk space: 400MB
* Ideally, you want a joystick with at least 6 buttons.
* Minimum disk space: 800 MB
* Ideally, you'll want a joystick with at least 6 buttons.
## License
This software is released under the GNU General Public License (GPL) which can be found in the file [`COPYING`](/COPYING) in the same directory as this file. Information about the licenses for artwork are contained in `data/licenses`.
The software is released under the GNU General Public License (GPL) which can be found in the file [`COPYING`](/COPYING) in the same directory as this file. Information about the licenses for the artwork is contained in `data/licenses`.
## 3D coordinates
A reminder for those looking at the code and 3d models:
A reminder for those who are looking at the code and 3D models:
STK : X right, Y up, Z forwards
SuperTuxKart: X right, Y up, Z forwards
Blender: X right, Y forwards, Z up
The exporters perform the needed transform, so in Blender you just work with XY plane as ground, and things will appear fine in STK (using XZ as ground in the code, obviously).
The export utilities perform the needed transformation, so in Blender you just work with the XY plane as ground, and things will appear fine in STK (using XZ as ground in the code, obviously).
## Building from source
First, you need both the code and the assets (See <https://supertuxkart.net/Source_control> for more information):
```
git clone https://github.com/supertuxkart/stk-code
svn checkout https://svn.code.sf.net/p/supertuxkart/code/stk-assets stk-assets
```
## Building on Linux
### Dependencies
Install the following packages:
* OpenGL (mesa)
* OpenAL (recommended: openal-soft-devel)
* Ogg (libogg-dev)
* Vorbis (libvorbis-dev)
* Freetype (libfreetype6-dev)
* libcurl (libcurl-devel)
* libbluetooth (bluez-devel)
* libpng (libpng-devel)
* zlib (zlib-devel)
* jpeg (libjpeg-turbo-devel)
Ubuntu command:
```
sudo apt-get install build-essential cmake libbluetooth-dev \
libcurl4-gnutls-dev libfreetype6-dev libfribidi-dev libgl1-mesa-dev \
libjpeg-dev libogg-dev libopenal-dev libpng-dev libvorbis-dev libxrandr-dev \
mesa-common-dev pkg-config zlib1g-dev
```
### In-game recorder
In order to build the in-game recorder for STK, you have to install
libopenglrecorder from your distribution or compile it yourself, get it [here](https://github.com/Benau/libopenglrecorder).
Compilation instruction is explained there, if you don't need such feature,
pass `-DBUILD_RECORDER=off` to cmake.
### Compiling
Compile SuperTuxKart:
```
mkdir cmake_build
cd cmake_build
cmake ..
make -j4
```
STK can then be run from the build directory with `bin/supertuxkart`
### Further options
To create a debug version of STK, use:
```
cmake .. -DCMAKE_BUILD_TYPE=Debug
```
You can install your build system-wide:
```
sudo make install
```
The default install location is `/usr/local`, i.e. the data files will
be written to `/usr/local/share/games/supertuxkart`, the executable
will be copied to `/usr/local/bin`. To change the default installation
location, specify `CMAKE_INSTALL_PREFIX` when running cmake, e.g.:
`cmake .. -DCMAKE_INSTALL_PREFIX=/opt/stk`
## Windows
1. Install VS 2013 (or later). The free express versions work fine.
2. Download and install a source package - either a released package or from our [git/svn repositories](https://supertuxkart.net/Source_control).
3. Download the latest dependency package from [here](https://sourceforge.net/projects/supertuxkart/files/SuperTuxKart%20Dependencies/Windows/). Unzip it in the root directory, so that the dependencies directory is next to the src and data directories (if you are updating from a previous dependency package, you can delete the .dll files in the root directory, they are not needed anymore).
4. Download cmake and install it. Then start cmake-gui and select the STK root directory as 'Where is the source code', and a new directory in the root directory (next to src, data etc) as the build directory (for now I assume that this directory is called bld).
5. Click on configure. You will be asked to create the directory (yes), then for your VS version. Make sure you select the right version (be aware of the easy to confuse version numbers: VS 2013 = version 12). Click on configure, then generate. This will create the directory 'bld', and a VS solution in that directory.
6. In Visual Studio open the project file generated in the 'bld' folder.
7. Right click on the supertuxkart project in the solution explorer, and select "Set as StartUp Project".
8. Select Build->Build Solution (or press F7) to compile.
## OS X
### Getting Started
Install developer tools, either from the OS X Install DVD or from Apple's website.
If you have never built anything before, you have create `/usr/local/include/` first:
```bash
sudo mkdir -p /usr/local/include/
```
Symlink the `include`-folder of OpenGL framework to `/usr/local/include/GL` (Unix programs have an easier time finding it this way):
```bash
sudo ln -s /System/Library/Frameworks/OpenGL.framework/Versions/A/Headers/ /usr/local/include/GL
```
On OS X 10.9.5, you might need the following workaround:
```bash
sudo ln -s `xcrun --show-sdk-path`/usr/include/ /usr/include
sudo ln -s `xcrun --show-sdk-path`/System/Library/Frameworks/OpenGL.framework/Headers/ /usr/local/include/OpenGL
```
The first link is required in order to find libcurl, the second to find opengl.
Download pre-built dependencies from [here](https://sourceforge.net/projects/supertuxkart/files/SuperTuxKart%20Dependencies/OSX/) and put the frameworks in [hard disk root]/Library/Frameworks
### CMake
CMake is used to build STK. At this time CMake will not make a binary that is ready for distribution.
You'll have to run these commands inside your stk-code directory.
### Building
With clang:
```
mkdir cmake_build
cd cmake_build
cmake ..
make
```
With GCC :
```
mkdir cmake_build
cd cmake_build
cmake .. -DCMAKE_CXX_COMPILER=/usr/bin/g++ -DCMAKE_C_COMPILER=/usr/bin/gcc
make
```
Building on 10.10 with 10.9 compat
```
cmake .. -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9
```
### Xcode
Place an additional copy of the dependencies into `Users/<YOUR_USERNAME>/Library/Frameworks`.
Then cd to your cloned stk-code directory and execute the following commands:
```bash
mkdir xcode_build && cd xcode_build
cmake .. -GXcode
```
Use Finder to navigate to your stk-code/xcode_build folder and open the newly generated Xcode project (SuperTuxKart.xcodeproj).
You can then build the project in Xcode using Product -> Build
Note: Xcode is much less well tested than makefiles, so there may be issues when trying to use Xcode.
Building instructions can be found in [`INSTALL.md`](/INSTALL.md)

View File

@@ -124,15 +124,15 @@ include $(CLEAR_VARS)
LOCAL_MODULE := irrlicht
LOCAL_PATH := .
LOCAL_CPP_FEATURES += rtti
LOCAL_SRC_FILES := $(wildcard ../lib/irrlicht/source/Irrlicht/*.cpp) \
$(wildcard ../lib/irrlicht/source/Irrlicht/Android/*.cpp)
LOCAL_SRC_FILES := $(wildcard ../lib/irrlicht/source/Irrlicht/*.cpp) \
$(wildcard ../lib/irrlicht/source/Irrlicht/Android/*.cpp) \
../lib/irrlicht/source/Irrlicht/stk_android_native_app_glue.c
LOCAL_CFLAGS := -I../lib/irrlicht/source/Irrlicht/ \
-I../lib/irrlicht/include/ \
-Iobj/jpeglib/ \
-Iobj/libpng/ \
-Iobj/zlib/ \
-I$(call my-dir)/../../sources/android/native_app_glue
-std=gnu++0x
-Iobj/zlib/
LOCAL_CPPFLAGS := -std=gnu++0x
LOCAL_STATIC_LIBRARIES := jpeglib png zlib
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
@@ -158,17 +158,19 @@ LOCAL_CFLAGS := -I../lib/angelscript/include \
-Iobj/libogg/include \
-Iobj/libvorbis/include \
-Iobj/openal/include \
-I$(call my-dir)/../../sources/android/native_app_glue \
-Iobj/openssl/include \
-DUSE_GLES2 \
-DHAVE_OGGVORBIS \
-DENABLE_SOUND \
-DENABLE_CRYPTO_OPENSSL \
-DNDEBUG \
-std=gnu++0x
-DANDROID_PACKAGE_NAME=\"$(PACKAGE_NAME)\" \
-DANDROID_APP_DIR_NAME=\"$(APP_DIR_NAME)\" \
-DSUPERTUXKART_VERSION=\"$(PROJECT_VERSION)\"
LOCAL_CPPFLAGS := -std=gnu++0x
LOCAL_STATIC_LIBRARIES := irrlicht bullet enet freetype ifaddrs angelscript \
vorbisfile vorbis ogg openal curl libssl libcrypto \
gnustl_static android_native_app_glue
gnustl_static
include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)
$(call import-module,android/native_app_glue)

View File

@@ -1,19 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.supertuxkart.stk"
package="org.supertuxkart.stk_dbg"
android:versionCode="1"
android:versionName="1.0">
android:versionName="git"
android:installLocation="auto">
<!-- This .apk has no Java code itself, so set hasCode to false. -->
<application android:label="@string/app_name"
android:icon="@drawable/icon"
android:banner="@drawable/banner"
android:hasCode="false"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:hardwareAccelerated="true">
android:isGame="true"
android:theme="@android:style/Theme.DeviceDefault.NoActionBar.TranslucentDecor"
android:hardwareAccelerated="true"
android:resizeableActivity="false">
<activity android:name="android.app.NativeActivity"
android:label="@string/app_name"
android:configChanges="keyboardHidden|orientation"
android:configChanges="fontScale|keyboard|keyboardHidden|layoutDirection|locale|mcc|mnc|navigation|orientation|screenLayout|screenSize|uiMode"
android:screenOrientation="sensorLandscape">
<!-- Tell NativeActivity the name of or .so -->
@@ -23,15 +27,18 @@
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="19" />
<uses-sdk android:minSdkVersion="19"
android:targetSdkVersion="26" />
<uses-feature android:glEsVersion="0x00020000" />
<uses-feature android:name="android.software.leanback" android:required="false" />
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
<uses-feature android:name="android.hardware.gamepad" android:required="false"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_MEDIA_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
</manifest>

View File

@@ -31,7 +31,8 @@ after some tweaks, but atm. only linux is supported.
Dependencies list (may be incomplete):
autoconf, automake, make, python, ant, imagemagick, cmake, vorbis-tools
autoconf, automake, make, python, gradle, ant, imagemagick, cmake,
vorbis-tools, pngquant
Additionally some dependencies for optimize_data script:
@@ -43,14 +44,13 @@ and extract it to stk-code/lib. It contains sources of libraries that are used
in STK, but are not availiable in stk-code repository (curl, freetype, openal).
You need also Android SDK for android-19 platform (the API for Android 4.4) and
Android NDK (versions r12b and r13b have been tested).
Android NDK. Note that NDK >= r15 is atm. not supported. Version r12b is
strongly recommended, because it's known that it works without issues.
You need to create proper "android-sdk" and "android-ndk" symlinks in the
directory with Android project, so that the compilation script will have access
to the SDK and NDK.
These paths can be also set in SDK_PATH and NDK_PATH environmental variables.
Before running the compilation, run the generate_assets script, so that
selected assets will be copied to "assets" directory, and then included in the
apk file.
@@ -66,14 +66,6 @@ If the assets directory is already prepared, you can run "./make.sh" command to
build the project and create an apk file. Note that all arguments are passed to
the make command, so that you can run "./make.sh -j5" for multi-threaded build.
If you want to prepare a package for particular architecture, you can choose it
by setting the COMPILE_ARCH environmental variable. At this stage, supported
architectures are "armv7", "x86" and "aarch64". The default is "armv7".
You can choose build type by setting BUILD_TYPE environment variable to "debug"
or "release". The default is debug build. Note that if you choose release build,
you have to manually sign the apk with your key and run zipalign.
Basically if all dependencies are installed in the system, it should be enough
to just run:
@@ -84,6 +76,41 @@ to just run:
--------------------------------------------------------------------------------
ENVIRONMENT VARIABLES
--------------------------------------------------------------------------------
COMPILE_ARCH - Allows to choose CPU architecture for which the package will
be compiled.
Possible values: armv7, aarch64, x86, x86_64.
Default is: armv7.
BUILD_TYPE - Allows to set build type.
Possible values: debug, release, beta.
Default is: debug.
BUILD_TOOL - Allows to choose a tool that is used for creating package.
Note that ant has been already removed from Android SDK, so
you have to use SDK <= 25.2.5 for building with ant.
Possible values: ant, gradle.
Default is: gradle.
BUILD_TOOLS_VER - Allows to override the SDK build-tools version.
SDK_PATH - Path to SDK directory
NDK_PATH - Path to NDK directory
PROJECT_VERSION - Set Supertuxkart version number, for example "0.9.3" or
"git20170409" or whatever.
Default is: git.
PROJECT_CODE - Set Supertuxkart version code that is used in the manifest
file.
Default is: 1.
--------------------------------------------------------------------------------
RELEASE BUILD
--------------------------------------------------------------------------------
@@ -91,29 +118,13 @@ to just run:
Making a release build is similar to typical compilation, but there are few
additional things to do.
You have to change version numbers. This is important, because assets manager
in STK checks these numbers and detects if already extracted data files are
You have to set PROJECT_VERSION variable. This is important, because assets
manager in STK checks that value and detects if already extracted data files are
up to date. So that when you will install new STK version, this will force new
data extraction automatically.
So that you have to:
1. Change "data/supertuxkart.git" to "data/supertuxkart.VERSION_NUMBER"
2. Open "src/utils/constants.cpp" and change:
const char STK_VERSION[] = "git";
to
const char STK_VERSION[] = "VERSION_NUMBER";
where "VERSION_NUMBER" is for example "0.9.3" or "git20170409" or whatever.
3. You can also update these lines in "android/AndroidManifest.xml":
android:versionCode="1"
android:versionName="1.0"
The PROJECT_CODE variable typically should be set to a value higher than for
previous release, so that users will receive the upgrade.
Before compilation you have to set:
@@ -134,42 +145,3 @@ you have to run:
and then:
zipalign -v 4 SuperTuxKart-release-unsigned.apk SuperTuxKart-release.apk
--------------------------------------------------------------------------------
KNOWN ISSUES
--------------------------------------------------------------------------------
1. It's not possible to compile STK for Android < 4.4 due to missing GLES 3.0
functions. It is technically possible to do - check GLES context version,
load OpenGL functions dynamically using EGL, and if they are not loaded
properly, then fallback to GLES 2.0.
2. It never ocurred for me, but it's possible that EGL context is lost in some
cases. SuperTuxKart is not designed to re-create all textures at any moment,
so this is a "Wontfix", at least for now.
3. We use "exit(0)" at the end of main function. We shouldn't do it and we
should just return from the main function. But STK uses some global
variables and their values are remembered when the game is restarted. We
should properly clear them or re-initialize on startup. Using the "exit(0)"
is not-that-bad workaround, but it may cause a crash on exit sometimes.
It seems to affect only Android 5.0. More information about the crash:
https://code.google.com/p/android/issues/detail?id=160824
4. STK crashes on Qualcomm with Adreno 305 when trying to draw menu interface.
Backtrace shows glDrawElements function, and internally crashed in vbo
allocation.
5. STK crashes on startup on some devices when aarch64 build is made using
Android r13 NDK. The r13 version has rather big modifications (it uses clang
instead of gcc by default). This is probably a bug in NDK/compiler/OS, but
for this reason using NDK r12 for 64-bit arm compilation is preferred.
6. Angelscript doesn't have full support for aarch64 builds, so that scripting
won't work on this platform.
7. Turning left/right using accelerometer is available, but at this stage the
default screen orientation is not automatically detected and user must
manually choose if he needs "phone" or "tablet" accelerometer.

BIN
android/banner.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

31
android/build.gradle Normal file
View File

@@ -0,0 +1,31 @@
buildscript
{
repositories
{
jcenter()
}
dependencies
{
classpath 'com.android.tools.build:gradle:2.2.3'
}
}
apply plugin: 'com.android.application'
android
{
compileSdkVersion compile_sdk_version.toInteger()
buildToolsVersion build_tools_ver
sourceSets
{
main
{
manifest.srcFile 'AndroidManifest.xml'
jniLibs.srcDirs = ['libs']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
}

View File

@@ -5,22 +5,26 @@
# A script that generates data files for Android apk
# Below are simple configuration variables
# Below you can find some simple configuration variables.
# It's allowed to set "all" for KARTS and TRACKS if it's intended to create
# package with full data.
# The karts and tracks directories shouldn't exist in ASSETS_DIRS variable
# because they are handled separately
# because they are handled separately.
# The TEXTURE_SIZE and SOUND_QUALITY take effect only if DECREASE_QUALITY has
# value greater than 0
# The script needs imagemagick and ogg utils installed to use DECREASE_QUALITY
# feature
# value greater than 0.
# The CONVERT_TO_JPG variable enables converting all images that are safe to
# convert and keeps other images untouched.
# The script needs imagemagick, pngquant and ogg utils installed in order to
# use DECREASE_QUALITY feature
################################################################################
export KARTS="tux nolok xue"
export TRACKS="battleisland cornfield_crossing featunlocked gplose gpwin \
hacienda introcutscene introcutscene2 lighthouse olivermath \
overworld snowmountain snowtuxpeak soccer_field tutorial"
export KARTS="all"
export TRACKS="abyss battleisland cave cornfield_crossing endcutscene \
featunlocked fortmagma gplose gpwin hacienda icy_soccer_field \
introcutscene introcutscene2 lighthouse mines olivermath \
overworld sandtrack scotland snowmountain snowtuxpeak \
soccer_field stadium tutorial zengarden"
export ASSETS_PATHS="../data \
../../stk-assets \
@@ -29,12 +33,20 @@ export ASSETS_PATHS="../data \
export ASSETS_DIRS="library models music sfx textures"
export TEXTURE_SIZE=256
export JPEG_QUALITY=85
export PNG_QUALITY=95
export SOUND_QUALITY=42
export SOUND_MONO=1
export SOUND_SAMPLE=32000
export RUN_OPTIMIZE_SCRIPT=0
export DECREASE_QUALITY=1
export CONVERT_TO_JPG=1
export CONVERT_TO_JPG_BLACKLIST="data/karts/hexley/hexley_kart_diffuse.png \
data/models/traffic_light.png"
export BLACKLIST_FILES="data/music/cocoa_river_fast.ogg2"
################################################################################
@@ -44,21 +56,21 @@ cd "`dirname "$0"`"
# Find assets path
for ASSETS_PATH in $ASSETS_PATHS; do
if [ -d $ASSETS_PATH ] && [ `ls $ASSETS_PATH | grep -c tracks` -gt 0 ]; then
echo "Assets found in $ASSETS_PATH"
ASSETS_PATH_FOUND=1
break
fi
if [ -d $ASSETS_PATH ] && [ `ls $ASSETS_PATH | grep -c tracks` -gt 0 ]; then
echo "Assets found in $ASSETS_PATH"
ASSETS_PATH_FOUND=1
break
fi
done
if [ -z $ASSETS_PATH_FOUND ]; then
echo "Couldn't find assets path"
exit 1
echo "Couldn't find assets path"
exit 1
fi
if [ ! -d "../data" ]; then
echo "Couldn't find data directory"
exit 1
echo "Couldn't find data directory"
exit 1
fi
@@ -73,27 +85,27 @@ echo "Copy all assets"
mkdir -p assets/data
for DIR in `ls $ASSETS_PATH`; do
CAN_BE_COPIED=0
CAN_BE_COPIED=0
for ASSETS_DIR in $ASSETS_DIRS; do
if [ $DIR = $ASSETS_DIR ]; then
CAN_BE_COPIED=1
break
fi
done;
for ASSETS_DIR in $ASSETS_DIRS; do
if [ $DIR = $ASSETS_DIR ]; then
CAN_BE_COPIED=1
break
fi
done;
# Don't copy karts and tracks. It will be handled later
BLACKLIST_ASSETS="karts tracks"
for ASSETS_DIR in $BLACKLIST_ASSETS; do
if [ $DIR = $ASSETS_DIR ]; then
CAN_BE_COPIED=0
break
fi
done;
# Don't copy karts and tracks. It will be handled later
BLACKLIST_ASSETS="karts tracks"
for ASSETS_DIR in $BLACKLIST_ASSETS; do
if [ $DIR = $ASSETS_DIR ]; then
CAN_BE_COPIED=0
break
fi
done;
if [ $CAN_BE_COPIED -gt 0 ]; then
cp -a "$ASSETS_PATH/$DIR" assets/data/
fi
if [ $CAN_BE_COPIED -gt 0 ]; then
cp -a "$ASSETS_PATH/$DIR" assets/data/
fi
done;
@@ -103,22 +115,22 @@ echo "Copy selected tracks"
mkdir -p assets/data/tracks
for DIR in `ls $ASSETS_PATH/tracks`; do
CAN_BE_COPIED=0
CAN_BE_COPIED=0
if [ "$TRACKS" != "all" ]; then
for TRACK in $TRACKS; do
if [ $DIR = $TRACK ]; then
CAN_BE_COPIED=1
break
fi
done;
else
CAN_BE_COPIED=1
fi
if [ "$TRACKS" != "all" ]; then
for TRACK in $TRACKS; do
if [ $DIR = $TRACK ]; then
CAN_BE_COPIED=1
break
fi
done;
else
CAN_BE_COPIED=1
fi
if [ $CAN_BE_COPIED -gt 0 ]; then
cp -a "$ASSETS_PATH/tracks/$DIR" assets/data/tracks/
fi
if [ $CAN_BE_COPIED -gt 0 ]; then
cp -a "$ASSETS_PATH/tracks/$DIR" assets/data/tracks/
fi
done
@@ -128,22 +140,22 @@ echo "Copy selected karts"
mkdir -p assets/data/karts
for DIR in `ls $ASSETS_PATH/karts`; do
CAN_BE_COPIED=0
CAN_BE_COPIED=0
if [ "$KARTS" != "all" ]; then
for KART in $KARTS; do
if [ $DIR = $KART ]; then
CAN_BE_COPIED=1
break
fi
done;
else
CAN_BE_COPIED=1
fi
if [ "$KARTS" != "all" ]; then
for KART in $KARTS; do
if [ $DIR = $KART ]; then
CAN_BE_COPIED=1
break
fi
done;
else
CAN_BE_COPIED=1
fi
if [ $CAN_BE_COPIED -gt 0 ]; then
cp -a "$ASSETS_PATH/karts/$DIR" assets/data/karts/
fi
if [ $CAN_BE_COPIED -gt 0 ]; then
cp -a "$ASSETS_PATH/karts/$DIR" assets/data/karts/
fi
done
@@ -152,82 +164,425 @@ echo "Decrease assets quality"
convert_image()
{
if [ -z "$1" ]; then
echo "No file to convert"
return
fi
FILE="$1"
FILE_TYPE="$2"
echo "Convert file: $FILE"
FILE="$1"
if [ ! -f "$FILE" ]; then
echo " File doesn't exist."
return
fi
W=`identify -format "%[fx:w]" "$FILE"`
H=`identify -format "%[fx:h]" "$FILE"`
W=`identify -format "%[fx:w]" "$FILE"`
H=`identify -format "%[fx:h]" "$FILE"`
if [ -z $W ] || [ -z $H ]; then
echo "Couldn't convert $FILE file"
return
fi
if [ -z $W ] || [ -z $H ]; then
echo "Couldn't convert $FILE file"
return
fi
SCALE_CMD=""
QUALITY_CMD=""
if [ $W -le $TEXTURE_SIZE ] && [ $H -le $TEXTURE_SIZE ]; then
return
fi
if [ $W -gt $TEXTURE_SIZE ] || [ $H -gt $TEXTURE_SIZE ]; then
if [ $W -gt $H ]; then
SCALED_W=$TEXTURE_SIZE
SCALED_H=$(($TEXTURE_SIZE * $H / $W))
else
SCALED_W=$(($TEXTURE_SIZE * $W / $H))
SCALED_H=$TEXTURE_SIZE
fi
if [ $W -gt $H ]; then
SCALED_W=$TEXTURE_SIZE
SCALED_H=$(($TEXTURE_SIZE * $H / $W))
else
SCALED_W=$(($TEXTURE_SIZE * $W / $H))
SCALED_H=$TEXTURE_SIZE
fi
SCALE_CMD="-scale ${SCALED_W}x${SCALED_H}"
fi
convert -scale $SCALED_WE\x$SCALED_H "$FILE" "$FILE"
if [ "$FILE_TYPE" = "jpg" ]; then
QUALITY_CMD="-quality $JPEG_QUALITY"
elif [ "$FILE_TYPE" = "png" ]; then
QUALITY_CMD="-quality $PNG_QUALITY"
fi
convert $SCALE_CMD $QUALITY_CMD "$FILE" "tmp.$FILE_TYPE"
if [ -s "tmp.$FILE_TYPE" ]; then
SIZE_OLD=`du -k "$FILE" | cut -f1`
SIZE_NEW=`du -k "tmp.$FILE_TYPE" | cut -f1`
if [ $SIZE_NEW -lt $SIZE_OLD ]; then
mv "tmp.$FILE_TYPE" "$FILE"
fi
fi
rm -f "tmp.$FILE_TYPE"
}
convert_sound()
{
if [ -z "$1" ]; then
echo "No file to convert"
return
fi
FILE="$1"
echo "Convert file: $FILE"
FILE="$1"
if [ ! -f "$FILE" ]; then
echo " File doesn't exist."
return
fi
oggdec "$FILE" -o tmp.wav
oggdec "$FILE" -o tmp.wav
if [ -s tmp.wav ]; then
OGGENC_CMD=""
if [ "$SOUND_MONO" -gt 0 ]; then
OGGENC_CMD="$OGGENC_CMD --downmix"
fi
OGG_RATE=`ogginfo "$FILE" | grep "Rate: " | cut -f 2 -d " " \
| grep -o '[0-9]*'`
if [ ! -z "$OGG_RATE" ] && [ "$OGG_RATE" -gt "32000" ]; then
OGGENC_CMD="$OGGENC_CMD --resample 32000"
fi
OGGENC_CMD="$OGGENC_CMD -b $SOUND_QUALITY"
oggenc $OGGENC_CMD tmp.wav -o tmp.ogg
fi
if [ -s tmp.wav ]; then
OGGENC_CMD=""
if [ -s tmp.ogg ]; then
SIZE_OLD=`du -k "$FILE" | cut -f1`
SIZE_NEW=`du -k "tmp.ogg" | cut -f1`
if [ "$SOUND_MONO" -gt 0 ]; then
OGGENC_CMD="$OGGENC_CMD --downmix"
fi
if [ $SIZE_NEW -lt $SIZE_OLD ]; then
mv tmp.ogg "$FILE"
fi
fi
OGG_RATE=`ogginfo "$FILE" | grep "Rate: " | cut -f 2 -d " " \
| grep -o '[0-9]*'`
rm -f tmp.wav tmp.ogg
if [ ! -z "$OGG_RATE" ] && [ "$OGG_RATE" -gt "$SOUND_SAMPLE" ]; then
OGGENC_CMD="$OGGENC_CMD --resample $SOUND_SAMPLE"
fi
OGGENC_CMD="$OGGENC_CMD -b $SOUND_QUALITY"
oggenc $OGGENC_CMD tmp.wav -o tmp.ogg
fi
if [ -s tmp.ogg ]; then
SIZE_OLD=`du -k "$FILE" | cut -f1`
SIZE_NEW=`du -k "tmp.ogg" | cut -f1`
if [ $SIZE_NEW -lt $SIZE_OLD ]; then
mv tmp.ogg "$FILE"
fi
fi
rm -f tmp.wav tmp.ogg
}
optimize_png()
{
FILE="$1"
echo "Optimize file: $FILE"
if [ ! -f "$FILE" ]; then
echo " File doesn't exist."
return
fi
pngquant --force --skip-if-larger --output "$FILE" -- "$FILE"
}
convert_to_jpg()
{
FILE="$1"
echo "Convert file to jpg: $FILE"
if [ ! -f "$FILE" ]; then
echo " File doesn't exist."
return
fi
ALREADY_CONVERTED=0
if [ -s "./converted_textures" ]; then
while read -r CONVERTED_TEXTURE; do
if [ "$FILE" = "$CONVERTED_TEXTURE" ]; then
ALREADY_CONVERTED=1
break
fi
done < "./converted_textures"
fi
if [ $ALREADY_CONVERTED -eq 1 ]; then
return
fi
BLACKLISTED=0
for BLACKLIST_FILE in $CONVERT_TO_JPG_BLACKLIST; do
if [ "$FILE" = "assets/$BLACKLIST_FILE" ]; then
BLACKLISTED=1
break
fi
done
if [ $BLACKLISTED -eq 1 ]; then
#echo " File is blacklisted. Ignore..."
continue
fi
FILE_EXTENSION=`echo "$FILE" | tail -c 5`
if [ `echo "$FILE_EXTENSION" | head -c 1` != "." ]; then
#echo " Unsupported file extension. Ignore..."
continue
fi
FILE_FORMAT=`identify -format %m "$FILE"`
if [ "$FILE_FORMAT" = "JPEG" ]; then
#echo " File is already JPEG. Ignore..."
continue
fi
IS_OPAQUE=`identify -format '%[opaque]' "$FILE"`
#HAS_ALPHA=`identify -format '%A' "$FILE"`
if [ "$IS_OPAQUE" = "False" ] || [ "$IS_OPAQUE" = "false" ]; then
#echo " File has alpha channel. Ignore..."
continue
fi
DIRNAME="`dirname "$FILE"`"
BASENAME="`basename "$FILE"`"
IS_GLOSS_MAP=`find "$DIRNAME" -iname "*.xml" -exec cat {} \; \
| grep -c "gloss-map=\"$BASENAME\""`
if [ $IS_GLOSS_MAP -gt 0 ]; then
#echo " File is a gloss-map. Ignore..."
continue
fi
NEW_FILE="`echo $FILE | head -c -5`.jpg"
if [ -f "$NEW_FILE" ]; then
#echo " There is already a file with .jpg extension. Ignore..."
continue
fi
# We can check if new file is smaller
convert -quality $JPEG_QUALITY "$FILE" "$NEW_FILE"
rm -f "$FILE"
echo "$FILE" >> "./converted_textures"
}
convert_to_jpg_extract_b3dz()
{
FILE="$1"
echo "Extract b3dz file: $FILE"
if [ ! -f "$FILE" ]; then
echo " File doesn't exist."
return
fi
DIRNAME="`dirname "$FILE"`"
unzip "$FILE" -d "$DIRNAME"
rm -f "$FILE"
TEXNAME="`basename "$FILE"`"
NEWNAME="`echo $TEXNAME | head -c -6`.b3d"
sed -i "s/\"$TEXNAME\"/\"$NEWNAME\"/g" "$DIRNAME/kart.xml"
}
convert_to_jpg_update_b3d()
{
FILE="$1"
echo "Update b3d file: $FILE"
if [ ! -f "$1" ]; then
echo " File doesn't exist."
return
fi
HEX_FILE=`hexdump -ve '1/1 "%.2x"' "$FILE"`
TEXS_CHUNK="54455853"
TEXS_CHUNK_POS=24
FOUND_CHUNK=`echo $HEX_FILE | head -c $(($TEXS_CHUNK_POS + 8)) \
| tail -c +$(($TEXS_CHUNK_POS + 1))`
if [ -z "$FOUND_CHUNK" ] || [ "$FOUND_CHUNK" != "$TEXS_CHUNK" ]; then
echo " File has no textures."
return
fi
TEXS_SIZE=`echo $HEX_FILE | head -c $(($TEXS_CHUNK_POS + 16)) | tail -c 8`
TEXS_SIZE_CONVERTED=`echo $TEXS_SIZE | cut -c7-8`
TEXS_SIZE_CONVERTED=$TEXS_SIZE_CONVERTED`echo $TEXS_SIZE | cut -c5-6`
TEXS_SIZE_CONVERTED=$TEXS_SIZE_CONVERTED`echo $TEXS_SIZE | cut -c3-4`
TEXS_SIZE_CONVERTED=$TEXS_SIZE_CONVERTED`echo $TEXS_SIZE | cut -c1-2`
TEXS_SIZE_CONVERTED=`echo $((0x$TEXS_SIZE_CONVERTED))`
if [ $TEXS_SIZE_CONVERTED -le 0 ]; then
echo " Invalid TEXS size value."
return
fi
TEXS_BEGIN=$(($TEXS_CHUNK_POS + 16))
TEXS_END=$(($TEXS_BEGIN + $TEXS_SIZE_CONVERTED * 2))
HEX_TEXS=`echo $HEX_FILE | head -c $TEXS_END | tail -c +$(($TEXS_BEGIN+1))`
CURR_POS=0
while [ $CURR_POS -lt $TEXS_END ]; do
NULL_POS=`echo $HEX_TEXS | tail -c +$(($CURR_POS+1)) | grep -b -o "00" \
| head -n 1 | cut -f1 -d":"`
if [ -z $NULL_POS ]; then
#echo " Done."
break
fi
if [ $NULL_POS -lt 4 ]; then
echo " Something went wrong..."
break
fi
TEXNAME_BEGIN=$((($TEXS_BEGIN + $CURR_POS) / 2))
TEXNAME_END=$((($TEXS_BEGIN + $CURR_POS + $NULL_POS) / 2))
CURR_POS=$(($CURR_POS + $NULL_POS + 58))
TEXTURE_NAME=`dd if="$FILE" bs=1 skip=$TEXNAME_BEGIN \
count=$(($TEXNAME_END - $TEXNAME_BEGIN)) 2> /dev/null`
DIRNAME="`dirname "$FILE"`"
TEXTURE_PATH="$DIRNAME/$TEXTURE_NAME"
IS_CONVERTED=0
while read -r CONVERTED_TEXTURE; do
if [ "$TEXTURE_PATH" = "$CONVERTED_TEXTURE" ]; then
IS_CONVERTED=1
break
fi
done < "./converted_textures"
if [ $IS_CONVERTED -eq 1 ]; then
echo -n ".jpg" | dd of="$FILE" bs=1 seek=$(($TEXNAME_END - 4)) \
conv=notrunc 2> /dev/null
fi;
done
}
convert_to_jpg_update_spm()
{
FILE="$1"
echo "Update spm file: $FILE"
if [ ! -f "$1" ]; then
echo " File doesn't exist."
return
fi
HEX_FILE=`hexdump -ve '1/1 "%.2x"' "$FILE"`
SP_HEADER="5350"
SP_FOUND=`echo $HEX_FILE | head -c 4`
if [ -z "$SP_FOUND" ] || [ "$SP_FOUND" != "$SP_HEADER" ]; then
echo " Unsupported format."
return
fi
TEXS_BEGIN=60
TEXS_COUNT=`echo $HEX_FILE | head -c $TEXS_BEGIN | tail -c 4`
TEXS_COUNT_CONVERTED=`echo $TEXS_COUNT | cut -c3-4`
TEXS_COUNT_CONVERTED=$TEXS_COUNT_CONVERTED`echo $TEXS_COUNT | cut -c1-2`
TEXS_COUNT_CONVERTED=`echo $((0x$TEXS_COUNT_CONVERTED))`
TEXS_COUNT_CONVERTED=$(($TEXS_COUNT_CONVERTED * 2))
if [ $TEXS_COUNT_CONVERTED -le 0 ]; then
echo " Invalid textures count value."
return
fi
CURR_POS=$(($TEXS_BEGIN + 2))
while [ $TEXS_COUNT_CONVERTED -gt 0 ]; do
TEXS_COUNT_CONVERTED=$(($TEXS_COUNT_CONVERTED - 1))
TEX_LEN=`echo $HEX_FILE | head -c $(($CURR_POS)) | tail -c 2`
TEX_LEN=`echo $((0x$TEX_LEN))`
TEXNAME_BEGIN=$(($CURR_POS / 2))
TEXNAME_END=$(($CURR_POS / 2 + $TEX_LEN))
CURR_POS=$(($CURR_POS + 2 + $TEX_LEN * 2))
if [ $TEX_LEN -eq 0 ]; then
#echo " Empty texture name, ignore..."
continue
fi
TEXTURE_NAME=`dd if="$FILE" bs=1 skip=$TEXNAME_BEGIN \
count=$(($TEXNAME_END - $TEXNAME_BEGIN)) 2> /dev/null`
DIRNAME="`dirname "$FILE"`"
TEXTURE_PATH="$DIRNAME/$TEXTURE_NAME"
IS_CONVERTED=0
while read -r CONVERTED_TEXTURE; do
if [ "$TEXTURE_PATH" = "$CONVERTED_TEXTURE" ]; then
IS_CONVERTED=1
break
fi
done < "./converted_textures"
if [ $IS_CONVERTED -eq 1 ]; then
echo -n ".jpg" | dd of="$FILE" bs=1 seek=$(($TEXNAME_END - 4)) \
conv=notrunc 2> /dev/null
fi
done
}
convert_to_jpg_update_xml()
{
FILE="$1"
echo "Update xml file: $FILE"
if [ ! -f "$FILE" ]; then
echo " File doesn't exist."
return
fi
DIRNAME="`dirname "$FILE"`"
while read -r CONVERTED_TEXTURE; do
DIRNAME_TEX="`dirname "$CONVERTED_TEXTURE"`"
if [ "$DIRNAME_TEX" != "$DIRNAME" ]; then
continue;
fi
TEXNAME="`basename "$CONVERTED_TEXTURE" | head -c -5`"
sed -i "s/\"$TEXNAME.[pP][nN][gG]/\"$TEXNAME.jpg/g" "$FILE"
sed -i "s/ $TEXNAME.[pP][nN][gG]/ $TEXNAME.jpg/g" "$FILE"
done < "./converted_textures"
}
if [ $DECREASE_QUALITY -gt 0 ]; then
find assets/data -iname "*.png" | while read f; do convert_image "$f"; done
find assets/data -iname "*.jpg" | while read f; do convert_image "$f"; done
find assets/data -iname "*.ogg" | while read f; do convert_sound "$f"; done
find assets/data -iname "*.png" | while read f; do convert_image "$f" "png"; done
find assets/data -iname "*.jpg" | while read f; do convert_image "$f" "jpg"; done
find assets/data -iname "*.ogg" | while read f; do convert_sound "$f"; done
fi
if [ $CONVERT_TO_JPG -gt 0 ]; then
rm -f "./converted_textures"
find assets/data -not -path "assets/data/textures/*" -iname "*.png" | while read f; do convert_to_jpg "$f"; done
find assets/data -iname "*.b3dz" | while read f; do convert_to_jpg_extract_b3dz "$f"; done
find assets/data -iname "*.b3d" | while read f; do convert_to_jpg_update_b3d "$f"; done
find assets/data -iname "*.spm" | while read f; do convert_to_jpg_update_spm "$f"; done
find assets/data -iname "*.xml" | while read f; do convert_to_jpg_update_xml "$f"; done
if [ -s "./converted_textures" ]; then
echo "Converted textures:"
cat "./converted_textures"
rm -f "./converted_textures"
fi
fi
if [ $DECREASE_QUALITY -gt 0 ]; then
find assets/data -iname "*.png" | while read f; do optimize_png "$f" "png"; done
fi
@@ -236,10 +591,16 @@ echo "Copy data directory"
cp -a ../data/* assets/data/
# Remove unused files
for BLACKLIST_FILE in $BLACKLIST_FILES; do
rm -f "assets/$BLACKLIST_FILE"
done
# Run optimize_data.sh script
if [ $RUN_OPTIMIZE_SCRIPT -gt 0 ]; then
echo "Run optimize_data.sh script"
sh -c 'cd assets/data; ../../../data/optimize_data.sh'
echo "Run optimize_data.sh script"
sh -c 'cd assets/data; ../../../data/optimize_data.sh'
fi

BIN
android/icon-dbg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

View File

@@ -22,16 +22,48 @@ export NDK_ABI_ARMV7=armeabi-v7a
export ARCH_ARMV7=arm
export HOST_ARMV7=arm-linux-androideabi
export NDK_PLATFORM_ARMV7=android-19
export NDK_ABI_X86=x86
export ARCH_X86=x86
export HOST_X86=i686-linux-android
export NDK_PLATFORM_X86=android-19
export MIN_SDK_VERSION_ARMV7=19
export TARGET_SDK_VERSION_ARMV7=26
export COMPILE_SDK_VERSION_ARMV7=26
export NDK_ABI_AARCH64=arm64-v8a
export ARCH_AARCH64=arm64
export HOST_AARCH64=aarch64-linux-android
export NDK_PLATFORM_AARCH64=android-21
export MIN_SDK_VERSION_AARCH64=21
export TARGET_SDK_VERSION_AARCH64=26
export COMPILE_SDK_VERSION_AARCH64=26
export NDK_ABI_X86=x86
export ARCH_X86=x86
export HOST_X86=i686-linux-android
export NDK_PLATFORM_X86=android-19
export MIN_SDK_VERSION_X86=19
export TARGET_SDK_VERSION_X86=26
export COMPILE_SDK_VERSION_X86=26
export NDK_ABI_X86_64=x86_64
export ARCH_X86_64=x86_64
export HOST_X86_64=x86_64-linux-android
export NDK_PLATFORM_X86_64=android-21
export MIN_SDK_VERSION_X86_64=21
export TARGET_SDK_VERSION_X86_64=26
export COMPILE_SDK_VERSION_X86_64=26
export APP_NAME_RELEASE="SuperTuxKart"
export PACKAGE_NAME_RELEASE="org.supertuxkart.stk"
export APP_DIR_NAME_RELEASE="supertuxkart"
export APP_ICON_RELEASE="$DIRNAME/icon.png"
export APP_NAME_BETA="SuperTuxKart Beta"
export PACKAGE_NAME_BETA="org.supertuxkart.stk_beta"
export APP_DIR_NAME_BETA="supertuxkart-beta"
export APP_ICON_BETA="$DIRNAME/icon-dbg.png"
export APP_NAME_DEBUG="SuperTuxKart Debug"
export PACKAGE_NAME_DEBUG="org.supertuxkart.stk_dbg"
export APP_DIR_NAME_DEBUG="supertuxkart-dbg"
export APP_ICON_DEBUG="$DIRNAME/icon-dbg.png"
# A helper function that checks if error ocurred
@@ -45,9 +77,12 @@ check_error()
# Handle clean command
if [ ! -z "$1" ] && [ "$1" = "clean" ]; then
rm -rf bin
rm -rf libs
rm -rf obj
rm -rf "$DIRNAME/bin"
rm -rf "$DIRNAME/build"
rm -rf "$DIRNAME/libs"
rm -rf "$DIRNAME/obj"
rm -rf "$DIRNAME/res"
rm -rf "$DIRNAME/.gradle"
exit
fi
@@ -75,19 +110,36 @@ if [ "$COMPILE_ARCH" = "armv7" ]; then
export NDK_ABI=$NDK_ABI_ARMV7
export ARCH=$ARCH_ARMV7
export HOST=$HOST_ARMV7
elif [ "$COMPILE_ARCH" = "x86" ]; then
export NDK_PLATFORM=$NDK_PLATFORM_X86
export NDK_ABI=$NDK_ABI_X86
export ARCH=$ARCH_X86
export HOST=$HOST_X86
export MIN_SDK_VERSION=$MIN_SDK_VERSION_ARMV7
export TARGET_SDK_VERSION=$TARGET_SDK_VERSION_ARMV7
export COMPILE_SDK_VERSION=$COMPILE_SDK_VERSION_ARMV7
elif [ "$COMPILE_ARCH" = "aarch64" ]; then
export NDK_PLATFORM=$NDK_PLATFORM_AARCH64
export NDK_ABI=$NDK_ABI_AARCH64
export ARCH=$ARCH_AARCH64
export HOST=$HOST_AARCH64
export MIN_SDK_VERSION=$MIN_SDK_VERSION_AARCH64
export TARGET_SDK_VERSION=$TARGET_SDK_VERSION_AARCH64
export COMPILE_SDK_VERSION=$COMPILE_SDK_VERSION_AARCH64
elif [ "$COMPILE_ARCH" = "x86" ]; then
export NDK_PLATFORM=$NDK_PLATFORM_X86
export NDK_ABI=$NDK_ABI_X86
export ARCH=$ARCH_X86
export HOST=$HOST_X86
export MIN_SDK_VERSION=$MIN_SDK_VERSION_X86
export TARGET_SDK_VERSION=$TARGET_SDK_VERSION_X86
export COMPILE_SDK_VERSION=$COMPILE_SDK_VERSION_X86
elif [ "$COMPILE_ARCH" = "x86_64" ]; then
export NDK_PLATFORM=$NDK_PLATFORM_X86_64
export NDK_ABI=$NDK_ABI_X86_64
export ARCH=$ARCH_X86_64
export HOST=$HOST_X86_64
export MIN_SDK_VERSION=$MIN_SDK_VERSION_X86_64
export TARGET_SDK_VERSION=$TARGET_SDK_VERSION_X86_64
export COMPILE_SDK_VERSION=$COMPILE_SDK_VERSION_X86_64
else
echo "Unknow COMPILE_ARCH: $COMPILE_ARCH. Possible values are: " \
"armv7, aarch64, x86"
"armv7, aarch64, x86, x86_64"
exit
fi
@@ -97,17 +149,46 @@ if [ -z "$BUILD_TYPE" ]; then
fi
if [ "$BUILD_TYPE" = "debug" ] || [ "$BUILD_TYPE" = "Debug" ]; then
export BUILD_TYPE="debug"
export ANT_BUILD_TYPE="debug"
export GRADLE_BUILD_TYPE="assembleDebug"
export IS_DEBUG_BUILD=1
export APP_NAME="$APP_NAME_DEBUG"
export PACKAGE_NAME="$PACKAGE_NAME_DEBUG"
export APP_DIR_NAME="$APP_DIR_NAME_DEBUG"
export APP_ICON="$APP_ICON_DEBUG"
elif [ "$BUILD_TYPE" = "release" ] || [ "$BUILD_TYPE" = "Release" ]; then
export BUILD_TYPE="release"
export ANT_BUILD_TYPE="release"
export GRADLE_BUILD_TYPE="assembleRelease"
export IS_DEBUG_BUILD=0
export APP_NAME="$APP_NAME_RELEASE"
export PACKAGE_NAME="$PACKAGE_NAME_RELEASE"
export APP_DIR_NAME="$APP_DIR_NAME_RELEASE"
export APP_ICON="$APP_ICON_RELEASE"
elif [ "$BUILD_TYPE" = "beta" ] || [ "$BUILD_TYPE" = "Beta" ]; then
export ANT_BUILD_TYPE="release"
export GRADLE_BUILD_TYPE="assembleRelease"
export IS_DEBUG_BUILD=0
export APP_NAME="$APP_NAME_BETA"
export PACKAGE_NAME="$PACKAGE_NAME_BETA"
export APP_DIR_NAME="$APP_DIR_NAME_BETA"
export APP_ICON="$APP_ICON_BETA"
else
echo "Unsupported BUILD_TYPE: $BUILD_TYPE. Possible values are: " \
"debug, release"
exit
fi
# Check selected build tool
if [ -z "$BUILD_TOOL" ]; then
BUILD_TOOL="gradle"
fi
if [ "$BUILD_TOOL" != "gradle" ] && [ "$BUILD_TOOL" != "ant" ]; then
echo "Unsupported BUILD_TOOL: $BUILD_TOOL. Possible values are: " \
"gradle, ant"
exit
fi
# Check if we have access to the Android NDK and SDK
if [ -z "$NDK_PATH" ]; then
export NDK_PATH="$NDK_PATH_DEFAULT"
@@ -134,6 +215,62 @@ if [ ! -d "$SDK_PATH" ]; then
exit
fi
# Find newest build-tools version
if [ -z "$BUILD_TOOLS_VER" ]; then
BUILD_TOOLS_DIRS=`ls -1 "$SDK_PATH/build-tools" | sort -V -r`
for DIR in $BUILD_TOOLS_DIRS; do
if [ "$DIR" = `echo $DIR | sed 's/[^0-9,.]//g'` ]; then
BUILD_TOOLS_VER="$DIR"
break
fi
done
fi
if [ -z "$BUILD_TOOLS_VER" ] || [ ! -d "$SDK_PATH/build-tools/$BUILD_TOOLS_VER" ]; then
echo "Error: Couldn't detect build-tools version."
exit
fi
# Set project version and code
if [ -f "$DIRNAME/obj/project_version" ]; then
PROJECT_VERSION_PREV=$(cat "$DIRNAME/obj/project_version")
if [ -z "$PROJECT_VERSION" ]; then
export PROJECT_VERSION="$PROJECT_VERSION_PREV"
elif [ "$PROJECT_VERSION" != "$PROJECT_VERSION_PREV" ]; then
echo "Different project version has been set. Forcing recompilation..."
touch -c "$DIRNAME/Android.mk"
fi
fi
if [ -z "$PROJECT_VERSION" ]; then
if [ $IS_DEBUG_BUILD -ne 0 ]; then
export PROJECT_VERSION="git"
else
echo "Error: Variable PROJECT_VERSION is not set. It must have unique" \
"value for release build."
exit
fi
fi
if [ -z "$PROJECT_CODE" ]; then
if [ $IS_DEBUG_BUILD -ne 0 ]; then
PROJECT_CODE="1"
else
echo "Error: Variable PROJECT_CODE is not set."
exit
fi
fi
if [ -d "$DIRNAME/assets/data" ]; then
if [ ! -f "$DIRNAME/assets/data/supertuxkart.$PROJECT_VERSION" ]; then
echo "Error: supertuxkart.$PROJECT_VERSION doesn't exist in" \
"assets/data directory."
exit
fi
fi
# Standalone toolchain
if [ ! -f "$DIRNAME/obj/make_standalone_toolchain.stamp" ]; then
echo "Creating standalone toolchain"
@@ -147,6 +284,8 @@ if [ ! -f "$DIRNAME/obj/make_standalone_toolchain.stamp" ]; then
echo $COMPILE_ARCH > "$DIRNAME/obj/compile_arch"
fi
echo "$PROJECT_VERSION" > "$DIRNAME/obj/project_version"
# Freetype
if [ ! -f "$DIRNAME/obj/freetype.stamp" ]; then
echo "Compiling freetype"
@@ -233,8 +372,8 @@ if [ ! -f "$DIRNAME/obj/curl.stamp" ]; then
cp -a -f "$DIRNAME/../lib/curl/"* "$DIRNAME/obj/curl"
cd "$DIRNAME/obj/curl"
CPPFLAGS="-I$DIRNAME/obj/openssl/include $CPPFLAGS" \
LDFLAGS="-L$DIRNAME/obj/openssl/ $LDFLAGS" \
CPPFLAGS="-I$DIRNAME/obj/openssl/include -I$DIRNAME/obj/zlib $CPPFLAGS" \
LDFLAGS="-L$DIRNAME/obj/openssl/ -L$DIRNAME/obj/zlib $LDFLAGS" \
./configure --host=$HOST \
--with-ssl \
--disable-shared \
@@ -302,5 +441,57 @@ check_error
# Build apk
echo "Building APK"
ant $BUILD_TYPE -Dsdk.dir="$SDK_PATH" -Dtarget=$NDK_PLATFORM
mkdir -p "$DIRNAME/res/drawable/"
mkdir -p "$DIRNAME/res/drawable-hdpi/"
mkdir -p "$DIRNAME/res/drawable-mdpi/"
mkdir -p "$DIRNAME/res/drawable-xhdpi/"
mkdir -p "$DIRNAME/res/drawable-xxhdpi/"
mkdir -p "$DIRNAME/res/values/"
STRINGS_FILE="$DIRNAME/res/values/strings.xml"
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>" > "$STRINGS_FILE"
echo "<resources>" >> "$STRINGS_FILE"
echo " <string name=\"app_name\">$APP_NAME</string>" >> "$STRINGS_FILE"
echo "</resources>" >> "$STRINGS_FILE"
sed -i "s/minSdkVersion=\".*\"/minSdkVersion=\"$MIN_SDK_VERSION\"/g" \
"$DIRNAME/AndroidManifest.xml"
sed -i "s/targetSdkVersion=\".*\"/targetSdkVersion=\"$TARGET_SDK_VERSION\"/g" \
"$DIRNAME/AndroidManifest.xml"
sed -i "s/package=\".*\"/package=\"$PACKAGE_NAME\"/g" \
"$DIRNAME/AndroidManifest.xml"
sed -i "s/versionName=\".*\"/versionName=\"$PROJECT_VERSION\"/g" \
"$DIRNAME/AndroidManifest.xml"
sed -i "s/versionCode=\".*\"/versionCode=\"$PROJECT_CODE\"/g" \
"$DIRNAME/AndroidManifest.xml"
cp "banner.png" "$DIRNAME/res/drawable/banner.png"
cp "$APP_ICON" "$DIRNAME/res/drawable/icon.png"
convert -scale 72x72 "$APP_ICON" "$DIRNAME/res/drawable-hdpi/icon.png"
convert -scale 48x48 "$APP_ICON" "$DIRNAME/res/drawable-mdpi/icon.png"
convert -scale 96x96 "$APP_ICON" "$DIRNAME/res/drawable-xhdpi/icon.png"
convert -scale 144x144 "$APP_ICON" "$DIRNAME/res/drawable-xxhdpi/icon.png"
if [ -f "/usr/lib/jvm/java-8-openjdk-amd64/bin/java" ]; then
export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
export PATH=$JAVA_HOME/bin:$PATH
fi
if [ "$BUILD_TOOL" = "gradle" ]; then
export ANDROID_HOME="$SDK_PATH"
gradle -Pcompile_sdk_version=$COMPILE_SDK_VERSION \
-Pbuild_tools_ver="$BUILD_TOOLS_VER" \
$GRADLE_BUILD_TYPE
elif [ "$BUILD_TOOL" = "ant" ]; then
ant -Dsdk.dir="$SDK_PATH" \
-Dtarget="android-$TARGET_SDK_VERSION" \
$ANT_BUILD_TYPE
fi
check_error

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">SuperTuxKart</string>
</resources>

18
cmake/FindEGL.cmake Normal file
View File

@@ -0,0 +1,18 @@
# - Find EGL
# Find the EGL includes and libraries
#
# Following variables are provided:
# EGL_FOUND
# True if EGL has been found
# EGL_INCLUDE_DIR
# The include directory of EGL
# EGL_LIBRARY
# EGL library list
find_path(EGL_INCLUDE_DIR EGL/egl.h)
find_library(EGL_LIBRARY NAMES EGL)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(EGL DEFAULT_MSG EGL_LIBRARY EGL_INCLUDE_DIR)
mark_as_advanced(EGL_LIBRARY EGL_INCLUDE_DIR)

View File

@@ -10,8 +10,8 @@
# Freetype library list
if(WIN32)
find_path(FREETYPE_INCLUDE_DIRS NAMES freetype/freetype.h PATHS "${PROJECT_SOURCE_DIR}/dependencies/include")
find_library(FREETYPE_LIBRARY NAMES freetype PATHS "${PROJECT_SOURCE_DIR}/dependencies/lib")
find_path(FREETYPE_INCLUDE_DIRS NAMES freetype/freetype.h PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/include")
find_library(FREETYPE_LIBRARY NAMES freetype PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib")
set(FREETYPE_FOUND 1)
set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY})
elseif(APPLE)

View File

@@ -9,14 +9,7 @@
# FRIBIDI_LIBRARIES
# Fribidi library list
if(APPLE)
set(FRIBIDI_INCLUDE_DIR NAMES fribidi/fribidi.h PATHS /Library/Frameworks/fribidi.framework/Headers)
find_library(FRIBIDI_LIBRARY NAMES fribidi PATHS /Library/Frameworks/fribidi.framework)
set(FRIBIDI_LIBRARIES ${FRIBIDI_LIBRARY})
include_directories(/Library/Frameworks/fribidi.framework/Headers)
#add_definitions(-framework fribidi)
set(FRIBIDI_FOUND 1)
elseif(UNIX)
if(UNIX AND NOT APPLE)
include(FindPkgConfig)
pkg_check_modules(FRIBIDI fribidi)
else()
@@ -24,8 +17,8 @@ else()
endif()
if(NOT FRIBIDI_FOUND)
find_path(FRIBIDI_INCLUDE_DIR NAMES fribidi/fribidi.h PATHS /Library/Frameworks/fribidi.framework/Headers "${PROJECT_SOURCE_DIR}/dependencies/include")
find_library(FRIBIDI_LIBRARY NAMES fribidi PATHS /Library/Frameworks/fribidi.framework "${PROJECT_SOURCE_DIR}/dependencies/lib")
find_path(FRIBIDI_INCLUDE_DIR NAMES fribidi/fribidi.h PATHS /Library/Frameworks/fribidi.framework/Headers "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/include")
find_library(FRIBIDI_LIBRARY NAMES fribidi PATHS /Library/Frameworks/fribidi.framework "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib")
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Fribidi DEFAULT_MSG FRIBIDI_INCLUDE_DIR FRIBIDI_LIBRARY)

View File

@@ -10,27 +10,13 @@
# OggVorbis library list
find_path(OGGVORBIS_OGG_INCLUDE_DIR NAMES ogg/ogg.h PATHS "${PROJECT_SOURCE_DIR}/dependencies/include")
find_path(OGGVORBIS_VORBIS_INCLUDE_DIR NAMES vorbis/vorbisfile.h PATHS "${PROJECT_SOURCE_DIR}/dependencies/include")
find_library(OGGVORBIS_OGG_LIBRARY NAMES ogg Ogg libogg PATHS "${PROJECT_SOURCE_DIR}/dependencies/lib")
find_library(OGGVORBIS_VORBIS_LIBRARY NAMES vorbis Vorbis libvorbis PATHS "${PROJECT_SOURCE_DIR}/dependencies/lib")
find_library(OGGVORBIS_VORBISFILE_LIBRARY NAMES vorbisfile libvorbisfile PATHS "${PROJECT_SOURCE_DIR}/dependencies/lib")
find_library(OGGVORBIS_VORBISENC_LIBRARY NAMES vorbisenc libvorbisenc PATHS "${PROJECT_SOURCE_DIR}/dependencies/lib")
find_path(OGGVORBIS_OGG_INCLUDE_DIR NAMES ogg/ogg.h PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/include")
find_path(OGGVORBIS_VORBIS_INCLUDE_DIR NAMES vorbis/vorbisfile.h PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/include")
find_library(OGGVORBIS_OGG_LIBRARY NAMES ogg Ogg libogg PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib")
find_library(OGGVORBIS_VORBIS_LIBRARY NAMES vorbis Vorbis libvorbis PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib")
find_library(OGGVORBIS_VORBISFILE_LIBRARY NAMES vorbisfile libvorbisfile PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib")
find_library(OGGVORBIS_VORBISENC_LIBRARY NAMES vorbisenc libvorbisenc PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib")
if (APPLE)
set(OGGVORBIS_OGG_INCLUDE_DIR "/Library/Frameworks/Ogg.framework/Headers/")
set(OGGVORBIS_VORBIS_INCLUDE_DIR "/Library/Frameworks/Vorbis.framework/Headers/")
endif()
if(APPLE AND NOT OGGVORBIS_VORBISFILE_LIBRARY)
# Seems to be the same on Apple systems
set(OGGVORBIS_VORBISFILE_LIBRARY ${OGGVORBIS_VORBIS_LIBRARY})
endif()
if(APPLE AND NOT OGGVORBIS_VORBISENC_LIBRARY)
# Seems to be the same on Apple systems
set(OGGVORBIS_VORBISENC_LIBRARY ${OGGVORBIS_VORBIS_LIBRARY})
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(OggVorbis DEFAULT_MSG

52
cmake/FindWayland.cmake Normal file
View File

@@ -0,0 +1,52 @@
# - Find Wayland
# Find the Wayland includes and libraries
#
# Following variables are provided:
# WAYLAND_FOUND
# True if Wayland has been found
# WAYLAND_INCLUDE_DIRS
# The include directories of Wayland
# WAYLAND_LIBRARIES
# Wayland library list
find_path(WAYLAND_CLIENT_INCLUDE_DIR wayland-client.h)
find_path(WAYLAND_CURSOR_INCLUDE_DIR wayland-cursor.h)
find_path(WAYLAND_EGL_INCLUDE_DIR wayland-egl.h)
find_path(XKBCOMMON_INCLUDE_DIR xkbcommon/xkbcommon.h)
find_library(WAYLAND_CLIENT_LIBRARY NAMES wayland-client)
find_library(WAYLAND_CURSOR_LIBRARY NAMES wayland-cursor)
find_library(WAYLAND_EGL_LIBRARY NAMES wayland-egl)
find_library(XKBCOMMON_LIBRARY NAMES xkbcommon)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Wayland DEFAULT_MSG WAYLAND_CLIENT_LIBRARY
WAYLAND_CURSOR_LIBRARY
WAYLAND_EGL_LIBRARY
XKBCOMMON_LIBRARY
WAYLAND_CLIENT_INCLUDE_DIR
WAYLAND_CURSOR_INCLUDE_DIR
WAYLAND_EGL_INCLUDE_DIR
XKBCOMMON_INCLUDE_DIR)
set(WAYLAND_INCLUDE_DIRS ${WAYLAND_CLIENT_INCLUDE_DIR}
${WAYLAND_CURSOR_INCLUDE_DIR}
${WAYLAND_EGL_INCLUDE_DIR}
${XKBCOMMON_INCLUDE_DIR})
set(WAYLAND_LIBRARIES ${WAYLAND_CLIENT_LIBRARY}
${WAYLAND_CURSOR_LIBRARY}
${WAYLAND_EGL_LIBRARY}
${XKBCOMMON_LIBRARY})
list(REMOVE_DUPLICATES WAYLAND_INCLUDE_DIRS)
list(REMOVE_DUPLICATES WAYLAND_LIBRARIES)
mark_as_advanced(WAYLAND_CLIENT_LIBRARY
WAYLAND_CURSOR_LIBRARY
WAYLAND_EGL_LIBRARY
XKBCOMMON_LIBRARY
WAYLAND_CLIENT_INCLUDE_DIR
WAYLAND_CURSOR_INCLUDE_DIR
WAYLAND_EGL_INCLUDE_DIR
XKBCOMMON_INCLUDE_DIR)

View File

@@ -1,18 +0,0 @@
find_path(XRANDR_INCLUDE_DIR NAMES X11/extensions/Xrandr.h
PATH_SUFFIXES X11/extensions
DOC "The XRANDR include directory"
)
find_library(XRANDR_LIBRARY NAMES Xrandr
DOC "The XRANDR library"
)
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(XRANDR DEFAULT_MSG XRANDR_LIBRARY XRANDR_INCLUDE_DIR)
if(XRANDR_FOUND)
set( XRANDR_LIBRARIES ${XRANDR_LIBRARY} )
set( XRANDR_INCLUDE_DIRS ${XRANDR_INCLUDE_DIR} )
endif()
mark_as_advanced(XRANDR_INCLUDE_DIR XRANDR_LIBRARY)

View File

@@ -9,8 +9,11 @@ SET(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc-posix)
SET(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++-posix)
SET(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres)
# figure out folder to look in
execute_process(COMMAND sh -c "ls /usr/lib/gcc/x86_64-w64-mingw32/ | grep posix | tr -d '\n'" OUTPUT_VARIABLE MINGW_DEPS_FOLDER)
# here is the target environment located
SET(CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32 /usr/lib/gcc/x86_64-w64-mingw32/4.9-posix ${PROJECT_SOURCE_DIR}/dependencies)
SET(CMAKE_FIND_ROOT_PATH /usr/x86_64-w64-mingw32 /usr/lib/gcc/x86_64-w64-mingw32/${MINGW_DEPS_FOLDER}/ ${PROJECT_SOURCE_DIR}/dependencies-mingw-64bit ${PROJECT_SOURCE_DIR}/dependencies-64bit)
# adjust the default behaviour of the FIND_XXX() commands:
# search headers and libraries in the target environment, search

View File

@@ -9,8 +9,11 @@ SET(CMAKE_C_COMPILER i686-w64-mingw32-gcc-posix)
SET(CMAKE_CXX_COMPILER i686-w64-mingw32-g++-posix)
SET(CMAKE_RC_COMPILER i686-w64-mingw32-windres)
# figure out folder to look in
execute_process(COMMAND sh -c "ls /usr/lib/gcc/i686-w64-mingw32/ | grep posix | tr -d '\n'" OUTPUT_VARIABLE MINGW_DEPS_FOLDER)
# here is the target environment located
SET(CMAKE_FIND_ROOT_PATH /usr/i686-w64-mingw32 /usr/lib/gcc/i686-w64-mingw32/4.9-posix ${PROJECT_SOURCE_DIR}/dependencies)
SET(CMAKE_FIND_ROOT_PATH /usr/i686-w64-mingw32 /usr/lib/gcc/i686-w64-mingw32/${MINGW_DEPS_FOLDER}/ ${PROJECT_SOURCE_DIR}/dependencies-mingw ${PROJECT_SOURCE_DIR}/dependencies)
# adjust the default behaviour of the FIND_XXX() commands:
# search headers and libraries in the target environment, search

View File

@@ -1,6 +1,6 @@
= SuperTuxKart =
A Kart Racing Game Featuring Tux & Friends
- Version git
- Version $STKVERSION$
- Visit us at supertuxkart.net
- SuperTuxKart is released under GPL 3.0
- Assets are released under Creative Commons and other licenses
@@ -11,13 +11,25 @@ Developer and project leader
- Lead programming
- Windows Packaging
= Marianne Gagnon (Auria) =
Developer
- Lead Programming
- Mac OS X Packager
= Benau =
Developer, modeller & animator
- Soccer and battle mode AI, Shader, graphics
- SPM file format definition, importer and exporter
- Kiki
- Other graphical improvements to karts and tracks
= Dawid Gan (deveee) =
Developer
- Android port
- General improvements and many many bugfixes
= Jean-Manuel Clémençon (Samuncle) =
@@ -29,7 +41,11 @@ Lead graphical artist
- Thanks to my family and especially my father
- Jean Claude Clemençon
= Alayan =
Developer
- Improved item distribution
- AI improvements
= Magne Djupvik (Arthur) =
@@ -48,8 +64,6 @@ Add-ons website
= Additional Programming =
Main Contributors
- Benau : font rendering, battle AI, ghost replay
- Dawid Gan (deveee) : general improvements and many many bugfixes
- Marc Coll : Grand Prix editor
- Flakebi
- Konstin
@@ -76,7 +90,8 @@ Bug fixes & misc contributions
- Stephen Dunn (Work on audio)
- Patrick Ammann
- Ward Muylaert
- Fantasmos
- QwertyChouskie
= Visual art =
@@ -237,6 +252,54 @@ Software used
= Donations =
Donations
- Georgi Stoychev, Nuno Ferreira, Steven Anderson, Charalabos Frouzakis
- Richard Qian, William Nakamura, Maree Glynn, David Carlier
- Alistair Findlay, James Tobin, Ursula Belting, Stephan van den Akker
- Ken McCall, Arnaud Maurin, James Tobin, Stefan Kiehne, David Efflandt
- Gary Shearer, Stuart Gibb, Fran Casal, Piotr Karczemski, Florian Lehébel
- Dominik Müller, Saverio Brancaccio, Florian Lehébel
Donations
- Alvaro Castañeda Mendoza, Simón Llinares Riestra, Radu Sofian
- Yevgeny Slusorenko, Joshua Dye, Chris Lukas, Gary Shearer, Gary Shearer
- Martin Lankes, Muchlis Polin, Peter Estes, Nuno Ferreira, Duncan Steele
- Michael Kleinhans, Atomic Monks, Aleksandar Sokolovski, Brandon Hoeksema
- Victor Gabillon, Tristan Reitter, Lupe Aguilar, Florian Pelz
- Tanja Wiege, Gabriele Casetti, Andrea De Angelis, Saul Gutierrez
- Csongor Ballay, Csongor Ballay, William Youstra, Peter Estes
- Régis Hamann, Régis Hamann, Yuri Sucupira, Lucien Greefkes, Frank Sapone
Donations
- Peter Cundall, Michael Richards, Franz Ernst, Florian Lehébel
- Jörg Orlowski, Lukasz Szczekocki, Bjarni Kristinsson, David Carlier
- Kamensky Mikhail, Roland Schoof, Trevor Robertson, Patrik Pomichal
- Guillaume Pointet, Dennis Holierhoek, Daniel Nelson, David Hibshman
- Thomas Belvin, Erik Jahn, Susen Skotnik, Dennis McLaughlin, Bert De Mets
- Jean-Gabriel Kammerer, Stefan Lukits, Martin Steigerwald
- Adam Williamson, A Anton, Ville Kauppila, Gary Shearer
- Peter Hausleitner, Philip Pfeifer, Christoph Baldauf, Jane Middlebrooke
Donations
- roundof.org, Roman Marschall, Gary Shearer, Jonathan Banks
- Nicolas Affolter, Mahendra Tallur, David Behnke, Mark Supper
- Eric Cheminot, Jason Speechley, Michael Martin, Andrew Gilbert
- Fabian Schach, michael orosov, Wendell Glick, Eugene Lemaitre
- Gerald Angus, Andrea De Angelis, Antonio Sala, Joshua Dye, roundof.org
- Andreas Müller, Jose Miguel Bolorino Manzano, Troy Smith, Bernhard Motel
- Bernhard Motel, Alexandre Bouhier, Thomas Preissler, Lubomír Saji
- Eric Pedersen, Fabrice SAILLY-SIRGUE, Simon Dalsgaard, Joshua Dye
Donations
- Detlef Olp, João Pedro de Lima, Christopher Sweeney, Ryan Gervais
- Laszlo Ast, Robert Yerke, Nuno Ferreira, Lachand Valentin, Arne Bernin
- Carsten Carulli, Jeremy Kenny, Francisco Monteagudo, Marlow Marlow
- Kong Chun Ho, Jonathan Lee, Dominik Rösner, Andreas Frankl
- Didier Delhaye, Gianluca Bonato, Ferdinand Ihringer, Mark Dougherty
- Топоров Константин, Georges-Mickael Seguin, Jason Grindlay
- Gordon Macleod, Anders Jonsson, Peter Estes, Marius Gripsgård,
- FoosterNET, Daniel Sandman, David Ault, Matt DeVillier, Chris Leutwyler
Donations
- Anthony Waxman, Rémi Verschelde, Alessandro Vitali, Katherine Freeman
- Roy Akselsen, Ingrid Becke, Jonathan Lee, Christoph Baldauf

View File

@@ -2,7 +2,7 @@
<achievements>
<achievement id="1" check-type="all-at-least" reset-type="never"
name="Christoffel Columbus" description="Play every official track at least once." >
<city goal="1"/>
<candela_city goal="1"/>
<cocoa_temple goal="1"/>
<cornfield_crossing goal="1"/>
<fortmagma goal="1"/>
@@ -22,6 +22,7 @@
<abyss goal="1"/>
<xr591 goal="1"/>
<zengarden goal="1"/>
<volcano_island goal="1"/>
</achievement>
<achievement id="2" check-type="all-at-least" reset-type="never"
name="Strike!" description="Hit 10 karts with a bowling-ball.">

View File

@@ -1,19 +1,24 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="abyss" laps="3"/>
<challenge version="3">
<unlock_list list="false"/>
<track id="abyss" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="0"/>
<best>
<karts number="7"/>
<requirements position="1" time="140"/>
</best>
<hard>
<karts number="5"/>
<requirements position="1" time="160"/>
<karts number="6"/>
<requirements position="1" time="165"/>
</hard>
<medium>
<karts number="4"/>
<requirements time="185"/>
<karts number="5"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="4"/>
<requirements time="270"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="candela_city" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="75"/>
<best>
<karts number="9"/>
<requirements position="1" time="120"/>
</best>
<hard>
<karts number="8"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="7"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="6"/>
<requirements position="1"/>
</easy>
<unlock kart="sara_the_racer"/>
</challenge>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="city" laps="3"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="70"/>
<hard>
<karts number="5"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="4"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="3"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="cocoa_temple" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="5"/>
<best>
<karts number="8"/>
<requirements position="1" time="125"/>
</best>
<hard>
<karts number="7"/>
<requirements position="1" time="160"/>
</hard>
<medium>
<karts number="6"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="5"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -1,19 +1,24 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="cornfield_crossing" laps="3"/>
<challenge version="3">
<unlock_list list="false"/>
<track id="cornfield_crossing" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="0"/>
<best>
<karts number="7"/>
<requirements position="1" time="140"/>
</best>
<hard>
<karts number="5"/>
<karts number="6"/>
<requirements position="1" time="165"/>
</hard>
<medium>
<karts number="4"/>
<requirements time="195"/>
<karts number="5"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="4"/>
<requirements time="290"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -1,9 +1,14 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="fortmagma" laps="3"/>
<challenge version="3">
<unlock_list list="false"/>
<track id="fortmagma" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="180"/>
<requirements trophies="190"/>
<best>
<karts number="2" aiIdent="nolok" superPower="nolokBoss"/>
<requirements position="1"/>
</best>
<hard>
<karts number="2" aiIdent="nolok" superPower="nolokBoss"/>
<requirements position="1"/>
@@ -19,6 +24,5 @@
<unlock kart="gnu"/>
<unlock kart="nolok"/>
<unlock difficulty="difficulty_best"/>
<unlock track="fortmagma"/>
</challenge>

View File

@@ -1,19 +1,24 @@
<?xml version="1.0"?>
<challenge version="2">
<challenge version="3">
<unlock_list list="false"/>
<grandprix id="1_penguinplayground"/>
<mode major="grandprix" minor="quickrace"/>
<requirements trophies="40"/>
<requirements trophies="30"/>
<best>
<karts number="7"/>
<requirements position="1"/>
</best>
<hard>
<karts number="5"/>
<karts number="6"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="4"/>
<karts number="5"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="3"/>
<karts number="4"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -1,19 +1,24 @@
<?xml version="1.0"?>
<challenge version="2">
<challenge version="3">
<unlock_list list="false"/>
<grandprix id="2_offthebeatentrack"/>
<mode major="grandprix" minor="quickrace"/>
<requirements trophies="85"/>
<requirements trophies="70"/>
<best>
<karts number="8"/>
<requirements position="1"/>
</best>
<hard>
<karts number="5"/>
<karts number="7"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="4"/>
<karts number="6"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="3"/>
<karts number="5"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -1,19 +1,24 @@
<?xml version="1.0"?>
<challenge version="2">
<challenge version="3">
<unlock_list list="false"/>
<grandprix id="3_tothemoonandback"/>
<mode major="grandprix" minor="quickrace"/>
<requirements trophies="125"/>
<requirements trophies="120"/>
<best>
<karts number="9"/>
<requirements position="1"/>
</best>
<hard>
<karts number="5"/>
<karts number="8"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="4"/>
<karts number="7"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="3"/>
<karts number="6"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -1,19 +1,24 @@
<?xml version="1.0"?>
<challenge version="2">
<challenge version="3">
<unlock_list list="false"/>
<grandprix id="4_atworldsend"/>
<mode major="grandprix" minor="quickrace"/>
<requirements trophies="165"/>
<best>
<karts number="10"/>
<requirements position="1"/>
</best>
<hard>
<karts number="5"/>
<karts number="9"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="4"/>
<karts number="8"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="3"/>
<karts number="7"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="gran_paradiso_island" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="80"/>
<best>
<karts number="9"/>
<requirements position="1" time="145"/>
</best>
<hard>
<karts number="8"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="7"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="6"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="greenvalley" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="90"/>
<best>
<karts number="9"/>
<requirements position="1"/>
</best>
<hard>
<karts number="8"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="7"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="6"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -1,19 +1,24 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="hacienda" laps="3"/>
<challenge version="3">
<unlock_list list="false"/>
<track id="hacienda" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="45"/>
<requirements trophies="25"/>
<best>
<karts number="8"/>
<requirements position="1" time="130"/>
</best>
<hard>
<karts number="5"/>
<requirements position="2" time="170"/>
<karts number="7"/>
<requirements position="1" time="160"/>
</hard>
<medium>
<karts number="4"/>
<requirements time="185"/>
<karts number="6"/>
<requirements position="2" time="187"/>
</medium>
<easy>
<karts number="4"/>
<requirements time="220"/>
<karts number="5"/>
<requirements position="2"/>
</easy>
</challenge>

View File

@@ -1,20 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="gran_paradiso_island" laps="3"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="95"/>
<hard>
<karts number="5"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="4"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="3"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="cocoa_temple" laps="3"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="5"/>
<hard>
<karts number="5"/>
<requirements position="1" time="170"/>
</hard>
<medium>
<karts number="4"/>
<requirements time="210"/>
</medium>
<easy>
<karts number="4"/>
<requirements time="300"/>
</easy>
</challenge>

View File

@@ -1,20 +1,24 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="lighthouse" laps="3"/>
<challenge version="3">
<unlock_list list="false"/>
<track id="lighthouse" laps="4" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="135"/>
<requirements trophies="125"/>
<best>
<karts number="10"/>
<requirements position="1" time="120"/>
</best>
<hard>
<karts number="5"/>
<requirements time="110" position="1"/>
<karts number="9"/>
<requirements position="1" time="145"/>
</hard>
<medium>
<karts number="4"/>
<requirements time="145" position="1"/>
<karts number="8"/>
<requirements position="1" time="190"/>
</medium>
<easy>
<karts number="3"/>
<requirements time="185"/>
<karts number="7"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -1,19 +1,24 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="mansion" laps="3"/>
<challenge version="3">
<unlock_list list="false"/>
<track id="mansion" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="110"/>
<requirements trophies="100"/>
<best>
<karts number="9"/>
<requirements position="1" time="100"/>
</best>
<hard>
<karts number="5"/>
<requirements time="130"/>
<karts number="8"/>
<requirements position="1" time="115"/>
</hard>
<medium>
<karts number="4"/>
<requirements time="130"/>
<karts number="7"/>
<requirements time="140"/>
</medium>
<easy>
<karts number="4"/>
<requirements time="160"/>
<karts number="6"/>
<requirements time="180"/>
</easy>
</challenge>

View File

@@ -1,19 +1,24 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="mines" laps="3"/>
<challenge version="3">
<unlock_list list="false"/>
<track id="mines" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="150"/>
<requirements trophies="140"/>
<best>
<karts number="10"/>
<requirements position="1" time="135"/>
</best>
<hard>
<karts number="4"/>
<requirements time="170"/>
<karts number="9"/>
<requirements position="1" time="160"/>
</hard>
<medium>
<karts number="4"/>
<requirements time="190"/>
<karts number="8"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="4"/>
<requirements time="255"/>
<karts number="7"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -1,19 +1,24 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="minigolf" laps="3"/>
<challenge version="3">
<unlock_list list="false"/>
<track id="minigolf" laps="4" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="150"/>
<requirements trophies="130"/>
<best>
<karts number="10"/>
<requirements position="1" time="135"/>
</best>
<hard>
<karts number="5"/>
<karts number="9"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="4"/>
<karts number="8"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="3"/>
<karts number="7"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -1,20 +1,24 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="olivermath" laps="3"/>
<challenge version="3">
<unlock_list list="false"/>
<track id="olivermath" laps="5" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="0"/>
<best>
<karts number="7"/>
<requirements position="1" time="95"/>
</best>
<hard>
<karts number="5"/>
<requirements position="1" time="65"/>
<karts number="6"/>
<requirements position="1" time="110"/>
</hard>
<medium>
<karts number="5"/>
<requirements position="1" time="85"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="5"/>
<requirements position="1" time="130"/>
<karts number="4"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -1,12 +1,17 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="sandtrack" laps="3"/>
<challenge version="3">
<unlock_list list="false"/>
<track id="sandtrack" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="0"/>
<best>
<karts number="1"/>
<requirements energy="20" time="135"/>
</best>
<hard>
<karts number="1"/>
<requirements energy="18" time="167"/>
<requirements energy="18" time="165"/>
</hard>
<medium>
<karts number="1"/>

View File

@@ -1,19 +1,24 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="scotland" laps="3"/>
<challenge version="3">
<unlock_list list="false"/>
<track id="scotland" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="0"/>
<best>
<karts number="7"/>
<requirements position="1" time="125"/>
</best>
<hard>
<karts number="5"/>
<requirements position="1" time="165"/>
<karts number="6"/>
<requirements position="1" time="150"/>
</hard>
<medium>
<karts number="4"/>
<requirements time="185"/>
<karts number="5"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="4"/>
<requirements time="270"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -1,19 +1,24 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="snowmountain" laps="3"/>
<challenge version="3">
<unlock_list list="false"/>
<track id="snowmountain" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="60"/>
<requirements trophies="115"/>
<best>
<karts number="10"/>
<requirements position="1" time="120"/>
</best>
<hard>
<karts number="5"/>
<requirements time="160"/>
<karts number="9"/>
<requirements position="2" time="145"/>
</hard>
<medium>
<karts number="4"/>
<requirements time="187"/>
<karts number="8"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="4"/>
<requirements time="250"/>
<karts number="7"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -1,19 +1,24 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="snowtuxpeak" laps="3"/>
<challenge version="3">
<unlock_list list="false"/>
<track id="snowtuxpeak" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="60"/>
<requirements trophies="45"/>
<best>
<karts number="8"/>
<requirements position="1" time="115"/>
</best>
<hard>
<karts number="5"/>
<requirements position="1" time="145"/>
<karts number="7"/>
<requirements position="1" time="140"/>
</hard>
<medium>
<karts number="4"/>
<requirements time="170"/>
<karts number="6"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="4"/>
<requirements time="195"/>
<karts number="5"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="stk_enterprise" laps="3"/>
<mode major="single" minor="followtheleader"/>
<requirements trophies="110"/>
<hard>
<karts number="6"/>
<requirements position="2"/>
</hard>
<medium>
<karts number="6"/>
<requirements position="2"/>
</medium>
<easy>
<karts number="5"/>
<requirements position="2"/>
</easy>
</challenge>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="false"/>
<track id="stk_enterprise" laps="3" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="105"/>
<best>
<karts number="9"/>
<requirements position="1" time="155"/>
</best>
<hard>
<karts number="8"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="7"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="6"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -1,19 +0,0 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="greenvalley" laps="3"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="95"/>
<hard>
<karts number="5"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="4"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="4"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="true"/>
<!-- This is the (rounded) point equivalent of finishing all challenges
in easy, except the final challenge -->
<requirements trophies="190"/>
<unlock kart="amanda"/>
</challenge>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="true"/>
<!-- This is the point equivalent of finishing the
story mode with 8 supertux challenges and the rest in gold -->
<requirements trophies="280"/>
<unlock kart="sara_the_wizard"/>
</challenge>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<challenge version="3">
<unlock_list list="true"/>
<!-- This is the point equivalent of finishing the
story mode with all gold except 14 silver challenges -->
<requirements trophies="250"/>
<unlock difficulty="difficulty_best"/>
</challenge>

View File

@@ -1,19 +1,24 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="volcano_island" laps="2"/>
<challenge version="3">
<unlock_list list="false"/>
<track id="volcano_island" laps="2" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="15"/>
<best>
<karts number="8"/>
<requirements position="1" time="165"/>
</best>
<hard>
<karts number="5"/>
<karts number="7"/>
<requirements position="1"/>
</hard>
<medium>
<karts number="4"/>
<karts number="6"/>
<requirements position="1"/>
</medium>
<easy>
<karts number="4"/>
<karts number="5"/>
<requirements position="1"/>
</easy>
</challenge>

View File

@@ -1,12 +1,17 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="xr591" laps="2"/>
<challenge version="3">
<unlock_list list="false"/>
<track id="xr591" laps="2" reverse="false"/>
<mode major="single" minor="quickrace"/>
<requirements trophies="135"/>
<best>
<karts number="1"/>
<requirements energy="20" time="95"/>
</best>
<hard>
<karts number="1"/>
<requirements energy="18" time="120"/>
<requirements energy="18" time="115"/>
</hard>
<medium>
<karts number="1"/>
@@ -17,5 +22,3 @@
<requirements energy="12" time="180"/>
</easy>
</challenge>

View File

@@ -1,9 +1,14 @@
<?xml version="1.0"?>
<challenge version="2">
<track id="zengarden" laps="3"/>
<challenge version="3">
<unlock_list list="false"/>
<track id="zengarden" laps="4" reverse="false"/>
<mode major="single" minor="timetrial"/>
<requirements trophies="45"/>
<requirements trophies="35"/>
<best>
<karts number="3"/>
<requirements position="1"/>
</best>
<hard>
<karts number="2"/>
<requirements position="1"/>

View File

@@ -26,7 +26,4 @@
<color min="50 50 50"
max="100 100 100" />
<!-- How much time in milliseconds before the particle is fully faded out -->
<fadeout time="1000" />
</particles>

View File

@@ -25,11 +25,7 @@
<color min="40 40 255"
max="255 255 255" />
<!-- How much time in milliseconds before the particle is fully faded out -->
<fadeout time="100" />
<wind speed="0.16"
flips="Y" />
<wind flips="Y" />
</particles>

View File

@@ -25,11 +25,7 @@
<color min="40 40 255"
max="255 255 255" />
<!-- How much time in milliseconds before the particle is fully faded out -->
<fadeout time="100" />
<wind speed="0.16"
flips="Y" />
<wind flips="Y" />
</particles>

View File

@@ -26,7 +26,4 @@
<color min="255 255 255"
max="255 255 255" />
<fadeout time="3000" />
</particles>

View File

@@ -18,16 +18,13 @@
max="1200" />
<!-- Size of the particles -->
<size min="0.65"
max="0.95"
<size min="0.60"
max="0.85"
x-increase-factor="0.6"
y-increase-factor="0.6"
/>
<color min="255 255 255"
max="255 255 255" />
<!-- How much time in milliseconds before the particle is fully faded out -->
<fadeout time="800" />
</particles>

View File

@@ -18,16 +18,13 @@
max="1200" />
<!-- Size of the particles -->
<size min="0.65"
max="0.95"
<size min="0.60"
max="0.85"
x-increase-factor="0.6"
y-increase-factor="0.6"
/>
<color min="255 255 255"
max="255 255 255" />
<!-- How much time in milliseconds before the particle is fully faded out -->
<fadeout time="800" />
</particles>

View File

@@ -18,16 +18,13 @@
max="1200" />
<!-- Size of the particles -->
<size min="0.65"
max="0.95"
<size min="0.60"
max="0.85"
x-increase-factor="0.6"
y-increase-factor="0.6"
/>
<color min="255 255 255"
max="255 255 255" />
<!-- How much time in milliseconds before the particle is fully faded out -->
<fadeout time="800" />
</particles>

View File

@@ -0,0 +1,30 @@
<?xml version="1.0"?>
<particles emitter="sphere" radius="0.1">
<spreading angle="180" />
<velocity x="0.000"
y="0.0035"
z="0.000" />
<material file="explode.png" />
<!-- Amount of particles emitted per second -->
<rate min="100"
max="150" />
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
<lifetime min="700"
max="900" />
<!-- Size of the particles -->
<size min="0.8"
max="1.0"
x-increase-factor="0.6"
y-increase-factor="0.6"
/>
<color min="255 255 255"
max="255 255 255" />
</particles>

View File

@@ -18,12 +18,10 @@
max="500" />
<!-- Size of the particles -->
<size min="0.6"
max="0.8" />
<size min="0.55"
max="0.75" />
<color min="255 255 255"
max="255 255 255" />
<fadeout time="300" />
</particles>

View File

@@ -26,7 +26,4 @@
<color min="0 0 0"
max="255 255 255" />
<fadeout time="5000" />
</particles>

View File

@@ -26,7 +26,4 @@
<color min="0 0 0"
max="255 255 255" />
<fadeout time="2000" />
</particles>

View File

@@ -26,7 +26,4 @@
<color min="0 0 0"
max="255 255 255" />
<fadeout time="5000" />
</particles>

View File

@@ -25,11 +25,7 @@
<color min="40 40 255"
max="255 255 255" />
<!-- How much time in milliseconds before the particle is fully faded out -->
<fadeout time="100" />
<wind speed="0.16"
flips="Y" />
<wind flips="Y" />
</particles>

View File

@@ -26,8 +26,5 @@
<color min="255 255 255"
max="255 0 0" />
<!-- How much time in milliseconds before the particle is fully faded out -->
<fadeout time="50" />
</particles>

View File

@@ -26,8 +26,5 @@
<color min="255 255 255"
max="255 0 0" />
<!-- How much time in milliseconds before the particle is fully faded out -->
<fadeout time="50" />
</particles>

View File

@@ -27,9 +27,5 @@
<color min="40 40 255"
max="255 255 255" />
<!-- How much time in milliseconds before the particle is fully faded out -->
<fadeout time="100" />
</particles>

View File

@@ -25,11 +25,5 @@
<color min="40 40 255"
max="255 255 255" />
<!-- How much time in milliseconds before the particle is fully faded out -->
<fadeout time="100" />
<wind speed="0.16"
flips="Y" />
</particles>

View File

@@ -26,7 +26,4 @@
<color min="0 0 0"
max="255 255 255" />
<fadeout time="5000" />
</particles>

View File

@@ -26,7 +26,4 @@
<color min="0 0 0"
max="255 255 255" />
<fadeout time="5000" />
</particles>

View File

@@ -27,9 +27,5 @@
<color min="40 40 255"
max="255 255 255" />
<!-- How much time in milliseconds before the particle is fully faded out -->
<fadeout time="1000" />
</particles>

View File

@@ -26,7 +26,4 @@
<color min="0 0 0"
max="255 255 255" />
<fadeout time="500" />
</particles>

View File

@@ -26,7 +26,4 @@
<color min="255 255 255"
max="255 255 255" />
<fadeout time="3000" />
</particles>

View File

@@ -18,7 +18,7 @@
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
<lifetime min="1000"
max="1500" />
<!-- Size of the particles -->
<size min="0.08"
max="0.15"
@@ -27,11 +27,5 @@
<color min="40 40 255"
max="255 255 255" />
<!-- How much time in milliseconds before the particle is fully faded out -->
<fadeout time="100" />
<wind speed="0.16"
flips="Y" />
</particles>

View File

@@ -25,11 +25,5 @@
<color min="40 40 255"
max="255 255 255" />
<!-- How much time in milliseconds before the particle is fully faded out -->
<fadeout time="100" />
<wind speed="0.16"
flips="Y" />
</particles>

View File

@@ -26,8 +26,5 @@
<color min="255 255 255"
max="255 255 255" />
<!-- How much time in milliseconds before the particle is fully faded out -->
<fadeout time="1000" />
</particles>

View File

@@ -26,8 +26,5 @@
<color min="255 255 255"
max="0 0 0" />
<!-- How much time in milliseconds before the particle is fully faded out -->
<fadeout time="500" />
</particles>

View File

@@ -23,8 +23,5 @@
<color min="255 255 255"
max="255 255 255" />
<!-- How much time in milliseconds before the particle is fully faded out -->
<fadeout time="75" />
</particles>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0"?>
<particles emitter="box" box_x="0.05" box_y="0.05" box_z="0.60">
<particles emitter="box" box_x="0.05" box_y="0.05" box_z="0.05">
<spreading angle="2" />
@@ -26,8 +26,5 @@
<color min="255 255 255"
max="255 255 255" />
<!-- How much time in milliseconds before the particle is fully faded out -->
<fadeout time="50" />
</particles>

View File

@@ -32,9 +32,4 @@
<color min="255 255 255"
max="255 255 255" />
<!-- How much time in milliseconds before the particle is fully faded out -->
<fadeout time="750" />
<gravity strength="-0.01"
only-force-time="500" />
</particles>

View File

@@ -25,9 +25,5 @@
<color min="255 255 255"
max="255 255 255" />
<!-- How much time in milliseconds before the particle is fully faded out -->
<fadeout time="100" />
</particles>

29
data/gfx/skid0.xml Normal file
View File

@@ -0,0 +1,29 @@
<?xml version="1.0"?>
<particles emitter="sphere" radius="0.03">
<spreading angle="25" />
<velocity x="0.0"
y="0.008"
z="-0.015" />
<material file="skid-particle1.png" />
<!-- Amount of particles emitted per second. The minimum rate
is used to show that the skidding bonus is now available,
the maximum is used when the skid bonus is applied to the kart -->
<rate min="200"
max="200" />
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
<lifetime min="60"
max="70" />
<!-- Size of the particles -->
<size min="0.20"
max="0.20" />
<color min="253 253 253"
max="254 254 254" />
</particles>

View File

@@ -1,32 +1,29 @@
<?xml version="1.0"?>
<particles emitter="box" box_x="0.023" box_y="0.023" box_z="-0.5">
<particles emitter="sphere" radius="0.03">
<spreading angle="5" />
<spreading angle="15" />
<velocity x="0.0"
y="0.0"
z="-0.003" />
y="0.008"
z="-0.015" />
<material file="skid-particle1.png" />
<!-- Amount of particles emitted per second. The minimum rate
is used to show that the skidding bonus is now available,
the maximum is used when the skid bonus is applied to the kart -->
<rate min="1400"
max="1500" />
<rate min="2000"
max="2000" />
<!-- Minimal and maximal lifetime of a particle, in milliseconds. -->
<lifetime min="15"
max="25" />
<lifetime min="60"
max="70" />
<!-- Size of the particles -->
<size min="0.35"
max="0.45" />
<size min="0.18"
max="0.18" />
<color min="255 255 255"
<color min="254 254 254"
max="255 255 255" />
<!-- How much time in milliseconds before the particle is fully faded out -->
<fadeout time="5" />
</particles>

Some files were not shown because too many files have changed in this diff Show More