Merge remote-tracking branch 'upstream/sdl_android' into sdl_android
This commit is contained in:
72
.github/workflows/ballfield.yml
vendored
72
.github/workflows/ballfield.yml
vendored
@@ -31,12 +31,23 @@ jobs:
|
|||||||
APP_NAME: ballfield
|
APP_NAME: ballfield
|
||||||
# It takes one hour per one architecture to build Boost and ICU libraries, and Github limits CI script duration to 6 hours
|
# It takes one hour per one architecture to build Boost and ICU libraries, and Github limits CI script duration to 6 hours
|
||||||
ARCH_LIST: armeabi-v7a arm64-v8a x86 x86_64
|
ARCH_LIST: armeabi-v7a arm64-v8a x86 x86_64
|
||||||
|
ANDROID_BUILD_TOOLS: 33.0.2
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: 'read'
|
||||||
|
id-token: 'write'
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- name: Java 17
|
||||||
|
uses: actions/setup-java@v2
|
||||||
|
with:
|
||||||
|
java-version: 17
|
||||||
|
distribution: temurin
|
||||||
|
|
||||||
- name: Check out the repository
|
- name: Check out the repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
fetch-depth: 1
|
fetch-depth: 1
|
||||||
submodules: false
|
submodules: false
|
||||||
@@ -57,46 +68,6 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
sed -i "s/MultiABI=.*/MultiABI='${ARCH_LIST}'/g" project/jni/application/src/AndroidAppSettings.cfg
|
sed -i "s/MultiABI=.*/MultiABI='${ARCH_LIST}'/g" project/jni/application/src/AndroidAppSettings.cfg
|
||||||
|
|
||||||
# - name: Get Boost revision
|
|
||||||
# id: boost-rev
|
|
||||||
# run: echo "::set-output name=BOOST_REV::`git -C project/jni/boost/src rev-parse HEAD`"
|
|
||||||
#
|
|
||||||
# - name: Get ICU revision
|
|
||||||
# id: icu-rev
|
|
||||||
# run: echo "::set-output name=ICU_REV::`git -C project/jni/iconv/src rev-parse HEAD`"
|
|
||||||
#
|
|
||||||
# - name: Copy Boost libraries from cache
|
|
||||||
# uses: actions/cache@v2
|
|
||||||
# id: cache-boost
|
|
||||||
# with:
|
|
||||||
# # The same SDL revision will produce the same libraries
|
|
||||||
# key: ${{steps.boost-rev.outputs.BOOST_REV}}
|
|
||||||
# path: |
|
|
||||||
# build-android/project/jni/boost/include
|
|
||||||
# build-android/project/jni/boost/lib
|
|
||||||
#
|
|
||||||
# - name: Copy ICU libraries from cache
|
|
||||||
# uses: actions/cache@v2
|
|
||||||
# id: cache-icu
|
|
||||||
# with:
|
|
||||||
# # The same SDL revision will produce the same libraries
|
|
||||||
# key: ${{steps.icu-rev.outputs.ICU_REV}}
|
|
||||||
# path: |
|
|
||||||
# build-android/project/jni/iconv/include
|
|
||||||
# build-android/project/jni/iconv/lib
|
|
||||||
# build-android/project/jni/icuuc/include
|
|
||||||
# build-android/project/jni/icuuc/lib
|
|
||||||
#
|
|
||||||
# - name: Touch cached Boost timestamps
|
|
||||||
# if: steps.cache-boost.outputs.cache-hit == 'true' || steps.cache-icu.outputs.cache-hit == 'true'
|
|
||||||
# working-directory: build-android
|
|
||||||
# run: touch project/jni/boost/lib/*/* || true
|
|
||||||
#
|
|
||||||
# - name: Touch cached ICU timestamps
|
|
||||||
# if: steps.cache-boost.outputs.cache-hit == 'true' || steps.cache-icu.outputs.cache-hit == 'true'
|
|
||||||
# working-directory: build-android
|
|
||||||
# run: touch project/jni/iconv/lib/*/* project/jni/icuuc/lib/*/* || true
|
|
||||||
|
|
||||||
- name: Patch Java files and build Boost, ICU, and OpenSSL
|
- name: Patch Java files and build Boost, ICU, and OpenSSL
|
||||||
run: |
|
run: |
|
||||||
export PATH=$ANDROID_NDK_LATEST_HOME:$PATH
|
export PATH=$ANDROID_NDK_LATEST_HOME:$PATH
|
||||||
@@ -115,7 +86,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Hyper turbo build script GOOOOOOOOOOOO
|
- name: Hyper turbo build script GOOOOOOOOOOOO
|
||||||
run: |
|
run: |
|
||||||
export PATH=$ANDROID_NDK_LATEST_HOME:$ANDROID_SDK_ROOT/build-tools/31.0.0:$PATH
|
export PATH=$ANDROID_NDK_LATEST_HOME:$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS:$PATH
|
||||||
./build.sh
|
./build.sh
|
||||||
|
|
||||||
- name: App signing keys
|
- name: App signing keys
|
||||||
@@ -130,7 +101,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Package
|
- name: Package
|
||||||
run: |
|
run: |
|
||||||
export PATH=$ANDROID_NDK_LATEST_HOME:$ANDROID_SDK_ROOT/build-tools/31.0.0:$PATH
|
export PATH=$ANDROID_NDK_LATEST_HOME:$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS:$PATH
|
||||||
if [ -e keystore.jks ]; then
|
if [ -e keystore.jks ]; then
|
||||||
export ANDROID_KEYSTORE_FILE=`pwd`/keystore.jks
|
export ANDROID_KEYSTORE_FILE=`pwd`/keystore.jks
|
||||||
fi
|
fi
|
||||||
@@ -154,3 +125,18 @@ jobs:
|
|||||||
name: ${{env.APP_NAME}}
|
name: ${{env.APP_NAME}}
|
||||||
path: upload
|
path: upload
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|
||||||
|
- uses: r0adkll/upload-google-play@v1
|
||||||
|
continue-on-error: true
|
||||||
|
with:
|
||||||
|
serviceAccountJsonPlainText: ${{secrets.SERVICE_ACCOUNT_JSON}}
|
||||||
|
packageName: net.olofson.ballfield
|
||||||
|
releaseFiles: upload/*.aab
|
||||||
|
#track: beta
|
||||||
|
track: production
|
||||||
|
status: completed
|
||||||
|
# inAppUpdatePriority: 2
|
||||||
|
# userFraction: 1
|
||||||
|
# whatsNewDirectory: distribution/whatsnew
|
||||||
|
# mappingFile: app/build/outputs/mapping/release/mapping.txt
|
||||||
|
# debugSymbols: app/intermediates/merged_native_libs/release/out/lib
|
||||||
|
|||||||
160
.github/workflows/openttd.yml
vendored
Normal file
160
.github/workflows/openttd.yml
vendored
Normal file
@@ -0,0 +1,160 @@
|
|||||||
|
# Copyright (C) 2021-2021 Sergii Pylypenko <x.pelya.x@gmail.com>
|
||||||
|
#
|
||||||
|
# This software is provided 'as-is', without any express or implied
|
||||||
|
# warranty. In no event will the authors be held liable for any damages
|
||||||
|
# arising from the use of this software.
|
||||||
|
#
|
||||||
|
# Permission is granted to anyone to use this software for any purpose,
|
||||||
|
# including commercial applications, and to alter it and redistribute it
|
||||||
|
# freely, subject to the following restrictions:
|
||||||
|
#
|
||||||
|
# 1. The origin of this software must not be misrepresented; you must not
|
||||||
|
# claim that you wrote the original software. If you use this software
|
||||||
|
# in a product, an acknowledgment in the product documentation would be
|
||||||
|
# appreciated but is not required.
|
||||||
|
# 2. Altered source versions must be plainly marked as such, and must not be
|
||||||
|
# misrepresented as being the original software.
|
||||||
|
# 3. This notice may not be removed or altered from any source distribution.
|
||||||
|
|
||||||
|
name: openttd
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- '*'
|
||||||
|
tags:
|
||||||
|
- '*'
|
||||||
|
pull_request: {}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
env:
|
||||||
|
APP_NAME: openttd
|
||||||
|
# It takes one hour per one architecture to build Boost and ICU libraries, and Github limits CI script duration to 6 hours
|
||||||
|
ARCH_LIST: armeabi-v7a arm64-v8a x86 x86_64
|
||||||
|
ANDROID_BUILD_TOOLS: 33.0.2
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Java 17
|
||||||
|
uses: actions/setup-java@v2
|
||||||
|
with:
|
||||||
|
java-version: 17
|
||||||
|
distribution: temurin
|
||||||
|
|
||||||
|
- name: Check out the repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 1
|
||||||
|
submodules: false
|
||||||
|
|
||||||
|
- name: Check out submodules
|
||||||
|
# There are many more submodules in this repo, we don't need them all
|
||||||
|
run: >
|
||||||
|
git submodule update --init --recursive --depth=1
|
||||||
|
project/jni/application/${APP_NAME}
|
||||||
|
project/jni/boost/src project/jni/iconv/src
|
||||||
|
project/jni/sdl2 project/jni/sdl2_image
|
||||||
|
project/jni/sdl2_mixer project/jni/sdl2_ttf
|
||||||
|
|
||||||
|
- name: Symlink the application dir
|
||||||
|
run: |
|
||||||
|
ln -s ${APP_NAME} project/jni/application/src
|
||||||
|
|
||||||
|
- name: Set architectures list
|
||||||
|
run: |
|
||||||
|
sed -i "s/MultiABI=.*/MultiABI='${ARCH_LIST}'/g" project/jni/application/src/AndroidAppSettings.cfg
|
||||||
|
|
||||||
|
- name: Get ICU revision
|
||||||
|
id: icu-rev
|
||||||
|
run: echo "ICU_REV=`git -C project/jni/iconv/src rev-parse HEAD`::`echo ${ARCH_LIST} | sed 's/ /:/g'`" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Copy ICU libraries from cache
|
||||||
|
uses: actions/cache@v2
|
||||||
|
id: cache-icu
|
||||||
|
with:
|
||||||
|
# The same SDL revision will produce the same libraries
|
||||||
|
key: ${{env.ICU_REV}}
|
||||||
|
path: |
|
||||||
|
project/jni/iconv/include
|
||||||
|
project/jni/iconv/lib
|
||||||
|
project/jni/icuuc/include
|
||||||
|
project/jni/icuuc/lib
|
||||||
|
project/jni/icuuc/share/icu
|
||||||
|
|
||||||
|
- name: Touch cached ICU timestamps
|
||||||
|
if: steps.cache-icu.outputs.cache-hit == 'true'
|
||||||
|
run: touch project/jni/iconv/lib/*/* project/jni/icuuc/lib/*/* project/jni/icuuc/share/icu/*/* || true
|
||||||
|
|
||||||
|
- name: Patch Java files and build Boost, ICU, and OpenSSL
|
||||||
|
run: |
|
||||||
|
export PATH=$ANDROID_NDK_LATEST_HOME:$PATH
|
||||||
|
./changeAppSettings.sh
|
||||||
|
|
||||||
|
- name: Set up Gradle and Android SDK licenses
|
||||||
|
working-directory: project
|
||||||
|
run: |
|
||||||
|
for Y in `seq 20`; do echo y; done | sudo $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --licenses
|
||||||
|
./gradlew assembleRelease || true
|
||||||
|
for Y in `seq 20`; do echo y; done | sudo $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --licenses --sdk_root=`pwd`
|
||||||
|
mkdir -p $HOME/.android
|
||||||
|
keytool -genkey -v -keystore $HOME/.android/debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000 -dname "CN=Debug, OU=Debug, O=Debug, L=Debug, ST=Debug, C=Debug"
|
||||||
|
echo "sdk.dir=$ANDROID_SDK_ROOT" > local.properties
|
||||||
|
echo "proguard.config=proguard.cfg;proguard-local.cfg" >> local.properties
|
||||||
|
|
||||||
|
- name: Hyper turbo build script GOOOOOOOOOOOO
|
||||||
|
run: |
|
||||||
|
export PATH=$ANDROID_NDK_LATEST_HOME:$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS:$PATH
|
||||||
|
./build.sh
|
||||||
|
|
||||||
|
- name: App signing keys
|
||||||
|
run: |
|
||||||
|
echo "$ANDROID_KEYSTORE_B64" | base64 -d > keystore.jks || true
|
||||||
|
echo "$ANDROID_UPLOAD_KEYSTORE_B64" | base64 -d > upload_keystore.jks || true
|
||||||
|
find keystore.jks -empty -delete || true
|
||||||
|
find upload_keystore.jks -empty -delete || true
|
||||||
|
env:
|
||||||
|
ANDROID_KEYSTORE_B64: "${{secrets.ANDROID_KEYSTORE_B64}}"
|
||||||
|
ANDROID_UPLOAD_KEYSTORE_B64: "${{secrets.ANDROID_UPLOAD_KEYSTORE_B64}}"
|
||||||
|
|
||||||
|
- name: Package
|
||||||
|
run: |
|
||||||
|
export PATH=$ANDROID_NDK_LATEST_HOME:$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS:$PATH
|
||||||
|
if [ -e keystore.jks ]; then
|
||||||
|
export ANDROID_KEYSTORE_FILE=`pwd`/keystore.jks
|
||||||
|
fi
|
||||||
|
if [ -e upload_keystore.jks ]; then
|
||||||
|
export ANDROID_UPLOAD_KEYSTORE_FILE=`pwd`/upload_keystore.jks
|
||||||
|
fi
|
||||||
|
mkdir -p upload/
|
||||||
|
./sign.sh
|
||||||
|
mv *.apk upload/
|
||||||
|
./signBundle.sh
|
||||||
|
mv *.aab upload/
|
||||||
|
env:
|
||||||
|
ANDROID_KEYSTORE_PASS: "${{secrets.ANDROID_KEYSTORE_PASS}}"
|
||||||
|
ANDROID_KEYSTORE_ALIAS: "${{secrets.ANDROID_KEYSTORE_ALIAS}}"
|
||||||
|
ANDROID_UPLOAD_KEYSTORE_PASS: "${{secrets.ANDROID_UPLOAD_KEYSTORE_PASS}}"
|
||||||
|
ANDROID_UPLOAD_KEYSTORE_ALIAS: "${{secrets.ANDROID_UPLOAD_KEYSTORE_ALIAS}}"
|
||||||
|
|
||||||
|
# Github actions is dumb and won't let you download single files from artifacts, so break up the artifacts instead
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: ${{env.APP_NAME}}
|
||||||
|
path: upload
|
||||||
|
if-no-files-found: error
|
||||||
|
|
||||||
|
- uses: r0adkll/upload-google-play@v1
|
||||||
|
continue-on-error: true
|
||||||
|
with:
|
||||||
|
serviceAccountJsonPlainText: ${{secrets.SERVICE_ACCOUNT_JSON}}
|
||||||
|
packageName: org.openttd.sdl
|
||||||
|
releaseFiles: upload/*.aab
|
||||||
|
track: beta
|
||||||
|
#track: production
|
||||||
|
status: completed
|
||||||
|
# inAppUpdatePriority: 2
|
||||||
|
# userFraction: 1
|
||||||
|
# whatsNewDirectory: distribution/whatsnew
|
||||||
|
# mappingFile: app/build/outputs/mapping/release/mapping.txt
|
||||||
|
# debugSymbols: app/intermediates/merged_native_libs/release/out/lib
|
||||||
51
.github/workflows/sdl2-demo.yml
vendored
51
.github/workflows/sdl2-demo.yml
vendored
@@ -31,10 +31,17 @@ jobs:
|
|||||||
APP_NAME: sdl2-demo
|
APP_NAME: sdl2-demo
|
||||||
# It takes one hour per one architecture to build Boost and ICU libraries, and Github limits CI script duration to 6 hours
|
# It takes one hour per one architecture to build Boost and ICU libraries, and Github limits CI script duration to 6 hours
|
||||||
ARCH_LIST: armeabi-v7a arm64-v8a x86 x86_64
|
ARCH_LIST: armeabi-v7a arm64-v8a x86 x86_64
|
||||||
|
ANDROID_BUILD_TOOLS: 33.0.2
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- name: Java 17
|
||||||
|
uses: actions/setup-java@v3
|
||||||
|
with:
|
||||||
|
java-version: 17
|
||||||
|
distribution: temurin
|
||||||
|
|
||||||
- name: Check out the repository
|
- name: Check out the repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
@@ -57,46 +64,6 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
sed -i "s/MultiABI=.*/MultiABI='${ARCH_LIST}'/g" project/jni/application/src/AndroidAppSettings.cfg
|
sed -i "s/MultiABI=.*/MultiABI='${ARCH_LIST}'/g" project/jni/application/src/AndroidAppSettings.cfg
|
||||||
|
|
||||||
# - name: Get Boost revision
|
|
||||||
# id: boost-rev
|
|
||||||
# run: echo "::set-output name=BOOST_REV::`git -C project/jni/boost/src rev-parse HEAD`"
|
|
||||||
#
|
|
||||||
# - name: Get ICU revision
|
|
||||||
# id: icu-rev
|
|
||||||
# run: echo "::set-output name=ICU_REV::`git -C project/jni/iconv/src rev-parse HEAD`"
|
|
||||||
#
|
|
||||||
# - name: Copy Boost libraries from cache
|
|
||||||
# uses: actions/cache@v2
|
|
||||||
# id: cache-boost
|
|
||||||
# with:
|
|
||||||
# # The same SDL revision will produce the same libraries
|
|
||||||
# key: ${{steps.boost-rev.outputs.BOOST_REV}}
|
|
||||||
# path: |
|
|
||||||
# build-android/project/jni/boost/include
|
|
||||||
# build-android/project/jni/boost/lib
|
|
||||||
#
|
|
||||||
# - name: Copy ICU libraries from cache
|
|
||||||
# uses: actions/cache@v2
|
|
||||||
# id: cache-icu
|
|
||||||
# with:
|
|
||||||
# # The same SDL revision will produce the same libraries
|
|
||||||
# key: ${{steps.icu-rev.outputs.ICU_REV}}
|
|
||||||
# path: |
|
|
||||||
# build-android/project/jni/iconv/include
|
|
||||||
# build-android/project/jni/iconv/lib
|
|
||||||
# build-android/project/jni/icuuc/include
|
|
||||||
# build-android/project/jni/icuuc/lib
|
|
||||||
#
|
|
||||||
# - name: Touch cached Boost timestamps
|
|
||||||
# if: steps.cache-boost.outputs.cache-hit == 'true' || steps.cache-icu.outputs.cache-hit == 'true'
|
|
||||||
# working-directory: build-android
|
|
||||||
# run: touch project/jni/boost/lib/*/* || true
|
|
||||||
#
|
|
||||||
# - name: Touch cached ICU timestamps
|
|
||||||
# if: steps.cache-boost.outputs.cache-hit == 'true' || steps.cache-icu.outputs.cache-hit == 'true'
|
|
||||||
# working-directory: build-android
|
|
||||||
# run: touch project/jni/iconv/lib/*/* project/jni/icuuc/lib/*/* || true
|
|
||||||
|
|
||||||
- name: Patch Java files and build Boost, ICU, and OpenSSL
|
- name: Patch Java files and build Boost, ICU, and OpenSSL
|
||||||
run: |
|
run: |
|
||||||
export PATH=$ANDROID_NDK_LATEST_HOME:$PATH
|
export PATH=$ANDROID_NDK_LATEST_HOME:$PATH
|
||||||
@@ -115,7 +82,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Hyper turbo build script GOOOOOOOOOOOO
|
- name: Hyper turbo build script GOOOOOOOOOOOO
|
||||||
run: |
|
run: |
|
||||||
export PATH=$ANDROID_NDK_LATEST_HOME:$ANDROID_SDK_ROOT/build-tools/31.0.0:$PATH
|
export PATH=$ANDROID_NDK_LATEST_HOME:$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS:$PATH
|
||||||
./build.sh
|
./build.sh
|
||||||
|
|
||||||
- name: App signing keys
|
- name: App signing keys
|
||||||
@@ -130,7 +97,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Package
|
- name: Package
|
||||||
run: |
|
run: |
|
||||||
export PATH=$ANDROID_NDK_LATEST_HOME:$ANDROID_SDK_ROOT/build-tools/31.0.0:$PATH
|
export PATH=$ANDROID_NDK_LATEST_HOME:$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS:$PATH
|
||||||
if [ -e keystore.jks ]; then
|
if [ -e keystore.jks ]; then
|
||||||
export ANDROID_KEYSTORE_FILE=`pwd`/keystore.jks
|
export ANDROID_KEYSTORE_FILE=`pwd`/keystore.jks
|
||||||
fi
|
fi
|
||||||
|
|||||||
4
build.sh
4
build.sh
@@ -10,13 +10,14 @@ sign_apk=false
|
|||||||
sign_bundle=false
|
sign_bundle=false
|
||||||
build_release=true
|
build_release=true
|
||||||
do_zipalign=true
|
do_zipalign=true
|
||||||
named_variant="sdl"
|
named_variant=""
|
||||||
base_app_name=""
|
base_app_name=""
|
||||||
|
|
||||||
# Fix Gradle compilation error
|
# Fix Gradle compilation error
|
||||||
if [ -z "$ANDROID_NDK_HOME" ]; then
|
if [ -z "$ANDROID_NDK_HOME" ]; then
|
||||||
export ANDROID_NDK_HOME="$(which ndk-build | sed 's@/ndk-build@@')"
|
export ANDROID_NDK_HOME="$(which ndk-build | sed 's@/ndk-build@@')"
|
||||||
fi
|
fi
|
||||||
|
[ -z "$ANDROID_SDK_ROOT" ] && ANDROID_SDK_ROOT="$ANDROID_HOME"
|
||||||
|
|
||||||
while getopts "sirqbhzv:" OPT
|
while getopts "sirqbhzv:" OPT
|
||||||
do
|
do
|
||||||
@@ -77,6 +78,7 @@ if [ "$#" -gt 0 ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
base_app_name=$(grep -Po 'AppFullName\=\K[[:alnum:].]+\.(?=[[:alnum:]]+)' AndroidAppSettings.cfg)
|
base_app_name=$(grep -Po 'AppFullName\=\K[[:alnum:].]+\.(?=[[:alnum:]]+)' AndroidAppSettings.cfg)
|
||||||
|
[ -z "${named_variant}" ] && named_variant=$(grep -Po 'AppFullName\=\K[[:alnum:].]+' AndroidAppSettings.cfg | grep -Po '[[:alnum:]]+$')
|
||||||
|
|
||||||
function project_needs_setup {
|
function project_needs_setup {
|
||||||
local app_name=$(grep -Po 'AppFullName\=\K[.[:alnum:]]+' AndroidAppSettings.cfg)
|
local app_name=$(grep -Po 'AppFullName\=\K[.[:alnum:]]+' AndroidAppSettings.cfg)
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ set -e
|
|||||||
AUTO=a
|
AUTO=a
|
||||||
CHANGED=
|
CHANGED=
|
||||||
JAVA_SRC_PATH=project/java
|
JAVA_SRC_PATH=project/java
|
||||||
|
[ -z "$ANDROID_SDK_ROOT" ] && ANDROID_SDK_ROOT="$ANDROID_HOME"
|
||||||
|
|
||||||
if [ "X$1" = "X-a" ]; then
|
if [ "X$1" = "X-a" ]; then
|
||||||
AUTO=a
|
AUTO=a
|
||||||
@@ -412,14 +413,14 @@ RedefinedKeysFourthGamepad="$RedefinedKeysFourthGamepad"
|
|||||||
StartupMenuButtonTimeout=$StartupMenuButtonTimeout
|
StartupMenuButtonTimeout=$StartupMenuButtonTimeout
|
||||||
|
|
||||||
# Menu items to hide from startup menu, available menu items (SDL 1.2 only):
|
# Menu items to hide from startup menu, available menu items (SDL 1.2 only):
|
||||||
# ${MenuOptionsAvailable%%[[:space:]]}
|
# ${MenuOptionsAvailable%[[:space:]]}
|
||||||
|
|
||||||
HiddenMenuOptions='$HiddenMenuOptions'
|
HiddenMenuOptions='$HiddenMenuOptions'
|
||||||
|
|
||||||
# Menu items to show at startup - this is Java code snippet, leave empty for default
|
# Menu items to show at startup - this is Java code snippet, leave empty for default
|
||||||
# $FirstStartMenuOptionsDefault
|
# $FirstStartMenuOptionsDefault
|
||||||
# Available menu items:
|
# Available menu items:
|
||||||
# ${MenuOptionsAvailable%%[[:space:]]}
|
# ${MenuOptionsAvailable%[[:space:]]}
|
||||||
FirstStartMenuOptions='$FirstStartMenuOptions'
|
FirstStartMenuOptions='$FirstStartMenuOptions'
|
||||||
|
|
||||||
# Minimum amount of RAM application requires, in Mb, SDL will print warning to user if it's lower
|
# Minimum amount of RAM application requires, in Mb, SDL will print warning to user if it's lower
|
||||||
@@ -498,7 +499,7 @@ HorizontalOrientation=false
|
|||||||
|
|
||||||
UsingSdl2=false
|
UsingSdl2=false
|
||||||
if [ "$LibSdlVersion" = "2.0" ] ; then
|
if [ "$LibSdlVersion" = "2.0" ] ; then
|
||||||
"$LibSdlVersion" = "2"
|
LibSdlVersion="2"
|
||||||
fi
|
fi
|
||||||
if [ "$LibSdlVersion" = "2" ] ; then
|
if [ "$LibSdlVersion" = "2" ] ; then
|
||||||
UsingSdl2=true
|
UsingSdl2=true
|
||||||
@@ -775,7 +776,7 @@ for KEY in $RedefinedKeysFourthGamepad; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
if [ "$APP_PLATFORM" = "" ]; then
|
if [ "$APP_PLATFORM" = "" ]; then
|
||||||
APP_PLATFORM=android-16
|
APP_PLATFORM=android-19
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$MultiABI" = "y" ] ; then
|
if [ "$MultiABI" = "y" ] ; then
|
||||||
@@ -880,7 +881,7 @@ fi
|
|||||||
|
|
||||||
echo Patching project/AndroidManifest.xml
|
echo Patching project/AndroidManifest.xml
|
||||||
cat $ANDROID_MANIFEST_TEMPLATE | \
|
cat $ANDROID_MANIFEST_TEMPLATE | \
|
||||||
sed "s/package=.*/package=\"$AppFullName\"/" | \
|
sed "s/package=.*//" | \
|
||||||
sed "s/android:screenOrientation=.*/android:screenOrientation=\"$ScreenOrientation1\"/" | \
|
sed "s/android:screenOrientation=.*/android:screenOrientation=\"$ScreenOrientation1\"/" | \
|
||||||
sed "s^android:versionCode=.*^android:versionCode=\"$AppVersionCode\"^" | \
|
sed "s^android:versionCode=.*^android:versionCode=\"$AppVersionCode\"^" | \
|
||||||
sed "s^android:versionName=.*^android:versionName=\"$AppVersionName\"^" | \
|
sed "s^android:versionName=.*^android:versionName=\"$AppVersionName\"^" | \
|
||||||
@@ -896,8 +897,19 @@ else
|
|||||||
cat $F | sed "s/^package .*;/package $AppFullName;/" >> project/src/Advertisement.java
|
cat $F | sed "s/^package .*;/package $AppFullName;/" >> project/src/Advertisement.java
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -z "$ANDROID_NDK_HOME" ]; then
|
||||||
|
export ANDROID_NDK_HOME="$(which ndk-build | sed 's@/ndk-build@@')"
|
||||||
|
fi
|
||||||
|
if [ -z "$ANDROID_NDK_HOME" ]; then
|
||||||
|
echo "Set ANDROID_NDK_HOME env variable, or put ndk-build into your PATH"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
NDK_VER=$(echo ${ANDROID_NDK_HOME} | grep -Eo '[^/]+$')
|
||||||
|
|
||||||
cat project/app/build-template.gradle | \
|
cat project/app/build-template.gradle | \
|
||||||
sed 's/applicationId .*/applicationId "'"$AppFullName"'"/' > \
|
sed 's/applicationId .*/applicationId "'"${AppFullName}"'"/' | \
|
||||||
|
sed 's/namespace .*/namespace '"'"${AppFullName}"'"'/' | \
|
||||||
|
sed 's/ndkVersion .*/ndkVersion "'"${NDK_VER}"'"/' > \
|
||||||
project/app/build.gradle
|
project/app/build.gradle
|
||||||
|
|
||||||
echo "-keep class $AppFullName.** { *; }" > project/proguard-local.cfg
|
echo "-keep class $AppFullName.** { *; }" > project/proguard-local.cfg
|
||||||
@@ -1111,6 +1123,7 @@ done
|
|||||||
cd ../../..
|
cd ../../..
|
||||||
|
|
||||||
SDK_DIR=`grep '^sdk.dir' project/local.properties | sed 's/.*=//'`
|
SDK_DIR=`grep '^sdk.dir' project/local.properties | sed 's/.*=//'`
|
||||||
|
[ -z "$SDK_DIR" ] && SDK_DIR="$ANDROID_HOME"
|
||||||
[ -z "$SDK_DIR" ] && SDK_DIR=`which android | sed 's@/tools/android$@@'`
|
[ -z "$SDK_DIR" ] && SDK_DIR=`which android | sed 's@/tools/android$@@'`
|
||||||
mkdir -p project/libs
|
mkdir -p project/libs
|
||||||
echo "sdk.dir=$SDK_DIR" > project/local.properties
|
echo "sdk.dir=$SDK_DIR" > project/local.properties
|
||||||
@@ -1129,17 +1142,6 @@ else
|
|||||||
done
|
done
|
||||||
|
|
||||||
$SEDI "s/==GOOGLEPLAYGAMESERVICES_APP_ID==/$GooglePlayGameServicesId/g" project/res/values/strings.xml
|
$SEDI "s/==GOOGLEPLAYGAMESERVICES_APP_ID==/$GooglePlayGameServicesId/g" project/res/values/strings.xml
|
||||||
|
|
||||||
PROGUARD=`which android`
|
|
||||||
[ -z "$PROGUARD" ] && PROGUARD=$ANDROID_SDK_ROOT/tools/android
|
|
||||||
PROGUARD=`dirname $PROGUARD`/proguard/lib/proguard.jar
|
|
||||||
java -jar $PROGUARD | grep 'ProGuard, version 5.3' || {
|
|
||||||
echo "Error: ProGuard is too old"
|
|
||||||
echo "You need to update ProGuard. Download it here:"
|
|
||||||
echo "https://sourceforge.net/projects/proguard/files/proguard/5.3/proguard5.3.3.zip"
|
|
||||||
echo "Unpack it, then place file proguard.jar to $PROGUARD"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -e "project/jni/application/src/AndroidData/assetpack" ] ; then
|
if [ -e "project/jni/application/src/AndroidData/assetpack" ] ; then
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="com.package.name"
|
|
||||||
android:versionCode="100"
|
android:versionCode="100"
|
||||||
android:versionName="1.0.0"
|
android:versionName="1.0.0"
|
||||||
android:installLocation="auto"
|
android:installLocation="auto"
|
||||||
|
|||||||
@@ -3,13 +3,14 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdk 31
|
namespace 'net.olofson.ballfield'
|
||||||
|
compileSdk 33
|
||||||
ndkVersion "25.2.9519653"
|
ndkVersion "25.2.9519653"
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "net.olofson.ballfield"
|
applicationId "net.olofson.ballfield"
|
||||||
minSdk 16
|
minSdk 19
|
||||||
targetSdk 31
|
targetSdk 33
|
||||||
}
|
}
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
@@ -36,5 +37,5 @@ android {
|
|||||||
dependencies {
|
dependencies {
|
||||||
implementation 'androidx.appcompat:appcompat:1.3.1'
|
implementation 'androidx.appcompat:appcompat:1.3.1'
|
||||||
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
|
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
|
||||||
implementation 'com.google.android.gms:play-services-games:21.0.0' // ==GOOGLEPLAYGAMESERVICES==
|
implementation 'com.google.android.gms:play-services-games:23.1.0' // ==GOOGLEPLAYGAMESERVICES==
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,17 +1,5 @@
|
|||||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||||
buildscript {
|
plugins {
|
||||||
repositories {
|
id 'com.android.application' version '8.0.1' apply false
|
||||||
google()
|
id 'com.android.library' version '8.0.1' apply false
|
||||||
mavenCentral()
|
|
||||||
}
|
|
||||||
dependencies {
|
|
||||||
classpath "com.android.tools.build:gradle:7.0.3"
|
|
||||||
|
|
||||||
// NOTE: Do not place your application dependencies here; they belong
|
|
||||||
// in the individual module build.gradle files
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
task clean(type: Delete) {
|
|
||||||
delete rootProject.buildDir
|
|
||||||
}
|
}
|
||||||
@@ -12,8 +12,10 @@ org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
|
|||||||
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
||||||
# org.gradle.parallel=true
|
# org.gradle.parallel=true
|
||||||
# AndroidX package structure to make it clearer which packages are bundled with the
|
# AndroidX package structure to make it clearer which packages are bundled with the
|
||||||
# Android operating system, and which are packaged with your app"s APK
|
# Android operating system, and which are packaged with your app's APK
|
||||||
# https://developer.android.com/topic/libraries/support-library/androidx-rn
|
# https://developer.android.com/topic/libraries/support-library/androidx-rn
|
||||||
android.useAndroidX=true
|
android.useAndroidX=true
|
||||||
# Automatically convert third-party libraries to use AndroidX
|
# Enables namespacing of each library's R class so that its R class includes only the
|
||||||
android.enableJetifier=true
|
# resources declared in the library itself and none from the library's dependencies,
|
||||||
|
# thereby reducing the size of the R class for that library
|
||||||
|
android.nonTransitiveRClass=true
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
|
#Wed May 17 18:24:03 EEST 2023
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionSha256Sum=7ba68c54029790ab444b39d7e293d3236b2632631fb5f2e012bb28b4ff669e4b
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
|
|
||||||
networkTimeout=10000
|
|
||||||
validateDistributionUrl=true
|
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
|
|||||||
@@ -6,6 +6,9 @@ endif
|
|||||||
|
|
||||||
# Disable timidity library inside sdl2_mixer, we have our own version of timidity used by OpenTTD
|
# Disable timidity library inside sdl2_mixer, we have our own version of timidity used by OpenTTD
|
||||||
SUPPORT_MID_TIMIDITY := 0
|
SUPPORT_MID_TIMIDITY := 0
|
||||||
|
# Enable png and jpeg modules inside sdl2_image
|
||||||
|
SUPPORT_JPG := true
|
||||||
|
SUPPORT_PNG := true
|
||||||
|
|
||||||
NDK_VERSION := $(strip $(patsubst android-ndk-%,%,$(filter android-ndk-%, $(subst /, ,$(dir $(TARGET_CC))))))
|
NDK_VERSION := $(strip $(patsubst android-ndk-%,%,$(filter android-ndk-%, $(subst /, ,$(dir $(TARGET_CC))))))
|
||||||
#$(info NDK version $(NDK_VERSION)) # This warning puzzles ndk-gdb
|
#$(info NDK version $(NDK_VERSION)) # This warning puzzles ndk-gdb
|
||||||
|
|||||||
@@ -73,6 +73,7 @@ $(ICONV) $(ICU): iconv/src/build.sh
|
|||||||
cp -f $$ARCH/include/*.h ../include/ ; \
|
cp -f $$ARCH/include/*.h ../include/ ; \
|
||||||
mkdir -p ../../icuuc/lib/$$ARCH ../../icuuc/include/unicode ../../icuuc/include/layout ; \
|
mkdir -p ../../icuuc/lib/$$ARCH ../../icuuc/include/unicode ../../icuuc/include/layout ; \
|
||||||
cp -f $$ARCH/libicu*.a ../../icuuc/lib/$$ARCH/ ; \
|
cp -f $$ARCH/libicu*.a ../../icuuc/lib/$$ARCH/ ; \
|
||||||
|
[ -d ../../icuuc/share ] || cp -rf $$ARCH/share ../../icuuc/ ; \
|
||||||
cp -f $$ARCH/include/unicode/*.h ../../icuuc/include/unicode/ ; \
|
cp -f $$ARCH/include/unicode/*.h ../../icuuc/include/unicode/ ; \
|
||||||
cp -f $$ARCH/include/layout/*.h ../../icuuc/include/layout/ ; \
|
cp -f $$ARCH/include/layout/*.h ../../icuuc/include/layout/ ; \
|
||||||
cp -f $$ARCH/include/icu-le-hb/layout/*.h ../../icuuc/include/layout/ ; \
|
cp -f $$ARCH/include/icu-le-hb/layout/*.h ../../icuuc/include/layout/ ; \
|
||||||
|
|||||||
@@ -273,11 +273,11 @@ NDK_TOOLCHAIN_VERSION=clang
|
|||||||
# android-16 = Android 4.1, the earliest supported version in NDK r18.
|
# android-16 = Android 4.1, the earliest supported version in NDK r18.
|
||||||
# android-18 = Android 4.3, the first version supporting GLES3.
|
# android-18 = Android 4.3, the first version supporting GLES3.
|
||||||
# android-21 = Android 5.1, the first version with SO_REUSEPORT defined.
|
# android-21 = Android 5.1, the first version with SO_REUSEPORT defined.
|
||||||
APP_PLATFORM=21
|
APP_PLATFORM=19
|
||||||
|
|
||||||
# Specify architectures to compile, 'all' or 'y' to compile for all architectures.
|
# Specify architectures to compile, 'all' or 'y' to compile for all architectures.
|
||||||
# Available architectures: armeabi-v7a arm64-v8a x86 x86_64
|
# Available architectures: armeabi-v7a arm64-v8a x86 x86_64
|
||||||
MultiABI='arm64-v8a armeabi-v7a x86 x86_64'
|
MultiABI='armeabi-v7a arm64-v8a x86 x86_64'
|
||||||
|
|
||||||
# Optional shared libraries to compile - removing some of them will save space
|
# Optional shared libraries to compile - removing some of them will save space
|
||||||
# MP3 patents are expired, but libmad license is GPL, not LGPL
|
# MP3 patents are expired, but libmad license is GPL, not LGPL
|
||||||
|
|||||||
@@ -5,6 +5,9 @@ LOCAL_PATH=`cd $LOCAL_PATH && pwd`
|
|||||||
|
|
||||||
VER=build
|
VER=build
|
||||||
|
|
||||||
|
[ -z "$BUILD_NUM_CPUS" ] && $BUILD_NUM_CPUS=8
|
||||||
|
export CMAKE_BUILD_PARALLEL_LEVEL=$BUILD_NUM_CPUS
|
||||||
|
|
||||||
[ -d openttd-$VER-$1 ] || mkdir -p openttd-$VER-$1/bin/baseset
|
[ -d openttd-$VER-$1 ] || mkdir -p openttd-$VER-$1/bin/baseset
|
||||||
|
|
||||||
export ARCH=$1
|
export ARCH=$1
|
||||||
@@ -85,6 +88,8 @@ export ARCH=$1
|
|||||||
else
|
else
|
||||||
NINJA_PATH=$(which ninja)
|
NINJA_PATH=$(which ninja)
|
||||||
fi
|
fi
|
||||||
|
NINJA_ARGS=
|
||||||
|
[ -n "$NINJA_PATH" ] && NINJA_ARGS="-DCMAKE_MAKE_PROGRAM=$NINJA_PATH -GNinja"
|
||||||
|
|
||||||
${CMAKE_BIN_LOC}cmake \
|
${CMAKE_BIN_LOC}cmake \
|
||||||
-DCMAKE_MODULE_PATH=$LOCAL_PATH/openttd-$VER-$1/cmake \
|
-DCMAKE_MODULE_PATH=$LOCAL_PATH/openttd-$VER-$1/cmake \
|
||||||
@@ -96,8 +101,9 @@ export ARCH=$1
|
|||||||
-DHOST_BINARY_DIR=$LOCAL_PATH/build-tools \
|
-DHOST_BINARY_DIR=$LOCAL_PATH/build-tools \
|
||||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||||
-DCMAKE_PREFIX_PATH=$LOCAL_PATH/../../iconv/src/$ARCH/ \
|
-DCMAKE_PREFIX_PATH=$LOCAL_PATH/../../iconv/src/$ARCH/ \
|
||||||
-DCMAKE_MAKE_PROGRAM=$NINJA_PATH \
|
"$([ -n "$CMAKE_C_FLAGS_RELWITHDEBINFO" ] && echo -DCMAKE_C_FLAGS_RELWITHDEBINFO="$CMAKE_C_FLAGS_RELWITHDEBINFO")" \
|
||||||
-GNinja \
|
"$([ -n "$CMAKE_CXX_FLAGS_RELWITHDEBINFO" ] && echo -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$CMAKE_CXX_FLAGS_RELWITHDEBINFO")" \
|
||||||
|
$NINJA_ARGS \
|
||||||
-B ./openttd-$VER-$1 -S ./src
|
-B ./openttd-$VER-$1 -S ./src
|
||||||
|
|
||||||
} || exit 1
|
} || exit 1
|
||||||
|
|||||||
@@ -2,6 +2,14 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
# Base game data
|
||||||
|
mkdir -p ./data-plat-indp
|
||||||
|
pushd ./data-plat-indp
|
||||||
|
cmp .ottdrev ../src/.ottdrev && {
|
||||||
|
echo "Version did not change - no need to download data files"
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
GFX_VERSION=7.1
|
GFX_VERSION=7.1
|
||||||
SFX_VERSION=1.0.3
|
SFX_VERSION=1.0.3
|
||||||
MSX_VERSION=0.4.2
|
MSX_VERSION=0.4.2
|
||||||
@@ -12,9 +20,6 @@ SFX_VERSION=$(curl --fail https://cdn.openttd.org/opensfx-releases/latest.yaml |
|
|||||||
MSX_VERSION=$(curl --fail https://cdn.openttd.org/openmsx-releases/latest.yaml | grep -Po "version: \K[0-9.]+")
|
MSX_VERSION=$(curl --fail https://cdn.openttd.org/openmsx-releases/latest.yaml | grep -Po "version: \K[0-9.]+")
|
||||||
|
|
||||||
|
|
||||||
# Base game data
|
|
||||||
pushd ./data-plat-indp
|
|
||||||
|
|
||||||
if ! [ -e "./opengfx-${GFX_VERSION}.tar" ]; then
|
if ! [ -e "./opengfx-${GFX_VERSION}.tar" ]; then
|
||||||
curl --fail https://cdn.openttd.org/opengfx-releases/${GFX_VERSION}/opengfx-${GFX_VERSION}-all.zip | jar xv
|
curl --fail https://cdn.openttd.org/opengfx-releases/${GFX_VERSION}/opengfx-${GFX_VERSION}-all.zip | jar xv
|
||||||
fi
|
fi
|
||||||
@@ -25,3 +30,5 @@ if ! [ -d "./openmsx-${MSX_VERSION}/" ]; then
|
|||||||
curl --fail https://cdn.openttd.org/openmsx-releases/${MSX_VERSION}/openmsx-${MSX_VERSION}-all.zip | jar xv
|
curl --fail https://cdn.openttd.org/openmsx-releases/${MSX_VERSION}/openmsx-${MSX_VERSION}-all.zip | jar xv
|
||||||
tar xvf ./openmsx-${MSX_VERSION}.tar && rm ./openmsx-${MSX_VERSION}.tar
|
tar xvf ./openmsx-${MSX_VERSION}.tar && rm ./openmsx-${MSX_VERSION}.tar
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
cp -f ../src/.ottdrev ./
|
||||||
|
|||||||
@@ -7,33 +7,41 @@ ARCH=$1
|
|||||||
ANDROID_DATA_FULLPATH=$(realpath ./AndroidData/)
|
ANDROID_DATA_FULLPATH=$(realpath ./AndroidData/)
|
||||||
|
|
||||||
# Base game data
|
# Base game data
|
||||||
pushd ./data
|
[ -e ${ANDROID_DATA_FULLPATH}/openttd-data-$VER.zip.xz ] && [ -n "$NO_REBUILD_DATA" ] || {
|
||||||
rm -f ${ANDROID_DATA_FULLPATH}/openttd-data-*.zip.xz ${ANDROID_DATA_FULLPATH}/openttd-data-*.zip
|
pushd ./data
|
||||||
|
rm -f ${ANDROID_DATA_FULLPATH}/openttd-data-*.zip.xz ${ANDROID_DATA_FULLPATH}/openttd-data-*.zip
|
||||||
|
|
||||||
pushd ./baseset
|
pushd ./baseset
|
||||||
cp ../../data-plat-indp/opengfx*.tar .
|
cp ../../data-plat-indp/opengfx*.tar .
|
||||||
cp ../../data-plat-indp/opensfx*.tar .
|
cp ../../data-plat-indp/opensfx*.tar .
|
||||||
cp -r ../../data-plat-indp/openmsx*/ .
|
cp -r ../../data-plat-indp/openmsx*/ .
|
||||||
popd
|
popd
|
||||||
|
|
||||||
zip -0 -r ${ANDROID_DATA_FULLPATH}/openttd-data-$VER.zip ./ && xz -8 ${ANDROID_DATA_FULLPATH}/openttd-data-$VER.zip
|
zip -0 -r ${ANDROID_DATA_FULLPATH}/openttd-data-$VER.zip ./ && xz -8 ${ANDROID_DATA_FULLPATH}/openttd-data-$VER.zip
|
||||||
popd
|
popd
|
||||||
|
}
|
||||||
|
|
||||||
# Timidity
|
# Timidity
|
||||||
pushd ../../timidity/samples/
|
[ -e ${ANDROID_DATA_FULLPATH}/timidity.zip.xz ] && [ -n "$NO_REBUILD_DATA" ] || {
|
||||||
rm -f ${ANDROID_DATA_FULLPATH}/timidity.zip.xz ${ANDROID_DATA_FULLPATH}/timidity.zip
|
pushd ../../timidity/samples/
|
||||||
cp ./timidity.zip ${ANDROID_DATA_FULLPATH}/timidity.zip && xz -8 ${ANDROID_DATA_FULLPATH}/timidity.zip
|
rm -f ${ANDROID_DATA_FULLPATH}/timidity.zip.xz ${ANDROID_DATA_FULLPATH}/timidity.zip
|
||||||
popd
|
cp ./timidity.zip ${ANDROID_DATA_FULLPATH}/timidity.zip && xz -8 ${ANDROID_DATA_FULLPATH}/timidity.zip
|
||||||
|
popd
|
||||||
|
}
|
||||||
|
|
||||||
# ICU
|
# ICU
|
||||||
# TODO handle versioning. Use Makefile var
|
# TODO handle versioning. Use Makefile var
|
||||||
pushd ../../iconv/src/$ARCH/
|
[ -e ${ANDROID_DATA_FULLPATH}/icudt62l.zip.xz ] && [ -n "$NO_REBUILD_DATA" ] || {
|
||||||
rm -f ${ANDROID_DATA_FULLPATH}/icudt62l.zip.xz ${ANDROID_DATA_FULLPATH}/icudt62l.zip
|
pushd ../../icuuc
|
||||||
zip -0 ${ANDROID_DATA_FULLPATH}/icudt62l.zip share/icu/62.1/icudt62l.dat && xz -8 ${ANDROID_DATA_FULLPATH}/icudt62l.zip
|
rm -f ${ANDROID_DATA_FULLPATH}/icudt62l.zip.xz ${ANDROID_DATA_FULLPATH}/icudt62l.zip
|
||||||
popd
|
zip -0 ${ANDROID_DATA_FULLPATH}/icudt62l.zip share/icu/62.1/icudt62l.dat && xz -8 ${ANDROID_DATA_FULLPATH}/icudt62l.zip
|
||||||
|
popd
|
||||||
|
}
|
||||||
|
|
||||||
# Fonts
|
# Fonts
|
||||||
pushd ../../freetype/
|
[ -e ${ANDROID_DATA_FULLPATH}/openttd-fonts.zip.xz ] && [ -n "$NO_REBUILD_DATA" ] || {
|
||||||
rm -f ${ANDROID_DATA_FULLPATH}/openttd-fonts.zip.xz ${ANDROID_DATA_FULLPATH}/openttd-fonts.zip
|
pushd ../../freetype/
|
||||||
zip -0 -r ${ANDROID_DATA_FULLPATH}/openttd-fonts.zip ./fonts/ && xz -8 ${ANDROID_DATA_FULLPATH}/openttd-fonts.zip
|
rm -f ${ANDROID_DATA_FULLPATH}/openttd-fonts.zip.xz ${ANDROID_DATA_FULLPATH}/openttd-fonts.zip
|
||||||
popd
|
zip -0 -r ${ANDROID_DATA_FULLPATH}/openttd-fonts.zip ./fonts/ && xz -8 ${ANDROID_DATA_FULLPATH}/openttd-fonts.zip
|
||||||
|
popd
|
||||||
|
}
|
||||||
|
|||||||
Submodule project/jni/application/openttd/src updated: 606be85f94...78ead2fe8d
@@ -25,7 +25,7 @@ fi
|
|||||||
ARCH=armeabi-v7a
|
ARCH=armeabi-v7a
|
||||||
GCCPREFIX=armv7a-linux-androideabi
|
GCCPREFIX=armv7a-linux-androideabi
|
||||||
BINUTILSPREFIX=arm-linux-androideabi
|
BINUTILSPREFIX=arm-linux-androideabi
|
||||||
APILEVEL=21
|
APILEVEL=19
|
||||||
|
|
||||||
APP_MODULES=`grep 'APP_MODULES [:][=]' $LOCAL_PATH/../Settings.mk | sed 's@.*[=]\(.*\)@\1@' | sed 's@\b\(application\|sdl_main\|sdl_native_helpers\|c++_shared\)\b@@g'`
|
APP_MODULES=`grep 'APP_MODULES [:][=]' $LOCAL_PATH/../Settings.mk | sed 's@.*[=]\(.*\)@\1@' | sed 's@\b\(application\|sdl_main\|sdl_native_helpers\|c++_shared\)\b@@g'`
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ else
|
|||||||
fi
|
fi
|
||||||
ARCH=x86
|
ARCH=x86
|
||||||
GCCPREFIX=i686-linux-android
|
GCCPREFIX=i686-linux-android
|
||||||
APILEVEL=21
|
APILEVEL=19
|
||||||
|
|
||||||
APP_MODULES=`grep 'APP_MODULES [:][=]' $LOCAL_PATH/../Settings.mk | sed 's@.*[=]\(.*\)@\1@' | sed 's@\b\(application\|sdl_main\|sdl_native_helpers\|c++_shared\)\b@@g'`
|
APP_MODULES=`grep 'APP_MODULES [:][=]' $LOCAL_PATH/../Settings.mk | sed 's@.*[=]\(.*\)@\1@' | sed 's@\b\(application\|sdl_main\|sdl_native_helpers\|c++_shared\)\b@@g'`
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ IFS='
|
|||||||
NDK=${ANDROID_NDK_HOME:-$(dirname $(which ndk-build))}
|
NDK=${ANDROID_NDK_HOME:-$(dirname $(which ndk-build))}
|
||||||
|
|
||||||
if uname -s | grep -i "linux" > /dev/null ; then
|
if uname -s | grep -i "linux" > /dev/null ; then
|
||||||
MYARCH=linux-$(arch)
|
MYARCH=linux-$(uname -m)
|
||||||
NDK=`readlink -f $NDK`
|
NDK=`readlink -f $NDK`
|
||||||
elif uname -s | grep -i "darwin" > /dev/null ; then
|
elif uname -s | grep -i "darwin" > /dev/null ; then
|
||||||
MYARCH=darwin-x86_64
|
MYARCH=darwin-x86_64
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
#include <unistd.h>
|
||||||
#if defined(HAVE_MMAP) || defined(__CYGWIN__)
|
#if defined(HAVE_MMAP) || defined(__CYGWIN__)
|
||||||
# include <unistd.h>
|
# include <unistd.h>
|
||||||
# include <sys/mman.h>
|
# include <sys/mman.h>
|
||||||
|
|||||||
BIN
project/jni/freetype/fonts/DroidSerif-Bold.ttf
Normal file
BIN
project/jni/freetype/fonts/DroidSerif-Bold.ttf
Normal file
Binary file not shown.
Submodule project/jni/iconv/src updated: be1658d1b8...ef036fe0fd
2
project/jni/icuuc/.gitignore
vendored
2
project/jni/icuuc/.gitignore
vendored
@@ -1,2 +1,4 @@
|
|||||||
/include
|
/include
|
||||||
/lib
|
/lib
|
||||||
|
/share
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
../sdl2_image/external/libpng-1.6.37
|
../sdl2_image/external/libpng
|
||||||
Submodule project/jni/sdl2_image updated: 179ce6e4d5...c1b7cf959c
@@ -1,3 +1,10 @@
|
|||||||
|
pluginManagement {
|
||||||
|
repositories {
|
||||||
|
google()
|
||||||
|
mavenCentral()
|
||||||
|
gradlePluginPortal()
|
||||||
|
}
|
||||||
|
}
|
||||||
dependencyResolutionManagement {
|
dependencyResolutionManagement {
|
||||||
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
|
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
|
||||||
repositories {
|
repositories {
|
||||||
|
|||||||
Reference in New Issue
Block a user