Skip to content

Commit

Permalink
Merge pull request #701 from Ghabry/android
Browse files Browse the repository at this point in the history
Android: Recursive games-subdirectory scan and mips/armeabi
  • Loading branch information
fdelapena committed Dec 25, 2015
2 parents 2a10cd1 + 588bcde commit f547318
Show file tree
Hide file tree
Showing 13 changed files with 57 additions and 43 deletions.
2 changes: 1 addition & 1 deletion builds/android/jni/Application.mk
Expand Up @@ -2,4 +2,4 @@
# See CPLUSPLUS-SUPPORT.html in the NDK documentation for more information

APP_STL := gnustl_static
APP_ABI := armeabi-v7a x86
APP_ABI := armeabi armeabi-v7a x86 mips
6 changes: 5 additions & 1 deletion builds/android/jni/SDL2/Android.mk
Expand Up @@ -7,7 +7,11 @@ LOCAL_MODULE := SDL2
ifeq ($(TARGET_ARCH_ABI),x86)
EASYRPG_LIB_DIR = $(EASYDEV_ANDROID)/x86-toolchain/lib
else ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
EASYRPG_LIB_DIR = $(EASYDEV_ANDROID)/arm-toolchain/lib
EASYRPG_LIB_DIR = $(EASYDEV_ANDROID)/armeabi-v7a-toolchain/lib
else ifeq ($(TARGET_ARCH_ABI),armeabi)
EASYRPG_LIB_DIR = $(EASYDEV_ANDROID)/armeabi-toolchain/lib
else ifeq ($(TARGET_ARCH_ABI),mips)
EASYRPG_LIB_DIR = $(EASYDEV_ANDROID)/mips-toolchain/lib
endif

LOCAL_SRC_FILES := $(EASYRPG_LIB_DIR)/lib$(LOCAL_MODULE).so
Expand Down
8 changes: 6 additions & 2 deletions builds/android/jni/SDL2_mixer/Android.mk
Expand Up @@ -7,9 +7,13 @@ LOCAL_MODULE := SDL2_mixer
ifeq ($(TARGET_ARCH_ABI),x86)
EASYRPG_LIB_DIR = $(EASYDEV_ANDROID)/x86-toolchain/lib
else ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
EASYRPG_LIB_DIR = $(EASYDEV_ANDROID)/arm-toolchain/lib
EASYRPG_LIB_DIR = $(EASYDEV_ANDROID)/armeabi-v7a-toolchain/lib
else ifeq ($(TARGET_ARCH_ABI),armeabi)
EASYRPG_LIB_DIR = $(EASYDEV_ANDROID)/armeabi-toolchain/lib
else ifeq ($(TARGET_ARCH_ABI),mips)
EASYRPG_LIB_DIR = $(EASYDEV_ANDROID)/mips-toolchain/lib
endif

LOCAL_SRC_FILES := $(EASYRPG_LIB_DIR)/lib$(LOCAL_MODULE)-2.0.so
LOCAL_SRC_FILES := $(EASYRPG_LIB_DIR)/lib$(LOCAL_MODULE).so

include $(PREBUILT_SHARED_LIBRARY)
6 changes: 5 additions & 1 deletion builds/android/jni/src/Android.mk
Expand Up @@ -9,8 +9,12 @@ PLAYER_PATH := ../../../..
LOCAL_CPP_EXTENSION := .cxx .cpp
ifeq ($(TARGET_ARCH_ABI),x86)
EASYRPG_TOOLCHAIN_DIR = $(EASYDEV_ANDROID)/x86-toolchain
else ifeq ($(TARGET_ARCH_ABI),armeabi)
EASYRPG_TOOLCHAIN_DIR = $(EASYDEV_ANDROID)/armeabi-toolchain
else ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
EASYRPG_TOOLCHAIN_DIR = $(EASYDEV_ANDROID)/arm-toolchain
EASYRPG_TOOLCHAIN_DIR = $(EASYDEV_ANDROID)/armeabi-v7a-toolchain
else ifeq ($(TARGET_ARCH_ABI),mips)
EASYRPG_TOOLCHAIN_DIR = $(EASYDEV_ANDROID)/mips-toolchain
endif

