private void UpdateLVs()
        {
            PatcherStreamReader psr;
            lvPatchListExc.Items.Clear();
            lvPatchListInc.Items.Clear();

            if (cbEncryption.SelectedValue.ToString() == "Rijndael")
            {
                 psr = new PatcherStreamReader(System.IO.File.Open("./patchlist", System.IO.FileMode.Open), EncrytionMode.Rijndael);
            }
            else
            {
                 psr = new PatcherStreamReader(System.IO.File.Open("./patchlist", System.IO.FileMode.Open), EncrytionMode.None);
            }

            while (!psr.EndOfStream)
            {
                lvPatchListInc.Items.Add(new ListViewItem(psr.ReadLine().Split(':')));
            }

            psr.Close();
        }
Пример #2
0
        /// <summary>
        /// Fills the ToPatch list with Files
        /// </summary>
        private async Task GetUnpachedFiles()
        {
            this.State = PatcherState.SCANNING;

            PatchList.Position = 0;
            using (PatcherStreamReader rdr = new PatcherStreamReader(PatchList, Encryption, EncryptionString))
            {
                string[] line;
                Task<string> readTask;

                if (File.Exists("./updater.exe"))
                {
                    File.Delete("./updater.exe");
                }

                while (!rdr.EndOfStream)
                {
                    readTask = rdr.ReadLineAsync();
                    line = (await readTask).Split(':');

                    Debug.WriteLine(String.Format("{0} <==> {1}", line[1], Helper.getMD5("./" + line[0])));

                    if (line[1] != Helper.getMD5("./" + line[0]))
                    {
                        ToPatch.Add(line[0]);
                        BytesToLoad += int.Parse(line[2]);
                    }
                }
            }
        }