Render configuration file obsolete to prevent load corruption

This commit is contained in:
TwistedUmbrella 2014-02-09 22:15:17 -05:00
parent 5511bee9ef
commit 7f095cdb2d
4 changed files with 96 additions and 57 deletions

View File

@ -207,7 +207,9 @@ void dc_term()
plugins_Term();
_vmem_release();
#ifndef _ANDROID
SaveSettings();
#endif
SaveRomFiles(GetPath("/data/"));
}
@ -230,13 +232,6 @@ void LoadSettings()
settings.pvr.ta_skip = cfgLoadInt("config","ta.skip",0);
settings.pvr.rend = cfgLoadInt("config","pvr.rend",0);
#else
settings.dynarec.idleskip = cfgLoadInt("config","Dynarec.idleskip",1)!=0;
settings.dreamcast.cable = cfgLoadInt("config","Dreamcast.Cable",3);
settings.dreamcast.broadcast = cfgLoadInt("config","Dreamcast.Broadcast",4);
settings.aica.NoBatch = cfgLoadInt("config","aica.NoBatch",0);
settings.pvr.subdivide_transp = cfgLoadInt("config","pvr.Subdivide",0);
#endif
#if (HOST_OS != OS_LINUX || defined(_ANDROID) || defined(TARGET_PANDORA))

View File