LOCAL_C_INCLUDES := \
Expand Down
9 changes: 4 additions & 5 deletions builds/android/res/values-de/strings.xml
Expand Up @@ -47,11 +47,10 @@ Installation:\n
\n
Wenn Spiele nicht erkannt werden und dein Gerät mehr als ein Speichermedium (z.B. MicroSD) zur Verfügung hat, versuche den easyrpg Ordner auf das andere Speichermedium zu kopieren. Tippe danach auf \"Aktualisieren\"..\n
\n
Tipp: Damit Spiele korrekt erkannt werden, müssen sie entpackt sein und dürfen NICHT in Unterordnern liegen, z.B.:\n
\t/easyrpg/games/MeinSpiel/Data/RPG_RT.ldb ist FALSCH.\n
\t/easyrpg/games/MeinSpiel/Data/GameOver/GameOver.png ist FALSCH.\n
\t/easyrpg/games/MeinSpiel/RPG_RT.ldb ist RICHTIG.\n
\t/easyrpg/games/MeinSpiel/GameOver/GameOver.png ist RICHTIG.\n
Tipp: Damit Spiele korrekt erkannt werden, müssen sie entpackt sein und in Unterordnern von /easyrpg/games/ liegen, z.B.:\n
\t/easyrpg/games/MyGame/Data/RPG_RT.ldb ist RICHTIG.\n
\t/easyrpg/games/MyGame/RPG_RT.ldb ist RICHTIG.\n
\t/easyrpg/games/MyGame.zip ist FALSCH\n
\n
Spezielle Funktionen:\n
\tIm Einstellungsmenü kannst du Tasten verschieben und neue hinzufügen.\n
Expand Down
7 changes: 3 additions & 4 deletions builds/android/res/values-es/strings.xml
Expand Up @@ -47,11 +47,10 @@ Instrucciones de instalación:\n
\n
\tSi no te detecta los juegos y tienes más de un almacenamiento disponible en el dispositivo, mueve la carpeta easyrpg a la raíz del otro almacanamiento y toca el botón de refrescar.\n
\n
Nota: para que los juegos puedan sean detectados deben estar descomprimidos y NO deben colocarse en una subcarpeta, por ejemplo:\n
\t/easyrpg/games/MyGame/Data/RPG_RT.ldb está MAL.\n
\t/easyrpg/games/MyGame/Data/GameOver/GameOver.png está MAL.\n
Nota: para que los juegos puedan sean detectados deben estar descomprimidos, por ejemplo:\n
\t/easyrpg/games/MyGame/Data/RPG_RT.ldb está BIEN.\n
\t/easyrpg/games/MyGame/RPG_RT.ldb está BIEN.\n
\t/easyrpg/games/MyGame/GameOver/GameOver.png está BIEN.\n
\t/easyrpg/games/MyGame.zip está MAL.\n
\n
Características especiales:\n
\tToca el botón de menú para editar la posición de los botones.\n
Expand Down
5 changes: 2 additions & 3 deletions builds/android/res/values-hu/strings.xml
Expand Up @@ -49,11 +49,10 @@ Ha az alkalmazás nem észlel játékokat és az ön készüléke több adattár
\n
Megjegyzés: Hogy a játékok biztosan felismerésre kerüljenek, NEM szabad tömörítve lenniük és NEM szabad almappákba helyezni őket vagy bennük almappákat létrehozni.\n
Például a következő útvonalak HIBÁSAK:\n
\t/easyrpg/games/MyGame/Data/RPG_RT.ldb\n
\t/easyrpg/games/MyGame/Data/GameOver/GameOver.png\n
\t/easyrpg/games/MyGame.zip\n
Így a HELYES:\n
\t/easyrpg/games/MyGame/RPG_RT.ldb\n
\t/easyrpg/games/MyGame/GameOver/GameOver.png\n
\t/easyrpg/games/MyGame/Data/RPG_RT.ldb\n
\n
Különleges szolgátatások:\n
\tÉrintse meg a menügombot a képernyő-gombok pozíciójának szerkesztéséhez.\n
Expand Down
5 changes: 2 additions & 3 deletions builds/android/res/values-ja/strings.xml
Expand Up @@ -49,10 +49,9 @@
\n
ヒント: ゲームを正しく検出するためには圧縮されていない状態でサブフォルダの中に置かれていない必要があります。\n
例:\n
\t/easyrpg/games/ゲーム名/余分なフォルダ/RPG_RT.ldb は間違いです。\n
\t/easyrpg/games/ゲーム名/余分なフォルダ/GameOver/GameOver.png は間違いです。\n
\t/easyrpg/games/ゲーム名/RPG_RT.ldb は問題ありません。\n
\t/easyrpg/games/ゲーム名/GameOver/GameOver.png は問題ありません。\n
\t/easyrpg/games/ゲーム名/余分なフォルダ/RPG_RT.ldb は問題ありません。\n
\t/easyrpg/games/ゲーム名.zip は間違いです。\n
\n
特殊機能:\n
\tメニューボタンをタップすることで画面上のボタン配置を設定することができます。\n
Expand Down
7 changes: 3 additions & 4 deletions builds/android/res/values-pt-rBR/strings.xml
Expand Up @@ -47,11 +47,10 @@ Instruções de instalação:\n
\n
Se os jogos não forem detectados e seu dispositivo tiver mais de um armazenamento disponível, tente mover a pasta easyrpg em outra pasta root de armazenamento e toque no botão de recarregar.\n
\n
Dica: para obter jogos corretamente detectados eles devem ser descompactados e JAMAIS colocados em uma subpasta, por exemplo:\n
\t/easyrpg/games/MyGame/Data/RPG_RT.ldb está ERRADO.\n
\t/easyrpg/games/MyGame/Data/GameOver/GameOver.png está ERRADO.\n
Dica: para obter jogos corretamente detectados eles devem ser descompactados, por exemplo:\n
\t/easyrpg/games/MyGame/Data/RPG_RT.ldb está CORRETO.\n
\t/easyrpg/games/MyGame/RPG_RT.ldb está CORRETO.\n
\t/easyrpg/games/MyGame/GameOver/GameOver.png está OK.\n
\t/easyrpg/games/MyGame.zip está ERRADO.\n
\n
Características especiais:\n
\tToque no botão menu para editar posição de botões da tela.\n
Expand Down
5 changes: 2 additions & 3 deletions builds/android/res/values-zh/strings.xml
Expand Up @@ -51,10 +51,9 @@

