コード例 #1
0
ファイル: MainForm.cs プロジェクト: donatazz/l2datencdec
        private void MenuIniItems_Click(object sender, EventArgs e)
        {
            try
            {
                this.FileNameCombo.Enabled = false;
                this.Enabled = false;

                BinaryReader f = L2EncDec.Decrypt(((ToolStripMenuItem)sender).Text, Encoding.Default);
                if (f == null)
                {
                    return;
                }
                char[] IniText = f.ReadChars((int)f.BaseStream.Length);
                f.Close();

                IniEditBox dlg = new IniEditBox(((ToolStripMenuItem)sender).Text, new String(IniText));
                dlg.ShowDialog();
            }
            catch (Exception ex)
            {
                Program.log.Add(ex, true);
            }
            finally
            {
                this.Enabled = true;
                this.FileNameCombo.Enabled = true;
            }
        }
コード例 #2
0
        private void savel2ini_Click(object sender, EventArgs e)
        {
            if (selectedIniComboName == null || selectedIniIntFile == null)
            {
                return;
            }

            Lineage2Ver ver = (Lineage2Ver)selectedIniIntFile.GetType().GetField(selectedIniIntFile.ToString()).GetCustomAttributes(typeof(Lineage2Ver), true)[0];

            string dst_fname = Path.Combine(RConfig.Instance.LineageDirectory, selectedIniComboName);

            if (RConfig.Instance.SaveBakFiles)
            {
                try
                {
                    if (File.Exists(Path.ChangeExtension(dst_fname, ".bak")))
                    {
                        File.Delete(Path.ChangeExtension(dst_fname, ".bak"));
                    }

                    File.Move(dst_fname, Path.ChangeExtension(dst_fname, ".bak"));
                }
                catch
                {
                }
            }

            IniTextBox.SaveFile(dst_fname, RichTextBoxStreamType.PlainText);

            L2EncDec.Encrypt(selectedIniComboName, ver.Ver);

            clearl2ini_Click(sender, e);
        }
コード例 #3
0
ファイル: MainForm.cs プロジェクト: donatazz/l2datencdec
        private void MenuL2encdecItem1_Click(object sender, EventArgs e)
        {
            try
            {
                this.StatusLabel.Text      = Program.language.getMessage(MsgList.PleaseWait);
                this.FileNameCombo.Enabled = false;
                this.Enabled = false;

                this.StatusProgress.Minimum = 0;
                this.StatusProgress.Value   = 0;
                this.StatusProgress.Visible = true;

                L2EncDec.SystemPatcher();
            }
            catch (Exception ex)
            {
                Program.log.Add(ex, true);
            }
            finally
            {
                this.Enabled = true;
                this.FileNameCombo.Enabled  = true;
                this.StatusProgress.Visible = false;
            }
            this.StatusLabel.Text = Program.language.getMessage(MsgList.COMPLETE) + String.Format(Program.language.getMessage(MsgList.CompletePatchSystem));
        }
コード例 #4
0
        private void SaveBtn_Click(object sender, EventArgs e)
        {
            try
            {
                StatusLabel.Text      = Localizate.getMessage(Word.PLEASE_WAIT);
                FileNameCombo.Enabled = false;
                Enabled = false;

                if (DatDatas.Count == 0)
                {
                    StatusLabel.Text = Localizate.getMessage(Word.ERROR) +
                                       Localizate.getMessage(Word.SYSTEM_FOLDER_IS_EMPTY);
                    return;
                }
                string fname = Path.Combine(RConfig.Instance.LineageDirectory, selectedComboName);
                if (RConfig.Instance.SaveBakFiles)
                {
                    try
                    {
                        if (File.Exists(Path.ChangeExtension(fname, ".bak")))
                        {
                            File.Delete(Path.ChangeExtension(fname, ".bak"));
                        }

                        File.Move(fname, Path.ChangeExtension(fname, ".bak"));
                    }
                    catch (Exception)
                    {
                    }
                }
                var f = new BinaryWriter(File.OpenWrite(fname), Encoding.Default);
                if (f == null)
                {
                    return;
                }

                DatInfo.Compile(f, DatDatas);
                f.Close();

                L2EncDec.Encrypt(selectedComboName, 413);
            }
            catch (Exception ex)
            {
                _log.Info("Exception: " + ex, ex);
            }
            finally
            {
                Enabled = true;
                FileNameCombo.Enabled = true;

                onEnd();
            }
            StatusLabel.Text = Localizate.getMessage(Word.COMPLETE) +
                               String.Format(Localizate.getMessage(Word.SAVED_DATA), DatDatas.Count);
        }