@ -42,17 +42,96 @@ extern "C"
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_vmuSwap(JNIEnv *env,jobject obj) __attribute__((visibility("default")));
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_dynarec(JNIEnv *env,jobject obj, jint dynarec) __attribute__((visibility("default")));
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_idleskip(JNIEnv *env,jobject obj, jint idleskip) __attribute__((visibility("default")));
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_unstable(JNIEnv *env,jobject obj, jint unstable) __attribute__((visibility("default")));
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_cable(JNIEnv *env,jobject obj, jint cable) __attribute__((visibility("default")));
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_region(JNIEnv *env,jobject obj, jint region) __attribute__((visibility("default")));
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_broadcast(JNIEnv *env,jobject obj, jint broadcast) __attribute__((visibility("default")));
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_limitfps(JNIEnv *env,jobject obj, jint limiter) __attribute__((visibility("default")));
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_nobatch(JNIEnv *env,jobject obj, jint nobatch) __attribute__((visibility("default")));
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_mipmaps(JNIEnv *env,jobject obj, jint mipmaps) __attribute__((visibility("default")));
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_widescreen(JNIEnv *env,jobject obj, jint stretch) __attribute__((visibility("default")));
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_subdivide(JNIEnv *env,jobject obj, jint subdivide) __attribute__((visibility("default")));
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_frameskip(JNIEnv *env,jobject obj, jint frames) __attribute__((visibility("default")));
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_pvrrender(JNIEnv *env,jobject obj, jint render) __attribute__((visibility("default")));
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_cheatdisk(JNIEnv *env,jobject obj, jstring disk) __attribute__((visibility("default")));
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_dreamtime(JNIEnv *env,jobject obj, u32 clock) __attribute__((visibility("default")));
};
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_dynarec(JNIEnv *env,jobject obj, jint dynarec)
{
settings.dynarec.Enable = dynarec;
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_idleskip(JNIEnv *env,jobject obj, jint idleskip)
{
settings.dynarec.idleskip = idleskip;
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_unstable(JNIEnv *env,jobject obj, jint unstable)
{
settings.dynarec.unstable_opt = unstable;
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_cable(JNIEnv *env,jobject obj, jint cable)
{
settings.dreamcast.cable = cable;
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_region(JNIEnv *env,jobject obj, jint region)
{
settings.dreamcast.region = region;
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_broadcast(JNIEnv *env,jobject obj, jint broadcast)
{
settings.dreamcast.broadcast = broadcast;
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_limitfps(JNIEnv *env,jobject obj, jint limiter)
{
settings.aica.LimitFPS = limiter;
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_nobatch(JNIEnv *env,jobject obj, jint nobatch)
{
settings.aica.NoBatch = nobatch;
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_mipmaps(JNIEnv *env,jobject obj, jint mipmaps)
{
settings.rend.UseMipmaps = mipmaps;
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_widescreen(JNIEnv *env,jobject obj, jint stretch)
{
settings.rend.WideScreen = stretch;
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_subdivide(JNIEnv *env,jobject obj, jint subdivide)
{
settings.pvr.subdivide_transp = subdivide;
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_frameskip(JNIEnv *env,jobject obj, jint frames)
{
settings.pvr.ta_skip = frames;
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_pvrrender(JNIEnv *env,jobject obj, jint render)
{
settings.pvr.rend = render;
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_cheatdisk(JNIEnv *env,jobject obj, jstring disk)
{
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_dreamtime(JNIEnv *env,jobject obj, u32 clock)
{
settings.dreamcast.RTC = clock;
}
void egl_stealcntx();
void SetApplicationPath(wchar *path);
@ -330,56 +409,6 @@ JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_kcode(JNIEnv * env, jobje
env->ReleaseIntArrayElements(jy, jy_body, 0);
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_dynarec(JNIEnv *env,jobject obj, jint dynarec)
{
settings.dynarec.Enable = dynarec;
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_unstable(JNIEnv *env,jobject obj, jint unstable)
{
settings.dynarec.unstable_opt = unstable;
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_region(JNIEnv *env,jobject obj, jint region)
{
settings.dreamcast.region = region;
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_limitfps(JNIEnv *env,jobject obj, jint limiter)
{
settings.aica.LimitFPS = limiter;
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_mipmaps(JNIEnv *env,jobject obj, jint mipmaps)
{
settings.rend.UseMipmaps = mipmaps;
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_widescreen(JNIEnv *env,jobject obj, jint stretch)
{
settings.rend.WideScreen = stretch;
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_frameskip(JNIEnv *env,jobject obj, jint frames)
{
settings.pvr.ta_skip = frames;
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_pvrrender(JNIEnv *env,jobject obj, jint render)
{
settings.pvr.rend = render;
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_cheatdisk(JNIEnv *env,jobject obj, jstring disk)
{
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_dreamtime(JNIEnv *env,jobject obj, u32 clock)
{
settings.dreamcast.RTC = clock;
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_JNIdc_rendinit(JNIEnv * env, jobject obj, jint w,jint h)
{
screen_width = w;

View File

@ -44,11 +44,16 @@ public class ConfigureFragment extends Fragment {
OnClickListener mCallback;
public static boolean dynarecopt = true;
public static boolean idleskip = false;
public static boolean unstableopt = false;
public static int cable = 3;
public static int dcregion = 3;
public static int broadcast = 4;
public static boolean limitfps = true;
public static boolean nobatch = false;
public static boolean mipmaps = true;
public static boolean widescreen = false;
public static boolean subdivide = false;
public static int frameskip = 0;
public static boolean pvrrender = false;
public static String cheatdisk = "null";
@ -357,20 +362,25 @@ public class ConfigureFragment extends Fragment {
ConfigureFragment.dynarecopt = mPrefs.getBoolean("dynarec_opt",
ConfigureFragment.dynarecopt);
JNIdc.dynarec(ConfigureFragment.dynarecopt ? 1 : 0);
JNIdc.idleskip(ConfigureFragment.idleskip ? 1 : 0);
ConfigureFragment.unstableopt = mPrefs.getBoolean("unstable_opt",
ConfigureFragment.unstableopt);
JNIdc.unstable(ConfigureFragment.unstableopt ? 1 : 0);
JNIdc.cable(ConfigureFragment.cable);
ConfigureFragment.dcregion = mPrefs.getInt("dc_region", ConfigureFragment.dcregion);
JNIdc.region(ConfigureFragment.dcregion);
JNIdc.broadcast(ConfigureFragment.broadcast);
ConfigureFragment.limitfps = mPrefs.getBoolean("limit_fps",
ConfigureFragment.limitfps);
JNIdc.limitfps(ConfigureFragment.limitfps ? 1 : 0);
JNIdc.nobatch(ConfigureFragment.nobatch ? 1 : 0);
ConfigureFragment.mipmaps = mPrefs.getBoolean("use_mipmaps",
ConfigureFragment.mipmaps);
JNIdc.mipmaps(ConfigureFragment.mipmaps ? 1 : 0);
ConfigureFragment.widescreen = mPrefs.getBoolean("stretch_view",
ConfigureFragment.widescreen);
JNIdc.widescreen(ConfigureFragment.widescreen ? 1 : 0);
JNIdc.subdivide(ConfigureFragment.subdivide ? 1 : 0);
ConfigureFragment.frameskip = mPrefs.getInt("frame_skip",
ConfigureFragment.frameskip);
JNIdc.frameskip(ConfigureFragment.frameskip);

View File

@ -27,11 +27,16 @@ public class JNIdc
public static native void vmuSwap();
public static native void dynarec(int dynarec);
public static native void idleskip(int idleskip);
public static native void unstable(int unstable);
public static native void cable(int cable);
public static native void region(int region);
public static native void broadcast(int broadcast);
public static native void limitfps(int stretch);
public static native void nobatch(int nobatch);
public static native void mipmaps(int mipmaps);
public static native void widescreen(int stretch);
public static native void subdivide(int subdivide);
public static native void frameskip(int frames);
public static native void pvrrender(int render);
public static native void cheatdisk(String disk);