Copied old VCMI sources to another project dir, updated them to use static libvcmi
This commit is contained in:
Submodule project/jni/application/commandergenius/commandergenius updated: 9c3f6dab2c...d1b8a7ae03
Submodule project/jni/application/openarena/engine updated: 82513e8861...9104eb9749
Submodule project/jni/application/openarena/vm updated: 5c6363076d...26cafdcdab
@@ -17,6 +17,7 @@ CompatibilityHacks=n
|
||||
CompatibilityHacksStaticInit=n
|
||||
CompatibilityHacksTextInputEmulatesHwKeyboard=n
|
||||
CompatibilityHacksPreventAudioChopping=n
|
||||
CompatibilityHacksAppIgnoresAudioBufferSize=n
|
||||
AppUsesMouse=y
|
||||
AppNeedsTwoButtonMouse=y
|
||||
ShowMouseCursor=n
|
||||
|
||||
10
project/jni/application/vcmi-r2387/.gitignore
vendored
Normal file
10
project/jni/application/vcmi-r2387/.gitignore
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
libvcmi.so
|
||||
libvcmi.a
|
||||
AI
|
||||
Scripting
|
||||
debug
|
||||
out
|
||||
vcmiserver
|
||||
vcmiserver.zip
|
||||
build.log
|
||||
AndroidData/binaries.zip
|
||||
54
project/jni/application/vcmi-r2387/AndroidAppSettings.cfg
Normal file
54
project/jni/application/vcmi-r2387/AndroidAppSettings.cfg
Normal file
@@ -0,0 +1,54 @@
|
||||
# The application settings for Android libSDL port
|
||||
AppSettingVersion=17
|
||||
LibSdlVersion=1.2
|
||||
AppName="VCMI"
|
||||
AppFullName=eu.vcmi
|
||||
ScreenOrientation=h
|
||||
InhibitSuspend=n
|
||||
AppDataDownloadUrl="!Data files|data1.zip^!Data files|data2.zip^!Data files|data3.zip^"
|
||||
VideoDepthBpp=16
|
||||
NeedDepthBuffer=n
|
||||
NeedStencilBuffer=n
|
||||
NeedGles2=n
|
||||
SwVideoMode=y
|
||||
SdlVideoResize=y
|
||||
SdlVideoResizeKeepAspect=n
|
||||
CompatibilityHacks=y
|
||||
CompatibilityHacksStaticInit=n
|
||||
CompatibilityHacksTextInputEmulatesHwKeyboard=n
|
||||
CompatibilityHacksPreventAudioChopping=n
|
||||
CompatibilityHacksAppIgnoresAudioBufferSize=n
|
||||
AppUsesMouse=y
|
||||
AppNeedsTwoButtonMouse=y
|
||||
ShowMouseCursor=n
|
||||
ForceRelativeMouseMode=n
|
||||
AppNeedsArrowKeys=n
|
||||
AppNeedsTextInput=y
|
||||
AppUsesJoystick=n
|
||||
AppUsesAccelerometer=n
|
||||
AppUsesMultitouch=n
|
||||
NonBlockingSwapBuffers=n
|
||||
RedefinedKeys="LALT RETURN NO_REMAP NO_REMAP E"
|
||||
AppTouchscreenKeyboardKeysAmount=0
|
||||
AppTouchscreenKeyboardKeysAmountAutoFire=0
|
||||
RedefinedKeysScreenKb="LALT RETURN KP_PLUS KP_MINUS SPACE DELETE KP_PLUS KP_MINUS 1 2"
|
||||
StartupMenuButtonTimeout=3000
|
||||
HiddenMenuOptions='OptionalDownloadConfig'
|
||||
FirstStartMenuOptions=''
|
||||
MultiABI=y
|
||||
AppMinimumRAM=64
|
||||
AppVersionCode=08605
|
||||
AppVersionName="0.86.05"
|
||||
ResetSdlConfigForThisVersion=y
|
||||
DeleteFilesOnUpgrade="libsdl-DownloadFinished-0.flag libsdl-DownloadFinished-1.flag libsdl-DownloadFinished-2.flag libsdl-DownloadFinished-3.flag libsdl-DownloadFinished-4.flag libsdl-DownloadFinished-5.flag"
|
||||
CompiledLibraries="mad sdl_mixer sdl_image sdl_ttf avutil avcore avcodec avformat swscale boost_program_options boost_filesystem boost_iostreams boost_system boost_thread android"
|
||||
CustomBuildScript=y
|
||||
AppCflags=''
|
||||
AppLdflags=''
|
||||
AppSubdirsBuild=''
|
||||
AppCmdline=''
|
||||
ReadmeText='^You may press "Home" now - the data will be downloaded in background'
|
||||
MinimumScreenSize=s
|
||||
AdmobPublisherId=n
|
||||
AdmobTestDeviceId=
|
||||
AdmobBannerSize=
|
||||
7
project/jni/application/vcmi-r2387/AndroidBuild.sh
Executable file
7
project/jni/application/vcmi-r2387/AndroidBuild.sh
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
# For some reason I'm getting errors with "make -j4"
|
||||
make -k ARCH=$1 || exit 1
|
||||
[ -f libapplication-$1.so ] || exit 1
|
||||
[ -e libapplication.so ] || ln -s libapplication-armeabi.so libapplication.so
|
||||
exit 0
|
||||
BIN
project/jni/application/vcmi-r2387/AndroidData/data1.zip
Normal file
BIN
project/jni/application/vcmi-r2387/AndroidData/data1.zip
Normal file
Binary file not shown.
BIN
project/jni/application/vcmi-r2387/AndroidData/data2.zip
Normal file
BIN
project/jni/application/vcmi-r2387/AndroidData/data2.zip
Normal file
Binary file not shown.
BIN
project/jni/application/vcmi-r2387/AndroidData/data3.zip
Normal file
BIN
project/jni/application/vcmi-r2387/AndroidData/data3.zip
Normal file
Binary file not shown.
89
project/jni/application/vcmi-r2387/Makefile
Normal file
89
project/jni/application/vcmi-r2387/Makefile
Normal file
@@ -0,0 +1,89 @@
|
||||
ifeq ($(ARCH),)
|
||||
ARCH:=armeabi
|
||||
endif
|
||||
|
||||
$(shell mkdir -p $(ARCH)/AI debug/$(ARCH)/AI $(ARCH)/Scripting debug/$(ARCH)/Scripting \
|
||||
$(ARCH)/out/vcmi/lib $(ARCH)/out/vcmi/server $(ARCH)/out/vcmi/AI/StupidAI \
|
||||
$(ARCH)/out/vcmi/AI/GeniusAI $(ARCH)/out/vcmi/client $(ARCH)/out/vcmi/Scripting/ERM)
|
||||
|
||||
LOCAL_PATH:=$(shell dirname $0)
|
||||
LOCAL_PATH:=`cd $LOCAL_PATH && pwd`
|
||||
|
||||
SOURCES_LIB:=$(wildcard vcmi/lib/*.cpp vcmi/CConsoleHandler.cpp vcmi/CThreadHelper.cpp)
|
||||
OBJS_LIB:=$(patsubst %.cpp, $(ARCH)/out/%.o, $(SOURCES_LIB))
|
||||
|
||||
SOURCES_SERVER:=$(wildcard vcmi/server/*.cpp)
|
||||
OBJS_SERVER:=$(patsubst %.cpp, $(ARCH)/out/%.o, $(SOURCES_SERVER))
|
||||
|
||||
SOURCES_STUPIDAI:=$(wildcard vcmi/AI/StupidAI/*.cpp)
|
||||
OBJS_STUPIDAI:=$(patsubst %.cpp, $(ARCH)/out/%.o, $(SOURCES_STUPIDAI))
|
||||
|
||||
SOURCES_GENIUSAI:=$(filter-out %/ExpertSystem.cpp, $(wildcard vcmi/AI/GeniusAI/*.cpp))
|
||||
OBJS_GENIUSAI:=$(patsubst %.cpp, $(ARCH)/out/%.o, $(SOURCES_GENIUSAI))
|
||||
|
||||
SOURCES_ERM:=$(wildcard vcmi/Scripting/ERM/*.cpp)
|
||||
OBJS_ERM:=$(patsubst %.cpp, $(ARCH)/out/%.o, $(SOURCES_ERM))
|
||||
|
||||
SOURCES_CLIENT:=$(wildcard vcmi/client/*.cpp vcmi/CCallback.cpp)
|
||||
OBJS_CLIENT:=$(patsubst %.cpp, $(ARCH)/out/%.o, $(SOURCES_CLIENT))
|
||||
|
||||
all: AndroidData/binaries-$(ARCH).zip libapplication-$(ARCH).so
|
||||
|
||||
AndroidData/binaries-$(ARCH).zip: $(ARCH)/vcmiserver $(ARCH)/AI/libGeniusAI.so $(ARCH)/AI/libStupidAI.so $(ARCH)/Scripting/libvcmiERM.so
|
||||
rm -f $@
|
||||
cd $(ARCH) && zip -r ../$@ $(foreach F, $^, $(patsubst $(ARCH)/%,%,$(F)))
|
||||
|
||||
$(OBJS_SERVER) $(OBJS_LIB) $(OBJS_GENIUSAI) $(OBJS_STUPIDAI) $(OBJS_CLIENT) $(OBJS_ERM): $(ARCH)/out/%.o: %.cpp
|
||||
../setEnvironment-$(ARCH).sh sh -c \
|
||||
"\$$CXX \
|
||||
-c \$$CXXFLAGS -Ivcmi -Ivcmi/lib \
|
||||
-DDATA_DIR=\\\"/sdcard/Android/data/eu.vcmi/files\\\" \
|
||||
-DBIN_DIR=\\\"/data/data/eu.vcmi/files\\\" \
|
||||
-DLIB_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
|
||||
|
||||
$(ARCH)/libvcmi.a: $(OBJS_LIB)
|
||||
ar rcs $@ $^
|
||||
|
||||
LINK_LIB= \
|
||||
env NO_SHARED_LIBS=1 ../setEnvironment-$(ARCH).sh sh -c \
|
||||
"\$$CXX \
|
||||
-Wl,--whole-archive $^ -Wl,--no-whole-archive -o $@ \
|
||||
-shared \$$LDFLAGS \
|
||||
-lboost_filesystem-1.45 -lboost_iostreams-1.45 -lboost_system-1.45 -lboost_thread-1.45 && \
|
||||
cp $@ debug/$@ && \
|
||||
\$$STRIP --strip-unneeded $@"
|
||||
|
||||
$(ARCH)/AI/libGeniusAI.so: $(ARCH)/libvcmi.a $(OBJS_GENIUSAI)
|
||||
$(LINK_LIB)
|
||||
|
||||
$(ARCH)/AI/libStupidAI.so: $(ARCH)/libvcmi.a $(OBJS_STUPIDAI)
|
||||
$(LINK_LIB)
|
||||
|
||||
$(ARCH)/Scripting/libvcmiERM.so: $(ARCH)/libvcmi.a $(OBJS_ERM)
|
||||
$(LINK_LIB)
|
||||
|
||||
$(ARCH)/vcmiserver: $(ARCH)/libvcmi.a $(OBJS_SERVER)
|
||||
env BUILD_EXECUTABLE=1 NO_SHARED_LIBS=1 ../setEnvironment-$(ARCH).sh sh -c \
|
||||
"\$$CXX \
|
||||
-Wl,--whole-archive $^ -Wl,--no-whole-archive -o $@ \
|
||||
\$$LDFLAGS \
|
||||
-lboost_filesystem-1.45 -lboost_iostreams-1.45 -lboost_system-1.45 -lboost_thread-1.45 && \
|
||||
cp $@ debug/$@ && \
|
||||
\$$STRIP --strip-unneeded $@"
|
||||
|
||||
libapplication-$(ARCH).so: $(ARCH)/libvcmi.a $(OBJS_CLIENT)
|
||||
env ../setEnvironment-$(ARCH).sh sh -c \
|
||||
"\$$CXX \
|
||||
-Wl,--whole-archive $^ -Wl,--no-whole-archive -o $@ \
|
||||
\$$LDFLAGS -lboost_filesystem-1.45 -lboost_iostreams-1.45 -lboost_system-1.45 -lboost_thread-1.45 -lboost_program_options-1.45 && \
|
||||
cp $@ debug/$@"
|
||||
# No need to strip, it's done inside build.sh script
|
||||
|
||||
clean:
|
||||
rm -rf armeabi* debug AndroidData/binaries-*.zip libapplication*.so
|
||||
|
||||
.PHONY: clean
|
||||
BIN
project/jni/application/vcmi-r2387/icon.png
Normal file
BIN
project/jni/application/vcmi-r2387/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.6 KiB |
14
project/jni/application/vcmi-r2387/readme.txt
Normal file
14
project/jni/application/vcmi-r2387/readme.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
Quick compilation guide:
|
||||
Download my GIT repo from https://github.com/pelya/commandergenius,
|
||||
then install Android SDK from http://developer.android.com,
|
||||
NDK r8d from http://crystax.net/ and "ant" tool, 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 revision 2387 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.
|
||||
|
||||
To run it you should have complete installation of Heroes 3: Wake of Gods on your SD card on your device,
|
||||
in the directory Android/data/eu.vcmi/files
|
||||
1
project/jni/application/vcmi-r2387/vcmi
Symbolic link
1
project/jni/application/vcmi-r2387/vcmi
Symbolic link
@@ -0,0 +1 @@
|
||||
../../../../../vcmi
|
||||
1553
project/jni/application/vcmi-r2387/vcmi-android.diff
Normal file
1553
project/jni/application/vcmi-r2387/vcmi-android.diff
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
||||
application/vcmi
|
||||
Reference in New Issue
Block a user