コード例 #5
0
        private void LoadBtn_Click(object sender, EventArgs e)
        {
            try
            {
                StatusLabel.Text      = Localizate.getMessage(Word.PLEASE_WAIT);
                FileNameCombo.Enabled = false;
                Enabled = false;

                DatInfo_init();
                if (DatInfo == null)
                {
                    return;
                }

                if (!File.Exists(Path.Combine(RConfig.Instance.LineageDirectory, selectedComboName)))
                {
                    StatusLabel.Text = Localizate.getMessage(Word.ERROR) + " " +
                                       Localizate.getMessage(Word.FILE_NOT_FOUND);
                    return;
                }

                BinaryReader f = L2EncDec.Decrypt(selectedComboName, Encoding.Default);
                if (f == null)
                {
                    return;
                }

                DatDatas = DatInfo.Parse(f);

                f.Close();

                importBtn2.Enabled   = true;
                exportBtn2.Enabled   = true;
                SaveBtn2.Enabled     = true;
                editorBtn.Enabled    = true;
                _mergeButton.Enabled = true;
            }
            catch (Exception ex)
            {
                _log.Info("Exception" + ex, ex);
            }
            finally
            {
                Enabled = true;
                FileNameCombo.Enabled = true;

                onEnd();

                Forms_Update();
            }
            StatusLabel.Text = Localizate.getMessage(Word.COMPLETE) +
                               String.Format(Localizate.getMessage(Word.LOADED_DATA), DatDatas.Count);
        }
コード例 #6
0
        private void SaveBtn_Click(object sender, EventArgs e)
        {
            try
            {
                this.StatusLabel.Text      = Program.language.getMessage(MsgList.PleaseWait);
                this.FileNameCombo.Enabled = false;
                this.Enabled = false;

                if (this.DatDatas.Count == 0)
                {
                    this.StatusLabel.Text = Program.language.getMessage(MsgList.ERROR) +
                                            String.Format(Program.language.getMessage(MsgList.DataIsEmpty));
                    return;
                }
                string fname = Path.Combine(Program.config.LineAgeDirectory, this.selectedComboName);
                if (Program.config.LineAgeSaveBakFiles)
                {
                    try
                    {
                        File.Move(fname, Path.ChangeExtension(fname, ".bak"));
                    }
                    catch
                    {
                    }
                }
                BinaryWriter f = new BinaryWriter(File.OpenWrite(fname), Encoding.Default);
                if (f == null)
                {
                    return;
                }
                this.StatusProgress.Minimum = 0;
                this.StatusProgress.Value   = 0;
                this.StatusProgress.Visible = true;
                DatInfo.Compile(f, this.DatDatas);
                f.Close();

                L2EncDec.Encrypt(this.selectedComboName);
            }
            catch (Exception ex)
            {
                Program.log.Add(ex, true);
            }
            finally
            {
                this.Enabled = true;
                this.FileNameCombo.Enabled  = true;
                this.StatusProgress.Visible = false;
            }
            this.StatusLabel.Text = Program.language.getMessage(MsgList.COMPLETE) +
                                    String.Format(Program.language.getMessage(MsgList.CompleteSave), this.DatDatas.Count);
        }
