From 7cac0321aa3c3eb5d48f4265d6f3ccf444475a04 Mon Sep 17 00:00:00 2001
From: "p.kosyh"
Date: Thu, 4 Nov 2010 15:01:34 +0000
Subject: [PATCH] android fix
---
src/sdl-instead/adroid.h | 13 +++++++++++++
src/sdl-instead/main.c | 6 ++++++
2 files changed, 19 insertions(+)
create mode 100644 src/sdl-instead/adroid.h
diff --git a/src/sdl-instead/adroid.h b/src/sdl-instead/adroid.h
new file mode 100644
index 0000000..d2259b1
--- /dev/null
+++ b/src/sdl-instead/adroid.h
@@ -0,0 +1,13 @@
+#include
+#ifndef SDL_JAVA_PACKAGE_PATH
+#error You have to define SDL_JAVA_PACKAGE_PATH to your package path with dots replaced with underscores, for example "com_example_SanAngeles"
+#endif
+#define JAVA_EXPORT_NAME2(name,package) Java_##package##_##name
+#define JAVA_EXPORT_NAME1(name,package) JAVA_EXPORT_NAME2(name,package)
+#define JAVA_EXPORT_NAME(name) JAVA_EXPORT_NAME1(name,SDL_JAVA_PACKAGE_PATH)
+
+extern void JNICALL JAVA_EXPORT_NAME(MainActivity_nativeStop)(JNIEnv *env, jobject obj) {
+cfg_save();
+game_done(0);
+exit(0);
+}
diff --git a/src/sdl-instead/main.c b/src/sdl-instead/main.c
index 67b2ae0..19646a8 100644
--- a/src/sdl-instead/main.c
+++ b/src/sdl-instead/main.c
@@ -9,6 +9,10 @@
#include
#endif
+#ifdef ANDROID
+#include "android.h"
+#endif
+
extern int debug_init(void);
extern void debug_done(void);
@@ -283,7 +287,9 @@ int main(int argc, char *argv[])
game_loop();
cfg_save();
game_done(0);
+#ifndef ANDROID
gfx_done();
+#endif
out:
if (debug_sw)
debug_done();