Merge branch 'sdl_android' of github.com:pelya/commandergenius into sdl_android

This commit is contained in:
pelya
2014-05-29 13:18:35 +03:00
8 changed files with 45 additions and 49 deletions

1
.gitignore vendored
View File

@@ -1,6 +1,7 @@
project/local.properties
project/bin
project/gen
project/lib
project/libs
project/assets
project/obj

View File

@@ -5,6 +5,7 @@ install_apk=false
run_apk=false
sign_apk=false
build_release=true
quick_rebuild=false
if [ "$#" -gt 0 -a "$1" = "-s" ]; then
shift
@@ -22,6 +23,11 @@ if [ "$#" -gt 0 -a "$1" = "-r" ]; then
run_apk=true
fi
if [ "$#" -gt 0 -a "$1" = "-q" ]; then
shift
quick_rebuild=true
fi
if [ "$#" -gt 0 -a "$1" = "release" ]; then
shift
build_release=true
@@ -34,10 +40,11 @@ if [ "$#" -gt 0 -a "$1" = "debug" ]; then
fi
if [ "$#" -gt 0 -a "$1" = "-h" ]; then
echo "Usage: $0 [-s] [-i] [-r] [release]"
echo "Usage: $0 [-s] [-i] [-r] [-q] [debug|release]"
echo " -s: sign APK file after building"
echo " -i: install APK file to device after building"
echo " -r: run APK file on device after building"
echo " -q: quick-rebuild C code, without rebuilding Java files"
echo " debug: build debug package"
echo " release: build release package (default)"
exit 0
@@ -78,7 +85,7 @@ if uname -s | grep -i "windows" > /dev/null ; then
fi
grep "64.bit" "`which ndk-build | sed 's@/ndk-build@@'`/RELEASE.TXT" >/dev/null 2>&1 && MYARCH="${MYARCH}_64"
rm -r -f project/bin/* # New Android SDK introduced some lame-ass optimizations to the build system which we should take care about
$quick_rebuild || rm -r -f project/bin/* # New Android SDK introduced some lame-ass optimizations to the build system which we should take care about
[ -x project/jni/application/src/AndroidPreBuild.sh ] && {
cd project/jni/application/src
./AndroidPreBuild.sh || { echo "AndroidPreBuild.sh returned with error" ; exit 1 ; }
@@ -127,11 +134,21 @@ cd project && env PATH=$NDKBUILDPATH BUILD_NUM_CPUS=$NCPU nice -n19 ndk-build -j
|| true ; } && \
cd .. && ./copyAssets.sh && cd project && \
{ if $build_release ; then \
ant release || exit 1 ; \
$quick_rebuild && { \
ln -s -f libs lib ; \
zip -u -r bin/MainActivity-release-unsigned.apk lib assets || exit 1 ; \
} || ant release || exit 1 ; \
jarsigner -verbose -keystore ~/.android/debug.keystore -storepass android -sigalg MD5withRSA -digestalg SHA1 bin/MainActivity-release-unsigned.apk androiddebugkey || exit 1 ; \
rm -f bin/MainActivity-debug.apk ; \
zipalign 4 bin/MainActivity-release-unsigned.apk bin/MainActivity-debug.apk || exit 1 ; \
else \
ant debug || exit 1 ; \
$quick_rebuild && { \
ln -s -f libs lib ; \
zip -u -r bin/MainActivity-debug-unaligned.apk lib assets || exit 1 ; \
jarsigner -verbose -keystore ~/.android/debug.keystore -storepass android -sigalg MD5withRSA -digestalg SHA1 bin/MainActivity-debug-unaligned.apk androiddebugkey || exit 1 ; \
rm -f bin/MainActivity-debug.apk ; \
zipalign 4 bin/MainActivity-debug-unaligned.apk bin/MainActivity-debug.apk || exit 1 ; \
} || ant debug || exit 1 ; \
fi ; } && \
{ if $sign_apk; then cd .. && ./sign.sh && cd project ; else true ; fi ; } && \
{ $install_apk && [ -n "`adb devices | tail -n +2`" ] && \

View File

@@ -1,24 +0,0 @@
#!/bin/sh
# Set here your own NDK path if needed
# export PATH=$PATH:~/src/endless_space/android-ndk-r4b
# Set environment to CrystaX NDK with RTTI and exceptions instead of original NDK
# export PATH=$PATH:~/src/endless_space/android-ndk-r4-crystax/ndk-build
NDKBUILDPATH=$PATH
if grep "AppUseCrystaXToolchain=y" AndroidAppSettings.cfg > /dev/null ; then
NDKBUILDPATH=`which ndk-build | sed 's@/[^/]*/ndk-build@/android-ndk-r4-crystax@'`:$PATH
fi
[ -e project/bin/lib ] || ln -s ../libs project/bin/lib
cd project && \
env PATH=$NDKBUILDPATH ndk-build -j2 V=1 && \
cd bin && \
rm -rf DemoActivity-debug-unaligned.apk && \
cp DemoActivity.ap_ DemoActivity-debug-unaligned.apk && \
zip -1 -r DemoActivity-debug-unaligned.apk classes.dex lib && \
jarsigner -verbose -keystore ~/.android/debug.keystore -storepass android DemoActivity-debug-unaligned.apk androiddebugkey && \
rm -rf DemoActivity-debug.apk && \
zipalign 4 DemoActivity-debug-unaligned.apk DemoActivity-debug.apk && \
adb install -r DemoActivity-debug.apk

