aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Ava/UI/Windows/CheatWindow.axaml.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Ava/UI/Windows/CheatWindow.axaml.cs')
-rw-r--r--src/Ryujinx.Ava/UI/Windows/CheatWindow.axaml.cs123
1 files changed, 0 insertions, 123 deletions
diff --git a/src/Ryujinx.Ava/UI/Windows/CheatWindow.axaml.cs b/src/Ryujinx.Ava/UI/Windows/CheatWindow.axaml.cs
deleted file mode 100644
index d78e48a4..00000000
--- a/src/Ryujinx.Ava/UI/Windows/CheatWindow.axaml.cs
+++ /dev/null
@@ -1,123 +0,0 @@
-using Avalonia.Collections;
-using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Ava.UI.Models;
-using Ryujinx.HLE.FileSystem;
-using Ryujinx.HLE.HOS;
-using Ryujinx.UI.App.Common;
-using System;
-using System.Collections.Generic;
-using System.Globalization;
-using System.IO;
-using System.Linq;
-
-namespace Ryujinx.Ava.UI.Windows
-{
- public partial class CheatWindow : StyleableWindow
- {
- private readonly string _enabledCheatsPath;
- public bool NoCheatsFound { get; }
-
- public AvaloniaList<CheatNode> LoadedCheats { get; }
-
- public string Heading { get; }
- public string BuildId { get; }
-
- public CheatWindow()
- {
- DataContext = this;
-
- InitializeComponent();
-
- Title = $"Ryujinx {Program.Version} - " + LocaleManager.Instance[LocaleKeys.CheatWindowTitle];
- }
-
- public CheatWindow(VirtualFileSystem virtualFileSystem, string titleId, string titleName, string titlePath)
- {
- LoadedCheats = new AvaloniaList<CheatNode>();
-
- Heading = LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.CheatWindowHeading, titleName, titleId.ToUpper());
- BuildId = ApplicationData.GetApplicationBuildId(virtualFileSystem, titlePath);
-
- InitializeComponent();
-
- string modsBasePath = ModLoader.GetModsBasePath();
- string titleModsPath = ModLoader.GetApplicationDir(modsBasePath, titleId);
- ulong titleIdValue = ulong.Parse(titleId, NumberStyles.HexNumber);
-
- _enabledCheatsPath = Path.Combine(titleModsPath, "cheats", "enabled.txt");
-
- string[] enabled = Array.Empty<string>();
-
- if (File.Exists(_enabledCheatsPath))
- {
- enabled = File.ReadAllLines(_enabledCheatsPath);
- }
-
- int cheatAdded = 0;
-
- var mods = new ModLoader.ModCache();
-
- ModLoader.QueryContentsDir(mods, new DirectoryInfo(Path.Combine(modsBasePath, "contents")), titleIdValue);
-
- string currentCheatFile = string.Empty;
- string buildId = string.Empty;
-
- CheatNode currentGroup = null;
-
- foreach (var cheat in mods.Cheats)
- {
- if (cheat.Path.FullName != currentCheatFile)
- {
- currentCheatFile = cheat.Path.FullName;
- string parentPath = currentCheatFile.Replace(titleModsPath, "");
-
- buildId = Path.GetFileNameWithoutExtension(currentCheatFile).ToUpper();
- currentGroup = new CheatNode("", buildId, parentPath, true);
-
- LoadedCheats.Add(currentGroup);
- }
-
- var model = new CheatNode(cheat.Name, buildId, "", false, enabled.Contains($"{buildId}-{cheat.Name}"));
- currentGroup?.SubNodes.Add(model);
-
- cheatAdded++;
- }
-
- if (cheatAdded == 0)
- {
- NoCheatsFound = true;
- }
-
- DataContext = this;
-
- Title = $"Ryujinx {Program.Version} - " + LocaleManager.Instance[LocaleKeys.CheatWindowTitle];
- }
-
- public void Save()
- {
- if (NoCheatsFound)
- {
- return;
- }
-
- List<string> enabledCheats = new();
-
- foreach (var cheats in LoadedCheats)
- {
- foreach (var cheat in cheats.SubNodes)
- {
- if (cheat.IsEnabled)
- {
- enabledCheats.Add(cheat.BuildIdKey);
- }
- }
- }
-
- Directory.CreateDirectory(Path.GetDirectoryName(_enabledCheatsPath));
-
- File.WriteAllLines(_enabledCheatsPath, enabledCheats);
-
- Close();
- }
- }
-}