From 90691c4579b8d394db32bcff62ac491ea4b1c88e Mon Sep 17 00:00:00 2001 From: pelya Date: Wed, 9 Mar 2011 18:25:22 +0200 Subject: [PATCH] Added project file for OpenTTD with ChillCore patch --- .../openttd-chillcore/AndroidAppSettings.cfg | 34 +++ .../openttd-chillcore/AndroidBuild.sh | 21 ++ .../application/openttd-chillcore/icon.png | Bin 0 -> 20566 bytes .../jni/application/openttd-chillcore/openttd | 1 + .../openttd-trunk-android.patch | 218 ++++++++++++++++++ .../application/openttd-chillcore/readme.txt | 10 + .../ufoai-lowmem/AndroidAppSettings.cfg | 1 - .../ufoai-lowmem/AndroidData/base.zip | Bin 160 -> 0 bytes project/jni/application/ufoai-lowmem/icon.png | 1 - .../jni/application/ufoai-lowmem/readme.txt | 7 - project/jni/application/ufoai-lowmem/ufoai | 1 - 11 files changed, 284 insertions(+), 10 deletions(-) create mode 100644 project/jni/application/openttd-chillcore/AndroidAppSettings.cfg create mode 100755 project/jni/application/openttd-chillcore/AndroidBuild.sh create mode 100644 project/jni/application/openttd-chillcore/icon.png create mode 120000 project/jni/application/openttd-chillcore/openttd create mode 100644 project/jni/application/openttd-chillcore/openttd-trunk-android.patch create mode 100644 project/jni/application/openttd-chillcore/readme.txt delete mode 120000 project/jni/application/ufoai-lowmem/AndroidAppSettings.cfg delete mode 100644 project/jni/application/ufoai-lowmem/AndroidData/base.zip delete mode 120000 project/jni/application/ufoai-lowmem/icon.png delete mode 100644 project/jni/application/ufoai-lowmem/readme.txt delete mode 120000 project/jni/application/ufoai-lowmem/ufoai diff --git a/project/jni/application/openttd-chillcore/AndroidAppSettings.cfg b/project/jni/application/openttd-chillcore/AndroidAppSettings.cfg new file mode 100644 index 000000000..bbbd4f170 --- /dev/null +++ b/project/jni/application/openttd-chillcore/AndroidAppSettings.cfg @@ -0,0 +1,34 @@ +# The application settings for Android libSDL port +AppSettingVersion=17 +LibSdlVersion=1.2 +AppName="OpenTTD ChillCore" +AppFullName=org.openttd.sdl.chillcore +ScreenOrientation=h +InhibitSuspend=n +AppDataDownloadUrl="!Data files - 20 Mb|http://sourceforge.net/projects/libsdl-android/files/OpenTTD/openttd-data-chillcore.zip/download^MIDI music support (18 Mb)|http://sourceforge.net/projects/libsdl-android/files/timidity.zip/download" +SdlVideoResize=y +SdlVideoResizeKeepAspect=n +NeedDepthBuffer=n +SwVideoMode=y +AppUsesMouse=y +AppNeedsTwoButtonMouse=y +AppNeedsArrowKeys=n +AppNeedsTextInput=y +AppUsesJoystick=n +AppHandlesJoystickSensitivity=n +AppUsesMultitouch=n +NonBlockingSwapBuffers=n +RedefinedKeys="LALT RETURN KP_PLUS KP_MINUS SPACE DELETE" +AppTouchscreenKeyboardKeysAmount=0 +AppTouchscreenKeyboardKeysAmountAutoFire=0 +RedefinedKeysScreenKb="LALT RETURN KP_PLUS KP_MINUS SPACE DELETE KP_PLUS KP_MINUS 1 2" +MultiABI=n +AppVersionCode=10512 +AppVersionName="1.0.5.12" +CompiledLibraries="jpeg png freetype timidity lzma lzo2" +CustomBuildScript=y +AppCflags='' +AppLdflags='' +AppSubdirsBuild='' +AppCmdline='openttd -d 3' +ReadmeText='^You may press "Home" now - the data will be downloaded in background' diff --git a/project/jni/application/openttd-chillcore/AndroidBuild.sh b/project/jni/application/openttd-chillcore/AndroidBuild.sh new file mode 100755 index 000000000..efdc0d0d1 --- /dev/null +++ b/project/jni/application/openttd-chillcore/AndroidBuild.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +LOCAL_PATH=`dirname $0` +LOCAL_PATH=`cd $LOCAL_PATH && pwd` + + +# Uncomment if your configure expects SDL libraries in form "libSDL_name.so" +#ln -sf libtremor.a $LOCAL_PATH/../../../obj/local/armeabi/libvorbisidec.a +#ln -sf libflac.a $LOCAL_PATH/../../../obj/local/armeabi/libFLAC.a + +# OpenTTD build system is uglier than war. + +if [ \! -f openttd/objs/lang/english.lng ] ; then + sh -c "cd openttd && ./configure --without-freetype --without-png --without-zlib --without-lzo2 --endian=LE && make lang && make -C objs/release endian_target.h depend" + rm -f openttd/Makefile +fi + +if [ \! -f openttd/Makefile ] ; then + ../setEnvironment.sh sh -c "cd openttd && ./configure --host=arm-eabi --with-sdl --with-freetype=sdl-config --with-png --with-zlib --with-libtimidity=$LOCAL_PATH/../../../obj/local/armeabi/libtimidity.so --with-lzo2=$LOCAL_PATH/../../../obj/local/armeabi/liblzo2.so --prefix-dir='.' --data-dir='' --without-allegro --without-fontconfig --endian=LE" +fi +../setEnvironment.sh sh -c "cd openttd && make -j1 VERBOSE=1 STRIP='' LIBS='-lsdl-1.2 -llzo2 -lpng -ltimidity -lfreetype -lgcc -lz -lc -lstdc++'" && cp -f openttd/objs/release/openttd libapplication.so diff --git a/project/jni/application/openttd-chillcore/icon.png b/project/jni/application/openttd-chillcore/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..607f06043ff0e3dc226f72259a298639d3e36425 GIT binary patch literal 20566 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 BLva8A literal 0 HcmV?d00001 diff --git a/project/jni/application/openttd-chillcore/openttd b/project/jni/application/openttd-chillcore/openttd new file mode 120000 index 000000000..2fdf78a93 --- /dev/null +++ b/project/jni/application/openttd-chillcore/openttd @@ -0,0 +1 @@ +../../../../../openttd-chillcore \ No newline at end of file diff --git a/project/jni/application/openttd-chillcore/openttd-trunk-android.patch b/project/jni/application/openttd-chillcore/openttd-trunk-android.patch new file mode 100644 index 000000000..518de169b --- /dev/null +++ b/project/jni/application/openttd-chillcore/openttd-trunk-android.patch @@ -0,0 +1,218 @@ +Index: src/video/sdl_v.cpp +=================================================================== +--- src/video/sdl_v.cpp (revision 21531) ++++ src/video/sdl_v.cpp (working copy) +@@ -353,6 +353,8 @@ + if (sym->scancode == 49) key = WKC_BACKSPACE; + #elif defined(__sgi__) + if (sym->scancode == 22) key = WKC_BACKQUOTE; ++#elif defined(ANDROID) ++ if (sym->scancode == SDLK_BACKQUOTE) key = WKC_BACKQUOTE; + #else + if (sym->scancode == 49) key = WKC_BACKQUOTE; + #endif +@@ -484,6 +486,9 @@ + SDL_CALL SDL_EnableUNICODE(1); + + _draw_threaded = GetDriverParam(parm, "no_threads") == NULL && GetDriverParam(parm, "no_thread") == NULL; ++#ifdef ANDROID ++ _draw_threaded = false; ++#endif + + return NULL; + } +Index: src/sound/sdl_s.cpp +=================================================================== +--- src/sound/sdl_s.cpp (revision 21531) ++++ src/sound/sdl_s.cpp (working copy) +@@ -20,9 +20,16 @@ + + static FSoundDriver_SDL iFSoundDriver_SDL; + ++#ifdef ANDROID ++extern void Android_MidiMixMusic(Sint16 *stream, int len); ++#endif ++ + static void CDECL fill_sound_buffer(void *userdata, Uint8 *stream, int len) + { + MxMixSamples(stream, len / 4); ++#if defined(ANDROID) && defined(LIBTIMIDITY) ++ Android_MidiMixMusic((Sint16 *)stream, len / 2); ++#endif + } + + const char *SoundDriver_SDL::Start(const char * const *parm) +Index: src/music/libtimidity.cpp +=================================================================== +--- src/music/libtimidity.cpp (revision 21531) ++++ src/music/libtimidity.cpp (working copy) +@@ -22,10 +22,13 @@ + #include + #include + #include ++#include ++ + #if defined(PSP) + #include + #endif /* PSP */ + ++ + enum MidiState { + MIDI_STOPPED = 0, + MIDI_PLAYING = 1, +@@ -50,6 +53,24 @@ + } + } + #endif /* PSP */ ++#ifdef ANDROID ++#define MIN(X ,Y) ((X) < (Y) ? (X) : (Y)) ++void Android_MidiMixMusic(Sint16 *stream, int len) ++{ ++ if (_midi.status == MIDI_PLAYING) { ++ Sint16 buf[16384]; ++ while( len > 0 ) ++ { ++ int minlen = MIN(sizeof(buf), len); ++ mid_song_read_wave(_midi.song, stream, MIN(sizeof(buf), len*2)); ++ for( Uint16 i = 0; i < minlen; i++ ) ++ stream[i] += buf[i]; ++ stream += minlen; ++ len -= minlen; ++ } ++ } ++} ++#endif + + static FMusicDriver_LibTimidity iFMusicDriver_LibTimidity; + +Index: src/table/settings.h +=================================================================== +--- src/table/settings.h (revision 21531) ++++ src/table/settings.h (working copy) +@@ -269,9 +269,15 @@ + SDTG_STR("savegame_format", SLE_STRB, S, 0, _savegame_format, NULL, STR_NULL, NULL), + SDTG_BOOL("rightclick_emulate", S, 0, _rightclick_emulate, false, STR_NULL, NULL), + #ifdef WITH_FREETYPE ++#ifdef ANDROID ++ SDTG_STR("small_font", SLE_STRB, S, 0, _freetype.small_font, "fonts/FreeSans.ttf", STR_NULL, NULL), ++ SDTG_STR("medium_font", SLE_STRB, S, 0, _freetype.medium_font, "fonts/FreeSans.ttf", STR_NULL, NULL), ++ SDTG_STR("large_font", SLE_STRB, S, 0, _freetype.large_font, "fonts/FreeSerif.ttf", STR_NULL, NULL), ++#else + SDTG_STR("small_font", SLE_STRB, S, 0, _freetype.small_font, NULL, STR_NULL, NULL), + SDTG_STR("medium_font", SLE_STRB, S, 0, _freetype.medium_font, NULL, STR_NULL, NULL), + SDTG_STR("large_font", SLE_STRB, S, 0, _freetype.large_font, NULL, STR_NULL, NULL), ++#endif + SDTG_VAR("small_size", SLE_UINT, S, 0, _freetype.small_size, 8, 0, 72, 0, STR_NULL, NULL), + SDTG_VAR("medium_size", SLE_UINT, S, 0, _freetype.medium_size, 10, 0, 72, 0, STR_NULL, NULL), + SDTG_VAR("large_size", SLE_UINT, S, 0, _freetype.large_size, 16, 0, 72, 0, STR_NULL, NULL), +Index: src/os/unix/unix.cpp +=================================================================== +--- src/os/unix/unix.cpp (revision 21531) ++++ src/os/unix/unix.cpp (working copy) +@@ -24,7 +24,7 @@ + + #ifdef __APPLE__ + #include +-#elif (defined(_POSIX_VERSION) && _POSIX_VERSION >= 200112L) || defined(__GLIBC__) ++#elif ((defined(_POSIX_VERSION) && _POSIX_VERSION >= 200112L) || defined(__GLIBC__)) && !defined(ANDROID) + #define HAS_STATVFS + #endif + +@@ -245,6 +245,11 @@ + void cocoaReleaseAutoreleasePool(); + #endif + ++#ifdef ANDROID ++#define main SDL_main ++extern "C" int CDECL main(int, char *[]); ++#endif ++ + int CDECL main(int argc, char *argv[]) + { + int ret; +Index: src/os/unix/crashlog_unix.cpp +=================================================================== +--- src/os/unix/crashlog_unix.cpp (revision 21531) ++++ src/os/unix/crashlog_unix.cpp (working copy) +@@ -141,7 +141,11 @@ + }; + + /** The signals we want our crash handler to handle. */ ++#ifdef ANDROID ++static const int _signals_to_handle[] = { }; // Default Android signal handler will give us stack trace ++#else + static const int _signals_to_handle[] = { SIGSEGV, SIGABRT, SIGFPE, SIGBUS, SIGILL }; ++#endif + + /** + * Entry point for the crash handler. +Index: src/window.cpp +=================================================================== +--- src/window.cpp (revision 21531) ++++ src/window.cpp (working copy) +@@ -2171,6 +2171,10 @@ + * But there is no company related window open anyway, so _current_company is not used. */ + assert(IsGeneratingWorld() || IsLocalCompany()); + ++#ifdef ANDROID ++ _settings_client.gui.left_mouse_btn_scrolling = true; ++#endif ++ + HandlePlacePresize(); + UpdateTileSelection(); + +Index: src/network/core/os_abstraction.h +=================================================================== +--- src/network/core/os_abstraction.h (revision 21531) ++++ src/network/core/os_abstraction.h (working copy) +@@ -161,7 +161,7 @@ + # include + /* According to glibc/NEWS, appeared in glibc-2.3. */ + # if !defined(__sgi__) && !defined(SUNOS) && !defined(__MORPHOS__) && !defined(__BEOS__) && !defined(__HAIKU__) && !defined(__INNOTEK_LIBC__) \ +- && !(defined(__GLIBC__) && (__GLIBC__ <= 2) && (__GLIBC_MINOR__ <= 2)) && !defined(__dietlibc__) && !defined(HPUX) ++ && !(defined(__GLIBC__) && (__GLIBC__ <= 2) && (__GLIBC_MINOR__ <= 2)) && !defined(__dietlibc__) && !defined(HPUX) && !defined(ANDROID) + /* If for any reason ifaddrs.h does not exist on your system, comment out + * the following two lines and an alternative way will be used to fetch + * the list of IPs from the system. */ +Index: src/viewport.cpp +=================================================================== +Index: src/debug.cpp +=================================================================== +--- src/debug.cpp (revision 21531) ++++ src/debug.cpp (working copy) +@@ -16,6 +16,9 @@ + #include "string_func.h" + #include "fileio_func.h" + #include "settings_type.h" ++#ifdef ANDROID ++#include ++#endif + + #include + +@@ -76,6 +79,9 @@ + */ + static void debug_print(const char *dbg, const char *buf) + { ++#ifdef ANDROID ++ __android_log_print(ANDROID_LOG_INFO, "OpenTTD", "[%s] %s", dbg, buf); ++#endif + #if defined(ENABLE_NETWORK) + if (_debug_socket != INVALID_SOCKET) { + char buf2[1024 + 32]; +Index: src/main_gui.cpp +=================================================================== +--- src/main_gui.cpp (revision 21531) ++++ src/main_gui.cpp (working copy) +@@ -465,7 +465,11 @@ + Hotkey('C', "center", GHK_CENTER), + Hotkey('Z', "center_zoom", GHK_CENTER_ZOOM), + Hotkey(WKC_ESC, "reset_object_to_place", GHK_RESET_OBJECT_TO_PLACE), ++#ifdef ANDROID ++ Hotkey(WKC_DELETE, "delete_windows", GHK_DELETE_NONVITAL_WINDOWS), ++#else + Hotkey(WKC_DELETE, "delete_windows", GHK_DELETE_WINDOWS), ++#endif + Hotkey(WKC_DELETE | WKC_SHIFT, "delete_all_windows", GHK_DELETE_NONVITAL_WINDOWS), + Hotkey('R' | WKC_CTRL, "refresh_screen", GHK_REFRESH_SCREEN), + #if defined(_DEBUG) diff --git a/project/jni/application/openttd-chillcore/readme.txt b/project/jni/application/openttd-chillcore/readme.txt new file mode 100644 index 000000000..ab2fbb4ff --- /dev/null +++ b/project/jni/application/openttd-chillcore/readme.txt @@ -0,0 +1,10 @@ +Quick compilation guide: +Download my GIT repo from https://github.com/pelya/commandergenius, +then install Android SDK 2.2, NDK r4b, and "ant" tool, then launch commands + rm project/jni/application/src + ln -s scummvm project/jni/application/src + cd project && android update project -p . +then download OpenTTD r21531 into the dir project/jni/application/openttd/openttd, +apply ChillCore patch onto it, apply my patch openttd-trunk-android.patch +and launch build.sh. That should be it. +There will be error with "sqrtl" function not defined, change it to "sqrt". \ No newline at end of file diff --git a/project/jni/application/ufoai-lowmem/AndroidAppSettings.cfg b/project/jni/application/ufoai-lowmem/AndroidAppSettings.cfg deleted file mode 120000 index 9cbddf6f6..000000000 --- a/project/jni/application/ufoai-lowmem/AndroidAppSettings.cfg +++ /dev/null @@ -1 +0,0 @@ -ufoai/build/projects/AndroidAppSettings-lowmem.cfg \ No newline at end of file diff --git a/project/jni/application/ufoai-lowmem/AndroidData/base.zip b/project/jni/application/ufoai-lowmem/AndroidData/base.zip deleted file mode 100644 index 990032ff2944a0700d76a369858a44262a827c97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160 zcmWIWW@h1H0D+J!M>`M=!>kN43`vQ_srsQIoD9qc93H-g93H-<72FJrEH9WD7{Ek; sHzSiAGcE%ppk@g$ymbUIp~kU7jKeUBl?|kbk%5uHn}LDB9>ie)09`~At^fc4 diff --git a/project/jni/application/ufoai-lowmem/icon.png b/project/jni/application/ufoai-lowmem/icon.png deleted file mode 120000 index 9f5def99e..000000000 --- a/project/jni/application/ufoai-lowmem/icon.png +++ /dev/null @@ -1 +0,0 @@ -ufoai/src/ports/linux/ufo.png \ No newline at end of file diff --git a/project/jni/application/ufoai-lowmem/readme.txt b/project/jni/application/ufoai-lowmem/readme.txt deleted file mode 100644 index 796b94ed2..000000000 --- a/project/jni/application/ufoai-lowmem/readme.txt +++ /dev/null @@ -1,7 +0,0 @@ -Quick build instructions: you have to download GIT repo from https://github.com/pelya/commandergenius , -then install Android SDK 2.2, NDK r4b from http://develoiper.android.com , and Apache Ant tool, then you should launch commands - rm project/jni/application/src - ln -s ufoai project/jni/application/src - cd project && android update project -p . -then download UFO:AI GIT into the dir project/jni/application/ufoai/ufoai -(or create a symlink to it if you already have downloaded it), and launch build.sh. That should be it. diff --git a/project/jni/application/ufoai-lowmem/ufoai b/project/jni/application/ufoai-lowmem/ufoai deleted file mode 120000 index 804bef672..000000000 --- a/project/jni/application/ufoai-lowmem/ufoai +++ /dev/null @@ -1 +0,0 @@ -../../../../../ufoai/ \ No newline at end of file