Compare commits
442 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bea5b530a5 | ||
|
|
9b866b901c | ||
|
|
1d5613072c | ||
|
|
5e841110f3 | ||
|
|
5e86dafe73 | ||
|
|
412f30d2c1 | ||
|
|
4ad30fa2bf | ||
|
|
b69fd92524 | ||
|
|
0546c1c91a | ||
|
|
538e03c514 | ||
|
|
54973d0174 | ||
|
|
61bd2a6e70 | ||
|
|
cab25432c2 | ||
|
|
440def908b | ||
|
|
3f08e4cbf4 | ||
|
|
2707234ada | ||
|
|
d2a1144cf4 | ||
|
|
b2d1f94adc | ||
|
|
5beafdce8e | ||
|
|
683f5ece7f | ||
|
|
7109729010 | ||
|
|
8358b7be0a | ||
|
|
9cd217acfe | ||
|
|
243f7f7008 | ||
|
|
0e142e645c | ||
|
|
58a00f7627 | ||
|
|
1b604666c3 | ||
|
|
5ecdc11ffd | ||
|
|
cfb10dbb1f | ||
|
|
1fc460ff4e | ||
|
|
46f44b5d59 | ||
|
|
6cdc554d21 | ||
|
|
26f96b0986 | ||
|
|
f85f631c4b | ||
|
|
e9be8d91ef | ||
|
|
542ece64f9 | ||
|
|
982a5b2be8 | ||
|
|
91dea5f50d | ||
|
|
51a1396313 | ||
|
|
e5318d8ea9 | ||
|
|
d69f83c7cc | ||
|
|
b2404aadd2 | ||
|
|
e1f8294008 | ||
|
|
421293b8e9 | ||
|
|
86c349e5f2 | ||
|
|
51496cf5ef | ||
|
|
5424d4fe77 | ||
|
|
11a168b4bf | ||
|
|
82218afc40 | ||
|
|
3b5a1d6c74 | ||
|
|
dd9808fd05 | ||
|
|
e4515e7454 | ||
|
|
cfd7fa662b | ||
|
|
dd511638db | ||
|
|
40f218e6c8 | ||
|
|
fdc4a19e1a | ||
|
|
4f0b9644a8 | ||
|
|
0b405a8642 | ||
|
|
bf0db0497b | ||
|
|
25540fc6a7 | ||
|
|
7a1706834f | ||
|
|
dd6768911d | ||
|
|
f270b4acf8 | ||
|
|
4d79ccdea5 | ||
|
|
50c22a5837 | ||
|
|
7199409de4 | ||
|
|
53351257fc | ||
|
|
a36276811e | ||
|
|
b77160527c | ||
|
|
16173207ee | ||
|
|
9947c87fe1 | ||
|
|
787d157933 | ||
|
|
b1fa45437f | ||
|
|
9804416a82 | ||
|
|
bf8a411f01 | ||
|
|
23470bbde2 | ||
|
|
48730d1db4 | ||
|
|
7cc238e101 | ||
|
|
76c39afd8b | ||
|
|
d3ddcd884d | ||
|
|
8eb8c6392e | ||
|
|
f1fdc98779 | ||
|
|
ebd380c0bc | ||
|
|
39e3c189da | ||
|
|
e52a9dce59 | ||
|
|
dcad21b830 | ||
|
|
155b73d452 | ||
|
|
efcdd79d42 | ||
|
|
4207714352 | ||
|
|
885e08c559 | ||
|
|
2d0c945dd8 | ||
|
|
647988ad30 | ||
|
|
5252c78a05 | ||
|
|
4335d95215 | ||
|
|
9a7e2f6c39 | ||
|
|
79bf026c74 | ||
|
|
90453e6128 | ||
|
|
d93b5d3b8d | ||
|
|
784b77723c | ||
|
|
b0b9f44aeb | ||
|
|
d55eb56d78 | ||
|
|
1eb19e5e13 | ||
|
|
caf9fb448b | ||
|
|
0b4bf178d7 | ||
|
|
7a5f14cb37 | ||
|
|
ad8ba4d417 | ||
|
|
089dd025f1 | ||
|
|
3db036d67f | ||
|
|
4ceec85edc | ||
|
|
38b995bf61 | ||
|
|
c929002eba | ||
|
|
1703e829eb | ||
|
|
7a9300b56a | ||
|
|
4f3dbb43a2 | ||
|
|
1f53895a25 | ||
|
|
97bc2696db | ||
|
|
3d9828b6e3 | ||
|
|
d322720147 | ||
|
|
bba636263e | ||
|
|
e6f8dcfdb0 | ||
|
|
8f061c6367 | ||
|
|
d31281cb6f | ||
|
|
97e5064535 | ||
|
|
514e3a50ad | ||
|
|
57c5446e55 | ||
|
|
3e2de9419e | ||
|
|
adedc7e80f | ||
|
|
fefb3c1949 | ||
|
|
5699ede148 | ||
|
|
4f9d40f3b2 | ||
|
|
5aa70333ce | ||
|
|
694c1b6c29 | ||
|
|
5c26ac73df | ||
|
|
058aa45894 | ||
|
|
2d1c7385c6 | ||
|
|
c2ab58148f | ||
|
|
7aff7f9ba9 | ||
|
|
8fead715da | ||
|
|
f777e01a21 | ||
|
|
e0636495f0 | ||
|
|
eace871c66 | ||
|
|
c698d4a601 | ||
|
|
ed4dcc24c6 | ||
|
|
1b42688cbf | ||
|
|
bed0acda7a | ||
|
|
c6dafd4b80 | ||
|
|
1b671c932a | ||
|
|
d7390a1824 | ||
|
|
93dc6ed770 | ||
|
|
b4b0ddc620 | ||
|
|
4f32435ef2 | ||
|
|
118fc7fa96 | ||
|
|
211c901335 | ||
|
|
c96881208a | ||
|
|
00e7b04f13 | ||
|
|
0ad22efcf7 | ||
|
|
403f748b4a | ||
|
|
72b177c354 | ||
|
|
331ae9a30f | ||
|
|
83595d55a7 | ||
|
|
2696ef2567 | ||
|
|
1a953b8a6c | ||
|
|
c2c8468fa8 | ||
|
|
e9d3152c1a | ||
|
|
3f99e63a3c | ||
|
|
6d74e84609 | ||
|
|
d37a3b8c7e | ||
|
|
d4b2b03174 | ||
|
|
8e1de345fb | ||
|
|
b75dec1fbc | ||
|
|
61b87d3b31 | ||
|
|
819b3ad27f | ||
|
|
a2228adef1 | ||
|
|
593f78a230 | ||
|
|
da0cce6cd6 | ||
|
|
99d565f961 | ||
|
|
9f25652455 | ||
|
|
d325e33fc0 | ||
|
|
7f31ffa552 | ||
|
|
e991e06640 | ||
|
|
ea69c36cb3 | ||
|
|
bf77863c53 | ||
|
|
3d0d666e09 | ||
|
|
fec21afc8e | ||
|
|
e9924357cd | ||
|
|
f768badee0 | ||
|
|
44b2468003 | ||
|
|
5853d618a6 | ||
|
|
fc7413800c | ||
|
|
713ab53272 | ||
|
|
3769c18288 | ||
|
|
15eec8a8d2 | ||
|
|
c864b9bd60 | ||
|
|
cf8bafaab3 | ||
|
|
b0f91ff33d | ||
|
|
0f4a21ab6e | ||
|
|
0b4ebc35b9 | ||
|
|
27b5770ea9 | ||
|
|
7d94bf1f6f | ||
|
|
90794c2c8f | ||
|
|
d0a177c3cc | ||
|
|
fa72ef7246 | ||
|
|
8ab63edd30 | ||
|
|
4351926137 | ||
|
|
cc6914631a | ||
|
|
defd58a465 | ||
|
|
0875db0db6 | ||
|
|
dfd6a1820d | ||
|
|
dc168e1b13 | ||
|
|
34ae56d33a | ||
|
|
8fb0005020 | ||
|
|
3a64cc9f6a | ||
|
|
21d9b4bc70 | ||
|
|
11fb04bd95 | ||
|
|
f63ce6917b | ||
|
|
e599a7fff8 | ||
|
|
648c7c84d4 | ||
|
|
b8cb96b81f | ||
|
|
4b17d2133a | ||
|
|
8ea38a6103 | ||
|
|
d85c1e3ee7 | ||
|
|
b0cddc462a | ||
|
|
ca1f61b898 | ||
|
|
95d9277046 | ||
|
|
8affae4861 | ||
|
|
2b80513a8f | ||
|
|
ac5351ae5e | ||
|
|
78f871d7f2 | ||
|
|
364e380dfd | ||
|
|
090d2e8038 | ||
|
|
4c97bcbae5 | ||
|
|
1bdeffc7ed | ||
|
|
92accb352e | ||
|
|
096b408b9c | ||
|
|
e666e08f2d | ||
|
|
350773d316 | ||
|
|
3b0df18167 | ||
|
|
f61dcb2ec3 | ||
|
|
db8fdb9ccf | ||
|
|
b50e977cfe | ||
|
|
c004588654 | ||
|
|
9c9f69856f | ||
|
|
d2da2e22e1 | ||
|
|
281ddb1b17 | ||
|
|
c739aeb758 | ||
|
|
db4329cebf | ||
|
|
ac140c9cf2 | ||
|
|
63e1afb835 | ||
|
|
ed14ab5091 | ||
|
|
ae2cfb4162 | ||
|
|
98eb912a76 | ||
|
|
383bd93261 | ||
|
|
0f2b3da37e | ||
|
|
ed6d7578a5 | ||
|
|
96cd140c62 | ||
|
|
68240b5d2d | ||
|
|
fddc19225c | ||
|
|
98763a10eb | ||
|
|
972c719392 | ||
|
|
1b92e99cfe | ||
|
|
26bd8a5b8b | ||
|
|
b0421569d0 | ||
|
|
5d23d8d790 | ||
|
|
059fc9ebfd | ||
|
|
2876032630 | ||
|
|
3d6c86d04e | ||
|
|
22f658239f | ||
|
|
da665fc4fd | ||
|
|
993073b7dc | ||
|
|
5f9db20b4f | ||
|
|
57a9a8a2aa | ||
|
|
0dbbf1a6e6 | ||
|
|
99f1a2e03f | ||
|
|
a469d501f9 | ||
|
|
b359c9548c | ||
|
|
ae8df366fc | ||
|
|
3fe53751c4 | ||
|
|
661a57b5fc | ||
|
|
8df6bdf7c8 | ||
|
|
efe1070be7 | ||
|
|
de09566b4a | ||
|
|
d6a3e48d03 | ||
|
|
8bbb142394 | ||
|
|
2c7cb7fa67 | ||
|
|
d60a3a7c0c | ||
|
|
d6db020bfe | ||
|
|
878f064ecf | ||
|
|
4c4daf9698 | ||
|
|
1655c243b7 | ||
|
|
159cdcd06b | ||
|
|
e6684040ba | ||
|
|
fb9d8f21ce | ||
|
|
f2cc51a602 | ||
|
|
b6b565aabb | ||
|
|
24a9c99e03 | ||
|
|
a98a470ea8 | ||
|
|
3994ce5666 | ||
|
|
067ac4fe01 | ||
|
|
4d2c65ade9 | ||
|
|
6c7e4f25ea | ||
|
|
601511e7f4 | ||
|
|
1c99ba2562 | ||
|
|
9c7fb99e53 | ||
|
|
4f4fb01ed7 | ||
|
|
cd9e2f0adf | ||
|
|
0c147c0a0b | ||
|
|
37a57d0011 | ||
|
|
bed91e67a0 | ||
|
|
3d92730a82 | ||
|
|
68eb70e7e6 | ||
|
|
23cd67f45c | ||
|
|
9e50c8a71f | ||
|
|
3e2ff91654 | ||
|
|
ea1733ed08 | ||
|
|
bb6551fdf6 | ||
|
|
1cf2c0c5bf | ||
|
|
cb607a16ff | ||
|
|
89afd214e8 | ||
|
|
1d0d2ebb75 | ||
|
|
5128fc3a88 | ||
|
|
77ca4625c1 | ||
|
|
9ea2f3ff8c | ||
|
|
38a553513c | ||
|
|
f01959de8b | ||
|
|
2bc31f1518 | ||
|
|
bc1d885bd1 | ||
|
|
c19327aaeb | ||
|
|
a7994c02d8 | ||
|
|
d6265f3bf7 | ||
|
|
4b28f5b9af | ||
|
|
ea275ae798 | ||
|
|
f35f402edf | ||
|
|
4a93bea962 | ||
|
|
9fb568eaa7 | ||
|
|
18018a5cc1 | ||
|
|
854c31be9d | ||
|
|
d2b2e80faa | ||
|
|
8a5ecc458f | ||
|
|
7bccb0b779 | ||
|
|
17a899aa2c | ||
|
|
8b68f52e57 | ||
|
|
fcf7cf953f | ||
|
|
c63faf395f | ||
|
|
dcdc66b8f5 | ||
|
|
09e7a38c52 | ||
|
|
bd1b20ad35 | ||
|
|
9a3c51815a | ||
|
|
1f0ea77f80 | ||
|
|
eb7a5b2ee6 | ||
|
|
c3b2eaf3e2 | ||
|
|
b411f8c60d | ||
|
|
65afb72c98 | ||
|
|
6e347ae517 | ||
|
|
fa442aacce | ||
|
|
b80df76116 | ||
|
|
01a78ba594 | ||
|
|
3d4cb58af5 | ||
|
|
b66e0d0d0d | ||
|
|
96c0d167bf | ||
|
|
3ccdfaf70d | ||
|
|
8e64c69c5d | ||
|
|
2f4093516a | ||
|
|
9e321d804e | ||
|
|
9b6347d62d | ||
|
|
5999ff94ab | ||
|
|
364d387aa1 | ||
|
|
886783db31 | ||
|
|
d4ed01b467 | ||
|
|
76a08d9f30 | ||
|
|
f0f498d53f | ||
|
|
3f99d279a7 | ||
|
|
baeafd9f7d | ||
|
|
7dc8f3e958 | ||
|
|
c09305b236 | ||
|
|
0a99c667ef | ||
|
|
ccf6ff2686 | ||
|
|
be16d24170 | ||
|
|
087892e183 | ||
|
|
a0cc6c95c2 | ||
|
|
97eb45b93b | ||
|
|
d8af4bc17e | ||
|
|
75a5f81578 | ||
|
|
4a72a79582 | ||
|
|
b286ee9195 | ||
|
|
d1c0acac83 | ||
|
|
ea5aabde0d | ||
|
|
b4411b11fe | ||
|
|
6b022368cf | ||
|
|
38425305a5 | ||
|
|
571366a461 | ||
|
|
33e6110737 | ||
|
|
d064f8d96e | ||
|
|
844d97ed52 | ||
|
|
dfd1912c33 | ||
|
|
c26b3c989b | ||
|
|
1a11da01bc | ||
|
|
7582a00b91 | ||
|
|
712822a5f5 | ||
|
|
4d08ea2335 | ||
|
|
bee1c222af | ||
|
|
b710fab5c8 | ||
|
|
73c94f571d | ||
|
|
0d8b01b08b | ||
|
|
3623fa8f5f | ||
|
|
8b5b68585c | ||
|
|
aee11c6de6 | ||
|
|
14c1f7b344 | ||
|
|
9ca2c2eddc | ||
|
|
1470eb3939 | ||
|
|
1fd18c8d88 | ||
|
|
ce19c9396e | ||
|
|
8f79b24f49 | ||
|
|
e110948eb5 | ||
|
|
550458bebd | ||
|
|
1734d74c6b | ||
|
|
6809c9585d | ||
|
|
786dc6b08f | ||
|
|
1c983f7090 | ||
|
|
b2e9033998 | ||
|
|
1cce43b2fa | ||
|
|
164c51cb2e | ||
|
|
501d8b55ab | ||
|
|
e8074fa392 | ||
|
|
fe7dd8af14 | ||
|
|
013b065f2c | ||
|
|
39f7e6441a | ||
|
|
6f7c8c3dd8 | ||
|
|
835154bde2 | ||
|
|
9b25557e6e | ||
|
|
b518d73417 | ||
|
|
3d575a50a7 | ||
|
|
75db65d43a | ||
|
|
17329a1b29 | ||
|
|
4db68a3f10 | ||
|
|
db03304cf1 | ||
|
|
9bf537ab35 | ||
|
|
87fd3f221a | ||
|
|
fa1ddbd839 | ||
|
|
93ab5a75c1 | ||
|
|
ca04106253 | ||
|
|
d5f8496abc | ||
|
|
95de01a8fb |
28
.github/workflows/apple.yml
vendored
28
.github/workflows/apple.yml
vendored
@@ -131,8 +131,19 @@ jobs:
|
||||
echo "${{ env.release_pre }}"
|
||||
- name: Download binaries
|
||||
uses: actions/download-artifact@v2
|
||||
- name: Run dylibbundler and archive
|
||||
- name: Mask developer name
|
||||
run: |
|
||||
echo "::add-mask::${{ secrets.MAC_DEVELOPER_NAME }}"
|
||||
- name: Import certificates
|
||||
if: ${{ env.release_tag != '' }}
|
||||
uses: apple-actions/import-codesign-certs@v1
|
||||
with:
|
||||
p12-file-base64: ${{ secrets.MAC_DEVELOPER_ID_P12_FILE }}
|
||||
p12-password: ${{ secrets.MAC_DEVELOPER_ID_P12_PASSWORD }}
|
||||
- name: Run dylibbundler and sign STK
|
||||
if: ${{ env.release_tag != '' }}
|
||||
env:
|
||||
developer_id: "Developer ID Application: ${{ secrets.MAC_DEVELOPER_NAME }} (${{ secrets.MAC_DEVELOPER_TEAM }})"
|
||||
run: |
|
||||
wget https://github.com/supertuxkart/dependencies/releases/download/preview/dependencies-macosx.tar.xz
|
||||
tar xf dependencies-macosx.tar.xz
|
||||
@@ -148,7 +159,20 @@ jobs:
|
||||
rm stk-assets-full.zip
|
||||
cd ../../../../..
|
||||
mv ./macosx-arm64/supertuxkart.app SuperTuxKart.app
|
||||
zip -r SuperTuxKart-${{ env.release_tag }}-mac.zip SuperTuxKart.app
|
||||
codesign --force --sign "$developer_id" SuperTuxKart.app/Contents/libs/*.dylib
|
||||
codesign --force --options=runtime --deep --sign "$developer_id" SuperTuxKart.app
|
||||
- name: "Notarize release build"
|
||||
if: ${{ env.release_tag != '' && github.ref != 'refs/heads/master' }}
|
||||
run: |
|
||||
ditto -c -k --sequesterRsrc --keepParent SuperTuxKart.app tmp.zip
|
||||
xcrun notarytool submit tmp.zip --apple-id ${{ secrets.STK_NOTARIZATION_USERNAME }} \
|
||||
--password ${{ secrets.STK_NOTARIZATION_PASSWORD }} \
|
||||
--team-id ${{ secrets.MAC_DEVELOPER_TEAM }} --wait
|
||||
xcrun stapler staple SuperTuxKart.app
|
||||
- name: Archive
|
||||
if: ${{ env.release_tag != '' }}
|
||||
run: |
|
||||
ditto -c -k --sequesterRsrc --keepParent SuperTuxKart.app SuperTuxKart-${{ env.release_tag }}-mac.zip
|
||||
- name: Create release
|
||||
if: ${{ env.release_tag != '' }}
|
||||
uses: ncipollo/release-action@v1.8.8
|
||||
|
||||
33
.github/workflows/windows.yml
vendored
33
.github/workflows/windows.yml
vendored
@@ -13,7 +13,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: true
|
||||
matrix:
|
||||
arch: [i686, x86_64, aarch64]
|
||||
arch: [i686, x86_64, armv7, aarch64]
|
||||
os: [windows-latest, ubuntu-latest]
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
@@ -26,11 +26,13 @@ jobs:
|
||||
if: ${{ matrix.os == 'windows-latest' }}
|
||||
run: |
|
||||
echo "wget=C:\msys64\usr\bin\wget.exe" >> $GITHUB_ENV
|
||||
echo "unzip=C:\msys64\usr\bin\unzip.exe" >> $GITHUB_ENV
|
||||
echo "unzip=unzip" >> $GITHUB_ENV
|
||||
if [ ${{ matrix.arch }} = "i686" ]; then
|
||||
echo "cmake_arch=Win32" >> $GITHUB_ENV
|
||||
elif [ ${{ matrix.arch }} = "x86_64" ]; then
|
||||
echo "cmake_arch=x64" >> $GITHUB_ENV
|
||||
elif [ ${{ matrix.arch }} = "armv7" ]; then
|
||||
echo "cmake_arch=ARM" >> $GITHUB_ENV
|
||||
else
|
||||
echo "cmake_arch=ARM64" >> $GITHUB_ENV
|
||||
fi
|
||||
@@ -83,8 +85,8 @@ jobs:
|
||||
sudo wget https://github.com/supertuxkart/dependencies/releases/download/preview/mxe_static_mingw.zip
|
||||
sudo unzip mxe_static_mingw.zip
|
||||
sudo rm mxe_static_mingw.zip
|
||||
- name: Install MinGW for aarch64
|
||||
if: ${{ matrix.os == 'ubuntu-latest' && matrix.arch == 'aarch64' }}
|
||||
- name: Install MinGW for armv7 or aarch64
|
||||
if: ${{ matrix.os == 'ubuntu-latest' && ( matrix.arch == 'armv7' || matrix.arch == 'aarch64' ) }}
|
||||
run: |
|
||||
cd /
|
||||
sudo wget https://github.com/mstorsjo/llvm-mingw/releases/download/20210423/llvm-mingw-20210423-msvcrt-ubuntu-18.04-x86_64.tar.xz
|
||||
@@ -118,19 +120,19 @@ jobs:
|
||||
run: |
|
||||
mkdir -Force build
|
||||
cd build
|
||||
cmake .. -G "Visual Studio 16 2019" -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_PROCESSOR=${{ matrix.arch }} -A ${{ env.cmake_arch }} -DCHECK_ASSETS=OFF
|
||||
cmake .. -G "Visual Studio 17 2022" -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_PROCESSOR=${{ matrix.arch }} -A ${{ env.cmake_arch }} -DCHECK_ASSETS=OFF
|
||||
- name: Configure bulid for MinGW (i686 or x86_64)
|
||||
if: ${{ matrix.os == 'ubuntu-latest' && matrix.arch != 'aarch64' }}
|
||||
if: ${{ matrix.os == 'ubuntu-latest' && matrix.arch != 'armv7' && matrix.arch != 'aarch64' }}
|
||||
run: |
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake .. -DCMAKE_TOOLCHAIN_FILE=../toolchain.cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCHECK_ASSETS=OFF -DUSE_DIRECTX=ON
|
||||
- name: Configure bulid for MinGW (aarch64)
|
||||
if: ${{ matrix.os == 'ubuntu-latest' && matrix.arch == 'aarch64' }}
|
||||
- name: Configure bulid for MinGW (armv7 or aarch64)
|
||||
if: ${{ matrix.os == 'ubuntu-latest' && ( matrix.arch == 'armv7' || matrix.arch == 'aarch64' ) }}
|
||||
run: |
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake .. -DLLVM_ARCH=aarch64 -DLLVM_PREFIX=/llvm-mingw -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-llvm-mingw.cmake -DCHECK_ASSETS=OFF -DUSE_DIRECTX=ON
|
||||
cmake .. -DLLVM_ARCH=${{ matrix.arch }} -DLLVM_PREFIX=/llvm-mingw -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-llvm-mingw.cmake -DCHECK_ASSETS=OFF -DUSE_DIRECTX=ON
|
||||
- name: Build for MSVC
|
||||
if: ${{ matrix.os == 'windows-latest' }}
|
||||
working-directory: build
|
||||
@@ -213,7 +215,8 @@ jobs:
|
||||
- name: Generate .pdb files
|
||||
if: ${{ env.release_tag != '' }}
|
||||
run: |
|
||||
C:\msys64\usr\bin\wget.exe https://github.com/supertuxkart/dependencies/releases/download/preview/cv2pdb.exe
|
||||
C:\msys64\usr\bin\wget.exe https://github.com/rainers/cv2pdb/releases/download/v0.50/cv2pdb-0.50.zip
|
||||
unzip cv2pdb-0.50.zip
|
||||
cd i686
|
||||
..\cv2pdb.exe supertuxkart.exe
|
||||
cd ..
|
||||
@@ -237,16 +240,19 @@ jobs:
|
||||
mv tools/run_game.bat SuperTuxKart-${{ env.release_tag }}-win
|
||||
mkdir SuperTuxKart-${{ env.release_tag }}-win/stk-code/build-i686
|
||||
mkdir SuperTuxKart-${{ env.release_tag }}-win/stk-code/build-x86_64
|
||||
mkdir SuperTuxKart-${{ env.release_tag }}-win/stk-code/build-armv7
|
||||
mkdir SuperTuxKart-${{ env.release_tag }}-win/stk-code/build-aarch64
|
||||
mv i686 SuperTuxKart-${{ env.release_tag }}-win/stk-code/build-i686/bin
|
||||
mv x86_64 SuperTuxKart-${{ env.release_tag }}-win/stk-code/build-x86_64/bin
|
||||
mv armv7 SuperTuxKart-${{ env.release_tag }}-win/stk-code/build-armv7/bin
|
||||
mv aarch64 SuperTuxKart-${{ env.release_tag }}-win/stk-code/build-aarch64/bin
|
||||
# libwinpthread-1.dll is useless because we statically link
|
||||
rm -f SuperTuxKart-${{ env.release_tag }}-win/stk-code/build-armv7/bin/libwinpthread-1.dll
|
||||
rm -f SuperTuxKart-${{ env.release_tag }}-win/stk-code/build-aarch64/bin/libwinpthread-1.dll
|
||||
- name: Start packaging STK
|
||||
if: ${{ env.release_tag != '' }}
|
||||
run: |
|
||||
C:\msys64\usr\bin\zip.exe -r SuperTuxKart-${{ env.release_tag }}-win.zip SuperTuxKart-${{ env.release_tag }}-win
|
||||
Compress-Archive -LiteralPath SuperTuxKart-${{ env.release_tag }}-win -DestinationPath SuperTuxKart-${{ env.release_tag }}-win.zip
|
||||
- name: Configure NSIS script
|
||||
shell : bash
|
||||
if: ${{ env.release_tag != '' && startsWith(github.ref, 'refs/tags/') }}
|
||||
@@ -258,11 +264,12 @@ jobs:
|
||||
cp supertuxkart-github-actions.nsi $arch.nsi
|
||||
sed -i "s/define APPNAMEANDVERSION \"\"/define APPNAMEANDVERSION \"SuperTuxKart ${{ env.release_tag }}\"/g" $arch.nsi
|
||||
sed -i "s/define ARCH \"\"/define ARCH \"$arch\"/g" $arch.nsi
|
||||
sed -i "s/define VERSION \"\"/define VERSION \"${{ env.release_tag }}\"/g" $arch.nsi
|
||||
sed -i "s/OutFile \"\"/OutFile \"SuperTuxKart-${{ env.release_tag }}-installer-$arch.exe\"/g" $arch.nsi
|
||||
for filename in $(ls ../../build-$arch/bin)
|
||||
do
|
||||
file="\\\\$filename"
|
||||
sed -i "286a\ DELETE /REBOOTOK \"\$INSTDIR$file\"" $arch.nsi
|
||||
sed -i "288a\ DELETE /REBOOTOK \"\$INSTDIR$file\"" $arch.nsi
|
||||
done
|
||||
# Print result
|
||||
#cat $arch.nsi
|
||||
@@ -273,7 +280,7 @@ jobs:
|
||||
run: |
|
||||
cd SuperTuxKart-${{ env.release_tag }}-win\stk-code\tools\windows_installer
|
||||
C:\msys64\usr\bin\wget.exe https://nsis.sourceforge.io/mediawiki/images/6/6c/Shelllink.zip
|
||||
C:\msys64\usr\bin\unzip.exe Shelllink.zip
|
||||
unzip Shelllink.zip
|
||||
Move-Item Unicode\Plugins\ShellLink.dll .
|
||||
& "C:\Program Files (x86)\NSIS\makensis.exe" i686.nsi
|
||||
& "C:\Program Files (x86)\NSIS\makensis.exe" x86_64.nsi
|
||||
|
||||
5
.gitignore
vendored
5
.gitignore
vendored
@@ -8,6 +8,10 @@ stk-editor/
|
||||
.vscode/
|
||||
tags.*
|
||||
|
||||
# clangd
|
||||
.cache/
|
||||
compile_commands.json
|
||||
|
||||
.config/
|
||||
supertuxkart-64
|
||||
make*.bat
|
||||
@@ -85,5 +89,6 @@ lib/openssl
|
||||
lib/harfbuzz
|
||||
lib/sdl2
|
||||
lib/mbedtls
|
||||
lib/astc-encoder
|
||||
|
||||
.DS_Store
|
||||
|
||||
38
CHANGELOG.md
38
CHANGELOG.md
@@ -5,6 +5,38 @@ It should be kept in mind that some versions have a less complete changelog than
|
||||
|
||||
For similar reasons, and because some features are vastly more complex than others, attributions of main changes should not be taken as a shortcut for overall contribution.
|
||||
|
||||
## SuperTuxKart 1.4 (31. October 2022)
|
||||
### General
|
||||
* Lap trial mode, by mrkubax10
|
||||
* Fix parachute powerup, by heuchi
|
||||
* Fix gyroscope on walldriving surface, by Benau
|
||||
* Enable ARMv7 build for Windows, by Benau
|
||||
* Restore macOS <= 10.14 support, by Benau
|
||||
* Avoid triggering other goal lines when the goal is already scored, by kimden
|
||||
|
||||
### Graphics
|
||||
* Items and stars animation, by Semphris
|
||||
* LOD optimization, by Benau
|
||||
* Implement HiDPI support in SDL2 properly, by Benau
|
||||
* Beta Vulkan renderer, by Benau
|
||||
* Make sky particle always fall vertically, by Benau
|
||||
|
||||
### Tracks and modeling
|
||||
* Updated Konqi, by ZAQraven99
|
||||
* New Godette kart, by ZAQraven99
|
||||
* Updated Battle Island and Cave X, by Typhon306
|
||||
* Fix broken invisible wall in Antediluvian Abyss, by Benau
|
||||
* New textures in Shifting Sands, by KartOym
|
||||
* Balanced starting positions in all official soccer fields, by Crystal
|
||||
|
||||
### Networking
|
||||
* Add track searching to network track screen, by Benau
|
||||
* Make limit of players in game configurable, by Waldlaubsaengernest
|
||||
* Allow using real addon karts (same hitbox and kart type as in local game), by Benau
|
||||
|
||||
### User Interface
|
||||
* Add left side ghost replay difficulties, by ldoyenard
|
||||
|
||||
## SuperTuxKart 1.3 (28. September 2021)
|
||||
### Networking
|
||||
* Server bookmarks, by Benau
|
||||
@@ -49,8 +81,8 @@ For similar reasons, and because some features are vastly more complex than othe
|
||||
* Ancient Colosseum Labyrinth, by Typhon306
|
||||
* Improved Las Dunas Soccer, by Benau
|
||||
* Add lap line extensions to Hacienda, Old Mine, Ravenbridge Mansion and Shifting Sands, by Benau
|
||||
* New Pepper kart, by McRavenINDo
|
||||
* Improved Adiumy, Emule, GNU and Sara karts, by McRavenINDo
|
||||
* New Pepper kart, by ZAQraven99
|
||||
* Improved Adiumy, Emule, GNU and Sara karts, by ZAQraven99
|
||||
|
||||
## SuperTuxKart 1.2 (27. August 2020)
|
||||
|
||||
@@ -101,7 +133,7 @@ For similar reasons, and because some features are vastly more complex than othe
|
||||
|
||||
### Tracks and modeling
|
||||
#### Karts
|
||||
* New version of Kiki, by Typhon306 and McRavenINDo
|
||||
* New version of Kiki, by Typhon306 and ZAQraven99
|
||||
* Improved karts, by Crystal
|
||||
* Pidgin, Puffy
|
||||
* Improved beastie animation, by D_ft Kid
|
||||
|
||||
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 2.8.4)
|
||||
|
||||
# root CMakeLists for the SuperTuxKart project
|
||||
project(SuperTuxKart)
|
||||
set(PROJECT_VERSION "git")
|
||||
set(PROJECT_VERSION "1.4")
|
||||
|
||||
add_definitions( -DSUPERTUXKART_VERSION="${PROJECT_VERSION}" )
|
||||
|
||||
@@ -89,7 +89,8 @@ endif()
|
||||
|
||||
if((UNIX AND NOT APPLE) AND NOT SERVER_ONLY)
|
||||
if((${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm") OR
|
||||
(${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64"))
|
||||
(${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64") OR
|
||||
(${CMAKE_SYSTEM_PROCESSOR} MATCHES "riscv64"))
|
||||
option(USE_GLES2 "Use OpenGL ES2 renderer" ON)
|
||||
else()
|
||||
option(USE_GLES2 "Use OpenGL ES2 renderer" OFF)
|
||||
@@ -148,6 +149,8 @@ if (CMAKE_GENERATOR_PLATFORM)
|
||||
endif()
|
||||
if(arch_lower MATCHES "arm64" OR arch_lower MATCHES "aarch64" OR ${CMAKE_GENERATOR} MATCHES "(ARM64)" OR ${BUILD_ARCH} MATCHES "(ARM64)")
|
||||
set(DEPENDENCIES "dependencies-win-aarch64")
|
||||
elseif(arch_lower MATCHES "armv7" OR arch_lower MATCHES "armv7" OR ${CMAKE_GENERATOR} MATCHES "(ARM)" OR ${BUILD_ARCH} MATCHES "(ARM)")
|
||||
set(DEPENDENCIES "dependencies-win-armv7")
|
||||
elseif(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
set(DEPENDENCIES "dependencies-win-x86_64")
|
||||
else()
|
||||
@@ -196,7 +199,7 @@ if(UNIX OR MINGW)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(UNIX AND NOT APPLE)
|
||||
if(UNIX AND NOT APPLE AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
|
||||
find_package(PkgConfig REQUIRED)
|
||||
|
||||
if(NOT PKGCONFIG_FOUND)
|
||||
@@ -242,10 +245,53 @@ else()
|
||||
endif()
|
||||
|
||||
if(NOT SERVER_ONLY)
|
||||
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/graphics_engine")
|
||||
include_directories(BEFORE "${PROJECT_SOURCE_DIR}/lib/graphics_engine/include")
|
||||
if(USE_SYSTEM_SQUISH)
|
||||
find_library(SQUISH_LIBRARY NAMES squish libsquish)
|
||||
find_path(SQUISH_INCLUDEDIR NAMES squish.h PATHS)
|
||||
endif()
|
||||
if (NOT SQUISH_LIBRARY OR NOT SQUISH_INCLUDEDIR)
|
||||
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/libsquish")
|
||||
include_directories(BEFORE "${PROJECT_SOURCE_DIR}/lib/libsquish")
|
||||
SET(SQUISH_LIBRARY squish)
|
||||
else()
|
||||
include_directories("${SQUISH_INCLUDEDIR}")
|
||||
MESSAGE(STATUS "Use system libsquish: ${SQUISH_LIBRARY}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT SERVER_ONLY)
|
||||
find_library(SHADERC_LIBRARY NAMES shaderc_shared libshaderc_shared)
|
||||
find_path(SHADERC_INCLUDEDIR NAMES shaderc/shaderc.hpp PATHS)
|
||||
if (NOT SHADERC_LIBRARY OR NOT SHADERC_INCLUDEDIR)
|
||||
set(SHADERC_SKIP_INSTALL ON CACHE INTERNAL "Skip installation" FORCE)
|
||||
set(SHADERC_SKIP_TESTS ON CACHE INTERNAL "Skip building tests" FORCE)
|
||||
set(SHADERC_SKIP_EXAMPLES ON CACHE INTERNAL "Skip building examples" FORCE)
|
||||
set(SHADERC_SKIP_COPYRIGHT_CHECK ON CACHE INTERNAL "Skip copyright check" FORCE)
|
||||
|
||||
set(SPIRV_HEADERS_SKIP_INSTALL ON CACHE INTERNAL "Skip install" FORCE)
|
||||
set(SPIRV_HEADERS_SKIP_EXAMPLES ON CACHE INTERNAL "Skip building examples" FORCE)
|
||||
|
||||
set(SKIP_SPIRV_TOOLS_INSTALL ON CACHE INTERNAL "Skip installation" FORCE)
|
||||
set(SPIRV_SKIP_TESTS ON CACHE INTERNAL "Skip tests" FORCE)
|
||||
set(SPIRV_SKIP_EXECUTABLES ON CACHE INTERNAL "Skip executables" FORCE)
|
||||
|
||||
set(ENABLE_GLSLANG_BINARIES OFF CACHE INTERNAL "Builds glslangValidator and spirv-remap" FORCE)
|
||||
set(ENABLE_CTEST OFF CACHE INTERNAL "Enable ctest" FORCE)
|
||||
|
||||
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/shaderc")
|
||||
include_directories(BEFORE "${PROJECT_SOURCE_DIR}/lib/shaderc/libshaderc/include")
|
||||
SET(SHADERC_LIBRARY shaderc)
|
||||
message(STATUS "System shaderc not found, use the bundled one.")
|
||||
else()
|
||||
include_directories("${SHADERC_INCLUDEDIR}")
|
||||
MESSAGE(STATUS "Use system shaderc: ${SHADERC_LIBRARY}")
|
||||
endif()
|
||||
|
||||
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/graphics_engine")
|
||||
endif()
|
||||
# MiniGLM is there
|
||||
include_directories(BEFORE "${PROJECT_SOURCE_DIR}/lib/graphics_engine/include")
|
||||
|
||||
if (NOT SERVER_ONLY)
|
||||
# Add jpeg library
|
||||
find_package(JPEG REQUIRED)
|
||||
@@ -293,21 +339,6 @@ else()
|
||||
MESSAGE(STATUS "Use system libmcpp: ${MCPP_LIBRARY}")
|
||||
endif()
|
||||
|
||||
if(NOT SERVER_ONLY)
|
||||
if(USE_SYSTEM_SQUISH)
|
||||
find_library(SQUISH_LIBRARY NAMES squish libsquish)
|
||||
find_path(SQUISH_INCLUDEDIR NAMES squish.h PATHS)
|
||||
endif()
|
||||
if (NOT SQUISH_LIBRARY OR NOT SQUISH_INCLUDEDIR)
|
||||
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/libsquish")
|
||||
include_directories(BEFORE "${PROJECT_SOURCE_DIR}/lib/libsquish")
|
||||
SET(SQUISH_LIBRARY squish)
|
||||
else()
|
||||
include_directories("${SQUISH_INCLUDEDIR}")
|
||||
MESSAGE(STATUS "Use system libsquish: ${SQUISH_LIBRARY}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (NOT SERVER_ONLY)
|
||||
# SDL2
|
||||
find_library(SDL2_LIBRARY NAMES SDL2 libSDL2)
|
||||
@@ -348,7 +379,7 @@ if(USE_WIIUSE)
|
||||
if(WIIUSE_BUILD)
|
||||
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/wiiuse")
|
||||
endif()
|
||||
include_directories(BEFORE "${PROJECT_SOURCE_DIR}/lib/wiiuse/src")
|
||||
include_directories(BEFORE "${PROJECT_SOURCE_DIR}/lib/wiiuse/src/include")
|
||||
set(WIIUSE_LIBRARIES "wiiuse" "bluetooth")
|
||||
endif()
|
||||
endif()
|
||||
@@ -363,6 +394,11 @@ elseif(MSVC)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP") # Enable multi-processor compilation (faster)
|
||||
endif()
|
||||
|
||||
if (${CMAKE_SYSTEM_NAME} MATCHES "SunOs")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64")
|
||||
endif()
|
||||
|
||||
|
||||
# Build the angelscript library if not in system
|
||||
if(USE_SYSTEM_ANGELSCRIPT)
|
||||
@@ -542,7 +578,7 @@ if(APPLE AND NOT IOS)
|
||||
|
||||
if(CMAKE_GENERATOR MATCHES "Xcode")
|
||||
add_custom_command(TARGET supertuxkart POST_BUILD
|
||||
COMMAND ln -f -s ${PROJECT_SOURCE_DIR}/data ${CMAKE_BINARY_DIR}/bin/\${CONFIGURATION}/supertuxkart.app/Contents/Resources)
|
||||
COMMAND ln -f -s ${PROJECT_SOURCE_DIR}/data ${CMAKE_BINARY_DIR}/\${CONFIGURATION}/supertuxkart.app/Contents/Resources)
|
||||
else()
|
||||
add_custom_command(TARGET supertuxkart POST_BUILD
|
||||
COMMAND ln -f -s ${PROJECT_SOURCE_DIR}/data ${CMAKE_BINARY_DIR}/bin/supertuxkart.app/Contents/Resources)
|
||||
@@ -686,6 +722,14 @@ if(NOT SERVER_ONLY)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
|
||||
target_link_libraries(supertuxkart nsl socket vorbisfile)
|
||||
endif()
|
||||
|
||||
if (${CMAKE_SYSTEM_NAME} MATCHES "Haiku")
|
||||
target_link_libraries(supertuxkart be network vorbisfile)
|
||||
endif()
|
||||
|
||||
if (USE_DNS_C)
|
||||
target_link_libraries(supertuxkart dnsc)
|
||||
else()
|
||||
@@ -730,7 +774,8 @@ if(NOT SERVER_ONLY)
|
||||
graphics_utils
|
||||
graphics_engine
|
||||
${SDL2_LIBRARY}
|
||||
tinygettext)
|
||||
tinygettext
|
||||
${SHADERC_LIBRARY})
|
||||
endif()
|
||||
|
||||
if(UNIX AND NOT APPLE)
|
||||
|
||||
36
INSTALL.md
36
INSTALL.md
@@ -63,7 +63,7 @@ Debian-based Distributions command:
|
||||
sudo apt-get install build-essential cmake libbluetooth-dev libsdl2-dev \
|
||||
libcurl4-openssl-dev libenet-dev libfreetype6-dev libharfbuzz-dev \
|
||||
libjpeg-dev libogg-dev libopenal-dev libpng-dev \
|
||||
libssl-dev libvorbis-dev nettle-dev pkg-config zlib1g-dev
|
||||
libssl-dev libvorbis-dev libmbedtls-dev pkg-config zlib1g-dev
|
||||
```
|
||||
|
||||
Solus command:
|
||||
@@ -137,7 +137,7 @@ location, specify `CMAKE_INSTALL_PREFIX` when running cmake, e.g.:
|
||||
|
||||
## Building SuperTuxKart on Windows
|
||||
|
||||
To Build SuperTuxKart on Windows, follow these instructions:
|
||||
To Build SuperTuxKart on Windows, first you need to install [Python](https://www.python.org/downloads/windows/) for [shaderc](https://github.com/google/shaderc) used by SuperTuxKart, after installing Python (if needed) 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.
|
||||
|
||||
@@ -150,7 +150,7 @@ Open your file browser and find somewhere you want to put the development versio
|
||||
4. If you got the stable version, download the Windows dependencies package from [SuperTuxKart on GitHub - Dependencies Releases](https://github.com/supertuxkart/dependencies/releases), find the stk-code version there and download the `dependencies(arch).zip` as needed and unpack the archive into the `stk-code` directory.
|
||||
|
||||
5. If you got the development version go to SuperTuxKart-dev in your file browser, then visit [SuperTuxKart on GitHub - Dependencies latest preview release](https://github.com/supertuxkart/dependencies/releases/tag/preview)
|
||||
and unpack the archive into the `stk-code` directory. Download `i686` if you use Win32 generator of MSVC, `x86_64` for x64 and `aarch64` for ARM64.
|
||||
and unpack the archive into the `stk-code` directory. Download `i686` if you use Win32 generator of MSVC, `x86_64` for x64, `armv7` for ARM and `aarch64` for ARM64.
|
||||
|
||||
6. 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 'Where to build the binaries' to a new directory called `build` or `bld` inside the stk-code directory.
|
||||
|
||||
@@ -180,7 +180,7 @@ Visual Studio 2013| 13
|
||||
2. Download a source package from either [SuperTuxKart on GitHub](https://github.com/supertuxkart/stk-code/releases) or [SuperTuxKart.net - Source Control](https://supertuxkart.net/Source_control)
|
||||
NOTE: the `stk-code` and `stk-assets` directories **must** be in the same directory, `stk-assets` is not needed if you download the full source tarball `(SuperTuxKart-version-src.tar.xz)`.
|
||||
3. Download the Windows dependencies package from [SuperTuxKart on GitHub - Dependencies latest preview release](https://github.com/supertuxkart/dependencies/releases/tag/preview)
|
||||
and unpack the archive into the `stk-code` directory. Download `i686` if you use Win32 generator of MSVC, `x86_64` for x64 and `aarch64` for ARM64.
|
||||
and unpack the archive into the `stk-code` directory. Download `i686` if you use Win32 generator of MSVC, `x86_64` for x64, `armv7` for ARM and `aarch64` for ARM64.
|
||||
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
|
||||
@@ -196,12 +196,34 @@ and unpack the archive into the `stk-code` directory. Download `i686` if you use
|
||||
|
||||
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
|
||||
```
|
||||
```cmd
|
||||
msbuild.exe SuperTuxKart.sln
|
||||
```
|
||||
|
||||
SuperTuxKart can now be run as `bin\Debug\supertuxkart.exe` or `bin\Release\supertuxkart.exe`
|
||||
|
||||
## Building SuperTuxKart on Windows using LLVM MinGW
|
||||
|
||||
1. Get the LLVM Mingw archive [here](https://github.com/mstorsjo/llvm-mingw/releases/latest), get the `*-msvcrt-i686.zip or` `*-msvcrt-x86_64.zip` depending on whether you have an Intel / AMD 32 or 64-bit Windows. If you are using ARM64 Windows get the `*-msvcrt-i686.zip` should be fine (untested). After downloading extract it as `C:\llvm-mingw` so `C:\llvm-mingw` contains `bin`, `include`, `lib`, etc.
|
||||
2. Get Ninja [here](https://github.com/ninja-build/ninja/releases/latest), download the `ninja-win.zip` and extract the `ninja.exe` from the archive to `C:\llvm-mingw`. If you are not using Intel / AMD 64-bit Windows use [this link](https://packages.msys2.org/package/mingw-w64-i686-ninja) and extract `mingw32\bin\ninja.exe` inside the `tar.zst`.
|
||||
3. Download a source package from either [SuperTuxKart on GitHub](https://github.com/supertuxkart/stk-code/releases) or [SuperTuxKart.net - Source Control](https://supertuxkart.net/Source_control)
|
||||
NOTE: the `stk-code` and `stk-assets` directories **must** be in the same directory, `stk-assets` is not needed if you download the full source tarball `(SuperTuxKart-version-src.tar.xz)`. Also make sure they lie within the C drive.
|
||||
4. Download the Windows dependencies package from [SuperTuxKart on GitHub - Dependencies latest preview release](https://github.com/supertuxkart/dependencies/releases/tag/preview)
|
||||
and unpack the archive into the `stk-code` directory. Download `i686` if you compile for Intel / AMD 32-bit, `x86_64` for Intel / AMD 64-bit, `armv7` for ARM 32-bit and `aarch64` for ARM 64-bit version of Windows.
|
||||
6. 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 'Where to build the binaries' to a new directory called `build` inside the stk-code directory.
|
||||
7. Press the `Add Entry` button and add the values below:
|
||||
* Name: `LLVM_ARCH` Type: `STRING` Value: `i686`, `x86_64`, `armv7` or `aarch64`
|
||||
* Name: `LLVM_PREFIX` Type: `STRING` Value: `C:/llvm-mingw`
|
||||
* Name: `CMAKE_MAKE_PROGRAM` Type: `STRING` Value: `C:/llvm-mingw/ninja.exe`
|
||||
* Name: `USE_WIIUSE` Type: `BOOL` Value: `Empty (unchecked)`
|
||||
8. Press 'Configure'; CMake will ask you if it is OK to create the aforementioned directory, press `Yes`. Choose `Ninja` from `Specify the generator for this project`, choose `Specify toolchain file for cross-compiling` then press `Next`. Specify the toolchain file which is located in `stk-code\cmake\Toolchain-llvm-mingw.cmake` and press `Finish`. If no error appears then press 'Generate'
|
||||
9. Once inside the build directory using command line `cmd.exe` or PowerShell:
|
||||
```cmd
|
||||
C:\llvm-mingw\ninja.exe
|
||||
```
|
||||
|
||||
SuperTuxKart can now be run as `bin\supertuxkart.exe`.
|
||||
|
||||
## Building SuperTuxKart on macOS
|
||||
|
||||
### Getting Started
|
||||
|
||||
@@ -22,7 +22,7 @@ To run SuperTuxKart, make sure that your computer's specifications are equal or
|
||||
* Ideally, you'll want a joystick with at least 6 buttons.
|
||||
|
||||
## License
|
||||
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`.
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -93,11 +93,37 @@ include $(PREBUILT_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
|
||||
# shaderc
|
||||
LOCAL_MODULE := shaderc
|
||||
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/shaderc/libshaderc/libshaderc_combined.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
|
||||
# libsquish
|
||||
LOCAL_MODULE := libsquish
|
||||
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/libsquish/libsquish.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
|
||||
# astc-encoder
|
||||
LOCAL_MODULE := libastcenc
|
||||
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/astc-encoder/Source/libastcenc.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
|
||||
# ifaddrs
|
||||
LOCAL_MODULE := ifaddrs
|
||||
LOCAL_PATH := .
|
||||
LOCAL_SRC_FILES := ../lib/ifaddrs/ifaddrs.c
|
||||
LOCAL_CFLAGS := -I../lib/ifaddrs
|
||||
# Starting NDK21 it enables NEON by default on 32-bit ARM target
|
||||
# Disable it to support more phones
|
||||
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
|
||||
LOCAL_ARM_NEON := false
|
||||
endif
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
@@ -109,6 +135,9 @@ LOCAL_CPP_FEATURES += rtti exceptions
|
||||
LOCAL_SRC_FILES := $(wildcard ../lib/angelscript/source/*.S) \
|
||||
$(wildcard ../lib/angelscript/source/*.cpp)
|
||||
LOCAL_CFLAGS := -I../lib/angelscript/source/
|
||||
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
|
||||
LOCAL_ARM_NEON := false
|
||||
endif
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
@@ -119,6 +148,9 @@ LOCAL_PATH := .
|
||||
LOCAL_CPP_FEATURES += rtti
|
||||
LOCAL_SRC_FILES := $(wildcard ../lib/enet/*.c)
|
||||
LOCAL_CFLAGS := -I../lib/enet/include/ -DHAS_SOCKLEN_T -DENABLE_IPV6
|
||||
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
|
||||
LOCAL_ARM_NEON := false
|
||||
endif
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
@@ -130,6 +162,9 @@ LOCAL_CPP_FEATURES += rtti
|
||||
LOCAL_SRC_FILES := $(wildcard ../lib/bullet/src/*/*.cpp) \
|
||||
$(wildcard ../lib/bullet/src/*/*/*.cpp)
|
||||
LOCAL_CFLAGS := -I../lib/bullet/src/
|
||||
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
|
||||
LOCAL_ARM_NEON := false
|
||||
endif
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
@@ -139,7 +174,11 @@ LOCAL_MODULE := graphics_utils
|
||||
LOCAL_PATH := .
|
||||
LOCAL_CPP_FEATURES += rtti
|
||||
LOCAL_SRC_FILES := $(wildcard ../lib/graphics_utils/mipmap/*.c)
|
||||
LOCAL_CFLAGS := -I../lib/graphics_utils/mipmap
|
||||
LOCAL_CFLAGS := -I../lib/graphics_utils/mipmap \
|
||||
-I../lib/simd_wrapper
|
||||
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
|
||||
LOCAL_ARM_NEON := false
|
||||
endif
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
@@ -150,9 +189,19 @@ LOCAL_PATH := .
|
||||
LOCAL_CPP_FEATURES += rtti exceptions
|
||||
LOCAL_SRC_FILES := $(wildcard ../lib/graphics_engine/src/*.c) \
|
||||
$(wildcard ../lib/graphics_engine/src/*.cpp)
|
||||
LOCAL_CFLAGS := -I../lib/graphics_engine/include \
|
||||
-I../lib/sdl2/include/ \
|
||||
-I../lib/irrlicht/include/
|
||||
LOCAL_CFLAGS := -DENABLE_LIBASTCENC \
|
||||
-I../lib/graphics_engine/include \
|
||||
-I../lib/graphics_utils \
|
||||
-I../lib/sdl2/include/ \
|
||||
-I../lib/bullet/src/ \
|
||||
-I../lib/irrlicht/include/ \
|
||||
-I../lib/shaderc/libshaderc/include \
|
||||
-I../lib/libsquish \
|
||||
-Ideps-$(TARGET_ARCH_ABI)/astc-encoder/Source
|
||||
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
|
||||
LOCAL_ARM_NEON := false
|
||||
endif
|
||||
LOCAL_STATIC_LIBRARIES := shaderc libsquish libastcenc
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
@@ -163,6 +212,9 @@ LOCAL_PATH := .
|
||||
LOCAL_CPP_FEATURES += rtti
|
||||
LOCAL_SRC_FILES := $(wildcard ../lib/mcpp/*.c)
|
||||
LOCAL_CFLAGS := -DMCPP_LIB -DHAVE_CONFIG_H
|
||||
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
|
||||
LOCAL_ARM_NEON := false
|
||||
endif
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
@@ -173,6 +225,9 @@ LOCAL_PATH := .
|
||||
LOCAL_CPP_FEATURES += rtti
|
||||
LOCAL_SRC_FILES := $(wildcard ../lib/sheenbidi/Source/*.c)
|
||||
LOCAL_CFLAGS := -I../lib/sheenbidi/Headers
|
||||
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
|
||||
LOCAL_ARM_NEON := false
|
||||
endif
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
@@ -183,6 +238,9 @@ LOCAL_PATH := .
|
||||
LOCAL_CPP_FEATURES += rtti exceptions
|
||||
LOCAL_SRC_FILES := $(wildcard ../lib/tinygettext/src/*.cpp)
|
||||
LOCAL_CFLAGS := -I../lib/tinygettext/include -DDISABLE_ICONV
|
||||
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
|
||||
LOCAL_ARM_NEON := false
|
||||
endif
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
@@ -204,18 +262,24 @@ LOCAL_CFLAGS := -I../lib/irrlicht/source/Irrlicht/ \
|
||||
-DANDROID_PACKAGE_CALLBACK_NAME=$(PACKAGE_CALLBACK_NAME)
|
||||
LOCAL_CPPFLAGS := -std=gnu++0x
|
||||
LOCAL_STATIC_LIBRARIES := libjpeg png zlib
|
||||
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
|
||||
LOCAL_ARM_NEON := false
|
||||
endif
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
|
||||
# SDL2
|
||||
LOCAL_MODULE := SDL2
|
||||
LOCAL_PATH := .
|
||||
LOCAL_CPP_FEATURES += rtti
|
||||
LOCAL_SRC_FILES := $(wildcard ../lib/sdl2/src/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/audio/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/audio/android/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/audio/dummy/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/audio/aaudio/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/audio/openslES/*.c) \
|
||||
../lib/sdl2/src/atomic/SDL_atomic.c.arm \
|
||||
../lib/sdl2/src/atomic/SDL_spinlock.c.arm \
|
||||
$(wildcard ../lib/sdl2/src/core/android/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/cpuinfo/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/dynapi/*.c) \
|
||||
@@ -223,13 +287,15 @@ LOCAL_SRC_FILES := $(wildcard ../lib/sdl2/src/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/file/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/haptic/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/haptic/android/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/hidapi/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/hidapi/android/*.cpp) \
|
||||
$(wildcard ../lib/sdl2/src/joystick/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/joystick/android/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/joystick/hidapi/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/joystick/virtual/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/loadso/dlopen/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/locale/android/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/locale/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/loadso/dlopen/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/misc/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/misc/android/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/power/*.c) \
|
||||
@@ -246,15 +312,15 @@ LOCAL_SRC_FILES := $(wildcard ../lib/sdl2/src/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/timer/unix/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/video/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/video/android/*.c) \
|
||||
$(wildcard ../lib/sdl2/src/video/yuv2rgb/*.c) \
|
||||
../lib/sdl2/src/atomic/SDL_atomic.c.arm \
|
||||
../lib/sdl2/src/atomic/SDL_spinlock.c.arm \
|
||||
../lib/sdl2/src/hidapi/android/hid.cpp
|
||||
$(wildcard ../lib/sdl2/src/video/yuv2rgb/*.c)
|
||||
LOCAL_CFLAGS := -I../lib/sdl2/include/ -DGL_GLEXT_PROTOTYPES
|
||||
LOCAL_CPPFLAGS := -std=gnu++0x
|
||||
LOCAL_LDLIBS := -ldl -lGLESv1_CM -lGLESv2 -lOpenSLES -llog -landroid
|
||||
LOCAL_STATIC_LIBRARIES := cpufeatures
|
||||
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
|
||||
LOCAL_ARM_NEON := false
|
||||
endif
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
# STK
|
||||
@@ -264,7 +330,7 @@ LOCAL_CPP_FEATURES += rtti exceptions
|
||||
LOCAL_SRC_FILES := $(wildcard ../src/*.cpp) \
|
||||
$(wildcard ../src/*/*.cpp) \
|
||||
$(wildcard ../src/*/*/*.cpp)
|
||||
LOCAL_LDLIBS := -llog -landroid -lGLESv1_CM -lGLESv2 -lOpenSLES -ldl -lm
|
||||
LOCAL_LDLIBS := -llog -lm -lOpenSLES
|
||||
LOCAL_CFLAGS := -I../lib/angelscript/include \
|
||||
-I../lib/bullet/src \
|
||||
-I../lib/sheenbidi/Headers \
|
||||
@@ -295,7 +361,7 @@ LOCAL_CFLAGS := -I../lib/angelscript/include \
|
||||
-DANDROID_PACKAGE_NAME=\"$(PACKAGE_NAME)\" \
|
||||
-DANDROID_APP_DIR_NAME=\"$(APP_DIR_NAME)\" \
|
||||
-DSUPERTUXKART_VERSION=\"$(PROJECT_VERSION)\" \
|
||||
-DANDROID_PACKAGE_CALLBACK_NAME=$(PACKAGE_CALLBACK_NAME)
|
||||
-DANDROID_PACKAGE_CLASS_NAME=\"$(PACKAGE_CLASS_NAME)\"
|
||||
LOCAL_CPPFLAGS := -std=gnu++0x
|
||||
|
||||
LOCAL_STATIC_LIBRARIES := irrlicht bullet enet ifaddrs angelscript mcpp SDL2 \
|
||||
@@ -304,6 +370,9 @@ LOCAL_STATIC_LIBRARIES := irrlicht bullet enet ifaddrs angelscript mcpp SDL2 \
|
||||
harfbuzz freetype tinygettext graphics_utils \
|
||||
graphics_engine
|
||||
|
||||
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
|
||||
LOCAL_ARM_NEON := false
|
||||
endif
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
$(call import-module, android/cpufeatures)
|
||||
|
||||
@@ -25,19 +25,45 @@
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
|
||||
</intent-filter>
|
||||
<!-- Let Android know that we can handle some USB devices and should receive this event -->
|
||||
<intent-filter>
|
||||
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
</application>
|
||||
|
||||
<uses-feature android:glEsVersion="0x00020000" />
|
||||
<uses-feature android:name="android.software.leanback" android:required="false" />
|
||||
<uses-feature android:name="android.software.input_methods" android:required="false" />
|
||||
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
|
||||
<uses-feature android:name="android.hardware.gamepad" android:required="false" />
|
||||
<uses-feature android:name="android.hardware.bluetooth" android:required="false" />
|
||||
<uses-feature android:name="android.hardware.usb.host" android:required="false" />
|
||||
|
||||
<!-- Touchscreen support -->
|
||||
<uses-feature
|
||||
android:name="android.hardware.touchscreen"
|
||||
android:required="false" />
|
||||
|
||||
<!-- Game controller support -->
|
||||
<uses-feature
|
||||
android:name="android.hardware.bluetooth"
|
||||
android:required="false" />
|
||||
<uses-feature
|
||||
android:name="android.hardware.gamepad"
|
||||
android:required="false" />
|
||||
<uses-feature
|
||||
android:name="android.hardware.usb.host"
|
||||
android:required="false" />
|
||||
|
||||
<!-- External mouse input events -->
|
||||
<uses-feature
|
||||
android:name="android.hardware.type.pc"
|
||||
android:required="false" />
|
||||
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
|
||||
<!-- Allow writing to external storage -->
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<!-- Allow access to Bluetooth devices -->
|
||||
<uses-permission android:name="android.permission.BLUETOOTH" />
|
||||
<!-- Allow access to the vibrator -->
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
</manifest>
|
||||
|
||||
@@ -13,9 +13,9 @@
|
||||
To run SuperTuxKart on Android, you need a device that meets following
|
||||
requirements:
|
||||
|
||||
- Android 4.4 or later
|
||||
- Android 4.1 or later
|
||||
- Processor compatible with armv7 or x86
|
||||
- GPU that supports OpenGL ES 3.0
|
||||
- GPU that supports OpenGL ES 2.0
|
||||
- 1 GB RAM (STK uses ~150 MB in minimal configuration)
|
||||
- 300 MB of free space on internal storage
|
||||
- Touch screen or external keyboard
|
||||
@@ -62,9 +62,10 @@ directory will have following structure:
|
||||
> src
|
||||
> ...
|
||||
|
||||
You need also Android SDK for android-19 platform (the API for Android 4.4) and
|
||||
Android NDK. Version r20 is recommended, because it's known that it works
|
||||
without issues.
|
||||
You also need Android SDK for android-26 platform or later (SDL2 requirement) and
|
||||
Android NDK. Version r23 is recommended, because it's known that it works
|
||||
without issues. r24 or later is not compatible because it removes Android 4.1
|
||||
support (https://github.com/android/ndk/wiki/Changelog-r23#announcements)
|
||||
|
||||
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
|
||||
@@ -90,11 +91,18 @@ to just run:
|
||||
|
||||
export SDK_PATH=/path/to/your/android/sdk
|
||||
export NDK_PATH=/path/to/your/android/ndk
|
||||
# Optional for STK_MIN_ANDROID_SDK, STK_TARGET_ANDROID_SDK and STK_NDK_VERSION
|
||||
# If unset it will use the below values
|
||||
export STK_MIN_ANDROID_SDK=16
|
||||
export STK_TARGET_ANDROID_SDK=30
|
||||
export STK_NDK_VERSION=23.1.7779620
|
||||
./generate_assets.sh
|
||||
./make_deps.sh
|
||||
./make.sh
|
||||
|
||||
|
||||
You may need to add org.gradle.jvmargs=-XX:MaxHeapSize=2048m -Xmx2048m to
|
||||
.gradle/gradle.properties if you see java.lang.OutOfMemoryError / Java heap
|
||||
space execption error.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
ENVIRONMENT VARIABLES
|
||||
@@ -113,7 +121,8 @@ BUILD_TOOLS_VER - Allows to override the SDK build-tools version.
|
||||
|
||||
SDK_PATH - Path to SDK directory
|
||||
|
||||
NDK_PATH - Path to NDK directory
|
||||
NDK_PATH - Path to NDK directory, it should include a list of installed
|
||||
NDK version folders
|
||||
|
||||
PROJECT_VERSION - Set Supertuxkart version number, for example "0.9.3" or
|
||||
"git20170409" or whatever. The version must match with file
|
||||
|
||||
@@ -2,7 +2,7 @@ buildscript
|
||||
{
|
||||
repositories
|
||||
{
|
||||
jcenter()
|
||||
mavenCentral()
|
||||
google()
|
||||
}
|
||||
|
||||
@@ -10,7 +10,8 @@ buildscript
|
||||
{
|
||||
// 4.1.2 is the minimum version to support native debug symbols file
|
||||
// https://developer.android.com/studio/build/shrink-code#android_gradle_plugin_version_41_or_later
|
||||
classpath 'com.android.tools.build:gradle:4.1.2'
|
||||
// 7.0.0 to fix https://stackoverflow.com/questions/68387270/android-studio-error-installed-build-tools-revision-31-0-0-is-corrupted
|
||||
classpath 'com.android.tools.build:gradle:7.0.0'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +19,7 @@ allprojects
|
||||
{
|
||||
repositories
|
||||
{
|
||||
jcenter()
|
||||
mavenCentral()
|
||||
google()
|
||||
}
|
||||
}
|
||||
@@ -27,8 +28,10 @@ apply plugin: 'com.android.application'
|
||||
|
||||
android
|
||||
{
|
||||
// buildToolsVersion is no longer needed https://developer.android.com/studio/releases/gradle-plugin.html#behavior_changes_1
|
||||
// Quote:
|
||||
// Build Tools 27.0.3 or higher. Keep in mind, you no longer need to specify a version for the build tools using the android.buildToolsVersion property—the plugin uses the minimum required version by default.
|
||||
compileSdkVersion compile_sdk_version.toInteger()
|
||||
buildToolsVersion build_tools_ver
|
||||
ndkVersion ndk_version
|
||||
externalNativeBuild
|
||||
{
|
||||
@@ -40,13 +43,14 @@ android
|
||||
|
||||
defaultConfig
|
||||
{
|
||||
minSdkVersion 16
|
||||
targetSdkVersion 29
|
||||
minSdkVersion min_sdk_version.toInteger()
|
||||
targetSdkVersion target_sdk_version.toInteger()
|
||||
externalNativeBuild
|
||||
{
|
||||
ndkBuild
|
||||
{
|
||||
arguments 'APP_PLATFORM=android-16', 'APP_STL=c++_static', cpu_core
|
||||
def app_platform = "APP_PLATFORM=android-${min_sdk_version}"
|
||||
arguments app_platform, 'APP_STL=c++_static', cpu_core
|
||||
if (project.getProperty('compile_arch') == 'all')
|
||||
{
|
||||
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
|
||||
@@ -94,6 +98,17 @@ android
|
||||
cppFlags '-O0'
|
||||
}
|
||||
}
|
||||
ndk
|
||||
{
|
||||
if (project.getProperty('compile_arch') == 'all')
|
||||
{
|
||||
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
|
||||
}
|
||||
else
|
||||
{
|
||||
abiFilters project.getProperty('compile_arch')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
release
|
||||
@@ -107,6 +122,17 @@ android
|
||||
}
|
||||
}
|
||||
signingConfig signingConfigs.release
|
||||
ndk
|
||||
{
|
||||
if (project.getProperty('compile_arch') == 'all')
|
||||
{
|
||||
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
|
||||
}
|
||||
else
|
||||
{
|
||||
abiFilters project.getProperty('compile_arch')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -115,7 +141,6 @@ android
|
||||
main
|
||||
{
|
||||
manifest.srcFile 'AndroidManifest.xml'
|
||||
jniLibs.srcDirs = ['libs']
|
||||
res.srcDirs = ['res']
|
||||
assets.srcDirs = ['assets']
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
#
|
||||
# (C) 2016-2017 Dawid Gan, under the GPLv3
|
||||
#
|
||||
@@ -15,11 +15,21 @@ export NDK_BUILD_SCRIPT="$DIRNAME/Android.mk"
|
||||
#export NDK_CCACHE=ccache
|
||||
export CPU_CORE="-j$(($(nproc) + 1))"
|
||||
|
||||
export COMPILE_SDK_VERSION=29
|
||||
if [ -z "$STK_MIN_ANDROID_SDK" ]; then
|
||||
export STK_MIN_ANDROID_SDK=16
|
||||
fi
|
||||
|
||||
if [ -z "$STK_TARGET_ANDROID_SDK" ]; then
|
||||
export STK_TARGET_ANDROID_SDK=30
|
||||
fi
|
||||
|
||||
if [ -z "$STK_NDK_VERSION" ]; then
|
||||
export STK_NDK_VERSION=23.1.7779620
|
||||
fi
|
||||
|
||||
export APP_NAME_RELEASE="SuperTuxKart"
|
||||
export PACKAGE_NAME_RELEASE="org.supertuxkart.stk"
|
||||
export PACKAGE_CALLBACK_NAME_RELEASE="org_supertuxkart_stk"
|
||||
export PACKAGE_CLASS_NAME_RELEASE="org/supertuxkart/stk"
|
||||
export APP_DIR_NAME_RELEASE="supertuxkart"
|
||||
export APP_ICON_RELEASE="$DIRNAME/icon.png"
|
||||
export APP_ICON_ADAPTIVE_BG_RELEASE="$DIRNAME/icon_adaptive_bg.png"
|
||||
@@ -27,7 +37,7 @@ export APP_ICON_ADAPTIVE_FG_RELEASE="$DIRNAME/icon_adaptive_fg.png"
|
||||
|
||||
export APP_NAME_BETA="SuperTuxKart Beta"
|
||||
export PACKAGE_NAME_BETA="org.supertuxkart.stk_beta"
|
||||
export PACKAGE_CALLBACK_NAME_BETA="org_supertuxkart_stk_1beta"
|
||||
export PACKAGE_CLASS_NAME_BETA="org/supertuxkart/stk_beta"
|
||||
export APP_DIR_NAME_BETA="supertuxkart-beta"
|
||||
export APP_ICON_BETA="$DIRNAME/icon-dbg.png"
|
||||
export APP_ICON_ADAPTIVE_BG_BETA="$DIRNAME/icon_adaptive_bg-dbg.png"
|
||||
@@ -35,7 +45,7 @@ export APP_ICON_ADAPTIVE_FG_BETA="$DIRNAME/icon_adaptive_fg-dbg.png"
|
||||
|
||||
export APP_NAME_DEBUG="SuperTuxKart Debug"
|
||||
export PACKAGE_NAME_DEBUG="org.supertuxkart.stk_dbg"
|
||||
export PACKAGE_CALLBACK_NAME_DEBUG="org_supertuxkart_stk_1dbg"
|
||||
export PACKAGE_CLASS_NAME_DEBUG="org/supertuxkart/stk_dbg"
|
||||
export APP_DIR_NAME_DEBUG="supertuxkart-dbg"
|
||||
export APP_ICON_DEBUG="$DIRNAME/icon-dbg.png"
|
||||
export APP_ICON_ADAPTIVE_BG_DEBUG="$DIRNAME/icon_adaptive_bg-dbg.png"
|
||||
@@ -89,7 +99,7 @@ if [ "$BUILD_TYPE" = "debug" ] || [ "$BUILD_TYPE" = "Debug" ]; then
|
||||
export IS_DEBUG_BUILD=1
|
||||
export APP_NAME="$APP_NAME_DEBUG"
|
||||
export PACKAGE_NAME="$PACKAGE_NAME_DEBUG"
|
||||
export PACKAGE_CALLBACK_NAME="$PACKAGE_CALLBACK_NAME_DEBUG"
|
||||
export PACKAGE_CLASS_NAME="$PACKAGE_CLASS_NAME_DEBUG"
|
||||
export APP_DIR_NAME="$APP_DIR_NAME_DEBUG"
|
||||
export APP_ICON="$APP_ICON_DEBUG"
|
||||
export APP_ICON_ADAPTIVE_BG="$APP_ICON_ADAPTIVE_BG_DEBUG"
|
||||
@@ -99,7 +109,7 @@ elif [ "$BUILD_TYPE" = "release" ] || [ "$BUILD_TYPE" = "Release" ]; then
|
||||
export IS_DEBUG_BUILD=0
|
||||
export APP_NAME="$APP_NAME_RELEASE"
|
||||
export PACKAGE_NAME="$PACKAGE_NAME_RELEASE"
|
||||
export PACKAGE_CALLBACK_NAME="$PACKAGE_CALLBACK_NAME_RELEASE"
|
||||
export PACKAGE_CLASS_NAME="$PACKAGE_CLASS_NAME_RELEASE"
|
||||
export APP_DIR_NAME="$APP_DIR_NAME_RELEASE"
|
||||
export APP_ICON="$APP_ICON_RELEASE"
|
||||
export APP_ICON_ADAPTIVE_BG="$APP_ICON_ADAPTIVE_BG_RELEASE"
|
||||
@@ -109,7 +119,7 @@ elif [ "$BUILD_TYPE" = "beta" ] || [ "$BUILD_TYPE" = "Beta" ]; then
|
||||
export IS_DEBUG_BUILD=0
|
||||
export APP_NAME="$APP_NAME_BETA"
|
||||
export PACKAGE_NAME="$PACKAGE_NAME_BETA"
|
||||
export PACKAGE_CALLBACK_NAME="$PACKAGE_CALLBACK_NAME_BETA"
|
||||
export PACKAGE_CLASS_NAME="$PACKAGE_CLASS_NAME_BETA"
|
||||
export APP_DIR_NAME="$APP_DIR_NAME_BETA"
|
||||
export APP_ICON="$APP_ICON_BETA"
|
||||
export APP_ICON_ADAPTIVE_BG="$APP_ICON_ADAPTIVE_BG_BETA"
|
||||
@@ -129,7 +139,7 @@ if [ -z "$SDK_PATH" ]; then
|
||||
export SDK_PATH="$SDK_PATH_DEFAULT"
|
||||
fi
|
||||
|
||||
NDK_PATH=$(realpath "$NDK_PATH")
|
||||
NDK_PATH="$(realpath "$NDK_PATH")/${STK_NDK_VERSION}"
|
||||
SDK_PATH=$(realpath "$SDK_PATH")
|
||||
|
||||
if [ ! -d "$NDK_PATH" ]; then
|
||||
@@ -190,6 +200,9 @@ if [ -z "$BUILD_TOOLS_VER" ] || [ ! -d "$SDK_PATH/build-tools/$BUILD_TOOLS_VER"
|
||||
exit
|
||||
fi
|
||||
|
||||
BUILD_TOOLS_FULL=(${BUILD_TOOLS_VER//./ })
|
||||
export COMPILE_SDK_VERSION="${BUILD_TOOLS_FULL[0]}"
|
||||
|
||||
# Set project version and code
|
||||
if [ -f "$DIRNAME/obj/project_version" ]; then
|
||||
PROJECT_VERSION_PREV=$(cat "$DIRNAME/obj/project_version")
|
||||
@@ -432,25 +445,27 @@ if [ -f "/usr/lib/jvm/java-8-openjdk-amd64/bin/java" ]; then
|
||||
fi
|
||||
|
||||
export ANDROID_HOME="$SDK_PATH"
|
||||
./gradlew -Pcompile_sdk_version=$COMPILE_SDK_VERSION \
|
||||
-Pbuild_tools_ver="$BUILD_TOOLS_VER" \
|
||||
-Pstorepass="$STK_STOREPASS" \
|
||||
-Pkeystore="$STK_KEYSTORE" \
|
||||
-Palias="$STK_ALIAS" \
|
||||
-Pndk_version="20.1.5948944" \
|
||||
-Pcompile_arch="$COMPILE_ARCH" \
|
||||
-Pcpu_core="$CPU_CORE" \
|
||||
./gradlew -Pcompile_sdk_version="$COMPILE_SDK_VERSION" \
|
||||
-Pmin_sdk_version="$STK_MIN_ANDROID_SDK" \
|
||||
-Ptarget_sdk_version="$STK_TARGET_ANDROID_SDK" \
|
||||
-Pstorepass="$STK_STOREPASS" \
|
||||
-Pkeystore="$STK_KEYSTORE" \
|
||||
-Palias="$STK_ALIAS" \
|
||||
-Pndk_version="$STK_NDK_VERSION" \
|
||||
-Pcompile_arch="$COMPILE_ARCH" \
|
||||
-Pcpu_core="$CPU_CORE" \
|
||||
$GRADLE_BUILD_TYPE
|
||||
|
||||
if [ "$GRADLE_BUILD_TYPE" = "assembleRelease" ]; then
|
||||
./gradlew -Pcompile_sdk_version=$COMPILE_SDK_VERSION \
|
||||
-Pbuild_tools_ver="$BUILD_TOOLS_VER" \
|
||||
-Pstorepass="$STK_STOREPASS" \
|
||||
-Pkeystore="$STK_KEYSTORE" \
|
||||
-Palias="$STK_ALIAS" \
|
||||
-Pndk_version="20.1.5948944" \
|
||||
-Pcompile_arch="$COMPILE_ARCH" \
|
||||
-Pcpu_core="$CPU_CORE" \
|
||||
./gradlew -Pcompile_sdk_version="$COMPILE_SDK_VERSION" \
|
||||
-Pmin_sdk_version="$STK_MIN_ANDROID_SDK" \
|
||||
-Ptarget_sdk_version="$STK_TARGET_ANDROID_SDK" \
|
||||
-Pstorepass="$STK_STOREPASS" \
|
||||
-Pkeystore="$STK_KEYSTORE" \
|
||||
-Palias="$STK_ALIAS" \
|
||||
-Pndk_version="$STK_NDK_VERSION" \
|
||||
-Pcompile_arch="$COMPILE_ARCH" \
|
||||
-Pcpu_core="$CPU_CORE" \
|
||||
"bundleRelease"
|
||||
fi
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/bin/sh
|
||||
# Tested with NDK 20.1.5948944
|
||||
# Tested with NDK 22.1.7171670
|
||||
|
||||
export DIRNAME=$(realpath "$(dirname "$0")")
|
||||
|
||||
@@ -39,7 +39,11 @@ if [ -z "$NDK_PATH" ]; then
|
||||
export NDK_PATH="$NDK_PATH_DEFAULT"
|
||||
fi
|
||||
|
||||
NDK_PATH=$(realpath "$NDK_PATH")
|
||||
if [ -z "$STK_NDK_VERSION" ]; then
|
||||
export STK_NDK_VERSION=23.1.7779620
|
||||
fi
|
||||
|
||||
NDK_PATH="$(realpath "$NDK_PATH")/${STK_NDK_VERSION}"
|
||||
if [ ! -d "$NDK_PATH" ]; then
|
||||
echo "Error: Couldn't find $NDK_PATH directory. Please create a symlink" \
|
||||
"to your Android NDK installation in the $NDK_PATH_DEFAULT or set" \
|
||||
@@ -226,9 +230,9 @@ build_deps()
|
||||
-DMBEDX509_LIBRARY="$DIRNAME/deps-$ARCH_OPTION/mbedtls/library/libmbedx509.a" \
|
||||
-DMBEDTLS_INCLUDE_DIRS="$DIRNAME/deps-$ARCH_OPTION/mbedtls/include/" \
|
||||
-DBUILD_TESTING=OFF -DBUILD_CURL_EXE=OFF \
|
||||
-DCMAKE_USE_MBEDTLS=ON -DUSE_ZLIB=ON -DCMAKE_USE_OPENSSL=OFF \
|
||||
-DCMAKE_USE_LIBSSH=OFF -DCMAKE_USE_LIBSSH2=OFF \
|
||||
-DCMAKE_USE_GSSAPI=OFF -DUSE_NGHTTP2=OFF -DUSE_QUICHE=OFF \
|
||||
-DCURL_USE_MBEDTLS=ON -DUSE_ZLIB=ON -DCURL_USE_OPENSSL=OFF \
|
||||
-DCURL_USE_LIBSSH=OFF -DCURL_USE_LIBSSH2=OFF \
|
||||
-DCURL_USE_GSSAPI=OFF -DUSE_NGHTTP2=OFF -DUSE_QUICHE=OFF \
|
||||
-DHTTP_ONLY=ON -DCURL_CA_BUNDLE=none -DCURL_CA_PATH=none \
|
||||
-DENABLE_THREADED_RESOLVER=ON -DCMAKE_C_FLAGS="-fpic -O3 -g" &&
|
||||
make -j $(($(nproc) + 1))
|
||||
@@ -279,6 +283,87 @@ build_deps()
|
||||
check_error
|
||||
touch "$DIRNAME/deps-$ARCH_OPTION/libvorbis.stamp"
|
||||
fi
|
||||
|
||||
# Shaderc
|
||||
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/shaderc.stamp" ]; then
|
||||
echo "Compiling $ARCH_OPTION shaderc"
|
||||
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/shaderc"
|
||||
cp -a -f "$DIRNAME/../lib/shaderc/"* "$DIRNAME/deps-$ARCH_OPTION/shaderc"
|
||||
|
||||
cd "$DIRNAME/deps-$ARCH_OPTION/shaderc"
|
||||
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH -DCMAKE_C_FLAGS="-fpic -O3" \
|
||||
-DCMAKE_CXX_FLAGS="-fpic -O3" -DSHADERC_SKIP_INSTALL=1 \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DSHADERC_SKIP_TESTS=1 -DSHADERC_SKIP_EXAMPLES=1 \
|
||||
-DSPIRV_HEADERS_SKIP_INSTALL=1 -DSPIRV_HEADERS_SKIP_EXAMPLES=1 \
|
||||
-DSKIP_SPIRV_TOOLS_INSTALL=1 -DSPIRV_SKIP_TESTS=1 \
|
||||
-DSPIRV_SKIP_EXECUTABLES=1 -DENABLE_GLSLANG_BINARIES=0 \
|
||||
-DENABLE_CTEST=0 &&
|
||||
make -j $(($(nproc) + 1))
|
||||
# Strip debug symbol to make app bundle smaller
|
||||
llvm-strip --strip-debug "$DIRNAME/deps-$ARCH_OPTION/shaderc/libshaderc/libshaderc_combined.a"
|
||||
check_error
|
||||
touch "$DIRNAME/deps-$ARCH_OPTION/shaderc.stamp"
|
||||
fi
|
||||
|
||||
# Libsquish
|
||||
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/libsquish.stamp" ]; then
|
||||
echo "Compiling $ARCH_OPTION libsquish"
|
||||
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/libsquish"
|
||||
cp -a -f "$DIRNAME/../lib/libsquish/"* "$DIRNAME/deps-$ARCH_OPTION/libsquish"
|
||||
|
||||
cd "$DIRNAME/deps-$ARCH_OPTION/libsquish"
|
||||
if [[ "$ARCH_OPTION" = "x86" || "$ARCH_OPTION" = "x86_64" ]]; then
|
||||
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH \
|
||||
-DCMAKE_C_FLAGS="-fpic -O3 -g -DSQUISH_USE_SSE=2 -msse2" \
|
||||
-DCMAKE_CXX_FLAGS="-fpic -O3 -g -DSQUISH_USE_SSE=2 -msse2"
|
||||
else
|
||||
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH -DCMAKE_C_FLAGS="-fpic -O3 -g" \
|
||||
-DCMAKE_CXX_FLAGS="-fpic -O3 -g"
|
||||
fi
|
||||
make -j $(($(nproc) + 1))
|
||||
check_error
|
||||
touch "$DIRNAME/deps-$ARCH_OPTION/libsquish.stamp"
|
||||
fi
|
||||
|
||||
# ASTC-encoder
|
||||
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/astc-encoder.stamp" ]; then
|
||||
echo "Compiling $ARCH_OPTION astc-encoder"
|
||||
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/astc-encoder"
|
||||
cp -a -f "$DIRNAME/../lib/astc-encoder/"* "$DIRNAME/deps-$ARCH_OPTION/astc-encoder"
|
||||
|
||||
cd "$DIRNAME/deps-$ARCH_OPTION/astc-encoder"
|
||||
sed -i '/-Werror/d' Source/cmake_core.cmake
|
||||
sed -i 's|${ASTC_TARGET}-static|astcenc|g' Source/cmake_core.cmake
|
||||
if [ "$ARCH_OPTION" = "armeabi-v7a" ]; then
|
||||
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH -DSTK_ARM_NEON=ON \
|
||||
-DCMAKE_C_FLAGS="-fpic -O3 -g -mfpu=neon" \
|
||||
-DCMAKE_CXX_FLAGS="-fpic -O3 -g -mfpu=neon" \
|
||||
-DNO_INVARIANCE=ON -DCLI=OFF
|
||||
elif [ "$ARCH_OPTION" = "arm64-v8a" ]; then
|
||||
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH -DCMAKE_C_FLAGS="-fpic -O3 -g" \
|
||||
-DCMAKE_CXX_FLAGS="-fpic -O3 -g" \
|
||||
-DISA_NEON=ON -DNO_INVARIANCE=ON -DCLI=OFF
|
||||
elif [ "$ARCH_OPTION" = "x86" ]; then
|
||||
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH -DCMAKE_C_FLAGS="-fpic -O3 -g" \
|
||||
-DCMAKE_CXX_FLAGS="-fpic -O3 -g" \
|
||||
-DISA_SSE2=ON -DNO_INVARIANCE=ON -DCLI=OFF
|
||||
else
|
||||
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH -DCMAKE_C_FLAGS="-fpic -O3 -g" \
|
||||
-DCMAKE_CXX_FLAGS="-fpic -O3 -g" \
|
||||
-DISA_SSE41=ON -DNO_INVARIANCE=ON -DCLI=OFF
|
||||
fi
|
||||
make -j $(($(nproc) + 1))
|
||||
check_error
|
||||
touch "$DIRNAME/deps-$ARCH_OPTION/astc-encoder.stamp"
|
||||
fi
|
||||
}
|
||||
|
||||
if [ -z "$COMPILE_ARCH" ] || [ "$COMPILE_ARCH" = "all" ]; then
|
||||
|
||||
@@ -51,6 +51,7 @@ import android.widget.TextView;
|
||||
import android.util.DisplayMetrics;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
import java.util.Set;
|
||||
|
||||
import org.minidns.hla.DnssecResolverApi;
|
||||
@@ -70,6 +71,8 @@ public class SuperTuxKartActivity extends SDLActivity
|
||||
private float m_bottom_padding;
|
||||
private float m_left_padding;
|
||||
private float m_right_padding;
|
||||
private AtomicInteger m_keyboard_height;
|
||||
private AtomicInteger m_moved_height;
|
||||
// ------------------------------------------------------------------------
|
||||
public native static void debugMsg(String msg);
|
||||
// ------------------------------------------------------------------------
|
||||
@@ -81,6 +84,8 @@ public class SuperTuxKartActivity extends SDLActivity
|
||||
// ------------------------------------------------------------------------
|
||||
private native static void addDNSSrvRecords(String name, int weight);
|
||||
// ------------------------------------------------------------------------
|
||||
private native static void pauseRenderingJNI();
|
||||
// ------------------------------------------------------------------------
|
||||
private void showExtractProgressPrivate()
|
||||
{
|
||||
WindowManager wm =
|
||||
@@ -186,6 +191,8 @@ public class SuperTuxKartActivity extends SDLActivity
|
||||
public void onCreate(Bundle instance)
|
||||
{
|
||||
super.onCreate(instance);
|
||||
m_keyboard_height = new AtomicInteger();
|
||||
m_moved_height = new AtomicInteger();
|
||||
m_progress_dialog = null;
|
||||
m_progress_bar = null;
|
||||
m_splash_screen = null;
|
||||
@@ -204,12 +211,12 @@ public class SuperTuxKartActivity extends SDLActivity
|
||||
root.getWindowVisibleDisplayFrame(r);
|
||||
int screen_height = root.getRootView().getHeight();
|
||||
int keyboard_height = screen_height - (r.bottom);
|
||||
saveKeyboardHeight(keyboard_height);
|
||||
m_keyboard_height.set(keyboard_height);
|
||||
int moved_height = 0;
|
||||
int margin = screen_height - m_bottom_y;
|
||||
if (keyboard_height > margin)
|
||||
moved_height = -keyboard_height + margin;
|
||||
saveMovedHeight(-moved_height);
|
||||
m_moved_height.set(-moved_height);
|
||||
SDLActivity.moveView(moved_height);
|
||||
}
|
||||
});
|
||||
@@ -266,17 +273,31 @@ public class SuperTuxKartActivity extends SDLActivity
|
||||
}
|
||||
// ------------------------------------------------------------------------
|
||||
@Override
|
||||
public void onStart()
|
||||
{
|
||||
super.onStart();
|
||||
m_keyboard_height.set(0);
|
||||
m_moved_height.set(0);
|
||||
}
|
||||
// ------------------------------------------------------------------------
|
||||
@Override
|
||||
public void onPause()
|
||||
{
|
||||
super.onPause();
|
||||
hideKeyboardNative(false/*clear_text*/);
|
||||
if (SDLActivity.mSDLThread != null)
|
||||
pauseRenderingJNI();
|
||||
}
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
/* STK statically link SDL2. */
|
||||
/* SDL manually dlopen main to allow unload after main thread exit. */
|
||||
protected String[] getLibraries()
|
||||
{
|
||||
return new String[]{ "main" };
|
||||
return new String[]{ "SDL2" };
|
||||
}
|
||||
// ------------------------------------------------------------------------
|
||||
protected String getMainSharedObject()
|
||||
{
|
||||
return getContext().getApplicationInfo().nativeLibraryDir + "/libmain.so";
|
||||
}
|
||||
// ------------------------------------------------------------------------
|
||||
public void showKeyboard(final int type, final int y)
|
||||
@@ -499,5 +520,9 @@ public class SuperTuxKartActivity extends SDLActivity
|
||||
{
|
||||
handlePadding(isInMultiWindowMode);
|
||||
}
|
||||
// ------------------------------------------------------------------------
|
||||
public int getKeyboardHeight() { return m_keyboard_height.get(); }
|
||||
// ------------------------------------------------------------------------
|
||||
public int getMovedHeight() { return m_moved_height.get(); }
|
||||
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ if(WIN32)
|
||||
find_library(FREETYPE_LIBRARY NAMES freetype libfreetype PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib")
|
||||
set(FREETYPE_FOUND 1)
|
||||
set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY})
|
||||
elseif(APPLE)
|
||||
elseif(APPLE OR ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
|
||||
find_path(FREETYPE_INCLUDE_DIRS NAMES ft2build.h PATH_SUFFIXES freetype2 include/freetype2 include)
|
||||
find_library(FREETYPE_LIBRARY NAMES freetype)
|
||||
set(FREETYPE_FOUND 1)
|
||||
|
||||
@@ -14,6 +14,13 @@ SET(CMAKE_CXX_COMPILER "${HOST}-clang++")
|
||||
|
||||
set(CMAKE_SYSTEM_PROCESSOR ${ARCH})
|
||||
|
||||
# Starting NDK21 it enables NEON by default on 32-bit ARM target
|
||||
# Disable it to support more devices
|
||||
if("${ARCH}" STREQUAL "arm" AND NOT STK_ARM_NEON)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfpu=vfpv3-d16")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpu=vfpv3-d16")
|
||||
endif()
|
||||
|
||||
# here is the target environment located
|
||||
SET(CMAKE_FIND_ROOT_PATH $ENV{NDK_TOOLCHAIN_PATH})
|
||||
|
||||
|
||||
@@ -16,11 +16,6 @@ else()
|
||||
set(CLANG_ARCH ${CCTOOLS_ARCH})
|
||||
endif()
|
||||
|
||||
if (NOT CCTOOLS_PLATFORM MATCHES MacOSX)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fembed-bitcode")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fembed-bitcode")
|
||||
endif()
|
||||
|
||||
SET(CMAKE_C_COMPILER ${CCTOOLS_PREFIX}/bin/${CCTOOLS_ARCH}-${platform_lower}-clang)
|
||||
SET(CMAKE_CXX_COMPILER ${CCTOOLS_PREFIX}/bin/${CCTOOLS_ARCH}-${platform_lower}-clang++)
|
||||
SET(CMAKE_RANLIB ${CCTOOLS_PREFIX}/bin/${CLANG_ARCH}-apple-darwin11-ranlib)
|
||||
|
||||
@@ -59,6 +59,8 @@ set(LIBSAMPLERATE_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFOR
|
||||
set(LIBSAMPLERATE_INCLUDEDIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include CACHE STRING "")
|
||||
set(MOLTENVK_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libMoltenVK.a CACHE STRING "")
|
||||
set(VULKAN_INCLUDEDIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include CACHE STRING "")
|
||||
set(LIBASTCENC_LIBRARY ${PROJECT_SOURCE_DIR}/dependencies\${EFFECTIVE_PLATFORM_NAME}/lib/libastcenc.a CACHE STRING "")
|
||||
set(LIBASTCENC_INCLUDEDIR ${PROJECT_SOURCE_DIR}/dependencies-iphoneos/include CACHE STRING "")
|
||||
|
||||
# For universal iOS and simulator
|
||||
set(LIBRESOLV_LIBRARY -lresolv CACHE STRING "")
|
||||
@@ -99,12 +101,7 @@ set(CMAKE_C_OSX_CURRENT_VERSION_FLAG "-current_version ")
|
||||
set(CMAKE_CXX_OSX_COMPATIBILITY_VERSION_FLAG "${CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG}")
|
||||
set(CMAKE_CXX_OSX_CURRENT_VERSION_FLAG "${CMAKE_C_OSX_CURRENT_VERSION_FLAG}")
|
||||
|
||||
# For archive
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fembed-bitcode")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fembed-bitcode")
|
||||
|
||||
# Fixed variables in iOS STK
|
||||
set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE YES CACHE INTERNAL "")
|
||||
set(CMAKE_XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC NO CACHE INTERNAL "")
|
||||
set(CMAKE_XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN YES CACHE INTERNAL "")
|
||||
set(USE_WIIUSE FALSE CACHE BOOL "")
|
||||
|
||||
@@ -2,12 +2,15 @@
|
||||
# cmake .. -DLLVM_ARCH=aarch64 i686 or x86_64 -DLLVM_PREFIX=/path/to/llvm-mingw-prefix -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-llvm-mingw.cmake
|
||||
|
||||
# the name of the target operating system
|
||||
if(WIN32)
|
||||
SET(PATH_EXE .exe)
|
||||
endif()
|
||||
SET(CMAKE_SYSTEM_NAME Windows)
|
||||
|
||||
# which compilers to use for C and C++
|
||||
SET(CMAKE_C_COMPILER ${LLVM_PREFIX}/bin/${LLVM_ARCH}-w64-mingw32-clang)
|
||||
SET(CMAKE_CXX_COMPILER ${LLVM_PREFIX}/bin/${LLVM_ARCH}-w64-mingw32-clang++)
|
||||
SET(CMAKE_RC_COMPILER ${LLVM_PREFIX}/bin/${LLVM_ARCH}-w64-mingw32-windres)
|
||||
SET(CMAKE_C_COMPILER ${LLVM_PREFIX}/bin/${LLVM_ARCH}-w64-mingw32-clang${PATH_EXE})
|
||||
SET(CMAKE_CXX_COMPILER ${LLVM_PREFIX}/bin/${LLVM_ARCH}-w64-mingw32-clang++${PATH_EXE})
|
||||
SET(CMAKE_RC_COMPILER ${LLVM_PREFIX}/bin/${LLVM_ARCH}-w64-mingw32-windres${PATH_EXE})
|
||||
SET(CMAKE_SYSTEM_PROCESSOR ${LLVM_ARCH})
|
||||
SET(CMAKE_BUILD_TYPE RelWithDebInfo)
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -Wl,-pdb=")
|
||||
|
||||
@@ -87,20 +87,20 @@ Tracks
|
||||
- Steve and Oliver Baker : Original 'Oliver's Math Class'
|
||||
|
||||
Tracks
|
||||
- Typhon306 : 'Ancient Colosseum Labyrinth'
|
||||
- Typhon306 : 'Ancient Colosseum Labyrinth', updated 'Battle Island' & 'Cave X'
|
||||
|
||||
Karts
|
||||
- JunglePenguin : Xue
|
||||
- Minibjorn : Puffy
|
||||
- Cheleb : Nolok, Pidgin
|
||||
- Néd J. Édoire : Wilber, Hexley, Beastie
|
||||
- Typhon306 and McRavenINDo : Kiki
|
||||
- Typhon306 and ZAQraven99 : Kiki
|
||||
|
||||
Karts
|
||||
- Cédric Archambault : Suzanne
|
||||
- Julian Schönbächler : Amanda and Gavroche
|
||||
- Kinsu : Emule
|
||||
- McRavenINDo : GNU, Pepper, Sara, Adiumy
|
||||
- ZAQraven99 : GNU, Pepper, Sara, Adiumy, Konqi, Godette
|
||||
|
||||
Objects
|
||||
- GeekPenguinBR, TuxKartDriver : Models from Las Dunas Stadium
|
||||
@@ -166,7 +166,8 @@ Misc songs
|
||||
- The Dead Rocks
|
||||
- Magne Djupvik : 'Penguin Party'
|
||||
- Dundersylt : last lap, race start songs
|
||||
- GeekPenguinBR : 'Jumping to the stars'
|
||||
- GeekPenguinBR and Heuchi1 : 'Jumping to the stars'
|
||||
- Heuchi1 : 'Alien Signal'
|
||||
|
||||
Misc songs
|
||||
- Keith Baylis aka Vim : 'Boom-boom-boom song'
|
||||
|
||||
@@ -40,5 +40,7 @@
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>UIApplicationSupportsIndirectInputEvents</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
1432
data/cacert.pem
1432
data/cacert.pem
File diff suppressed because it is too large
Load Diff
@@ -23,7 +23,7 @@
|
||||
<size min="0.10"
|
||||
max="0.30" />
|
||||
|
||||
<color min="40 40 255"
|
||||
<color min="40 255 40"
|
||||
max="255 255 255" />
|
||||
|
||||
<wind flips="Y" />
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<size min="0.10"
|
||||
max="0.30" />
|
||||
|
||||
<color min="40 40 255"
|
||||
<color min="40 255 40"
|
||||
max="255 255 255" />
|
||||
|
||||
<wind flips="Y" />
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<size min="0.40"
|
||||
max="0.60" />
|
||||
|
||||
<color min="40 40 255"
|
||||
<color min="40 255 40"
|
||||
max="255 255 255" />
|
||||
|
||||
<wind flips="Y" />
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
x-increase-factor="1.6"
|
||||
y-increase-factor="1.6" />
|
||||
|
||||
<color min="40 40 255"
|
||||
<color min="40 255 40"
|
||||
max="255 255 255" />
|
||||
|
||||
</particles>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<size min="0.2"
|
||||
max="0.3" />
|
||||
|
||||
<color min="40 40 255"
|
||||
<color min="40 255 40"
|
||||
max="255 255 255" />
|
||||
|
||||
</particles>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
x-increase-factor="2.6"
|
||||
y-increase-factor="2.6" />
|
||||
|
||||
<color min="40 40 255"
|
||||
<color min="40 255 40"
|
||||
max="255 255 255" />
|
||||
|
||||
</particles>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
x-increase-factor="1.2"
|
||||
y-increase-factor="1.3" />
|
||||
|
||||
<color min="40 40 255"
|
||||
<color min="40 255 40"
|
||||
max="255 255 255" />
|
||||
|
||||
</particles>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<size min="0.2"
|
||||
max="0.3" />
|
||||
|
||||
<color min="40 40 255"
|
||||
<color min="40 255 40"
|
||||
max="255 255 255" />
|
||||
|
||||
</particles>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
y-increase-factor="5"
|
||||
/>
|
||||
|
||||
<color min="255 255 255"
|
||||
max="0 0 0" />
|
||||
<color min="0 0 0"
|
||||
max="255 255 255" />
|
||||
|
||||
</particles>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<size min="0.17"
|
||||
max="0.17" />
|
||||
|
||||
<color min="255 50 255"
|
||||
max="255 150 255" />
|
||||
<color min="255 255 50"
|
||||
max="255 255 150" />
|
||||
|
||||
</particles>
|
||||
|
||||
@@ -34,10 +34,15 @@
|
||||
<card os="android" disable="ColorBufferFloat"/>
|
||||
<card os="android" disable="TextureCompressionS3TC"/>
|
||||
<card contains="Adreno" os="android" version="<=19" disable="VertexIdWorking"/>
|
||||
<card os="android" version="<19" disable="SystemScreenKeyboard"/>
|
||||
<card contains="Android Emulator" os="android" disable="ForceLegacyDevice"/>
|
||||
<card contains="Android Emulator" os="android" disable="NpotTextures"/>
|
||||
<card contains="Apple Software Renderer" os="ios" disable="ForceLegacyDevice"/>
|
||||
<card contains="Apple Software Renderer" os="ios" disable="NpotTextures"/>
|
||||
<card vendor="Broadcom" os="linux" disable="HighDefinitionTextures256"/>
|
||||
<card contains="PowerVR SGX 520" disable="NpotTextures"/>
|
||||
<card contains="PowerVR SGX 530" disable="NpotTextures"/>
|
||||
<card contains="PowerVR SGX 531" disable="NpotTextures"/>
|
||||
<card contains="PowerVR SGX 535" disable="NpotTextures"/>
|
||||
<card contains="PowerVR SGX 540" disable="NpotTextures"/>
|
||||
<card contains="PowerVR SGX 545" disable="NpotTextures"/>
|
||||
</graphical-restrictions>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
<spacer height="5%" width="10" />
|
||||
|
||||
<buttonbar id="buttons" height="30%" width="30%" align="center">
|
||||
<buttonbar id="buttons" height="30%" width="70%" align="center">
|
||||
|
||||
<icon-button id="confirm" width="128" height="128" icon="gui/icons/green_check.png"
|
||||
I18N="In a 'are you sure?' dialog" text="Yes" align="center"/>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
<div width="100%" height="58%" layout="vertical-row">
|
||||
<div width="100%" height="15%" align="center" layout="vertical-row" >
|
||||
<label id="name" width="100%" text_align="center"/>
|
||||
<header id="name" width="100%" text_align="center"/>
|
||||
</div>
|
||||
<!-- This is filled in programmatically -->
|
||||
<div width="100%" height="85%" layout="horizontal-row">
|
||||
|
||||
@@ -31,6 +31,14 @@
|
||||
<label id="reverse-text" width="52%" height="fit" I18N="In the grand prix info screen" text="Reverse" text_align="left"/>
|
||||
</div>
|
||||
<spacer width="1" height="1%"/>
|
||||
<div width="100%" height="fit" layout="horizontal-row">
|
||||
<div width="45%" height="fit" layout="horizontal-row">
|
||||
<spinner id="time-target-spinner" width="100%" min_value="1" max_value="20" align="center" wrap_around="true" />
|
||||
</div>
|
||||
<spacer width="3%"/>
|
||||
<label id="time-target-text" width="52%" height="fit" I18N="In the grand prix info screen" text="Maximum time (min.)" text_align="left"/>
|
||||
</div>
|
||||
<spacer width="1" height="1%"/>
|
||||
<div width="100%" height="fit" layout="horizontal-row">
|
||||
<div width="45%" height="fit" layout="horizontal-row">
|
||||
<spinner id="track-spinner" width="100%" min_value="1" max_value="20" align="center" wrap_around="true" />
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
I18N="In the high score selection screen" text="Time Trial"/>
|
||||
<icon-button id="tab_egg_hunt" width="128" height="128" icon="gui/icons/mode_easter.png"
|
||||
I18N="In the high score selection screen" text="Egg Hunt"/>
|
||||
<icon-button id="tab_lap_trial" width="128" height="128" icon="gui/icons/mode_normal.png"
|
||||
I18N="In the high score selection screen" text="Lap Trial"/>
|
||||
<icon-button id="tab_grand_prix" width="128" height="128" icon="gui/icons/gp_new.png"
|
||||
I18N="In the high score selection screen" text="Grand Prix"/>
|
||||
</tabs>
|
||||
|
||||
@@ -17,14 +17,14 @@
|
||||
|
||||
<box proportion="1" width="100%" layout="vertical-row">
|
||||
<div x="1%" y="2%" width="98%" height="96%" layout="vertical-row" >
|
||||
<div width="19%" height="fit" layout="horizontal-row" >
|
||||
<label proportion="1" height="fit" text_align="left" I18N="In the online account settings screen" text="Password:"/>
|
||||
<div width="100%" height="fit" layout="horizontal-row" >
|
||||
<label width="fit" height="fit" text_align="left" I18N="In the online account settings screen" text="Password:"/>
|
||||
<spacer width="20" height="1"/>
|
||||
<button id="change_password_button" height="100%" width="fit" text="Change" />
|
||||
</div>
|
||||
<spacer height="5%" width="20"/>
|
||||
<div width="19%" height="fit" layout="horizontal-row" >
|
||||
<label proportion="1" height="fit" text_align="left" I18N="In the online account settings screen" text="E-mail:"/>
|
||||
<div width="100%" height="fit" layout="horizontal-row" >
|
||||
<label width="fit" height="fit" text_align="left" I18N="In the online account settings screen" text="E-mail:"/>
|
||||
<spacer width="20" height="1"/>
|
||||
<button id="change_email_button" height="100%" width="fit" text="Change" />
|
||||
</div>
|
||||
|
||||
@@ -35,10 +35,10 @@
|
||||
<div width="100%" height="fit" layout="horizontal-row">
|
||||
<spacer width="3%" height="100%" />
|
||||
<div layout="vertical-row" width="10f" height="fit">
|
||||
<gauge id="gfx_level" min_value="1" max_value="8" width="100%" align="center" />
|
||||
<gauge id="scale_rtts" min_value="0" max_value="7" width="100%" align="center" />
|
||||
</div>
|
||||
<div layout="vertical-row" proportion="1" height="100%">
|
||||
<label height="100%" I18N="In the video settings" text="Graphical Effects Level" align="left"/>
|
||||
<label id="scale_rtts_label" height="100%" I18N="In the video settings" text="Render resolution" align="left"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -47,10 +47,10 @@
|
||||
<div width="100%" height="fit" layout="horizontal-row">
|
||||
<spacer width="3%" height="100%" />
|
||||
<div layout="vertical-row" width="10f" height="fit">
|
||||
<gauge id="scale_rtts" min_value="0" max_value="7" width="100%" align="center" />
|
||||
<gauge id="gfx_level" min_value="1" max_value="8" width="100%" align="center" />
|
||||
</div>
|
||||
<div layout="vertical-row" proportion="1" height="100%">
|
||||
<label id="scale_rtts_label" height="100%" I18N="In the video settings" text="Render resolution" align="left"/>
|
||||
<label height="100%" I18N="In the video settings" text="Graphical Effects Level" align="left"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -90,13 +90,8 @@
|
||||
<spacer width="5" height="3%"/>
|
||||
|
||||
<!-- ************ RESOLUTION CHOICE ************ -->
|
||||
<spacer width="5" height="1%"/>
|
||||
<label width="100%" I18N="In the video settings" text="Resolution"/>
|
||||
|
||||
<scrollable_ribbon id="resolutions" height="20%" label_location="each"
|
||||
width="100%" square_items="false"
|
||||
align="center" child_width="128" child_height="128" />
|
||||
|
||||
<spacer width="5" height="1%"/>
|
||||
|
||||
<div layout="horizontal-row" width="100%" height="fit">
|
||||
@@ -115,6 +110,12 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<spacer width="5" height="1%"/>
|
||||
|
||||
<scrollable_ribbon id="resolutions" height="20%" label_location="each"
|
||||
width="100%" square_items="false"
|
||||
align="center" child_width="128" child_height="128" />
|
||||
|
||||
<spacer width="5" height="2%"/>
|
||||
|
||||
<div width="100%" height="fit" layout="horizontal-row" >
|
||||
|
||||
@@ -36,11 +36,13 @@
|
||||
</box>
|
||||
</div>
|
||||
<div id="vote" x="63%" y="1%" width="36%" height="88%" layout="vertical-row">
|
||||
<div width="100%" proportion="2" layout="horizontal-row">
|
||||
<div width="100%" height="92%" layout="horizontal-row">
|
||||
<box proportion="2" height="100%" layout="vertical-row">
|
||||
<list id="vote-list" width="100%" height="100%" word_wrap="true"/>
|
||||
</box>
|
||||
</div>
|
||||
<spacer height="1%"/>
|
||||
<textbox id="search_track" width="100%" height="fit"/>
|
||||
</div>
|
||||
<progressbar x="2%" y="93%" id="timer" height="1f" width="96%"></progressbar>
|
||||
</stkgui>
|
||||
|
||||
@@ -145,7 +145,6 @@
|
||||
visual-time: How long it takes for the visual skid to reach maximum.
|
||||
revert-visual-time: how long it takes when stopping a skid to revert
|
||||
the visual skid and bring visuals and physics in sync again.
|
||||
angular-velocity: Angular velocity to be used for the kart when skidding.
|
||||
min-speed: Minimum speed a kart must have before it can skid. Must be
|
||||
>0, otherwise the kart can skid at the start of the race.
|
||||
time-till-bonus: How long a kart needs to skid in order to get a bonus.
|
||||
|
||||
133
data/localized_name.tsv
Normal file
133
data/localized_name.tsv
Normal file
@@ -0,0 +1,133 @@
|
||||
language_code language_name
|
||||
aa ʿAfár af
|
||||
af Afrikaans
|
||||
am ኣማርኛ
|
||||
ar العربية
|
||||
as অসমীয়া
|
||||
ast Asturianu
|
||||
ay Aymar aru
|
||||
az Azərbaycanca
|
||||
be Беларуская мова
|
||||
bg български
|
||||
bn বাংলা
|
||||
bo བོད་སྐད་
|
||||
br Brezhoneg
|
||||
bs Bosanski
|
||||
ca Català
|
||||
co Corsu
|
||||
cs Čeština
|
||||
cs_CZ Čeština (Česká Republika)
|
||||
cy Welsh
|
||||
cy_GB Welsh (Great Britain)
|
||||
da Dansk
|
||||
da_DK Dansk (Danmark)
|
||||
de Deutsch
|
||||
de_AT Deutsch (Österreich)
|
||||
de_CH Deutsch (Schweiz)
|
||||
de_DE Deutsch (Deutschland)
|
||||
dz རྫོང་ཁ
|
||||
el ελληνικά
|
||||
en English
|
||||
en_AU English (Australia)
|
||||
en_CA English (Canada)
|
||||
en_GB English (Great Britain)
|
||||
en_US English (United States)
|
||||
en_ZA English (South Africa)
|
||||
eo Esperanto
|
||||
es Español
|
||||
et Eesti keel
|
||||
eu Euskara
|
||||
fa فارسى
|
||||
fi Suomi
|
||||
fo Føroyskt
|
||||
fr Français
|
||||
fr_CA Français (Canada)
|
||||
fr_CH Français (Suisse)
|
||||
fr_FR Français (France)
|
||||
fr_LU Français (Luxembourg)
|
||||
fy Frysk
|
||||
ga Gaeilge
|
||||
gd Gàidhlig
|
||||
gl Galego
|
||||
gn Avañe'ẽ
|
||||
gu ગુજરાતી
|
||||
gv Gaelg
|
||||
ha حَوْسَ
|
||||
he עברית
|
||||
hi हिन्दी
|
||||
hr Hrvatski
|
||||
hu Magyar
|
||||
hy Հայերեն
|
||||
ia Interlingua
|
||||
id Bahasa Indonesia
|
||||
is Íslenska
|
||||
it Italiano
|
||||
iu ᐃᓄᒃᑎᑐᑦ/inuktitut
|
||||
ja 日本語
|
||||
ka ქართული
|
||||
kk Қазақша
|
||||
kl Kalaallisut
|
||||
km ភាសាខ្មែរ
|
||||
kn ಕನ್ನಡ
|
||||
ko 한국어
|
||||
krl Karjalan kieli
|
||||
ku Kurdî
|
||||
kw Kernowek
|
||||
ky кыргызча
|
||||
la Latina
|
||||
lo ລາວ
|
||||
lt Lietuvių
|
||||
lv Latviešu
|
||||
jbo La .lojban.
|
||||
mg Malagasy
|
||||
mi Māori
|
||||
mk Македонски
|
||||
ml മലയാളം
|
||||
mn Монгол
|
||||
mn_MN Монгол
|
||||
mr मराठी
|
||||
ms Bahasa Melayu
|
||||
mt Malti
|
||||
my မြန်မာဘာသာ
|
||||
nb Norsk Bokmål
|
||||
nl Nederlands
|
||||
nn Norsk Nynorsk
|
||||
no Norsk Bokmål
|
||||
oc Occitan
|
||||
om Oromoo
|
||||
or ଓଡ଼ିଆ
|
||||
os ирон ӕвзаг
|
||||
pa ਪੰਜਾਬੀ
|
||||
pl Polski
|
||||
pms Piemontèis
|
||||
ps پښتو
|
||||
pt Português
|
||||
pt_BR Português Brasileiro
|
||||
qu Runa Simi
|
||||
rm Rumantsch
|
||||
ro Română
|
||||
ru Русский
|
||||
rw Kinyarwanda
|
||||
sc Sardu
|
||||
sco Scots
|
||||
se Sámegiella
|
||||
sk Slovenčina
|
||||
sl Slovenščina
|
||||
sq Shqip
|
||||
sr Српски
|
||||
sv Svenska
|
||||
sw Kiswahili
|
||||
szl Ślůnsko
|
||||
ta தமிழ்
|
||||
th ไทย
|
||||
tr Türkçe
|
||||
tt Татарча
|
||||
uk Українська
|
||||
ur اردو
|
||||
uz Oʻzbek tili
|
||||
vi Tiếng Việt
|
||||
yi ייִדיש
|
||||
zh 中文
|
||||
zh_CN 中文(简体)
|
||||
zh_HK 中文(香港)
|
||||
zh_TW 中文(繁體)
|
||||
|
@@ -1,237 +0,0 @@
|
||||
aa=ʿAfár af;
|
||||
af=Afrikaans;
|
||||
af_ZA=0;
|
||||
am=ኣማርኛ;
|
||||
ar=العربية;
|
||||
ar_AR=0;
|
||||
ar_OM=0;
|
||||
ar_SA=0;
|
||||
ar_SY=0;
|
||||
ar_TN=0;
|
||||
as=অসমীয়া;
|
||||
ast=Asturianu;
|
||||
ay=Aymar aru;
|
||||
az=Azərbaycanca;
|
||||
az_IR=0;
|
||||
be=Беларуская мова;
|
||||
bg=български;
|
||||
bg_BG=0;
|
||||
bn=বাংলা;
|
||||
bn_BD=0;
|
||||
bn_IN=0;
|
||||
bo=བོད་སྐད་;
|
||||
br=Brezhoneg;
|
||||
bs=Bosanski;
|
||||
bs_BA=0;
|
||||
bs_BS=0;
|
||||
ca_ES=0;
|
||||
ca=0;
|
||||
cmn=0;
|
||||
co=Corsu;
|
||||
cs=Čeština;
|
||||
cs_CZ=Čeština (Česká Republika);
|
||||
cy=Welsh;
|
||||
cy_GB=Welsh (Great Britain);
|
||||
cz=Unknown language;
|
||||
da=Dansk;
|
||||
da_DK=Dansk (Danmark);
|
||||
de=Deutsch;
|
||||
de_AT=Deutsch (Österreich);
|
||||
de_CH=Deutsch (Schweiz);
|
||||
de_DE=Deutsch (Deutschland);
|
||||
dk=Unknown language;
|
||||
dz=རྫོང་ཁ;
|
||||
el=ελληνικά;
|
||||
el_GR=0;
|
||||
en=English;
|
||||
en_AU=English (Australia);
|
||||
en_CA=English (Canada);
|
||||
en_GB=English (Great Britain);
|
||||
en_US=English (United States);
|
||||
en_ZA=English (South Africa);
|
||||
en_US=English;
|
||||
eo=Esperanto;
|
||||
es=Español;
|
||||
es_AR=0;
|
||||
es_CL=0;
|
||||
es_CO=0;
|
||||
es_CR=0;
|
||||
es_DO=0;
|
||||
es_EC=0;
|
||||
es_ES=0;
|
||||
es_GT=0;
|
||||
es_HN=0;
|
||||
es_LA=0;
|
||||
es_MX=0;
|
||||
es_NI=0;
|
||||
es_PA=0;
|
||||
es_PE=0;
|
||||
es_PR=0;
|
||||
es_SV=0;
|
||||
es_UY=0;
|
||||
es_VE=0;
|
||||
et=Eesti keel;
|
||||
et_EE=0;
|
||||
et_ET=0;
|
||||
eu=Euskara;
|
||||
eu_ES=0;
|
||||
fa=فارسى;
|
||||
fa_AF=0;
|
||||
fa_IR=0;
|
||||
fi=Suomi;
|
||||
fi_FI=0;
|
||||
fo=Føroyskt;
|
||||
fo_FO=0;
|
||||
fr=Français;
|
||||
fr_CA=Français (Canada);
|
||||
fr_CH=Français (Suisse);
|
||||
fr_FR=Français (France);
|
||||
fr_LU=Français (Luxembourg);
|
||||
fy=Frysk;
|
||||
ga=Gaeilge;
|
||||
gd=Gàidhlig;
|
||||
gl=Galego;
|
||||
gl_ES=0;
|
||||
gn=Avañe'ẽ;
|
||||
gu=ગુજરાતી;
|
||||
gv=Gaelg;
|
||||
ha=حَوْسَ;
|
||||
he=עברית;
|
||||
he_IL=0;
|
||||
hi=हिन्दी;
|
||||
hr=Hrvatski;
|
||||
hr_HR=0;
|
||||
hu=Magyar;
|
||||
hu_HU=0;
|
||||
hy=Հայերեն;
|
||||
ia=Interlingua;
|
||||
id=Bahasa Indonesia;
|
||||
id_ID=0;
|
||||
is=Íslenska;
|
||||
is_IS=0;
|
||||
it=Italiano;
|
||||
it_CH=0;
|
||||
it_IT=0;
|
||||
iu=ᐃᓄᒃᑎᑐᑦ/inuktitut;
|
||||
ja=日本語;
|
||||
ja_JP=0;
|
||||
ka=ქართული;
|
||||
kk=Қазақша;
|
||||
kl=Kalaallisut;
|
||||
km=ភាសាខ្មែរ;
|
||||
km_KH=0;
|
||||
kn=ಕನ್ನಡ;
|
||||
ko=한국어;
|
||||
ko_KR=0;
|
||||
krl=Karjalan kieli;
|
||||
ku=Kurdî;
|
||||
kw=Kernowek;
|
||||
ky=кыргызча;
|
||||
la=Latina;
|
||||
lo=ລາວ;
|
||||
lt=Lietuvių;
|
||||
lt=0;
|
||||
lv=Latviešu;
|
||||
lv_LV=0;
|
||||
jbo=La .lojban.;
|
||||
mg=Malagasy;
|
||||
mi=Māori;
|
||||
mk=Македонски;
|
||||
mk_MK=0;
|
||||
ml=മലയാളം;
|
||||
mn=Монгол;
|
||||
mn_MN=Монгол;
|
||||
mr=मराठी;
|
||||
ms=Bahasa Melayu;
|
||||
ms_MY=0;
|
||||
mt=Malti;
|
||||
my=မြန်မာဘာသာ;
|
||||
my_MM=0;
|
||||
nb=0;
|
||||
nb_NO=0;
|
||||
ne=0;
|
||||
nl=Nederlands;
|
||||
nl_BE=0;
|
||||
nl_NL=0;
|
||||
nn=Norsk nynorsk;
|
||||
nn_NO=0;
|
||||
no=Norsk bokmål;
|
||||
no_NO=0;
|
||||
no_NY=0;
|
||||
nr=0;
|
||||
oc=Occitan;
|
||||
om=Oromoo;
|
||||
or=ଓଡ଼ିଆ;
|
||||
os=0;
|
||||
pa=ਪੰਜਾਬੀ;
|
||||
pl=Polski;
|
||||
pl_PL=0;
|
||||
pms=Piemontèis;
|
||||
ps=پښتو;
|
||||
pt=Português;
|
||||
pt_BR=0;
|
||||
pt_PT=0;
|
||||
qu=Runa Simi;
|
||||
rm=Rumantsch;
|
||||
ro=Română;
|
||||
ro_RO=0;
|
||||
ru=Русский;
|
||||
ru_RU=0;
|
||||
rw=Kinyarwanda;
|
||||
sa=0;
|
||||
sc=Sardu;
|
||||
sco=0;
|
||||
sd=0;
|
||||
se=Sámegiella;
|
||||
se_NO=0;
|
||||
si=0;
|
||||
sk=Slovenčina;
|
||||
sk_SK=0;
|
||||
sl=Slovenščina;
|
||||
sl_SI=0;
|
||||
sl_SL=0;
|
||||
sm=0;
|
||||
so=0;
|
||||
sp=0;
|
||||
sq=Shqip;
|
||||
sq_AL=0;
|
||||
sr=Српски;
|
||||
sr_YU=0;
|
||||
ss=0;
|
||||
st=0;
|
||||
sv=Svenska;
|
||||
sv_SE=0;
|
||||
sv_SV=0;
|
||||
sw=Kiswahili;
|
||||
szl=Ślůnsko;
|
||||
ta=தமிழ்;
|
||||
te=0;
|
||||
tg=0;
|
||||
th=ไทย;
|
||||
th_TH=0;
|
||||
ti=0;
|
||||
tk=0;
|
||||
tl=0;
|
||||
to=0;
|
||||
tr=Türkçe;
|
||||
tr_TR=0;
|
||||
ts=0;
|
||||
tt=Татарча;
|
||||
ug=0;
|
||||
uk=Українська;
|
||||
uk_UA=0;
|
||||
ur=اردو;
|
||||
ur_PK=0;
|
||||
uz=0;
|
||||
vi=Tiếng Việt;
|
||||
vi_VN=0;
|
||||
wa=0;
|
||||
wo=0;
|
||||
xh=0;
|
||||
yi=ייִדיש;
|
||||
yo=0;
|
||||
zh=中文;
|
||||
zh_CN=中文(简体);
|
||||
zh_HK=中文(香港);
|
||||
zh_TW=中文(繁體);
|
||||
zu=0;
|
||||
1057
data/po/ar.po
1057
data/po/ar.po
File diff suppressed because it is too large
Load Diff
1126
data/po/be.po
1126
data/po/be.po
File diff suppressed because it is too large
Load Diff
982
data/po/bg.po
982
data/po/bg.po
File diff suppressed because it is too large
Load Diff
930
data/po/br.po
930
data/po/br.po
File diff suppressed because it is too large
Load Diff
930
data/po/bs.po
930
data/po/bs.po
File diff suppressed because it is too large
Load Diff
946
data/po/ca.po
946
data/po/ca.po
File diff suppressed because it is too large
Load Diff
994
data/po/cs.po
994
data/po/cs.po
File diff suppressed because it is too large
Load Diff
932
data/po/da.po
932
data/po/da.po
File diff suppressed because it is too large
Load Diff
954
data/po/de.po
954
data/po/de.po
File diff suppressed because it is too large
Load Diff
940
data/po/el.po
940
data/po/el.po
File diff suppressed because it is too large
Load Diff
930
data/po/en.po
930
data/po/en.po
File diff suppressed because it is too large
Load Diff
1241
data/po/eo.po
1241
data/po/eo.po
File diff suppressed because it is too large
Load Diff
953
data/po/es.po
953
data/po/es.po
File diff suppressed because it is too large
Load Diff
1853
data/po/et.po
1853
data/po/et.po
File diff suppressed because it is too large
Load Diff
1062
data/po/eu.po
1062
data/po/eu.po
File diff suppressed because it is too large
Load Diff
1095
data/po/fa.po
1095
data/po/fa.po
File diff suppressed because it is too large
Load Diff
948
data/po/fi.po
948
data/po/fi.po
File diff suppressed because it is too large
Load Diff
962
data/po/fr.po
962
data/po/fr.po
File diff suppressed because it is too large
Load Diff
946
data/po/fr_CA.po
946
data/po/fr_CA.po
File diff suppressed because it is too large
Load Diff
936
data/po/ga.po
936
data/po/ga.po
File diff suppressed because it is too large
Load Diff
942
data/po/gd.po
942
data/po/gd.po
File diff suppressed because it is too large
Load Diff
1485
data/po/gl.po
1485
data/po/gl.po
File diff suppressed because it is too large
Load Diff
1370
data/po/he.po
1370
data/po/he.po
File diff suppressed because it is too large
Load Diff
1011
data/po/hr.po
1011
data/po/hr.po
File diff suppressed because it is too large
Load Diff
1005
data/po/hu.po
1005
data/po/hu.po
File diff suppressed because it is too large
Load Diff
6413
data/po/ia.po
6413
data/po/ia.po
File diff suppressed because it is too large
Load Diff
934
data/po/id.po
934
data/po/id.po
File diff suppressed because it is too large
Load Diff
936
data/po/is.po
936
data/po/is.po
File diff suppressed because it is too large
Load Diff
992
data/po/it.po
992
data/po/it.po
File diff suppressed because it is too large
Load Diff
1024
data/po/ja.po
1024
data/po/ja.po
File diff suppressed because it is too large
Load Diff
938
data/po/jbo.po
938
data/po/jbo.po
File diff suppressed because it is too large
Load Diff
972
data/po/ko.po
972
data/po/ko.po
File diff suppressed because it is too large
Load Diff
930
data/po/krl.po
930
data/po/krl.po
File diff suppressed because it is too large
Load Diff
964
data/po/kw.po
964
data/po/kw.po
File diff suppressed because it is too large
Load Diff
940
data/po/ky.po
940
data/po/ky.po
File diff suppressed because it is too large
Load Diff
930
data/po/la.po
930
data/po/la.po
File diff suppressed because it is too large
Load Diff
930
data/po/lt.po
930
data/po/lt.po
File diff suppressed because it is too large
Load Diff
928
data/po/lv.po
928
data/po/lv.po
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
930
data/po/ml.po
930
data/po/ml.po
File diff suppressed because it is too large
Load Diff
6413
data/po/mn_MN.po
6413
data/po/mn_MN.po
File diff suppressed because it is too large
Load Diff
1620
data/po/nb.po
1620
data/po/nb.po
File diff suppressed because it is too large
Load Diff
1056
data/po/nl.po
1056
data/po/nl.po
File diff suppressed because it is too large
Load Diff
936
data/po/nn.po
936
data/po/nn.po
File diff suppressed because it is too large
Load Diff
998
data/po/oc.po
998
data/po/oc.po
File diff suppressed because it is too large
Load Diff
936
data/po/os.po
936
data/po/os.po
File diff suppressed because it is too large
Load Diff
933
data/po/pl.po
933
data/po/pl.po
File diff suppressed because it is too large
Load Diff
6413
data/po/pms.po
6413
data/po/pms.po
File diff suppressed because it is too large
Load Diff
979
data/po/pt.po
979
data/po/pt.po
File diff suppressed because it is too large
Load Diff
2135
data/po/pt_BR.po
2135
data/po/pt_BR.po
File diff suppressed because it is too large
Load Diff
936
data/po/ro.po
936
data/po/ro.po
File diff suppressed because it is too large
Load Diff
946
data/po/ru.po
946
data/po/ru.po
File diff suppressed because it is too large
Load Diff
6415
data/po/sc.po
6415
data/po/sc.po
File diff suppressed because it is too large
Load Diff
1470
data/po/sk.po
1470
data/po/sk.po
File diff suppressed because it is too large
Load Diff
1409
data/po/sl.po
1409
data/po/sl.po
File diff suppressed because it is too large
Load Diff
936
data/po/sq.po
936
data/po/sq.po
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user