442 Commits
1.3 ... 1.4

Author SHA1 Message Date
Benau
bea5b530a5 Create 1.4 release 2022-10-31 15:27:59 +08:00
Benau
9b866b901c Update replay files version 2022-10-31 15:26:56 +08:00
Benau
1d5613072c Update translation and AppData 2022-10-31 15:24:08 +08:00
Benau
5e841110f3 Update changelog 2022-10-31 15:15:41 +08:00
Benau
5e86dafe73 Update credits 2022-10-31 14:07:44 +08:00
Benau
412f30d2c1 Fix incorrect color emoji position after resizing window 2022-10-31 13:18:54 +08:00
Benau
4ad30fa2bf Update to latest noto color emoji 2022-10-31 12:26:37 +08:00
Benau
b69fd92524 Disable bitcode building for Xcode 14
From Apple:

Starting with Xcode 14, bitcode is no longer required for watchOS and
tvOS applications, and the App Store no longer accepts bitcode
submissions from Xcode 14.

Xcode no longer builds bitcode by default and generates a warning message
if a project explicitly enables bitcode: “Building with bitcode is
deprecated. Please update your project and/or target settings to disable
bitcode.” The capability to build with bitcode will be removed in a future
Xcode release. IPAs that contain bitcode will have the bitcode stripped
before being submitted to the App Store. Debug symbols for past bitcode
submissions remain available for download. (86118779)
2022-10-31 11:59:27 +08:00
Denis Kim
0546c1c91a Avoid triggering other goal lines when the goal is already scored (#4802) 2022-10-31 11:38:05 +08:00
Jörn Eichler
538e03c514 fix parachute powerup (#4738)
only deshield karts ahead of the kart firing the parachute
2022-10-31 11:37:54 +08:00
Benau
54973d0174 Fix missing news text in main menu if loading is too fast 2022-10-31 10:39:54 +08:00
Benau
61bd2a6e70 Fix legacy device in switch homebrew
Allow setting it from config.xml
2022-10-31 09:31:44 +08:00
Benau
cab25432c2 Update download assets size 2022-10-30 16:50:27 +08:00
Benau
440def908b Fix missing stk.nro 2022-10-30 15:29:11 +08:00
Licaon_Kter
3f08e4cbf4 make.sh - specify interpreter directly (#4807)
Run directly it fails with: `./make.sh: 203: Syntax error: "(" unexpected`

A scan on https://www.shellcheck.net/ shows too many issues, this needs to be redesigned a lot to be clean of bashisms
2022-10-30 13:10:06 +08:00
Benau
2707234ada Add armv7 and aarch64 detection in run_game.bat, see #4805 2022-10-28 13:39:06 +08:00
Benau
d2a1144cf4 Fix possible division by zero 2022-10-27 09:16:43 +08:00
Benau
b2d1f94adc Fix hovering ghost kart since 2696ef2 2022-10-26 12:55:03 +08:00
Benau
5beafdce8e Fix #4808 2022-10-25 09:48:22 +08:00
Benau
683f5ece7f Fix thunderbird traffic light in legacy video drivers 2022-10-24 13:39:01 +08:00
Benau
7109729010 Add slipstream meshes to irrlicht mesh cache
This enables instancing of them in vulkan engine
2022-10-23 10:02:54 +08:00
Benau
8358b7be0a Allow SMesh to be used in irrlicht mesh cache 2022-10-22 15:40:27 +08:00
Benau
9cd217acfe Add convertIrrlichtMeshToSPM 2022-10-21 08:40:23 +08:00
Benau
243f7f7008 Add slipstream rendering for all video drivers 2022-10-20 12:42:36 +08:00
Benau
0e142e645c Handle vertex color in render info for COGLES2FixedPipelineRenderer 2022-10-19 09:29:06 +08:00
Benau
58a00f7627 Store and render custom vertex color in GERenderInfo 2022-10-18 15:07:11 +08:00
Benau
1b604666c3 Fix sky particles rendering in modern gl3 too, see #2779 2022-10-17 09:33:51 +08:00
Benau
5ecdc11ffd Fix sky particles rendering in vulkan
Align them with the vertical axis
2022-10-16 12:08:02 +08:00
Benau
cfb10dbb1f Make sure sky particles always fall vertically 2022-10-15 14:31:07 +08:00
Benau
1fc460ff4e Add flips particle rendering for vulkan 2022-10-14 10:17:58 +08:00
Benau
46f44b5d59 Add getBulletQuaternion for MiniGLM 2022-10-13 12:12:07 +08:00
Benau
6cdc554d21 Avoid updating data descriptor sets every frame 2022-10-12 15:30:31 +08:00
Benau
26f96b0986 Allow GEVulkanDynamicBuffer to use a specific frame 2022-10-11 12:05:47 +08:00
Benau
f85f631c4b Return true if buffer resized 2022-10-10 10:26:05 +08:00
Benau
e9be8d91ef Avoid using VMA_MEMORY_USAGE_AUTO if possible 2022-10-09 09:37:18 +08:00
Benau
542ece64f9 Use triple buffer to avoid memcpy after fence 2022-10-08 13:04:22 +08:00
Benau
982a5b2be8 Reduce usage of local buffer in GEVulkanDrawCall 2022-10-07 11:48:39 +08:00
Benau
91dea5f50d Use VMA_MEMORY_USAGE_AUTO_PREFER_HOST for host buffer
This improves performance when particles are used
2022-10-06 16:12:44 +08:00
Benau
51a1396313 Allow creating different buffer sizes in GEVulkanDynamicBuffer 2022-10-05 11:08:52 +08:00
Benau
e5318d8ea9 Fix crash when minimizing in windows 2022-10-04 13:55:51 +08:00
Benau
d69f83c7cc Fix WRITE_AFTER_WRITE error:
vkCmdBeginRenderPass: Hazard WRITE_AFTER_WRITE vs. layout transition in
subpass 0 for attachment 1 aspect depth during load with loadOp
VK_ATTACHMENT_LOAD_OP_CLEAR.
2022-10-03 10:05:33 +08:00
Benau
b2404aadd2 Reduce instance data size
MoltenVK has no DrawIndex support yet
2022-10-02 16:41:09 +08:00
Benau
e1f8294008 Use dedicated buffer for sbo 2022-10-01 12:20:35 +08:00
Benau
421293b8e9 Add shader draw parameters detection 2022-09-30 14:42:06 +08:00
Benau
86c349e5f2 Properly check and enable vulkan extensions 2022-09-29 16:01:27 +08:00
Benau
51496cf5ef Fix moltenvk without binding all mesh textures 2022-09-28 08:56:15 +08:00
Benau
5424d4fe77 Fix typo in ge shaders 2022-09-27 15:21:08 +08:00
Benau
11a168b4bf Avoid error when particle size is zero 2022-09-26 10:36:01 +08:00
Benau
82218afc40 Reset video driver in GE when vulkan creation fails 2022-09-25 09:55:32 +08:00
Benau
3b5a1d6c74 Notarize macOS release build 2022-09-23 21:44:09 +08:00
Benau
dd9808fd05 Fix uninitialized m_current_ai 2022-09-22 16:32:54 +08:00
Benau
e4515e7454 Add AI number detection in server screen 2022-09-22 10:46:19 +08:00
Benau
cfd7fa662b Show a dialog and revert if device is not vulkan capable 2022-09-21 10:33:54 +08:00
Dmitry Marakasov
dd511638db Initialize vulkan handles properly 2022-09-20 23:47:45 +03:00
Benau
40f218e6c8 Update translation source 2022-09-20 11:30:44 +08:00
Benau
fdc4a19e1a Copy debug symbols for android build 2022-09-19 11:28:44 +08:00
Benau
4f0b9644a8 Update download assets size 2022-09-19 11:23:44 +08:00
Benau
0b405a8642 Update translation and AppData file 2022-09-19 10:35:12 +08:00
Benau
bf0db0497b Don't throw when missing texture during ondemand loading
It can happen when the texture is deleted later
2022-09-19 10:24:55 +08:00
Benau
25540fc6a7 Add CMAKE_BUILD_TYPE=Release when building shaderc 2022-09-19 09:51:00 +08:00
Benau
7a1706834f Default to opengl render for arm64 windows
The opengl compatibility pack is pre-installed on
arm64 windows according to a user
2022-09-19 00:12:51 +08:00
Benau
dd6768911d Build for armv7 windows
No installer as armv7 windows has no x86 emulation
2022-09-18 23:54:44 +08:00
Benau
f270b4acf8 Add particle rendering in vulkan 2022-09-18 11:31:06 +08:00
Benau
4d79ccdea5 Add different texture per draw call for billboard 2022-09-18 10:54:22 +08:00
Benau
50c22a5837 Use real transparent shader first in vulkan draw call 2022-09-18 08:18:47 +08:00
Benau
7199409de4 Fix vulkan projection matrix 2022-09-17 16:26:10 +08:00
Benau
53351257fc Use vertex color alpha to draw translucently 2022-09-16 11:15:36 +08:00
Benau
a36276811e Fix missing vertex color in gles2 driver
Also make sure all vertex colors are applied after colorization is done
2022-09-16 10:58:17 +08:00
Benau
b77160527c Fix texture matrix for gles2 driver 2022-09-15 09:01:55 +08:00
Benau
16173207ee Add colorization support for gles2 driver 2022-09-15 08:30:24 +08:00
Benau
9947c87fe1 Fix #4795 2022-09-15 01:11:14 +08:00
Benau
787d157933 Add billboard rendering in vulkan 2022-09-14 16:19:38 +08:00
Benau
b1fa45437f Add dedicated skybox textures folder 2022-09-13 14:23:04 +08:00
Benau
9804416a82 Fix transparent shader drawing order
Use the same order like current engine
2022-09-12 13:38:01 +08:00
Benau
bf8a411f01 Always use GESPMBuffer for GEVulkanDrawCall::m_materials key 2022-09-12 13:14:05 +08:00
Benau
23470bbde2 Add custom vertex color to instance data 2022-09-12 11:07:22 +08:00
Benau
48730d1db4 Add billboard text rendering in vulkan 2022-09-12 10:56:39 +08:00
Benau
7cc238e101 Remove friend class in GE::GESPMBuffer 2022-09-11 15:04:38 +08:00
Benau
76c39afd8b Add colorization for vulkan 2022-09-11 11:05:33 +08:00
Benau
d3ddcd884d Fix broken splitscreen network when no track selection screen 2022-09-11 09:16:19 +08:00
Benau
8eb8c6392e Don't spam logging about missing rewinder 2022-09-11 00:47:34 +08:00
Benau
f1fdc98779 Always send (empty if applicable) kart data to ensure forward compatibility 2022-09-11 00:41:21 +08:00
Benau
ebd380c0bc Allow using real addon karts in networking 2022-09-10 15:49:21 +08:00
Benau
39e3c189da Make it possible to enable kart exhaust in legacy device 2022-09-09 10:25:33 +08:00
Benau
e52a9dce59 Fix particle xml after code change 2022-09-09 10:08:54 +08:00
Benau
dcad21b830 Use uniform rendering code for particle rendering
1. Remove pow in shader and do srgb conversion in code

2. Fix setGreen and setBlue order

3. Multiply particle color first like vertex color in the other shaders

4. Fix incorrect smoothstep
2022-09-09 09:41:32 +08:00
Benau
155b73d452 Remove unneeded pow in transparent.frag
It's only used in 2d rendering so no srgb sampling is needed
2022-09-08 15:24:40 +08:00
Benau
efcdd79d42 Fix missing snowflake in icy soccer field
It used to work in 1.2 because the top of the invisible wall was
not covered, which will affect height map calculation. Now we
ignore physics only objects when doing the height map calculation.
2022-09-07 13:53:08 +08:00
Benau
4207714352 Use GE::GERenderInfo to draw ghost kart and ctf flag in vulkan 2022-09-06 15:46:05 +08:00
Benau
885e08c559 Fix ghost kart missing for non-colorizable kart 2022-09-06 09:54:07 +08:00
Benau
2d0c945dd8 Move RenderInfo class to GE 2022-09-05 16:22:04 +08:00
Benau
647988ad30 Load colorization data for vulkan 2022-09-05 13:39:02 +08:00
Benau
5252c78a05 Fix crash when getActiveCamera is used after rendering scene 2022-09-05 09:54:42 +08:00
Benau
4335d95215 Preload icon materials to avoid hang when firstly insert item 2022-09-04 11:37:09 +08:00
Benau
9a7e2f6c39 Simplify m_icon_node handling in item class
Item::handleNewMesh already creates new m_icon_node everytime
2022-09-04 11:12:07 +08:00
Benau
79bf026c74 Don't check for descriptor indexing properties on non-apple devices
Some drivers (like ivybridge on linux) report incorrect values and
make graphics pipeline creation crash later
2022-09-04 09:05:00 +08:00
Benau
90453e6128 Update AppData file game screenshots url 2022-09-04 08:35:32 +08:00
Benau
d93b5d3b8d Fix hang when switching kart in selection screen for vulkan 2022-09-03 12:04:44 +08:00
Benau
784b77723c Add missing vkCmdBindDescriptorSets for supportsBindMeshTexturesAtOnce 2022-09-03 10:30:54 +08:00
Benau
b0b9f44aeb Always use stable_sort to avoid flickering with alpha blending 2022-09-03 09:27:06 +08:00
Benau
d55eb56d78 Fix logic error in GEVulkanTexture::getTextureData 2022-09-02 19:37:37 +08:00
Benau
1eb19e5e13 Allow changing texture compression setting without restarting stk 2022-09-02 10:04:10 +08:00
Benau
caf9fb448b Take BPTC into account for texture compression support 2022-09-02 09:12:05 +08:00
Benau
0b4bf178d7 Add texture matrix support in vulkan 2022-09-02 09:07:43 +08:00
Benau
7a5f14cb37 Don't call KartPropertiesManager::onDemandLoadKartTextures on child process 2022-09-01 16:04:47 +08:00
Benau
ad8ba4d417 Mirror UV if needed in vulkan 2022-09-01 10:54:33 +08:00
Benau
089dd025f1 Implement GEVulkanTexture::getTextureSize correctly 2022-08-31 13:09:41 +08:00
Benau
3db036d67f Fix data race when deleting GEVulkanTexture 2022-08-31 12:36:55 +08:00
Benau
4ceec85edc Fix infinite GEVulkanTexture::waitImageView if createImageView failed 2022-08-31 11:20:04 +08:00
Benau
38b995bf61 Avoid hangs if reloading textures too much 2022-08-31 11:08:48 +08:00
Benau
c929002eba Fix crash when recreating irrlicht device 2022-08-30 09:44:31 +08:00
Benau
1703e829eb Keep fullscreen checkbox focus when toggling it 2022-08-30 09:27:54 +08:00
Deve
7a9300b56a Update linux builder 2022-08-29 20:12:48 +02:00
Benau
4f3dbb43a2 Fix bad gui after toggling fullscreen ingame 2022-08-29 14:55:02 +08:00
Benau
1f53895a25 Attempt to restore vulkan device after out focus in gnome fullscreen 2022-08-29 12:30:18 +08:00
Benau
97bc2696db Fix broken IrrDriver::cancelResChange 2022-08-29 11:06:12 +08:00
Benau
3d9828b6e3 Don't check for larger window size if fullscreen is used 2022-08-29 10:48:39 +08:00
Benau
d322720147 Add option to use original fullscreen code for vulkan 2022-08-29 10:30:31 +08:00
Benau
bba636263e Use fullscreen desktop for vulkan 2022-08-28 10:55:06 +08:00
Benau
e6f8dcfdb0 Make render scale configurable in ui for vulkan 2022-08-28 09:27:08 +08:00
Benau
8f061c6367 Remove depth attachement if rtt is used 2022-08-27 13:04:22 +08:00
Benau
d31281cb6f Add render scale support in vulkan 2022-08-27 12:49:17 +08:00
Benau
97e5064535 Use location, rotation and scale instead of model matrix in vulkan 2022-08-26 09:36:30 +08:00
Benau
514e3a50ad Fix uninitialized m_compressed_data 2022-08-25 15:20:04 +08:00
Benau
57c5446e55 Add GECompressorBPTCBC7 2022-08-25 15:13:23 +08:00
Benau
3e2de9419e Update download assets size 2022-08-24 12:00:07 +08:00
Benau
adedc7e80f Update translation, AppData and Desktop file 2022-08-24 11:56:49 +08:00
Benau
fefb3c1949 Mark skybox textures to be loaded on demand 2022-08-23 08:54:27 +08:00
Benau
5699ede148 Draw skybox before transparent objects 2022-08-22 10:53:07 +08:00
Benau
4f9d40f3b2 Add GEVulkanSkyBoxRenderer 2022-08-21 14:09:56 +08:00
Benau
5aa70333ce Add GEVulkanArrayTexture 2022-08-20 15:44:38 +08:00
Benau
694c1b6c29 Fix xcode build 2022-08-19 23:28:54 +08:00
Benau
5c26ac73df Fix bottom skybox uv and revert custom irrlicht change 2022-08-19 11:26:07 +08:00
Benau
058aa45894 Increase sampler size for max 20 karts in game 2022-08-18 14:56:44 +08:00
Benau
2d1c7385c6 Fix unlocked screen track screeshot display for vulkan 2022-08-17 15:49:10 +08:00
Benau
c2ab58148f Fix missing continue button in next cutscene part 2022-08-16 14:11:37 +08:00
Benau
7aff7f9ba9 Fix broken continue button in cutscene if long loading time 2022-08-15 09:44:12 +08:00
Benau
8fead715da Add onDemandLoadTrackScreenshots for all tracks 2022-08-14 15:21:37 +08:00
Benau
f777e01a21 Make kart textures loading ondemand if needed 2022-08-13 11:44:06 +08:00
Benau
e0636495f0 Add ondemand texture loading for vulkan 2022-08-12 13:07:53 +08:00
Benau
eace871c66 Add getImageSize for all image loaders 2022-08-11 14:46:00 +08:00
Benau
c698d4a601 Wait for GEVulkanCommandLoader to finish task before deleting textures 2022-08-10 11:07:54 +08:00
Benau
ed4dcc24c6 Fix CImageLoaderJPG::isALoadableFileFormat according to upstream 2022-08-09 10:20:04 +08:00
Benau
1b42688cbf Enable vulkan texture compression in ui 2022-08-09 10:03:56 +08:00
Benau
bed0acda7a Build shaderc in android without debug symbols 2022-08-09 09:26:05 +08:00
Benau
c6dafd4b80 Make isTextureCompressionEnabled return false for MOBILE_STK 2022-08-08 11:40:26 +08:00
Benau
1b671c932a Build libsquish and astc-encoder for android 2022-08-08 11:32:01 +08:00
Benau
d7390a1824 Add GECompressorASTC4x4 2022-08-07 15:33:54 +08:00
Benau
93dc6ed770 Fix GEVulkanTexture::getTextureData for compressed internal format 2022-08-06 11:01:54 +08:00
Benau
b4b0ddc620 Add GECompressorS3TCBC3 2022-08-06 09:48:11 +08:00
QwertyChouskie
4f32435ef2 Tweaks to crash report dialog (#4789)
* Use error icon in crash report dialog

Found this change when going through old folders, looks like it never made it in.

* Update crash error message

Improve grammar; avoid reports for one-off errors; link to proper subforum (id 17 is STK General)
2022-08-05 18:08:20 +08:00
Benau
118fc7fa96 Add GEMipmapGenerator 2022-08-05 12:15:08 +08:00
Benau
211c901335 Add checking for compute in main queue 2022-08-04 10:56:29 +08:00
Benau
c96881208a Use vkResetCommandPool for every frame commands 2022-08-03 13:44:59 +08:00
Benau
00e7b04f13 Add code to render vbo and ibo individually for some devices 2022-08-02 10:21:07 +08:00
Benau
0ad22efcf7 Re-order the buffer to use less memory 2022-08-02 00:56:11 +08:00
Benau
403f748b4a Add dynamic descriptor code for some devices 2022-08-02 00:25:36 +08:00
Benau
72b177c354 Fix incorrect vertex attribute 2022-08-01 09:13:20 +08:00
Benau
331ae9a30f Fix crash when GEVulkanTexture::getTextureData failed 2022-08-01 00:59:43 +08:00
Benau
83595d55a7 Add missing dstAccessMask for indirect command 2022-07-31 10:43:11 +08:00
Benau
2696ef2567 Add shader to render ghost kart 2022-07-30 09:03:56 +08:00
Benau
1a953b8a6c Add grass shader 2022-07-29 10:51:14 +08:00
Benau
c2c8468fa8 Sort drawing based on nodes surface area 2022-07-28 15:48:06 +08:00
Benau
e9d3152c1a Add more shaders 2022-07-28 13:37:09 +08:00
Benau
3f99e63a3c Don't use sampler array for non-single texture descriptor
Devices like Apple A8 don't support it
2022-07-27 13:54:22 +08:00
Benau
6d74e84609 Reduce vram usage by removing bones data in static spm 2022-07-27 11:45:09 +08:00
Benau
d37a3b8c7e Sort materials if needed 2022-07-26 13:21:07 +08:00
Benau
d4b2b03174 Add animated mesh rendering 2022-07-26 12:47:31 +08:00
Benau
8e1de345fb Add animation support in GEVulkanAnimatedMeshSceneNode 2022-07-26 00:12:35 +08:00
Benau
b75dec1fbc Move struct Armature to GE 2022-07-25 10:54:27 +08:00
Benau
61b87d3b31 Convert irrlicht mesh for addSphere 2022-07-25 10:05:46 +08:00
Benau
819b3ad27f Add minimap rendering 2022-07-25 09:41:35 +08:00
Benau
a2228adef1 Fix padding size calculation 2022-07-24 14:32:37 +08:00
Benau
593f78a230 Move MiniGLM to graphics engine folder 2022-07-24 12:22:06 +08:00
Benau
da0cce6cd6 Add render to texture support in GEVulkanDriver 2022-07-24 11:38:02 +08:00
Benau
99d565f961 Allow using custom command buffer for draw call 2022-07-24 08:54:47 +08:00
Benau
9f25652455 Fix one possible crash 2022-07-23 15:10:45 +08:00
Benau
d325e33fc0 Use multi-draw indirect if supported 2022-07-23 14:02:37 +08:00
Benau
7f31ffa552 Add anisotropic samplers 2022-07-23 10:58:37 +08:00
Benau
e991e06640 Implement high dpi support in sdl2 properly 2022-07-22 21:10:51 +08:00
Benau
ea69c36cb3 Fix splitscreen lod (mainly for karts) 2022-07-22 11:05:30 +08:00
Benau
bf77863c53 Simplify OnRegisterSceneNode of vulkan mesh nodes 2022-07-22 08:18:18 +08:00
Benau
3d0d666e09 Add texture mapping 2022-07-21 12:26:06 +08:00
Benau
fec21afc8e Add FileIncluder to shaderc compiler 2022-07-20 13:40:55 +08:00
Benau
e9924357cd Add polycount display in GEVulkanDriver 2022-07-20 10:37:09 +08:00
Benau
f768badee0 Add initial 3d rendering 2022-07-19 15:56:08 +08:00
Benau
44b2468003 Add GEVulkanDrawCall 2022-07-18 13:28:07 +08:00
Benau
5853d618a6 Add GEVulkanMeshSceneNode and GEVulkanAnimatedMeshSceneNode 2022-07-17 16:06:52 +08:00
Benau
fc7413800c Use GEVulkanTextureDescriptor on GEVulkan2dRenderer 2022-07-16 09:54:40 +08:00
Benau
713ab53272 Add GEVulkanTextureDescriptor to avoid refilling every frame 2022-07-15 14:09:57 +08:00
Benau
3769c18288 Remove hardcoded shader names 2022-07-14 15:25:16 +08:00
Benau
15eec8a8d2 Combine vbo and ibo buffers 2022-07-14 10:44:28 +08:00
Benau
c864b9bd60 Use vma in GEVulkanMeshCache 2022-07-13 12:09:45 +08:00
Benau
cf8bafaab3 Use vma in GEVulkanDynamicBuffer 2022-07-13 11:23:08 +08:00
Benau
b0f91ff33d Use vma in GEVulkanTexture 2022-07-12 15:46:33 +08:00
Benau
0f4a21ab6e Add Vulkan Memory Allocator 2022-07-11 12:58:03 +08:00
Benau
0b4ebc35b9 Add performance validation layer code 2022-07-10 15:36:27 +08:00
Benau
27b5770ea9 Add GEVulkanDepthTexture 2022-07-10 14:48:07 +08:00
Benau
7d94bf1f6f Update vk_mvk_moltenvk.h to latest version 2022-07-09 09:01:06 +08:00
Benau
90794c2c8f Only update bounding box of lod node every frame if needed 2022-07-08 23:20:57 +08:00
Benau
d0a177c3cc Fix hang when resizing window with vsync on 2022-07-08 11:46:17 +08:00
Benau
fa72ef7246 Fix matrix in GEVulkanCameraSceneNode::render 2022-07-07 13:08:44 +08:00
Benau
8ab63edd30 Save viewport in GEVulkanCameraSceneNode 2022-07-06 10:53:26 +08:00
Benau
4351926137 Fix possible crash if throw early 2022-07-06 10:06:28 +08:00
Benau
cc6914631a Don't upload if size is empty 2022-07-05 08:54:06 +08:00
Benau
defd58a465 Add getRealSize to GEVulkanDynamicBuffer 2022-07-04 14:51:59 +08:00
Benau
0875db0db6 Add buildCommandBuffers in GEVulkanDriver 2022-07-03 11:48:07 +08:00
Benau
dfd6a1820d Fix crash when closing in RTT screen 2022-07-02 10:52:20 +08:00
Benau
dc168e1b13 Better error handling when GEVulkanDriver construction fails 2022-07-01 12:52:07 +08:00
Benau
34ae56d33a Use matrix4 directly after the removal of sse 2022-06-30 16:49:51 +08:00
Benau
8fb0005020 Remove useless sse code in matrix4 2022-06-29 15:45:08 +08:00
Benau
3a64cc9f6a Fix uninitialized values in btKart 2022-06-28 10:08:33 +08:00
Benau
21d9b4bc70 Fix lod node after updateAbsolutePosition optimization 2022-06-27 13:22:07 +08:00
Benau
11fb04bd95 Fix sp mesh node after updateAbsolutePosition optimization 2022-06-26 09:46:08 +08:00
Benau
f63ce6917b Only updateAbsolutePosition if transformation changed 2022-06-25 11:54:06 +08:00
Benau
e599a7fff8 Disable minimap in vulkan driver for now 2022-06-24 13:23:01 +08:00
Benau
648c7c84d4 Clean up and optimize lod node 2022-06-23 16:00:08 +08:00
Benau
b8cb96b81f Add GEVulkanCameraSceneNode 2022-06-16 12:00:15 +08:00
Benau
4b17d2133a Try to allow cake and plunger to have collision callbacks 2022-06-13 16:16:26 +08:00
Benau
8ea38a6103 Fix memory leak 2022-06-09 15:18:20 +08:00
Benau
d85c1e3ee7 Use class inheritance for GEVulkanMeshCache 2022-06-08 13:38:24 +08:00
Benau
b0cddc462a Add GEVulkanSceneManager 2022-06-07 10:34:08 +08:00
Benau
ca1f61b898 Add GEVulkanMeshCache 2022-05-29 12:33:06 +08:00
Benau
95d9277046 Regenerate plural forms from po files 2022-05-28 15:44:18 +08:00
Benau
8affae4861 Update translation, add Macedonian 2022-05-28 15:38:22 +08:00
Benau
2b80513a8f Add getMonoTimeMs to GE 2022-05-27 09:41:34 +08:00
Benau
ac5351ae5e Add irrlicht device pointer to vulkan driver 2022-05-26 17:22:39 +08:00
Deve
78f871d7f2 Use OpenGL ES by default for RISC-V 2022-05-26 10:06:46 +02:00
Benau
364e380dfd Update translation source, AppData and Desktop file 2022-05-25 09:03:57 +08:00
Benau
090d2e8038 Add new things to Appdata generation script 2022-05-25 09:01:04 +08:00
Benau
4c97bcbae5 Update translation file from transifex 2022-05-25 08:58:54 +08:00
Benau
1bdeffc7ed Convert b3d to GE spm 2022-05-24 10:24:15 +08:00
Benau
92accb352e Convert spm to GE spm 2022-05-23 13:46:03 +08:00
David CARLIER
096b408b9c BSD build warning little fixes, implicit cast. 2022-05-22 11:20:38 +01:00
Benau
e666e08f2d Add GE spm code 2022-05-22 11:53:02 +08:00
Benau
350773d316 Add temporary code for GE spm 2022-05-21 08:55:59 +08:00
Benau
3b0df18167 Fix crash when rubber band hits its owner 2022-05-20 08:17:15 +08:00
Benau
f61dcb2ec3 Allow reading spm vertices in physics 2022-05-19 15:53:05 +08:00
David Carlier
db8fdb9ccf illumos/solaris build fix 2022-05-14 11:31:51 +01:00
Benau
b50e977cfe Add llvm mingw building instructions 2022-05-10 13:16:30 +08:00
Benau
c004588654 Allow llvm mingw toolchain to be used in windows 2022-05-10 10:05:01 +08:00
Benau
9c9f69856f Enable maximum parallelization by making vkWaitForFences closer 2022-05-05 09:30:29 +08:00
Benau
d2da2e22e1 Avoid address sanitizer error 2022-05-04 10:42:16 +08:00
Benau
281ddb1b17 Fix #4772 2022-05-03 09:32:14 +08:00
Benau
c739aeb758 Disable mipmap generation for too small textures 2022-05-02 10:42:32 +08:00
Benau
db4329cebf Remove unwanted architectures in apk properly 2022-05-01 09:55:06 +08:00
Benau
ac140c9cf2 Fix #4770 2022-05-01 08:36:56 +08:00
Benau
63e1afb835 Fix camera rotation angle for all platforms 2022-04-30 12:29:25 +08:00
Benau
ed14ab5091 Fix possible exit crash 2022-04-30 11:55:47 +08:00
Benau
ae2cfb4162 Fix gyroscope on walldriving surface properly 2022-04-30 10:45:33 +08:00
Benau
98eb912a76 Use simde on graphics_utils 2022-04-29 11:28:47 +08:00
Benau
383bd93261 Add simde 2022-04-29 11:02:25 +08:00
Benau
0f2b3da37e Fix sometimes missing overworld background music 2022-04-28 14:30:53 +08:00
Benau
ed6d7578a5 Avoid queue size race condition 2022-04-27 11:01:53 +08:00
Benau
96cd140c62 Avoid getListenerPos race condition 2022-04-26 12:42:11 +08:00
Benau
68240b5d2d Avoid getWorld race condition 2022-04-26 12:26:29 +08:00
Benau
fddc19225c Use array list for scene nodes 2022-04-26 10:55:24 +08:00
Deve
98763a10eb Use new build options for freetype in linux build script 2022-04-24 08:54:02 +02:00
Benau
972c719392 Add triangle fan 2d drawing for vulkan driver 2022-04-20 08:19:53 +08:00
Benau
1b92e99cfe Use a new sampler for 2d rendering 2022-04-19 13:18:59 +08:00
Benau
26bd8a5b8b Add mipmap generation for GEVulkanTexture 2022-04-19 12:49:05 +08:00
Benau
b0421569d0 Fix validation warnings when running vkDeviceWaitIdle 2022-04-18 13:46:59 +08:00
Benau
5d23d8d790 Add multithreading GEVulkanTexture loading 2022-04-18 12:16:27 +08:00
Benau
059fc9ebfd Add GE::getResizedImage using IReadFile 2022-04-18 10:46:23 +08:00
Markus Reitboeck
2876032630 Fix logical error in libraqm implementation
the first two conditions made the whole if condition
always true

I've copied the fix from the current implementation in
libraqm
https://raw.githubusercontent.com/HOST-Oman/libraqm/master/src/raqm.c
2022-04-17 14:23:52 +02:00
Benau
3d6c86d04e Clean up properly in case constructor throws 2022-04-17 14:42:36 +08:00
Benau
22f658239f Use GEVulkanCommandLoader for all 2022-04-17 14:37:52 +08:00
Benau
da665fc4fd Add GEVulkanCommandLoader with multithreading support 2022-04-17 14:08:29 +08:00
Benau
993073b7dc Update download assets size 2022-04-16 13:16:44 +08:00
Benau
5f9db20b4f Add IFileSystem::existFileOnly (not including directory) 2022-04-16 12:08:57 +08:00
Benau
57a9a8a2aa Add getTextureData for GEVulkanTexture 2022-04-16 11:31:09 +08:00
Benau
0dbbf1a6e6 Fix bluetooth mouse in iOS
See 19c129faba
2022-04-15 17:37:08 +08:00
Benau
99f1a2e03f Add moltenvk argument buffers support 2022-04-15 17:05:38 +08:00
Benau
a469d501f9 Fix gyroscope behaviour on walldriving surface, see #4750 2022-04-15 12:48:09 +08:00
Benau
b359c9548c Update build scripts for curl 7.81 and later 2022-04-14 10:29:05 +08:00
Benau
ae8df366fc Fix convertBGRA order in GEVulkanTexture::reloadInternal
Image manipulator should work on original color data
2022-04-13 10:04:28 +08:00
Benau
3fe53751c4 Move BGRA conversion out of upload in GEVulkanTexture 2022-04-12 15:16:26 +08:00
Benau
661a57b5fc Add a way to acquire file archives mutex 2022-04-11 14:32:36 +08:00
Benau
8df6bdf7c8 Move file system mutex to irrlicht 2022-04-11 13:57:06 +08:00
Benau
efe1070be7 Fix validation warning when using VK_SHARING_MODE_CONCURRENT 2022-04-10 10:56:04 +08:00
Benau
de09566b4a Avoid configurations xml lost if having disk space issue, see #4709 2022-04-09 14:59:57 +08:00
Benau
d6a3e48d03 Fix compiler warnings in MinGW 2022-04-09 12:53:20 +08:00
Benau
8bbb142394 Fix #4745 2022-04-09 10:43:30 +08:00
Markus Reitboeck
2c7cb7fa67 ReplayRecorder: write correct number of transformation into "size"
fixes #4758
2022-04-08 22:22:24 +02:00
Benau
d60a3a7c0c Add loadingFailed function for ITexture 2022-04-08 14:56:24 +08:00
Benau
d6db020bfe Add thread-safe existFile in IFileSystem 2022-04-08 14:35:04 +08:00
Mary Strodl
878f064ecf CImageLoaderSVG: don't rescale on server 2022-04-07 14:21:00 -04:00
Benau
4c4daf9698 Move screen height detection inside CImageLoaderSVG::loadImage 2022-04-07 08:51:25 +08:00
Benau
1655c243b7 Batch upload image command buffer 2022-04-06 11:35:22 +08:00
Benau
159cdcd06b Save max texture size before calling image manipulator 2022-04-06 10:17:49 +08:00
Benau
e6684040ba Fallback to VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR if needed 2022-04-05 10:43:23 +08:00
Benau
fb9d8f21ce Deactivate unusable settings in non-gl3 renderers 2022-04-04 08:50:46 +08:00
Benau
f2cc51a602 Fix mismatched max size for background.jpg when reloading 2022-04-03 10:54:27 +08:00
Benau
b6b565aabb Fix validation warning when reloading textures 2022-04-03 10:21:48 +08:00
Benau
24a9c99e03 Fix one validation warning 2022-04-03 09:55:17 +08:00
Benau
a98a470ea8 Implement live updating swap interval value for vulkan 2022-04-02 14:17:27 +08:00
Benau
3994ce5666 Add workaround for https://gitlab.freedesktop.org/mesa/mesa/-/issues/5516 2022-04-02 13:41:52 +08:00
Benau
067ac4fe01 Implement resume behaviour for mobile stk 2022-04-02 13:33:08 +08:00
Benau
4d2c65ade9 Add render driver switch in lobby command 2022-04-01 12:19:21 +08:00
Benau
6c7e4f25ea Quit the app if vkQueueSubmit with fence fails
It prevents infinitive vkWaitForFences later
2022-04-01 10:16:28 +08:00
Benau
601511e7f4 Split device polling out of renderLoading 2022-04-01 09:59:46 +08:00
Benau
1c99ba2562 Fix clang warnings 2022-03-31 11:55:23 +08:00
Benau
9c7fb99e53 Fix one validation warning 2022-03-31 11:34:47 +08:00
David Carlier
4f4fb01ed7 upstreaming change for settings paths for haiku.
original author @threedeyes slighty adapted.
2022-03-29 22:28:23 +00:00
Benau
cd9e2f0adf Remove always exiting behaviour when pausing vulkan enabled stk 2022-03-28 15:30:42 +08:00
Panagiotis "Ivory" Vasilopoulos
0c147c0a0b Fix URLs on Haiku
My general strategy of getting ports to work on Haiku is to just take advantage
of whatever makes things work on FreeBSD by adding an additional condition and
then fixing up things later once it compiles successfully. This generally
works, as Haiku contains FreeBSD headers for compatibility and code that
takes other operating systems into account other than Windows, Linux and OS X
and has a higher degree of POSIX compatibility tends to work on FreeBSD and
Haiku. This strategy is not perfect, and this commit proves it.

Haiku is the successor of BeOS, which, in turn, shows similarities to macOS
every now and then, as the company almost acquired Be, Inc., but later chose to
acquired NeXT, Inc. instead.

`xdg-open` is not available on Haiku by default the same way it is on
FreeBSD and Linux. With that in mind, this should fix URLs, which do
not not work properly on Haiku. Actually, nevermind, I forgot that there
is actually a package available that adds support for them. But still.
The less dependencies, the better, probably. This is also how other
packages with ports available on Haiku solve this problem.
2022-03-27 21:22:48 +02:00
David Carlier
37a57d0011 Fix build for Haiku and a handful of other oses with the spirv-tools dependency. 2022-03-26 15:05:08 +00:00
Benau
bed91e67a0 Handle device orientation with vulkan pre-rotation 2022-03-26 00:19:09 +08:00
Benau
3d92730a82 Fix incorrect android screen rotation with vulkan 2022-03-25 09:04:08 +08:00
Benau
68eb70e7e6 Use dynamic viewport for GEVulkan2dRenderer 2022-03-24 16:37:34 +08:00
Benau
23cd67f45c Implement draw2DRectangle for GEVulkanDriver 2022-03-23 10:53:00 +08:00
Benau
9e50c8a71f Remove unneeded files, fix #4751 2022-03-22 07:51:45 +08:00
Benau
3e2ff91654 Add dynamic scissor support 2022-03-21 11:54:28 +08:00
Benau
ea1733ed08 Add drawing code for devices with low sampler images 2022-03-20 13:35:22 +08:00
Benau
bb6551fdf6 Add drawing code for devices without descriptor indexing 2022-03-19 16:09:32 +08:00
Benau
1cf2c0c5bf Add initial 2D vulkan rendering 2022-03-19 15:14:55 +08:00
Benau
cb607a16ff Add GEVulkanShaderManager 2022-03-18 16:24:33 +08:00
Benau
89afd214e8 Require shaderSampledImageArrayDynamicIndexing for vulkan 2022-03-18 09:24:55 +08:00
Benau
1d0d2ebb75 Fix windows xp support 2022-03-17 15:12:08 +08:00
Benau
5128fc3a88 Add link to download python for windows 2022-03-17 14:30:21 +08:00
Benau
77ca4625c1 Add shaderc for android 2022-03-17 14:25:11 +08:00
Benau
9ea2f3ff8c Fix cctools build 2022-03-17 14:06:27 +08:00
Benau
38a553513c Fix switch build 2022-03-17 13:52:46 +08:00
Benau
f01959de8b Disable documentation generation for shaderc 2022-03-17 13:36:27 +08:00
Benau
2bc31f1518 Disable shared libraries manually for shaderc 2022-03-17 13:12:55 +08:00
Benau
bc1d885bd1 Add shaderc v2022.1 for GLSL to SPIR-V shaders
Ran ./utils/git-sync-deps already, removed some unneeded files
2022-03-17 12:21:20 +08:00
Benau
c19327aaeb Fix vsync disabled 2022-03-16 15:43:26 +08:00
Benau
a7994c02d8 Fix command buffers size 2022-03-16 12:37:18 +08:00
Benau
d6265f3bf7 Handle possible error from createTextureImage 2022-03-15 14:04:36 +08:00
Benau
4b28f5b9af Wait queue to become idle before deleting texture 2022-03-15 12:42:31 +08:00
Benau
ea275ae798 Use a correct layout during updateTexture 2022-03-14 09:43:22 +08:00
Benau
f35f402edf Fix VkDeviceQueueCreateInfo warning 2022-03-13 10:54:35 +08:00
Benau
4a93bea962 Fix MSVC 2015 build 2022-03-12 16:43:32 +08:00
David Carlier
9fb568eaa7 widening a bit smart pointers usage considering xml data. 2022-03-12 07:43:13 +00:00
David Carlier
18018a5cc1 scoped deref mem utils intro proposal.
trying out in two cases for now.
2022-03-06 19:02:15 +00:00
Benau
854c31be9d Update CREDITS 2022-03-05 08:57:39 +08:00
Benau
d2b2e80faa Fix #4737 2022-03-03 14:39:45 +08:00
Benau
8a5ecc458f Fix apple build 2022-03-01 16:25:25 +08:00
Benau
7bccb0b779 Remove build cache for msvc 2022-03-01 16:06:48 +08:00
Benau
17a899aa2c Fix exit crash 2022-03-01 15:59:48 +08:00
Benau
8b68f52e57 Add GEVulkanTexture 2022-03-01 13:22:20 +08:00
David Carlier
fcf7cf953f http curl client favoured new progress api if supported.
suppress openssl warning with openssl 3.0
2022-02-26 11:49:44 +00:00
Benau
c63faf395f Remove unneeded character saving, we always get it from translated string if needed
It causes undefined behavior in C++20, see #4735
2022-02-25 11:20:52 +08:00
Benau
dcdc66b8f5 Fix undefined behavior in C++20, see #4735 2022-02-25 11:13:27 +08:00
Benau
09e7a38c52 Update for windows-latest 2022-02-18 15:04:00 +08:00
luffah
bd1b20ad35 Minimap and powerup icon settings in user settings
- add size and display settings for powerup icon in user settings
 - move minimap display settings in user settings
 - fix some comments in stk_config.xml
2022-02-13 22:36:20 +01:00
tippfehlr
9a3c51815a Add DisplayVersion to Windows registry on install (+typo) (#4730)
Winget relies on this value to get the version of a program.
If it's missing winget will just download the newest version even if the program is up to date.
See https://github.com/microsoft/winget-cli/issues/1255
2022-02-13 11:30:56 +08:00
David CARLIER
1f0ea77f80 illumos port. (#4732)
overcoming sun constant defined in this platform.
forcing 64 bits build as angelscript assembly is incorrect for 32 bits.
2022-02-13 00:31:14 +08:00
Michael Cochez
eb7a5b2ee6 m_gravity was set on the line above, so the condition will always be false. 2022-02-12 00:39:45 +01:00
Benau
c3b2eaf3e2 Allow adding players when using enter server dialog 2022-02-04 13:47:41 +08:00
Benau
b411f8c60d Remove unneeded sprintf 2022-02-03 10:51:15 +08:00
Kuba
65afb72c98 Fix assertion failed introduced in #4723 (#4728) 2022-01-28 09:56:00 +08:00
Benau
6e347ae517 Fix #4726 2022-01-27 07:18:45 +08:00
Semphris
fa442aacce Ignore clangd files 2022-01-26 11:57:46 -05:00
mrkubax10
b80df76116 Fix wrong lap count in GP result 2022-01-26 12:37:13 +01:00
Semphriss
01a78ba594 Improved code quality in item.cpp (#4722)
Fixes bug where a bubblegum shield popping/bursting will leave an invisible gum object behind
2022-01-26 09:13:51 +08:00
Lois Doyenard
3d4cb58af5 Accept emails with format e.email (from #4718) 2022-01-25 10:48:38 +01:00
Lois Doyenard
b66e0d0d0d More precise error message for online unsername (2 & 3 from #3599) 2022-01-25 10:04:44 +01:00
Semphriss
96c0d167bf Items animation (#4713) 2022-01-25 13:07:04 +08:00
Benau
3ccdfaf70d Add createSamplers for GEVulkanDriver 2022-01-23 16:43:33 +08:00
Benau
8e64c69c5d Add command creation for GEVulkanDriver 2022-01-22 00:41:24 +08:00
Benau
2f4093516a Add createSyncObjects for GEVulkanDriver 2022-01-22 00:18:42 +08:00
Benau
9e321d804e Fix #4711 2022-01-11 09:24:01 +08:00
Semphris
9b6347d62d Added animation to stars 2022-01-09 23:49:24 -05:00
Deve
5999ff94ab Use more cores for package compression 2022-01-05 23:50:12 +01:00
Deve
364d387aa1 Remove rpath after compilation 2022-01-05 23:34:13 +01:00
ldoyenard
886783db31 Add left side ghost replay difficulties (#4707) 2022-01-05 10:16:23 +08:00
Benau
d4ed01b467 Disable accelerometer or gyroscope control if gamepad events trigger, fixed #4705 2022-01-04 09:37:59 +08:00
Benau
76a08d9f30 Remove hardcoded android build settings and update to latest gradle 2022-01-03 11:04:55 +08:00
Benau
f0f498d53f Add createSwapChain for GEVulkanDriver 2021-12-28 13:51:03 +08:00
Benau
3f99d279a7 Update for SDL 2.0.18 2021-12-24 10:57:13 +08:00
Benau
baeafd9f7d Fix missing ime candidate window using SDL2 hint 2021-12-24 09:43:06 +08:00
Benau
7dc8f3e958 Fix order of ghost replay difficulties depending on race result 2021-12-23 00:47:57 +08:00
STK-Waldlaubsaengernest
c09305b236 Fix #4698 2021-12-22 12:14:33 +01:00
Stanislas Dolcini
0a99c667ef Request AMD GPU on Enduro Devices
It seems AMD provides an equivalent to `NvOptimusEnablement` called `AmdPowerXpressRequestHighPerformance`

See https://gpuopen.com/learn/amdpowerxpressrequesthighperformance/
2021-12-12 22:35:57 +01:00
Benau
ccf6ff2686 Fix possible incorrect difficulty shown in result screen when watching single replay 2021-12-09 12:39:57 +08:00
Lois Doyenard
be16d24170 Fix #3849 2021-12-08 11:28:28 +01:00
Benau
087892e183 Fix compiler warnings 2021-12-07 09:33:26 +08:00
STK-Waldlaubsaengernest
a0cc6c95c2 Update player list if state changes to WAITING_FOR_START_GAME (#4685) 2021-12-06 23:21:50 +01:00
STK-Waldlaubsaengernest
97eb45b93b Make limit of players in game configurable (#4685) 2021-12-05 16:46:49 +01:00
Benau
d8af4bc17e Fix #4675 2021-12-03 14:06:40 +08:00
Benau
75a5f81578 Fix valgrind errors 2021-12-03 13:41:02 +08:00
Benau
4a72a79582 Fix #3849 2021-12-03 11:04:43 +08:00
Benau
b286ee9195 Fix #4687 2021-12-03 10:23:31 +08:00
Benau
d1c0acac83 Fix #4653 2021-12-03 10:16:30 +08:00
Benau
ea5aabde0d Fix server name missing in title when leaving live join kart selection screen 2021-11-29 00:59:56 +08:00
Benau
b4411b11fe Fix #4677 2021-11-26 18:29:22 +08:00
Varro33
6b022368cf Fix irrlicht error indent (#4676) 2021-11-22 21:49:15 +08:00
Benau
38425305a5 Remove useless translation po files 2021-11-15 11:16:53 +08:00
Benau
571366a461 Add missing country code to language selection 2021-11-15 11:05:44 +08:00
Benau
33e6110737 Update localized language names and use tsv file for them 2021-11-15 10:58:48 +08:00
Benau
d064f8d96e Update translation source 2021-11-14 16:20:08 +08:00
Benau
844d97ed52 Improve description for lap trial mode 2021-11-14 16:17:02 +08:00
Benau
dfd1912c33 Add track searching to network track screen 2021-11-14 16:11:21 +08:00
Benau
c26b3c989b Fix #4671 2021-11-14 15:31:41 +08:00
이경로
1a11da01bc Revised email issue and some kr translation (#4673) 2021-11-14 15:20:15 +08:00
Benau
7582a00b91 Update target SDK to 30 due to google play requirement 2021-11-12 12:24:42 +08:00
Benau
712822a5f5 Update download assets size 2021-11-12 10:23:41 +08:00
Benau
4d08ea2335 Update Noto Emoji to support Unicode 14 2021-11-11 17:07:51 +08:00
Bryan Quigley
bee1c222af Always AS_MAX_PORTABILITY on AArch 2021-11-07 23:43:05 -08:00
Bryan Quigley
b710fab5c8 STK modifications to angelscript to let Windows/Apple builds
(and 3 forgotten source files)
2021-11-06 10:12:01 -07:00
Bryan Quigley
73c94f571d Update Angelscript from 2.32.0 to 2.35.1
Didn't require any changes except dos2unix.
2021-11-04 17:59:10 -07:00
Kuba
0d8b01b08b Lap Trial improvements (#4664) 2021-11-03 09:39:22 +08:00
Kuba
3623fa8f5f Add Lap Trial mode (#4663) 2021-11-02 03:02:16 +08:00
QwertyChouskie
8b5b68585c Allow specifying a base skin
Anything not provided or defined by a skin will be used from the defined base skin, if specified.

For example, if a skin provides a base_theme of "cartoon", any icons/buttons/etc. not provided by the skin will be pulled from "cartoon".
2021-11-01 00:11:31 +08:00
QwertyChouskie
aee11c6de6 Use getThemedIcon instead of duplicated code 2021-11-01 00:11:31 +08:00
QwertyChouskie
14c1f7b344 Remove dead code block
The way this code was written, it would never be triggered in any real scenario (confirmed by running STK with a Log::fatal before the return)
2021-11-01 00:11:31 +08:00
QwertyChouskie
9ca2c2eddc Remove ugly font/skin loading hack
font_manager->loadFonts() needs data from the GUI skin.  Move this initialization to after we naturally have the data, instead of doing an extra dummy initialization just to get this data.
2021-11-01 00:11:31 +08:00
Benau
1470eb3939 Fix possible crash in discord rpc 2021-10-30 10:04:17 +08:00
lokpro
1fd18c8d88 add UserConfigParams: m_gp_reverse, random-gp-num-tracks for GPInfoScreen (#4656) 2021-10-28 10:15:26 +08:00
QwertyChouskie
ce19c9396e Delete implementation.txt
I didn't realize this file still existed, looks like all this is from the TuxKart days (2000-2004) and has no relevancy anymore.
2021-10-27 12:37:11 -07:00
fmesnier
8f79b24f49 correction of the implementation.txt file (#4655) 2021-10-28 00:58:26 +08:00
Heuchi
e110948eb5 add configuration for item return times in stk_config.xml 2021-10-24 10:02:05 +02:00
lokpro
550458bebd fix 1734d74c6b - only use ranks in GP, else use row number. 2021-10-23 00:03:54 +08:00
lokpro
1734d74c6b fix race_result_gui's GP ranks after RR_RESORT_TABLE 2021-10-22 01:22:25 +08:00
Benau
6809c9585d Add don't show again button to driver dialogs, fix #4645 2021-10-10 16:43:49 +08:00
Benau
786dc6b08f Fix broken recording saving with unicode path in windows 2021-10-08 15:49:53 +08:00
Benau
1c983f7090 Remove 1.3-rc1 in AppData
Also update translation source
2021-10-08 11:36:05 +08:00
Mary
b2e9033998 SDLController: Drop support for SDL 1.x (#4644) 2021-10-08 11:19:42 +08:00
Benau
1cce43b2fa Fix MIPS compilation 2021-10-07 16:30:32 +08:00
Kalev Lember
164c51cb2e Always build tinygettext as a static library
Explicitly pass STATIC to tinygettext add_library() call to make sure
it's always built as static, even when distro's cmake is configured to
build libs shared by default.
2021-10-07 00:52:32 +02:00
Benau
501d8b55ab Fix some typos 2021-10-06 15:22:32 +08:00
Benau
e8074fa392 Update debian build instruction 2021-10-06 13:54:11 +08:00
Mary
fe7dd8af14 Allow setting auto-center property for racing wheels (closes #4636) (#4641) 2021-10-06 13:24:27 +08:00
Benau
013b065f2c Allow disabling loading of addon karts or tracks, fix #4637 2021-10-05 11:58:23 +08:00
Benau
39f7e6441a Fix random player position in FTL 2021-10-05 11:34:51 +08:00
Benau
6f7c8c3dd8 Exit if make_deps.sh failed in android_builder.sh 2021-10-05 10:00:38 +08:00
Benau
835154bde2 Handle SDL_RENDER_DEVICE_RESET event 2021-10-04 21:16:26 +08:00
Benau
9b25557e6e Remove restriction for android screen keyboard after using SDL2 2021-10-04 20:17:27 +08:00
Benau
b518d73417 Synchronize AndroidManifest.xml with upstream SDL2 2021-10-04 20:16:05 +08:00
Benau
3d575a50a7 Get rid of the exit(0) at the end of android_main() function
After NDK r22 it longer crashes after dlclose, see:
https://github.com/android/ndk/issues/1200

Fix #3000
2021-10-04 20:10:41 +08:00
Benau
75db65d43a Build with NDK r22, disable NEON on 32-bit ARM to support more devices 2021-10-04 18:15:21 +08:00
Benau
17329a1b29 Register native functions in SDL_main 2021-10-04 13:01:00 +08:00
Benau
4db68a3f10 Build SDL2 and hidapi as shared library 2021-10-04 11:41:04 +08:00
Benau
db03304cf1 Sign MacOS bundle with Ad Hoc (required by arm64) 2021-10-04 00:32:43 +08:00
Benau
9bf537ab35 Update cacert.pem and remove expired DST Root CA X3 certificate 2021-10-03 01:39:50 +08:00
Benau
87fd3f221a Make /installaddon possible to upgrade addon 2021-10-01 14:23:47 +08:00
Benau
fa1ddbd839 Remove compiler warning 2021-10-01 12:57:07 +08:00
Benau
93ab5a75c1 Only handle enter key after buttons are shown in race result screen 2021-10-01 12:54:54 +08:00
Kuba
ca04106253 Fix wrong win message in races only with 1 kart (#4632) 2021-10-01 01:57:45 +08:00
Richard Qian
d5f8496abc Enable grand prix races in high score dialog (#4626) 2021-09-30 09:57:59 +08:00
iwoithe
95de01a8fb Add a user config option to randomize the player position at the start (#4627) 2021-09-29 11:40:14 +08:00
2277 changed files with 753095 additions and 72799 deletions

View File

@@ -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

View File

@@ -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
View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

@@ -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

View File

@@ -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.
---

View 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)

View File

@@ -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>

View File

@@ -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

View 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']
}

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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(); }
}

View File

@@ -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)

View File

@@ -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})

View File

@@ -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)

View File

@@ -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 "")

View File

@@ -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=")

View File

@@ -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'

View File

@@ -40,5 +40,7 @@
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
</dict>
</plist>

File diff suppressed because it is too large Load Diff

View File

@@ -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" />

View File

@@ -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" />

View File

@@ -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" />

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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"/>

View File

@@ -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">

View File

@@ -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" />

View File

@@ -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>

View File

@@ -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>

View File

@@ -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" >

View File

@@ -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>

View File

@@ -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
View 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 language_code language_name
2 aa ʿAfár af
3 af Afrikaans
4 am ኣማርኛ
5 ar العربية
6 as অসমীয়া
7 ast Asturianu
8 ay Aymar aru
9 az Azərbaycanca
10 be Беларуская мова
11 bg български
12 bn বাংলা
13 bo བོད་སྐད་
14 br Brezhoneg
15 bs Bosanski
16 ca Català
17 co Corsu
18 cs Čeština
19 cs_CZ Čeština (Česká Republika)
20 cy Welsh
21 cy_GB Welsh (Great Britain)
22 da Dansk
23 da_DK Dansk (Danmark)
24 de Deutsch
25 de_AT Deutsch (Österreich)
26 de_CH Deutsch (Schweiz)
27 de_DE Deutsch (Deutschland)
28 dz རྫོང་ཁ
29 el ελληνικά
30 en English
31 en_AU English (Australia)
32 en_CA English (Canada)
33 en_GB English (Great Britain)
34 en_US English (United States)
35 en_ZA English (South Africa)
36 eo Esperanto
37 es Español
38 et Eesti keel
39 eu Euskara
40 fa فارسى
41 fi Suomi
42 fo Føroyskt
43 fr Français
44 fr_CA Français (Canada)
45 fr_CH Français (Suisse)
46 fr_FR Français (France)
47 fr_LU Français (Luxembourg)
48 fy Frysk
49 ga Gaeilge
50 gd Gàidhlig
51 gl Galego
52 gn Avañe'ẽ
53 gu ગુજરાતી
54 gv Gaelg
55 ha حَوْسَ
56 he עברית
57 hi हिन्दी
58 hr Hrvatski
59 hu Magyar
60 hy Հայերեն
61 ia Interlingua
62 id Bahasa Indonesia
63 is Íslenska
64 it Italiano
65 iu ᐃᓄᒃᑎᑐᑦ/inuktitut
66 ja 日本語
67 ka ქართული
68 kk Қазақша
69 kl Kalaallisut
70 km ភាសាខ្មែរ
71 kn ಕನ್ನಡ
72 ko 한국어
73 krl Karjalan kieli
74 ku Kurdî
75 kw Kernowek
76 ky кыргызча
77 la Latina
78 lo ລາວ
79 lt Lietuvių
80 lv Latviešu
81 jbo La .lojban.
82 mg Malagasy
83 mi Māori
84 mk Македонски
85 ml മലയാളം
86 mn Монгол
87 mn_MN Монгол
88 mr मराठी
89 ms Bahasa Melayu
90 mt Malti
91 my မြန်မာဘာသာ
92 nb Norsk Bokmål
93 nl Nederlands
94 nn Norsk Nynorsk
95 no Norsk Bokmål
96 oc Occitan
97 om Oromoo
98 or ଓଡ଼ିଆ
99 os ирон ӕвзаг
100 pa ਪੰਜਾਬੀ
101 pl Polski
102 pms Piemontèis
103 ps پښتو
104 pt Português
105 pt_BR Português Brasileiro
106 qu Runa Simi
107 rm Rumantsch
108 ro Română
109 ru Русский
110 rw Kinyarwanda
111 sc Sardu
112 sco Scots
113 se Sámegiella
114 sk Slovenčina
115 sl Slovenščina
116 sq Shqip
117 sr Српски
118 sv Svenska
119 sw Kiswahili
120 szl Ślůnsko
121 ta தமிழ்
122 th ไทย
123 tr Türkçe
124 tt Татарча
125 uk Українська
126 ur اردو
127 uz Oʻzbek tili
128 vi Tiếng Việt
129 yi ייִדיש
130 zh 中文
131 zh_CN 中文(简体)
132 zh_HK 中文(香港)
133 zh_TW 中文(繁體)

View File

@@ -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;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

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