コード例 #7
0
        private void OpenIniButton_Click(object sender, EventArgs e)
        {
            if (selectedIniComboName == null || selectedIniIntFile == null)
            {
                return;
            }

            Lineage2Ver ver = (Lineage2Ver)selectedIniIntFile.GetType().GetField(selectedIniIntFile.ToString()).GetCustomAttributes(typeof(Lineage2Ver), true)[0];

            // пожалуста подождите
            StatusLabel.Text = Localizate.getMessage(Word.PLEASE_WAIT);

            if (!File.Exists(Path.Combine(RConfig.Instance.LineageDirectory, selectedIniComboName)))
            {
                StatusLabel.Text = Localizate.getMessage(Word.ERROR) + " " + Localizate.getMessage(Word.FILE_NOT_FOUND);
                return;
            }

            try
            {
                BinaryReader f = L2EncDec.Decrypt(selectedIniComboName, Encoding.Default);
                if (f == null)
                {
                    return;
                }
                char[] IniText = f.ReadChars((int)f.BaseStream.Length);
                f.Close();
                IniTextBox.Text = new String(IniText);
            }
            catch (Exception ex)
            {
                _log.Info("Exception: " + ex, ex);
            }
            finally
            {
                Enabled = true;
                FileNameCombo.Enabled = true;
                savel2ini.Enabled     = true;
                clearl2ini.Enabled    = true;
                IniTextBox.Enabled    = true;
                EnCod.Text            = ver.Ver.ToString();
                Char     c  = '\n';
                String[] st = IniTextBox.Text.Split(c);
                Counts.Text = st.Length.ToString();
                IniTextBox.Update();
            }
            StatusLabel.Text = "";
        }
コード例 #8
0
ファイル: IniEditBox.cs プロジェクト: donatazz/l2datencdec
        private void SaveButton_Click(object sender, EventArgs e)
        {
            string dst_fname = Path.Combine(Program.config.LineAgeDirectory, IniFileName);

            if (Program.config.LineAgeSaveBakFiles)
            {
                try
                {
                    File.Move(dst_fname, Path.ChangeExtension(dst_fname, ".bak"));
                }
                catch
                {
                }
            }
            this.IniEditer.SaveFile(dst_fname, RichTextBoxStreamType.PlainText);
            L2EncDec.Encrypt(IniFileName);
            this.Close();
        }
コード例 #9
0
        private void LoadBtn_Click(object sender, EventArgs e)
        {
            try
            {
                this.StatusLabel.Text      = Program.language.getMessage(MsgList.PleaseWait);
                this.FileNameCombo.Enabled = false;
                this.Enabled = false;

                this.DatInfo_init();
                if (!File.Exists(Path.Combine(Program.config.LineAgeDirectory, this.selectedComboName)))
                {
                    this.StatusLabel.Text = Program.language.getMessage(MsgList.ERROR) +
                                            String.Format(Program.language.getMessage(MsgList.FileNotFound));
                    return;
                }
                BinaryReader f = L2EncDec.Decrypt(this.selectedComboName, Encoding.Default);
                if (f == null)
                {
                    return;
                }
                this.StatusProgress.Minimum = 0;
                this.StatusProgress.Value   = 0;
                this.StatusProgress.Visible = true;
                this.DatDatas = DatInfo.Parse(f);
                f.Close();

                this.SaveBtn.Enabled = true;
                this.ExpBtn.Enabled  = true;
            }
            catch (Exception ex)
            {
                Program.log.Add(ex, true);
            }
            finally
            {
                this.Enabled = true;
                this.FileNameCombo.Enabled  = true;
                this.StatusProgress.Visible = false;
                this.Forms_Update();
            }
            this.StatusLabel.Text = Program.language.getMessage(MsgList.COMPLETE) +
                                    String.Format(Program.language.getMessage(MsgList.CompleteLoad), this.DatDatas.Count);
        }
