From 10dabfd12d893f1605f7b0e5043682808eff29b0 Mon Sep 17 00:00:00 2001 From: MelonSpeedruns Date: Fri, 27 Mar 2020 18:25:20 -0400 Subject: [PATCH] Added GUI option to open shader folder & Fixed typo --- Ryujinx/Ui/GLRenderer.cs | 2 +- Ryujinx/Ui/GameTableContextMenu.cs | 22 ++++++++++++++++++++++ Ryujinx/Ui/GameTableContextMenu.glade | 11 ++++++++++- 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/Ryujinx/Ui/GLRenderer.cs b/Ryujinx/Ui/GLRenderer.cs index 9eef45b810..c1c4ac8c73 100644 --- a/Ryujinx/Ui/GLRenderer.cs +++ b/Ryujinx/Ui/GLRenderer.cs @@ -300,7 +300,7 @@ namespace Ryujinx.Ui // Shader cache setup. string basePath = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Ryujinx"); - string workPath = System.IO.Path.Combine(basePath, "games", _device.System.TitleIdText, "cache", "gpu"); + string workPath = System.IO.Path.Combine(basePath, "shaders", _device.System.TitleIdText); _device.Gpu.SetShaderCachePath(workPath); _device.Gpu.LoadShaderCache(); diff --git a/Ryujinx/Ui/GameTableContextMenu.cs b/Ryujinx/Ui/GameTableContextMenu.cs index 6cddb9676e..3173553693 100644 --- a/Ryujinx/Ui/GameTableContextMenu.cs +++ b/Ryujinx/Ui/GameTableContextMenu.cs @@ -31,6 +31,7 @@ namespace Ryujinx.Ui #pragma warning disable CS0649 #pragma warning disable IDE0044 [GUI] MenuItem _openSaveDir; + [GUI] MenuItem _openShaderDir; [GUI] MenuItem _extractRomFs; [GUI] MenuItem _extractExeFs; [GUI] MenuItem _extractLogo; @@ -45,6 +46,7 @@ namespace Ryujinx.Ui builder.Autoconnect(this); _openSaveDir.Activated += OpenSaveDir_Clicked; + _openShaderDir.Activated += OpenShaderDir_Clicked; _extractRomFs.Activated += ExtractRomFs_Clicked; _extractExeFs.Activated += ExtractExeFs_Clicked; _extractLogo.Activated += ExtractLogo_Clicked; @@ -412,6 +414,26 @@ namespace Ryujinx.Ui }); } + private void OpenShaderDir_Clicked(object sender, EventArgs e) + { + string titleId = _gameTableStore.GetValue(_rowIter, 2).ToString().Split("\n")[1].ToLower(); + string basePath = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Ryujinx"); + + string shaderDir = System.IO.Path.Combine(basePath, "shaders", titleId); + + if (!Directory.Exists(shaderDir)) + { + Directory.CreateDirectory(shaderDir); + } + + Process.Start(new ProcessStartInfo() + { + FileName = shaderDir, + UseShellExecute = true, + Verb = "open" + }); + } + private void ExtractRomFs_Clicked(object sender, EventArgs args) { ExtractSection(NcaSectionType.Data); diff --git a/Ryujinx/Ui/GameTableContextMenu.glade b/Ryujinx/Ui/GameTableContextMenu.glade index 13bade4e50..4b692e0e5e 100644 --- a/Ryujinx/Ui/GameTableContextMenu.glade +++ b/Ryujinx/Ui/GameTableContextMenu.glade @@ -9,11 +9,20 @@ True False - Open the folder where saves for the application is loaded + Open the folder where saves for the application are loaded Open Save Directory True + + + True + False + Open the folder where shaders for the application are loaded + Open Shader Directory + True + + True