diff --git a/jni/Application.mk b/jni/Application.mk index 3c786d18..20df3dde 100644 --- a/jni/Application.mk +++ b/jni/Application.mk @@ -12,8 +12,8 @@ APP_PLATFORM := android-8 endif -CFLAGS_OPT := -O3 -fomit-frame-pointer -ggdb -funsafe-math-optimizations -ftree-vectorize -fgraphite-identity -floop-interchange -floop-block -funsafe-loop-optimizations -finline-limit=1024 -CFLAGS_OPT_ARM := -mthumb -mfpu=neon -mcpu=cortex-a9 -pipe -mvectorize-with-neon-quad -DVECTORIZE_SINCOS +CFLAGS_OPT := -O3 -fomit-frame-pointer -ggdb -funsafe-math-optimizations -ftree-vectorize -fgraphite-identity -floop-interchange -funsafe-loop-optimizations -finline-limit=1024 +CFLAGS_OPT_ARM := -marm -mfpu=neon -mcpu=cortex-a9 -pipe -mvectorize-with-neon-quad -DVECTORIZE_SINCOS -fPIC CFLAGS_OPT_ARMv5 :=-march=armv6 -mfpu=vfp -marm -pipe CFLAGS_OPT_X86 := -mtune=atom -march=atom -mssse3 -mfpmath=sse -funroll-loops -pipe -DVECTORIZE_SINCOS CFLAGS_HARDFP := -D_NDK_MATH_NO_SOFTFP=1 -mhard-float -mfloat-abi=hard -DLOAD_HARDFP -DSOFTFP_LINK diff --git a/src/org/libsdl/app/SDLActivity.java b/src/org/libsdl/app/SDLActivity.java index 39cd90ce..df2ca7d7 100644 --- a/src/org/libsdl/app/SDLActivity.java +++ b/src/org/libsdl/app/SDLActivity.java @@ -9,6 +9,8 @@ import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; +import java.io.FileOutputStream; +import java.io.InputStream; import android.app.Activity; import android.app.AlertDialog; @@ -234,6 +236,7 @@ public class SDLActivity extends Activity { setenv("XASH3D_ENGLIBDIR", getFilesDir().getParentFile().getPath() + "/lib", true); setenv("XASH3D_GAMELIBDIR", gamelibdir, true); setenv("XASH3D_GAMEDIR", gamedir, true); + extractPAK(); // Set up the surface mSurface = new SDLSurface(getApplication()); @@ -981,6 +984,24 @@ public class SDLActivity extends Activity { return dialog; } + private void extractPAK() { + InputStream is = null; + FileOutputStream os = null; + try { + is = getAssets().open("pak.pak"); + os = new FileOutputStream(getFilesDir().getPath()+"/pak.pak"); + byte[] buffer = new byte[1024]; + int length; + while ((length = is.read(buffer)) > 0) { + os.write(buffer, 0, length); + } + os.close(); + is.close(); + } catch( Exception e ) + { + Log.e( TAG, "Failed to extract PAK:" + e.toString() ); + } + } } /**