diff --git a/project/jni/application/commandergenius/commandergenius b/project/jni/application/commandergenius/commandergenius index 290f82353..d1b8a7ae0 160000 --- a/project/jni/application/commandergenius/commandergenius +++ b/project/jni/application/commandergenius/commandergenius @@ -1 +1 @@ -Subproject commit 290f82353bee0e48e45bd19f2c24bba98b93f1d2 +Subproject commit d1b8a7ae03b1a0960722abbab38bbb8fca98e7cd diff --git a/project/jni/application/openarena/AndroidAppSettings.cfg b/project/jni/application/openarena/AndroidAppSettings.cfg index 90feaff5e..70df6eedd 100644 --- a/project/jni/application/openarena/AndroidAppSettings.cfg +++ b/project/jni/application/openarena/AndroidAppSettings.cfg @@ -41,8 +41,8 @@ HiddenMenuOptions='OptionalDownloadConfig DisplaySizeConfig' FirstStartMenuOptions='' MultiABI=y AppMinimumRAM=300 -AppVersionCode=08819 -AppVersionName="0.8.8.19" +AppVersionCode=08820 +AppVersionName="0.8.8.20" ResetSdlConfigForThisVersion=n DeleteFilesOnUpgrade="libsdl-DownloadFinished-10.flag" CompiledLibraries="sdl_mixer sdl_image freetype curl vorbis ogg" diff --git a/project/jni/application/openarena/engine b/project/jni/application/openarena/engine index 1cef5a1e5..eaa309f9c 160000 --- a/project/jni/application/openarena/engine +++ b/project/jni/application/openarena/engine @@ -1 +1 @@ -Subproject commit 1cef5a1e56ef196c60dd44efab924d6134a0c4f3 +Subproject commit eaa309f9c18c4e4773e04d7c97c148454ad32d50 diff --git a/project/jni/application/openarena/vm b/project/jni/application/openarena/vm index e6ae35e50..9ff7a45fd 160000 --- a/project/jni/application/openarena/vm +++ b/project/jni/application/openarena/vm @@ -1 +1 @@ -Subproject commit e6ae35e503252aea1073cdf57958fee4c8c89bbb +Subproject commit 9ff7a45fd396f9a19736eabb6b9ac2b635f99184 diff --git a/project/jni/application/vcmi/.gitignore b/project/jni/application/vcmi/.gitignore index 1fe313b9c..0311e198b 100644 --- a/project/jni/application/vcmi/.gitignore +++ b/project/jni/application/vcmi/.gitignore @@ -6,3 +6,4 @@ out vcmiserver vcmiserver.zip build.log +AndroidData/binaries.zip diff --git a/project/jni/application/vcmi/Android.mk-rename-me-back-if-you-wish-to-compile-VCMI b/project/jni/application/vcmi/Android.mk-rename-me-back-if-you-wish-to-compile-VCMI deleted file mode 100644 index 7b290acca..000000000 --- a/project/jni/application/vcmi/Android.mk-rename-me-back-if-you-wish-to-compile-VCMI +++ /dev/null @@ -1,23 +0,0 @@ -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) - -LOCAL_MODULE := vcmi - -# VCMI compilation process is atrocious -$(shell touch $(LOCAL_PATH)/libvcmi.so) -#$(warning Please ignore the error about libvcmi.so, just recompile) - -ifneq ($(NDK_R5_TOOLCHAIN),) -LOCAL_SRC_FILES := libvcmi.so -include $(PREBUILT_SHARED_LIBRARY) -else -LOCAL_SRC_FILES := dummy.c -include $(BUILD_SHARED_LIBRARY) -$(abspath $(LOCAL_PATH)/../../obj/local/armeabi/libvcmi.so): $(LOCAL_PATH)/libvcmi.so OVERRIDE_CUSTOM_LIB - cp -f $< $@ -$(abspath $(LOCAL_PATH)/../../obj/local/armeabi-v7a/libvcmi.so): $(LOCAL_PATH)/libvcmi.so OVERRIDE_CUSTOM_LIB - cp -f $< $@ -.PHONY: OVERRIDE_CUSTOM_LIB -OVERRIDE_CUSTOM_LIB: -endif diff --git a/project/jni/application/vcmi/AndroidAppSettings.cfg b/project/jni/application/vcmi/AndroidAppSettings.cfg index de53aba97..98b96bc97 100644 --- a/project/jni/application/vcmi/AndroidAppSettings.cfg +++ b/project/jni/application/vcmi/AndroidAppSettings.cfg @@ -5,7 +5,7 @@ AppName="VCMI" AppFullName=eu.vcmi ScreenOrientation=h InhibitSuspend=n -AppDataDownloadUrl="!Data files|data1.zip^!Data files|data2.zip^!Data files|data3.zip^" +AppDataDownloadUrl="!Data files|vcmi_091.zip" VideoDepthBpp=16 NeedDepthBuffer=n NeedStencilBuffer=n @@ -18,6 +18,9 @@ CompatibilityHacksStaticInit=n CompatibilityHacksTextInputEmulatesHwKeyboard=n CompatibilityHacksPreventAudioChopping=n CompatibilityHacksAppIgnoresAudioBufferSize=n +CompatibilityHacksAdditionalPreloadedSharedLibraries="vcmi" +CompatibilityHacksSlowCompatibleEventQueue=n +CompatibilityHacksTouchscreenKeyboardSaveRestoreOpenGLState= AppUsesMouse=y AppNeedsTwoButtonMouse=y ShowMouseCursor=n @@ -26,6 +29,7 @@ AppNeedsArrowKeys=n AppNeedsTextInput=y AppUsesJoystick=n AppUsesAccelerometer=n +AppUsesGyroscope=n AppUsesMultitouch=n NonBlockingSwapBuffers=n RedefinedKeys="LALT RETURN NO_REMAP NO_REMAP E" @@ -40,12 +44,14 @@ AppMinimumRAM=64 AppVersionCode=09100 AppVersionName="0.91.00" ResetSdlConfigForThisVersion=n -DeleteFilesOnUpgrade="" -CompiledLibraries="mad sdl_mixer sdl_image sdl_ttf avutil avcore avcodec avformat swscale boost_program_options boost_filesystem boost_iostreams boost_system boost_thread vcmi android" +DeleteFilesOnUpgrade="%" +CompiledLibraries="mad sdl_mixer sdl_image sdl_ttf avcodec avformat avutil swscale boost_program_options boost_filesystem boost_iostreams boost_system boost_thread android" CustomBuildScript=y AppCflags='-DM_DATA_DIR=\"/sdcard/app-data/eu.vcmi\" -DM_BIN_DIR=\"/data/data/eu.vcmi/files\" -DM_LIB_DIR=\"/data/data/eu.vcmi/files\" -DWITH_AVCODEC_DECODE_VIDEO2=1 -Wstrict-aliasing -Wcast-align -Wpointer-arith -Waddress' AppLdflags='-lz -Ljni/application/vcmi -lvcmi' +AppOverlapsSystemHeaders= AppSubdirsBuild='vcmi/client vcmi/CCallback.cpp' +AppBuildExclude='' AppCmdline='' ReadmeText='^You may press "Home" now - the data will be downloaded in background' MinimumScreenSize=s diff --git a/project/jni/application/vcmi/AndroidBuild.sh b/project/jni/application/vcmi/AndroidBuild.sh index 39437d8b2..41dfbdb02 100755 --- a/project/jni/application/vcmi/AndroidBuild.sh +++ b/project/jni/application/vcmi/AndroidBuild.sh @@ -1,4 +1,6 @@ #!/bin/sh -make -j4 2>&1 | tee build.log + +# With default -O3 optimization each G++ process eats 2Gb RAM, so tone optimization down to -O2, and limit make to two jobs +make -j2 2>&1 | tee build.log [ -f libapplication.so ] || exit 1 exit 0 diff --git a/project/jni/application/vcmi/AndroidData/data1.zip b/project/jni/application/vcmi/AndroidData/data1.zip deleted file mode 100644 index be8147f11..000000000 Binary files a/project/jni/application/vcmi/AndroidData/data1.zip and /dev/null differ diff --git a/project/jni/application/vcmi/AndroidData/data2.zip b/project/jni/application/vcmi/AndroidData/data2.zip deleted file mode 100644 index 54bfa22a4..000000000 Binary files a/project/jni/application/vcmi/AndroidData/data2.zip and /dev/null differ diff --git a/project/jni/application/vcmi/AndroidData/data3.zip b/project/jni/application/vcmi/AndroidData/data3.zip deleted file mode 100644 index 2f275aeb7..000000000 Binary files a/project/jni/application/vcmi/AndroidData/data3.zip and /dev/null differ diff --git a/project/jni/application/vcmi/AndroidData/vcmi_091.zip b/project/jni/application/vcmi/AndroidData/vcmi_091.zip new file mode 100644 index 000000000..03a21833b Binary files /dev/null and b/project/jni/application/vcmi/AndroidData/vcmi_091.zip differ diff --git a/project/jni/application/vcmi/Makefile b/project/jni/application/vcmi/Makefile index 5feab17e2..fe21ca427 100644 --- a/project/jni/application/vcmi/Makefile +++ b/project/jni/application/vcmi/Makefile @@ -1,10 +1,10 @@ -$(shell mkdir -p AI debug/AI Scripting debug/Scripting \ +$(shell mkdir -p AI Scripting debug/AI debug/Scripting \ out/vcmi/lib out/vcmi/lib/Filesystem out/vcmi/lib/Mapping \ out/vcmi/lib/RMG out/vcmi/server out/vcmi/AI/StupidAI \ out/vcmi/AI/BattleAI out/vcmi/AI/FuzzyLite out/vcmi/AI/VCAI \ - out/vcmi/AI/EmptyAI out/vcmi/client out/vcmi/Scripting/ERM) -#$(shell rm -f ../../../obj/local/armeabi/libvcmi.so) + out/vcmi/AI/EmptyAI out/vcmi/Scripting/ERM out/vcmi/client \ + out/vcmi/client/BattleInterface out/vcmi/client/UIFramework) LOCAL_PATH=$(shell dirname $0) LOCAL_PATH=`cd $LOCAL_PATH && pwd` @@ -14,61 +14,58 @@ GCC_PREFIX=$(if $(shell which ndk-build | grep 'android-ndk-r8'),arm-linux-andro SOURCES_LIB=$(wildcard vcmi/lib/*.cpp vcmi/CConsoleHandler.cpp vcmi/CThreadHelper.cpp) OBJS_LIB=$(patsubst %.cpp, out/%.o, $(SOURCES_LIB)) -SOURCES_LIB_FILESYSTEM=$(wildcard vcmi/lib/Filesystem/*.cpp) -OBJS_LIB_FILESYSTEM=$(patsubst %.cpp, out/%.o, $(SOURCES_LIB_FILESYSTEM)) +SOURCES_LIB_FILESYSTEM:=$(wildcard vcmi/lib/Filesystem/*.cpp) +OBJS_LIB_FILESYSTEM:=$(patsubst %.cpp, out/%.o, $(SOURCES_LIB_FILESYSTEM)) -SOURCES_LIB_MAPPING=$(wildcard vcmi/lib/Mapping/*.cpp) -OBJS_LIB_MAPPING=$(patsubst %.cpp, out/%.o, $(SOURCES_LIB_MAPPING)) +SOURCES_LIB_MAPPING:=$(wildcard vcmi/lib/Mapping/*.cpp) +OBJS_LIB_MAPPING:=$(patsubst %.cpp, out/%.o, $(SOURCES_LIB_MAPPING)) -SOURCES_LIB_RMG=$(wildcard vcmi/lib/RMG/*.cpp) -OBJS_LIB_RMG=$(patsubst %.cpp, out/%.o, $(SOURCES_LIB_RMG)) +SOURCES_LIB_RMG:=$(wildcard vcmi/lib/RMG/*.cpp) +OBJS_LIB_RMG:=$(patsubst %.cpp, out/%.o, $(SOURCES_LIB_RMG)) -SOURCES_SERVER=$(wildcard vcmi/server/*.cpp) -OBJS_SERVER=$(patsubst %.cpp, out/%.o, $(SOURCES_SERVER)) +SOURCES_SERVER:=$(wildcard vcmi/server/*.cpp) +OBJS_SERVER:=$(patsubst %.cpp, out/%.o, $(SOURCES_SERVER)) -SOURCES_CLIENT=$(wildcard vcmi/client/*.cpp vcmi/client/BattleInterface/*.cpp vcmi/client/UIFramework/*.cpp) -OBJS_CLIENT=$(patsubst %.cpp, out/%.o, $(SOURCES_CLIENT)) +SOURCES_CLIENT:=$(wildcard vcmi/client/*.cpp vcmi/client/BattleInterface/*.cpp vcmi/client/UIFramework/*.cpp vcmi/*.cpp) +OBJS_CLIENT:=$(patsubst %.cpp, out/%.o, $(SOURCES_CLIENT)) -SOURCES_BATTLEAI=$(wildcard vcmi/AI/BattleAI/*.cpp) -OBJS_BATTLEAI=$(patsubst %.cpp, out/%.o, $(SOURCES_BATTLEAI)) +SOURCES_BATTLEAI:=$(wildcard vcmi/AI/BattleAI/*.cpp) +OBJS_BATTLEAI:=$(patsubst %.cpp, out/%.o, $(SOURCES_BATTLEAI)) -SOURCES_EMPTYAI=$(wildcard vcmi/AI/EmptyAI/*.cpp) -OBJS_EMPTYAI=$(patsubst %.cpp, out/%.o, $(SOURCES_EMPTYAI)) +SOURCES_EMPTYAI:=$(wildcard vcmi/AI/EmptyAI/*.cpp) +OBJS_EMPTYAI:=$(patsubst %.cpp, out/%.o, $(SOURCES_EMPTYAI)) -SOURCES_FUZZYLITE=$(wildcard vcmi/AI/FuzzyLite/*.cpp) -OBJS_FUZZYLITE=$(patsubst %.cpp, out/%.o, $(SOURCES_FUZZYLITE)) +SOURCES_FUZZYLITE:=$(wildcard vcmi/AI/FuzzyLite/*.cpp) +OBJS_FUZZYLITE:=$(patsubst %.cpp, out/%.o, $(SOURCES_FUZZYLITE)) -SOURCES_STUPIDAI=$(wildcard vcmi/AI/StupidAI/*.cpp) -OBJS_STUPIDAI=$(patsubst %.cpp, out/%.o, $(SOURCES_STUPIDAI)) +SOURCES_STUPIDAI:=$(wildcard vcmi/AI/StupidAI/*.cpp) +OBJS_STUPIDAI:=$(patsubst %.cpp, out/%.o, $(SOURCES_STUPIDAI)) -SOURCES_VCAI=$(wildcard vcmi/AI/VCAI/*.cpp) -OBJS_VCAI=$(patsubst %.cpp, out/%.o, $(SOURCES_VCAI)) +SOURCES_VCAI:=$(wildcard vcmi/AI/VCAI/*.cpp) +OBJS_VCAI:=$(patsubst %.cpp, out/%.o, $(SOURCES_VCAI)) -SOURCES_ERM=$(wildcard vcmi/Scripting/ERM/*.cpp) -OBJS_ERM=$(patsubst %.cpp, out/%.o, $(SOURCES_ERM)) - -SOURCES_CLIENT=$(wildcard vcmi/client/*.cpp vcmi/CCallback.cpp) -OBJS_CLIENT=$(patsubst %.cpp, out/%.o, $(SOURCES_CLIENT)) +SOURCES_ERM:=$(wildcard vcmi/Scripting/ERM/*.cpp) +OBJS_ERM:=$(patsubst %.cpp, out/%.o, $(SOURCES_ERM)) all: AndroidData/binaries.zip libapplication.so -AndroidData/binaries.zip: vcmiserver debug/libvcmi.so AI/libAI.so Scripting/libvcmiERM.so +AndroidData/binaries.zip: vcmiserver libvcmi.so Scripting/libvcmiERM.so AI/libBattleAI.so AI/libEmptyAI.so AI/libStupidAI.so AI/libVCAI.so rm -f $@ zip -r $@ $^ +# With default -O3 optimization each G++ process eats 2Gb RAM, so tone optimization down to -O2, and limit make to two jobs $(OBJS_SERVER) $(OBJS_LIB) $(OBJS_LIB_FILESYSTEM) $(OBJS_LIB_MAPPING) $(OBJS_LIB_RMG) $(OBJS_BATTLEAI) $(OBJS_EMPTYAI) $(OBJS_FUZZYLITE) $(OBJS_VCAI) $(OBJS_CLIENT) $(OBJS_ERM): out/%.o: %.cpp ../setEnvironment.sh sh -c \ "$(GCC_PREFIX)-g++ \ - -c \$$CXXFLAGS -Ivcmi -std=c++11 -Ivcmi/lib \ - -DM_DATA_DIR=\\\"/sdcard/app-data/eu.vcmi\\\" \ + -c \$$CXXFLAGS -O2 -Ivcmi -std=c++11 -Ivcmi/lib \ + -DM_DATA_DIR=\\\".\\\" \ -DM_BIN_DIR=\\\"/data/data/eu.vcmi/files\\\" \ -DM_LIB_DIR=\\\"/data/data/eu.vcmi/files\\\" \ - -DWITH_AVCODEC_DECODE_VIDEO2=1 \ -Wstrict-aliasing -Wcast-align -Wpointer-arith -Waddress \ $< -o $@" # -Werror=strict-aliasing -Werror=cast-align -Werror=pointer-arith -Werror=address -vcmiserver: $(OBJS_SERVER) $(OBJS_LIB) $(OBJS_LIB_FILESYSTEM) $(OBJS_LIB_MAPPING) $(OBJS_LIB_RMG) +vcmiserver: $(OBJS_SERVER) -lvcmi env BUILD_EXECUTABLE=1 NO_SHARED_LIBS=1 ../setEnvironment.sh sh -c \ "$(GCC_PREFIX)-g++ \ $^ -o $@ \ @@ -89,7 +86,16 @@ LINK_LIB= \ .PHONY: -lvcmi -lvcmi: libvcmi.so -AI/libAI.so: $(OBJS_BATTLEAI) $(OBJS_EMPTYAI) $(OBJS_FUZZYLITE) $(OBJS_VCAI) -lvcmi +AI/libBattleAI.so: $(OBJS_BATTLEAI) -lvcmi + $(LINK_LIB) + +AI/libEmptyAI.so: $(OBJS_EMPTYAI) -lvcmi + $(LINK_LIB) + +AI/libStupidAI.so: $(OBJS_STUPID) -lvcmi + $(LINK_LIB) + +AI/libVCAI.so: $(OBJS_VCAI) $(OBJS_FUZZYLITE) -lvcmi $(LINK_LIB) Scripting/libvcmiERM.so: $(OBJS_ERM) -lvcmi @@ -99,9 +105,9 @@ libvcmi.so: $(OBJS_LIB) $(OBJS_LIB_FILESYSTEM) $(OBJS_LIB_MAPPING) $(OBJS_LIB_RM $(LINK_LIB) libapplication.so: $(OBJS_CLIENT) libvcmi.so - env BUILD_EXECUTABLE=1 ../setEnvironment.sh sh -c \ + env ../setEnvironment.sh sh -c \ "$(GCC_PREFIX)-g++ $^ -o $@ \ - \$$LDFLAGS -L. -L../../boost/lib/arm-linux-androideabi-4.6 -lboost_filesystem -lboost_iostreams -lboost_system -lboost_thread -lgnustl_static" + \$$LDFLAGS -L. -L../../boost/lib/arm-linux-androideabi-4.6 -lboost_program_options -lboost_filesystem -lboost_iostreams -lboost_system -lboost_thread -lgnustl_static" clean: rm -rf out debug *.so vcmiserver* AndroidData/vcmiserver* libapplication.so AI Scripting diff --git a/project/jni/application/vcmi/readme.txt b/project/jni/application/vcmi/readme.txt index c61995c50..8f2d89086 100644 --- a/project/jni/application/vcmi/readme.txt +++ b/project/jni/application/vcmi/readme.txt @@ -1,16 +1,11 @@ Quick compilation guide: Download my GIT repo from https://github.com/pelya/commandergenius, -then install Android SDK 3.1 from http://developer.android.com, -NDK r5 from http://crystax.net/ and "ant" tool, then launch commands +then install Android SDK and NDK from http://developer.android.com, +ANT, patch and Subversion tools, then launch commands android update project -p project rm project/jni/application/src ln -s vcmi project/jni/application/src - echo > project/jni/application/vcmi/libvcmi.so -then download VCMI into the dir project/jni/application/vcmi/vcmi -(or create a symlink to it if you already have downloaded it), then apply patch vcmi-android.diff, -then launch build.sh - it will fail at link stage, remove dummy libvcmi.so from -project/jni/application/vcmi/vcmi and from project/obj/local/armeabi, launch "make" from directory -project/jni/application/vcmi, then launch build.sh again. +then launch build.sh. -To run it you should have complete installation of Heroes 3: Wake of Gods on your SD card on your device, -in the directory app-data/eu.vcmi +To run it you should have complete installation of Heroes 3: Wake of Gods +on your SD card, in the directory Android/data/eu.vcmi/files diff --git a/project/jni/application/vcmi/vcmi b/project/jni/application/vcmi/vcmi deleted file mode 120000 index bb55c5f92..000000000 --- a/project/jni/application/vcmi/vcmi +++ /dev/null @@ -1 +0,0 @@ -../../../../../vcmi \ No newline at end of file diff --git a/project/jni/application/vcmi/vcmi-android.diff b/project/jni/application/vcmi/vcmi-android.diff index bb9072e47..9ce89ac0b 100644 --- a/project/jni/application/vcmi/vcmi-android.diff +++ b/project/jni/application/vcmi/vcmi-android.diff @@ -1,113 +1,39 @@ -Index: client/CVideoHandler.h -=================================================================== ---- client/CVideoHandler.h (Revision 3221) -+++ client/CVideoHandler.h (Arbeitskopie) -@@ -236,6 +236,7 @@ - #include - } - -+ - class CVideoPlayer : public IMainVideoPlayer - { - private: -@@ -247,7 +248,7 @@ - struct SwsContext *sws; - - unsigned char* buffer; -- AVIOContext * context; -+ ByteIOContext * context; - - // Destination. Either overlay or dest. - SDL_Overlay *overlay; -Index: rpm/vcmi.spec -=================================================================== ---- rpm/vcmi.spec (Revision 3221) -+++ rpm/vcmi.spec (Arbeitskopie) -@@ -1,19 +1,19 @@ --Summary: VCMI is an open-source project aiming to reimplement the entire H3:WoG game engine, giving it new and extended possibilities -+Summary: VCMI is an open-source project aiming to reimplement HMM3:WoG game engine, giving it new and extended possibilities. - Name: vcmi --Version: 0.9.1 -+Version: 0.9 - Release: 2%{?dist} - License: GPLv2+ -+Group: Amusements/Games - - # The source for this package was pulled from upstream's vcs. Use the - # following commands to generate the tarball: --# svn export -r HEAD https://vcmi.svn.sourceforge.net/svnroot/vcmi/tags/0.91 vcmi-0.9.1-2 --# tar -cJf vcmi-0.9.1-2.tar.xz vcmi-0.9.1-2 --Source: vcmi-0.9.1-2.tar.xz -+# svn export -r HEAD https://vcmi.svn.sourceforge.net/svnroot/vcmi/tags/0.9 vcmi-0.9-2 -+# tar -cJf vcmi-0.9-2.tar.xz vcmi-0.9-2 -+Source: vcmi-0.9-2.tar.xz - - URL: http://forum.vcmi.eu/portal.php --BuildRequires: cmake - BuildRequires: gcc-c++ >= 4.7.2 --BuildRequires: SDL-devel -+BuildRequires: SDL-devel - BuildRequires: SDL_image-devel - BuildRequires: SDL_ttf-devel - BuildRequires: SDL_mixer-devel >= 1.2.8 -@@ -29,15 +29,11 @@ - BuildRequires: ffmpeg-libs - - %description --The purpose of VCMI project is to rewrite the entire H3:WoG engine from scratch, --giving it new and extended possibilities. -+The purpose of VCMI project is to rewrite entire HOMM 3: WoG engine from scratch, giving it new and extended possibilities. We hope to support mods and new towns already made by fans but abandoned because of game code limitations. - --VCMI is fan-made open-source project in progress. We already allow support for --maps of any sizes, higher resolutions, extended engine limits, modding support --for custom towns, artifacts, heroes, etc... -+VCMI is fan-made open-source project in progress. We already allow support for maps of any sizes, higher resolutions and extended engine limits. However, although working, the game is not finished. There are still many features and functionalities to add, both old and brand new. - --As yet VCMI is not a standalone program, it uses Wake of Gods files and --graphics. You need to install WoG before running VCMI. -+As yet VCMI is not standalone program, it uses Wake of Gods files and graphics. You need to install WoG before running VCMI. - - %prep - %setup -q -n %{name}-%{version}-2 -@@ -47,13 +43,13 @@ - make %{?_smp_mflags} - - %install -+rm -rf %{buildroot} - make DESTDIR=%{buildroot} install - - %files --%doc README COPYING AUTHORS ChangeLog -+%doc README README.linux COPYING AUTHORS ChangeLog - %{_bindir}/vcmiclient - %{_bindir}/vcmiserver --%{_bindir}/vcmibuilder - %{_libdir}/%{name}/* - - %{_datadir}/%{name}/* -@@ -61,12 +57,6 @@ - %{_datadir}/icons/* - - %changelog --* Fri Feb 01 2013 VCMI - 0.9.1-2 --- New upstream release -- --* Wed Jan 30 2013 VCMI - 0.9.1-1 --- Development release -- - * Sun Oct 21 2012 VCMI - 0.9-2 - - Second release of 0.9, Fixed battles crash - Index: lib/VCMIDirs.h =================================================================== ---- lib/VCMIDirs.h (Revision 3221) -+++ lib/VCMIDirs.h (Arbeitskopie) -@@ -30,7 +30,7 @@ +--- lib/VCMIDirs.h (revision 3221) ++++ lib/VCMIDirs.h (working copy) +@@ -29,7 +29,7 @@ #else try { #ifdef ANDROID - UserPath = DATA_DIR; + UserPath = GameConstants::DATA_DIR; - #else - // Find vcmi user directory and create it if necessary - std::string home_dir = "."; + #elif defined(__APPLE__) + // This is Cocoa code that should be normally used to get path to Application Support folder but can't use it here for now... + // NSArray* urls = [[NSFileManager defaultManager] URLsForDirectory:NSApplicationSupportDirectory inDomains:NSUserDomainMask]; +Index: lib/vcmi_endian.h +=================================================================== +--- lib/vcmi_endian.h (revision 3221) ++++ lib/vcmi_endian.h (working copy) +@@ -19,7 +19,7 @@ + * memory. On big endian machines, the value will be byteswapped. + */ + +-#if defined(linux) && (defined(sparc) || defined(__arm__)) ++#if defined(ANDROID) || defined(linux) && (defined(sparc) || defined(__arm__)) + /* SPARC does not support unaligned memory access. Let gcc know when + * to emit the right code. */ + struct unaligned_Uint16 { ui16 val __attribute__(( packed )); }; +Index: client/CMT.cpp +=================================================================== +--- client/CMT.cpp (revision 3221) ++++ client/CMT.cpp (working copy) +@@ -177,7 +177,7 @@ + + #ifdef _WIN32 + int _tmain(int argc, _TCHAR* argv[]) +-#elif defined(__APPLE__) ++#elif defined(__APPLE__) || defined(ANDROID) + int SDL_main(int argc, char *argv[]) + #else + int main(int argc, char** argv)