void pButtonUninstall_Click(object sender, RoutedEventArgs e)
        {
            string path = pTextBoxPath.Text;

            if (Directory.Exists(path))
            {
                Patcher.RestoreOriginals(path);
                Debug.Show(Localization.Get("ui_uninstalldone"), Localization.Get("ui_uninstall"));
            }
            else
            {
                Debug.Error(Localization.Get("ui_wrongpath"));
            }
        }
Ejemplo n.º 2
0
        void DoSetup(object arg)
        {
            try
            {
                Patcher.Install((string)arg, SetPercent);

                Dispatcher.Invoke(() => iButtonInstall.IsEnabled = true, DispatcherPriority.Render);
            }
            catch (Exception e)
            {
                if (!(e is TaskCanceledException || e is ThreadAbortException)) // in case of exit
                {
                    MessageBox.Show(e.ToString(), Localization.Get("ui_error"));
                }
            }
        }
Ejemplo n.º 3
0
        protected override bool GetAddresses(byte[] original, out int rawAddr, out int virtAddr)
        {
            // find equivalent position in original file
            int count = block.SeekCount(original, out rawAddr);

            virtAddr = rawAddr + 0x400000;

            if (count > 1)
            {
                Patcher.AddFailure(this.blockFile, EditFailure.MultipleBlocks);
                return(false);
            }
            else if (count == 0)
            {
                Patcher.AddFailure(this.blockFile, EditFailure.BlockNotFound);
                return(false);
            }
            return(true);
        }
        void iButtonInstall_Click(object sender, RoutedEventArgs e)
        {
            string filePath = Patcher.GetOriginalBinary(pTextBoxPath.Text);

            if (filePath == null)
            {
                Debug.Error(Localization.Get("ui_wrongpath"));
                return;
            }

            iButtonInstall.Content   = Localization.Get("ui_finished");
            iButtonInstall.IsEnabled = false;
            iButtonInstall.Click    -= iButtonInstall_Click;
            iButtonInstall.Click    += (s, a) => this.Close();

            pButtonSearch.IsEnabled = false;
            pTextBoxPath.IsReadOnly = true;

            setupThread  = new Thread(DoSetup);
            this.Closed += (s, args) => setupThread.Abort();
            setupThread.Start(filePath);
        }