diff --git a/AndroidManifest.xml b/AndroidManifest.xml index cd9d963..a4d56a2 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -23,7 +23,7 @@ App(new TMyApplication); +boost::shared_ptr App; boost::mutex m; @@ -13,14 +13,13 @@ JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_Init(JNIEn m.lock(); try { - if (App->IsInited()) - { - App->OuterDeinit(); //Clean up what is left at previous launch (if applicable) - } - App->OuterInit(width, height, 480.f, 320.f); + CreateEngine(); + + App = boost::shared_ptr(new TMyApplication); + + App->OuterInit(width, height, 320.f, 480.f); - App->Inited = true; } catch (...) { @@ -37,14 +36,13 @@ JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_StopSounds JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_Update(JNIEnv * env, jobject obj, long dt) { -m.lock(); + m.lock(); try { - if (App->IsInited()) - { + App->OuterDraw(); App->OuterUpdate(dt); - } + } catch (...) @@ -58,27 +56,23 @@ m.lock(); JNIEXPORT int JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_IsInited(JNIEnv * env, jobject obj) { - if (App->IsInited()) - { - return 1; - } - else - { - return 0; - } + return 0; } JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_Destroy(JNIEnv * env, jobject obj) { -m.lock(); + m.lock(); try { - if (App->IsInited()) - { + App->OuterDeinit(); - App->Inited = false; - } + + delete App; + + App = NULL; + + DestroyEngine(); } catch (...) @@ -91,66 +85,51 @@ m.lock(); JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_OnTapDown(JNIEnv * env, jobject obj, float x, float y, long time) { - *Console<<"OuterOnTapDown"; - m.lock(); try { - *Console<<"OuterOnTapDown2"; App->OuterOnTapDown(vec2(x,y)); } catch (...) { throw; } - m.unlock(); } JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_OnTapUp(JNIEnv * env, jobject obj, float x, float y, long time) { - *Console<<"OuterOnTapUp"; - m.lock(); try { - *Console<<"OuterOnTapUp2"; App->OuterOnTapUp(vec2(x,y)); } catch (...) { throw; } - m.unlock(); } JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_OnTapUpAfterShift(JNIEnv * env, jobject obj, jfloat x, jfloat y, long time) { - m.lock(); try { - *Console<<"OuterOnTapUp2"; App->OuterOnTapUpAfterShift(vec2(x,y)); } catch (...) { throw; } - m.unlock(); } JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_OnTapMove(JNIEnv * env, jobject obj, float x, float y, long time) { - *Console<<"OuterOnMove"; - m.lock(); try { - *Console<<"OuterOnMove2"; App->OuterOnMove(vec2(x,y)); } catch (...) { throw; } - m.unlock(); } JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_OnFling(JNIEnv * env, jobject obj, jfloat velocityX, jfloat velocityY, long time) @@ -161,18 +140,14 @@ JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_OnFling(JN JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_OnScroll(JNIEnv * env, jobject obj, jfloat distanceX, jfloat distanceY, long time) { - *Console<<"OuterOnScroll"; - m.lock(); try { - *Console<<"OuterOnScroll2"; App->OuterOnMove(vec2(distanceX,distanceY)); } catch (...) { throw; } - m.unlock(); } JNIEXPORT void JNICALL Java_fishrungames_salmonjnitemplate_JniWrapper_OnKeyPress(JNIEnv * env, jobject obj, jint keyCode)