/// <summary> /// /// </summary> /// <param name="model"></param> internal static void SetSaveDirs(Model.Model model) { foreach (var gd in model.GameData) { if (gd.Value.SaveDir.StartsWith("??") || gd.Value.SaveDir.Contains(".")) { gd.Value.SaveDir = Tools.HashGenerator.GetHash(gd.Value.LaunchFile).ToString("x8"); } gd.Value.GameSetting.PreviousOfficialEmulationState = gd.Value.GameSetting.OfficialEmulationState; if (gd.Value.ShaderCacheFileSize == -1) { var version = CemuFeatures.GetLatestVersion(model); FileInfo info = new FileInfo(Path.Combine(SpecialFolders.ShaderCacheFolderCemu(version), gd.Value.SaveDir + ".bin")); if (File.Exists(info.FullName)) { gd.Value.ShaderCacheFileSize = (int)info.Length; } else { gd.Value.ShaderCacheFileSize = 999; } } } }
/// <summary> /// /// </summary> /// <param name="model"></param> /// <param name="version"></param> private static void DeleteShaderCacheIfRequired(Model.Model model, InstalledVersion version) { if (model.Settings.DisableShaderCache) { DirectoryInfo di1 = new DirectoryInfo(Path.Combine(SpecialFolders.ShaderCacheFolderCemu(version), "transferable")); foreach (FileInfo file in di1.GetFiles()) { file.Delete(); } DirectoryInfo di2 = new DirectoryInfo(Path.Combine(SpecialFolders.ShaderCacheFolderCemu(version), "shaderCache", "precompiled")); foreach (FileInfo file in di2.GetFiles()) { file.Delete(); } } }