예제 #1
0
        private void OnLoginArbiter(C_LOGIN_ARBITER obj)
        {
            var notif = GetNotification <ProgressNotificationInfo>(10241024);

            if (notif == null)
            {
                return;
            }
            notif.Message += $"\nRelease Version: {PacketAnalyzer.Factory.ReleaseVersion / 100}.{PacketAnalyzer.Factory.ReleaseVersion % 100}"; //by HQ 20190209
            notif.Dispose(3000);
        }
예제 #2
0
        public static void HandleLoginArbiter(C_LOGIN_ARBITER p)
        {
            if (OpcodeDownloader.DownloadSysmsg(PacketAnalyzer.Factory.Version,
                Path.Combine(App.DataPath, "opcodes/"), PacketAnalyzer.Factory.ReleaseVersion))
            {

                PacketAnalyzer.Factory.ReloadSysMsg();
            }

            BasicTeraData.Instance.Servers.Language = p.Language;

        }
예제 #3
0
        private static async void OnLoginArbiter(C_LOGIN_ARBITER p)
        {
            var rvSysMsgPath = Path.Combine(App.DataPath, $"opcodes/sysmsg.{Factory.ReleaseVersion / 100}.map");
            var pvSysMsgPath = Path.Combine(App.DataPath, $"opcodes/sysmsg.{Factory.Version}.map");

            var path = File.Exists(rvSysMsgPath)
                       ? rvSysMsgPath
                       : File.Exists(pvSysMsgPath)
                           ? pvSysMsgPath
                           : "";

            if (path == "")
            {
                var destPath = pvSysMsgPath.Replace("\\", "/");


                if (Sniffer.Connected && Sniffer is ToolboxSniffer tbs)
                {
                    if (await tbs.ControlConnection.DumpMap(destPath, "sysmsg"))
                    {
                        Factory.SystemMessageNamer = new OpCodeNamer(destPath);
                        return;
                    }
                }
                else
                {
                    if (OpcodeDownloader.DownloadSysmsgIfNotExist(Factory.Version, Path.Combine(App.DataPath, "opcodes/"), Factory.ReleaseVersion))
                    {
                        Factory.SystemMessageNamer = new OpCodeNamer(destPath);
                        return;
                    }
                }

                TccMessageBox.Show(SR.InvalidSysMsgFile(Factory.ReleaseVersion / 100, Factory.Version), MessageBoxType.Error);
                App.Close();
                return;
            }
            Factory.ReloadSysMsg(path);
        }