UI font setting (#18)
* UI font setting * Fix detecting Bozja & Zadnor SK & CE * update languages
This commit is contained in:
parent
5a9452d378
commit
e59110cd2b
12 changed files with 234 additions and 58 deletions
|
@ -48,6 +48,8 @@ LANG=日本語
|
|||
207=新たなアップデートがあります! {0} → {1}
|
||||
208=プラグインのウェブサイトでダウンロードしてください
|
||||
209=https://github.com/kshman/DutyContent/releases/latest
|
||||
210=UIフォント
|
||||
211=バージョン: {0} / {1}
|
||||
|
||||
300=コンテンツ
|
||||
301=コンテンツ
|
||||
|
@ -112,3 +114,4 @@ LANG=日本語
|
|||
10022=このパゲットデータを使いますか?セーブします
|
||||
10023=選択
|
||||
10024=コッピー
|
||||
10025=地役: {0}
|
||||
|
|
|
@ -48,6 +48,8 @@ LANG=한국어(액토즈)
|
|||
207=새 업데이트가 있습니다! {0} -> {1}
|
||||
208=플러그인 웹사이트에서 받으세요.
|
||||
209=https://github.com/kshman/DutyContent/releases/latest
|
||||
210=UI 글꼴
|
||||
211=버전: {0} / {1}
|
||||
|
||||
300=임무
|
||||
301=콘텐츠
|
||||
|
@ -112,3 +114,4 @@ LANG=한국어(액토즈)
|
|||
10022=패킷 데이터를 적용하고 덮어쓰실거예요?
|
||||
10023=선택함
|
||||
10024=복사함
|
||||
10025=지역: {0}
|
||||
|
|
|
@ -48,6 +48,8 @@ LANG=한국어
|
|||
207=새 업데이트가 있습니다! {0} -> {1}
|
||||
208=플러그인 웹사이트에서 받으세요.
|
||||
209=https://github.com/kshman/DutyContent/releases/latest
|
||||
210=UI 글꼴
|
||||
211=버전: {0} / {1}
|
||||
|
||||
300=듀티
|
||||
301=콘텐츠
|
||||
|
@ -112,3 +114,4 @@ LANG=한국어
|
|||
10022=패킷 데이터를 적용하고 덮어쓰실거예요?
|
||||
10023=선택함
|
||||
10024=카피함
|
||||
10025=지역: {0}
|
||||
|
|
11
DcConfig.cs
11
DcConfig.cs
|
@ -3,18 +3,16 @@ using System.Collections.Generic;
|
|||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DutyContent
|
||||
{
|
||||
class DcConfig
|
||||
{
|
||||
public static int PluginTag => 10;
|
||||
public static int PluginTag => 11;
|
||||
public static Version PluginVersion => System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
|
||||
|
||||
public static bool PluginEnable { get; set; }
|
||||
|
@ -32,7 +30,12 @@ namespace DutyContent
|
|||
//
|
||||
public static string Language { get; set; } = "";
|
||||
public static bool DataRemoteUpdate { get; set; } = true; // true = use remote update
|
||||
public static string UiFontFamily { get; set; } = "Microsoft Sans Serif";
|
||||
// Microsoft Sans Serif / SegoUI
|
||||
// GoyangIlsan R / Dotum / Malgun
|
||||
// Bitstream Vera Sans Mono / Consolas
|
||||
|
||||
//
|
||||
public static string BuildDataFileName(string header, string context, string ext)
|
||||
{
|
||||
return Path.Combine(DataPath, $"{header}-{context}.{ext}");
|
||||
|
@ -70,6 +73,7 @@ namespace DutyContent
|
|||
sw.WriteLine("# config");
|
||||
sw.WriteLine("Language={0}", Language);
|
||||
sw.WriteLine("DataRemoteUpdate={0}", DataRemoteUpdate);
|
||||
sw.WriteLine("UiFontFamily={0}", UiFontFamily);
|
||||
sw.WriteLine();
|
||||
|
||||
Duty.InternalSaveStream(sw);
|
||||
|
@ -89,6 +93,7 @@ namespace DutyContent
|
|||
|
||||
Language = db["Language"];
|
||||
DataRemoteUpdate = ThirdParty.Converter.ToBool(db["DataRemoteUpdate"], DataRemoteUpdate);
|
||||
UiFontFamily = db.Get("UiFontFamily", UiFontFamily);
|
||||
|
||||
Duty.InternalReadFromDb(db);
|
||||
}
|
||||
|
|
|
@ -257,5 +257,14 @@ namespace DutyContent
|
|||
Delubrum,
|
||||
Zadnor,
|
||||
}
|
||||
|
||||
//
|
||||
public static int SaveTheQueenTypeToCeBase(SaveTheQueenType stq)
|
||||
{
|
||||
return
|
||||
stq == SaveTheQueenType.Bozja ? 30000 :
|
||||
stq == SaveTheQueenType.Zadnor ? 30100 :
|
||||
30100; // fail safe
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -346,6 +346,8 @@ namespace DutyContent
|
|||
//
|
||||
public void UpdateUiLocale()
|
||||
{
|
||||
ThirdParty.FontUtilities.SimpleChangeFont(this, DcConfig.UiFontFamily, true);
|
||||
|
||||
_act_label.Text = MesgLog.Text(1); // Duty ready
|
||||
_act_tab.Text = MesgLog.Text(0); // FFXIV dc
|
||||
|
||||
|
|
|
@ -108,6 +108,7 @@
|
|||
<DependentUpon>UpdateNotifyForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ThirdParty\Converter.cs" />
|
||||
<Compile Include="ThirdParty\FontUtilities.cs" />
|
||||
<Compile Include="ThirdParty\LineDb.cs" />
|
||||
<Compile Include="ThirdParty\NativeMethods.cs" />
|
||||
<Compile Include="ThirdParty\ThreadWorker.cs" />
|
||||
|
|
|
@ -48,6 +48,8 @@ LANG=English
|
|||
207=New update found! {0} -> {1}
|
||||
208=Visit DutyContent plugin repository for download.
|
||||
209=https://github.com/kshman/DutyContent/releases/latest
|
||||
210=UI Font
|
||||
211=Version: {0} / {1}
|
||||
|
||||
300=Duty
|
||||
301=Contents
|
||||
|
@ -112,3 +114,4 @@ LANG=English
|
|||
10022=Apply and overwrite packet data?
|
||||
10023=Selected
|
||||
10024=Copied
|
||||
10025=Area: {0}
|
||||
|
|
90
Tab/ConfigForm.Designer.cs
generated
90
Tab/ConfigForm.Designer.cs
generated
|
@ -29,37 +29,63 @@ namespace DutyContent.Tab
|
|||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.pnlBase = new System.Windows.Forms.Panel();
|
||||
this.btnUiFont = new System.Windows.Forms.Button();
|
||||
this.lblUiFont = new System.Windows.Forms.Label();
|
||||
this.rdoDataUpdateRemote = new System.Windows.Forms.RadioButton();
|
||||
this.rdoDataUpdateLocal = new System.Windows.Forms.RadioButton();
|
||||
this.lblDataUpdate = new System.Windows.Forms.Label();
|
||||
this.lblCurrentLang = new System.Windows.Forms.Label();
|
||||
this.cboDispLang = new System.Windows.Forms.ComboBox();
|
||||
this.lblDispLang = new System.Windows.Forms.Label();
|
||||
this.panel1.SuspendLayout();
|
||||
this.lblTag = new System.Windows.Forms.Label();
|
||||
this.pnlBase.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panel1
|
||||
// pnlBase
|
||||
//
|
||||
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
this.pnlBase.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.panel1.Controls.Add(this.rdoDataUpdateRemote);
|
||||
this.panel1.Controls.Add(this.rdoDataUpdateLocal);
|
||||
this.panel1.Controls.Add(this.lblDataUpdate);
|
||||
this.panel1.Controls.Add(this.lblCurrentLang);
|
||||
this.panel1.Controls.Add(this.cboDispLang);
|
||||
this.panel1.Controls.Add(this.lblDispLang);
|
||||
this.panel1.Location = new System.Drawing.Point(12, 12);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(776, 158);
|
||||
this.panel1.TabIndex = 0;
|
||||
this.pnlBase.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.pnlBase.Controls.Add(this.lblTag);
|
||||
this.pnlBase.Controls.Add(this.btnUiFont);
|
||||
this.pnlBase.Controls.Add(this.lblUiFont);
|
||||
this.pnlBase.Controls.Add(this.rdoDataUpdateRemote);
|
||||
this.pnlBase.Controls.Add(this.rdoDataUpdateLocal);
|
||||
this.pnlBase.Controls.Add(this.lblDataUpdate);
|
||||
this.pnlBase.Controls.Add(this.lblCurrentLang);
|
||||
this.pnlBase.Controls.Add(this.cboDispLang);
|
||||
this.pnlBase.Controls.Add(this.lblDispLang);
|
||||
this.pnlBase.Location = new System.Drawing.Point(12, 12);
|
||||
this.pnlBase.Name = "pnlBase";
|
||||
this.pnlBase.Size = new System.Drawing.Size(776, 296);
|
||||
this.pnlBase.TabIndex = 0;
|
||||
//
|
||||
// btnUiFont
|
||||
//
|
||||
this.btnUiFont.Location = new System.Drawing.Point(251, 165);
|
||||
this.btnUiFont.Name = "btnUiFont";
|
||||
this.btnUiFont.Size = new System.Drawing.Size(217, 38);
|
||||
this.btnUiFont.TabIndex = 9;
|
||||
this.btnUiFont.Text = "button1";
|
||||
this.btnUiFont.UseVisualStyleBackColor = true;
|
||||
this.btnUiFont.Click += new System.EventHandler(this.BtnUiFont_Click);
|
||||
//
|
||||
// lblUiFont
|
||||
//
|
||||
this.lblUiFont.AutoSize = true;
|
||||
this.lblUiFont.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.lblUiFont.Location = new System.Drawing.Point(12, 165);
|
||||
this.lblUiFont.Name = "lblUiFont";
|
||||
this.lblUiFont.Size = new System.Drawing.Size(39, 20);
|
||||
this.lblUiFont.TabIndex = 8;
|
||||
this.lblUiFont.Text = "210";
|
||||
//
|
||||
// rdoDataUpdateRemote
|
||||
//
|
||||
this.rdoDataUpdateRemote.AutoSize = true;
|
||||
this.rdoDataUpdateRemote.Checked = true;
|
||||
this.rdoDataUpdateRemote.Location = new System.Drawing.Point(251, 80);
|
||||
this.rdoDataUpdateRemote.Location = new System.Drawing.Point(251, 110);
|
||||
this.rdoDataUpdateRemote.Name = "rdoDataUpdateRemote";
|
||||
this.rdoDataUpdateRemote.Size = new System.Drawing.Size(43, 17);
|
||||
this.rdoDataUpdateRemote.TabIndex = 7;
|
||||
|
@ -71,7 +97,7 @@ namespace DutyContent.Tab
|
|||
// rdoDataUpdateLocal
|
||||
//
|
||||
this.rdoDataUpdateLocal.AutoSize = true;
|
||||
this.rdoDataUpdateLocal.Location = new System.Drawing.Point(251, 57);
|
||||
this.rdoDataUpdateLocal.Location = new System.Drawing.Point(251, 87);
|
||||
this.rdoDataUpdateLocal.Name = "rdoDataUpdateLocal";
|
||||
this.rdoDataUpdateLocal.Size = new System.Drawing.Size(43, 17);
|
||||
this.rdoDataUpdateLocal.TabIndex = 6;
|
||||
|
@ -83,15 +109,15 @@ namespace DutyContent.Tab
|
|||
//
|
||||
this.lblDataUpdate.AutoSize = true;
|
||||
this.lblDataUpdate.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.lblDataUpdate.Location = new System.Drawing.Point(12, 54);
|
||||
this.lblDataUpdate.Location = new System.Drawing.Point(12, 84);
|
||||
this.lblDataUpdate.Name = "lblDataUpdate";
|
||||
this.lblDataUpdate.Size = new System.Drawing.Size(39, 20);
|
||||
this.lblDataUpdate.TabIndex = 5;
|
||||
this.lblDataUpdate.Text = "201";
|
||||
this.lblDataUpdate.Text = "203";
|
||||
//
|
||||
// lblCurrentLang
|
||||
//
|
||||
this.lblCurrentLang.Location = new System.Drawing.Point(318, 37);
|
||||
this.lblCurrentLang.Location = new System.Drawing.Point(318, 67);
|
||||
this.lblCurrentLang.Name = "lblCurrentLang";
|
||||
this.lblCurrentLang.Size = new System.Drawing.Size(150, 15);
|
||||
this.lblCurrentLang.TabIndex = 4;
|
||||
|
@ -102,7 +128,7 @@ namespace DutyContent.Tab
|
|||
//
|
||||
this.cboDispLang.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cboDispLang.FormattingEnabled = true;
|
||||
this.cboDispLang.Location = new System.Drawing.Point(251, 13);
|
||||
this.cboDispLang.Location = new System.Drawing.Point(251, 43);
|
||||
this.cboDispLang.Name = "cboDispLang";
|
||||
this.cboDispLang.Size = new System.Drawing.Size(217, 21);
|
||||
this.cboDispLang.TabIndex = 1;
|
||||
|
@ -112,35 +138,47 @@ namespace DutyContent.Tab
|
|||
//
|
||||
this.lblDispLang.AutoSize = true;
|
||||
this.lblDispLang.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.lblDispLang.Location = new System.Drawing.Point(12, 11);
|
||||
this.lblDispLang.Location = new System.Drawing.Point(12, 41);
|
||||
this.lblDispLang.Name = "lblDispLang";
|
||||
this.lblDispLang.Size = new System.Drawing.Size(39, 20);
|
||||
this.lblDispLang.TabIndex = 0;
|
||||
this.lblDispLang.Text = "201";
|
||||
//
|
||||
// lblTag
|
||||
//
|
||||
this.lblTag.AutoSize = true;
|
||||
this.lblTag.Location = new System.Drawing.Point(27, 4);
|
||||
this.lblTag.Name = "lblTag";
|
||||
this.lblTag.Size = new System.Drawing.Size(35, 13);
|
||||
this.lblTag.TabIndex = 10;
|
||||
this.lblTag.Text = "label1";
|
||||
//
|
||||
// ConfigForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.AutoScroll = true;
|
||||
this.ClientSize = new System.Drawing.Size(800, 450);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.pnlBase);
|
||||
this.Name = "ConfigForm";
|
||||
this.Text = "Config";
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.panel1.PerformLayout();
|
||||
this.pnlBase.ResumeLayout(false);
|
||||
this.pnlBase.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.Panel pnlBase;
|
||||
private System.Windows.Forms.Label lblDispLang;
|
||||
private System.Windows.Forms.ComboBox cboDispLang;
|
||||
private System.Windows.Forms.Label lblCurrentLang;
|
||||
private System.Windows.Forms.RadioButton rdoDataUpdateRemote;
|
||||
private System.Windows.Forms.RadioButton rdoDataUpdateLocal;
|
||||
private System.Windows.Forms.Label lblDataUpdate;
|
||||
private System.Windows.Forms.Button btnUiFont;
|
||||
private System.Windows.Forms.Label lblUiFont;
|
||||
private System.Windows.Forms.Label lblTag;
|
||||
}
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
@ -64,6 +65,11 @@ namespace DutyContent.Tab
|
|||
lblDataUpdate.Text = MesgLog.Text(203);
|
||||
rdoDataUpdateLocal.Text = MesgLog.Text(204);
|
||||
rdoDataUpdateRemote.Text = MesgLog.Text(205);
|
||||
|
||||
lblUiFont.Text = MesgLog.Text(210);
|
||||
btnUiFont.Text = DcConfig.UiFontFamily;
|
||||
|
||||
lblTag.Text = MesgLog.Text(211, DcConfig.PluginTag, DcConfig.PluginVersion);
|
||||
}
|
||||
|
||||
public static List<string> MakeConfigLangList()
|
||||
|
@ -134,5 +140,32 @@ namespace DutyContent.Tab
|
|||
{
|
||||
InternalDataUpdate(true);
|
||||
}
|
||||
|
||||
private void BtnUiFont_Click(object sender, EventArgs e)
|
||||
{
|
||||
Font ret = (Font)WorkerAct.Invoker(new WorkerAct.ObjectReturnerDelegate(() =>
|
||||
{
|
||||
FontDialog dg = new FontDialog
|
||||
{
|
||||
Font = btnUiFont.Font,
|
||||
FontMustExist = true,
|
||||
AllowVerticalFonts = false,
|
||||
AllowVectorFonts = false,
|
||||
ShowColor = false,
|
||||
ShowEffects = false,
|
||||
MaxSize = 12,
|
||||
MinSize = 12,
|
||||
};
|
||||
|
||||
return dg.ShowDialog() == DialogResult.OK ? dg.Font : null;
|
||||
}));
|
||||
|
||||
if (ret != null)
|
||||
{
|
||||
DcConfig.UiFontFamily = ret.Name;
|
||||
DcControl.Self.UpdateUiLocale();
|
||||
DcConfig.SaveConfig();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
103
Tab/DutyForm.cs
103
Tab/DutyForm.cs
|
@ -9,8 +9,6 @@ using System.Net;
|
|||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Collections.Specialized;
|
||||
|
||||
namespace DutyContent.Tab
|
||||
{
|
||||
|
@ -21,12 +19,16 @@ namespace DutyContent.Tab
|
|||
|
||||
//
|
||||
private bool _is_lock_fate;
|
||||
|
||||
private short _last_fate = 0;
|
||||
|
||||
//
|
||||
private bool _is_packet_finder;
|
||||
private DcContent.SaveTheQueenType _stq_type = DcContent.SaveTheQueenType.No;
|
||||
private DcConfig.PacketConfig _new_packet;
|
||||
|
||||
//
|
||||
private Dictionary<string, string> _packet_list = new Dictionary<string, string>();
|
||||
//private OrderedDictionary _packet_list = new OrderedDictionary();
|
||||
|
||||
//
|
||||
private Overlay.DutyOvForm _overlay;
|
||||
|
@ -54,10 +56,6 @@ namespace DutyContent.Tab
|
|||
RefreshDatasetList();
|
||||
RefreshPacketList();
|
||||
|
||||
//
|
||||
var font = new Font(DcConfig.Duty.LogFontFamily, DcConfig.Duty.LogFontSize, FontStyle.Regular, GraphicsUnit.Point);
|
||||
txtContentLog.Font = font;
|
||||
btnLogFont.Font = font;
|
||||
btnLogFont.Text = $"{DcConfig.Duty.LogFontFamily}, {DcConfig.Duty.LogFontSize}";
|
||||
|
||||
//
|
||||
|
@ -179,6 +177,11 @@ namespace DutyContent.Tab
|
|||
|
||||
btnPacketStart.Text = MesgLog.Text(10007);
|
||||
btnPacketApply.Text = MesgLog.Text(10009);
|
||||
|
||||
//
|
||||
var logfont = new Font(DcConfig.Duty.LogFontFamily, DcConfig.Duty.LogFontSize, FontStyle.Regular);
|
||||
txtContentLog.Font = logfont;
|
||||
btnLogFont.Font = logfont;
|
||||
}
|
||||
|
||||
public void PacketHandler(string pid, byte[] message)
|
||||
|
@ -220,6 +223,8 @@ namespace DutyContent.Tab
|
|||
NotifyFate(fate);
|
||||
_overlay.PlayFate(fate);
|
||||
}
|
||||
|
||||
_last_fate = (short)fcode;
|
||||
}
|
||||
}
|
||||
else if (chkShowDebug.Checked && data[0] == 62 && data[8] > 0) // more than 0%
|
||||
|
@ -231,6 +236,8 @@ namespace DutyContent.Tab
|
|||
var fate = DcContent.TryFate(fcode);
|
||||
if (fate == null)
|
||||
LogDebug("unknown fate {0}% \"{1}\"", data[8], fcode);
|
||||
|
||||
_last_fate = (short)fcode;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -328,12 +335,17 @@ namespace DutyContent.Tab
|
|||
// 10[1] status 0=end, 1=register, 2=entry, 3=progress
|
||||
// 12[1] progress percentage
|
||||
|
||||
var stq =
|
||||
_stq_type == DcContent.SaveTheQueenType.Bozja ? 30000 :
|
||||
_stq_type == DcContent.SaveTheQueenType.Zadnor ? 30100 :
|
||||
30100; // temporary
|
||||
if (_stq_type == DcContent.SaveTheQueenType.No)
|
||||
{
|
||||
if (IsFateForSouthernBozja(_last_fate))
|
||||
_stq_type = DcContent.SaveTheQueenType.Bozja;
|
||||
else if (IsFateForZadnor(_last_fate))
|
||||
_stq_type = DcContent.SaveTheQueenType.Zadnor;
|
||||
else
|
||||
_stq_type = DcContent.SaveTheQueenType.Zadnor;
|
||||
}
|
||||
|
||||
var ce = stq + data[8];
|
||||
var ce = data[8] + DcContent.SaveTheQueenTypeToCeBase(_stq_type);
|
||||
var stat = data[10];
|
||||
|
||||
if (stat == 0 /* || data[10] == 3 */)
|
||||
|
@ -381,8 +393,10 @@ namespace DutyContent.Tab
|
|||
(zone_id == 921) ? DcContent.SaveTheQueenType.Zadnor :
|
||||
DcContent.SaveTheQueenType.No;
|
||||
|
||||
LogInstance(10025, zone_name);
|
||||
|
||||
if (chkShowDebug.Checked)
|
||||
LogDebug("Zone: {0} \"{1}\"", zone_id, zone_name);
|
||||
LogDebug("Zone: {0}", zone_id);
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -1099,9 +1113,9 @@ namespace DutyContent.Tab
|
|||
_is_packet_finder = false;
|
||||
PacketFinderResetUi(false);
|
||||
|
||||
// is this good idea?
|
||||
// no bad idea
|
||||
//cboPacketset.SelectedIndex = 0;
|
||||
// select custom
|
||||
DcConfig.Duty.PacketSet = DcConfig.PacketConfig.DefaultSetNameCustom;
|
||||
RefreshPacketList();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1130,8 +1144,6 @@ namespace DutyContent.Tab
|
|||
if (lstPacketInfo.SelectedIndices.Count != 1)
|
||||
return;
|
||||
|
||||
//MesgLog.Write("double clicked: {0}", lstPacketInfo.SelectedIndices[0]);
|
||||
|
||||
var v = int.MaxValue;
|
||||
|
||||
switch (lstPacketInfo.SelectedIndices[0])
|
||||
|
@ -1182,25 +1194,52 @@ namespace DutyContent.Tab
|
|||
|
||||
}
|
||||
|
||||
private static readonly short[] _packet_target_fates =
|
||||
// middle la noscea
|
||||
private static readonly short[] _fates_middle_la_noscea =
|
||||
{
|
||||
// middle la noscea
|
||||
553, 649, 687, 688, 693, 717,
|
||||
220, 221, 222, 223, 225, 226, 227, 229, 231, 233, 235, 237, 238, 239, 240,
|
||||
1387,
|
||||
};
|
||||
|
||||
// southern bozja front
|
||||
// southern bozja front
|
||||
private static readonly short[] _fates_southern_bojza =
|
||||
{
|
||||
1597, 1598, 1599,
|
||||
1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609,
|
||||
1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619,
|
||||
1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628,
|
||||
};
|
||||
|
||||
// zadnor
|
||||
// zadnor
|
||||
private static readonly short[] _fates_zadnor =
|
||||
{
|
||||
1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724,
|
||||
1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732,
|
||||
1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742,
|
||||
};
|
||||
|
||||
//
|
||||
private bool IsFateInFindList(short code)
|
||||
{
|
||||
return
|
||||
_fates_middle_la_noscea.Contains(code) ||
|
||||
_fates_southern_bojza.Contains(code) ||
|
||||
_fates_zadnor.Contains(code);
|
||||
}
|
||||
|
||||
//
|
||||
private bool IsFateForSouthernBozja(short code)
|
||||
{
|
||||
return _fates_southern_bojza.Contains(code);
|
||||
}
|
||||
|
||||
//
|
||||
private bool IsFateForZadnor(short code)
|
||||
{
|
||||
return _fates_zadnor.Contains(code);
|
||||
}
|
||||
|
||||
//
|
||||
private void PacketFinderHandler(byte[] message)
|
||||
{
|
||||
|
@ -1211,7 +1250,7 @@ namespace DutyContent.Tab
|
|||
if (_new_packet.OpFate == 0 && data.Length > 4 && data[0] == 0x3E)
|
||||
{
|
||||
var cc = BitConverter.ToInt16(data, 4);
|
||||
if (_packet_target_fates.Contains(cc) && _new_packet.OpFate != opcode)
|
||||
if (IsFateInFindList(cc) && _new_packet.OpFate != opcode)
|
||||
{
|
||||
_new_packet.OpFate = opcode;
|
||||
|
||||
|
@ -1221,6 +1260,8 @@ namespace DutyContent.Tab
|
|||
lstPacketInfo.Items[0].SubItems[3].Text = _new_packet.OpFate.ToString();
|
||||
});
|
||||
|
||||
_last_fate = cc;
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -1343,11 +1384,17 @@ namespace DutyContent.Tab
|
|||
|
||||
if (ok)
|
||||
{
|
||||
var stq =
|
||||
_stq_type == DcContent.SaveTheQueenType.Bozja ? 30000 :
|
||||
_stq_type == DcContent.SaveTheQueenType.Zadnor ? 30100 :
|
||||
30100; // temporary
|
||||
var ce = DcContent.GetFate(code + stq);
|
||||
if (_stq_type == DcContent.SaveTheQueenType.No)
|
||||
{
|
||||
if (IsFateForSouthernBozja(_last_fate))
|
||||
_stq_type = DcContent.SaveTheQueenType.Bozja;
|
||||
else if (IsFateForZadnor(_last_fate))
|
||||
_stq_type = DcContent.SaveTheQueenType.Zadnor;
|
||||
else
|
||||
_stq_type = DcContent.SaveTheQueenType.Zadnor;
|
||||
}
|
||||
|
||||
var ce = DcContent.GetFate(code + DcContent.SaveTheQueenTypeToCeBase(_stq_type));
|
||||
|
||||
var li = new ListViewItem(new string[]
|
||||
{
|
||||
|
|
29
ThirdParty/FontUtilities.cs
vendored
Normal file
29
ThirdParty/FontUtilities.cs
vendored
Normal file
|
@ -0,0 +1,29 @@
|
|||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace DutyContent.ThirdParty
|
||||
{
|
||||
// https://www.codeproject.com/Questions/1080006/How-can-change-application-font-in-runtime
|
||||
|
||||
public static class FontUtilities
|
||||
{
|
||||
public static void SimpleChangeFont(Control ctrl, string fontname, bool recursive = false)
|
||||
{
|
||||
ctrl.Font = new Font(fontname, ctrl.Font.Size, ctrl.Font.Style, GraphicsUnit.Point);
|
||||
|
||||
if (recursive)
|
||||
InternalRecursiveChangeFont(fontname, ctrl.Controls);
|
||||
}
|
||||
|
||||
private static void InternalRecursiveChangeFont(string fontname, Control.ControlCollection ctrls)
|
||||
{
|
||||
foreach (Control c in ctrls)
|
||||
{
|
||||
c.Font = new Font(fontname, c.Font.Size, c.Font.Style, GraphicsUnit.Point);
|
||||
|
||||
if (c.Controls.Count > 0)
|
||||
InternalRecursiveChangeFont(fontname, c.Controls);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue