Beispiel #1
0
        /// <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;
                    }
                }
            }
        }
Beispiel #2
0
 /// <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();
         }
     }
 }