View File

@@ -209,6 +209,7 @@ public class GLSurfaceView_SDL extends SurfaceView implements SurfaceHolder.Call
SurfaceHolder holder = getHolder();
holder.addCallback(this);
holder.setType(SurfaceHolder.SURFACE_TYPE_GPU);
mKeyguardManager = ((KeyguardManager)getContext().getSystemService(Context.KEYGUARD_SERVICE));
}
/**
@@ -1106,7 +1107,7 @@ public class GLSurfaceView_SDL extends SurfaceView implements SurfaceHolder.Call
}
private boolean needToWait() {
if (((KeyguardManager)getContext().getSystemService(Context.KEYGUARD_SERVICE)).inKeyguardRestrictedInputMode()) {
if (mKeyguardManager.inKeyguardRestrictedInputMode()) {
return true; // We're in lockscreen - sleep until user unlocks the device
}
@@ -1281,4 +1282,5 @@ public class GLSurfaceView_SDL extends SurfaceView implements SurfaceHolder.Call
private EGLConfigChooser mEGLConfigChooser;
private GLWrapper mGLWrapper;
private int mDebugFlags;
private KeyguardManager mKeyguardManager;
}

View File

@@ -7,10 +7,10 @@ AppName="OpenTTD"
AppFullName=org.openttd.sdl
# Application version code (integer)
AppVersionCode=14029
AppVersionCode=14030
# Application user-visible version name (string)
AppVersionName="1.4.0.29"
AppVersionName="1.4.0.30"
# Specify path to download application data in zip archive in the form 'Description|URL|MirrorURL^Description2|URL2|MirrorURL2^...'
# If you'll start Description with '!' symbol it will be enabled by default, other downloads should be selected by user from startup config menu
@@ -18,17 +18,17 @@ AppVersionName="1.4.0.29"
# If the URL does not contain 'http://' it is treated as file from 'project/jni/application/src/AndroidData' dir -
# these files are put inside .apk package by build system
# Also please avoid 'https://' URLs, many Android devices do not have trust certificates and will fail to connect to SF.net over HTTPS
AppDataDownloadUrl="!!Data files - 20 Mb|http://sourceforge.net/projects/libsdl-android/files/OpenTTD/openttd-data-1.4.0-1.zip/download^!!Config file|:.openttd/openttd.cfg:openttd-1.4.0.27.cfg^!MIDI music support (18 Mb)|timidity.zip|http://sourceforge.net/projects/libsdl-android/files/timidity.zip^!!Internationalization files|http://sourceforge.net/projects/libsdl-android/files/icudt52l.zip/download"
AppDataDownloadUrl="!!Data files - 20 Mb|http://sourceforge.net/projects/libsdl-android/files/OpenTTD/openttd-data-1.4.0-2.zip/download^!!Config file|:.openttd/openttd.cfg:openttd-1.4.0.30.cfg^!MIDI music support (18 Mb)|timidity.zip|http://sourceforge.net/projects/libsdl-android/files/timidity.zip^!!Internationalization files|http://sourceforge.net/projects/libsdl-android/files/icudt52l.zip/download"
# Reset SDL config when updating application to the new version (y) / (n)
ResetSdlConfigForThisVersion=y
# Delete application data files when upgrading (specify file/dir paths separated by spaces)
DeleteFilesOnUpgrade="baseset .openttd/windows.cfg .openttd/hotkeys.cfg .openttd/openttd.cfg"
DeleteFilesOnUpgrade=""
# Here you may type readme text, which will be shown during startup. Format is:
# Text in English, use \\\\n to separate lines (that's four backslashes)^de:Text in Deutsch^ru:Text in Russian^button:Button that will open some URL:http://url-to-open/
ReadmeText='If this update runs slowly - install OpenTTD-lowmem,\\\\nit is tuned for older devices, and uses simpler 8bpp graphics\\\\n^button:Install OpenTTD-lowmem:https://play.google.com/store/apps/details?id=org.openttd.sdl.lowmem'
ReadmeText=''
# libSDL version to use (1.2/1.3/2.0)
LibSdlVersion=1.2
@@ -38,7 +38,7 @@ ScreenOrientation=h
# Video color depth - 16 BPP is the fastest and supported for all modes, 24 bpp is supported only
# with SwVideoMode=y, SDL_OPENGL mode supports everything. (16)/(24)/(32)
VideoDepthBpp=24
VideoDepthBpp=16
# Enable OpenGL depth buffer (needed only for 3-d applications, small speed decrease) (y) or (n)
NeedDepthBuffer=n
@@ -201,7 +201,7 @@ FirstStartMenuOptions=''
# Enable multi-ABI binary, with hardware FPU support - it will also work on old devices,
# but .apk size is 2x bigger (y) / (n) / (x86) / (all)
MultiABI=all
MultiABI=armeabi-v7a
# Minimum amount of RAM application requires, in Mb, SDL will print warning to user if it's lower
AppMinimumRAM=0
@@ -230,11 +230,11 @@ AppSubdirsBuild=''
AppBuildExclude=''
# Application command line parameters, including app name as 0-th param
AppCmdline='openttd -d 1 -b 32bpp-anim'
AppCmdline='openttd -d 1 -b 16bpp-simple'
# Screen size is used by Google Play to prevent an app to be installed on devices with smaller screens
# Minimum screen size that application supports: (s)mall / (m)edium / (l)arge
MinimumScreenSize=s
MinimumScreenSize=m
# Your AdMob Publisher ID, (n) if you don't want advertisements
AdmobPublisherId=n

View File

@@ -18,4 +18,4 @@ min_step_size = 40
[gui]
left_mouse_btn_scrolling = true
osk_activation = disabled
auto_scrolling = 2
auto_scrolling = 0

View File

@@ -15,18 +15,18 @@ TODO, which will get actually done
- SuperTux: Update, enable OpenGL renderer, add touchscreen jump helper, add gamepad support, fix zoom in settings.
- OpenTTD: logarithmic music volume, restore volume on new track.
- OpenTTD: no sounds with music on.
- OpenTTD: Fix multiplayer lobby dialog.
- OpenTTD: Two-finger scrolling.
- OpenTTD: auto-switch to full toolbar if enough space.
- OpenTTD: Split top toolbar into left/right toolbars.
- OpenTTD: 'build waypoint' button tries to build a train station.
- OpenTTD: Option to hide mouse cursor.
- Debian Noroot: Audio support.
- OpenTTD: Show info about facility on mouse up instead of mouse down.
- Debian noroot: Audio support.
- UQM: use gyroscope to steer the ship, search button for starmap.
- USB Keyboard: modify /dev/hidg* permissions autmatically, using su.
- XSDL: add downloadable raster fonts, add path to fonts to Debian/Gimp.