From 5413ed11955a5b8a09625b2df1c28fb18c99c296 Mon Sep 17 00:00:00 2001 From: KodexKy Date: Mon, 3 Nov 2014 16:55:37 -0430 Subject: [PATCH] Fixes for Android build errors. Enable sensor landscape rotation. Fix typo in Android Makefile ndk path. Fix touchscreen parts of game.cpp to work after Zeno's refactor. Fix isdigit and isspace overload conflict with Android Irrlicht in string.h Enable sensor landscape rotation in Android Manifiest. Add mapgen v5 to Android build. Fix Makefile not checking leveldb. Signed-off-by: Craig Robbins --- build/android/AndroidManifest.xml.template | 2 +- build/android/Makefile | 14 +++++++------- build/android/jni/Android.mk | 1 + src/game.cpp | 6 +++--- src/util/string.h | 6 +++--- 5 files changed, 15 insertions(+), 14 deletions(-) diff --git a/build/android/AndroidManifest.xml.template b/build/android/AndroidManifest.xml.template index dcffa35f..0f206189 100644 --- a/build/android/AndroidManifest.xml.template +++ b/build/android/AndroidManifest.xml.template @@ -15,7 +15,7 @@ android:label="Minetest" android:launchMode="singleTask" android:configChanges="orientation|keyboardHidden" - android:screenOrientation="landscape" + android:screenOrientation="sensorLandscape" android:clearTaskOnLaunch="true"> diff --git a/build/android/Makefile b/build/android/Makefile index ba6ab3b7..12e4872d 100644 --- a/build/android/Makefile +++ b/build/android/Makefile @@ -125,6 +125,11 @@ FREETYPE_URL_GIT = https://github.com/cdave1/freetype2-android -include $(PATHCFGFILE) +#use interim target variable to switch leveldb on or off +ifeq ($(HAVE_LEVELDB),1) + LEVELDB_TARGET = $(LEVELDB_LIB) +endif + .PHONY : debug release reconfig delconfig \ leveldb_download clean_leveldb leveldb\ irrlicht_download clean_irrlicht irrlicht \ @@ -140,11 +145,6 @@ FREETYPE_URL_GIT = https://github.com/cdave1/freetype2-android $(OPENSSL_TIMESTAMP) curl_binary \ $(ROOT)/jni/src/android_version.h -#use interim target variable to switch leveldb on or off -ifeq ($(HAVE_LEVELDB),1) - LEVELDB_TARGET = $(LEVELDB_LIB) -endif - debug : $(PATHCFGFILE) export NDEBUG=; \ export BUILD_TYPE=debug; \ @@ -172,9 +172,9 @@ $(PATHCFGFILE) : exit 1; \ fi; \ echo "ANDROID_NDK = $$ANDROID_NDK" > ${PATHCFGFILE}; \ - echo "NDK_MODULE_PATH = $$ANDROID_NDK/tools" >> ${PATHCFGFILE}; \ + echo "NDK_MODULE_PATH = $$ANDROID_NDK/toolchains" >> ${PATHCFGFILE}; \ echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";\ - echo "+ Note: NDK_MODULE_PATH is set to $$ANDROID_NDK/tools"; \ + echo "+ Note: NDK_MODULE_PATH is set to $$ANDROID_NDK/toolchains"; \ echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";\ echo "Please specify path of ANDROID SDK"; \ echo "e.g. /home/user/adt-bundle-linux-x86_64-20131030/sdk/"; \ diff --git a/build/android/jni/Android.mk b/build/android/jni/Android.mk index d23630c6..6c6ba638 100644 --- a/build/android/jni/Android.mk +++ b/build/android/jni/Android.mk @@ -159,6 +159,7 @@ LOCAL_SRC_FILES := \ jni/src/mapblock_mesh.cpp \ jni/src/mapgen.cpp \ jni/src/mapgen_singlenode.cpp \ + jni/src/mapgen_v5.cpp \ jni/src/mapgen_v6.cpp \ jni/src/mapgen_v7.cpp \ jni/src/mapnode.cpp \ diff --git a/src/game.cpp b/src/game.cpp index 2c969b93..4518c161 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -2061,7 +2061,7 @@ bool Game::initGui(std::wstring *error_message) #ifdef HAVE_TOUCHSCREENGUI if (g_touchscreengui) - g_touchscreengui->init(tsrc, porting::getDisplayDensity()); + g_touchscreengui->init(texture_src, porting::getDisplayDensity()); #endif @@ -2852,8 +2852,8 @@ void Game::updateCameraDirection(CameraOrientation *cam, #ifdef HAVE_TOUCHSCREENGUI if (g_touchscreengui) { - camera_yaw = g_touchscreengui->getYaw(); - camera_pitch = g_touchscreengui->getPitch(); + cam->camera_yaw = g_touchscreengui->getYaw(); + cam->camera_pitch = g_touchscreengui->getPitch(); } else { #endif s32 dx = input->getMousePos().X - (driver->getScreenSize().Width / 2); diff --git a/src/util/string.h b/src/util/string.h index f4337062..52ef8c16 100644 --- a/src/util/string.h +++ b/src/util/string.h @@ -212,11 +212,11 @@ inline std::string trim(const std::string &s) { size_t front = 0; - while (isspace(s[front])) + while (std::isspace(s[front])) ++front; size_t back = s.size(); - while (back > front && isspace(s[back-1])) + while (back > front && std::isspace(s[back-1])) --back; return s.substr(front, back - front); @@ -481,7 +481,7 @@ inline std::string unescape_string(std::string &s) inline bool is_number(const std::string &tocheck) { for (size_t i = 0; i < tocheck.size(); i++) - if (!isdigit(tocheck[i])) + if (!std::isdigit(tocheck[i])) return false; return !tocheck.empty();