Exemple #1
0
 public override bool Execute()
 {
     foreach (var game in model.GameData)
     {
         if (!game.Value.SaveDir.StartsWith("??"))
         {
             Model.InstalledVersion latest = null;
             FileInfo latestFile           = null;
             foreach (var version in model.Settings.InstalledVersions)
             {
                 DirectoryInfo src = new DirectoryInfo(SpecialFolders.CurrentUserSaveDirCemu(version, game.Value));
                 FileInfo      fi  = GetNewestFile(src);
                 if (fi != null)
                 {
                     if (latestFile == null || latestFile.LastWriteTime < fi.LastWriteTime)
                     {
                         latestFile = fi;
                         latest     = version;
                     }
                 }
             }
             if (latest != null)
             {
                 CopySaveFolder(game.Value, latest);
             }
         }
     }
     return(true);
 }
Exemple #2
0
        private void CopySaveFolder(Model.GameInformation game, Model.InstalledVersion latest)
        {
            DirectoryInfo src    = new DirectoryInfo(SpecialFolders.CurrentUserSaveDirCemu(latest, game));
            DirectoryInfo src255 = new DirectoryInfo(SpecialFolders.CommonUserFolderCemu(latest, game));

            DirectoryInfo dest    = new DirectoryInfo(SpecialFolders.CurrentUserSaveDirBudford(model, model.CurrentUser, game, ""));
            DirectoryInfo dest255 = new DirectoryInfo(SpecialFolders.CommonSaveDirBudford(model, game, ""));

            if (Directory.Exists(src.FullName))
            {
                if (src.GetFiles().Any() || src.GetDirectories().Any() || (Directory.Exists(src255.FullName) && (src255.GetFiles().Any() || src255.GetDirectories().Any())))
                {
                    Launcher.UpdateFolder(src, dest, true);
                    Launcher.UpdateFolder(src255, dest255, true);
                }
            }
        }