Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c25d8da66d |
5
.github/workflows/apple.yml
vendored
5
.github/workflows/apple.yml
vendored
@@ -148,13 +148,10 @@ jobs:
|
||||
rm stk-assets-full.zip
|
||||
cd ../../../../..
|
||||
mv ./macosx-arm64/supertuxkart.app SuperTuxKart.app
|
||||
# Use Ad Hoc certificate for now, use Apple developer certificate after STK is on App Store later
|
||||
codesign --force -s - SuperTuxKart.app/Contents/libs/*.dylib
|
||||
codesign --force --deep -s - SuperTuxKart.app
|
||||
zip -r SuperTuxKart-${{ env.release_tag }}-mac.zip SuperTuxKart.app
|
||||
- name: Create release
|
||||
if: ${{ env.release_tag != '' }}
|
||||
uses: ncipollo/release-action@v1.8.8
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
artifacts: "SuperTuxKart*.zip"
|
||||
|
||||
2
.github/workflows/switch.yml
vendored
2
.github/workflows/switch.yml
vendored
@@ -101,7 +101,7 @@ jobs:
|
||||
cd stk-code/switch
|
||||
PROJECT_VERSION="${{ env.release_tag }}" ./make.sh
|
||||
- name: Create release
|
||||
uses: ncipollo/release-action@v1.8.8
|
||||
uses: ncipollo/release-action@v1
|
||||
if: ${{ env.release_tag != '' }}
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
35
.github/workflows/windows.yml
vendored
35
.github/workflows/windows.yml
vendored
@@ -13,7 +13,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: true
|
||||
matrix:
|
||||
arch: [i686, x86_64, armv7, aarch64]
|
||||
arch: [i686, x86_64, aarch64]
|
||||
os: [windows-latest, ubuntu-latest]
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
@@ -26,13 +26,11 @@ jobs:
|
||||
if: ${{ matrix.os == 'windows-latest' }}
|
||||
run: |
|
||||
echo "wget=C:\msys64\usr\bin\wget.exe" >> $GITHUB_ENV
|
||||
echo "unzip=unzip" >> $GITHUB_ENV
|
||||
echo "unzip=C:\msys64\usr\bin\unzip.exe" >> $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
|
||||
@@ -85,8 +83,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 armv7 or aarch64
|
||||
if: ${{ matrix.os == 'ubuntu-latest' && ( matrix.arch == 'armv7' || matrix.arch == 'aarch64' ) }}
|
||||
- name: Install MinGW for aarch64
|
||||
if: ${{ matrix.os == 'ubuntu-latest' && 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
|
||||
@@ -120,19 +118,19 @@ jobs:
|
||||
run: |
|
||||
mkdir -Force build
|
||||
cd build
|
||||
cmake .. -G "Visual Studio 17 2022" -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_PROCESSOR=${{ matrix.arch }} -A ${{ env.cmake_arch }} -DCHECK_ASSETS=OFF
|
||||
cmake .. -G "Visual Studio 16 2019" -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 != 'armv7' && matrix.arch != 'aarch64' }}
|
||||
if: ${{ matrix.os == 'ubuntu-latest' && 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 (armv7 or aarch64)
|
||||
if: ${{ matrix.os == 'ubuntu-latest' && ( matrix.arch == 'armv7' || matrix.arch == 'aarch64' ) }}
|
||||
- name: Configure bulid for MinGW (aarch64)
|
||||
if: ${{ matrix.os == 'ubuntu-latest' && matrix.arch == 'aarch64' }}
|
||||
run: |
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake .. -DLLVM_ARCH=${{ matrix.arch }} -DLLVM_PREFIX=/llvm-mingw -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-llvm-mingw.cmake -DCHECK_ASSETS=OFF -DUSE_DIRECTX=ON
|
||||
cmake .. -DLLVM_ARCH=aarch64 -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
|
||||
@@ -215,8 +213,7 @@ jobs:
|
||||
- name: Generate .pdb files
|
||||
if: ${{ env.release_tag != '' }}
|
||||
run: |
|
||||
C:\msys64\usr\bin\wget.exe https://github.com/rainers/cv2pdb/releases/download/v0.50/cv2pdb-0.50.zip
|
||||
unzip cv2pdb-0.50.zip
|
||||
C:\msys64\usr\bin\wget.exe https://github.com/supertuxkart/dependencies/releases/download/preview/cv2pdb.exe
|
||||
cd i686
|
||||
..\cv2pdb.exe supertuxkart.exe
|
||||
cd ..
|
||||
@@ -240,19 +237,16 @@ 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: |
|
||||
Compress-Archive -LiteralPath SuperTuxKart-${{ env.release_tag }}-win -DestinationPath SuperTuxKart-${{ env.release_tag }}-win.zip
|
||||
C:\msys64\usr\bin\zip.exe -r SuperTuxKart-${{ env.release_tag }}-win.zip SuperTuxKart-${{ env.release_tag }}-win
|
||||
- name: Configure NSIS script
|
||||
shell : bash
|
||||
if: ${{ env.release_tag != '' && startsWith(github.ref, 'refs/tags/') }}
|
||||
@@ -264,12 +258,11 @@ 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 "288a\ DELETE /REBOOTOK \"\$INSTDIR$file\"" $arch.nsi
|
||||
sed -i "286a\ DELETE /REBOOTOK \"\$INSTDIR$file\"" $arch.nsi
|
||||
done
|
||||
# Print result
|
||||
#cat $arch.nsi
|
||||
@@ -280,13 +273,13 @@ 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
|
||||
unzip Shelllink.zip
|
||||
C:\msys64\usr\bin\unzip.exe 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
|
||||
& "C:\Program Files (x86)\NSIS\makensis.exe" aarch64.nsi
|
||||
- name: Create release
|
||||
uses: ncipollo/release-action@v1.8.8
|
||||
uses: ncipollo/release-action@v1
|
||||
if: ${{ env.release_tag != '' }}
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
7
.gitignore
vendored
7
.gitignore
vendored
@@ -8,10 +8,6 @@ stk-editor/
|
||||
.vscode/
|
||||
tags.*
|
||||
|
||||
# clangd
|
||||
.cache/
|
||||
compile_commands.json
|
||||
|
||||
.config/
|
||||
supertuxkart-64
|
||||
make*.bat
|
||||
@@ -64,12 +60,10 @@ android/android-sdk*
|
||||
android/assets
|
||||
android/bin
|
||||
android/build
|
||||
android/deps-*
|
||||
android/libs
|
||||
android/obj
|
||||
android/res
|
||||
android/.gradle
|
||||
android/.cxx
|
||||
android/src/main/java/HID*
|
||||
android/src/main/java/SDL*
|
||||
android-*
|
||||
@@ -89,6 +83,5 @@ lib/openssl
|
||||
lib/harfbuzz
|
||||
lib/sdl2
|
||||
lib/mbedtls
|
||||
lib/astc-encoder
|
||||
|
||||
.DS_Store
|
||||
|
||||
54
CHANGELOG.md
54
CHANGELOG.md
@@ -5,52 +5,20 @@ 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.3 (28. September 2021)
|
||||
## SuperTuxKart 1.3
|
||||
### Networking
|
||||
* Server bookmarks, by Benau
|
||||
|
||||
### Graphics
|
||||
* Introduce render resolution scaling for the modern renderer, by QwertyChouskie and Deve. For users with limited GPU power, this allows to get significant performance (FPS) gains at the cost of image quality. It can also allow additional graphics effects at the same performance. This is especially useful for users with high-resolution and high-DPI screens. The scaling only affects the 3D scene, the UI remains crisp at full-resolution.
|
||||
* Simplification through removal of unused deprecated graphical effects, by Samuncle
|
||||
* Many updates to texture-related code, by Benau
|
||||
* Auto-compute Level of Detail distances for 3D models set to use LOD depending on track complexity, by Samuncle. The geometry level parameter allows partial control over the drawing distances.
|
||||
* Improved screen space reflection, by QwertyChouskie
|
||||
|
||||
* Server bookmarks by Benau
|
||||
### General
|
||||
* Switch port, by Mary
|
||||
* Gamepad force feedback support, by Mary
|
||||
* Highscore screen, by RQWorldblender
|
||||
* Grand Prix highscores, by mrkubax10
|
||||
* Updates to the bundled tinygettext library, by Benau
|
||||
* Enable custom skidding sounds for karts, by Benau
|
||||
* Greatly sped up loading of tracks with many checklines through optimization, by heuchi
|
||||
* And many bugfixes and enhancements too small or specific to be detailed
|
||||
|
||||
### User Interface
|
||||
* Display the skin-appropriate iconset without having to restart, by Benau
|
||||
* Fix some issues with the options menu when used during a pause, by Benau
|
||||
* Add a confirmation dialog before closing the game through the "go back" key/button, by Benau
|
||||
* In the result screen, display the race position with a number with 10 karts or more, by mrkubax10
|
||||
* In the result screen, display the challenge result and the requirements met or failed, by CodingJellyFish
|
||||
* Many small menu and dialogs improvements, by RQWorldblender and others
|
||||
* Usability and functionality improvements to the debug menu, by RQWorldblender
|
||||
* Clickable URLs in text, by Benau
|
||||
|
||||
#### In-race UI
|
||||
* Add visual and sound feedback when a timed challenge or timed game is about to end, by mrkubax10 and Alayan
|
||||
|
||||
### Mobile
|
||||
* Fix a precision issue that caused artefacted shadows, by icecream95 and Benau
|
||||
#### iOS
|
||||
* Use MojoAL instead of OpenAL, which iOS currently has issues with, by Benau
|
||||
|
||||
* Switch port by Mary
|
||||
* Gamepad force feedback support by Mary
|
||||
* Highscore screen by RQWorldblender
|
||||
* Improved screen space reflection by QwertyChouskie
|
||||
* Render resolution changing by Deve and QwertyChouskie
|
||||
### Tracks and modeling
|
||||
* Alien Signal, by Samuncle
|
||||
* 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
|
||||
* Alien Signal by Samuncle
|
||||
* Ancient Colosseum Labyrinth by Typhon306
|
||||
* New Pepper kart by McRavenINDo
|
||||
* Improved kart Adiumy, Emule, GNU and Sara by McRavenINDo
|
||||
|
||||
## SuperTuxKart 1.2 (27. August 2020)
|
||||
|
||||
|
||||
108
CMakeLists.txt
108
CMakeLists.txt
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 2.8.4)
|
||||
|
||||
# root CMakeLists for the SuperTuxKart project
|
||||
project(SuperTuxKart)
|
||||
set(PROJECT_VERSION "1.4-rc1")
|
||||
set(PROJECT_VERSION "1.3-rc1")
|
||||
|
||||
add_definitions( -DSUPERTUXKART_VERSION="${PROJECT_VERSION}" )
|
||||
|
||||
@@ -58,10 +58,6 @@ if((UNIX AND NOT APPLE) OR NINTENDO_SWITCH)
|
||||
include(FindPkgConfig)
|
||||
endif()
|
||||
|
||||
if(IOS)
|
||||
include(cmake/XcodeHelper.cmake)
|
||||
endif()
|
||||
|
||||
if(APPLE AND NOT IOS)
|
||||
if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "arm")
|
||||
set(ARCHFLAGS "arm64")
|
||||
@@ -89,8 +85,7 @@ endif()
|
||||
|
||||
if((UNIX AND NOT APPLE) AND NOT SERVER_ONLY)
|
||||
if((${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm") OR
|
||||
(${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64") OR
|
||||
(${CMAKE_SYSTEM_PROCESSOR} MATCHES "riscv64"))
|
||||
(${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64"))
|
||||
option(USE_GLES2 "Use OpenGL ES2 renderer" ON)
|
||||
else()
|
||||
option(USE_GLES2 "Use OpenGL ES2 renderer" OFF)
|
||||
@@ -129,11 +124,7 @@ endif()
|
||||
|
||||
set(STK_SOURCE_DIR "src")
|
||||
set(STK_DATA_DIR "${PROJECT_SOURCE_DIR}/data")
|
||||
|
||||
# CMAKE_RUNTIME_OUTPUT_DIRECTORY removes dSYMs in Xcode archive
|
||||
if(NOT CMAKE_GENERATOR MATCHES "Xcode")
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin")
|
||||
endif()
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin")
|
||||
|
||||
# Define install paths
|
||||
set(STK_INSTALL_BINARY_DIR "bin" CACHE
|
||||
@@ -149,8 +140,6 @@ 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()
|
||||
@@ -199,7 +188,7 @@ if(UNIX OR MINGW)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(UNIX AND NOT APPLE AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
|
||||
if(UNIX AND NOT APPLE)
|
||||
find_package(PkgConfig REQUIRED)
|
||||
|
||||
if(NOT PKGCONFIG_FOUND)
|
||||
@@ -245,52 +234,9 @@ else()
|
||||
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)
|
||||
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")
|
||||
include_directories(BEFORE "${PROJECT_SOURCE_DIR}/lib/graphics_engine/include")
|
||||
endif()
|
||||
# MiniGLM is there
|
||||
include_directories(BEFORE "${PROJECT_SOURCE_DIR}/lib/graphics_engine/include")
|
||||
|
||||
if (NOT SERVER_ONLY)
|
||||
# Add jpeg library
|
||||
@@ -339,6 +285,21 @@ 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)
|
||||
@@ -379,7 +340,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")
|
||||
include_directories(BEFORE "${PROJECT_SOURCE_DIR}/lib/wiiuse/src")
|
||||
set(WIIUSE_LIBRARIES "wiiuse" "bluetooth")
|
||||
endif()
|
||||
endif()
|
||||
@@ -394,11 +355,6 @@ 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)
|
||||
@@ -578,7 +534,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}/\${CONFIGURATION}/supertuxkart.app/Contents/Resources)
|
||||
COMMAND ln -f -s ${PROJECT_SOURCE_DIR}/data ${CMAKE_BINARY_DIR}/bin/\${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)
|
||||
@@ -612,15 +568,6 @@ else()
|
||||
XCODE_ATTRIBUTE_INSTALL_PATH /Applications
|
||||
XCODE_ATTRIBUTE_SKIP_INSTALL No
|
||||
XCODE_ATTRIBUTE_ASSETCATALOG_COMPILER_APPICON_NAME "AppIcon")
|
||||
if(CMAKE_GENERATOR MATCHES "Xcode")
|
||||
get_all_targets(supertuxkart_targets ${CMAKE_CURRENT_LIST_DIR})
|
||||
foreach(target IN LISTS supertuxkart_targets)
|
||||
if (NOT target MATCHES "supertuxkart")
|
||||
set_target_properties(${target} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib$(EFFECTIVE_PLATFORM_NAME)/${target})
|
||||
endif()
|
||||
configure_xcode_defaults(${target})
|
||||
endforeach()
|
||||
endif()
|
||||
else()
|
||||
add_executable(supertuxkart ${STK_SOURCES} ${STK_RESOURCES} ${STK_HEADERS})
|
||||
endif()
|
||||
@@ -722,14 +669,6 @@ 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()
|
||||
@@ -774,8 +713,7 @@ if(NOT SERVER_ONLY)
|
||||
graphics_utils
|
||||
graphics_engine
|
||||
${SDL2_LIBRARY}
|
||||
tinygettext
|
||||
${SHADERC_LIBRARY})
|
||||
tinygettext)
|
||||
endif()
|
||||
|
||||
if(UNIX AND NOT APPLE)
|
||||
|
||||
36
INSTALL.md
36
INSTALL.md
@@ -63,7 +63,7 @@ Debian-based Distributions command:
|
||||
sudo apt-get install build-essential cmake libbluetooth-dev libsdl2-dev \
|
||||
libcurl4-openssl-dev libenet-dev libfreetype6-dev libharfbuzz-dev \
|
||||
libjpeg-dev libogg-dev libopenal-dev libpng-dev \
|
||||
libssl-dev libvorbis-dev libmbedtls-dev pkg-config zlib1g-dev
|
||||
libssl-dev libvorbis-dev nettle-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, 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:
|
||||
To Build SuperTuxKart on Windows, follow these instructions:
|
||||
|
||||
1. Download and install Visual Studio from here: [Visual Studio - Download](https://www.visualstudio.com/downloads/). The free Visual Studio Community edition works fine. Remember to select "Desktop development with C++" in the installer.
|
||||
|
||||
@@ -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, `armv7` for ARM 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 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, `armv7` for ARM 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 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,34 +196,12 @@ and unpack the archive into the `stk-code` directory. Download `i686` if you use
|
||||
|
||||
6. Now that CMake finished configuring and creating the necessary files for the build, run the build command in the same directory:
|
||||
|
||||
```cmd
|
||||
msbuild.exe SuperTuxKart.sln
|
||||
```
|
||||
```cmd
|
||||
msbuild.exe SuperTuxKart.sln
|
||||
```
|
||||
|
||||
SuperTuxKart can now be run as `bin\Debug\supertuxkart.exe` or `bin\Release\supertuxkart.exe`
|
||||
|
||||
## Building SuperTuxKart on Windows using LLVM MinGW
|
||||
|
||||
1. Get the LLVM Mingw archive [here](https://github.com/mstorsjo/llvm-mingw/releases/latest), get the `*-msvcrt-i686.zip or` `*-msvcrt-x86_64.zip` depending on whether you have an Intel / AMD 32 or 64-bit Windows. If you are using ARM64 Windows get the `*-msvcrt-i686.zip` should be fine (untested). After downloading extract it as `C:\llvm-mingw` so `C:\llvm-mingw` contains `bin`, `include`, `lib`, etc.
|
||||
2. Get Ninja [here](https://github.com/ninja-build/ninja/releases/latest), download the `ninja-win.zip` and extract the `ninja.exe` from the archive to `C:\llvm-mingw`. If you are not using Intel / AMD 64-bit Windows use [this link](https://packages.msys2.org/package/mingw-w64-i686-ninja) and extract `mingw32\bin\ninja.exe` inside the `tar.zst`.
|
||||
3. Download a source package from either [SuperTuxKart on GitHub](https://github.com/supertuxkart/stk-code/releases) or [SuperTuxKart.net - Source Control](https://supertuxkart.net/Source_control)
|
||||
NOTE: the `stk-code` and `stk-assets` directories **must** be in the same directory, `stk-assets` is not needed if you download the full source tarball `(SuperTuxKart-version-src.tar.xz)`. Also make sure they lie within the C drive.
|
||||
4. Download the Windows dependencies package from [SuperTuxKart on GitHub - Dependencies latest preview release](https://github.com/supertuxkart/dependencies/releases/tag/preview)
|
||||
and unpack the archive into the `stk-code` directory. Download `i686` if you compile for Intel / AMD 32-bit, `x86_64` for Intel / AMD 64-bit, `armv7` for ARM 32-bit and `aarch64` for ARM 64-bit version of Windows.
|
||||
6. Download CMake from here: [CMake - download page](https://cmake.org/download/), install it; once CMake is installed, double click on the CMake icon on your desktop, and point it towards your `stk-code` directory in the 'Where is the source code' field, and point 'Where to build the binaries' to a new directory called `build` inside the stk-code directory.
|
||||
7. Press the `Add Entry` button and add the values below:
|
||||
* Name: `LLVM_ARCH` Type: `STRING` Value: `i686`, `x86_64`, `armv7` or `aarch64`
|
||||
* Name: `LLVM_PREFIX` Type: `STRING` Value: `C:/llvm-mingw`
|
||||
* Name: `CMAKE_MAKE_PROGRAM` Type: `STRING` Value: `C:/llvm-mingw/ninja.exe`
|
||||
* Name: `USE_WIIUSE` Type: `BOOL` Value: `Empty (unchecked)`
|
||||
8. Press 'Configure'; CMake will ask you if it is OK to create the aforementioned directory, press `Yes`. Choose `Ninja` from `Specify the generator for this project`, choose `Specify toolchain file for cross-compiling` then press `Next`. Specify the toolchain file which is located in `stk-code\cmake\Toolchain-llvm-mingw.cmake` and press `Finish`. If no error appears then press 'Generate'
|
||||
9. Once inside the build directory using command line `cmd.exe` or PowerShell:
|
||||
```cmd
|
||||
C:\llvm-mingw\ninja.exe
|
||||
```
|
||||
|
||||
SuperTuxKart can now be run as `bin\supertuxkart.exe`.
|
||||
|
||||
## Building SuperTuxKart on macOS
|
||||
|
||||
### Getting Started
|
||||
|
||||
@@ -22,7 +22,7 @@ To run SuperTuxKart, make sure that your computer's specifications are equal or
|
||||
* Ideally, you'll want a joystick with at least 6 buttons.
|
||||
|
||||
## License
|
||||
The software is released under the GNU General Public License (GPL) which can be found in the file [`COPYING`](/COPYING) in the same directory as this file.
|
||||
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`.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -4,112 +4,91 @@ include $(CLEAR_VARS)
|
||||
|
||||
# OpenAL
|
||||
LOCAL_MODULE := openal
|
||||
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/openal/libopenal.a
|
||||
LOCAL_SRC_FILES := obj/openal/libopenal.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
|
||||
# OGG
|
||||
LOCAL_MODULE := ogg
|
||||
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/libogg/libogg.a
|
||||
LOCAL_SRC_FILES := obj/libogg/libogg.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
|
||||
# Vorbis
|
||||
LOCAL_MODULE := vorbis
|
||||
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/libvorbis/lib/libvorbis.a
|
||||
LOCAL_SRC_FILES := obj/libvorbis/lib/libvorbis.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
|
||||
# Vorbisfile
|
||||
LOCAL_MODULE := vorbisfile
|
||||
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/libvorbis/lib/libvorbisfile.a
|
||||
LOCAL_SRC_FILES := obj/libvorbis/lib/libvorbisfile.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
|
||||
# CURL
|
||||
LOCAL_MODULE := curl
|
||||
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/curl/lib/libcurl.a
|
||||
LOCAL_SRC_FILES := obj/curl/lib/libcurl.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
|
||||
# libmbedtls
|
||||
LOCAL_MODULE := libmbedtls
|
||||
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/mbedtls/library/libmbedtls.a
|
||||
LOCAL_SRC_FILES := obj/mbedtls/library/libmbedtls.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
|
||||
# libmbedcrypto
|
||||
LOCAL_MODULE := libmbedcrypto
|
||||
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/mbedtls/library/libmbedcrypto.a
|
||||
LOCAL_SRC_FILES := obj/mbedtls/library/libmbedcrypto.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
|
||||
# libmbedx509
|
||||
LOCAL_MODULE := libmbedx509
|
||||
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/mbedtls/library/libmbedx509.a
|
||||
LOCAL_SRC_FILES := obj/mbedtls/library/libmbedx509.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
|
||||
# JPEG
|
||||
LOCAL_MODULE := libjpeg
|
||||
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/libjpeg/libjpeg.a
|
||||
LOCAL_SRC_FILES := obj/libjpeg/libjpeg.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
|
||||
# zlib
|
||||
LOCAL_MODULE := zlib
|
||||
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/zlib/libz.a
|
||||
LOCAL_SRC_FILES := obj/zlib/libz.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
|
||||
# PNG
|
||||
LOCAL_MODULE := png
|
||||
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/libpng/libpng.a
|
||||
LOCAL_SRC_FILES := obj/libpng/libpng.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
|
||||
# Freetype
|
||||
LOCAL_MODULE := freetype
|
||||
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/freetype/build/libfreetype.a
|
||||
LOCAL_SRC_FILES := obj/freetype/build/libfreetype.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
|
||||
# Harfbuzz
|
||||
LOCAL_MODULE := harfbuzz
|
||||
LOCAL_SRC_FILES := deps-$(TARGET_ARCH_ABI)/harfbuzz/build/libharfbuzz.a
|
||||
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
|
||||
LOCAL_SRC_FILES := obj/harfbuzz/build/libharfbuzz.a
|
||||
include $(PREBUILT_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
@@ -119,11 +98,6 @@ 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)
|
||||
|
||||
@@ -135,9 +109,6 @@ 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)
|
||||
|
||||
@@ -148,9 +119,6 @@ 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)
|
||||
|
||||
@@ -162,9 +130,6 @@ 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)
|
||||
|
||||
@@ -174,11 +139,7 @@ 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 \
|
||||
-I../lib/simd_wrapper
|
||||
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
|
||||
LOCAL_ARM_NEON := false
|
||||
endif
|
||||
LOCAL_CFLAGS := -I../lib/graphics_utils/mipmap
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
@@ -189,19 +150,9 @@ LOCAL_PATH := .
|
||||
LOCAL_CPP_FEATURES += rtti exceptions
|
||||
LOCAL_SRC_FILES := $(wildcard ../lib/graphics_engine/src/*.c) \
|
||||
$(wildcard ../lib/graphics_engine/src/*.cpp)
|
||||
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
|
||||
LOCAL_CFLAGS := -I../lib/graphics_engine/include \
|
||||
-I../lib/sdl2/include/ \
|
||||
-I../lib/irrlicht/include/
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
@@ -212,9 +163,6 @@ 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)
|
||||
|
||||
@@ -225,9 +173,6 @@ 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)
|
||||
|
||||
@@ -238,9 +183,6 @@ 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)
|
||||
|
||||
@@ -253,33 +195,27 @@ LOCAL_SRC_FILES := $(wildcard ../lib/irrlicht/source/Irrlicht/*.cpp)
|
||||
LOCAL_CFLAGS := -I../lib/irrlicht/source/Irrlicht/ \
|
||||
-I../lib/irrlicht/include/ \
|
||||
-I../src \
|
||||
-Ideps-$(TARGET_ARCH_ABI)/libjpeg/ \
|
||||
-Ideps-$(TARGET_ARCH_ABI)/libpng/ \
|
||||
-Ideps-$(TARGET_ARCH_ABI)/zlib/ \
|
||||
-Iobj/libjpeg/ \
|
||||
-Iobj/libpng/ \
|
||||
-Iobj/zlib/ \
|
||||
-I../lib/sdl2/include/ \
|
||||
-I../lib/graphics_engine/include \
|
||||
-DMOBILE_STK \
|
||||
-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) \
|
||||
@@ -287,15 +223,13 @@ 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) \
|
||||
@@ -312,15 +246,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)
|
||||
$(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
|
||||
LOCAL_CFLAGS := -I../lib/sdl2/include/ -DGL_GLEXT_PROTOTYPES
|
||||
LOCAL_LDLIBS := -ldl -lGLESv1_CM -lGLESv2 -lOpenSLES -llog -landroid
|
||||
LOCAL_CPPFLAGS := -std=gnu++0x
|
||||
LOCAL_STATIC_LIBRARIES := cpufeatures
|
||||
|
||||
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
|
||||
LOCAL_ARM_NEON := false
|
||||
endif
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
# STK
|
||||
@@ -330,7 +264,7 @@ LOCAL_CPP_FEATURES += rtti exceptions
|
||||
LOCAL_SRC_FILES := $(wildcard ../src/*.cpp) \
|
||||
$(wildcard ../src/*/*.cpp) \
|
||||
$(wildcard ../src/*/*/*.cpp)
|
||||
LOCAL_LDLIBS := -llog -lm -lOpenSLES
|
||||
LOCAL_LDLIBS := -llog -landroid -lGLESv1_CM -lGLESv2 -lOpenSLES -ldl -lm
|
||||
LOCAL_CFLAGS := -I../lib/angelscript/include \
|
||||
-I../lib/bullet/src \
|
||||
-I../lib/sheenbidi/Headers \
|
||||
@@ -344,24 +278,24 @@ LOCAL_CFLAGS := -I../lib/angelscript/include \
|
||||
-I../lib/sdl2/include \
|
||||
-I../lib/tinygettext/include \
|
||||
-I../src \
|
||||
-Ideps-$(TARGET_ARCH_ABI)/curl/include \
|
||||
-Ideps-$(TARGET_ARCH_ABI)/freetype/include \
|
||||
-Ideps-$(TARGET_ARCH_ABI)/harfbuzz/include \
|
||||
-Ideps-$(TARGET_ARCH_ABI)/libogg/include \
|
||||
-Ideps-$(TARGET_ARCH_ABI)/libvorbis/include \
|
||||
-Ideps-$(TARGET_ARCH_ABI)/openal/include \
|
||||
-Ideps-$(TARGET_ARCH_ABI)/mbedtls/include \
|
||||
-Iobj/curl/include \
|
||||
-Iobj/freetype/include \
|
||||
-Iobj/harfbuzz/include \
|
||||
-Iobj/libogg/include \
|
||||
-Iobj/libvorbis/include \
|
||||
-Iobj/openal/include \
|
||||
-Iobj/mbedtls/include \
|
||||
-DUSE_GLES2 \
|
||||
-DMOBILE_STK \
|
||||
-DENABLE_SOUND \
|
||||
-DENABLE_IPV6 \
|
||||
-DENABLE_CRYPTO_MBEDTLS \
|
||||
-DENABLE_CRYPTO_MBEDTLS \
|
||||
-DNDEBUG \
|
||||
-DDISABLE_ICONV \
|
||||
-DANDROID_PACKAGE_NAME=\"$(PACKAGE_NAME)\" \
|
||||
-DANDROID_APP_DIR_NAME=\"$(APP_DIR_NAME)\" \
|
||||
-DSUPERTUXKART_VERSION=\"$(PROJECT_VERSION)\" \
|
||||
-DANDROID_PACKAGE_CLASS_NAME=\"$(PACKAGE_CLASS_NAME)\"
|
||||
-DANDROID_PACKAGE_CALLBACK_NAME=$(PACKAGE_CALLBACK_NAME)
|
||||
LOCAL_CPPFLAGS := -std=gnu++0x
|
||||
|
||||
LOCAL_STATIC_LIBRARIES := irrlicht bullet enet ifaddrs angelscript mcpp SDL2 \
|
||||
@@ -370,9 +304,6 @@ LOCAL_STATIC_LIBRARIES := irrlicht bullet enet ifaddrs angelscript mcpp SDL2 \
|
||||
harfbuzz freetype tinygettext graphics_utils \
|
||||
graphics_engine
|
||||
|
||||
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
|
||||
LOCAL_ARM_NEON := false
|
||||
endif
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
include $(CLEAR_VARS)
|
||||
$(call import-module, android/cpufeatures)
|
||||
|
||||
@@ -25,45 +25,21 @@
|
||||
<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-sdk android:minSdkVersion="16"
|
||||
android:targetSdkVersion="29" />
|
||||
<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" />
|
||||
|
||||
<!-- 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-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" />
|
||||
<uses-permission android:name="android.permission.READ_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.INTERNET" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH" />
|
||||
<!-- Allow access to the vibrator -->
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
</manifest>
|
||||
|
||||
@@ -13,9 +13,9 @@
|
||||
To run SuperTuxKart on Android, you need a device that meets following
|
||||
requirements:
|
||||
|
||||
- Android 4.1 or later
|
||||
- Android 4.4 or later
|
||||
- Processor compatible with armv7 or x86
|
||||
- GPU that supports OpenGL ES 2.0
|
||||
- GPU that supports OpenGL ES 3.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,10 +62,9 @@ directory will have following structure:
|
||||
> src
|
||||
> ...
|
||||
|
||||
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 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 need to create proper "android-sdk" and "android-ndk" symlinks in the
|
||||
directory with Android project, so that the compilation script will have access
|
||||
@@ -91,18 +90,10 @@ 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
|
||||
./make.sh -j5
|
||||
|
||||
|
||||
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
|
||||
@@ -110,8 +101,8 @@ space execption error.
|
||||
|
||||
COMPILE_ARCH - Allows one to choose CPU architecture for which the package will
|
||||
be compiled.
|
||||
Possible values: all, armv7, aarch64, x86, x86_64.
|
||||
Default is: all.
|
||||
Possible values: armv7, aarch64, x86, x86_64.
|
||||
Default is: armv7.
|
||||
|
||||
BUILD_TYPE - Allows one to set build type.
|
||||
Possible values: debug, release, beta.
|
||||
@@ -121,8 +112,7 @@ BUILD_TOOLS_VER - Allows to override the SDK build-tools version.
|
||||
|
||||
SDK_PATH - Path to SDK directory
|
||||
|
||||
NDK_PATH - Path to NDK directory, it should include a list of installed
|
||||
NDK version folders
|
||||
NDK_PATH - Path to NDK directory
|
||||
|
||||
PROJECT_VERSION - Set Supertuxkart version number, for example "0.9.3" or
|
||||
"git20170409" or whatever. The version must match with file
|
||||
@@ -162,5 +152,4 @@ variables, so that the apk files can be signed.
|
||||
and then you make standard compilation with:
|
||||
|
||||
./generate_assets.sh
|
||||
./make_deps.sh
|
||||
./make.sh
|
||||
./make.sh -j $(($(nproc) + 1))
|
||||
|
||||
@@ -2,16 +2,13 @@ buildscript
|
||||
{
|
||||
repositories
|
||||
{
|
||||
mavenCentral()
|
||||
jcenter()
|
||||
google()
|
||||
}
|
||||
|
||||
dependencies
|
||||
{
|
||||
// 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
|
||||
// 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'
|
||||
classpath 'com.android.tools.build:gradle:3.3.2'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +16,7 @@ allprojects
|
||||
{
|
||||
repositories
|
||||
{
|
||||
mavenCentral()
|
||||
jcenter()
|
||||
google()
|
||||
}
|
||||
}
|
||||
@@ -28,46 +25,8 @@ 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()
|
||||
ndkVersion ndk_version
|
||||
externalNativeBuild
|
||||
{
|
||||
ndkBuild
|
||||
{
|
||||
path 'Android.mk'
|
||||
}
|
||||
}
|
||||
|
||||
defaultConfig
|
||||
{
|
||||
minSdkVersion min_sdk_version.toInteger()
|
||||
targetSdkVersion target_sdk_version.toInteger()
|
||||
externalNativeBuild
|
||||
{
|
||||
ndkBuild
|
||||
{
|
||||
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'
|
||||
}
|
||||
else
|
||||
{
|
||||
abiFilters project.getProperty('compile_arch')
|
||||
}
|
||||
}
|
||||
}
|
||||
def runTasks = gradle.startParameter.taskNames
|
||||
if ('bundleRelease' in runTasks)
|
||||
{
|
||||
// use SYMBOL_TABLE if too large later (max limit on google play is 300MB)
|
||||
ndk.debugSymbolLevel 'FULL'
|
||||
}
|
||||
}
|
||||
buildToolsVersion build_tools_ver
|
||||
|
||||
signingConfigs
|
||||
{
|
||||
@@ -82,57 +41,9 @@ android
|
||||
|
||||
buildTypes
|
||||
{
|
||||
debug
|
||||
{
|
||||
debuggable true
|
||||
jniDebuggable true
|
||||
minifyEnabled false
|
||||
shrinkResources false
|
||||
multiDexEnabled true
|
||||
externalNativeBuild
|
||||
{
|
||||
ndkBuild
|
||||
{
|
||||
arguments 'NDK_DEBUG=1'
|
||||
cFlags '-O0'
|
||||
cppFlags '-O0'
|
||||
}
|
||||
}
|
||||
ndk
|
||||
{
|
||||
if (project.getProperty('compile_arch') == 'all')
|
||||
{
|
||||
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
|
||||
}
|
||||
else
|
||||
{
|
||||
abiFilters project.getProperty('compile_arch')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
release
|
||||
{
|
||||
externalNativeBuild
|
||||
{
|
||||
ndkBuild
|
||||
{
|
||||
cFlags '-O3'
|
||||
cppFlags '-O3'
|
||||
}
|
||||
}
|
||||
signingConfig signingConfigs.release
|
||||
ndk
|
||||
{
|
||||
if (project.getProperty('compile_arch') == 'all')
|
||||
{
|
||||
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
|
||||
}
|
||||
else
|
||||
{
|
||||
abiFilters project.getProperty('compile_arch')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -141,6 +52,7 @@ android
|
||||
main
|
||||
{
|
||||
manifest.srcFile 'AndroidManifest.xml'
|
||||
jniLibs.srcDirs = ['libs']
|
||||
res.srcDirs = ['res']
|
||||
assets.srcDirs = ['assets']
|
||||
}
|
||||
|
||||
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-all.zip
|
||||
|
||||
383
android/make.sh
383
android/make.sh
@@ -10,26 +10,48 @@ export DIRNAME=$(realpath "$(dirname "$0")")
|
||||
export NDK_PATH_DEFAULT="$DIRNAME/android-ndk"
|
||||
export SDK_PATH_DEFAULT="$DIRNAME/android-sdk"
|
||||
|
||||
export NDK_TOOLCHAIN_PATH="$DIRNAME/obj/bin"
|
||||
export NDK_BUILD_SCRIPT="$DIRNAME/Android.mk"
|
||||
export PATH="$DIRNAME/obj/bin:$PATH"
|
||||
|
||||
#export NDK_CCACHE=ccache
|
||||
export CPU_CORE="-j$(($(nproc) + 1))"
|
||||
export NDK_CPPFLAGS="-O3 -g"
|
||||
|
||||
if [ -z "$STK_MIN_ANDROID_SDK" ]; then
|
||||
export STK_MIN_ANDROID_SDK=16
|
||||
fi
|
||||
export NDK_ABI_ARMV7=armeabi-v7a
|
||||
export ARCH_ARMV7=arm
|
||||
export HOST_ARMV7=arm-linux-androideabi
|
||||
export NDK_PLATFORM_ARMV7=android-16
|
||||
export MIN_SDK_VERSION_ARMV7=16
|
||||
export TARGET_SDK_VERSION_ARMV7=29
|
||||
export COMPILE_SDK_VERSION_ARMV7=29
|
||||
|
||||
if [ -z "$STK_TARGET_ANDROID_SDK" ]; then
|
||||
export STK_TARGET_ANDROID_SDK=30
|
||||
fi
|
||||
export NDK_ABI_AARCH64=arm64-v8a
|
||||
export ARCH_AARCH64=arm64
|
||||
export HOST_AARCH64=aarch64-linux-android
|
||||
export NDK_PLATFORM_AARCH64=android-21
|
||||
export MIN_SDK_VERSION_AARCH64=21
|
||||
export TARGET_SDK_VERSION_AARCH64=29
|
||||
export COMPILE_SDK_VERSION_AARCH64=29
|
||||
|
||||
if [ -z "$STK_NDK_VERSION" ]; then
|
||||
export STK_NDK_VERSION=23.1.7779620
|
||||
fi
|
||||
export NDK_ABI_X86=x86
|
||||
export ARCH_X86=x86
|
||||
export HOST_X86=i686-linux-android
|
||||
export NDK_PLATFORM_X86=android-16
|
||||
export MIN_SDK_VERSION_X86=16
|
||||
export TARGET_SDK_VERSION_X86=29
|
||||
export COMPILE_SDK_VERSION_X86=29
|
||||
|
||||
export NDK_ABI_X86_64=x86_64
|
||||
export ARCH_X86_64=x86_64
|
||||
export HOST_X86_64=x86_64-linux-android
|
||||
export NDK_PLATFORM_X86_64=android-21
|
||||
export MIN_SDK_VERSION_X86_64=21
|
||||
export TARGET_SDK_VERSION_X86_64=29
|
||||
export COMPILE_SDK_VERSION_X86_64=29
|
||||
|
||||
export APP_NAME_RELEASE="SuperTuxKart"
|
||||
export PACKAGE_NAME_RELEASE="org.supertuxkart.stk"
|
||||
export PACKAGE_CLASS_NAME_RELEASE="org/supertuxkart/stk"
|
||||
export PACKAGE_CALLBACK_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"
|
||||
@@ -37,7 +59,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_CLASS_NAME_BETA="org/supertuxkart/stk_beta"
|
||||
export PACKAGE_CALLBACK_NAME_BETA="org_supertuxkart_stk_1beta"
|
||||
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"
|
||||
@@ -45,7 +67,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_CLASS_NAME_DEBUG="org/supertuxkart/stk_dbg"
|
||||
export PACKAGE_CALLBACK_NAME_DEBUG="org_supertuxkart_stk_1dbg"
|
||||
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"
|
||||
@@ -69,23 +91,63 @@ if [ ! -z "$1" ] && [ "$1" = "clean" ]; then
|
||||
rm -rf "$DIRNAME/obj"
|
||||
rm -rf "$DIRNAME/res"
|
||||
rm -rf "$DIRNAME/.gradle"
|
||||
rm -rf "$DIRNAME/.cxx"
|
||||
exit
|
||||
fi
|
||||
|
||||
# Check if compilation for different platform has been started before
|
||||
if [ -f "$DIRNAME/obj/compile_arch" ]; then
|
||||
PROJECT_ARCH=$(cat "$DIRNAME/obj/compile_arch")
|
||||
|
||||
if [ -z "$COMPILE_ARCH" ]; then
|
||||
COMPILE_ARCH="$PROJECT_ARCH"
|
||||
elif [ "$PROJECT_ARCH" != "$COMPILE_ARCH" ]; then
|
||||
echo "Error: Compilation for different platform has been already made."
|
||||
echo "Run './make.sh clean' first or set COMPILE_ARCH variable" \
|
||||
"to '$PROJECT_ARCH.'"
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
|
||||
# Update variables for selected architecture
|
||||
if [ -z "$COMPILE_ARCH" ]; then
|
||||
COMPILE_ARCH="all"
|
||||
COMPILE_ARCH="armv7"
|
||||
fi
|
||||
|
||||
if [ "$COMPILE_ARCH" = "armv7" ]; then
|
||||
COMPILE_ARCH="armeabi-v7a"
|
||||
export NDK_PLATFORM=$NDK_PLATFORM_ARMV7
|
||||
export NDK_ABI=$NDK_ABI_ARMV7
|
||||
export ARCH=$ARCH_ARMV7
|
||||
export HOST=$HOST_ARMV7
|
||||
export MIN_SDK_VERSION=$MIN_SDK_VERSION_ARMV7
|
||||
export TARGET_SDK_VERSION=$TARGET_SDK_VERSION_ARMV7
|
||||
export COMPILE_SDK_VERSION=$COMPILE_SDK_VERSION_ARMV7
|
||||
elif [ "$COMPILE_ARCH" = "aarch64" ]; then
|
||||
COMPILE_ARCH="arm64-v8a"
|
||||
elif [ "$COMPILE_ARCH" != "x86" ] && [ "$COMPILE_ARCH" != "x86_64" ] && \
|
||||
[ "$COMPILE_ARCH" != "all" ]; then
|
||||
echo "Unknown COMPILE_ARCH: $COMPILE_ARCH. Possible values are:" \
|
||||
"all, armv7, aarch64, x86, x86_64"
|
||||
export NDK_PLATFORM=$NDK_PLATFORM_AARCH64
|
||||
export NDK_ABI=$NDK_ABI_AARCH64
|
||||
export ARCH=$ARCH_AARCH64
|
||||
export HOST=$HOST_AARCH64
|
||||
export MIN_SDK_VERSION=$MIN_SDK_VERSION_AARCH64
|
||||
export TARGET_SDK_VERSION=$TARGET_SDK_VERSION_AARCH64
|
||||
export COMPILE_SDK_VERSION=$COMPILE_SDK_VERSION_AARCH64
|
||||
elif [ "$COMPILE_ARCH" = "x86" ]; then
|
||||
export NDK_PLATFORM=$NDK_PLATFORM_X86
|
||||
export NDK_ABI=$NDK_ABI_X86
|
||||
export ARCH=$ARCH_X86
|
||||
export HOST=$HOST_X86
|
||||
export MIN_SDK_VERSION=$MIN_SDK_VERSION_X86
|
||||
export TARGET_SDK_VERSION=$TARGET_SDK_VERSION_X86
|
||||
export COMPILE_SDK_VERSION=$COMPILE_SDK_VERSION_X86
|
||||
elif [ "$COMPILE_ARCH" = "x86_64" ]; then
|
||||
export NDK_PLATFORM=$NDK_PLATFORM_X86_64
|
||||
export NDK_ABI=$NDK_ABI_X86_64
|
||||
export ARCH=$ARCH_X86_64
|
||||
export HOST=$HOST_X86_64
|
||||
export MIN_SDK_VERSION=$MIN_SDK_VERSION_X86_64
|
||||
export TARGET_SDK_VERSION=$TARGET_SDK_VERSION_X86_64
|
||||
export COMPILE_SDK_VERSION=$COMPILE_SDK_VERSION_X86_64
|
||||
else
|
||||
echo "Unknow COMPILE_ARCH: $COMPILE_ARCH. Possible values are: " \
|
||||
"armv7, aarch64, x86, x86_64"
|
||||
exit
|
||||
fi
|
||||
|
||||
@@ -99,7 +161,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_CLASS_NAME="$PACKAGE_CLASS_NAME_DEBUG"
|
||||
export PACKAGE_CALLBACK_NAME="$PACKAGE_CALLBACK_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"
|
||||
@@ -109,7 +171,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_CLASS_NAME="$PACKAGE_CLASS_NAME_RELEASE"
|
||||
export PACKAGE_CALLBACK_NAME="$PACKAGE_CALLBACK_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"
|
||||
@@ -119,7 +181,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_CLASS_NAME="$PACKAGE_CLASS_NAME_BETA"
|
||||
export PACKAGE_CALLBACK_NAME="$PACKAGE_CALLBACK_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"
|
||||
@@ -139,7 +201,7 @@ if [ -z "$SDK_PATH" ]; then
|
||||
export SDK_PATH="$SDK_PATH_DEFAULT"
|
||||
fi
|
||||
|
||||
NDK_PATH="$(realpath "$NDK_PATH")/${STK_NDK_VERSION}"
|
||||
NDK_PATH=$(realpath "$NDK_PATH")
|
||||
SDK_PATH=$(realpath "$SDK_PATH")
|
||||
|
||||
if [ ! -d "$NDK_PATH" ]; then
|
||||
@@ -200,13 +262,10 @@ 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")
|
||||
|
||||
|
||||
if [ -z "$PROJECT_VERSION" ]; then
|
||||
export PROJECT_VERSION="$PROJECT_VERSION_PREV"
|
||||
elif [ "$PROJECT_VERSION" != "$PROJECT_VERSION_PREV" ]; then
|
||||
@@ -246,12 +305,242 @@ fi
|
||||
if [ ! -f "$DIRNAME/obj/make_standalone_toolchain.stamp" ]; then
|
||||
echo "Creating standalone toolchain"
|
||||
rm -rf "$DIRNAME/obj"
|
||||
mkdir "$DIRNAME/obj"
|
||||
${NDK_PATH}/build/tools/make-standalone-toolchain.sh \
|
||||
--platform=$NDK_PLATFORM \
|
||||
--install-dir="$DIRNAME/obj/" \
|
||||
--arch=$ARCH
|
||||
check_error
|
||||
touch "$DIRNAME/obj/make_standalone_toolchain.stamp"
|
||||
echo $COMPILE_ARCH > "$DIRNAME/obj/compile_arch"
|
||||
fi
|
||||
|
||||
# Last ndk supporting android 14 is 17c which has gcc-4.9, and most
|
||||
# dependencies require clang to build
|
||||
if [ -f "$DIRNAME/obj/bin/$HOST-gcc-4.9" ]; then
|
||||
cp "$DIRNAME/obj/bin/clang" "$DIRNAME/obj/bin/$HOST-gcc"
|
||||
cp "$DIRNAME/obj/bin/clang++" "$DIRNAME/obj/bin/$HOST-g++"
|
||||
fi
|
||||
|
||||
echo "$PROJECT_VERSION" > "$DIRNAME/obj/project_version"
|
||||
|
||||
# Zlib
|
||||
if [ ! -f "$DIRNAME/obj/zlib.stamp" ]; then
|
||||
echo "Compiling zlib"
|
||||
mkdir -p "$DIRNAME/obj/zlib"
|
||||
cp -a -f "$DIRNAME/../lib/zlib/"* "$DIRNAME/obj/zlib"
|
||||
|
||||
cd "$DIRNAME/obj/zlib"
|
||||
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH -DCMAKE_C_FLAGS="-fpic" &&
|
||||
make $@
|
||||
check_error
|
||||
touch "$DIRNAME/obj/zlib.stamp"
|
||||
fi
|
||||
|
||||
# Libpng
|
||||
if [ ! -f "$DIRNAME/obj/libpng.stamp" ]; then
|
||||
echo "Compiling libpng"
|
||||
mkdir -p "$DIRNAME/obj/libpng"
|
||||
mkdir -p "$DIRNAME/obj/libpng/lib"
|
||||
cp -a -f "$DIRNAME/../lib/libpng/"* "$DIRNAME/obj/libpng"
|
||||
|
||||
cd "$DIRNAME/obj/libpng"
|
||||
MLIBRARY="$DIRNAME/obj/sysroot/usr/lib/$HOST/libm.a"
|
||||
# For ndk 17c
|
||||
if [ ! -f "$MLIBRARY" ]; then
|
||||
MLIBRARY="$DIRNAME/obj/sysroot/usr/lib/libm.a"
|
||||
fi
|
||||
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH \
|
||||
-DZLIB_LIBRARY="$DIRNAME/obj/zlib/libz.a" \
|
||||
-DZLIB_INCLUDE_DIR="$DIRNAME/obj/zlib/" \
|
||||
-DM_LIBRARY="$MLIBRARY" \
|
||||
-DPNG_TESTS=0 -DCMAKE_C_FLAGS="-fpic" &&
|
||||
make $@
|
||||
check_error
|
||||
touch "$DIRNAME/obj/libpng.stamp"
|
||||
fi
|
||||
|
||||
# Freetype bootstrap
|
||||
if [ ! -f "$DIRNAME/obj/freetype_bootstrap.stamp" ]; then
|
||||
echo "Compiling freetype bootstrap"
|
||||
mkdir -p "$DIRNAME/obj/freetype/build"
|
||||
cp -a -f "$DIRNAME/../lib/freetype/"* "$DIRNAME/obj/freetype"
|
||||
cd "$DIRNAME/obj/freetype/build"
|
||||
cmake .. -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH \
|
||||
-DZLIB_LIBRARY="$DIRNAME/obj/zlib/libz.a" \
|
||||
-DZLIB_INCLUDE_DIR="$DIRNAME/obj/zlib/" \
|
||||
-DPNG_LIBRARY="$DIRNAME/obj/libpng/libpng.a" \
|
||||
-DPNG_PNG_INCLUDE_DIR="$DIRNAME/obj/libpng/" \
|
||||
-DFT_WITH_HARFBUZZ=OFF -DFT_WITH_BZIP2=OFF \
|
||||
-DFT_WITH_BROTLI=OFF -DFT_WITH_ZLIB=ON -DFT_WITH_PNG=ON \
|
||||
-DCMAKE_C_FLAGS="-fpic" &&
|
||||
make $@
|
||||
check_error
|
||||
# We need to rebuild freetype after harfbuzz is compiled
|
||||
touch "$DIRNAME/obj/freetype_bootstrap.stamp"
|
||||
fi
|
||||
|
||||
# Harfbuzz
|
||||
if [ ! -f "$DIRNAME/obj/harfbuzz.stamp" ]; then
|
||||
echo "Compiling harfbuzz"
|
||||
mkdir -p "$DIRNAME/obj/harfbuzz/build"
|
||||
cp -a -f "$DIRNAME/../lib/harfbuzz/"* "$DIRNAME/obj/harfbuzz"
|
||||
|
||||
cd "$DIRNAME/obj/harfbuzz/build"
|
||||
cmake .. -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH -DBUILD_SHARED_LIBS=OFF \
|
||||
-DFREETYPE_LIBRARY="$DIRNAME/obj/freetype/build/libfreetype.a $DIRNAME/obj/libpng/libpng.a $DIRNAME/obj/zlib/libz.a" \
|
||||
-DFREETYPE_INCLUDE_DIRS="$DIRNAME/obj/freetype/include/" \
|
||||
-DHB_HAVE_GLIB=OFF -DHB_HAVE_GOBJECT=OFF -DHB_HAVE_ICU=OFF \
|
||||
-DHB_HAVE_FREETYPE=ON -DHB_BUILD_SUBSET=OFF \
|
||||
-DCMAKE_C_FLAGS="-fpic" -DCMAKE_CXX_FLAGS="-std=gnu++0x -fpic" &&
|
||||
make $@
|
||||
check_error
|
||||
mkdir -p "$DIRNAME/obj/harfbuzz/include/harfbuzz"
|
||||
cp $DIRNAME/obj/harfbuzz/src/*.h "$DIRNAME/obj/harfbuzz/include/harfbuzz"
|
||||
touch "$DIRNAME/obj/harfbuzz.stamp"
|
||||
fi
|
||||
|
||||
# Freetype
|
||||
if [ ! -f "$DIRNAME/obj/freetype.stamp" ]; then
|
||||
echo "Compiling freetype"
|
||||
cd "$DIRNAME/obj/freetype/build"
|
||||
rm -rf *
|
||||
cmake .. -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH \
|
||||
-DZLIB_LIBRARY="$DIRNAME/obj/zlib/libz.a" \
|
||||
-DZLIB_INCLUDE_DIR="$DIRNAME/obj/zlib/" \
|
||||
-DPNG_LIBRARY="$DIRNAME/obj/libpng/libpng.a" \
|
||||
-DPNG_PNG_INCLUDE_DIR="$DIRNAME/obj/libpng/" \
|
||||
-DHarfBuzz_LIBRARY="$DIRNAME/obj/harfbuzz/build/libharfbuzz.a" \
|
||||
-DHarfBuzz_INCLUDE_DIR="$DIRNAME/obj/harfbuzz/src/" \
|
||||
-DFT_WITH_HARFBUZZ=ON -DFT_WITH_BZIP2=OFF \
|
||||
-DFT_WITH_BROTLI=OFF -DFT_WITH_ZLIB=ON -DFT_WITH_PNG=ON \
|
||||
-DCMAKE_C_FLAGS="-fpic" &&
|
||||
make $@
|
||||
check_error
|
||||
touch "$DIRNAME/obj/freetype.stamp"
|
||||
fi
|
||||
|
||||
# Openal
|
||||
if [ ! -f "$DIRNAME/obj/openal.stamp" ]; then
|
||||
echo "Compiling openal"
|
||||
mkdir -p "$DIRNAME/obj/openal"
|
||||
cp -a -f "$DIRNAME/../lib/openal/"* "$DIRNAME/obj/openal"
|
||||
|
||||
cd "$DIRNAME/obj/openal"
|
||||
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH -DALSOFT_UTILS=0 -DALSOFT_EXAMPLES=0 \
|
||||
-DLIBTYPE=STATIC -DOPENSL_LIBRARY="-lOpenSLES" \
|
||||
-DOPENSL_INCLUDE_DIR="$DIRNAME/obj/sysroot/usr/include/SLES/" \
|
||||
-DOPENSL_ANDROID_INCLUDE_DIR="$DIRNAME/obj/sysroot/usr/include/SLES/" \
|
||||
-DCMAKE_C_FLAGS="-fpic" -DCMAKE_CXX_FLAGS="-fpic" &&
|
||||
make $@
|
||||
check_error
|
||||
touch "$DIRNAME/obj/openal.stamp"
|
||||
fi
|
||||
|
||||
# MbedTLS
|
||||
if [ ! -f "$DIRNAME/obj/mbedtls.stamp" ]; then
|
||||
echo "Compiling mbedtls"
|
||||
mkdir -p "$DIRNAME/obj/mbedtls"
|
||||
cp -a -f "$DIRNAME/../lib/mbedtls/"* "$DIRNAME/obj/mbedtls"
|
||||
|
||||
cd "$DIRNAME/obj/mbedtls"
|
||||
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH -DBUILD_SHARED_LIBS=OFF \
|
||||
-DENABLE_TESTING=OFF -DENABLE_PROGRAMS=OFF \
|
||||
-DCMAKE_C_FLAGS="-fpic" &&
|
||||
make $@
|
||||
check_error
|
||||
touch "$DIRNAME/obj/mbedtls.stamp"
|
||||
fi
|
||||
|
||||
# Curl
|
||||
if [ ! -f "$DIRNAME/obj/curl.stamp" ]; then
|
||||
echo "Compiling curl"
|
||||
mkdir -p "$DIRNAME/obj/curl"
|
||||
cp -a -f "$DIRNAME/../lib/curl/"* "$DIRNAME/obj/curl"
|
||||
|
||||
cd "$DIRNAME/obj/curl"
|
||||
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH -DBUILD_SHARED_LIBS=OFF \
|
||||
-DZLIB_LIBRARY="$DIRNAME/obj/zlib/libz.a" \
|
||||
-DZLIB_INCLUDE_DIR="$DIRNAME/obj/zlib/" \
|
||||
-DMBEDCRYPTO_LIBRARY="$DIRNAME/obj/mbedtls/library/libmbedcrypto.a" \
|
||||
-DMBEDTLS_LIBRARY="$DIRNAME/obj/mbedtls/library/libmbedtls.a" \
|
||||
-DMBEDX509_LIBRARY="$DIRNAME/obj/mbedtls/library/libmbedx509.a" \
|
||||
-DMBEDTLS_INCLUDE_DIRS="$DIRNAME/obj/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 \
|
||||
-DHTTP_ONLY=ON -DCURL_CA_BUNDLE=none -DCURL_CA_PATH=none \
|
||||
-DENABLE_THREADED_RESOLVER=ON &&
|
||||
make $@
|
||||
check_error
|
||||
touch "$DIRNAME/obj/curl.stamp"
|
||||
fi
|
||||
|
||||
# Libjpeg
|
||||
if [ ! -f "$DIRNAME/obj/libjpeg.stamp" ]; then
|
||||
echo "Compiling libjpeg"
|
||||
mkdir -p "$DIRNAME/obj/libjpeg"
|
||||
cp -a -f "$DIRNAME/../lib/libjpeg/"* "$DIRNAME/obj/libjpeg"
|
||||
|
||||
cd "$DIRNAME/obj/libjpeg"
|
||||
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH -DCMAKE_C_FLAGS="-fpic" &&
|
||||
make $@
|
||||
check_error
|
||||
touch "$DIRNAME/obj/libjpeg.stamp"
|
||||
fi
|
||||
|
||||
# Libogg
|
||||
if [ ! -f "$DIRNAME/obj/libogg.stamp" ]; then
|
||||
echo "Compiling libogg"
|
||||
mkdir -p "$DIRNAME/obj/libogg"
|
||||
cp -a -f "$DIRNAME/../lib/libogg/"* "$DIRNAME/obj/libogg"
|
||||
|
||||
cd "$DIRNAME/obj/libogg"
|
||||
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH -DCMAKE_C_FLAGS="-fpic" &&
|
||||
make $@
|
||||
check_error
|
||||
touch "$DIRNAME/obj/libogg.stamp"
|
||||
fi
|
||||
|
||||
# Libvorbis
|
||||
if [ ! -f "$DIRNAME/obj/libvorbis.stamp" ]; then
|
||||
echo "Compiling libvorbis"
|
||||
mkdir -p "$DIRNAME/obj/libvorbis"
|
||||
cp -a -f "$DIRNAME/../lib/libvorbis/"* "$DIRNAME/obj/libvorbis"
|
||||
|
||||
cd "$DIRNAME/obj/libvorbis"
|
||||
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH -DCMAKE_C_FLAGS="-fpic" \
|
||||
-DOGG_LIBRARY="$DIRNAME/obj/libogg/libogg.a" \
|
||||
-DOGG_INCLUDE_DIR="$DIRNAME/obj/libogg/include" &&
|
||||
make $@
|
||||
check_error
|
||||
touch "$DIRNAME/obj/libvorbis.stamp"
|
||||
fi
|
||||
|
||||
# STK
|
||||
echo "Compiling STK"
|
||||
cd "$DIRNAME"
|
||||
${NDK_PATH}/ndk-build $@ \
|
||||
APP_BUILD_SCRIPT="$NDK_BUILD_SCRIPT" \
|
||||
APP_ABI="$NDK_ABI" \
|
||||
APP_PLATFORM="$NDK_PLATFORM" \
|
||||
APP_CPPFLAGS="$NDK_CPPFLAGS" \
|
||||
APP_STL=c++_static \
|
||||
NDK_DEBUG=$IS_DEBUG_BUILD
|
||||
|
||||
check_error
|
||||
|
||||
# Build apk
|
||||
echo "Building APK"
|
||||
|
||||
@@ -369,6 +658,12 @@ echo " <background android:drawable=\"@drawable/icon_bg\" />" >> "$ADAP
|
||||
echo " <foreground android:drawable=\"@drawable/icon_fg\" />" >> "$ADAPTIVE_ICON_FILE"
|
||||
echo "</adaptive-icon>" >> "$ADAPTIVE_ICON_FILE"
|
||||
|
||||
sed -i "s/minSdkVersion=\".*\"/minSdkVersion=\"$MIN_SDK_VERSION\"/g" \
|
||||
"$DIRNAME/AndroidManifest.xml"
|
||||
|
||||
sed -i "s/targetSdkVersion=\".*\"/targetSdkVersion=\"$TARGET_SDK_VERSION\"/g" \
|
||||
"$DIRNAME/AndroidManifest.xml"
|
||||
|
||||
sed -i "s/package=\".*\"/package=\"$PACKAGE_NAME\"/g" \
|
||||
"$DIRNAME/AndroidManifest.xml"
|
||||
|
||||
@@ -445,27 +740,19 @@ 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" \
|
||||
-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" \
|
||||
./gradlew -Pcompile_sdk_version=$COMPILE_SDK_VERSION \
|
||||
-Pbuild_tools_ver="$BUILD_TOOLS_VER" \
|
||||
-Pstorepass="$STK_STOREPASS" \
|
||||
-Pkeystore="$STK_KEYSTORE" \
|
||||
-Palias="$STK_ALIAS" \
|
||||
$GRADLE_BUILD_TYPE
|
||||
|
||||
if [ "$GRADLE_BUILD_TYPE" = "assembleRelease" ]; then
|
||||
./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" \
|
||||
./gradlew -Pcompile_sdk_version=$COMPILE_SDK_VERSION \
|
||||
-Pbuild_tools_ver="$BUILD_TOOLS_VER" \
|
||||
-Pstorepass="$STK_STOREPASS" \
|
||||
-Pkeystore="$STK_KEYSTORE" \
|
||||
-Palias="$STK_ALIAS" \
|
||||
"bundleRelease"
|
||||
fi
|
||||
|
||||
|
||||
@@ -1,376 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Tested with NDK 22.1.7171670
|
||||
|
||||
export DIRNAME=$(realpath "$(dirname "$0")")
|
||||
|
||||
export NDK_PATH_DEFAULT="$DIRNAME/android-ndk"
|
||||
|
||||
export ARCH_ARMV7=arm
|
||||
export HOST_ARMV7=arm-linux-androideabi
|
||||
|
||||
export ARCH_AARCH64=arm64
|
||||
export HOST_AARCH64=aarch64-linux-android
|
||||
|
||||
export ARCH_X86=x86
|
||||
export HOST_X86=i686-linux-android
|
||||
|
||||
export ARCH_X86_64=x86_64
|
||||
export HOST_X86_64=x86_64-linux-android
|
||||
|
||||
# A helper function that checks if error ocurred
|
||||
check_error()
|
||||
{
|
||||
if [ $? -gt 0 ]; then
|
||||
echo "Error ocurred."
|
||||
exit
|
||||
fi
|
||||
}
|
||||
|
||||
# Handle clean command
|
||||
if [ ! -z "$1" ] && [ "$1" = "clean" ]; then
|
||||
rm -rf "$DIRNAME/deps-armeabi-v7a"
|
||||
rm -rf "$DIRNAME/deps-arm64-v8a"
|
||||
rm -rf "$DIRNAME/deps-x86"
|
||||
rm -rf "$DIRNAME/deps-x86_64"
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ -z "$NDK_PATH" ]; then
|
||||
export NDK_PATH="$NDK_PATH_DEFAULT"
|
||||
fi
|
||||
|
||||
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" \
|
||||
"proper path in the NDK_PATH variable"
|
||||
exit
|
||||
fi
|
||||
|
||||
export NDK_TOOLCHAIN_PATH="$NDK_PATH/toolchains/llvm/prebuilt/linux-x86_64/bin"
|
||||
export NDK_SYSROOT="$NDK_PATH/toolchains/llvm/prebuilt/linux-x86_64/sysroot"
|
||||
export PATH="$NDK_TOOLCHAIN_PATH:$PATH"
|
||||
|
||||
build_deps()
|
||||
{
|
||||
export ARCH_OPTION=$1
|
||||
if [ "$ARCH_OPTION" = "armv7" ]; then
|
||||
ARCH_OPTION="armeabi-v7a"
|
||||
export ARCH=$ARCH_ARMV7
|
||||
# Special case
|
||||
export HOST=armv7a-linux-androideabi16
|
||||
export HOST_DIR=$HOST_ARMV7
|
||||
elif [ "$ARCH_OPTION" = "aarch64" ]; then
|
||||
ARCH_OPTION="arm64-v8a"
|
||||
export ARCH=$ARCH_AARCH64
|
||||
export HOST_DIR=$HOST_AARCH64
|
||||
export HOST="${HOST_DIR}21"
|
||||
elif [ "$ARCH_OPTION" = "x86" ]; then
|
||||
export ARCH=$ARCH_X86
|
||||
export HOST_DIR=$HOST_X86
|
||||
export HOST="${HOST_DIR}16"
|
||||
elif [ "$ARCH_OPTION" = "x86_64" ]; then
|
||||
export ARCH=$ARCH_X86_64
|
||||
export HOST_DIR=$HOST_X86_64
|
||||
export HOST="${HOST_DIR}21"
|
||||
else
|
||||
echo "Unknown architecture: $1. Possible values are:"\
|
||||
"all, armv7, aarch64, x86, x86_64"
|
||||
exit
|
||||
fi
|
||||
|
||||
# Zlib
|
||||
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/zlib.stamp" ]; then
|
||||
echo "Compiling $ARCH_OPTION zlib"
|
||||
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/zlib"
|
||||
cp -a -f "$DIRNAME/../lib/zlib/"* "$DIRNAME/deps-$ARCH_OPTION/zlib"
|
||||
|
||||
cd "$DIRNAME/deps-$ARCH_OPTION/zlib"
|
||||
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH -DCMAKE_C_FLAGS="-fpic -O3 -g" &&
|
||||
make -j $(($(nproc) + 1))
|
||||
check_error
|
||||
touch "$DIRNAME/deps-$ARCH_OPTION/zlib.stamp"
|
||||
fi
|
||||
|
||||
# Libpng
|
||||
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/libpng.stamp" ]; then
|
||||
echo "Compiling $ARCH_OPTION libpng"
|
||||
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/libpng"
|
||||
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/libpng/lib"
|
||||
cp -a -f "$DIRNAME/../lib/libpng/"* "$DIRNAME/deps-$ARCH_OPTION/libpng"
|
||||
|
||||
cd "$DIRNAME/deps-$ARCH_OPTION/libpng"
|
||||
MLIBRARY="$NDK_SYSROOT/usr/lib/$HOST_DIR/libm.a"
|
||||
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH \
|
||||
-DZLIB_LIBRARY="$DIRNAME/deps-$ARCH_OPTION/zlib/libz.a" \
|
||||
-DZLIB_INCLUDE_DIR="$DIRNAME/deps-$ARCH_OPTION/zlib/" \
|
||||
-DM_LIBRARY="$MLIBRARY" \
|
||||
-DPNG_TESTS=0 -DCMAKE_C_FLAGS="-fpic -O3 -g" &&
|
||||
make -j $(($(nproc) + 1))
|
||||
check_error
|
||||
touch "$DIRNAME/deps-$ARCH_OPTION/libpng.stamp"
|
||||
fi
|
||||
|
||||
# Freetype bootstrap
|
||||
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/freetype_bootstrap.stamp" ]; then
|
||||
echo "Compiling $ARCH_OPTION freetype bootstrap"
|
||||
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/freetype/build"
|
||||
cp -a -f "$DIRNAME/../lib/freetype/"* "$DIRNAME/deps-$ARCH_OPTION/freetype"
|
||||
cd "$DIRNAME/deps-$ARCH_OPTION/freetype/build"
|
||||
cmake .. -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH \
|
||||
-DZLIB_LIBRARY="$DIRNAME/deps-$ARCH_OPTION/zlib/libz.a" \
|
||||
-DZLIB_INCLUDE_DIR="$DIRNAME/deps-$ARCH_OPTION/zlib/" \
|
||||
-DPNG_LIBRARY="$DIRNAME/deps-$ARCH_OPTION/libpng/libpng.a" \
|
||||
-DPNG_PNG_INCLUDE_DIR="$DIRNAME/deps-$ARCH_OPTION/libpng/" \
|
||||
-DFT_WITH_HARFBUZZ=OFF -DFT_WITH_BZIP2=OFF \
|
||||
-DFT_WITH_BROTLI=OFF -DFT_WITH_ZLIB=ON -DFT_WITH_PNG=ON \
|
||||
-DCMAKE_C_FLAGS="-fpic -O3 -g" &&
|
||||
make -j $(($(nproc) + 1))
|
||||
check_error
|
||||
# We need to rebuild freetype after harfbuzz is compiled
|
||||
touch "$DIRNAME/deps-$ARCH_OPTION/freetype_bootstrap.stamp"
|
||||
fi
|
||||
|
||||
# Harfbuzz
|
||||
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/harfbuzz.stamp" ]; then
|
||||
echo "Compiling $ARCH_OPTION harfbuzz"
|
||||
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/harfbuzz/build"
|
||||
cp -a -f "$DIRNAME/../lib/harfbuzz/"* "$DIRNAME/deps-$ARCH_OPTION/harfbuzz"
|
||||
|
||||
cd "$DIRNAME/deps-$ARCH_OPTION/harfbuzz/build"
|
||||
cmake .. -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH -DBUILD_SHARED_LIBS=OFF \
|
||||
-DFREETYPE_LIBRARY="$DIRNAME/deps-$ARCH_OPTION/freetype/build/libfreetype.a $DIRNAME/deps-$ARCH_OPTION/libpng/libpng.a $DIRNAME/deps-$ARCH_OPTION/zlib/libz.a" \
|
||||
-DFREETYPE_INCLUDE_DIRS="$DIRNAME/deps-$ARCH_OPTION/freetype/include/" \
|
||||
-DHB_HAVE_GLIB=OFF -DHB_HAVE_GOBJECT=OFF -DHB_HAVE_ICU=OFF \
|
||||
-DHB_HAVE_FREETYPE=ON -DHB_BUILD_SUBSET=OFF \
|
||||
-DCMAKE_C_FLAGS="-fpic -O3 -g" -DCMAKE_CXX_FLAGS="-std=gnu++0x -fpic -O3 -g" &&
|
||||
make -j $(($(nproc) + 1))
|
||||
check_error
|
||||
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/harfbuzz/include/harfbuzz"
|
||||
cp $DIRNAME/deps-$ARCH_OPTION/harfbuzz/src/*.h "$DIRNAME/deps-$ARCH_OPTION/harfbuzz/include/harfbuzz"
|
||||
touch "$DIRNAME/deps-$ARCH_OPTION/harfbuzz.stamp"
|
||||
fi
|
||||
|
||||
# Freetype
|
||||
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/freetype.stamp" ]; then
|
||||
echo "Compiling $ARCH_OPTION freetype"
|
||||
cd "$DIRNAME/deps-$ARCH_OPTION/freetype/build"
|
||||
rm -rf *
|
||||
cmake .. -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH \
|
||||
-DZLIB_LIBRARY="$DIRNAME/deps-$ARCH_OPTION/zlib/libz.a" \
|
||||
-DZLIB_INCLUDE_DIR="$DIRNAME/deps-$ARCH_OPTION/zlib/" \
|
||||
-DPNG_LIBRARY="$DIRNAME/deps-$ARCH_OPTION/libpng/libpng.a" \
|
||||
-DPNG_PNG_INCLUDE_DIR="$DIRNAME/deps-$ARCH_OPTION/libpng/" \
|
||||
-DHarfBuzz_LIBRARY="$DIRNAME/deps-$ARCH_OPTION/harfbuzz/build/libharfbuzz.a" \
|
||||
-DHarfBuzz_INCLUDE_DIR="$DIRNAME/deps-$ARCH_OPTION/harfbuzz/src/" \
|
||||
-DFT_WITH_HARFBUZZ=ON -DFT_WITH_BZIP2=OFF \
|
||||
-DFT_WITH_BROTLI=OFF -DFT_WITH_ZLIB=ON -DFT_WITH_PNG=ON \
|
||||
-DCMAKE_C_FLAGS="-fpic -O3 -g" &&
|
||||
make -j $(($(nproc) + 1))
|
||||
check_error
|
||||
touch "$DIRNAME/deps-$ARCH_OPTION/freetype.stamp"
|
||||
fi
|
||||
|
||||
# Openal
|
||||
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/openal.stamp" ]; then
|
||||
echo "Compiling $ARCH_OPTION openal"
|
||||
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/openal"
|
||||
cp -a -f "$DIRNAME/../lib/openal/"* "$DIRNAME/deps-$ARCH_OPTION/openal"
|
||||
|
||||
cd "$DIRNAME/deps-$ARCH_OPTION/openal"
|
||||
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH -DALSOFT_UTILS=0 -DALSOFT_EXAMPLES=0 \
|
||||
-DLIBTYPE=STATIC -DOPENSL_LIBRARY="-lOpenSLES" \
|
||||
-DOPENSL_INCLUDE_DIR="$NDK_SYSROOT/usr/include/SLES/" \
|
||||
-DOPENSL_ANDROID_INCLUDE_DIR="$NDK_SYSROOT/usr/include/SLES/" \
|
||||
-DCMAKE_C_FLAGS="-fpic -O3 -g" -DCMAKE_CXX_FLAGS="-fpic -O3 -g" &&
|
||||
make -j $(($(nproc) + 1))
|
||||
check_error
|
||||
touch "$DIRNAME/deps-$ARCH_OPTION/openal.stamp"
|
||||
fi
|
||||
|
||||
# MbedTLS
|
||||
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/mbedtls.stamp" ]; then
|
||||
echo "Compiling $ARCH_OPTION mbedtls"
|
||||
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/mbedtls"
|
||||
cp -a -f "$DIRNAME/../lib/mbedtls/"* "$DIRNAME/deps-$ARCH_OPTION/mbedtls"
|
||||
|
||||
cd "$DIRNAME/deps-$ARCH_OPTION/mbedtls"
|
||||
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH -DBUILD_SHARED_LIBS=OFF \
|
||||
-DENABLE_TESTING=OFF -DENABLE_PROGRAMS=OFF \
|
||||
-DCMAKE_C_FLAGS="-fpic -O3 -g" &&
|
||||
make -j $(($(nproc) + 1))
|
||||
check_error
|
||||
touch "$DIRNAME/deps-$ARCH_OPTION/mbedtls.stamp"
|
||||
fi
|
||||
|
||||
# Curl
|
||||
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/curl.stamp" ]; then
|
||||
echo "Compiling $ARCH_OPTION curl"
|
||||
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/curl"
|
||||
cp -a -f "$DIRNAME/../lib/curl/"* "$DIRNAME/deps-$ARCH_OPTION/curl"
|
||||
|
||||
cd "$DIRNAME/deps-$ARCH_OPTION/curl"
|
||||
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH -DBUILD_SHARED_LIBS=OFF \
|
||||
-DZLIB_LIBRARY="$DIRNAME/deps-$ARCH_OPTION/zlib/libz.a" \
|
||||
-DZLIB_INCLUDE_DIR="$DIRNAME/deps-$ARCH_OPTION/zlib/" \
|
||||
-DMBEDCRYPTO_LIBRARY="$DIRNAME/deps-$ARCH_OPTION/mbedtls/library/libmbedcrypto.a" \
|
||||
-DMBEDTLS_LIBRARY="$DIRNAME/deps-$ARCH_OPTION/mbedtls/library/libmbedtls.a" \
|
||||
-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 \
|
||||
-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))
|
||||
check_error
|
||||
touch "$DIRNAME/deps-$ARCH_OPTION/curl.stamp"
|
||||
fi
|
||||
|
||||
# Libjpeg
|
||||
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/libjpeg.stamp" ]; then
|
||||
echo "Compiling $ARCH_OPTION libjpeg"
|
||||
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/libjpeg"
|
||||
cp -a -f "$DIRNAME/../lib/libjpeg/"* "$DIRNAME/deps-$ARCH_OPTION/libjpeg"
|
||||
|
||||
cd "$DIRNAME/deps-$ARCH_OPTION/libjpeg"
|
||||
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH -DCMAKE_C_FLAGS="-fpic -O3 -g" &&
|
||||
make -j $(($(nproc) + 1))
|
||||
check_error
|
||||
touch "$DIRNAME/deps-$ARCH_OPTION/libjpeg.stamp"
|
||||
fi
|
||||
|
||||
# Libogg
|
||||
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/libogg.stamp" ]; then
|
||||
echo "Compiling $ARCH_OPTION libogg"
|
||||
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/libogg"
|
||||
cp -a -f "$DIRNAME/../lib/libogg/"* "$DIRNAME/deps-$ARCH_OPTION/libogg"
|
||||
|
||||
cd "$DIRNAME/deps-$ARCH_OPTION/libogg"
|
||||
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH -DCMAKE_C_FLAGS="-fpic -O3 -g" &&
|
||||
make -j $(($(nproc) + 1))
|
||||
check_error
|
||||
touch "$DIRNAME/deps-$ARCH_OPTION/libogg.stamp"
|
||||
fi
|
||||
|
||||
# Libvorbis
|
||||
if [ ! -f "$DIRNAME/deps-$ARCH_OPTION/libvorbis.stamp" ]; then
|
||||
echo "Compiling $ARCH_OPTION libvorbis"
|
||||
mkdir -p "$DIRNAME/deps-$ARCH_OPTION/libvorbis"
|
||||
cp -a -f "$DIRNAME/../lib/libvorbis/"* "$DIRNAME/deps-$ARCH_OPTION/libvorbis"
|
||||
|
||||
cd "$DIRNAME/deps-$ARCH_OPTION/libvorbis"
|
||||
cmake . -DCMAKE_TOOLCHAIN_FILE=../../../cmake/Toolchain-android.cmake \
|
||||
-DHOST=$HOST -DARCH=$ARCH -DCMAKE_C_FLAGS="-fpic -O3 -g" \
|
||||
-DOGG_LIBRARY="$DIRNAME/deps-$ARCH_OPTION/libogg/libogg.a" \
|
||||
-DOGG_INCLUDE_DIR="$DIRNAME/deps-$ARCH_OPTION/libogg/include" &&
|
||||
make -j $(($(nproc) + 1))
|
||||
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
|
||||
build_deps armv7
|
||||
build_deps aarch64
|
||||
build_deps x86
|
||||
build_deps x86_64
|
||||
else
|
||||
build_deps "$COMPILE_ARCH"
|
||||
fi
|
||||
@@ -51,7 +51,6 @@ 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;
|
||||
@@ -71,8 +70,6 @@ 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);
|
||||
// ------------------------------------------------------------------------
|
||||
@@ -84,8 +81,6 @@ public class SuperTuxKartActivity extends SDLActivity
|
||||
// ------------------------------------------------------------------------
|
||||
private native static void addDNSSrvRecords(String name, int weight);
|
||||
// ------------------------------------------------------------------------
|
||||
private native static void pauseRenderingJNI();
|
||||
// ------------------------------------------------------------------------
|
||||
private void showExtractProgressPrivate()
|
||||
{
|
||||
WindowManager wm =
|
||||
@@ -191,8 +186,6 @@ 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;
|
||||
@@ -211,12 +204,12 @@ public class SuperTuxKartActivity extends SDLActivity
|
||||
root.getWindowVisibleDisplayFrame(r);
|
||||
int screen_height = root.getRootView().getHeight();
|
||||
int keyboard_height = screen_height - (r.bottom);
|
||||
m_keyboard_height.set(keyboard_height);
|
||||
saveKeyboardHeight(keyboard_height);
|
||||
int moved_height = 0;
|
||||
int margin = screen_height - m_bottom_y;
|
||||
if (keyboard_height > margin)
|
||||
moved_height = -keyboard_height + margin;
|
||||
m_moved_height.set(-moved_height);
|
||||
saveMovedHeight(-moved_height);
|
||||
SDLActivity.moveView(moved_height);
|
||||
}
|
||||
});
|
||||
@@ -273,31 +266,17 @@ 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();
|
||||
}
|
||||
// ------------------------------------------------------------------------
|
||||
/* SDL manually dlopen main to allow unload after main thread exit. */
|
||||
|
||||
/* STK statically link SDL2. */
|
||||
protected String[] getLibraries()
|
||||
{
|
||||
return new String[]{ "SDL2" };
|
||||
}
|
||||
// ------------------------------------------------------------------------
|
||||
protected String getMainSharedObject()
|
||||
{
|
||||
return getContext().getApplicationInfo().nativeLibraryDir + "/libmain.so";
|
||||
return new String[]{ "main" };
|
||||
}
|
||||
// ------------------------------------------------------------------------
|
||||
public void showKeyboard(final int type, final int y)
|
||||
@@ -520,9 +499,5 @@ public class SuperTuxKartActivity extends SDLActivity
|
||||
{
|
||||
handlePadding(isInMultiWindowMode);
|
||||
}
|
||||
// ------------------------------------------------------------------------
|
||||
public int getKeyboardHeight() { return m_keyboard_height.get(); }
|
||||
// ------------------------------------------------------------------------
|
||||
public int getMovedHeight() { return m_moved_height.get(); }
|
||||
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ if(WIN32)
|
||||
find_library(FREETYPE_LIBRARY NAMES freetype libfreetype PATHS "${PROJECT_SOURCE_DIR}/${DEPENDENCIES}/lib")
|
||||
set(FREETYPE_FOUND 1)
|
||||
set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY})
|
||||
elseif(APPLE OR ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
|
||||
elseif(APPLE)
|
||||
find_path(FREETYPE_INCLUDE_DIRS NAMES ft2build.h PATH_SUFFIXES freetype2 include/freetype2 include)
|
||||
find_library(FREETYPE_LIBRARY NAMES freetype)
|
||||
set(FREETYPE_FOUND 1)
|
||||
|
||||
@@ -9,18 +9,12 @@
|
||||
SET(CMAKE_SYSTEM_NAME Linux)
|
||||
|
||||
# which compilers to use for C and C++
|
||||
SET(CMAKE_C_COMPILER "${HOST}-clang")
|
||||
SET(CMAKE_CXX_COMPILER "${HOST}-clang++")
|
||||
SET(CMAKE_C_COMPILER "${HOST}-gcc")
|
||||
SET(CMAKE_CXX_COMPILER "${HOST}-g++")
|
||||
SET(CMAKE_RC_COMPILER "${HOST}-windres")
|
||||
|
||||
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})
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
# You can also use -DCMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM=xxxxxxxxxx to specify team
|
||||
|
||||
# Increase every upload to App store
|
||||
SET(IOS_BUILD_VERSION 26)
|
||||
SET(IOS_BUILD_VERSION 24)
|
||||
|
||||
# Get SDK path
|
||||
execute_process(COMMAND xcodebuild -version -sdk iphoneos Path
|
||||
@@ -59,8 +59,6 @@ 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 "")
|
||||
@@ -123,8 +121,6 @@ set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=iphoneos*] "arm64")
|
||||
set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=iphonesimulator*] "x86_64")
|
||||
set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=iphonesimulator*] "x86_64")
|
||||
|
||||
set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT "dwarf-with-dsym" CACHE INTERNAL "")
|
||||
|
||||
# Replace the above two with these if you use an apple silicon
|
||||
#set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=iphonesimulator*] "arm64")
|
||||
#set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=iphonesimulator*] "arm64")
|
||||
|
||||
@@ -2,15 +2,12 @@
|
||||
# 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${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_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_SYSTEM_PROCESSOR ${LLVM_ARCH})
|
||||
SET(CMAKE_BUILD_TYPE RelWithDebInfo)
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -Wl,-pdb=")
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
# Collect all currently added targets in all subdirectories
|
||||
#
|
||||
# Parameters:
|
||||
# - _result the list containing all found targets
|
||||
# - _dir root directory to start looking from
|
||||
function(get_all_targets _result _dir)
|
||||
get_property(_subdirs DIRECTORY "${_dir}" PROPERTY SUBDIRECTORIES)
|
||||
foreach(_subdir IN LISTS _subdirs)
|
||||
get_all_targets(${_result} "${_subdir}")
|
||||
endforeach()
|
||||
|
||||
get_directory_property(_sub_targets DIRECTORY "${_dir}" BUILDSYSTEM_TARGETS)
|
||||
set(${_result} ${${_result}} ${_sub_targets} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
# set(CMAKE_XCODE_ATTRIBUTE_GCC_GENERATE_DEBUGGING_SYMBOLS doesn't work in ios toolchain, below fixed it
|
||||
macro(configure_xcode_defaults _EXE_NAME)
|
||||
|
||||
if (APPLE)
|
||||
macro(set_xcode_property TARGET XCODE_PROPERTY XCODE_VALUE)
|
||||
set_property(TARGET ${TARGET} PROPERTY XCODE_ATTRIBUTE_${XCODE_PROPERTY} ${XCODE_VALUE})
|
||||
endmacro()
|
||||
endif()
|
||||
|
||||
if (APPLE)
|
||||
set_xcode_property(${_EXE_NAME} GCC_GENERATE_DEBUGGING_SYMBOLS[variant=Debug] YES)
|
||||
set_xcode_property(${_EXE_NAME} GCC_GENERATE_DEBUGGING_SYMBOLS[variant=MinSizeRel] YES)
|
||||
set_xcode_property(${_EXE_NAME} GCC_GENERATE_DEBUGGING_SYMBOLS[variant=RelWithDebInfo] YES)
|
||||
set_xcode_property(${_EXE_NAME} GCC_GENERATE_DEBUGGING_SYMBOLS[variant=Release] YES)
|
||||
endif()
|
||||
endmacro()
|
||||
@@ -94,13 +94,13 @@ Karts
|
||||
- Minibjorn : Puffy
|
||||
- Cheleb : Nolok, Pidgin
|
||||
- Néd J. Édoire : Wilber, Hexley, Beastie
|
||||
- Typhon306 and ZAQraven99 : Kiki
|
||||
- Typhon306 and McRavenINDo : Kiki
|
||||
|
||||
Karts
|
||||
- Cédric Archambault : Suzanne
|
||||
- Julian Schönbächler : Amanda and Gavroche
|
||||
- Kinsu : Emule
|
||||
- ZAQraven99 : GNU, Pepper, Sara, Adiumy
|
||||
- McRavenINDo : GNU, Pepper, Sara, Adiumy
|
||||
|
||||
Objects
|
||||
- GeekPenguinBR, TuxKartDriver : Models from Las Dunas Stadium
|
||||
@@ -166,8 +166,7 @@ Misc songs
|
||||
- The Dead Rocks
|
||||
- Magne Djupvik : 'Penguin Party'
|
||||
- Dundersylt : last lap, race start songs
|
||||
- GeekPenguinBR and Heuchi1 : 'Jumping to the stars'
|
||||
- Heuchi1 : 'Alien Signal'
|
||||
- GeekPenguinBR : 'Jumping to the stars'
|
||||
|
||||
Misc songs
|
||||
- Keith Baylis aka Vim : 'Boom-boom-boom song'
|
||||
|
||||
@@ -40,7 +40,5 @@
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>UIApplicationSupportsIndirectInputEvents</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
1432
data/cacert.pem
1432
data/cacert.pem
File diff suppressed because it is too large
Load Diff
@@ -23,7 +23,7 @@
|
||||
<size min="0.10"
|
||||
max="0.30" />
|
||||
|
||||
<color min="40 255 40"
|
||||
<color min="40 40 255"
|
||||
max="255 255 255" />
|
||||
|
||||
<wind flips="Y" />
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<size min="0.10"
|
||||
max="0.30" />
|
||||
|
||||
<color min="40 255 40"
|
||||
<color min="40 40 255"
|
||||
max="255 255 255" />
|
||||
|
||||
<wind flips="Y" />
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<size min="0.40"
|
||||
max="0.60" />
|
||||
|
||||
<color min="40 255 40"
|
||||
<color min="40 40 255"
|
||||
max="255 255 255" />
|
||||
|
||||
<wind flips="Y" />
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
x-increase-factor="1.6"
|
||||
y-increase-factor="1.6" />
|
||||
|
||||
<color min="40 255 40"
|
||||
<color min="40 40 255"
|
||||
max="255 255 255" />
|
||||
|
||||
</particles>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<size min="0.2"
|
||||
max="0.3" />
|
||||
|
||||
<color min="40 255 40"
|
||||
<color min="40 40 255"
|
||||
max="255 255 255" />
|
||||
|
||||
</particles>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
x-increase-factor="2.6"
|
||||
y-increase-factor="2.6" />
|
||||
|
||||
<color min="40 255 40"
|
||||
<color min="40 40 255"
|
||||
max="255 255 255" />
|
||||
|
||||
</particles>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
x-increase-factor="1.2"
|
||||
y-increase-factor="1.3" />
|
||||
|
||||
<color min="40 255 40"
|
||||
<color min="40 40 255"
|
||||
max="255 255 255" />
|
||||
|
||||
</particles>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<size min="0.2"
|
||||
max="0.3" />
|
||||
|
||||
<color min="40 255 40"
|
||||
<color min="40 40 255"
|
||||
max="255 255 255" />
|
||||
|
||||
</particles>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
y-increase-factor="5"
|
||||
/>
|
||||
|
||||
<color min="0 0 0"
|
||||
max="255 255 255" />
|
||||
<color min="255 255 255"
|
||||
max="0 0 0" />
|
||||
|
||||
</particles>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<size min="0.17"
|
||||
max="0.17" />
|
||||
|
||||
<color min="255 255 50"
|
||||
max="255 255 150" />
|
||||
<color min="255 50 255"
|
||||
max="255 150 255" />
|
||||
|
||||
</particles>
|
||||
|
||||
@@ -34,15 +34,10 @@
|
||||
<card os="android" disable="ColorBufferFloat"/>
|
||||
<card os="android" disable="TextureCompressionS3TC"/>
|
||||
<card contains="Adreno" os="android" version="<=19" disable="VertexIdWorking"/>
|
||||
<card os="android" version="<19" disable="SystemScreenKeyboard"/>
|
||||
<card contains="Android Emulator" os="android" disable="ForceLegacyDevice"/>
|
||||
<card contains="Android Emulator" os="android" disable="NpotTextures"/>
|
||||
<card contains="Apple Software Renderer" os="ios" disable="ForceLegacyDevice"/>
|
||||
<card contains="Apple Software Renderer" os="ios" disable="NpotTextures"/>
|
||||
<card vendor="Broadcom" os="linux" disable="HighDefinitionTextures256"/>
|
||||
<card contains="PowerVR SGX 520" disable="NpotTextures"/>
|
||||
<card contains="PowerVR SGX 530" disable="NpotTextures"/>
|
||||
<card contains="PowerVR SGX 531" disable="NpotTextures"/>
|
||||
<card contains="PowerVR SGX 535" disable="NpotTextures"/>
|
||||
<card contains="PowerVR SGX 540" disable="NpotTextures"/>
|
||||
<card contains="PowerVR SGX 545" disable="NpotTextures"/>
|
||||
</graphical-restrictions>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
<spacer height="5%" width="10" />
|
||||
|
||||
<buttonbar id="buttons" height="30%" width="70%" align="center">
|
||||
<buttonbar id="buttons" height="30%" width="30%" 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"/>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<div width="100%" height="fit" layout="horizontal-row">
|
||||
<spacer width="3%" height="100%" />
|
||||
<div proportion="1" height="fit" layout="horizontal-row" >
|
||||
<label width="35%" height="100%" text_align="left" I18N="In the ui/camera screen" text="FOV"/>
|
||||
<label width="20%" height="100%" I18N="In the ui/camera screen" text="FOV"/>
|
||||
<gauge id="fov" proportion="1"/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -21,7 +21,7 @@
|
||||
<div width="100%" height="fit" layout="horizontal-row">
|
||||
<spacer width="3%" height="100%" />
|
||||
<div proportion="1" height="fit" layout="horizontal-row" >
|
||||
<label width="35%" height="100%" text_align="left" I18N="In the ui/camera screen" text="Distance"/>
|
||||
<label width="20%" height="100%" text_align="left" I18N="In the ui/camera screen" text="Distance"/>
|
||||
<gauge id="camera_distance" proportion="1"/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -32,7 +32,7 @@
|
||||
<div width="100%" height="fit" layout="horizontal-row">
|
||||
<spacer width="3%" height="100%" />
|
||||
<div proportion="1" height="fit" layout="horizontal-row" >
|
||||
<label width="35%" height="100%" text_align="left" I18N="In the ui/camera screen" text="Angle"/>
|
||||
<label width="20%" height="100%" text_align="left" I18N="In the ui/camera screen" text="Angle"/>
|
||||
<gauge id="camera_angle" proportion="1"/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -48,17 +48,29 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<spacer width="5" height="2%"/>
|
||||
|
||||
<spacer width="5" height="2%"/>
|
||||
<label width="100%" I18N="In the ui/camera settings" text="Backward camera"/>
|
||||
<spacer width="5" height="1%"/>
|
||||
|
||||
<spacer height="2%" width="100%" />
|
||||
|
||||
<div width="100%" height="fit" layout="horizontal-row">
|
||||
<spacer width="3%" height="100%" />
|
||||
<label width="fit" height="100%" text_align="left" I18N="In the ui/camera screen" text="Distance"/>
|
||||
<gauge id="backward_camera_distance" width="35%"/>
|
||||
<spacer width="2%" height="100%" />
|
||||
<label width="fit" height="100%" text_align="left" I18N="In the ui/camera screen" text="Angle"/>
|
||||
<gauge id="backward_camera_angle" width="35%"/>
|
||||
<div proportion="1" height="fit" layout="horizontal-row" >
|
||||
<label width="20%" height="100%" text_align="left" I18N="In the ui/camera screen" text="Distance"/>
|
||||
<gauge id="backward_camera_distance" proportion="1"/>
|
||||
</div>
|
||||
</div>
|
||||
<spacer height="2%" width="100%" />
|
||||
|
||||
|
||||
<div width="100%" height="fit" layout="horizontal-row">
|
||||
<spacer width="3%" height="100%" />
|
||||
<div proportion="1" height="fit" layout="horizontal-row" >
|
||||
<label width="20%" height="100%" text_align="left" I18N="In the ui/camera screen" text="Angle"/>
|
||||
<gauge id="backward_camera_angle" proportion="1"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<spacer height="2%" width="100%" />
|
||||
@@ -72,9 +84,9 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<spacer height="2%" width="100%" />
|
||||
<spacer height="4%" width="100%" />
|
||||
|
||||
<buttonbar id="buttons" height="20%" width="90%" align="center">
|
||||
<buttonbar id="buttons" height="20%" width="40%" align="center">
|
||||
<icon-button id="apply" width="128" height="128" icon="gui/icons/green_check.png"
|
||||
I18N="In the ui/camera screen" text="Apply" align="center"/>
|
||||
<icon-button id="reset" width="128" height="128" icon="gui/icons/restart.png"
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
<stkgui>
|
||||
<div x="1%" y="4%" width="98%" height="92%" layout="vertical-row">
|
||||
|
||||
<div width="100%" height="58%" layout="vertical-row">
|
||||
<div width="100%" height="55%" layout="vertical-row">
|
||||
<div width="100%" height="15%" align="center" layout="vertical-row" >
|
||||
<header id="name" width="100%" text_align="center"/>
|
||||
<label id="name" width="100%" text_align="center"/>
|
||||
</div>
|
||||
<!-- This is filled in programmatically -->
|
||||
<div width="100%" height="85%" layout="horizontal-row">
|
||||
@@ -29,7 +29,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div width="100%" height="42%" layout="horizontal-row">
|
||||
<div width="100%" height="45%" layout="horizontal-row">
|
||||
<div width="40%" height="100%" layout="vertical-row">
|
||||
<spacer width="10" height="5%"/>
|
||||
<icon-button proportion="1" width="100%" height="100%" id="track_screenshot" custom_ratio="1.33333"/>
|
||||
|
||||
@@ -31,14 +31,6 @@
|
||||
<label id="reverse-text" width="52%" height="fit" I18N="In the grand prix info screen" text="Reverse" text_align="left"/>
|
||||
</div>
|
||||
<spacer width="1" height="1%"/>
|
||||
<div width="100%" height="fit" layout="horizontal-row">
|
||||
<div width="45%" height="fit" layout="horizontal-row">
|
||||
<spinner id="time-target-spinner" width="100%" min_value="1" max_value="20" align="center" wrap_around="true" />
|
||||
</div>
|
||||
<spacer width="3%"/>
|
||||
<label id="time-target-text" width="52%" height="fit" I18N="In the grand prix info screen" text="Maximum time (min.)" text_align="left"/>
|
||||
</div>
|
||||
<spacer width="1" height="1%"/>
|
||||
<div width="100%" height="fit" layout="horizontal-row">
|
||||
<div width="45%" height="fit" layout="horizontal-row">
|
||||
<spinner id="track-spinner" width="100%" min_value="1" max_value="20" align="center" wrap_around="true" />
|
||||
|
||||
@@ -22,8 +22,6 @@
|
||||
I18N="In the high score selection screen" text="Time Trial"/>
|
||||
<icon-button id="tab_egg_hunt" width="128" height="128" icon="gui/icons/mode_easter.png"
|
||||
I18N="In the high score selection screen" text="Egg Hunt"/>
|
||||
<icon-button id="tab_lap_trial" width="128" height="128" icon="gui/icons/mode_normal.png"
|
||||
I18N="In the high score selection screen" text="Lap Trial"/>
|
||||
<icon-button id="tab_grand_prix" width="128" height="128" icon="gui/icons/gp_new.png"
|
||||
I18N="In the high score selection screen" text="Grand Prix"/>
|
||||
</tabs>
|
||||
|
||||
@@ -17,14 +17,14 @@
|
||||
|
||||
<box proportion="1" width="100%" layout="vertical-row">
|
||||
<div x="1%" y="2%" width="98%" height="96%" layout="vertical-row" >
|
||||
<div width="100%" height="fit" layout="horizontal-row" >
|
||||
<label width="fit" height="fit" text_align="left" I18N="In the online account settings screen" text="Password:"/>
|
||||
<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:"/>
|
||||
<spacer width="20" height="1"/>
|
||||
<button id="change_password_button" height="100%" width="fit" text="Change" />
|
||||
</div>
|
||||
<spacer height="5%" width="20"/>
|
||||
<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:"/>
|
||||
<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:"/>
|
||||
<spacer width="20" height="1"/>
|
||||
<button id="change_email_button" height="100%" width="fit" text="Change" />
|
||||
</div>
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
<div height="1f" width="100%" layout="horizontal-row">
|
||||
<checkbox id="force_feedback"/>
|
||||
<spacer width="3%"/>
|
||||
<label id="force_feedback_text" I18N="In the input configuration screen, for gamepad" text="Enable force feedback (if supported)" word_wrap="true"/>
|
||||
<label id="force_feedback_text" I18N="In the input configuration screen, for gamepad" text="Enable force feedback (if support)" word_wrap="true"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -35,10 +35,10 @@
|
||||
<div width="100%" height="fit" layout="horizontal-row">
|
||||
<spacer width="3%" height="100%" />
|
||||
<div layout="vertical-row" width="10f" height="fit">
|
||||
<gauge id="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>
|
||||
|
||||
@@ -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="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>
|
||||
|
||||
@@ -90,8 +90,13 @@
|
||||
<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">
|
||||
@@ -110,12 +115,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<spacer width="5" height="1%"/>
|
||||
|
||||
<scrollable_ribbon id="resolutions" height="20%" label_location="each"
|
||||
width="100%" square_items="false"
|
||||
align="center" child_width="128" child_height="128" />
|
||||
|
||||
<spacer width="5" height="2%"/>
|
||||
|
||||
<div width="100%" height="fit" layout="horizontal-row" >
|
||||
|
||||
@@ -36,13 +36,11 @@
|
||||
</box>
|
||||
</div>
|
||||
<div id="vote" x="63%" y="1%" width="36%" height="88%" layout="vertical-row">
|
||||
<div width="100%" height="92%" layout="horizontal-row">
|
||||
<div width="100%" proportion="2" layout="horizontal-row">
|
||||
<box proportion="2" height="100%" layout="vertical-row">
|
||||
<list id="vote-list" width="100%" height="100%" word_wrap="true"/>
|
||||
</box>
|
||||
</div>
|
||||
<spacer height="1%"/>
|
||||
<textbox id="search_track" width="100%" height="fit"/>
|
||||
</div>
|
||||
<progressbar x="2%" y="93%" id="timer" height="1f" width="96%"></progressbar>
|
||||
</stkgui>
|
||||
|
||||
@@ -145,6 +145,7 @@
|
||||
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.
|
||||
|
||||
@@ -1,133 +0,0 @@
|
||||
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 中文(繁體)
|
||||
|
237
data/localized_name.txt
Normal file
237
data/localized_name.txt
Normal file
@@ -0,0 +1,237 @@
|
||||
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;
|
||||
1028
data/po/ar.po
1028
data/po/ar.po
File diff suppressed because it is too large
Load Diff
1079
data/po/be.po
1079
data/po/be.po
File diff suppressed because it is too large
Load Diff
956
data/po/bg.po
956
data/po/bg.po
File diff suppressed because it is too large
Load Diff
908
data/po/br.po
908
data/po/br.po
File diff suppressed because it is too large
Load Diff
906
data/po/bs.po
906
data/po/bs.po
File diff suppressed because it is too large
Load Diff
923
data/po/ca.po
923
data/po/ca.po
File diff suppressed because it is too large
Load Diff
914
data/po/cs.po
914
data/po/cs.po
File diff suppressed because it is too large
Load Diff
1043
data/po/da.po
1043
data/po/da.po
File diff suppressed because it is too large
Load Diff
942
data/po/de.po
942
data/po/de.po
File diff suppressed because it is too large
Load Diff
918
data/po/el.po
918
data/po/el.po
File diff suppressed because it is too large
Load Diff
910
data/po/en.po
910
data/po/en.po
File diff suppressed because it is too large
Load Diff
1240
data/po/eo.po
1240
data/po/eo.po
File diff suppressed because it is too large
Load Diff
933
data/po/es.po
933
data/po/es.po
File diff suppressed because it is too large
Load Diff
2088
data/po/et.po
2088
data/po/et.po
File diff suppressed because it is too large
Load Diff
1030
data/po/eu.po
1030
data/po/eu.po
File diff suppressed because it is too large
Load Diff
1061
data/po/fa.po
1061
data/po/fa.po
File diff suppressed because it is too large
Load Diff
936
data/po/fi.po
936
data/po/fi.po
File diff suppressed because it is too large
Load Diff
1026
data/po/fr.po
1026
data/po/fr.po
File diff suppressed because it is too large
Load Diff
913
data/po/fr_CA.po
913
data/po/fr_CA.po
File diff suppressed because it is too large
Load Diff
902
data/po/ga.po
902
data/po/ga.po
File diff suppressed because it is too large
Load Diff
912
data/po/gd.po
912
data/po/gd.po
File diff suppressed because it is too large
Load Diff
941
data/po/gl.po
941
data/po/gl.po
File diff suppressed because it is too large
Load Diff
1381
data/po/he.po
1381
data/po/he.po
File diff suppressed because it is too large
Load Diff
977
data/po/hr.po
977
data/po/hr.po
File diff suppressed because it is too large
Load Diff
972
data/po/hu.po
972
data/po/hu.po
File diff suppressed because it is too large
Load Diff
6419
data/po/ia.po
Normal file
6419
data/po/ia.po
Normal file
File diff suppressed because it is too large
Load Diff
968
data/po/id.po
968
data/po/id.po
File diff suppressed because it is too large
Load Diff
902
data/po/is.po
902
data/po/is.po
File diff suppressed because it is too large
Load Diff
991
data/po/it.po
991
data/po/it.po
File diff suppressed because it is too large
Load Diff
1002
data/po/ja.po
1002
data/po/ja.po
File diff suppressed because it is too large
Load Diff
904
data/po/jbo.po
904
data/po/jbo.po
File diff suppressed because it is too large
Load Diff
943
data/po/ko.po
943
data/po/ko.po
File diff suppressed because it is too large
Load Diff
1018
data/po/krl.po
1018
data/po/krl.po
File diff suppressed because it is too large
Load Diff
936
data/po/kw.po
936
data/po/kw.po
File diff suppressed because it is too large
Load Diff
902
data/po/ky.po
902
data/po/ky.po
File diff suppressed because it is too large
Load Diff
902
data/po/la.po
902
data/po/la.po
File diff suppressed because it is too large
Load Diff
905
data/po/lt.po
905
data/po/lt.po
File diff suppressed because it is too large
Load Diff
902
data/po/lv.po
902
data/po/lv.po
File diff suppressed because it is too large
Load Diff
909
data/po/ml.po
909
data/po/ml.po
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
958
data/po/nb.po
958
data/po/nb.po
File diff suppressed because it is too large
Load Diff
1139
data/po/nl.po
1139
data/po/nl.po
File diff suppressed because it is too large
Load Diff
906
data/po/nn.po
906
data/po/nn.po
File diff suppressed because it is too large
Load Diff
947
data/po/oc.po
947
data/po/oc.po
File diff suppressed because it is too large
Load Diff
902
data/po/os.po
902
data/po/os.po
File diff suppressed because it is too large
Load Diff
969
data/po/pl.po
969
data/po/pl.po
File diff suppressed because it is too large
Load Diff
6419
data/po/pms.po
Normal file
6419
data/po/pms.po
Normal file
File diff suppressed because it is too large
Load Diff
949
data/po/pt.po
949
data/po/pt.po
File diff suppressed because it is too large
Load Diff
2614
data/po/pt_BR.po
2614
data/po/pt_BR.po
File diff suppressed because it is too large
Load Diff
902
data/po/ro.po
902
data/po/ro.po
File diff suppressed because it is too large
Load Diff
925
data/po/ru.po
925
data/po/ru.po
File diff suppressed because it is too large
Load Diff
6420
data/po/sc.po
Normal file
6420
data/po/sc.po
Normal file
File diff suppressed because it is too large
Load Diff
6420
data/po/sco.po
Normal file
6420
data/po/sco.po
Normal file
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user