Files
SourMesen 40335ce735 UI: Update to Avalonia 12, .NET 10 and replace ReactiveUI with MVVM community toolkit (#142)
Also fixes DX11.0 support (for Win7 PCs that aren't fully updated), which stopped working after the recent variable refresh rate changes
2026-07-03 16:04:42 +09:00

63 lines
2.4 KiB
C#

using Avalonia;
using Avalonia.Media;
using Mesen.Debugger;
using Mesen.Interop;
using Mesen.ViewModels;
using CommunityToolkit.Mvvm.ComponentModel;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
using System.Xml.Serialization;
namespace Mesen.Config
{
public partial class TraceLoggerConfig : BaseWindowConfig<TraceLoggerConfig>
{
[ObservableProperty] public partial bool AutoRefresh { get; set; } = true;
[ObservableProperty] public partial bool RefreshOnBreakPause { get; set; } = true;
[ObservableProperty] public partial bool ShowToolbar { get; set; } = true;
[ObservableProperty] public partial TraceLoggerCpuConfig SnesConfig { get; set; } = new();
[ObservableProperty] public partial TraceLoggerCpuConfig SpcConfig { get; set; } = new();
[ObservableProperty] public partial TraceLoggerCpuConfig NecDspConfig { get; set; } = new();
[ObservableProperty] public partial TraceLoggerCpuConfig Sa1Config { get; set; } = new();
[ObservableProperty] public partial TraceLoggerCpuConfig GsuConfig { get; set; } = new();
[ObservableProperty] public partial TraceLoggerCpuConfig Cx4Config { get; set; } = new();
[ObservableProperty] public partial TraceLoggerCpuConfig St018Config { get; set; } = new();
[ObservableProperty] public partial TraceLoggerCpuConfig GbConfig { get; set; } = new();
[ObservableProperty] public partial TraceLoggerCpuConfig NesConfig { get; set; } = new();
[ObservableProperty] public partial TraceLoggerCpuConfig PceConfig { get; set; } = new();
[ObservableProperty] public partial TraceLoggerCpuConfig SmsConfig { get; set; } = new();
[ObservableProperty] public partial TraceLoggerCpuConfig GbaConfig { get; set; } = new();
[ObservableProperty] public partial TraceLoggerCpuConfig WsConfig { get; set; } = new();
public TraceLoggerConfig()
{
}
public TraceLoggerCpuConfig GetCpuConfig(CpuType type)
{
return type switch {
CpuType.Snes => SnesConfig,
CpuType.Spc => SpcConfig,
CpuType.NecDsp => NecDspConfig,
CpuType.Sa1 => Sa1Config,
CpuType.Gsu => GsuConfig,
CpuType.Cx4 => Cx4Config,
CpuType.St018 => St018Config,
CpuType.Gameboy => GbConfig,
CpuType.Nes => NesConfig,
CpuType.Pce => PceConfig,
CpuType.Sms => SmsConfig,
CpuType.Gba => GbaConfig,
CpuType.Ws => WsConfig,
_ => throw new NotImplementedException("Unsupport cpu type")
};
}
}
}