Merge pull request #2413 from sigmabeta/android-lollipop-settings
Android: Implement Settings screen in new UI.
This commit is contained in:
commit
23842cb75d
|
@ -29,6 +29,7 @@ android {
|
|||
}
|
||||
}
|
||||
|
||||
// Define build types, which are orthogonal to product flavors.
|
||||
buildTypes {
|
||||
// Signed by release key, allowing for upload to Play Store.
|
||||
release {
|
||||
|
@ -43,6 +44,35 @@ android {
|
|||
jniDebuggable true
|
||||
}
|
||||
}
|
||||
|
||||
// Define product flavors, which can be split into categories. Common examples
|
||||
// of product flavors are paid vs. free, ARM vs. x86, etc.
|
||||
productFlavors {
|
||||
arm {
|
||||
// This flavor is mutually exclusive against any flavor in the same dimension.
|
||||
flavorDimension "abi"
|
||||
|
||||
// When building this flavor, only include native libs from the specified folder.
|
||||
ndk {
|
||||
abiFilter "armeabi-v7a"
|
||||
}
|
||||
}
|
||||
|
||||
arm_64 {
|
||||
flavorDimension "abi"
|
||||
ndk {
|
||||
abiFilter "arm64-v8a"
|
||||
}
|
||||
}
|
||||
|
||||
// TODO Uncomment this when we successfully build for x86_64.
|
||||
/*x86_64 {
|
||||
flavorDimension "abi"
|
||||
ndk {
|
||||
abiFilter "x86_64"
|
||||
}
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!-- All lists for ListPreference keys/values are placed here -->
|
||||
<resources>
|
||||
|
||||
<!-- New UI CPU Core selection - ARM32 -->
|
||||
<string-array name="string_emu_cores" translatable="false">
|
||||
<item>@string/interpreter</item>
|
||||
<item>@string/jit_arm_recompiler</item>
|
||||
</string-array>
|
||||
<string-array name="int_emu_cores" translatable="false">
|
||||
<item>0</item>
|
||||
<item>3</item>
|
||||
</string-array>
|
||||
|
||||
</resources>
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- Title of the app -->
|
||||
<string name="title_new_ui">Dolphin ARM32</string>
|
||||
</resources>
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!-- All lists for ListPreference keys/values are placed here -->
|
||||
<resources>
|
||||
|
||||
<!-- New UI CPU Core selection - ARM64 -->
|
||||
<string-array name="string_emu_cores" translatable="false">
|
||||
<item>@string/interpreter</item>
|
||||
<item>@string/jit_arm64_recompiler</item>
|
||||
</string-array>
|
||||
<string-array name="int_emu_cores" translatable="false">
|
||||
<item>0</item>
|
||||
<item>4</item>
|
||||
</string-array>
|
||||
|
||||
</resources>
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- Title of the app -->
|
||||
<string name="title_new_ui">Dolphin ARM64</string>
|
||||
</resources>
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
<activity
|
||||
android:name=".activities.GameGridActivity"
|
||||
android:label="Dolphin New UI"
|
||||
android:label="@string/title_new_ui"
|
||||
android:theme="@style/DolphinGamecube">
|
||||
|
||||
<!-- This intentfilter marks this Activity as the one that gets launched from Home screen. -->
|
||||
|
@ -27,9 +27,14 @@
|
|||
|
||||
<activity
|
||||
android:name=".activities.AddDirectoryActivity"
|
||||
android:theme="@style/DolphinWii"
|
||||
android:theme="@style/DolphinGamecube"
|
||||
android:label="@string/add_directory_title"/>
|
||||
|
||||
<activity
|
||||
android:name=".activities.SettingsActivity"
|
||||
android:theme="@style/DolphinSettingsGamecube"
|
||||
android:label="@string/grid_menu_settings"/>
|
||||
|
||||
<activity
|
||||
android:name="org.dolphinemu.dolphinemu.gamelist.GameListActivity"
|
||||
android:label="@string/app_name"
|
||||
|
@ -60,7 +65,9 @@
|
|||
android:label="@string/settings"
|
||||
android:theme="@android:style/Theme.Holo.Light" />
|
||||
|
||||
<service android:name=".AssetCopyService"/>
|
||||
<service android:name=".services.AssetCopyService"/>
|
||||
|
||||
<service android:name=".services.SettingsSaveService"/>
|
||||
|
||||
</application>
|
||||
|
||||
|
|
|
@ -10,16 +10,17 @@ import android.support.v7.widget.GridLayoutManager;
|
|||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.Toolbar;
|
||||
|
||||
import org.dolphinemu.dolphinemu.AssetCopyService;
|
||||
import org.dolphinemu.dolphinemu.NativeLibrary;
|
||||
import org.dolphinemu.dolphinemu.R;
|
||||
import org.dolphinemu.dolphinemu.adapters.GameAdapter;
|
||||
import org.dolphinemu.dolphinemu.model.Game;
|
||||
import org.dolphinemu.dolphinemu.model.GcGame;
|
||||
import org.dolphinemu.dolphinemu.services.AssetCopyService;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
|
@ -89,8 +90,8 @@ public final class GameGridActivity extends Activity
|
|||
* Callback from AddDirectoryActivity. Applies any changes necessary to the GameGridActivity.
|
||||
*
|
||||
* @param requestCode An int describing whether the Activity that is returning did so successfully.
|
||||
* @param resultCode An int describing what Activity is giving us this callback.
|
||||
* @param result The information the returning Activity is providing us.
|
||||
* @param resultCode An int describing what Activity is giving us this callback.
|
||||
* @param result The information the returning Activity is providing us.
|
||||
*/
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, Intent result)
|
||||
|
@ -126,7 +127,27 @@ public final class GameGridActivity extends Activity
|
|||
MenuInflater inflater = getMenuInflater();
|
||||
inflater.inflate(R.menu.menu_game_grid, menu);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Called by the framework whenever any actionbar/toolbar icon is clicked.
|
||||
*
|
||||
* @param item The icon that was clicked on.
|
||||
* @return True if the event was handled, false to bubble it up to the OS.
|
||||
*/
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item)
|
||||
{
|
||||
switch (item.getItemId())
|
||||
{
|
||||
case R.id.menu_settings:
|
||||
// Launch the Settings Actvity.
|
||||
Intent settings = new Intent(this, SettingsActivity.class);
|
||||
startActivity(settings);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// TODO Replace all of this with a SQLite database
|
||||
|
@ -172,7 +193,8 @@ public final class GameGridActivity extends Activity
|
|||
}
|
||||
|
||||
}
|
||||
} catch (Exception ignored)
|
||||
}
|
||||
catch (Exception ignored)
|
||||
{
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
package org.dolphinemu.dolphinemu.activities;
|
||||
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
|
||||
import org.dolphinemu.dolphinemu.fragments.SettingsFragment;
|
||||
import org.dolphinemu.dolphinemu.services.SettingsSaveService;
|
||||
|
||||
public final class SettingsActivity extends Activity
|
||||
{
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
// Display the fragment as the main content.
|
||||
getFragmentManager().beginTransaction()
|
||||
.replace(android.R.id.content, new SettingsFragment(), "settings_fragment")
|
||||
.commit();
|
||||
}
|
||||
|
||||
/**
|
||||
* If this is called, the user has left the settings screen (potentially through the
|
||||
* home button) and will expect their changes to be persisted. So we kick off an
|
||||
* IntentService which will do so on a background thread.
|
||||
*/
|
||||
@Override
|
||||
protected void onStop()
|
||||
{
|
||||
super.onStop();
|
||||
|
||||
Log.d("DolphinEmulator", "Settings activity stopping. Saving settings to INI...");
|
||||
|
||||
// Copy assets into appropriate locations.
|
||||
Intent settingsSaver = new Intent(this, SettingsSaveService.class);
|
||||
startService(settingsSaver);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,197 @@
|
|||
package org.dolphinemu.dolphinemu.fragments;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.os.Environment;
|
||||
import android.preference.ListPreference;
|
||||
import android.preference.PreferenceFragment;
|
||||
import android.preference.PreferenceManager;
|
||||
|
||||
import org.dolphinemu.dolphinemu.R;
|
||||
import org.dolphinemu.dolphinemu.utils.EGLHelper;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.microedition.khronos.opengles.GL10;
|
||||
|
||||
public final class SettingsFragment extends PreferenceFragment implements SharedPreferences.OnSharedPreferenceChangeListener
|
||||
{
|
||||
private SharedPreferences mPreferences;
|
||||
private ListPreference mVideoBackendPreference;
|
||||
|
||||
private final EGLHelper mEglHelper = new EGLHelper(EGLHelper.EGL_OPENGL_ES2_BIT);
|
||||
private final String mVendor = mEglHelper.getGL().glGetString(GL10.GL_VENDOR);
|
||||
|
||||
private final String mVersion = mEglHelper.getGL().glGetString(GL10.GL_VERSION);
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState)
|
||||
{
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
// Load the preferences from an XML resource
|
||||
addPreferencesFromResource(R.xml.preferences);
|
||||
|
||||
// TODO Below here is effectively ported from the old VideoSettingsFragment. There is
|
||||
// TODO probably a simpler way to do this, but potentially could require UI discussion/feedback.
|
||||
|
||||
// Setting valid video backends.
|
||||
mVideoBackendPreference = (ListPreference) findPreference("gpuPref");
|
||||
final boolean deviceSupportsGL = mEglHelper.supportsOpenGL();
|
||||
final boolean deviceSupportsGLES3 = mEglHelper.supportsGLES3();
|
||||
|
||||
if (deviceSupportsGL)
|
||||
{
|
||||
mVideoBackendPreference.setEntries(R.array.videoBackendEntriesGL);
|
||||
mVideoBackendPreference.setEntryValues(R.array.videoBackendValuesGL);
|
||||
}
|
||||
else if (deviceSupportsGLES3)
|
||||
{
|
||||
mVideoBackendPreference.setEntries(R.array.videoBackendEntriesGLES3);
|
||||
mVideoBackendPreference.setEntryValues(R.array.videoBackendValuesGLES3);
|
||||
}
|
||||
else
|
||||
{
|
||||
mVideoBackendPreference.setEntries(R.array.videoBackendEntriesNoGLES3);
|
||||
mVideoBackendPreference.setEntryValues(R.array.videoBackendValuesNoGLES3);
|
||||
}
|
||||
|
||||
//
|
||||
// Set available post processing shaders
|
||||
//
|
||||
|
||||
List<CharSequence> shader_names = new ArrayList<CharSequence>();
|
||||
List<CharSequence> shader_values = new ArrayList<CharSequence>();
|
||||
|
||||
// Disabled option
|
||||
shader_names.add("Disabled");
|
||||
shader_values.add("");
|
||||
|
||||
// TODO Since shaders are included with the APK, we know what they are at build-time. We should
|
||||
// TODO be able to run this logic somehow at build-time and not rely on the device doing it.
|
||||
|
||||
File shaders_folder = new File(Environment.getExternalStorageDirectory() + File.separator + "dolphin-emu" + File.separator + "Shaders");
|
||||
if (shaders_folder.exists())
|
||||
{
|
||||
File[] shaders = shaders_folder.listFiles();
|
||||
for (File file : shaders)
|
||||
{
|
||||
if (file.isFile())
|
||||
{
|
||||
String filename = file.getName();
|
||||
if (filename.endsWith(".glsl"))
|
||||
{
|
||||
// Strip the extension and put it in to the list
|
||||
shader_names.add(filename.substring(0, filename.lastIndexOf('.')));
|
||||
shader_values.add(filename.substring(0, filename.lastIndexOf('.')));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
final ListPreference shader_preference = (ListPreference) findPreference("postProcessingShader");
|
||||
shader_preference.setEntries(shader_names.toArray(new CharSequence[shader_names.size()]));
|
||||
shader_preference.setEntryValues(shader_values.toArray(new CharSequence[shader_values.size()]));
|
||||
|
||||
//
|
||||
// Disable all options if Software Rendering is used.
|
||||
//
|
||||
// Note that the numeric value in 'getPreference()'
|
||||
// denotes the placement on the UI. So if more elements are
|
||||
// added to the video settings, these may need to change.
|
||||
//
|
||||
mPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
|
||||
|
||||
if (mVideoBackendPreference.getValue().equals("Software Renderer"))
|
||||
{
|
||||
findPreference("enhancements").setEnabled(false);
|
||||
findPreference("hacks").setEnabled(false);
|
||||
findPreference("showFPS").setEnabled(false);
|
||||
}
|
||||
else if (mVideoBackendPreference.getValue().equals("OGL"))
|
||||
{
|
||||
findPreference("enhancements").setEnabled(true);
|
||||
findPreference("hacks").setEnabled(true);
|
||||
findPreference("showFPS").setEnabled(true);
|
||||
|
||||
// Check if we support stereo
|
||||
// If we support desktop GL then we must support at least OpenGL 3.2
|
||||
// If we only support OpenGLES then we need both OpenGLES 3.1 and AEP
|
||||
if ((mEglHelper.supportsOpenGL() && mEglHelper.GetVersion() >= 320) ||
|
||||
(mEglHelper.supportsGLES3() && mEglHelper.GetVersion() >= 310 && mEglHelper.SupportsExtension("GL_ANDROID_extension_pack_es31a")))
|
||||
findPreference("StereoscopyScreen").setEnabled(true);
|
||||
else
|
||||
findPreference("StereoscopyScreen").setEnabled(false);
|
||||
}
|
||||
|
||||
// Also set a listener, so that if someone changes the video backend, it will disable
|
||||
// the video settings, upon the user choosing "Software Rendering".
|
||||
mPreferences.registerOnSharedPreferenceChangeListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSharedPreferenceChanged(SharedPreferences preferences, String key)
|
||||
{
|
||||
if (key.equals("gpuPref"))
|
||||
{
|
||||
if (preferences.getString(key, "Software Renderer").equals("Software Renderer"))
|
||||
{
|
||||
findPreference("enhancements").setEnabled(false);
|
||||
findPreference("hacks").setEnabled(false);
|
||||
findPreference("showFPS").setEnabled(false);
|
||||
}
|
||||
else if (preferences.getString(key, "Software Renderer").equals("OGL"))
|
||||
{
|
||||
findPreference("enhancements").setEnabled(true);
|
||||
findPreference("hacks").setEnabled(true);
|
||||
findPreference("showFPS").setEnabled(true);
|
||||
|
||||
// Create an alert telling them that their phone sucks
|
||||
if (mEglHelper.supportsGLES3()
|
||||
&& mVendor.equals("Qualcomm")
|
||||
&& getQualcommVersion() == 14.0f)
|
||||
{
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
||||
builder.setTitle(R.string.device_compat_warning);
|
||||
builder.setMessage(R.string.device_gles3compat_warning_msg);
|
||||
builder.setPositiveButton(R.string.yes, null);
|
||||
builder.setNegativeButton(R.string.no, new DialogInterface.OnClickListener()
|
||||
{
|
||||
public void onClick(DialogInterface dialog, int which)
|
||||
{
|
||||
// Get an editor.
|
||||
SharedPreferences.Editor editor = mPreferences.edit();
|
||||
editor.putString("gpuPref", "Software Renderer");
|
||||
editor.apply();
|
||||
mVideoBackendPreference.setValue("Software Renderer");
|
||||
}
|
||||
});
|
||||
builder.show();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private float getQualcommVersion()
|
||||
{
|
||||
final int start = mVersion.indexOf("V@") + 2;
|
||||
final StringBuilder versionBuilder = new StringBuilder();
|
||||
|
||||
for (int i = start; i < mVersion.length(); i++)
|
||||
{
|
||||
char c = mVersion.charAt(i);
|
||||
|
||||
// End of numeric portion of version string.
|
||||
if (c == ' ')
|
||||
break;
|
||||
|
||||
versionBuilder.append(c);
|
||||
}
|
||||
|
||||
return Float.parseFloat(versionBuilder.toString());
|
||||
}
|
||||
}
|
|
@ -20,7 +20,6 @@ import android.os.Environment;
|
|||
import android.preference.PreferenceManager;
|
||||
import android.support.v4.app.ActionBarDrawerToggle;
|
||||
import android.support.v4.widget.DrawerLayout;
|
||||
import android.util.Log;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
|
@ -28,12 +27,12 @@ import android.view.View;
|
|||
import android.widget.AdapterView;
|
||||
import android.widget.ListView;
|
||||
|
||||
import org.dolphinemu.dolphinemu.AssetCopyService;
|
||||
import org.dolphinemu.dolphinemu.NativeLibrary;
|
||||
import org.dolphinemu.dolphinemu.R;
|
||||
import org.dolphinemu.dolphinemu.about.AboutActivity;
|
||||
import org.dolphinemu.dolphinemu.emulation.EmulationActivity;
|
||||
import org.dolphinemu.dolphinemu.folderbrowser.FolderBrowser;
|
||||
import org.dolphinemu.dolphinemu.services.AssetCopyService;
|
||||
import org.dolphinemu.dolphinemu.settings.PrefsActivity;
|
||||
import org.dolphinemu.dolphinemu.sidemenu.SideMenuAdapter;
|
||||
import org.dolphinemu.dolphinemu.sidemenu.SideMenuItem;
|
||||
|
|
|
@ -4,13 +4,13 @@
|
|||
* Refer to the license.txt file included.
|
||||
*/
|
||||
|
||||
package org.dolphinemu.dolphinemu;
|
||||
package org.dolphinemu.dolphinemu.services;
|
||||
|
||||
import android.app.IntentService;
|
||||
import android.content.Intent;
|
||||
import android.os.Environment;
|
||||
import android.util.Log;
|
||||
|
||||
import org.dolphinemu.dolphinemu.NativeLibrary;
|
||||
import org.dolphinemu.dolphinemu.settings.UserPreferences;
|
||||
|
||||
import java.io.File;
|
|
@ -0,0 +1,30 @@
|
|||
package org.dolphinemu.dolphinemu.services;
|
||||
|
||||
import android.app.IntentService;
|
||||
import android.content.Intent;
|
||||
import android.util.Log;
|
||||
|
||||
import org.dolphinemu.dolphinemu.settings.UserPreferences;
|
||||
|
||||
/**
|
||||
* IntentServices, unlike regular services, inherently run on a background thread.
|
||||
* This IntentService saves all the options the user set in the Java-based UI into
|
||||
* INI files the native code can read.
|
||||
*/
|
||||
public final class SettingsSaveService extends IntentService
|
||||
{
|
||||
private static final String TAG = "DolphinEmulator";
|
||||
|
||||
public SettingsSaveService()
|
||||
{
|
||||
super("SettingsSaveService");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onHandleIntent(Intent intent)
|
||||
{
|
||||
Log.v(TAG, "Saving settings to INI files...");
|
||||
UserPreferences.SavePrefsToIni(this);
|
||||
Log.v(TAG, "Save successful.");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/frame_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="@dimen/activity_horizontal_margin"
|
||||
android:layout_marginRight="@dimen/activity_horizontal_margin"
|
||||
tools:listitem="@layout/list_item_file"
|
||||
android:elevation="4dp"
|
||||
android:background="@android:color/white"/>
|
||||
|
||||
|
||||
</LinearLayout>
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item
|
||||
android:id="@+id/clearGameList"
|
||||
android:title="@string/clear_game_list"
|
||||
android:id="@+id/menu_settings"
|
||||
android:title="@string/grid_menu_settings"
|
||||
android:showAsAction="never"/>
|
||||
</menu>
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- Example customization of dimensions originally defined in res/values/dimens.xml
|
||||
(such as screen margins) for screens with more than 1024dp of available width. -->
|
||||
<dimen name="activity_horizontal_margin">96dp</dimen>
|
||||
</resources>
|
|
@ -1,6 +1,5 @@
|
|||
<resources>
|
||||
<!-- Example customization of dimensions originally defined in res/values/dimens.xml
|
||||
(such as screen margins) for screens with more than 820dp of available width. This
|
||||
would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). -->
|
||||
(such as screen margins) for screens with more than 820dp of available width. -->
|
||||
<dimen name="activity_horizontal_margin">64dp</dimen>
|
||||
</resources>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
<!-- All lists for ListPreference keys/values are placed here -->
|
||||
<resources>
|
||||
|
||||
|
||||
<!-- CPU core selection - X86_64 -->
|
||||
<string-array name="emuCoreEntriesX86_64" translatable="false">
|
||||
<item>@string/interpreter</item>
|
||||
|
@ -42,7 +42,14 @@
|
|||
<string-array name="emuCoreValuesOther" translatable="false">
|
||||
<item>0</item>
|
||||
</string-array>
|
||||
|
||||
|
||||
<!-- New UI CPU Core selection - Default -->
|
||||
<string-array name="string_emu_cores" translatable="false">
|
||||
<item>@string/interpreter</item>
|
||||
</string-array>
|
||||
<string-array name="int_emu_cores" translatable="false">
|
||||
<item>0</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Video Backend Selection - Supports OpenGL ES 3 -->
|
||||
<string-array name="videoBackendEntriesGLES3" translatable="false">
|
||||
|
|
|
@ -220,8 +220,20 @@
|
|||
<string name="disabled">Disabled</string>
|
||||
<string name="other">Other</string>
|
||||
|
||||
<!-- New UI Strings -->
|
||||
<string name="title_new_ui">Dolphin New UI</string>
|
||||
|
||||
|
||||
<!-- Game Grid Screen-->
|
||||
<string name="grid_menu_settings">Settings</string>
|
||||
|
||||
<!-- Add Directory Screen-->
|
||||
<string name="add_directory_title">Add Folder to Library</string>
|
||||
<string name="add_directory_up_one_level">Up one level</string>
|
||||
<string name="add_directory_empty_folder">That folder is empty.</string>
|
||||
|
||||
<!-- Preferences Screen -->
|
||||
<string name="preferences_cpu">CPU Settings</string>
|
||||
<string name="preferences_input">Input Settings</string>
|
||||
<string name="preferences_video">Video Settings</string>
|
||||
</resources>
|
||||
|
|
|
@ -9,6 +9,12 @@
|
|||
<item name="android:colorPrimaryDark">@color/dolphin_blue_dark</item>
|
||||
</style>
|
||||
|
||||
<!-- Same as above, but use default action bar, and mandate margins. -->
|
||||
<style name="DolphinSettingsBase" parent="android:Theme.Material.Light.DarkActionBar">
|
||||
<item name="android:colorPrimary">@color/dolphin_blue</item>
|
||||
<item name="android:colorPrimaryDark">@color/dolphin_blue_dark</item>
|
||||
</style>
|
||||
|
||||
<!-- Inherit from the Base Dolphin Theme-->
|
||||
<style name="DolphinWii" parent="DolphinBase">
|
||||
<!-- theme UI controls like checkboxes and text fields -->
|
||||
|
@ -24,4 +30,20 @@
|
|||
<!-- theme UI controls like checkboxes and text fields -->
|
||||
<item name="android:colorAccent">@color/dolphin_accent_wiiware</item>
|
||||
</style>
|
||||
|
||||
<!-- Inherit from the Base Dolphin Settings Theme-->
|
||||
<style name="DolphinSettingsWii" parent="DolphinSettingsBase">
|
||||
<!-- theme UI controls like checkboxes and text fields -->
|
||||
<item name="android:colorAccent">@color/dolphin_accent_wii</item>
|
||||
</style>
|
||||
|
||||
<style name="DolphinSettingsGamecube" parent="DolphinSettingsBase">
|
||||
<!-- theme UI controls like checkboxes and text fields -->
|
||||
<item name="android:colorAccent">@color/dolphin_accent_gamecube</item>
|
||||
</style>
|
||||
|
||||
<style name="DolphinSettingsWiiware" parent="DolphinSettingsBase">
|
||||
<!-- theme UI controls like checkboxes and text fields -->
|
||||
<item name="android:colorAccent">@color/dolphin_accent_wiiware</item>
|
||||
</style>
|
||||
</resources>
|
|
@ -0,0 +1,690 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<PreferenceCategory
|
||||
android:key="preferences_cpu"
|
||||
android:title="@string/preferences_cpu">
|
||||
|
||||
<!-- CPU Settings -->
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="dualCorePref"
|
||||
android:summary="@string/dual_core_descrip"
|
||||
android:title="@string/dual_core"/>
|
||||
|
||||
<ListPreference
|
||||
android:key="cpuCorePref"
|
||||
android:summary="@string/cpu_core_desc"
|
||||
android:title="@string/cpu_core"
|
||||
android:entries="@array/string_emu_cores"
|
||||
android:entryValues="@array/int_emu_cores"/>
|
||||
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="fastmemPref"
|
||||
android:summary="@string/fastmem_desc"
|
||||
android:title="@string/fastmem"/>
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
android:key="preferences_input"
|
||||
android:title="@string/preferences_input">
|
||||
|
||||
<PreferenceScreen
|
||||
android:key="input_overlay"
|
||||
android:summary="@string/input_overlay_desc"
|
||||
android:title="@string/input_overlay">
|
||||
|
||||
<Preference
|
||||
android:key="inputOverlayConfigPref"
|
||||
android:summary="@string/input_overlay_layout_desc"
|
||||
android:title="@string/input_overlay_layout">
|
||||
|
||||
<intent
|
||||
android:targetClass="org.dolphinemu.dolphinemu.settings.input.overlayconfig.OverlayConfigActivity"
|
||||
android:targetPackage="org.dolphinemu.dolphinemu.debug"/>
|
||||
|
||||
</Preference>
|
||||
|
||||
<SeekBarPreference
|
||||
android:defaultValue="25"
|
||||
android:key="controls_size"
|
||||
android:max="75"
|
||||
android:title="@string/controls_size"/>
|
||||
|
||||
</PreferenceScreen>
|
||||
|
||||
<!-- GameCube controller bindings -->
|
||||
<PreferenceScreen
|
||||
android:key="gamecube_bindings"
|
||||
android:title="@string/gamecube_bindings">
|
||||
|
||||
<PreferenceScreen
|
||||
android:key="gamecube_bindings_control_0"
|
||||
android:title="@string/controller_0">
|
||||
|
||||
<CheckBoxPreference
|
||||
android:key="enableController1"
|
||||
android:title="@string/enable_controller"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController1"
|
||||
android:key="InputA_0"
|
||||
android:title="@string/button_a"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController1"
|
||||
android:key="InputB_0"
|
||||
android:title="@string/button_b"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController1"
|
||||
android:key="InputX_0"
|
||||
android:title="@string/button_x"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController1"
|
||||
android:key="InputY_0"
|
||||
android:title="@string/button_y"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController1"
|
||||
android:key="InputZ_0"
|
||||
android:title="@string/button_z"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController1"
|
||||
android:key="InputStart_0"
|
||||
android:title="@string/button_start"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController1"
|
||||
android:key="DPadUp_0"
|
||||
android:title="@string/dpad_up"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController1"
|
||||
android:key="DPadDown_0"
|
||||
android:title="@string/dpad_down"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController1"
|
||||
android:key="DPadLeft_0"
|
||||
android:title="@string/dpad_left"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController1"
|
||||
android:key="DPadRight_0"
|
||||
android:title="@string/dpad_right"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController1"
|
||||
android:key="MainUp_0"
|
||||
android:title="@string/main_stick_up"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController1"
|
||||
android:key="MainDown_0"
|
||||
android:title="@string/main_stick_down"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController1"
|
||||
android:key="MainLeft_0"
|
||||
android:title="@string/main_stick_left"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController1"
|
||||
android:key="MainRight_0"
|
||||
android:title="@string/main_stick_right"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController1"
|
||||
android:key="CStickUp_0"
|
||||
android:title="@string/c_stick_up"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController1"
|
||||
android:key="CStickDown_0"
|
||||
android:title="@string/c_stick_down"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController1"
|
||||
android:key="CStickLeft_0"
|
||||
android:title="@string/c_stick_left"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController1"
|
||||
android:key="CStickRight_0"
|
||||
android:title="@string/c_stick_right"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController1"
|
||||
android:key="InputL_0"
|
||||
android:title="@string/trigger_left"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController1"
|
||||
android:key="InputR_0"
|
||||
android:title="@string/trigger_right"/>
|
||||
|
||||
</PreferenceScreen>
|
||||
|
||||
<PreferenceScreen
|
||||
android:key="gamecube_bindings_control_1"
|
||||
android:title="@string/controller_1">
|
||||
|
||||
<CheckBoxPreference
|
||||
android:key="enableController2"
|
||||
android:title="@string/enable_controller"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController2"
|
||||
android:key="InputA_1"
|
||||
android:title="@string/button_a"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController2"
|
||||
android:key="InputB_1"
|
||||
android:title="@string/button_b"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController2"
|
||||
android:key="InputX_1"
|
||||
android:title="@string/button_x"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController2"
|
||||
android:key="InputY_1"
|
||||
android:title="@string/button_y"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController2"
|
||||
android:key="InputZ_1"
|
||||
android:title="@string/button_z"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController2"
|
||||
android:key="InputStart_1"
|
||||
android:title="@string/button_start"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController2"
|
||||
android:key="DPadUp_1"
|
||||
android:title="@string/dpad_up"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController2"
|
||||
android:key="DPadDown_1"
|
||||
android:title="@string/dpad_down"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController2"
|
||||
android:key="DPadLeft_1"
|
||||
android:title="@string/dpad_left"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController2"
|
||||
android:key="DPadRight_1"
|
||||
android:title="@string/dpad_right"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController2"
|
||||
android:key="MainUp_1"
|
||||
android:title="@string/main_stick_up"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController2"
|
||||
android:key="MainDown_1"
|
||||
android:title="@string/main_stick_down"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController2"
|
||||
android:key="MainLeft_1"
|
||||
android:title="@string/main_stick_left"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController2"
|
||||
android:key="MainRight_1"
|
||||
android:title="@string/main_stick_right"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController2"
|
||||
android:key="CStickUp_1"
|
||||
android:title="@string/c_stick_up"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController2"
|
||||
android:key="CStickDown_1"
|
||||
android:title="@string/c_stick_down"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController2"
|
||||
android:key="CStickLeft_1"
|
||||
android:title="@string/c_stick_left"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController2"
|
||||
android:key="CStickRight_1"
|
||||
android:title="@string/c_stick_right"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController2"
|
||||
android:key="InputL_1"
|
||||
android:title="@string/trigger_left"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController2"
|
||||
android:key="InputR_1"
|
||||
android:title="@string/trigger_right"/>
|
||||
|
||||
</PreferenceScreen>
|
||||
|
||||
<PreferenceScreen
|
||||
android:key="gamecube_bindings_control_2"
|
||||
android:title="@string/controller_2">
|
||||
<CheckBoxPreference
|
||||
android:key="enableController3"
|
||||
android:title="@string/enable_controller"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController3"
|
||||
android:key="InputA_2"
|
||||
android:title="@string/button_a"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController3"
|
||||
android:key="InputB_2"
|
||||
android:title="@string/button_b"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController3"
|
||||
android:key="InputX_2"
|
||||
android:title="@string/button_x"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController3"
|
||||
android:key="InputY_2"
|
||||
android:title="@string/button_y"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController3"
|
||||
android:key="InputZ_2"
|
||||
android:title="@string/button_z"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController3"
|
||||
android:key="InputStart_2"
|
||||
android:title="@string/button_start"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController3"
|
||||
android:key="DPadUp_2"
|
||||
android:title="@string/dpad_up"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController3"
|
||||
android:key="DPadDown_2"
|
||||
android:title="@string/dpad_down"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController3"
|
||||
android:key="DPadLeft_2"
|
||||
android:title="@string/dpad_left"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController3"
|
||||
android:key="DPadRight_2"
|
||||
android:title="@string/dpad_right"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController3"
|
||||
android:key="MainUp_2"
|
||||
android:title="@string/main_stick_up"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController3"
|
||||
android:key="MainDown_2"
|
||||
android:title="@string/main_stick_down"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController3"
|
||||
android:key="MainLeft_2"
|
||||
android:title="@string/main_stick_left"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController3"
|
||||
android:key="MainRight_2"
|
||||
android:title="@string/main_stick_right"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController3"
|
||||
android:key="CStickUp_2"
|
||||
android:title="@string/c_stick_up"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController3"
|
||||
android:key="CStickDown_2"
|
||||
android:title="@string/c_stick_down"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController3"
|
||||
android:key="CStickLeft_2"
|
||||
android:title="@string/c_stick_left"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController3"
|
||||
android:key="CStickRight_2"
|
||||
android:title="@string/c_stick_right"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController3"
|
||||
android:key="InputL_2"
|
||||
android:title="@string/trigger_left"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController3"
|
||||
android:key="InputR_2"
|
||||
android:title="@string/trigger_right"/>
|
||||
|
||||
</PreferenceScreen>
|
||||
|
||||
<PreferenceScreen
|
||||
android:key="gamecube_bindings_control_3"
|
||||
android:title="@string/controller_3">
|
||||
|
||||
<CheckBoxPreference
|
||||
android:key="enableController4"
|
||||
android:title="@string/enable_controller"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController4"
|
||||
android:key="InputA_3"
|
||||
android:title="@string/button_a"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController4"
|
||||
android:key="InputB_3"
|
||||
android:title="@string/button_b"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController4"
|
||||
android:key="InputX_3"
|
||||
android:title="@string/button_x"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController4"
|
||||
android:key="InputY_3"
|
||||
android:title="@string/button_y"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController4"
|
||||
android:key="InputZ_3"
|
||||
android:title="@string/button_z"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController4"
|
||||
android:key="InputStart_3"
|
||||
android:title="@string/button_start"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController4"
|
||||
android:key="DPadUp_3"
|
||||
android:title="@string/dpad_up"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController4"
|
||||
android:key="DPadDown_3"
|
||||
android:title="@string/dpad_down"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController4"
|
||||
android:key="DPadLeft_3"
|
||||
android:title="@string/dpad_left"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController4"
|
||||
android:key="DPadRight_3"
|
||||
android:title="@string/dpad_right"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController4"
|
||||
android:key="MainUp_3"
|
||||
android:title="@string/main_stick_up"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController4"
|
||||
android:key="MainDown_3"
|
||||
android:title="@string/main_stick_down"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController4"
|
||||
android:key="MainLeft_3"
|
||||
android:title="@string/main_stick_left"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController4"
|
||||
android:key="MainRight_3"
|
||||
android:title="@string/main_stick_right"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController4"
|
||||
android:key="CStickUp_3"
|
||||
android:title="@string/c_stick_up"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController4"
|
||||
android:key="CStickDown_3"
|
||||
android:title="@string/c_stick_down"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController4"
|
||||
android:key="CStickLeft_3"
|
||||
android:title="@string/c_stick_left"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController4"
|
||||
android:key="CStickRight_3"
|
||||
android:title="@string/c_stick_right"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController4"
|
||||
android:key="InputL_3"
|
||||
android:title="@string/trigger_left"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.settings.input.InputBindingPreference
|
||||
android:dependency="enableController4"
|
||||
android:key="InputR_3"
|
||||
android:title="@string/trigger_right"/>
|
||||
|
||||
</PreferenceScreen>
|
||||
|
||||
</PreferenceScreen>
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
android:key="preferences_video"
|
||||
android:title="@string/preferences_video"><!-- Video Settings -->
|
||||
|
||||
|
||||
<!-- Video Enhancements -->
|
||||
<PreferenceScreen
|
||||
android:title="@string/enhancements"
|
||||
android:key="enhancements">
|
||||
|
||||
<ListPreference
|
||||
android:entries="@array/internalResolutionEntries"
|
||||
android:entryValues="@array/internalResolutionValues"
|
||||
android:key="internalResolution"
|
||||
android:summary="@string/internal_resolution_descrip"
|
||||
android:title="@string/internal_resolution"/>
|
||||
|
||||
<ListPreference
|
||||
android:entries="@array/FSAAEntries"
|
||||
android:entryValues="@array/FSAAValues"
|
||||
android:key="FSAA"
|
||||
android:summary="@string/FSAA_descrip"
|
||||
android:title="@string/FSAA"/>
|
||||
|
||||
<ListPreference
|
||||
android:entries="@array/anisotropicFilteringEntries"
|
||||
android:entryValues="@array/anisotropicFilteringValues"
|
||||
android:key="anisotropicFiltering"
|
||||
android:summary="@string/anisotropic_filtering_descrip"
|
||||
android:title="@string/anisotropic_filtering"/>
|
||||
|
||||
<ListPreference
|
||||
android:key="postProcessingShader"
|
||||
android:summary="@string/postprocessing_shader_descrip"
|
||||
android:title="@string/postprocessing_shader"/>
|
||||
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="true"
|
||||
android:key="scaledEFBCopy"
|
||||
android:summary="@string/scaled_efb_copy_descrip"
|
||||
android:title="@string/scaled_efb_copy"/>
|
||||
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="perPixelLighting"
|
||||
android:summary="@string/per_pixel_lighting_descrip"
|
||||
android:title="@string/per_pixel_lighting"/>
|
||||
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="forceTextureFiltering"
|
||||
android:summary="@string/force_texture_filtering_descrip"
|
||||
android:title="@string/force_texture_filtering"/>
|
||||
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="disableFog"
|
||||
android:summary="@string/disable_fog_descrip"
|
||||
android:title="@string/disable_fog"/>
|
||||
|
||||
<PreferenceScreen
|
||||
android:key="StereoscopyScreen"
|
||||
android:summary="@string/stereoscopy_descrip"
|
||||
android:title="@string/stereoscopy">
|
||||
|
||||
<ListPreference
|
||||
android:entries="@array/stereoscopyEntries"
|
||||
android:entryValues="@array/stereoscopyValues"
|
||||
android:key="stereoscopyMode"
|
||||
android:summary="@string/stereoscopy_mode_descrip"
|
||||
android:title="@string/stereoscopy_mode"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.utils.SliderPreference
|
||||
android:defaultValue="20"
|
||||
android:key="stereoDepth"
|
||||
android:max="100"
|
||||
android:summary="@string/sterescopy_depth_descrip"
|
||||
android:title="@string/sterescopy_depth"/>
|
||||
|
||||
<org.dolphinemu.dolphinemu.utils.SliderPreference
|
||||
android:defaultValue="20"
|
||||
android:key="stereoConvergence"
|
||||
android:max="500"
|
||||
android:summary="@string/convergence_descrip"
|
||||
android:title="@string/convergence"/>
|
||||
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="stereoSwapEyes"
|
||||
android:summary="@string/swap_eyes_descrip"
|
||||
android:title="@string/swap_eyes"/>
|
||||
</PreferenceScreen>
|
||||
</PreferenceScreen>
|
||||
|
||||
<!-- Video Hacks -->
|
||||
<PreferenceScreen
|
||||
android:title="@string/hacks"
|
||||
android:key="hacks">
|
||||
<PreferenceCategory android:title="@string/embedded_frame_buffer">
|
||||
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="skipEFBAccess"
|
||||
android:summary="@string/skip_efb_access_descrip"
|
||||
android:title="@string/skip_efb_access"/>
|
||||
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="true"
|
||||
android:key="ignoreFormatChanges"
|
||||
android:summary="@string/ignore_format_changes_descrip"
|
||||
android:title="@string/ignore_format_changes"/>
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="Texture"
|
||||
android:entries="@array/efbCopyMethodEntries"
|
||||
android:entryValues="@array/efbCopyMethodValues"
|
||||
android:key="efbCopyMethod"
|
||||
android:summary="@string/efb_copy_method_descrip"
|
||||
android:title="@string/efb_copy_method"/>
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<!-- Texture Cache -->
|
||||
<PreferenceCategory android:title="@string/texture_cache">
|
||||
<ListPreference
|
||||
android:defaultValue="Low"
|
||||
android:entries="@array/textureCacheAccuracyEntries"
|
||||
android:entryValues="@array/textureCacheAccuracyValues"
|
||||
android:key="textureCacheAccuracy"
|
||||
android:summary="@string/texture_cache_accuracy_descrip"
|
||||
android:title="@string/texture_cache_accuracy"/>
|
||||
</PreferenceCategory>
|
||||
|
||||
<!-- External Frame Buffer -->
|
||||
<PreferenceCategory android:title="@string/external_frame_buffer">
|
||||
<ListPreference
|
||||
android:defaultValue="Disabled"
|
||||
android:entries="@array/externalFrameBufferEntries"
|
||||
android:entryValues="@array/externalFrameBufferValues"
|
||||
android:key="externalFrameBuffer"
|
||||
android:summary="@string/external_frame_buffer_descrip"
|
||||
android:title="@string/external_frame_buffer"/>
|
||||
</PreferenceCategory>
|
||||
|
||||
|
||||
<!-- Other Hacks -->
|
||||
<PreferenceCategory android:title="@string/other">
|
||||
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="false"
|
||||
android:key="disableDestinationAlpha"
|
||||
android:summary="@string/disable_destination_alpha_descrip"
|
||||
android:title="@string/disable_destination_alpha"/>
|
||||
|
||||
<CheckBoxPreference
|
||||
android:defaultValue="true"
|
||||
android:key="fastDepthCalculation"
|
||||
android:summary="@string/fast_depth_calculation_descrip"
|
||||
android:title="@string/fast_depth_calculation"/>
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="0"
|
||||
android:entries="@array/aspectRatioEntries"
|
||||
android:entryValues="@array/aspectRatioValues"
|
||||
android:key="aspectRatio"
|
||||
android:summary="@string/aspect_ratio_descrip"
|
||||
android:title="@string/aspect_ratio"/>
|
||||
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
|
||||
<ListPreference
|
||||
android:key="gpuPref"
|
||||
android:summary="@string/video_backend_desc"
|
||||
android:title="@string/video_backend"/>
|
||||
|
||||
<CheckBoxPreference
|
||||
android:key="showFPS"
|
||||
android:summary="@string/show_fps_descrip"
|
||||
android:title="@string/show_fps"/>
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<!-- TODO Add the About information here too. -->
|
||||
</PreferenceScreen>
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!-- All lists for ListPreference keys/values are placed here -->
|
||||
<resources>
|
||||
|
||||
<!-- New UI CPU Core selection - x86_64 -->
|
||||
<string-array name="string_emu_cores" translatable="false">
|
||||
<item>@string/interpreter</item>
|
||||
<item>@string/jit64_recompiler</item>
|
||||
<item>@string/jitil_recompiler</item>
|
||||
</string-array>
|
||||
<string-array name="int_emu_cores" translatable="false">
|
||||
<item>0</item>
|
||||
<item>1</item>
|
||||
<item>2</item>
|
||||
</string-array>
|
||||
|
||||
</resources>
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- Title of the app -->
|
||||
<string name="title_new_ui">Dolphin ARM32</string>
|
||||
</resources>
|
Loading…
Reference in New Issue