Compare commits

..

5 Commits

Author SHA1 Message Date
Otozinclus
8b1a4f02ab Merge 2d79cc7a8c into 796674d9cf 2025-01-30 10:43:30 +01:00
Otozinclus
2d79cc7a8c Update TitleIDs.cs 2025-01-28 06:45:37 +01:00
Otozinclus
73e9e44a27 Update TitleIDs.cs 2025-01-28 06:43:35 +01:00
Otozinclus
78924af397 Add more games 2025-01-28 06:40:47 +01:00
Otozinclus
729774f37d Add LM2HD and ARMS to metal auto list 2025-01-28 06:15:37 +01:00
3 changed files with 25 additions and 16 deletions

View File

@@ -6,16 +6,4 @@ namespace Ryujinx.Common.Configuration
Unbounded,
Custom
}
public static class VSyncModeExtensions
{
public static VSyncMode Next(this VSyncMode vsync, bool customEnabled = false) =>
vsync switch
{
VSyncMode.Switch => customEnabled ? VSyncMode.Custom : VSyncMode.Unbounded,
VSyncMode.Unbounded => VSyncMode.Switch,
VSyncMode.Custom => VSyncMode.Unbounded,
_ => VSyncMode.Switch
};
}
}

View File

@@ -319,12 +319,31 @@ namespace Ryujinx.Ava
public void VSyncModeToggle()
{
VSyncMode oldVSyncMode = Device.VSyncMode;
VSyncMode newVSyncMode = VSyncMode.Switch;
bool customVSyncIntervalEnabled = ConfigurationState.Instance.Graphics.EnableCustomVSyncInterval.Value;
UpdateVSyncMode(this, new ReactiveEventArgs<VSyncMode>(
oldVSyncMode,
oldVSyncMode.Next(customVSyncIntervalEnabled))
);
switch (oldVSyncMode)
{
case VSyncMode.Switch:
newVSyncMode = VSyncMode.Unbounded;
break;
case VSyncMode.Unbounded:
if (customVSyncIntervalEnabled)
{
newVSyncMode = VSyncMode.Custom;
}
else
{
newVSyncMode = VSyncMode.Switch;
}
break;
case VSyncMode.Custom:
newVSyncMode = VSyncMode.Switch;
break;
}
UpdateVSyncMode(this, new ReactiveEventArgs<VSyncMode>(oldVSyncMode, newVSyncMode));
}
private void UpdateCustomVSyncIntervalValue(object sender, ReactiveEventArgs<int> e)

View File

@@ -1,9 +1,11 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
using FluentAvalonia.UI.Controls;
using Ryujinx.Ava.Common.Locale;
using Ryujinx.Ava.UI.Models.Input;
using Ryujinx.Ava.UI.ViewModels.Input;
using Ryujinx.Ava.UI.Views.Input;
using System.Threading.Tasks;
namespace Ryujinx.UI.Views.Input