Пример #1
0
        public void Upload(String Path, string fileType)
        {
            String[] directories = Directory.GetFiles(Path);


            for (int i = 0; i < directories.Length; i++)
            {
                WebClient client = new WebClient();
                if (!directories[i].ToLower().EndsWith(fileType))
                {
                    continue;
                }
                txtbox.AppendText("\n\n" + MainWindow.globalLanguage.processer.ReturnProcessed(MainWindow.globalLanguage.bBBU.code.uploadingToBMBF, directories[i]));
                try
                {
                    client.UploadFile("http://" + MainWindow.config.IP + ":50000/host/beatsaber/upload?overwrite", directories[i]);
                }
                catch
                {
                    txtbox.AppendText(MainWindow.globalLanguage.global.BMBF100);
                }

                if (i % 20 == 0 && i != 0)
                {
                    txtbox.AppendText("\n\n" + MainWindow.globalLanguage.global.syncingToBS);
                    BMBFUtils.Sync(txtbox);
                    System.Threading.Thread.Sleep(2000);
                }
            }
            BMBFUtils.Sync(txtbox);
        }
Пример #2
0
        public void PlaylistsR()
        {
            try
            {
                String PlaylistsX;

                txtbox.AppendText("\n\n" + MainWindow.globalLanguage.processer.ReturnProcessed(MainWindow.globalLanguage.bBBU.code.restoringPlaylists, Playlists + "\\Playlists.json"));
                Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new Action(delegate { }));



                if (!Directory.Exists(exe + "\\tmp"))
                {
                    Directory.CreateDirectory(exe + "\\tmp");
                }
                WebClient client = new WebClient();

                PlaylistsX = Playlists + "\\Playlists.json";

                var j = JSON.Parse(client.DownloadString("http://" + MainWindow.config.IP + ":50000/host/beatsaber/config"));
                var p = JSON.Parse(File.ReadAllText(PlaylistsX));

                j["Config"]["Playlists"] = p["Playlists"];
                BMBFUtils.PostChangesAndSync(txtbox, j["Config"].ToString().Replace("\"SongID\"", "\"Hash\""));
                txtbox.AppendText("\n\n" + MainWindow.globalLanguage.mainMenu.code.playlistsRestored);
                Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new Action(delegate { }));
            }
            catch
            {
                txtbox.AppendText(MainWindow.globalLanguage.global.BMBF100);
            }
        }
Пример #3
0
 private void finished_upload(object sender, UploadFileCompletedEventArgs e)
 {
     Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new Action(delegate
     {
         txtbox.AppendText("\n\n" + MainWindow.globalLanguage.global.syncingToBS);
     }));
     BMBFUtils.Sync(txtbox);
     txtbox.AppendText("\n\n" + MainWindow.globalLanguage.global.syncedToBS);
     Running = false;
 }
Пример #4
0
        public void Restore(object sender, RoutedEventArgs e)
        {
            StartBMBF();
            if (running)
            {
                return;
            }
            running = true;

            if (Backups.SelectedIndex == 0)
            {
                txtbox.AppendText("\n\n" + MainWindow.globalLanguage.bBBU.code.selectValidBackup);
                running = false;
                return;
            }

            //Get Backup Folders
            if (!BackupFGet())
            {
                txtbox.AppendText("\n\n" + MainWindow.globalLanguage.processer.ReturnProcessed(MainWindow.globalLanguage.bBBU.code.backupDoesntExist, Backups.SelectedValue.ToString()));
                running = false;
                return;
            }

            //Check Quest IP
            if (!MainWindow.iPUtils.CheckIP(Quest))
            {
                txtbox.AppendText("\n\n" + MainWindow.globalLanguage.global.ipInvalid);
                running = false;
                return;
            }

            if ((bool)RAPK.IsChecked)
            {
                MessageBoxResult r = MessageBox.Show(MainWindow.globalLanguage.bBBU.code.rAPKWarning, "BMBF Manager - BMBF Beat Saber Backup Utility", MessageBoxButton.YesNo, MessageBoxImage.Warning);
                switch (r)
                {
                case MessageBoxResult.Yes:
                    txtbox.AppendText("\n\n" + MainWindow.globalLanguage.bBBU.code.restoringAborted);
                    running = false;
                    return;
                }
            }

            MainWindow.DCRPM.SetActivity(MainWindow.globalLanguage.dCRP.restoringBBBUBackup);

            //APKs
            if ((bool)RAPK.IsChecked)
            {
                RestoreAPK();
            }

            //Scores
            if ((bool)RScores.IsChecked == true && (bool)RAPK.IsChecked == false)
            {
                txtbox.AppendText("\n\n" + MainWindow.globalLanguage.bBBU.code.pushingScores);
                MainWindow.aDBI.adb("push \"" + Scores + "\\LocalDailyLeaderboards.dat\" /sdcard/Android/data/com.beatgames.beatsaber/files/LocalDailyLeaderboards.dat", txtbox);
                MainWindow.aDBI.adb("push \"" + Scores + "\\LocalLeaderboards.dat\" /sdcard/Android/data/com.beatgames.beatsaber/files/LocalLeaderboards.dat", txtbox);
                MainWindow.aDBI.adb("push \"" + Scores + "\\PlayerData.dat\" /sdcard/Android/data/com.beatgames.beatsaber/files/PlayerData.dat", txtbox);
                MainWindow.aDBI.adb("push \"" + Scores + "\\AvatarData.dat\" /sdcard/Android/data/com.beatgames.beatsaber/files/AvatarData.dat", txtbox);
                MainWindow.aDBI.adb("push \"" + Scores + "\\settings.cfg\" /sdcard/Android/data/com.beatgames.beatsaber/files/setting.cfg", txtbox);
                txtbox.AppendText("\n" + MainWindow.globalLanguage.bBBU.code.pushedScores);
                txtbox.ScrollToEnd();
            }

            //ModData
            if ((bool)RReplays.IsChecked)
            {
                txtbox.AppendText("\n\n" + MainWindow.globalLanguage.bBBU.code.pushingModData);
                if (Directory.Exists(BackupF + "\\replays"))
                {
                    MainWindow.aDBI.adb("push \"" + BackupF + "\\replays\" /sdcard/ModData/com.beatgames.beatsaber/Mods/Replay/", txtbox);
                }
                if (Directory.Exists(BackupF + "\\Configs"))
                {
                    MainWindow.aDBI.adb("push \"" + BackupF + "\\Configs\" /sdcard/ModData/com.beatgames.beatsaber/", txtbox);
                }
                if (Directory.Exists(BackupF + "\\Qosmetics"))
                {
                    MainWindow.aDBI.adb("push \"" + BackupF + "\\Qosmetics\" /sdcard/ModData/com.beatgames.beatsaber/Mods/", txtbox);
                }
                if (Directory.Exists(BackupF + "\\com.beatgames.beatsaber"))
                {
                    MainWindow.aDBI.adb("push \"" + BackupF + "\\com.beatgames.beatsaber\" /sdcard/ModData/", txtbox);
                }
                if (Directory.Exists(SongsOld))
                {
                    if (CheckVer() == 0)
                    {
                        txtbox.AppendText("\n\n" + MainWindow.globalLanguage.bBBU.code.uploadingSongs);
                        Upload(SongsOld, ".zip");
                        txtbox.AppendText("\n" + MainWindow.globalLanguage.bBBU.code.uploadedSongs);
                    }
                    else if (CheckVer() == 1)
                    {
                        txtbox.AppendText("\n" + MainWindow.globalLanguage.bBBU.code.pushingSongs);
                        if (Directory.Exists(SongsOld))
                        {
                            Directory.Move(SongsOld, BackupF + "\\CustomLevels");
                        }
                        MainWindow.aDBI.adb("push \"" + BackupF + "\\CustomLevels\" /sdcard/ModData/com.beatgames.beatsaber/Mods/SongLoader/", txtbox);
                        txtbox.AppendText("\n" + MainWindow.globalLanguage.bBBU.code.pushedSongs);
                    }
                }
                txtbox.AppendText("\n" + MainWindow.globalLanguage.bBBU.code.pushedModData);
                txtbox.ScrollToEnd();
            }


            //Playlists
            if ((bool)RPlaylists.IsChecked)
            {
                Version version = new Version(MainWindow.config.GameVersion);
                try
                {
                    WebClient c      = new WebClient();
                    BMBFC     config = BMBFUtils.GetBMBFConfig();
                    version = new Version(config.BeatSaberVersion);
                }
                catch { }
                MessageBoxResult r = MessageBoxResult.Yes;
                if (BackupConfig.BSVersion.CompareTo(new Version(1, 13, 4)) == -1 && version.CompareTo(new Version(1, 13, 3)) == 1)
                {
                    r = MessageBox.Show(MainWindow.globalLanguage.bBBU.code.backupOld, "BMBF Manager - BMBF and Beat Saber backup Utility", MessageBoxButton.YesNo, MessageBoxImage.Exclamation);
                }
                if (r == MessageBoxResult.Yes)
                {
                    PlaylistsR();
                    PushPNG(Playlists + "\\Playlists");
                }
                else
                {
                    txtbox.AppendText(MainWindow.globalLanguage.playlistEditor.code.aborting);
                }

                txtbox.ScrollToEnd();
            }

            //Mods
            if ((bool)RMods.IsChecked)
            {
                txtbox.AppendText("\n\n" + MainWindow.globalLanguage.bBBU.code.uploadingMods);
                Upload(Mods, ".qmod");
                txtbox.AppendText("\n" + MainWindow.globalLanguage.bBBU.code.uploadedMods);
                txtbox.ScrollToEnd();
            }

            txtbox.AppendText("\n\n\n" + MainWindow.globalLanguage.bBBU.code.restored);
            txtbox.ScrollToEnd();
            running = false;
        }
Пример #5
0
        public void StartBackup(String BackupName, Boolean Advanced)
        {
            StartBMBF();
            if (running)
            {
                running = false;
                return;
            }
            running = true;

            if (BackupName != "")
            {
                BName.Text = Name;
            }

            //Check Quest IP
            if (!MainWindow.iPUtils.CheckIP(Quest))
            {
                txtbox.AppendText("\n\n" + MainWindow.globalLanguage.global.ipInvalid);
                running = false;
                return;
            }
            Version version = new Version(MainWindow.config.GameVersion);

            try
            {
                WebClient c      = new WebClient();
                BMBFC     config = BMBFUtils.GetBMBFConfig();
                version = new Version(config.BeatSaberVersion);
            } catch { }
            BackupConfig.BSVersion = version;
            if (Advanced)
            {
                MessageBoxResult r = MessageBox.Show(MainWindow.globalLanguage.bBBU.code.advancedBackupWarning, "BMBF Manager - BMBF Beat Saber Backup Utility", MessageBoxButton.YesNo, MessageBoxImage.Warning);
                switch (r)
                {
                case MessageBoxResult.No:
                    txtbox.AppendText("\n\n" + MainWindow.globalLanguage.bBBU.code.backupAborted);
                    running = false;
                    return;
                }
            }

            MainWindow.DCRPM.SetActivity(MainWindow.globalLanguage.dCRP.creatingBBBUBackup);

            //Create all Backup Folders
            if (!BackupFSet())
            {
                txtbox.AppendText("\n\n" + MainWindow.globalLanguage.bBBU.code.backupExists);
                running = false;
                return;
            }

            BackupConfig = new BackupConfig();

            //Scores
            txtbox.AppendText("\n\n" + MainWindow.globalLanguage.bBBU.code.backingUpScores);
            MainWindow.aDBI.adb("pull /sdcard/Android/data/com.beatgames.beatsaber/files/LocalDailyLeaderboards.dat \"" + Scores + "\"", txtbox);
            MainWindow.aDBI.adb("pull /sdcard/Android/data/com.beatgames.beatsaber/files/LocalLeaderboards.dat \"" + Scores + "\"", txtbox);
            MainWindow.aDBI.adb("pull /sdcard/Android/data/com.beatgames.beatsaber/files/PlayerData.dat \"" + Scores + "\"", txtbox);
            MainWindow.aDBI.adb("pull /sdcard/Android/data/com.beatgames.beatsaber/files/AvatarData.dat \"" + Scores + "\"", txtbox);
            MainWindow.aDBI.adb("pull /sdcard/Android/data/com.beatgames.beatsaber/files/settings.cfg \"" + Scores + "\"", txtbox);
            txtbox.AppendText("\n" + MainWindow.globalLanguage.bBBU.code.backedUpScores + "\n");
            txtbox.ScrollToEnd();

            //Songs (now in ModData)

            //QSE();
            //MainWindow.aDBI.adb("pull /sdcard/BMBFData/CustomSongs \"" + BackupF + "\"");

            //Playlists

            PlaylistB();
            MainWindow.aDBI.adb("pull /sdcard/BMBFData/Playlists/ \"" + Playlists + "\"", txtbox);
            txtbox.ScrollToEnd();

            //ModData

            txtbox.AppendText("\n\n" + MainWindow.globalLanguage.bBBU.code.backingUpModData);
            MainWindow.aDBI.adb("pull /sdcard/ModData/com.beatgames.beatsaber \"" + BackupF + "\"", txtbox);
            txtbox.AppendText("\n" + MainWindow.globalLanguage.bBBU.code.backedUpModData + "\n");
            txtbox.ScrollToEnd();

            //Mods

            MainWindow.aDBI.adb("pull /sdcard/BMBFData/Mods \"" + BackupF + "\"", txtbox);

            if (Advanced)
            {
                BackupAPK();
                if (!BackupConfig.BMBFBackup)
                {
                    MessageBox.Show(MainWindow.globalLanguage.bBBU.code.bMBFAPKBackupFailed, "BMBF Manager - BMBF Beat Saber Backup Utility", MessageBoxButton.OK, MessageBoxImage.Error);
                }
                if (!BackupConfig.BSBackup)
                {
                    MessageBox.Show(MainWindow.globalLanguage.bBBU.code.bSAPKBackupFailed, "BMBF Manager - BMBF Beat Saber Backup Utility", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }

            if (Advanced)
            {
                BackupConfig.BackupType = 1;
            }
            else
            {
                BackupConfig.BackupType = 0;
            }
            File.WriteAllText(BackupF + "\\Backup.json", JsonSerializer.Serialize(BackupConfig));

            txtbox.AppendText("\n\n\n" + MainWindow.globalLanguage.bBBU.code.backupMade);
            txtbox.ScrollToEnd();
            running = false;
        }