From d21e4dacf7341b924fa534523ba31348ff6789ad Mon Sep 17 00:00:00 2001 From: faketruth Date: Wed, 15 Aug 2012 21:24:11 +0000 Subject: Compiles on Android! Added Eclipse project, import it into your workspace and it should be runnable on Android! Disabled Squirrel for Android cLog now logs to Android LogCat as well Fixed Lua so it compiles on Android Removed/commented out exceptions in JsonCpp so it compiles on Android git-svn-id: http://mc-server.googlecode.com/svn/trunk@741 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- jni/app-android.cpp | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 jni/app-android.cpp (limited to 'jni/app-android.cpp') diff --git a/jni/app-android.cpp b/jni/app-android.cpp new file mode 100644 index 000000000..d874f0fb0 --- /dev/null +++ b/jni/app-android.cpp @@ -0,0 +1,87 @@ +#include "Globals.h" + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "cCriticalSection.h" +#include "cRoot.h" + +#include + +cCriticalSection g_CriticalSection; + +JNIEnv* g_CurrentJNIEnv = 0; +jobject g_JavaRenderer = 0; + +/* Called when program/activity is created */ +extern "C" void Java_com_mcserver_MainThread_NativeOnCreate( JNIEnv* env ) +{ + g_CriticalSection.Lock(); + g_CurrentJNIEnv = env; + //if( !cLogger::GetSingletonPtr() ) new cLogger(); + __android_log_print(ANDROID_LOG_ERROR,"Arashi", "%s", "Logging from C++!"); + g_CriticalSection.Unlock(); + + cRoot Root; + Root.Start(); +} + +extern "C" void Java_com_mcserver_MCServerActivity_NativeCleanUp( JNIEnv* env ) +{ + g_CriticalSection.Lock(); + g_CurrentJNIEnv = env; + + g_CriticalSection.Unlock(); +} + +/* Call to initialize the graphics state */ +extern "C" void Java_com_ballz_CppWrapperRenderer_NativeInitGL( JNIEnv* env, jobject thiz ) +{ + g_CriticalSection.Lock(); + g_CurrentJNIEnv = env; + g_JavaRenderer = thiz; + + g_CriticalSection.Unlock(); +} + +extern "C" void Java_com_ballz_CppWrapperRenderer_NativeResize( JNIEnv* env, jobject thiz, jint w, jint h ) +{ + g_CriticalSection.Lock(); + g_CurrentJNIEnv = env; + g_JavaRenderer = thiz; + + g_CriticalSection.Unlock(); +} + +extern "C" void Java_com_ballz_CppWrapperRenderer_NativeRender( JNIEnv* env, jobject thiz ) +{ + g_CriticalSection.Lock(); + g_CurrentJNIEnv = env; + g_JavaRenderer = thiz; + + + g_CriticalSection.Unlock(); +} + +extern "C" void Java_com_ballz_CppWrapperGLSurfaceView_NativeTouchScreen( JNIEnv* env, jobject thiz, jint mouseid, jint touched ) +{ + g_CriticalSection.Lock(); + g_CurrentJNIEnv = env; + + g_CriticalSection.Unlock(); +} + +extern "C" void Java_com_ballz_CppWrapperGLSurfaceView_NativeTouchEvent( JNIEnv* env, jobject thiz, jint mouseid, jfloat x, jfloat y ) +{ + g_CriticalSection.Lock(); + g_CurrentJNIEnv = env; + + g_CriticalSection.Unlock(); +} \ No newline at end of file -- cgit v1.2.3