提示:为了保证模拟器检测到这个游戏,所以游戏文件不能是压缩的,
并且不能被放在子文件夹里。
例如:/easyrpg/games/MyGame/Data/RPG_RT.ldb 这样是错误的。
/easyrpg/games/MyGame/Data/GameOver/GameOver.png 这样是错误的。
例如:/easyrpg/games/MyGame/Data/RPG_RT.ldb 这样是正确的。
/easyrpg/games/MyGame/RPG_RT.ldb 这样是正确的。
/easyrpg/games/MyGame/GameOver/GameOver.png 这样是正确的
/easyrpg/games/MyGame.zip 这样是错误的

特殊功能:
在设置游戏按键的时候,点击手机菜单按钮可以设置游戏按键,
Expand Down
7 changes: 3 additions & 4 deletions builds/android/res/values/strings.xml
Expand Up @@ -54,11 +54,10 @@ Installation instructions:\n
\n
If games are not detected and your device has more than one storage available, try moving the easyrpg folder into another storage root and tap the refresh button.\n
\n
Hint: in order to get games properly detected they must be uncompressed and NOT placed in a subfolder, e.g.:\n
\t/easyrpg/games/MyGame/Data/RPG_RT.ldb is WRONG.\n
\t/easyrpg/games/MyGame/Data/GameOver/GameOver.png is WRONG.\n
Hint: in order to get games properly detected they must be uncompressed into a subdirectory of /easyrpg/games, e.g.:\n
\t/easyrpg/games/MyGame/Data/RPG_RT.ldb is OK.\n
\t/easyrpg/games/MyGame/RPG_RT.ldb is OK.\n
\t/easyrpg/games/MyGame/GameOver/GameOver.png is OK.\n
\t/easyrpg/games/MyGame.zip is WRONG.\n
\n
Special features:\n
\tTap the menu button to edit screen buttons position.\n
Expand Down
Expand Up @@ -18,7 +18,22 @@ public class GameBrowserHelper {
final static String DATABASE_NAME = "RPG_RT.ldb";
final static String TREEMAP_NAME = "RPG_RT.lmt";
final static String INI_FILE = "RPG_RT.ini";


public static void scanFolder(Context context, File[] list, LinkedList<ProjectInformation> project_list, int depth) {
if (list != null) {
for (File file : list) {
if (!file.getName().startsWith(".")) {
if (isRpg2kGame(file)) {
project_list.add(new ProjectInformation(file.getName(), file.getAbsolutePath()));
} else if (file.isDirectory() && file.canRead() && depth > 0) {
// Not a RPG2k Game but a directory -> recurse
scanFolder(context, file.listFiles(), project_list, depth - 1);
}
}
}
}
}

public static void scanGame(Context context, String path, LinkedList<ProjectInformation> project_list, LinkedList<String> error_list){
project_list.clear();
error_list.clear();
Expand All @@ -37,16 +52,10 @@ public static void scanGame(Context context, String path, LinkedList<ProjectInfo
error_list.add(msg);
} else {
File[] list = dir.listFiles();
if (list != null) {
if(list.length == 0){
error_list.add(context.getString(R.string.no_games_found));
}else {
for (File file : list) {
if (!file.getName().startsWith(".") && isRpg2kGame(file)) {
project_list.add(new ProjectInformation(file.getName(), file.getAbsolutePath()));
}
}
}
scanFolder(context, list, project_list, 3);

if (project_list.size() == 0) {
error_list.add(context.getString(R.string.no_games_found));
}
}
} else {
Expand Down
2 changes: 1 addition & 1 deletion builds/android/src/org/libsdl/app/SDLActivity.java
Expand Up @@ -74,7 +74,7 @@ protected String[] getLibraries() {
return new String[] {
"SDL2",
// "SDL2_image",
"SDL2_mixer-2.0",
"SDL2_mixer",
// "SDL2_net",
// "SDL2_ttf",
"main"
Expand Down

0 comments on commit f547318

Please sign in to comment.