From d67a4bf021f9a56654da13ad371cbdd2a2a92060 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Mon, 3 Jun 2019 19:23:10 -0400 Subject: [PATCH] v0.7.4: increased minSDK to 9(android 2.3) from 8(android 2.2) --- SPD-classes/build.gradle | 28 +--------- .../java/com/watabou/glwrap/Attribute.java | 6 +-- .../com/watabou/glwrap/FroyoGLES20Fix.java | 51 ------------------ .../java/com/watabou/noosa/NoosaScript.java | 28 ++-------- .../java/com/watabou/utils/DeviceCompat.java | 4 -- .../java/com/watabou/utils/GameSettings.java | 20 ++----- .../main/jniLibs/armeabi/libFroyoGLES20Fix.so | Bin 13720 -> 0 bytes .../src/main/jniLibs/x86/libFroyoGLES20Fix.so | Bin 5428 -> 0 bytes SPD-classes/src/main/jniSources/Android.mk | 9 ---- .../src/main/jniSources/Application.mk | 3 -- .../src/main/jniSources/FroyoGLES20Fix.c | 35 ------------ SPD-classes/src/main/jniSources/README.txt | 11 ---- core/build.gradle | 2 +- .../ShatteredPixelDungeon.java | 12 ++--- .../messages/Messages.java | 8 --- 15 files changed, 13 insertions(+), 204 deletions(-) delete mode 100644 SPD-classes/src/main/java/com/watabou/glwrap/FroyoGLES20Fix.java delete mode 100644 SPD-classes/src/main/jniLibs/armeabi/libFroyoGLES20Fix.so delete mode 100644 SPD-classes/src/main/jniLibs/x86/libFroyoGLES20Fix.so delete mode 100644 SPD-classes/src/main/jniSources/Android.mk delete mode 100644 SPD-classes/src/main/jniSources/Application.mk delete mode 100644 SPD-classes/src/main/jniSources/FroyoGLES20Fix.c delete mode 100644 SPD-classes/src/main/jniSources/README.txt diff --git a/SPD-classes/build.gradle b/SPD-classes/build.gradle index 2dee8e68f..48d1ac3ca 100644 --- a/SPD-classes/build.gradle +++ b/SPD-classes/build.gradle @@ -3,35 +3,9 @@ apply plugin: 'com.android.library' android { compileSdkVersion 28 - task ndkBuild(type: Exec){ - description "builds JNI libs from source. " + - "This requires the Android NDK and is optional as precompiled libs are provided." - - def root = project(':SPD-classes').projectDir - def ndkDir = android.ndkDirectory - - //Need to execute through cmd on windows systems - if (System.properties["os.name"].toLowerCase().contains("windows")){ - executable "cmd" - args "/c", "$ndkDir${File.separator}ndk-build", - "NDK_PROJECT_PATH=$root/src/main/jniSources", - "NDK_APPLICATION_MK=$root/src/main/jniSources/Application.mk", - "APP_BUILD_SCRIPT=$root/src/main/jniSources/Android.mk", - "NDK_LIBS_OUT=$root/src/main/jniLibs" - - } else { - executable "$ndkDir/ndk-build" - args "NDK_PROJECT_PATH=$root/src/main/jniSources", - "NDK_APPLICATION_MK=$root/src/main/jniSources/Application.mk", - "APP_BUILD_SCRIPT=$root/src/main/jniSources/Android.mk", - "NDK_LIBS_OUT=$root/src/main/jniLibs" - - } - } - defaultConfig { //noinspection MinSdkTooLow - minSdkVersion 8 + minSdkVersion 9 } } diff --git a/SPD-classes/src/main/java/com/watabou/glwrap/Attribute.java b/SPD-classes/src/main/java/com/watabou/glwrap/Attribute.java index 12220c222..bc1e06f3d 100644 --- a/SPD-classes/src/main/java/com/watabou/glwrap/Attribute.java +++ b/SPD-classes/src/main/java/com/watabou/glwrap/Attribute.java @@ -51,10 +51,6 @@ public class Attribute { } public void vertexBuffer( int size, int stride, int offset) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) { - GLES20.glVertexAttribPointer(location, size, GLES20.GL_FLOAT, false, stride * 4, offset * 4); - } else { - FroyoGLES20Fix.glVertexAttribPointer(location, size, GLES20.GL_FLOAT, false, stride * 4, offset * 4); - } + GLES20.glVertexAttribPointer(location, size, GLES20.GL_FLOAT, false, stride * 4, offset * 4); } } diff --git a/SPD-classes/src/main/java/com/watabou/glwrap/FroyoGLES20Fix.java b/SPD-classes/src/main/java/com/watabou/glwrap/FroyoGLES20Fix.java deleted file mode 100644 index 1e54aa892..000000000 --- a/SPD-classes/src/main/java/com/watabou/glwrap/FroyoGLES20Fix.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Pixel Dungeon - * Copyright (C) 2012-2015 Oleg Dolya - * - * Shattered Pixel Dungeon - * Copyright (C) 2014-2019 Evan Debenham - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see - */ - -package com.watabou.glwrap; - -//This class exists because the back-end OpenGL implementation (written in C) -// supports VBO operations (along with the rest of GLES 2.0) since android 2.2 (Froyo, api 8), -// but for some reason the Java calls for these methods were only added in 2.3 (Gingerbread, api 9) - -//So this class is here specifically to reference an armabi/x86 compiled binary -// which gives us Java hooks for VBOs on android 2.2 - -//...I don't know what google engineer forgot to put the java hooks in android 2.2 back in 2010, -// but you know who you are and this class is your fault. - -//Compiled binaries for the FroyoGLES20Fix lib are included in this project, which means that -// the android NDK is not required for building Shattered Pixel Dungeon. -// see SPD-classes/src/main/jniSources/README.txt for more details. - -//DO NOT REFERENCE THIS CLASS ON DEVICES API 9 AND ABOVE, use android.opengl.GLES20 instead. -@SuppressWarnings("JniMissingFunction") -public class FroyoGLES20Fix { - - static - { - System.loadLibrary("FroyoGLES20Fix"); - } - - native public static void glVertexAttribPointer(int index, int size, int type, boolean normalized, int stride, int offset); - - native public static void glDrawElements(int mode, int count, int type, int offset); - -} diff --git a/SPD-classes/src/main/java/com/watabou/noosa/NoosaScript.java b/SPD-classes/src/main/java/com/watabou/noosa/NoosaScript.java index bbdbb4b84..e36f883bc 100644 --- a/SPD-classes/src/main/java/com/watabou/noosa/NoosaScript.java +++ b/SPD-classes/src/main/java/com/watabou/noosa/NoosaScript.java @@ -22,11 +22,9 @@ package com.watabou.noosa; import android.opengl.GLES20; -import android.os.Build; import com.watabou.glscripts.Script; import com.watabou.glwrap.Attribute; -import com.watabou.glwrap.FroyoGLES20Fix; import com.watabou.glwrap.Quad; import com.watabou.glwrap.Uniform; import com.watabou.glwrap.Vertexbuffer; @@ -95,12 +93,7 @@ public class NoosaScript extends Script { vertices.position( 2 ); aUV.vertexPointer( 2, 4, vertices ); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) { - GLES20.glDrawElements( GLES20.GL_TRIANGLES, Quad.SIZE, GLES20.GL_UNSIGNED_SHORT, 0 ); - } else { - FroyoGLES20Fix.glDrawElements( GLES20.GL_TRIANGLES, Quad.SIZE, GLES20.GL_UNSIGNED_SHORT, 0 ); - } - + GLES20.glDrawElements( GLES20.GL_TRIANGLES, Quad.SIZE, GLES20.GL_UNSIGNED_SHORT, 0 ); } public void drawQuad( Vertexbuffer buffer ) { @@ -114,11 +107,7 @@ public class NoosaScript extends Script { buffer.release(); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) { - GLES20.glDrawElements( GLES20.GL_TRIANGLES, Quad.SIZE, GLES20.GL_UNSIGNED_SHORT, 0 ); - } else { - FroyoGLES20Fix.glDrawElements( GLES20.GL_TRIANGLES, Quad.SIZE, GLES20.GL_UNSIGNED_SHORT, 0 ); - } + GLES20.glDrawElements( GLES20.GL_TRIANGLES, Quad.SIZE, GLES20.GL_UNSIGNED_SHORT, 0 ); } public void drawQuadSet( FloatBuffer vertices, int size ) { @@ -133,12 +122,7 @@ public class NoosaScript extends Script { vertices.position( 2 ); aUV.vertexPointer( 2, 4, vertices ); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) { - GLES20.glDrawElements( GLES20.GL_TRIANGLES, Quad.SIZE * size, GLES20.GL_UNSIGNED_SHORT, 0 ); - } else { - FroyoGLES20Fix.glDrawElements( GLES20.GL_TRIANGLES, Quad.SIZE * size, GLES20.GL_UNSIGNED_SHORT, 0 ); - } - + GLES20.glDrawElements( GLES20.GL_TRIANGLES, Quad.SIZE * size, GLES20.GL_UNSIGNED_SHORT, 0 ); } public void drawQuadSet( Vertexbuffer buffer, int length, int offset ){ @@ -156,11 +140,7 @@ public class NoosaScript extends Script { buffer.release(); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) { - GLES20.glDrawElements( GLES20.GL_TRIANGLES, Quad.SIZE * length, GLES20.GL_UNSIGNED_SHORT, Quad.SIZE * Short.SIZE/8 * offset ); - } else { - FroyoGLES20Fix.glDrawElements( GLES20.GL_TRIANGLES, Quad.SIZE * length, GLES20.GL_UNSIGNED_SHORT, Quad.SIZE * Short.SIZE/8 * offset ); - } + GLES20.glDrawElements( GLES20.GL_TRIANGLES, Quad.SIZE * length, GLES20.GL_UNSIGNED_SHORT, Quad.SIZE * Short.SIZE/8 * offset ); } public void lighting( float rm, float gm, float bm, float am, float ra, float ga, float ba, float aa ) { diff --git a/SPD-classes/src/main/java/com/watabou/utils/DeviceCompat.java b/SPD-classes/src/main/java/com/watabou/utils/DeviceCompat.java index affc8648a..d774b542c 100644 --- a/SPD-classes/src/main/java/com/watabou/utils/DeviceCompat.java +++ b/SPD-classes/src/main/java/com/watabou/utils/DeviceCompat.java @@ -39,10 +39,6 @@ public class DeviceCompat { return Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN; } - public static boolean usesISO_8859_1(){ - return Build.VERSION.SDK_INT == Build.VERSION_CODES.FROYO; - } - public static boolean isDebug(){ return BuildConfig.DEBUG; } diff --git a/SPD-classes/src/main/java/com/watabou/utils/GameSettings.java b/SPD-classes/src/main/java/com/watabou/utils/GameSettings.java index 05317d769..911adad9e 100644 --- a/SPD-classes/src/main/java/com/watabou/utils/GameSettings.java +++ b/SPD-classes/src/main/java/com/watabou/utils/GameSettings.java @@ -92,30 +92,16 @@ public class GameSettings { } } - //android 2.3+ supports apply, which is asyncronous, much nicer - public static void put( String key, int value ) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) { - get().edit().putInt(key, value).apply(); - } else { - get().edit().putInt(key, value).commit(); - } + get().edit().putInt(key, value).apply(); } public static void put( String key, boolean value ) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) { - get().edit().putBoolean(key, value).apply(); - } else { - get().edit().putBoolean(key, value).commit(); - } + get().edit().putBoolean(key, value).apply(); } public static void put( String key, String value ) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) { - get().edit().putString(key, value).apply(); - } else { - get().edit().putString(key, value).commit(); - } + get().edit().putString(key, value).apply(); } } diff --git a/SPD-classes/src/main/jniLibs/armeabi/libFroyoGLES20Fix.so b/SPD-classes/src/main/jniLibs/armeabi/libFroyoGLES20Fix.so deleted file mode 100644 index 6f232486e9dda91761df4edeba96c0a0575477cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13720 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 AkpKVy diff --git a/SPD-classes/src/main/jniLibs/x86/libFroyoGLES20Fix.so b/SPD-classes/src/main/jniLibs/x86/libFroyoGLES20Fix.so deleted file mode 100644 index 0cf1eced0ba3e518ac81bbdb064ae69d6042bdc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5428 zcmeHLPiz!b7=PQYvPv0NtWYTGgiNr24BKTPU^TGx4}vRJS}R&*I^CUiSGK!#cIY2M zVwx)2)J6{6ycjW&C^3x!Ct{jx514QuhD1p`aKNNBBw|8BBk213&Fm}7$^ma4`fYym z{r}#ZH{VR&+xMDdEk2)5NU9W-LTV8hoyR;+M5rPl>O_rLAs&W_J_$DgNq*P}nGeyW znngko4^azx{xgaYXP)xViUfjn>8}8rf`1BrLWPf@Uyc!hE}_9rNMGx(PU0ehC1UUq z(*G*_Q2#~l_^|GWzjS^vj75}=UyZm*VE4Y)#2epiTDfM?t&Z4 zZp0Ii@p`xvU&5*t^E%%p&PS*ozy7oki|``dAjf2Gl4C-1_H zDqNF*n7vv6o#co~x@RxBI%k%oadyhpYpC-wJL&4HsjJjKgWfjt6~vMJky;@p657nf zC|zTIZRT5eVX5gXZDq#X9Bptu}E#NcZ^;f{(H>O-qZO|x>V72<%`1N9v;(K%-&*QV-1R%KUxXja zJ)a-k*ew-PuHo%<-(gy`CD zV;-z=1Khzlcfdae$2P^aV>^;P1sz)wS4Zf7BA%ZmEyuuXfvrFb&;bY)*xlIpoLYyY z>^e1~Z`X&^aHxJus6M<|t?Rcf+e%wz&RQp;nS`B9CDeG@%=D@QmYqvwGwNo2n;zb> zH5}fqs&(B6OsKHNVjVA+xYltF9FAuta-N%ev+0Cduh-W@7kVz4b8MUyg`UYemfo8= ztal$yr4t)d385#3Gr8eDk2|)|lV&a{+?e7t?okY6Fu&+Ckbs+D5l`q(J3`0#5mzf| z^w?&fbyqTy3B=SvLSi|!V450yI3ltRa$mxtMs+u(g} zl=I}hJ|M9t<(aYczYdwsbtLf-GnW0#UM40Xqix*&WE^{&hZ@=##~vrx={ak~J16Noy9ilJ(BQRvxF`C+_=_IKcoc zn5@BYDNjS@_#D@-0&-!YlQv(5_efG2aqK@ya$LsBHK6Y! M#LdbeaQaFA0FA?Vr~m)} diff --git a/SPD-classes/src/main/jniSources/Android.mk b/SPD-classes/src/main/jniSources/Android.mk deleted file mode 100644 index 37ca2d8ca..000000000 --- a/SPD-classes/src/main/jniSources/Android.mk +++ /dev/null @@ -1,9 +0,0 @@ -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) - -LOCAL_MODULE := FroyoGLES20Fix -LOCAL_SRC_FILES := FroyoGLES20Fix.c -LOCAL_LDLIBS := -lGLESv2 - -include $(BUILD_SHARED_LIBRARY) diff --git a/SPD-classes/src/main/jniSources/Application.mk b/SPD-classes/src/main/jniSources/Application.mk deleted file mode 100644 index e40f0baf5..000000000 --- a/SPD-classes/src/main/jniSources/Application.mk +++ /dev/null @@ -1,3 +0,0 @@ -APP_ABI := armeabi x86 -APP_OPTIM := release -APP_PLATFORM := android-8 \ No newline at end of file diff --git a/SPD-classes/src/main/jniSources/FroyoGLES20Fix.c b/SPD-classes/src/main/jniSources/FroyoGLES20Fix.c deleted file mode 100644 index 87525f12c..000000000 --- a/SPD-classes/src/main/jniSources/FroyoGLES20Fix.c +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Pixel Dungeon - * Copyright (C) 2012-2015 Oleg Dolya - * - * Shattered Pixel Dungeon - * Copyright (C) 2014-2019 Evan Debenham - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see - */ - -#include -#include - -void Java_com_watabou_glwrap_FroyoGLES20Fix_glVertexAttribPointer - (JNIEnv *env, jclass c, jint index, jint size, jint type, jboolean normalized, jint stride, jint offset) -{ - glVertexAttribPointer(index, size, type, normalized, stride, (const void*)offset); -} - -void Java_com_watabou_glwrap_FroyoGLES20Fix_glDrawElements - (JNIEnv *env, jclass c, jint mode, jint count, jint type, jint offset) -{ - glDrawElements(mode, count, type, (const void*)offset); -} diff --git a/SPD-classes/src/main/jniSources/README.txt b/SPD-classes/src/main/jniSources/README.txt deleted file mode 100644 index 4f94706b0..000000000 --- a/SPD-classes/src/main/jniSources/README.txt +++ /dev/null @@ -1,11 +0,0 @@ -These sources are provided for FOSS completeness, but compiling them is optional. - -The folder jniLibs already contains compiled versions of FroyoGLES20Fix.c, and makes compiling -The sources here an optional step in building Shattered Pixel Dungeon. This is done so that -The Android NDK is not required for project compilation, but those who want to ensure they are 100% -building from source can still do so. - -There is no functional difference between using the provided .so files, and compiling your own. - -These sources can be compiled through the gradle task SPD-classes:ndkBuild on a system with the -Android NDK installed and configured. \ No newline at end of file diff --git a/core/build.gradle b/core/build.gradle index 3d5498770..39651e8c7 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -7,7 +7,7 @@ android { resConfigs "en_US", "cs", "tr", "ca", "ko", "pl", "it", "eo", "ru", "zh_CN", "de", "fr", "es", "pt", "fi", "hu", "in" //noinspection MinSdkTooLow - minSdkVersion 8 + minSdkVersion 9 targetSdkVersion 28 } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java index 651e38942..f97485282 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java @@ -247,15 +247,9 @@ public class ShatteredPixelDungeon extends Game { public void updateDisplaySize(){ boolean landscape = SPDSettings.landscape(); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) { - instance.setRequestedOrientation(landscape ? - ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE : - ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT); - } else { - instance.setRequestedOrientation(landscape ? - ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE : - ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); - } + instance.setRequestedOrientation(landscape ? + ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE : + ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT); if (view.getMeasuredWidth() == 0 || view.getMeasuredHeight() == 0) return; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/messages/Messages.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/messages/Messages.java index 9522cf837..68bab0e43 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/messages/Messages.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/messages/Messages.java @@ -89,14 +89,6 @@ public class Messages { while (keys.hasMoreElements()) { String key = keys.nextElement(); String value = bundle.getString(key); - - if (DeviceCompat.usesISO_8859_1()) { - try { - value = new String(value.getBytes("ISO-8859-1"), "UTF-8"); - } catch (Exception e) { - ShatteredPixelDungeon.reportException(e); - } - } strings.put(key, value); }