diff --git a/core/nullDC.cpp b/core/nullDC.cpp index 4c48b3403..77e7ef94c 100755 --- a/core/nullDC.cpp +++ b/core/nullDC.cpp @@ -180,6 +180,8 @@ cThread webui_thd(&webui_th,0); void LoadSpecialSettings() { #if DC_PLATFORM == DC_PLATFORM_DREAMCAST + printf("Game ID is [%s]\n", reios_product_number); + // Tony Hawk's Pro Skater 2 if (!strncmp("T13008D", reios_product_number, 7) || !strncmp("T13006N", reios_product_number, 7) // Tony Hawk's Pro Skater 1 @@ -213,6 +215,8 @@ void LoadSpecialSettings() settings.rend.ExtraDepthScale = 10000; } #elif DC_PLATFORM == DC_PLATFORM_NAOMI || DC_PLATFORM == DC_PLATFORM_ATOMISWAVE + printf("Game ID is [%s]\n", naomi_game_id); + if (!strcmp("METAL SLUG 6", naomi_game_id) || !strcmp("WAVE RUNNER GP", naomi_game_id)) { printf("Enabling Dynarec safe mode for game %s\n", naomi_game_id); @@ -596,7 +600,6 @@ void LoadCustom() char *reios_id = naomi_game_id; char *reios_software_name = naomi_game_id; #endif - printf("Game ID is [%s]\n", reios_id); LoadSpecialSettings(); // Default per-game settings diff --git a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/Emulator.java b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/Emulator.java index 7cfd5cdd8..39878705b 100644 --- a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/Emulator.java +++ b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/Emulator.java @@ -28,6 +28,7 @@ public class Emulator extends Application { public static final String pref_modvols = "modifier_volumes"; public static final String pref_bootdisk = "boot_disk"; public static final String pref_usereios = "use_reios"; + public static final String pref_customtextures = "custom_textures"; public static boolean dynarecopt = true; public static boolean idleskip = true; @@ -51,7 +52,8 @@ public class Emulator extends Application { public static String bootdisk = null; public static boolean usereios = false; public static boolean nativeact = false; - + public static boolean customtextures = false; + /** * Load the user configuration from preferences * @@ -73,6 +75,7 @@ public class Emulator extends Application { Emulator.bootdisk = mPrefs.getString(pref_bootdisk, bootdisk); Emulator.usereios = mPrefs.getBoolean(pref_usereios, usereios); Emulator.nativeact = mPrefs.getBoolean(pref_nativeact, nativeact); + Emulator.customtextures = mPrefs.getBoolean(pref_customtextures, customtextures); } /** @@ -100,6 +103,7 @@ public class Emulator extends Application { JNIdc.modvols(Emulator.modvols ? 1 : 0); JNIdc.usereios(Emulator.usereios ? 1 : 0); JNIdc.bootdisk(Emulator.bootdisk); + JNIdc.customtextures(Emulator.customtextures ? 1 : 0); } public void loadGameConfiguration(String gameId) { @@ -112,6 +116,7 @@ public class Emulator extends Application { JNIdc.syncedrender(mPrefs.getBoolean(pref_syncedrender, syncedrender) ? 1 : 0); JNIdc.modvols(mPrefs.getBoolean(pref_modvols, modvols) ? 1 : 0); JNIdc.bootdisk(mPrefs.getString(pref_bootdisk, bootdisk)); + JNIdc.customtextures(mPrefs.getBoolean(pref_customtextures, customtextures) ? 1 : 0); } static { diff --git a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/config/OptionsFragment.java b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/config/OptionsFragment.java index 71586959e..c00c80157 100644 --- a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/config/OptionsFragment.java +++ b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/config/OptionsFragment.java @@ -475,6 +475,15 @@ public class OptionsFragment extends Fragment { synced_render.setChecked(mPrefs.getBoolean(Emulator.pref_syncedrender, Emulator.syncedrender)); synced_render.setOnCheckedChangeListener(synchronous); + OnCheckedChangeListener customtex = new OnCheckedChangeListener() { + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + mPrefs.edit().putBoolean(Emulator.pref_customtextures, isChecked).apply(); + } + }; + CompoundButton custom_textures = (CompoundButton) getView().findViewById(R.id.customtex_option); + custom_textures.setChecked(mPrefs.getBoolean(Emulator.pref_customtextures, Emulator.customtextures)); + custom_textures.setOnCheckedChangeListener(customtex); + final EditText bootdiskEdit = (EditText) getView().findViewById(R.id.boot_disk); bootdiskEdit.setText(mPrefs.getString(Emulator.pref_bootdisk, Emulator.bootdisk)); diff --git a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/emu/JNIdc.java b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/emu/JNIdc.java index d02930024..4726638d9 100644 --- a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/emu/JNIdc.java +++ b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/emu/JNIdc.java @@ -49,6 +49,7 @@ public final class JNIdc public static native void modvols(int volumes); public static native void bootdisk(String disk); public static native void usereios(int reios); + public static native void customtextures(int customtex); public static void show_osd() { JNIdc.vjoy(13, 1,0,0,0); diff --git a/shell/android-studio/reicast/src/main/jni/src/Android.cpp b/shell/android-studio/reicast/src/main/jni/src/Android.cpp index 675a298e4..f99b7bf1d 100644 --- a/shell/android-studio/reicast/src/main/jni/src/Android.cpp +++ b/shell/android-studio/reicast/src/main/jni/src/Android.cpp @@ -65,6 +65,7 @@ JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_syncedrender(JNIEnv * JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_modvols(JNIEnv *env,jobject obj, jint volumes) __attribute__((visibility("default"))); JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_bootdisk(JNIEnv *env,jobject obj, jstring disk) __attribute__((visibility("default"))); JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_usereios(JNIEnv *env,jobject obj, jint reios) __attribute__((visibility("default"))); +JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_customtextures(JNIEnv *env,jobject obj, jint customtex) __attribute__((visibility("default"))); }; JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_dynarec(JNIEnv *env,jobject obj, jint dynarec) @@ -163,6 +164,11 @@ JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_usereios(JNIEnv *env, settings.bios.UseReios = reios; } +JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_customtextures(JNIEnv *env,jobject obj, jint customtex) +{ + settings.rend.CustomTextures = customtex; +} + void egl_stealcntx(); void SetApplicationPath(wchar *path); void reios_init(int argc,wchar* argv[]); diff --git a/shell/android-studio/reicast/src/main/res/layout-v14/configure_fragment.xml b/shell/android-studio/reicast/src/main/res/layout-v14/configure_fragment.xml index 98978b5cd..fb68942ac 100644 --- a/shell/android-studio/reicast/src/main/res/layout-v14/configure_fragment.xml +++ b/shell/android-studio/reicast/src/main/res/layout-v14/configure_fragment.xml @@ -668,7 +668,7 @@ android:gravity="center_vertical" > + + + + + + + + + + + + + + + + + + + + Forcer le rendu logiciel Désactiver le son de l\'émulateur Rendu de profondeur + Textures personnalisées Liste des jeux disponibles diff --git a/shell/android-studio/reicast/src/main/res/values/strings.xml b/shell/android-studio/reicast/src/main/res/values/strings.xml index 1401f69ef..961f16265 100644 --- a/shell/android-studio/reicast/src/main/res/values/strings.xml +++ b/shell/android-studio/reicast/src/main/res/values/strings.xml @@ -56,6 +56,7 @@ Disable Emulator Sound View Rendering Depth Boot Disk (ie. Gameshark, Utopia) + Load Custom Textures Reset Emu Reset Emulator Settings