Updated VCMI, added readme

This commit is contained in:
pelya
2011-06-10 13:27:16 +03:00
parent 22a4b5ac03
commit 538a0d0b3f
11 changed files with 100 additions and 27 deletions

View File

@@ -30,7 +30,7 @@ AppVersionName="0.85.01"
CompiledLibraries="sdl_mixer sdl_image sdl_ttf avutil avcore avcodec avformat swscale boost_program_options boost_filesystem boost_iostreams boost_system boost_thread"
CustomBuildScript=n
AppCflags='-DDATA_DIR=\\\"/sdcard/app-data/eu.vcmi\\\" -DBIN_DIR=\\\"/data/data/eu.vcmi/files\\\" -DLIB_DIR=\\\"/data/data/eu.vcmi/files\\\" -DWITH_AVCODEC_DECODE_VIDEO2=1'
AppLdflags='-lz'
AppSubdirsBuild='vcmi vcmi/client vcmi/lib'
AppLdflags='-lz -Ljni/application/vcmi -lvcmi'
AppSubdirsBuild='vcmi vcmi/client'
AppCmdline=''
ReadmeText='^You may press "Home" now - the data will be downloaded in background'

Binary file not shown.

Binary file not shown.

View File

@@ -1,34 +1,68 @@
$(shell mkdir -p out/vcmi/lib out/vcmi/server)
$(shell mkdir -p debug out/vcmi/lib out/vcmi/server out/vcmi/AI/StupidAI out/vcmi/AI/GeniusAI)
LOCAL_PATH=$(shell dirname $0)
LOCAL_PATH=`cd $LOCAL_PATH && pwd`
GCC_PREFIX=$(if $(shell which ndk-build | grep 'android-ndk-r5'),arm-linux-androideabi,arm-eabi)
SOURCES=$(wildcard vcmi/lib/*.cpp vcmi/server/*.cpp vcmi/CConsoleHandler.cpp vcmi/CThreadHelper.cpp)
OBJS=$(patsubst %.cpp, out/%.o, $(SOURCES))
$(warning SOURCES $(SOURCES))
$(warning OBJS $(OBJS))
SOURCES_LIB=$(wildcard vcmi/lib/*.cpp vcmi/CConsoleHandler.cpp vcmi/CThreadHelper.cpp)
OBJS_LIB=$(patsubst %.cpp, out/%.o, $(SOURCES_LIB))
vcmiserver: $(OBJS)
env BUILD_EXECUTABLE=1 ../setEnvironment.sh sh -c \
"$(GCC_PREFIX)-g++ \
\$$LDFLAGS \
$^ -o $@ \
-lboost_filesystem -lboost_iostreams -lboost_system -lboost_thread"
mkdir -p debug
cp $@ debug/$@
$(GCC_PREFIX)-strip $@
SOURCES_SERVER=$(wildcard vcmi/server/*.cpp)
OBJS_SERVER=$(patsubst %.cpp, out/%.o, $(SOURCES_SERVER))
$(OBJS): out/%.o: %.cpp
SOURCES_STUPIDAI=$(wildcard vcmi/AI/StupidAI/*.cpp)
OBJS_STUPIDAI=$(patsubst %.cpp, out/%.o, $(SOURCES_STUPIDAI))
SOURCES_GENIUSAI=$(filter-out %/ExpertSystem.cpp, $(wildcard vcmi/AI/GeniusAI/*.cpp))
OBJS_GENIUSAI=$(patsubst %.cpp, out/%.o, $(SOURCES_GENIUSAI))
all: AndroidData/vcmiserver0
AndroidData/vcmiserver0: vcmiserver.zip
split -b 1048576 -d -a 1 $< AndroidData/vcmiserver
vcmiserver.zip: vcmiserver libvcmi.so GeniusAI.so StupidAI.so
rm -f $@
zip $@ $^
$(OBJS_SERVER) $(OBJS_LIB) $(OBJS_GENIUSAI) $(OBJS_STUPIDAI): out/%.o: %.cpp
../setEnvironment.sh sh -c \
"$(GCC_PREFIX)-g++ \
-c \$$CXXFLAGS -Ivcmi -Ivcmi/lib -Ivcmi/server \
-c \$$CXXFLAGS -Ivcmi -Ivcmi/lib \
-DDATA_DIR=\\\"/sdcard/app-data/eu.vcmi\\\" \
-DBIN_DIR=\\\"/data/data/eu.vcmi/files\\\" \
-DLIB_DIR=\\\"/data/data/eu.vcmi/files\\\" \
-DWITH_AVCODEC_DECODE_VIDEO2=1 \
$< -o $@"
vcmiserver: $(OBJS_SERVER) $(OBJS_LIB)
env BUILD_EXECUTABLE=1 NO_SHARED_LIBS=1 ../setEnvironment.sh sh -c \
"$(GCC_PREFIX)-g++ \
\$$LDFLAGS -L. \
$^ -o $@ \
-lboost_filesystem -lboost_iostreams -lboost_system -lboost_thread" && \
cp $@ debug/$@ && \
$(GCC_PREFIX)-strip $@
LINK_LIB= \
env BUILD_EXECUTABLE=1 NO_SHARED_LIBS=1 ../setEnvironment.sh sh -c \
"$(GCC_PREFIX)-g++ \
-shared \$$LDFLAGS -L. \
$^ -o $@ \
-lboost_filesystem -lboost_iostreams -lboost_system -lboost_thread" && \
cp $@ debug/$@ && \
$(GCC_PREFIX)-strip $@
GeniusAI.so: $(OBJS_GENIUSAI) -lvcmi
$(LINK_LIB)
StupidAI.so: $(OBJS_STUPIDAI) -lvcmi
$(LINK_LIB)
libvcmi.so: $(OBJS_LIB)
$(LINK_LIB)
.PHONY: -lvcmi
-lvcmi: libvcmi.so

View File

@@ -0,0 +1,13 @@
Quick compilation guide:
Download my GIT repo from https://github.com/pelya/commandergenius,
then install Android SDK 2.2, NDK r5c from http://developer.android.com,
and "ant" tool, then launch commands
rm project/jni/application/src
ln -s vcmi project/jni/application/src
cd project && android update project -p .
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,
launch "make" from directory project/jni/application/vcmi (it will create some shared libs),
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