Added rtt menu options

This commit is contained in:
Marcel Szewczyk 2018-11-11 15:28:39 +01:00
parent f309a59fac
commit 4fd9de54ce
13 changed files with 107 additions and 0 deletions

View File

@ -294,6 +294,7 @@ void LoadSettings()
settings.dreamcast.RTC = cfgLoadInt("config", "Dreamcast.RTC", GetRTC_now());
settings.dreamcast.region = cfgLoadInt("config", "Dreamcast.Region", 3);
settings.dreamcast.broadcast = cfgLoadInt("config", "Dreamcast.Broadcast", 4);
settings.dreamcast.rttOption = cfgLoadInt("config", "Dreamcast.Rtt", 0);
settings.aica.LimitFPS = cfgLoadInt("config", "aica.LimitFPS", 1);
settings.aica.NoBatch = cfgLoadInt("config", "aica.NoBatch", 0);
settings.aica.NoSound = cfgLoadInt("config", "aica.NoSound", 0);
@ -377,4 +378,5 @@ void SaveSettings()
cfgSaveInt("config","Dreamcast.RTC", settings.dreamcast.RTC);
cfgSaveInt("config","Dreamcast.Region", settings.dreamcast.region);
cfgSaveInt("config","Dreamcast.Broadcast", settings.dreamcast.broadcast);
cfgSaveInt("config","Dreamcast.Rtt", settings.dreamcast.rttOption);
}

View File

@ -1,4 +1,5 @@
#include <math.h>
#include <types.h>
#include "gles.h"
#include "rend/TexCache.h"
#include "cfg/cfg.h"
@ -1779,6 +1780,8 @@ bool RenderFrame()
#endif
}
printf("RTT option: %d", settings.dreamcast.rttOption);
//Clear depth
//Color is cleared by the bgp
if (settings.rend.WideScreen)

View File

@ -640,6 +640,7 @@ struct settings_t
u32 RTC;
u32 region;
u32 broadcast;
u32 rttOption;
} dreamcast;
struct

View File

