Android: Parameter to swap dynamic disk
This commit is contained in:
parent
f51f04ba9a
commit
2ceae8b42e
|
@ -26,7 +26,7 @@ public final class JNIdc
|
|||
public static native void initControllers(boolean[] controllers, int[][] peripherals);
|
||||
|
||||
public static native void setupMic(Object sip);
|
||||
public static native void diskSwap();
|
||||
public static native void diskSwap(String disk);
|
||||
public static native void vmuSwap();
|
||||
public static native void setupVmu(Object sip);
|
||||
public static native void dynarec(int dynarec);
|
||||
|
|
|
@ -496,7 +496,8 @@ public class OnScreenMenu {
|
|||
|
||||
OnClickListener clickDisk = new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
JNIdc.diskSwap();
|
||||
if (Emulator.bootdisk == null)
|
||||
JNIdc.diskSwap(null);
|
||||
dismiss();
|
||||
}
|
||||
};
|
||||
|
|
|
@ -41,7 +41,7 @@ JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_vjoy(JNIEnv * env, jo
|
|||
JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_initControllers(JNIEnv *env, jobject obj, jbooleanArray controllers, jobjectArray peripherals) __attribute__((visibility("default")));
|
||||
|
||||
JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_setupMic(JNIEnv *env,jobject obj,jobject sip) __attribute__((visibility("default")));
|
||||
JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_diskSwap(JNIEnv *env,jobject obj) __attribute__((visibility("default")));
|
||||
JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_diskSwap(JNIEnv *env,jobject obj,jstring disk) __attribute__((visibility("default")));
|
||||
JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_vmuSwap(JNIEnv *env,jobject obj) __attribute__((visibility("default")));
|
||||
JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_setupVmu(JNIEnv *env,jobject obj,jobject sip) __attribute__((visibility("default")));
|
||||
|
||||
|
@ -445,7 +445,7 @@ JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_destroy(JNIEnv *env,j
|
|||
dc_term();
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_diskSwap(JNIEnv *env,jobject obj)
|
||||
JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_diskSwap(JNIEnv *env,jobject obj,jstring disk)
|
||||
{
|
||||
if (settings.imgread.LoadDefaultImage == 1) {
|
||||
if (!gamedisk) settings.imgread.DefaultImage[0] = '\0';
|
||||
|
@ -455,6 +455,19 @@ JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_diskSwap(JNIEnv *env,
|
|||
settings.imgread.DefaultImage[sizeof(settings.imgread.DefaultImage) - 1] = '\0';
|
||||
}
|
||||
DiscSwap();
|
||||
} else if (disk != NULL) {
|
||||
settings.imgread.LoadDefaultImage = 1;
|
||||
const char *P = disk ? env->GetStringUTFChars(disk, 0) : 0;
|
||||
if (!P) settings.imgread.DefaultImage[0] = '\0';
|
||||
else {
|
||||
printf("Got URI: '%s'\n", P);
|
||||
strncpy(settings.imgread.DefaultImage,
|
||||
(strlen(P) >= 7) && !memcmp(P, "file://", 7) ? P + 7 : P,
|
||||
sizeof(settings.imgread.DefaultImage));
|
||||
settings.imgread.DefaultImage[sizeof(settings.imgread.DefaultImage) - 1] = '\0';
|
||||
env->ReleaseStringUTFChars(disk, P);
|
||||
}
|
||||
DiscSwap();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue