Ejemplo n.º 1
0
        private void btnStartBup_Click(object sender, EventArgs e)
        {
            foreach (Job job in m_task.m_jobList)
            {
                if (job.m_status == JobStatus.Waiting && job.m_steamFileSize < job.m_backupFileSize / 2)
                {
                    if (MessageBox.Show(string.Format(Resources.PotentiallyDeletedInstall, job.m_name), "Warning", MessageBoxButtons.YesNo) == DialogResult.No)
                    {
                        m_task.DisableJob(job);
                    }
                }
            }

            if (Utilities.IsSteamRunning())
            {
                MessageBox.Show(Resources.BackupSteamRunningText, Resources.SteamRunningTitle, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            else
            {
                m_canceled = false;

                m_task.Start();

                Close();
            }
        }
Ejemplo n.º 2
0
        private static void Setup()
        {
            if (Utilities.IsSteamRunning())
            {
                Console.WriteLine(@"");
                Console.WriteLine(@"Steam is running!");
                Console.WriteLine(@"Please exit Steam before backing up.");
                Console.WriteLine(@"To continue, exit Steam and restart this Application.");
                Console.WriteLine(@"Do not start Steam until the backup process is finished.");
                Console.WriteLine(@"");
                Console.WriteLine(@"Press enter to exit.");
                Console.ReadLine();
                Environment.Exit(2);
            }

            if (string.IsNullOrEmpty(m_steamDir))
            {
                try
                {
                    m_steamDir = Utilities.GetSteamDirectory();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    Environment.Exit(1);
                }
            }

            if (!Utilities.IsValidSteamFolder(m_steamDir))
            {
                Console.WriteLine(string.Format(Resources.NotValidSteamDirectory, m_steamDir));
                Environment.Exit(3);
            }

            // create folders if needed
            if (!Utilities.SetupBackupDirectory(m_outDir))
            {
                Console.WriteLine(string.Format(Resources.UnwritableDirectory, m_outDir));
                Environment.Exit(4);
            }

            m_consoleWidth = Console.BufferWidth;
            m_statusLine   = Console.CursorTop;

            m_instanceLines.Add(m_statusLine + 4);
            m_registeredInstances.Add(-1);

            if (!m_useLzma2)
            {
                for (var i = 1; i < m_numThreads; i++)
                {
                    m_instanceLines.Add(m_statusLine + 4 + (i * 3));
                    m_registeredInstances.Add(-1);
                }
            }

            Settings.BackupDir = m_outDir;

            m_bupTask = new BackupTask {
                m_steamDir = m_steamDir, m_backupDir = m_outDir
            };

            Console.SetCursorPosition(0, m_statusLine);
            Console.WriteLine(Resources.Scanning.PadRight(m_consoleWidth));

            m_bupTask.m_jobList.Clear();
            m_bupTask.Scan();

            m_bupTask.m_useLzma2  = m_useLzma2;
            m_bupTask.m_compLevel = m_compLevel;

            if (m_useLzma2)
            {
                m_bupTask.m_lzma2Threads = m_numThreads;
            }
            else
            {
                m_bupTask.m_threadCount = m_numThreads;
            }

            if (m_updateBackup)
            {
                m_bupTask.SetEnableUpd(true);
            }
            else if (m_updateLibrary)
            {
                m_bupTask.SetEnableUpd(false);
            }
            else
            {
                m_bupTask.SetEnableAll();
                m_bupTask.m_deleteAll = m_deleteBackup;
            }

            m_bupTask.Start();
        }