Browse Source

Fix android

Signed-off-by: crueter <crueter@eden-emu.dev>
pull/3525/head
crueter 4 weeks ago
parent
commit
304979701e
No known key found for this signature in database GPG Key ID: 425ACD2D4830EBC6
  1. 7
      src/android/app/src/main/java/org/yuzu/yuzu_emu/NativeLibrary.kt
  2. 5
      src/android/app/src/main/java/org/yuzu/yuzu_emu/dialogs/QuickSettings.kt
  3. 26
      src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt
  4. 5
      src/android/app/src/main/jni/native.cpp
  5. 1
      src/yuzu/main_window.cpp

7
src/android/app/src/main/java/org/yuzu/yuzu_emu/NativeLibrary.kt

@ -209,10 +209,15 @@ object NativeLibrary {
external fun setTurboSpeedLimit(enabled: Boolean) external fun setTurboSpeedLimit(enabled: Boolean)
/** /**
* Set the current speed limit to the configured turbo speed.
* Set the current speed limit to the configured slow speed.
*/ */
external fun setSlowSpeedLimit(enabled: Boolean) external fun setSlowSpeedLimit(enabled: Boolean)
/**
* Set the current speed limit to the configured standard speed.
*/
external fun setStandardSpeedLimit(enabled: Boolean)
/** /**
* Returns Vulkan driver version / API version / GPU model * Returns Vulkan driver version / API version / GPU model
*/ */

5
src/android/app/src/main/java/org/yuzu/yuzu_emu/dialogs/QuickSettings.kt

@ -138,7 +138,7 @@ class QuickSettings(val emulationFragment: EmulationFragment) {
fun addCustomToggle( fun addCustomToggle(
name: Int, name: Int,
// isChecked: Boolean,
isChecked: Boolean,
container: ViewGroup, container: ViewGroup,
callback: (Boolean) -> Unit callback: (Boolean) -> Unit
@ -152,13 +152,14 @@ class QuickSettings(val emulationFragment: EmulationFragment) {
titleView.text = YuzuApplication.appContext.getString(name) titleView.text = YuzuApplication.appContext.getString(name)
switchContainer.visibility = View.VISIBLE switchContainer.visibility = View.VISIBLE
// switchView.isChecked = isChecked
switchView.setOnCheckedChangeListener { _, checked -> switchView.setOnCheckedChangeListener { _, checked ->
callback(checked) callback(checked)
saveSettings() saveSettings()
} }
switchView.isChecked = isChecked
switchContainer.setOnClickListener { switchContainer.setOnClickListener {
switchView.toggle() switchView.toggle()
} }

26
src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt

@ -1056,11 +1056,24 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
quickSettings.addPerGameConfigStatusIndicator(container) quickSettings.addPerGameConfigStatusIndicator(container)
} }
quickSettings.addBooleanSetting(
lateinit var slowSpeed: MaterialSwitch
lateinit var turboSpeed: MaterialSwitch
quickSettings.addCustomToggle(
R.string.frame_limit_enable, R.string.frame_limit_enable,
container,
BooleanSetting.RENDERER_USE_SPEED_LIMIT,
)
BooleanSetting.RENDERER_USE_SPEED_LIMIT.getBoolean(false),
container
) { enabled ->
if (!enabled) {
turboSpeed.isChecked = false
slowSpeed.isChecked = false
}
turboSpeed.isEnabled = enabled
slowSpeed.isEnabled = enabled
NativeLibrary.setStandardSpeedLimit(enabled)
}!!
quickSettings.addSliderSetting( quickSettings.addSliderSetting(
R.string.frame_limit_slider, R.string.frame_limit_slider,
@ -1071,11 +1084,9 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
units = "%", units = "%",
) )
lateinit var slowSpeed: MaterialSwitch
lateinit var turboSpeed: MaterialSwitch
turboSpeed = quickSettings.addCustomToggle( turboSpeed = quickSettings.addCustomToggle(
R.string.turbo_speed_limit, R.string.turbo_speed_limit,
false,
container container
) { enabled -> ) { enabled ->
if (enabled) if (enabled)
@ -1085,6 +1096,7 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
slowSpeed = quickSettings.addCustomToggle( slowSpeed = quickSettings.addCustomToggle(
R.string.slow_speed_limit, R.string.slow_speed_limit,
false,
container container
) { enabled -> ) { enabled ->
if (enabled) if (enabled)

5
src/android/app/src/main/jni/native.cpp

@ -1262,6 +1262,11 @@ void Java_org_yuzu_yuzu_1emu_NativeLibrary_setSlowSpeedLimit(JNIEnv *env, jobjec
cur.SetValue(fallback); cur.SetValue(fallback);
} }
void Java_org_yuzu_yuzu_1emu_NativeLibrary_setStandardSpeedLimit(JNIEnv *env, jobject jobj, jboolean enabled) {
Settings::values.use_speed_limit.SetValue(enabled);
Settings::values.current_speed_limit.SetValue(Settings::values.speed_limit.GetValue());
}
void Java_org_yuzu_yuzu_1emu_NativeLibrary_run(JNIEnv* env, jobject jobj, jstring j_path, void Java_org_yuzu_yuzu_1emu_NativeLibrary_run(JNIEnv* env, jobject jobj, jstring j_path,
jint j_program_index, jint j_program_index,
jboolean j_frontend_initiated) { jboolean j_frontend_initiated) {

1
src/yuzu/main_window.cpp

@ -1440,6 +1440,7 @@ void MainWindow::InitializeHotkeys() {
connect_shortcut(QStringLiteral("Audio Mute/Unmute"), &MainWindow::OnMute); connect_shortcut(QStringLiteral("Audio Mute/Unmute"), &MainWindow::OnMute);
connect_shortcut(QStringLiteral("Audio Volume Down"), &MainWindow::OnDecreaseVolume); connect_shortcut(QStringLiteral("Audio Volume Down"), &MainWindow::OnDecreaseVolume);
connect_shortcut(QStringLiteral("Audio Volume Up"), &MainWindow::OnIncreaseVolume); connect_shortcut(QStringLiteral("Audio Volume Up"), &MainWindow::OnIncreaseVolume);
connect_shortcut(QStringLiteral("Toggle Framerate Limit"), [] { connect_shortcut(QStringLiteral("Toggle Framerate Limit"), [] {
Settings::values.use_speed_limit.SetValue(!Settings::values.use_speed_limit.GetValue()); Settings::values.use_speed_limit.SetValue(!Settings::values.use_speed_limit.GetValue());
Settings::values.current_speed_limit.SetValue(Settings::values.speed_limit.GetValue()); Settings::values.current_speed_limit.SetValue(Settings::values.speed_limit.GetValue());

Loading…
Cancel
Save