@ -16,6 +16,7 @@ public class Emulator extends Application {
public static final String pref_cable = "dc_cable";
public static final String pref_dcregion = "dc_region";
public static final String pref_broadcast = "dc_broadcast";
public static final String pref_rtt = "dc_rtt";
public static final String pref_limitfps = "limit_fps";
public static final String pref_nosound = "sound_disabled";
public static final String pref_mipmaps = "use_mipmaps";
@ -34,6 +35,7 @@ public class Emulator extends Application {
public static int cable = 3;
public static int dcregion = 3;
public static int broadcast = 4;
public static int rtt = 3;
public static boolean limitfps = true;
public static boolean nobatch = false;
public static boolean nosound = false;
@ -57,6 +59,7 @@ public class Emulator extends Application {
Emulator.cable = mPrefs.getInt(pref_cable, cable);
Emulator.dcregion = mPrefs.getInt(pref_dcregion, dcregion);
Emulator.broadcast = mPrefs.getInt(pref_broadcast, broadcast);
Emulator.rtt = mPrefs.getInt(pref_rtt, rtt);
Emulator.limitfps = mPrefs.getBoolean(pref_limitfps, limitfps);
Emulator.nosound = mPrefs.getBoolean(pref_nosound, nosound);
Emulator.mipmaps = mPrefs.getBoolean(pref_mipmaps, mipmaps);
@ -80,6 +83,7 @@ public class Emulator extends Application {
JNIdc.cable(Emulator.cable);
JNIdc.region(Emulator.dcregion);
JNIdc.broadcast(Emulator.broadcast);
JNIdc.rtt(Emulator.rtt);
JNIdc.limitfps(Emulator.limitfps ? 1 : 0);
JNIdc.nobatch(Emulator.nobatch ? 1 : 0);
JNIdc.nosound(Emulator.nosound ? 1 : 0);

View File

@ -378,6 +378,24 @@ public class OptionsFragment extends Fragment {
}
});
//----------------------------------------
String[] rtts = getResources().getStringArray(R.array.rtt);
Spinner rtt_spnr = (Spinner) getView().findViewById(R.id.rtt_spinner);
ArrayAdapter<String> rttAdapter = new ArrayAdapter<>(
getActivity(), R.layout.spinner_selected, rtts);
rttAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
rtt_spnr.setAdapter(rttAdapter);
rtt_spnr.setSelection(mPrefs.getInt(Emulator.pref_rtt, Emulator.rtt), true);
rtt_spnr.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
mPrefs.edit().putInt(Emulator.pref_rtt, pos).apply();
}
public void onNothingSelected(AdapterView<?> arg0) {
}
});
//----------------------------------------
OnCheckedChangeListener limitfps_option = new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
@ -711,6 +729,7 @@ public class OptionsFragment extends Fragment {
mPrefs.edit().remove(Emulator.pref_cable).apply();
mPrefs.edit().remove(Emulator.pref_dcregion).apply();
mPrefs.edit().remove(Emulator.pref_broadcast).apply();
mPrefs.edit().remove(Emulator.pref_rtt).apply();
mPrefs.edit().remove(Emulator.pref_limitfps).apply();
mPrefs.edit().remove(Emulator.pref_mipmaps).apply();
mPrefs.edit().remove(Emulator.pref_widescreen).apply();
@ -730,6 +749,7 @@ public class OptionsFragment extends Fragment {
Emulator.cable = 3;
Emulator.dcregion = 3;
Emulator.broadcast = 4;
Emulator.rtt = 3;
Emulator.limitfps = true;
Emulator.mipmaps = true;
Emulator.widescreen = false;

View File

@ -36,6 +36,7 @@ public final class JNIdc
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 rtt(int rtt);
public static native void limitfps(int limiter);
public static native void nobatch(int nobatch);
public static native void nosound(int noaudio);

View File

@ -52,6 +52,7 @@ JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_safemode(JNIEnv *env,
JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_cable(JNIEnv *env,jobject obj, jint cable) __attribute__((visibility("default")));
JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_region(JNIEnv *env,jobject obj, jint region) __attribute__((visibility("default")));
JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_broadcast(JNIEnv *env,jobject obj, jint broadcast) __attribute__((visibility("default")));
JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_rtt(JNIEnv *env,jobject obj, jint rtt) __attribute__((visibility("default")));
JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_limitfps(JNIEnv *env,jobject obj, jint limiter) __attribute__((visibility("default")));
JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_nobatch(JNIEnv *env,jobject obj, jint nobatch) __attribute__((visibility("default")));
JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_nosound(JNIEnv *env,jobject obj, jint noaudio) __attribute__((visibility("default")));
@ -102,6 +103,12 @@ JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_broadcast(JNIEnv *env
settings.dreamcast.broadcast = broadcast;
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_rtt(JNIEnv *env,jobject obj, jint rtt)
{
settings.dreamcast.rttOption = rtt;
}
JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_limitfps(JNIEnv *env,jobject obj, jint limiter)
{
settings.aica.LimitFPS = limiter;

View File

@ -636,6 +636,35 @@
</LinearLayout>
</TableRow>
<TableRow
android:layout_marginTop="10dp"
android:gravity="center_vertical" >
<TextView
android:id="@+id/rtt_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:ems="10"
android:gravity="center_vertical|left"
android:text="@string/select_rtt" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:orientation="vertical" >
<Spinner
android:id="@+id/rtt_spinner"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:ems="10" />
</LinearLayout>
</TableRow>
<TableRow
android:layout_marginTop="10dp"
android:gravity="center_vertical" >

View File

@ -636,6 +636,35 @@
</LinearLayout>
</TableRow>
<TableRow
android:layout_marginTop="10dp"
android:gravity="center_vertical" >
<TextView
android:id="@+id/rtt_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:ems="10"
android:gravity="center_vertical|left"
android:text="@string/select_rtt" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="right"
android:orientation="vertical" >
<Spinner
android:id="@+id/rtt_spinner"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:ems="10" />
</LinearLayout>
</TableRow>
<TableRow
android:layout_marginTop="10dp"
android:gravity="center_vertical" >

View File

@ -18,6 +18,7 @@
<string name="select_dynarec">Opcje Dynarec</string>
<string name="select_unstable">Niestabilne optymalizacje</string>
<string name="select_region">Region DC</string>
<string name="select_rtt">Renderuj do tekstury</string>
<string name="select_limitfps">Limit FPS</string>
<string name="select_mipmaps">Użyj Mipmap (fix dla starego SGX540)</string>
<string name="select_stretch">Tryb Szerokoekranowy</string>

View File

@ -38,6 +38,7 @@
<string name="select_cable">Тип кабеля</string>
<string name="select_region">Регион Dreamcast</string>
<string name="select_broadcast">Система ТВ</string>
<string name="select_rtt">Рендеринг текстуры (RTT)</string>
<string name="select_limitfps">Ограничение FPS</string>
<string name="select_mipmaps">MIP-карты (откл. для SGX540)</string>
<string name="select_stretch">Широкоэкранный режим</string>

View File

@ -61,6 +61,14 @@
<item>9 - PAL-E</item>
</string-array>
<string-array name="rtt">
<item>Disabled - skip frames</item>
<item>Zeros</item>
<item>Ones</item>
<item>Shadow circle</item>
<item>Full</item>
</string-array>
<string-array name="bioscode">
<item>J</item>
<item>E</item>

View File

@ -42,6 +42,7 @@
<string name="select_cable">Cable Type</string>
<string name="select_region">DC Region</string>
<string name="select_broadcast">Broadcast</string>
<string name="select_rtt">Render to texture</string>
<string name="select_limitfps">Limit FPS</string>
<string name="select_mipmaps">Use Mipmaps (fixes SGX540)</string>
<string name="select_stretch">Widescreen Mode</string>