diff --git a/Android/.classpath b/Android/.classpath index a4f1e4054..a4763d1ee 100644 --- a/Android/.classpath +++ b/Android/.classpath @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Android/.project b/Android/.project index 34dd17184..ad960717b 100644 --- a/Android/.project +++ b/Android/.project @@ -1,33 +1,33 @@ - - - MCServer - - - - - - com.android.ide.eclipse.adt.ResourceManagerBuilder - - - - - com.android.ide.eclipse.adt.PreCompilerBuilder - - - - - org.eclipse.jdt.core.javabuilder - - - - - com.android.ide.eclipse.adt.ApkBuilder - - - - - - com.android.ide.eclipse.adt.AndroidNature - org.eclipse.jdt.core.javanature - - + + + MCServer + + + + + + com.android.ide.eclipse.adt.ResourceManagerBuilder + + + + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + + + + com.android.ide.eclipse.adt.AndroidNature + org.eclipse.jdt.core.javanature + + diff --git a/Android/.settings/org.eclipse.jdt.core.prefs b/Android/.settings/org.eclipse.jdt.core.prefs index da5d06089..f77b31c2d 100644 --- a/Android/.settings/org.eclipse.jdt.core.prefs +++ b/Android/.settings/org.eclipse.jdt.core.prefs @@ -1,4 +1,4 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 -org.eclipse.jdt.core.compiler.compliance=1.5 -org.eclipse.jdt.core.compiler.source=1.5 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.source=1.5 diff --git a/Android/AndroidManifest.xml b/Android/AndroidManifest.xml index 1de7d179a..0a2cc8380 100644 --- a/Android/AndroidManifest.xml +++ b/Android/AndroidManifest.xml @@ -1,27 +1,27 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Android/assets/basedir/Plugins/README.txt b/Android/assets/basedir/Plugins/README.txt index 06f28d0b6..1c8259eda 100644 --- a/Android/assets/basedir/Plugins/README.txt +++ b/Android/assets/basedir/Plugins/README.txt @@ -1,2 +1,2 @@ -Put all pre-packaged plugins in here such as Core. +Put all pre-packaged plugins in here such as Core. The user will be able to install each plugin in here separately. \ No newline at end of file diff --git a/Android/assets/basedir/README.txt b/Android/assets/basedir/README.txt index 082196c29..784d10fc7 100644 --- a/Android/assets/basedir/README.txt +++ b/Android/assets/basedir/README.txt @@ -1,10 +1,10 @@ -Put all pre-packaged settings/preferences and license files in here. -Such as: - -settings.example.ini -groups.example.ini -users.example.ini -webadmin.example.ini -Lua-LICENSE.txt -MersenneTwister-LICENSE.txt +Put all pre-packaged settings/preferences and license files in here. +Such as: + +settings.example.ini +groups.example.ini +users.example.ini +webadmin.example.ini +Lua-LICENSE.txt +MersenneTwister-LICENSE.txt etc.etc \ No newline at end of file diff --git a/Android/gen/com/mcserver/R.java b/Android/gen/com/mcserver/R.java index dd996a43f..cbb9e653a 100644 --- a/Android/gen/com/mcserver/R.java +++ b/Android/gen/com/mcserver/R.java @@ -1,39 +1,39 @@ -/* AUTO-GENERATED FILE. DO NOT MODIFY. - * - * This class was automatically generated by the - * aapt tool from the resource data it found. It - * should not be modified by hand. - */ - -package com.mcserver; - -public final class R { - public static final class attr { - } - public static final class drawable { - public static final int ic_launcher=0x7f020000; - } - public static final class id { - public static final int configure_server=0x7f050003; - public static final int ip_address=0x7f050005; - public static final int listView1=0x7f050006; - public static final int server_status_text=0x7f050004; - public static final int start_server=0x7f050002; - public static final int stop_server=0x7f050001; - public static final int textView2=0x7f050000; - } - public static final class layout { - public static final int list_item=0x7f030000; - public static final int main=0x7f030001; - } - public static final class string { - public static final int app_name=0x7f040001; - public static final int configure=0x7f040007; - public static final int hello=0x7f040000; - public static final int mcserver_is_not_running=0x7f040005; - public static final int mcserver_is_running=0x7f040004; - public static final int start=0x7f040002; - public static final int stop=0x7f040003; - public static final int your_ip=0x7f040006; - } -} +/* AUTO-GENERATED FILE. DO NOT MODIFY. + * + * This class was automatically generated by the + * aapt tool from the resource data it found. It + * should not be modified by hand. + */ + +package com.mcserver; + +public final class R { + public static final class attr { + } + public static final class drawable { + public static final int ic_launcher=0x7f020000; + } + public static final class id { + public static final int configure_server=0x7f050003; + public static final int ip_address=0x7f050005; + public static final int listView1=0x7f050006; + public static final int server_status_text=0x7f050004; + public static final int start_server=0x7f050002; + public static final int stop_server=0x7f050001; + public static final int textView2=0x7f050000; + } + public static final class layout { + public static final int list_item=0x7f030000; + public static final int main=0x7f030001; + } + public static final class string { + public static final int app_name=0x7f040001; + public static final int configure=0x7f040007; + public static final int hello=0x7f040000; + public static final int mcserver_is_not_running=0x7f040005; + public static final int mcserver_is_running=0x7f040004; + public static final int start=0x7f040002; + public static final int stop=0x7f040003; + public static final int your_ip=0x7f040006; + } +} diff --git a/Android/jni/Android.mk b/Android/jni/Android.mk index 764e57ee8..23488e359 100644 --- a/Android/jni/Android.mk +++ b/Android/jni/Android.mk @@ -1,46 +1,46 @@ -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) -LOCAL_MODULE := mcserver - - - -LOCAL_SRC_FILES := $(shell find ../CryptoPP ../lua-5.1.4 ../jsoncpp-src-0.5.0 ../zlib-1.2.7 ../source ../squirrel_3_0_1_stable ../tolua++-1.0.93 ../iniFile ../WebServer ../expat '(' -name '*.cpp' -o -name '*.c' ')') -LOCAL_SRC_FILES := $(filter-out %SquirrelFunctions.cpp %SquirrelBindings.cpp %cPlugin_Squirrel.cpp %cSquirrelCommandBinder.cpp %minigzip.c %lua.c %tolua.c %toluabind.c %LeakFinder.cpp %StackWalker.cpp %example.c,$(LOCAL_SRC_FILES)) -LOCAL_SRC_FILES := $(patsubst %.cpp,../%.cpp,$(LOCAL_SRC_FILES)) -LOCAL_SRC_FILES := $(patsubst %.c,../%.c,$(LOCAL_SRC_FILES)) -LOCAL_SRC_FILES += app-android.cpp ToJava.cpp - -LOCAL_CFLAGS := -DANDROID_NDK \ - -O3 \ - -funroll-loops \ - -mfloat-abi=softfp -mfpu=neon \ - -fexceptions \ - - -LOCAL_STATIC_LIBRARIES := cpufeatures - -LOCAL_C_INCLUDES := ../source \ - ../source/md5 \ - ../WebServer \ - ../source/packets \ - ../source/items \ - ../source/blocks \ - ../tolua++-1.0.93/src/lib \ - ../lua-5.1.4/src \ - ../zlib-1.2.7 \ - ../iniFile \ - ../tolua++-1.0.93/include \ - ../jsoncpp-src-0.5.0/include \ - ../jsoncpp-src-0.5.0/src/lib_json \ - ../squirrel_3_0_1_stable/include \ - ../squirrel_3_0_1_stable \ - ../squirrel_3_0_1_stable/sqrat \ - ../expat/ \ - .. \ - - -LOCAL_LDLIBS := -ldl -llog - -include $(BUILD_SHARED_LIBRARY) -$(call import-module,cpufeatures) +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) +LOCAL_MODULE := mcserver + + + +LOCAL_SRC_FILES := $(shell find ../CryptoPP ../lua-5.1.4 ../jsoncpp-src-0.5.0 ../zlib-1.2.7 ../source ../squirrel_3_0_1_stable ../tolua++-1.0.93 ../iniFile ../WebServer ../expat '(' -name '*.cpp' -o -name '*.c' ')') +LOCAL_SRC_FILES := $(filter-out %SquirrelFunctions.cpp %SquirrelBindings.cpp %cPlugin_Squirrel.cpp %cSquirrelCommandBinder.cpp %minigzip.c %lua.c %tolua.c %toluabind.c %LeakFinder.cpp %StackWalker.cpp %example.c,$(LOCAL_SRC_FILES)) +LOCAL_SRC_FILES := $(patsubst %.cpp,../%.cpp,$(LOCAL_SRC_FILES)) +LOCAL_SRC_FILES := $(patsubst %.c,../%.c,$(LOCAL_SRC_FILES)) +LOCAL_SRC_FILES += app-android.cpp ToJava.cpp + +LOCAL_CFLAGS := -DANDROID_NDK \ + -O3 \ + -funroll-loops \ + -mfloat-abi=softfp -mfpu=neon \ + -fexceptions \ + + +LOCAL_STATIC_LIBRARIES := cpufeatures + +LOCAL_C_INCLUDES := ../source \ + ../source/md5 \ + ../WebServer \ + ../source/packets \ + ../source/items \ + ../source/blocks \ + ../tolua++-1.0.93/src/lib \ + ../lua-5.1.4/src \ + ../zlib-1.2.7 \ + ../iniFile \ + ../tolua++-1.0.93/include \ + ../jsoncpp-src-0.5.0/include \ + ../jsoncpp-src-0.5.0/src/lib_json \ + ../squirrel_3_0_1_stable/include \ + ../squirrel_3_0_1_stable \ + ../squirrel_3_0_1_stable/sqrat \ + ../expat/ \ + .. \ + + +LOCAL_LDLIBS := -ldl -llog + +include $(BUILD_SHARED_LIBRARY) +$(call import-module,cpufeatures) diff --git a/Android/jni/ToJava.cpp b/Android/jni/ToJava.cpp index 10d4e84a0..8db22dd1d 100644 --- a/Android/jni/ToJava.cpp +++ b/Android/jni/ToJava.cpp @@ -1,3 +1,3 @@ -#include "Globals.h" - +#include "Globals.h" + #include "ToJava.h" \ No newline at end of file diff --git a/Android/jni/ToJava.h b/Android/jni/ToJava.h index bc10f01e3..11979c847 100644 --- a/Android/jni/ToJava.h +++ b/Android/jni/ToJava.h @@ -1,59 +1,59 @@ -#pragma once - -#include -#include -extern JNIEnv* g_CurrentJNIEnv; -extern JavaVM* g_JavaVM; -extern jobject g_JavaThread; -//extern jobject g_JavaActivity; - -//__android_log_vprint(ANDROID_LOG_ERROR,"MCServer", a_Format, argList); - -static void CallJavaFunction_Void_String( jobject a_Object, const std::string & a_FunctionName, const std::string & a_StringParam ) -{ - JNIEnv * oldEnv = g_CurrentJNIEnv; - int status = g_JavaVM->AttachCurrentThread(&g_CurrentJNIEnv, NULL); - __android_log_print(ANDROID_LOG_ERROR,"MCServer", "STATUS: %i old: %p new: %p", status, oldEnv, g_CurrentJNIEnv ); - jstring str = g_CurrentJNIEnv->NewStringUTF( a_StringParam.c_str() ); - - - //__android_log_print(ANDROID_LOG_ERROR,"MCServer", "JNIEnv: %i Object: %i", g_CurrentJNIEnv, a_Object ); - jclass cls = g_CurrentJNIEnv->GetObjectClass( a_Object ); - //__android_log_print(ANDROID_LOG_ERROR,"MCServer", "jclass: %i", cls ); - jmethodID mid = g_CurrentJNIEnv->GetMethodID( cls, a_FunctionName.c_str(), "(Ljava/lang/String;)V"); // void a_FunctionName( String ) - //__android_log_print(ANDROID_LOG_ERROR,"MCServer", "jmethodID: %i", mid ); - if (mid != 0) - { - - __android_log_print(ANDROID_LOG_ERROR,"MCServer", "Going to call right NOW! %s", a_FunctionName.c_str() ); - g_CurrentJNIEnv->CallVoidMethod( a_Object, mid, str ); - } - else - { - __android_log_print(ANDROID_LOG_ERROR,"MCServer", "It was 0, derp" ); - } - - if( oldEnv != g_CurrentJNIEnv ) - { - g_JavaVM->DetachCurrentThread(); - } -} - - -static void CallJavaFunction_Void_Void( jobject a_Object, const std::string & a_FunctionName ) -{ - //__android_log_print(ANDROID_LOG_ERROR,"MCServer", "JNIEnv: %i Object: %i", g_CurrentJNIEnv, a_Object ); - jclass cls = g_CurrentJNIEnv->GetObjectClass( a_Object ); - //__android_log_print(ANDROID_LOG_ERROR,"MCServer", "jclass: %i", cls ); - jmethodID mid = g_CurrentJNIEnv->GetMethodID( cls, a_FunctionName.c_str(), "()V"); // void a_FunctionName( String ) - //__android_log_print(ANDROID_LOG_ERROR,"MCServer", "jmethodID: %i", mid ); - if (mid != 0) - { - //__android_log_print(ANDROID_LOG_ERROR,"MCServer", "Going to call right NOW! %s", a_FunctionName.c_str() ); - g_CurrentJNIEnv->CallVoidMethod( a_Object, mid ); - } - else - { - __android_log_print(ANDROID_LOG_ERROR,"MCServer", "It was 0, derp" ); - } +#pragma once + +#include +#include +extern JNIEnv* g_CurrentJNIEnv; +extern JavaVM* g_JavaVM; +extern jobject g_JavaThread; +//extern jobject g_JavaActivity; + +//__android_log_vprint(ANDROID_LOG_ERROR,"MCServer", a_Format, argList); + +static void CallJavaFunction_Void_String( jobject a_Object, const std::string & a_FunctionName, const std::string & a_StringParam ) +{ + JNIEnv * oldEnv = g_CurrentJNIEnv; + int status = g_JavaVM->AttachCurrentThread(&g_CurrentJNIEnv, NULL); + __android_log_print(ANDROID_LOG_ERROR,"MCServer", "STATUS: %i old: %p new: %p", status, oldEnv, g_CurrentJNIEnv ); + jstring str = g_CurrentJNIEnv->NewStringUTF( a_StringParam.c_str() ); + + + //__android_log_print(ANDROID_LOG_ERROR,"MCServer", "JNIEnv: %i Object: %i", g_CurrentJNIEnv, a_Object ); + jclass cls = g_CurrentJNIEnv->GetObjectClass( a_Object ); + //__android_log_print(ANDROID_LOG_ERROR,"MCServer", "jclass: %i", cls ); + jmethodID mid = g_CurrentJNIEnv->GetMethodID( cls, a_FunctionName.c_str(), "(Ljava/lang/String;)V"); // void a_FunctionName( String ) + //__android_log_print(ANDROID_LOG_ERROR,"MCServer", "jmethodID: %i", mid ); + if (mid != 0) + { + + __android_log_print(ANDROID_LOG_ERROR,"MCServer", "Going to call right NOW! %s", a_FunctionName.c_str() ); + g_CurrentJNIEnv->CallVoidMethod( a_Object, mid, str ); + } + else + { + __android_log_print(ANDROID_LOG_ERROR,"MCServer", "It was 0, derp" ); + } + + if( oldEnv != g_CurrentJNIEnv ) + { + g_JavaVM->DetachCurrentThread(); + } +} + + +static void CallJavaFunction_Void_Void( jobject a_Object, const std::string & a_FunctionName ) +{ + //__android_log_print(ANDROID_LOG_ERROR,"MCServer", "JNIEnv: %i Object: %i", g_CurrentJNIEnv, a_Object ); + jclass cls = g_CurrentJNIEnv->GetObjectClass( a_Object ); + //__android_log_print(ANDROID_LOG_ERROR,"MCServer", "jclass: %i", cls ); + jmethodID mid = g_CurrentJNIEnv->GetMethodID( cls, a_FunctionName.c_str(), "()V"); // void a_FunctionName( String ) + //__android_log_print(ANDROID_LOG_ERROR,"MCServer", "jmethodID: %i", mid ); + if (mid != 0) + { + //__android_log_print(ANDROID_LOG_ERROR,"MCServer", "Going to call right NOW! %s", a_FunctionName.c_str() ); + g_CurrentJNIEnv->CallVoidMethod( a_Object, mid ); + } + else + { + __android_log_print(ANDROID_LOG_ERROR,"MCServer", "It was 0, derp" ); + } } \ No newline at end of file diff --git a/Android/jni/app-android.cpp b/Android/jni/app-android.cpp index b34207344..197df29c4 100644 --- a/Android/jni/app-android.cpp +++ b/Android/jni/app-android.cpp @@ -1,130 +1,130 @@ -#include "Globals.h" - -#include -#include -#include -#include - -#include -#include -#include -#include - -#include "OSSupport/CriticalSection.h" -#include "OSSupport/MakeDir.h" -#include "ToJava.h" - -#include "Root.h" -#include "WebAdmin.h" - -#include - -#ifdef _WIN32 // For IntelliSense parsing -typedef void jobject; -typedef int jint; -typedef bool jboolean; -typedef void JavaVM; -typedef void JNIEnv; -#endif - -cCriticalSection g_CriticalSection; - -JNIEnv* g_CurrentJNIEnv = 0; -jobject g_JavaThread = 0; -JavaVM* g_JavaVM = 0; -//jobject g_JavaActivity = 0; - -cRoot * pRoot = NULL; - - -class cMainThread : - public cIsThread -{ -public: - cMainThread() : - cIsThread("cMainThread") - { - //Start(); - __android_log_print(ANDROID_LOG_ERROR,"MCServer", "%s", "cMainThread"); - } - - void Stop(void) - { - m_ShouldTerminate = true; - Wait(); - } - -protected: - - virtual void Execute(void) override - { - __android_log_print(ANDROID_LOG_ERROR,"MCServer", "%s", "Execute"); - pRoot = new cRoot(); - pRoot->Start(); - delete pRoot; - } - -} ; - -cMainThread * pMainThread = NULL; - -jint JNI_OnLoad(JavaVM* vm, void* reserved) -{ - //__android_log_print(ANDROID_LOG_ERROR,"MCServer", "%s", "JNI_OnLoad JNI_OnLoad JNI_OnLoad JNI_OnLoad"); - g_JavaVM = vm; - return JNI_VERSION_1_4; -} - -/* Called when program/activity is created */ -extern "C" void Java_com_mcserver_MCServerActivity_NativeOnCreate( JNIEnv* env, jobject thiz ) -{ - g_CriticalSection.Lock(); - g_CurrentJNIEnv = env; - g_JavaThread = thiz; - //__android_log_print(ANDROID_LOG_ERROR,"MCServer", "%s", "Logging from C++!"); - g_CriticalSection.Unlock(); - - mkdir("/sdcard/mcserver", S_IRWXU | S_IRWXG | S_IRWXO); - - pRoot = new cRoot(); - pRoot->Start(); - delete pRoot; pRoot = NULL; -} - - - - - -extern "C" void Java_com_mcserver_MCServerActivity_NativeCleanUp( JNIEnv* env, jobject thiz ) -{ - g_CriticalSection.Lock(); - g_CurrentJNIEnv = env; - g_JavaThread = thiz; - g_CriticalSection.Unlock(); - - __android_log_print(ANDROID_LOG_ERROR,"MCServer", "pRoot: %p", pRoot); - if( pRoot != NULL ) - { - pRoot->ExecuteConsoleCommand("stop"); - } -} - - - - -extern "C" jboolean Java_com_mcserver_MCServerActivity_NativeIsServerRunning( JNIEnv* env, jobject thiz ) -{ - return pRoot != NULL; -} - - - - -extern "C" jint Java_com_mcserver_MCServerActivity_NativeGetWebAdminPort( JNIEnv* env, jobject thiz ) -{ - if( pRoot != NULL && pRoot->GetWebAdmin() != NULL ) - { - return pRoot->GetWebAdmin()->GetPort(); - } - return 0; +#include "Globals.h" + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "OSSupport/CriticalSection.h" +#include "OSSupport/MakeDir.h" +#include "ToJava.h" + +#include "Root.h" +#include "WebAdmin.h" + +#include + +#ifdef _WIN32 // For IntelliSense parsing +typedef void jobject; +typedef int jint; +typedef bool jboolean; +typedef void JavaVM; +typedef void JNIEnv; +#endif + +cCriticalSection g_CriticalSection; + +JNIEnv* g_CurrentJNIEnv = 0; +jobject g_JavaThread = 0; +JavaVM* g_JavaVM = 0; +//jobject g_JavaActivity = 0; + +cRoot * pRoot = NULL; + + +class cMainThread : + public cIsThread +{ +public: + cMainThread() : + cIsThread("cMainThread") + { + //Start(); + __android_log_print(ANDROID_LOG_ERROR,"MCServer", "%s", "cMainThread"); + } + + void Stop(void) + { + m_ShouldTerminate = true; + Wait(); + } + +protected: + + virtual void Execute(void) override + { + __android_log_print(ANDROID_LOG_ERROR,"MCServer", "%s", "Execute"); + pRoot = new cRoot(); + pRoot->Start(); + delete pRoot; + } + +} ; + +cMainThread * pMainThread = NULL; + +jint JNI_OnLoad(JavaVM* vm, void* reserved) +{ + //__android_log_print(ANDROID_LOG_ERROR,"MCServer", "%s", "JNI_OnLoad JNI_OnLoad JNI_OnLoad JNI_OnLoad"); + g_JavaVM = vm; + return JNI_VERSION_1_4; +} + +/* Called when program/activity is created */ +extern "C" void Java_com_mcserver_MCServerActivity_NativeOnCreate( JNIEnv* env, jobject thiz ) +{ + g_CriticalSection.Lock(); + g_CurrentJNIEnv = env; + g_JavaThread = thiz; + //__android_log_print(ANDROID_LOG_ERROR,"MCServer", "%s", "Logging from C++!"); + g_CriticalSection.Unlock(); + + mkdir("/sdcard/mcserver", S_IRWXU | S_IRWXG | S_IRWXO); + + pRoot = new cRoot(); + pRoot->Start(); + delete pRoot; pRoot = NULL; +} + + + + + +extern "C" void Java_com_mcserver_MCServerActivity_NativeCleanUp( JNIEnv* env, jobject thiz ) +{ + g_CriticalSection.Lock(); + g_CurrentJNIEnv = env; + g_JavaThread = thiz; + g_CriticalSection.Unlock(); + + __android_log_print(ANDROID_LOG_ERROR,"MCServer", "pRoot: %p", pRoot); + if( pRoot != NULL ) + { + pRoot->ExecuteConsoleCommand("stop"); + } +} + + + + +extern "C" jboolean Java_com_mcserver_MCServerActivity_NativeIsServerRunning( JNIEnv* env, jobject thiz ) +{ + return pRoot != NULL; +} + + + + +extern "C" jint Java_com_mcserver_MCServerActivity_NativeGetWebAdminPort( JNIEnv* env, jobject thiz ) +{ + if( pRoot != NULL && pRoot->GetWebAdmin() != NULL ) + { + return pRoot->GetWebAdmin()->GetPort(); + } + return 0; } \ No newline at end of file diff --git a/Android/res/layout/main.xml b/Android/res/layout/main.xml index 1895e2752..4ff238d80 100644 --- a/Android/res/layout/main.xml +++ b/Android/res/layout/main.xml @@ -1,61 +1,61 @@ - - + + + + - + - +