From 498ce4b54533a11dc02f14c05e0de33e18ecc6fd Mon Sep 17 00:00:00 2001 From: pelya Date: Wed, 27 Oct 2010 13:50:15 +0300 Subject: [PATCH] When you'll change app to build that won't be visible in Git commit. Also fixed application name not updated for translated strings.xml --- .gitignore | 4 ++ ChangeAppSettings.sh | 59 ++++++++---------- ...nifest.xml => AndroidManifestTemplate.xml} | 6 +- project/{src => java}/Accelerometer.java | 2 +- project/{src => java}/Audio.java | 2 +- project/{src => java}/DataDownloader.java | 2 +- project/{src => java}/GLSurfaceView_SDL.java | 2 +- project/java/Globals.java | 60 +++++++++++++++++++ project/{src => java}/MainActivity.java | 2 +- project/{src => java}/Settings.java | 2 +- project/{src => java}/Video.java | 2 +- .../translations}/values-de/strings.xml | 0 .../translations}/values-fi/strings.xml | 0 .../translations}/values-fr/strings.xml | 0 .../translations}/values/strings.xml | 2 +- project/jni/Android.mk | 14 ++--- project/jni/Application.mk | 8 +-- project/jni/SettingsTemplate.mk | 50 ++++++++++++++++ project/src/Globals.java | 60 ------------------- 19 files changed, 157 insertions(+), 120 deletions(-) rename project/{AndroidManifest.xml => AndroidManifestTemplate.xml} (91%) rename project/{src => java}/Accelerometer.java (98%) rename project/{src => java}/Audio.java (98%) rename project/{src => java}/DataDownloader.java (99%) rename project/{src => java}/GLSurfaceView_SDL.java (99%) create mode 100644 project/java/Globals.java rename project/{src => java}/MainActivity.java (99%) rename project/{src => java}/Settings.java (99%) rename project/{src => java}/Video.java (99%) rename project/{res => java/translations}/values-de/strings.xml (100%) rename project/{res => java/translations}/values-fi/strings.xml (100%) rename project/{res => java/translations}/values-fr/strings.xml (100%) rename project/{res => java/translations}/values/strings.xml (98%) create mode 100644 project/jni/SettingsTemplate.mk delete mode 100644 project/src/Globals.java diff --git a/.gitignore b/.gitignore index 8e603dc89..32cfb4173 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,8 @@ project/gen project/libs project/assets project/obj +project/src +project/res/values* +project/AndroidManifest.xml +project/jni/Settings.mk diff --git a/ChangeAppSettings.sh b/ChangeAppSettings.sh index 6611e0a9b..4bc90c442 100755 --- a/ChangeAppSettings.sh +++ b/ChangeAppSettings.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/sh CHANGE_APP_SETTINGS_VERSION=12 AUTO= @@ -181,8 +181,8 @@ if [ -n "$var" ] ; then fi echo -n "\nOptional shared libraries to compile - removing some of them will save space\nMP3 support by libMAD is encumbered by patents and libMAD is GPL-ed\n" -grep 'Available' project/jni/Application.mk -grep 'depends on' project/jni/Application.mk +grep 'Available' project/jni/SettingsTemplate.mk +grep 'depends on' project/jni/SettingsTemplate.mk echo -n "Current: $CompiledLibraries\n\n: " read var if [ -n "$var" ] ; then @@ -353,7 +353,7 @@ else MultiABI="armeabi" fi LibrariesToLoad="System.loadLibrary(\\\"sdl-$LibSdlVersion\\\");" -StaticLibraries=`grep 'APP_AVAILABLE_STATIC_LIBS' project/jni/Application.mk | sed 's/.*=\(.*\)/\1/'` +StaticLibraries=`grep 'APP_AVAILABLE_STATIC_LIBS' project/jni/SettingsTemplate.mk | sed 's/.*=\(.*\)/\1/'` echo StaticLibraries $StaticLibraries for lib in $CompiledLibraries; do process=true @@ -372,21 +372,21 @@ fi ReadmeText="`echo $ReadmeText | sed 's/\"/\\\\\\\\\"/g' | sed 's/[&%]//g'`" echo Patching project/AndroidManifest.xml -cat project/AndroidManifest.xml | \ +cat project/AndroidManifestTemplate.xml | \ sed "s/package=.*/package=\"$AppFullName\"/" | \ sed "s/android:screenOrientation=.*/android:screenOrientation=\"$ScreenOrientation1\"/" | \ sed "s^android:versionCode=.*^android:versionCode=\"$AppVersionCode\"^" | \ sed "s^android:versionName=.*^android:versionName=\"$AppVersionName\"^" > \ - project/AndroidManifest.xml.1 -mv -f project/AndroidManifest.xml.1 project/AndroidManifest.xml + project/AndroidManifest.xml -for F in project/src/*.java; do +rm -rf project/src +mkdir -p project/src +cd project/java +for F in *.java; do echo Patching $F - cat $F | \ - sed "s/package .*;/package $AppFullName;/" > \ - $F.1 - mv -f $F.1 $F + cat $F | sed "s/package .*;/package $AppFullName;/" > ../src/$F done +cd ../.. echo Patching project/src/Globals.java cat project/src/Globals.java | \ @@ -408,8 +408,10 @@ cat project/src/Globals.java | \ project/src/Globals.java.1 mv -f project/src/Globals.java.1 project/src/Globals.java -echo Patching project/jni/Android.mk -cat project/jni/Android.mk | \ +echo Patching project/jni/Settings.mk +cat project/jni/SettingsTemplate.mk | \ + sed "s/APP_MODULES := .*/APP_MODULES := application sdl-$LibSdlVersion sdl_main stlport jpeg png ogg flac vorbis freetype $CompiledLibraries/" | \ + sed "s/APP_ABI := .*/APP_ABI := $MultiABI/" | \ sed "s/SDL_JAVA_PACKAGE_PATH := .*/SDL_JAVA_PACKAGE_PATH := $AppFullNameUnderscored/" | \ sed "s^SDL_CURDIR_PATH := .*^SDL_CURDIR_PATH := $DataPath^" | \ sed "s^SDL_VIDEO_RENDER_RESIZE := .*^SDL_VIDEO_RENDER_RESIZE := $SdlVideoResize^" | \ @@ -421,29 +423,16 @@ cat project/jni/Android.mk | \ sed "s^APPLICATION_SUBDIRS_BUILD :=.*^APPLICATION_SUBDIRS_BUILD := $AppSubdirsBuild^" | \ sed "s^APPLICATION_CUSTOM_BUILD_SCRIPT :=.*^APPLICATION_CUSTOM_BUILD_SCRIPT := $CustomBuildScript^" | \ sed "s^SDL_VERSION :=.*^SDL_VERSION := $LibSdlVersion^" > \ - project/jni/Android.mk.1 -if [ -n "`diff -w project/jni/Android.mk.1 project/jni/Android.mk`" ] ; then - mv -f project/jni/Android.mk.1 project/jni/Android.mk -else - rm -rf project/jni/Android.mk.1 -fi + project/jni/Settings.mk -echo Patching project/jni/Application.mk -cat project/jni/Application.mk | \ - sed "s/APP_MODULES := .*/APP_MODULES := application sdl-$LibSdlVersion sdl_main stlport jpeg png ogg flac vorbis freetype $CompiledLibraries/" | \ - sed "s/APP_ABI := .*/APP_ABI := $MultiABI/" > \ - project/jni/Application.mk.1 -if [ -n "`diff -w project/jni/Application.mk.1 project/jni/Application.mk`" ] ; then - mv -f project/jni/Application.mk.1 project/jni/Application.mk -else - rm -rf project/jni/Application.mk.1 -fi - -echo Patching project/res/values/strings.xml -cat project/res/values/strings.xml | \ +echo Patching strings.xml +rm -rf project/res/values* +cd project/java/translations +for F in */strings.xml; do + cat $F | \ sed "s^[<]string name=\"app_name\"[>].*^$AppName^" > \ - project/res/values/strings.xml.1 -mv -f project/res/values/strings.xml.1 project/res/values/strings.xml + ../../res/$F +cd ../../.. echo If you change libSDL version you have to clean all files in project/libs/obj rm -rf project/libs/* diff --git a/project/AndroidManifest.xml b/project/AndroidManifestTemplate.xml similarity index 91% rename from project/AndroidManifest.xml rename to project/AndroidManifestTemplate.xml index 30cf3e396..dd188823b 100644 --- a/project/AndroidManifest.xml +++ b/project/AndroidManifestTemplate.xml @@ -1,8 +1,8 @@ - Ur-Quan Masters + Commander Genius Initializing diff --git a/project/jni/Android.mk b/project/jni/Android.mk index d00ecb421..3f8773336 100644 --- a/project/jni/Android.mk +++ b/project/jni/Android.mk @@ -1,6 +1,6 @@ # The namespace in Java file, with dots replaced with underscores -SDL_JAVA_PACKAGE_PATH := com_sourceforge_sc2 +SDL_JAVA_PACKAGE_PATH := net_sourceforge_clonekeenplus # Path to shared libraries - Android 1.6 cannot load them properly, thus we have to specify absolute path here # SDL_SHARED_LIBRARIES_PATH := /data/data/de.schwardtnet.alienblaster/lib @@ -10,7 +10,7 @@ SDL_JAVA_PACKAGE_PATH := com_sourceforge_sc2 # Typically /sdcard/alienblaster # Or /data/data/de.schwardtnet.alienblaster/files if you're planning to unpack data in application private folder # Your application will just set current directory there -SDL_CURDIR_PATH := com.sourceforge.sc2 +SDL_CURDIR_PATH := net.sourceforge.clonekeenplus # Android Dev Phone G1 has trackball instead of cursor keys, and # sends trackball movement events as rapid KeyDown/KeyUp events, @@ -25,17 +25,17 @@ SDL_VIDEO_RENDER_RESIZE := 1 SDL_VIDEO_RENDER_RESIZE_KEEP_ASPECT := 0 -COMPILED_LIBRARIES := sdl_image tremor ogg +COMPILED_LIBRARIES := tremor ogg -APPLICATION_ADDITIONAL_CFLAGS := -O2 -finline-functions -DTHREADLIB_SDL=1 -DTIMELIB=SDL -DOVCODEC_TREMOR=1 -DNETPLAY=1 -DHAVE_REGEX=1 -DHAVE_GETOPT_LONG=1 -DHAVE_ZIP=1 +APPLICATION_ADDITIONAL_CFLAGS := -finline-functions -O2 -DTREMOR=1 -DBUILD_TYPE=LINUX32 -DTARGET_LNX=1 -Werror=strict-aliasing -Werror=cast-align -Werror=pointer-arith -Werror=address -APPLICATION_ADDITIONAL_LDFLAGS := +APPLICATION_ADDITIONAL_LDFLAGS := -ltremor -APPLICATION_SUBDIRS_BUILD := +APPLICATION_SUBDIRS_BUILD := src/* APPLICATION_CUSTOM_BUILD_SCRIPT := -SDL_ADDITIONAL_CFLAGS := -DSDL_ANDROID_KEYCODE_MOUSE=UNKNOWN -DSDL_ANDROID_KEYCODE_0=RETURN -DSDL_ANDROID_KEYCODE_1=RSHIFT -DSDL_ANDROID_KEYCODE_2=KP_PLUS -DSDL_ANDROID_KEYCODE_3=KP_MINUS -DSDL_ANDROID_KEYCODE_4=ESCAPE -DSDL_ANDROID_KEYCODE_5=F10 +SDL_ADDITIONAL_CFLAGS := -DSDL_ANDROID_KEYCODE_MOUSE=UNKNOWN -DSDL_ANDROID_KEYCODE_0=LCTRL -DSDL_ANDROID_KEYCODE_1=LALT -DSDL_ANDROID_KEYCODE_2=SPACE -DSDL_ANDROID_KEYCODE_3=RETURN -DSDL_ANDROID_KEYCODE_4=RETURN SDL_VERSION := 1.2 diff --git a/project/jni/Application.mk b/project/jni/Application.mk index 424b07fe6..a1f5a2957 100644 --- a/project/jni/Application.mk +++ b/project/jni/Application.mk @@ -1,10 +1,4 @@ APP_PROJECT_PATH := $(call my-dir)/.. -# Available libraries: mad (GPL-ed!) sdl_mixer sdl_image sdl_ttf sdl_net sdl_blitpool sdl_gfx intl xml2 lua jpeg png ogg flac tremor vorbis freetype xerces +include Settings.mk -APP_MODULES := application sdl-1.2 sdl_main stlport jpeg png ogg flac vorbis freetype sdl_image tremor ogg - -# To filter out static libs from all libs in makefile -APP_AVAILABLE_STATIC_LIBS := jpeg png tremor freetype xerces ogg tremor vorbis flac - -APP_ABI := armeabi diff --git a/project/jni/SettingsTemplate.mk b/project/jni/SettingsTemplate.mk new file mode 100644 index 000000000..988e2a2e8 --- /dev/null +++ b/project/jni/SettingsTemplate.mk @@ -0,0 +1,50 @@ + +# Available libraries: mad (GPL-ed!) sdl_mixer sdl_image sdl_ttf sdl_net sdl_blitpool sdl_gfx intl xml2 lua jpeg png ogg flac tremor vorbis freetype xerces +APP_MODULES := application sdl-1.2 sdl_main stlport jpeg png ogg flac vorbis freetype tremor ogg + +# To filter out static libs from all libs in makefile +APP_AVAILABLE_STATIC_LIBS := jpeg png tremor freetype xerces ogg tremor vorbis flac + +APP_ABI := armeabi + + +# The namespace in Java file, with dots replaced with underscores +SDL_JAVA_PACKAGE_PATH := net_sourceforge_clonekeenplus + +# Path to shared libraries - Android 1.6 cannot load them properly, thus we have to specify absolute path here +# SDL_SHARED_LIBRARIES_PATH := /data/data/de.schwardtnet.alienblaster/lib + +# Path to files with application data - they should be downloaded from Internet on first app run inside +# Java sources, or unpacked from resources (TODO) +# Typically /sdcard/alienblaster +# Or /data/data/de.schwardtnet.alienblaster/files if you're planning to unpack data in application private folder +# Your application will just set current directory there +SDL_CURDIR_PATH := net.sourceforge.clonekeenplus + +# Android Dev Phone G1 has trackball instead of cursor keys, and +# sends trackball movement events as rapid KeyDown/KeyUp events, +# this will make Up/Down/Left/Right key up events with X frames delay, +# so if application expects you to press and hold button it will process the event correctly. +# TODO: create a libsdl config file for that option and for key mapping/on-screen keyboard +SDL_TRACKBALL_KEYUP_DELAY := 1 + +# If the application designed for higher screen resolution enable this to get the screen +# resized in HW-accelerated way, however it eats a tiny bit of CPU +SDL_VIDEO_RENDER_RESIZE := 1 + +SDL_VIDEO_RENDER_RESIZE_KEEP_ASPECT := 0 + +COMPILED_LIBRARIES := tremor ogg + +APPLICATION_ADDITIONAL_CFLAGS := -finline-functions -O2 -DTREMOR=1 -DBUILD_TYPE=LINUX32 -DTARGET_LNX=1 -Werror=strict-aliasing -Werror=cast-align -Werror=pointer-arith -Werror=address + +APPLICATION_ADDITIONAL_LDFLAGS := -ltremor + +APPLICATION_SUBDIRS_BUILD := src/* + +APPLICATION_CUSTOM_BUILD_SCRIPT := + +SDL_ADDITIONAL_CFLAGS := -DSDL_ANDROID_KEYCODE_MOUSE=UNKNOWN -DSDL_ANDROID_KEYCODE_0=LCTRL -DSDL_ANDROID_KEYCODE_1=LALT -DSDL_ANDROID_KEYCODE_2=SPACE -DSDL_ANDROID_KEYCODE_3=RETURN -DSDL_ANDROID_KEYCODE_4=RETURN + +SDL_VERSION := 1.2 + diff --git a/project/src/Globals.java b/project/src/Globals.java deleted file mode 100644 index 4ec7ee2b9..000000000 --- a/project/src/Globals.java +++ /dev/null @@ -1,60 +0,0 @@ -// This string is autogenerated by ChangeAppSettings.sh, do not change spaces amount anywhere -package com.sourceforge.sc2; - -import android.app.Activity; -import android.content.Context; - -class Globals { - public static String ApplicationName = "Ur-QuanMasters"; - - // Should be zip file - public static String DataDownloadUrl = "Game data is 14 Mb|https://sourceforge.net/projects/libsdl-android/files/Ur-Quan%20Masters/sc2-data.zip/download|https://sites.google.com/site/xpelyax/Home/sc2-data.zip?attredirects=0%26d=1|http://sitesproxy.goapk.com/site/xpelyax/Home/sc2-data.zip^3DO remixed music (19 Mb) - enable it in Setup->Sound Options->3DO Remixes|:addons/3domusic/3domusic.zip:https://sourceforge.net/projects/libsdl-android/files/Ur-Quan%20Masters/3domusic.zip/download|:addons/3domusic/3domusic.zip:https://sites.google.com/site/xpelyax/Home/3domusic.zip?attredirects=0%26d=1|:addons/3domusic/3domusic.zip:http://sitesproxy.goapk.com/site/xpelyax/Home/3domusic.zip^UQM music remix pack (150 Mb) - enable it in Setup->Sound Options->UQM Remixes|:addons/remix/remix.zip:https://sourceforge.net/projects/libsdl-android/files/Ur-Quan%20Masters/remix.zip/download^3DO voice (115 Mb) - go to Setup->Sound Options and increase Voice volume from zero|:addons/3dovoice/3dovoice.zip:https://sourceforge.net/projects/libsdl-android/files/Ur-Quan%20Masters/3dovoice.zip/download^3DO video support - after installing this pack copy all files from|https://sourceforge.net/projects/libsdl-android/files/Ur-Quan%20Masters/3dovideo.zip/download^your 3DO Star Control II game CD from 'duckart' dir to the SD card to dir|https://sourceforge.net/projects/libsdl-android/files/Ur-Quan%20Masters/3dovideo.zip/download^'app-data/com.sourceforge.sc2/addons/3dovideo', to extract files from 3DO disk use|https://sourceforge.net/projects/libsdl-android/files/Ur-Quan%20Masters/3dovideo.zip/download^'3DO Commander' or 'uncd-rom' apps from http://madroms.free.fr/3do/|https://sourceforge.net/projects/libsdl-android/files/Ur-Quan%20Masters/3dovideo.zip/download^Then from the game change 'Setup->PC/3DO compat->Cutscenes' to Movies, and restart game|https://sourceforge.net/projects/libsdl-android/files/Ur-Quan%20Masters/3dovideo.zip/download"; - - // Set this value to true if you're planning to render 3D using OpenGL - it eats some GFX resources, so disabled for 2D - public static boolean NeedDepthBuffer = false; - - // Set this value to true if you're planning to render 3D using OpenGL - it eats some GFX resources, so disabled for 2D - public static boolean HorizontalOrientation = true; - - // prevent device from going to suspend mode - public static boolean InhibitSuspend = false; - - // Readme text to be shown on download page - public static String ReadmeText = "^You may press \"Home\" now - the data will be downloaded in background".replace("^","\n"); - - public static boolean AppUsesMouse = false; - - public static boolean AppNeedsArrowKeys = true; - - public static boolean AppUsesJoystick = true; - - public static boolean AppHandlesJoystickSensitivity = false; - - public static boolean AppUsesMultitouch = false; - - public static boolean NonBlockingSwapBuffers = false; - - public static int AppTouchscreenKeyboardKeysAmount = 2; - - public static int AppTouchscreenKeyboardKeysAmountAutoFire = 0; - - // Phone-specific config - // It will download app data to /sdcard/alienblaster if set to true, - // otherwise it will download it to /data/data/de.schwardtnet.alienblaster/files - public static boolean DownloadToSdcard = false; - public static boolean PhoneHasTrackball = false; - public static boolean PhoneHasArrowKeys = false; - public static boolean UseAccelerometerAsArrowKeys = false; - public static boolean UseTouchscreenKeyboard = false; - public static int TouchscreenKeyboardSize = 0; - public static int TouchscreenKeyboardTheme = 0; - public static int AccelerometerSensitivity = 0; - public static int AccelerometerCenterPos = 0; - public static int TrackballDampening = 0; - public static int AudioBufferConfig = 0; - public static boolean OptionalDataDownload[] = null; -} - -class LoadLibrary { - public LoadLibrary() { System.loadLibrary("sdl-1.2"); System.loadLibrary("sdl_image"); }; -}