diff --git a/alienblaster/ChangeAppSettings.sh b/alienblaster/ChangeAppSettings.sh index 93f770293..d92f436ca 100755 --- a/alienblaster/ChangeAppSettings.sh +++ b/alienblaster/ChangeAppSettings.sh @@ -1,18 +1,39 @@ #!/bin/sh . ./AppSettings.cfg -cat /dev/null > AppSettings.cfg + +var="" echo -n "\nSpecify application name (e.x. My Application) ($AppName): " -read AppName -echo -n "\nSpecify reversed site name of application (e.x. com.mysite.myapp) ($AppFullName): " -read AppFullName -echo -n "\nSpecify screen orientation: (v)ertical or (h)orizontal ($ScreenOrientation): " -read ScreenOrientation -echo -n "\nSpecify URL to download application data in zip archive ($AppDataDownloadUrl): " -read AppDataDownloadUrl -echo -n "\nSpecify if application data should be saved to SD Card (y) or (n),\nsay (y) if app data is bigger than 5 megabytes ($DownloadToSdcard): " -read DownloadToSdcard +read var +if [ -n "$var" ] ; then + AppName="$var" +fi +echo -n "\nSpecify reversed site name of application (e.x. com.mysite.myapp) ($AppFullName): " +read var +if [ -n "$var" ] ; then + AppFullName="$var" +fi + +echo -n "\nSpecify screen orientation: (v)ertical or (h)orizontal ($ScreenOrientation): " +read var +if [ -n "$var" ] ; then + ScreenOrientation="$var" +fi + +echo -n "\nSpecify URL to download application data in zip archive ($AppDataDownloadUrl): " +read var +if [ -n "$var" ] ; then + AppDataDownloadUrl="$var" +fi + +echo -n "\nSpecify if application data should be saved to SD Card (y) or (n),\nsay (y) if app data is bigger than 5 megabytes ($DownloadToSdcard): " +read var +if [ -n "$var" ] ; then + DownloadToSdcard="$var" +fi + +cat /dev/null > AppSettings.cfg echo AppName=\"$AppName\" >> AppSettings.cfg echo AppFullName=$AppFullName >> AppSettings.cfg echo ScreenOrientation=$ScreenOrientation >> AppSettings.cfg @@ -31,28 +52,41 @@ ScreenOrientation1=portrait if [ "$ScreenOrientation" = "h" ] ; then ScreenOrientation1=landscape fi +AppDataDownloadUrl1="`echo $AppDataDownloadUrl | sed 's/[&]/%26/g'`" +echo Patching project/AndroidManifest.xml cat project/AndroidManifest.xml | \ sed "s/package=.*/package=\"$AppFullName\"/" | \ sed "s/android:screenOrientation=.*/android:screenOrientation=\"$ScreenOrientation1\"/" > \ project/AndroidManifest.xml.1 mv -f project/AndroidManifest.xml.1 project/AndroidManifest.xml +echo Patching project/src/DemoActivity.java cat project/src/DemoActivity.java | \ - sed "s/public static String ApplicationName = .*/public static String ApplicationName = \"$AppShortName\";" | \ - sed "s^public static String DataDownloadUrl = .*^public static String DataDownloadUrl = \"$AppDataDownloadUrl\";^" | \ - sed "s/public static boolean DownloadToSdcard = .*/public static boolean DownloadToSdcard = $DownloadToSdcard1;" > \ + sed "s/package .*;/package $AppFullName;/" | \ + sed "s/public static String ApplicationName = .*;/public static String ApplicationName = \"$AppShortName\";/" | \ + sed "s^public static String DataDownloadUrl = \".*\";^public static String DataDownloadUrl = \"$AppDataDownloadUrl1\";^" | \ + sed "s/public static boolean DownloadToSdcard = .*;/public static boolean DownloadToSdcard = $DownloadToSdcard1;/" > \ project/src/DemoActivity.java.1 mv -f project/src/DemoActivity.java.1 project/src/DemoActivity.java +echo Patching project/jni/Android.mk cat project/jni/Android.mk | \ sed "s/SDL_JAVA_PACKAGE_PATH := .*/SDL_JAVA_PACKAGE_PATH := $AppFullNameUnderscored/" | \ sed "s^SDL_CURDIR_PATH := .*^SDL_CURDIR_PATH := $DataPath^" > \ project/jni/Android.mk.1 mv -f project/jni/Android.mk.1 project/jni/Android.mk +echo Patching project/res/values/strings.xml cat project/res/values/strings.xml | \ - sed "s/.*/$AppName" > \ + 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 +# Force rebuild of C-Java bindings +touch project/jni/sdl/include/SDL_main.h +touch project/jni/sdl/src/video/android/*.c +touch project/jni/sdl/src/audio/android/*.c +rm project/libs/armeabi/libapplication.so project/libs/armeabi/libsdl.so + +echo Done diff --git a/alienblaster/project/src/DemoActivity.java b/alienblaster/project/src/DemoActivity.java index c79e5bfa1..586819d29 100644 --- a/alienblaster/project/src/DemoActivity.java +++ b/alienblaster/project/src/DemoActivity.java @@ -1,3 +1,4 @@ +// This string is autogenerated by ChangeAppSettings.sh, do not change spaces amount package de.schwardtnet.alienblaster; import javax.microedition.khronos.egl.EGLConfig; @@ -29,16 +30,19 @@ import java.io.*; import java.nio.ByteBuffer; -// TODO: export vibrator to SDL - interface is available in SDL 1.3 - class Globals { + // This string is autogenerated by ChangeAppSettings.sh, do not change spaces amount public static String ApplicationName = "AlienBlaster"; + // Should be zip file - public static String DataDownloadUrl = "http://sites.google.com/site/xpelyax/Home/alienblaster110_data.zip?attredirects=0&d=1"; + // This string is autogenerated by ChangeAppSettings.sh, do not change spaces amount + public static String DataDownloadUrl = "http://sites.google.com/site/xpelyax/Home/alienblaster110_data.zip?attredirects=0%26d=1"; // This string is autogenerated by ChangeAppSettings.sh, do not change spaces amount + // Set DownloadToSdcard to true if your app data is bigger than 5 megabytes. // It will download app data to /sdcard/alienblaster then, // otherwise it will download it to /data/data/de.schwardtnet.alienblaster/files - // set this dir in jni/Android.mk in SDL_CURDIR_PATH + // This string is autogenerated by ChangeAppSettings.sh, do not change spaces amount public static boolean DownloadToSdcard = false; } diff --git a/alienblaster/readme.txt b/alienblaster/readme.txt index 20bfe3503..b1da51ab6 100644 --- a/alienblaster/readme.txt +++ b/alienblaster/readme.txt @@ -30,9 +30,8 @@ it will stay in memory until you reboot device (actually it won't stay in memory To exit correctly press Menu key - it's redirected to Escape. When porting you own app, first of all ensure that your application supports -one of 320x200, 320x240 or 320x480 display resolutions and 16 bits per pixel -(320x480 is native resolution for HTC devices, if other vendors will produce Android phones it may differ). -You may try to use 640x480, but it will be 2x-shrinked, and also it's very slow. +one of 320x200, 320x240 or 480x320 display resolutions and 16 bits per pixel +(480x320 is native resolution for G1, Supersonic has 800x480). To compile your own app, put your app sources into project/jni/application dir (remove Alien Blaster first), and launch script ChangeAppSettings.sh - it will put the name of your app in several places in sources. @@ -74,3 +73,4 @@ and configure other actions like accelerometer tilt as keypresses. 6. Progress bar for data downloader. +7. Export phone vibrator to SDL - interface is available in SDL 1.3