コード例 #10
0
        private void SaveBtn_Click(object sender, EventArgs e)
        {
            REfBtn_Click(sender, e);
            string dst_fname = Path.Combine(RConfig.Instance.LineageDirectory, "l2.ini");

            if (RConfig.Instance.SaveBakFiles)
            {
                try
                {
                    File.Move(dst_fname, Path.ChangeExtension(dst_fname, ".bak"));
                }
                catch
                {
                }
            }
            L2Edit.SaveFile(dst_fname, RichTextBoxStreamType.PlainText);

            L2EncDec.Encrypt("l2.ini", 413);
            Close();
        }
コード例 #11
0
        private void pathSystem_Click_1(object sender, EventArgs e)
        {
            try
            {
                StatusLabel.Text      = Localizate.getMessage(Word.PLEASE_WAIT);
                FileNameCombo.Enabled = false;
                Enabled = false;

                L2EncDec.SystemPatcher();
            }
            catch (Exception ex)
            {
                _log.Info("Exception: " + ex, ex);
            }
            finally
            {
                Enabled = true;
                FileNameCombo.Enabled  = true;
                StatusProgress.Visible = false;
            }
            StatusLabel.Text = Localizate.getMessage(Word.COMPLETE) +
                               Localizate.getMessage(Word.COMPLETE_PATH_SYSTEM_FOLDER);
        }
コード例 #12
0
        private void FastL2INIOptionForm_Load(object sender, EventArgs e)
        {
            Localizate.load();
            try
            {
                BinaryReader f = L2EncDec.Decrypt("l2.ini", Encoding.Default);
                if (f == null)
                {
                    return;
                }
                char[] IniText = f.ReadChars((int)f.BaseStream.Length);
                f.Close();
                L2Edit.Text = new String(IniText);


                for (int i = 0; i < L2Edit.Lines.Length; i++)
                {
                    if (L2Edit.Lines[i].StartsWith("ServerAddr="))
                    {
                        String   s  = L2Edit.Lines[i];
                        char     p  = '=';
                        String[] ss = s.Split(p);
                        HostText.Text = ss[1];
                    }
                    if (L2Edit.Lines[i].StartsWith("Port="))
                    {
                        String   s  = L2Edit.Lines[i];
                        char     p  = '=';
                        String[] ss = s.Split(p);
                        PortText.Text = ss[1];
                    }
                    if (L2Edit.Lines[i].StartsWith("IsL2NetLog="))
                    {
                        String   s  = L2Edit.Lines[i];
                        char     p  = '=';
                        String[] ss = s.Split(p);
                        NetLog.Checked = Boolean.Parse(ss[1]);
                    }
                    if (L2Edit.Lines[i].StartsWith("L2TestServer="))
                    {
                        String   s  = L2Edit.Lines[i];
                        char     p  = '=';
                        String[] ss = s.Split(p);
                        TestServer.Checked = Boolean.Parse(ss[1]);
                    }
                    if (L2Edit.Lines[i].StartsWith("EnableSecondWindow="))
                    {
                        String   s  = L2Edit.Lines[i];
                        char     p  = '=';
                        String[] ss = s.Split(p);
                        SeccondWind.Checked = Boolean.Parse(ss[1]);
                    }
                }

                // локализация
                Text             = Localizate.getMessage(Word.MENU_SERVICE_FAST_SETTINGS) + " : " + "l2.ini";
                InetGrop.Text    = Localizate.getMessage(Word.INTERNET_GROUP);
                OtherGroup.Text  = Localizate.getMessage(Word.OTHER_GROUP);
                SeccondWind.Text = Localizate.getMessage(Word.SECOND_CLIENT);
                TestServer.Text  = Localizate.getMessage(Word.TEST_SERVER);
                NetLog.Text      = Localizate.getMessage(Word.NETWORK_LOG);
                Host.Text        = Localizate.getMessage(Word.HOST);
                Port.Text        = Localizate.getMessage(Word.PORT);
                REfBtn.Text      = Localizate.getMessage(Word.REFRESH);
                SaveBtn.Text     = Localizate.getMessage(Word.SAVE_BUTTON);
            }
            catch (Exception ex)
            {
                _log.Info("Exception: " + ex, ex);
            }
        }