aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsapier <Sapier at GMX dot net>2014-07-06 21:24:31 +0200
committersapier <Sapier at GMX dot net>2014-07-06 21:27:54 +0200
commitb459f53ac366930f93928352833ea266fbfcd92e (patch)
tree432c3cf9e039949ef2b162cf65d4e8d3863d806c
parentd020e0771d938e7ae12e082b5bd4f686e77f0bdb (diff)
downloadminetest-b459f53ac366930f93928352833ea266fbfcd92e.tar.gz
minetest-b459f53ac366930f93928352833ea266fbfcd92e.tar.bz2
minetest-b459f53ac366930f93928352833ea266fbfcd92e.zip
Switch android to leveldb as sqlite3 is broken and fails to save any mapblock there
-rw-r--r--build/android/Makefile2
-rw-r--r--build/android/jni/Android.mk22
-rw-r--r--src/database-sqlite3.cpp6
-rw-r--r--src/subgame.cpp7
4 files changed, 20 insertions, 17 deletions
diff --git a/build/android/Makefile b/build/android/Makefile
index 9e693432b..d75c6a409 100644
--- a/build/android/Makefile
+++ b/build/android/Makefile
@@ -628,7 +628,7 @@ assets : $(ASSETS_TIMESTAMP)
clean_assets :
@$(RM) -r assets
-apk: $(PATHCFGFILE) assets $(IRRLICHT_LIB) $(CURL_LIB) \
+apk: $(PATHCFGFILE) assets $(IRRLICHT_LIB) $(CURL_LIB) $(LEVELDB_LIB) \
$(OPENAL_LIB) $(OGG_LIB) prep_srcdir $(ROOT)/jni/src/android_version.h
@export NDEBUG=$$NDEBUG; $(MAKE) -j${PARALLEL} manifest; \
export PATH=$$PATH:${SDKFOLDER}/platform-tools:${ANDROID_NDK}; \
diff --git a/build/android/jni/Android.mk b/build/android/jni/Android.mk
index 3559c2b6d..f34963144 100644
--- a/build/android/jni/Android.mk
+++ b/build/android/jni/Android.mk
@@ -7,10 +7,10 @@ LOCAL_MODULE := Irrlicht
LOCAL_SRC_FILES := deps/irrlicht/lib/Android/libIrrlicht.a
include $(PREBUILT_STATIC_LIBRARY)
-#include $(CLEAR_VARS)
-#LOCAL_MODULE := LevelDB
-#LOCAL_SRC_FILES := deps/leveldb/libleveldb.a
-#include $(PREBUILT_STATIC_LIBRARY)
+include $(CLEAR_VARS)
+LOCAL_MODULE := LevelDB
+LOCAL_SRC_FILES := deps/leveldb/libleveldb.a
+include $(PREBUILT_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := curl
@@ -62,6 +62,7 @@ LOCAL_CFLAGS := -D_IRR_ANDROID_PLATFORM_ \
-DUSE_CURL=1 \
-DUSE_SOUND=1 \
-DUSE_FREETYPE=1 \
+ -DUSE_LEVELDB=1 \
$(GPROF_DEF) \
-pipe -fstrict-aliasing
@@ -93,9 +94,8 @@ LOCAL_C_INCLUDES := \
deps/freetype2-android/include \
deps/curl-7.35.0/include \
deps/openal-soft/jni/OpenAL/include \
- deps/libvorbis-libogg-android/jni/include
-
-# deps/leveldb/include \
+ deps/libvorbis-libogg-android/jni/include \
+ deps/leveldb/include \
LOCAL_SRC_FILES := \
jni/src/ban.cpp \
@@ -205,9 +205,8 @@ LOCAL_SRC_FILES := \
jni/src/util/serialize.cpp \
jni/src/util/string.cpp \
jni/src/util/timetaker.cpp \
- jni/src/touchscreengui.cpp
-
-# jni/src/database-leveldb.cpp \
+ jni/src/touchscreengui.cpp \
+ jni/src/database-leveldb.cpp
# lua api
LOCAL_SRC_FILES += \
@@ -297,8 +296,7 @@ LOCAL_SRC_FILES += \
LOCAL_SRC_FILES += jni/src/json/jsoncpp.cpp
LOCAL_SHARED_LIBRARIES := openal ogg vorbis ssl crypto
-LOCAL_STATIC_LIBRARIES := Irrlicht freetype curl android_native_app_glue $(PROFILER_LIBS)
-# LevelDB
+LOCAL_STATIC_LIBRARIES := Irrlicht freetype curl LevelDB android_native_app_glue $(PROFILER_LIBS)
LOCAL_LDLIBS := -lEGL -llog -lGLESv1_CM -lGLESv2 -lz -landroid
include $(BUILD_SHARED_LIBRARY)
diff --git a/src/database-sqlite3.cpp b/src/database-sqlite3.cpp
index 7f7850719..3ec13a1a2 100644
--- a/src/database-sqlite3.cpp
+++ b/src/database-sqlite3.cpp
@@ -187,12 +187,12 @@ void Database_SQLite3::saveBlock(MapBlock *block)
const char *bytes = tmp.c_str();
if(sqlite3_bind_int64(m_database_write, 1, getBlockAsInteger(p3d)) != SQLITE_OK)
- infostream<<"WARNING: Block position failed to bind: "<<sqlite3_errmsg(m_database)<<std::endl;
+ errorstream<<"WARNING: Block position failed to bind: "<<sqlite3_errmsg(m_database)<<std::endl;
if(sqlite3_bind_blob(m_database_write, 2, (void *)bytes, o.tellp(), NULL) != SQLITE_OK) // TODO this mught not be the right length
- infostream<<"WARNING: Block data failed to bind: "<<sqlite3_errmsg(m_database)<<std::endl;
+ errorstream<<"WARNING: Block data failed to bind: "<<sqlite3_errmsg(m_database)<<std::endl;
int written = sqlite3_step(m_database_write);
if(written != SQLITE_DONE)
- infostream<<"WARNING: Block failed to save ("<<p3d.X<<", "<<p3d.Y<<", "<<p3d.Z<<") "
+ errorstream<<"WARNING: Block failed to save ("<<p3d.X<<", "<<p3d.Y<<", "<<p3d.Z<<") "
<<sqlite3_errmsg(m_database)<<std::endl;
// Make ready for later reuse
sqlite3_reset(m_database_write);
diff --git a/src/subgame.cpp b/src/subgame.cpp
index 95ae9ef98..1030d535a 100644
--- a/src/subgame.cpp
+++ b/src/subgame.cpp
@@ -242,7 +242,12 @@ bool initializeWorld(const std::string &path, const std::string &gameid)
infostream<<"Creating world.mt ("<<worldmt_path<<")"<<std::endl;
fs::CreateAllDirs(path);
std::ostringstream ss(std::ios_base::binary);
- ss<<"gameid = "<<gameid<<"\nbackend = sqlite3\n";
+ ss<<"gameid = "<<gameid<<
+#ifdef __ANDROID__
+ "\nbackend = leveldb\n";
+#else
+ "\nbackend = sqlite3\n";
+#endif
fs::safeWriteToFile(worldmt_path, ss.str());
}
return true;