Drop 6.1 support (#144)
This commit is contained in:
parent
b79f4ebdd6
commit
c2517f43e1
4 changed files with 1870 additions and 1865 deletions
12
DcConfig.cs
12
DcConfig.cs
|
@ -12,7 +12,7 @@ namespace DutyContent
|
||||||
{
|
{
|
||||||
class DcConfig
|
class DcConfig
|
||||||
{
|
{
|
||||||
public static int PluginTag => 29;
|
public static int PluginTag => 30;
|
||||||
public static Version PluginVersion => System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
|
public static Version PluginVersion => System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
|
||||||
|
|
||||||
public static bool PluginEnable { get; set; }
|
public static bool PluginEnable { get; set; }
|
||||||
|
@ -123,11 +123,11 @@ namespace DutyContent
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
public static void ReadLanguage(bool is_in_init = false)
|
public static void ReadLanguage(bool isInInit = false)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrWhiteSpace(Language))
|
if (string.IsNullOrWhiteSpace(Language))
|
||||||
{
|
{
|
||||||
if (!is_in_init)
|
if (!isInInit)
|
||||||
Locale.Initialize(Properties.Resources.DefaultMessage);
|
Locale.Initialize(Properties.Resources.DefaultMessage);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -198,8 +198,8 @@ namespace DutyContent
|
||||||
// 5
|
// 5
|
||||||
// 6 - HotFix or packet version
|
// 6 - HotFix or packet version
|
||||||
|
|
||||||
public readonly static string DefaultSetNameCustom = "Custom";
|
public static readonly string DefaultSetNameCustom = "Custom";
|
||||||
public readonly static string DefaultSetNameGlobal = "Global";
|
public static readonly string DefaultSetNameGlobal = "Global";
|
||||||
|
|
||||||
public PacketConfig()
|
public PacketConfig()
|
||||||
{
|
{
|
||||||
|
@ -456,7 +456,7 @@ namespace DutyContent
|
||||||
PingDefAddr = db.Get("DutyPingDefAddr", string.Empty);
|
PingDefAddr = db.Get("DutyPingDefAddr", string.Empty);
|
||||||
PingGraphType = ThirdParty.Converter.ToInt(db["PingGraphType"]);
|
PingGraphType = ThirdParty.Converter.ToInt(db["PingGraphType"]);
|
||||||
|
|
||||||
PacketForLocal = ThirdParty.Converter.ToBool(db["PacketForLocal"]);
|
//PacketForLocal = ThirdParty.Converter.ToBool(db["PacketForLocal"]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
92
DcControl.cs
92
DcControl.cs
|
@ -1,12 +1,16 @@
|
||||||
using Advanced_Combat_Tracker;
|
using System;
|
||||||
using System;
|
|
||||||
using System.Data;
|
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
|
using System.Reflection;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using Advanced_Combat_Tracker;
|
||||||
|
using DutyContent.Properties;
|
||||||
|
using DutyContent.Tab;
|
||||||
|
using DutyContent.ThirdParty;
|
||||||
|
using Timer = System.Timers.Timer;
|
||||||
|
|
||||||
namespace DutyContent
|
namespace DutyContent
|
||||||
{
|
{
|
||||||
|
@ -25,9 +29,9 @@ namespace DutyContent
|
||||||
private TabPage _act_tab;
|
private TabPage _act_tab;
|
||||||
private Label _act_label;
|
private Label _act_label;
|
||||||
|
|
||||||
private System.Timers.Timer _save_timer;
|
private Timer _save_timer;
|
||||||
private System.Timers.Timer _update_timer;
|
private Timer _update_timer;
|
||||||
private ThirdParty.NativeMethods.ProcessHandle _game_process;
|
private NativeMethods.ProcessHandle _game_process;
|
||||||
private long _game_connection_tick = DateTime.Now.Ticks;
|
private long _game_connection_tick = DateTime.Now.Ticks;
|
||||||
private bool _game_exist;
|
private bool _game_exist;
|
||||||
private bool _game_active;
|
private bool _game_active;
|
||||||
|
@ -59,16 +63,16 @@ namespace DutyContent
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
Tab.DutyForm dutyform = new Tab.DutyForm();
|
DutyForm dutyform = new DutyForm();
|
||||||
tabPageDuty.Controls.Add(dutyform.Controls[0]);
|
tabPageDuty.Controls.Add(dutyform.Controls[0]);
|
||||||
|
|
||||||
Tab.PingForm pingform = new Tab.PingForm();
|
PingForm pingform = new PingForm();
|
||||||
tabPagePing.Controls.Add(pingform.Controls[0]);
|
tabPagePing.Controls.Add(pingform.Controls[0]);
|
||||||
|
|
||||||
Tab.ConfigForm configform = new Tab.ConfigForm();
|
ConfigForm configform = new ConfigForm();
|
||||||
tabPageConfig.Controls.Add(configform.Controls[0]);
|
tabPageConfig.Controls.Add(configform.Controls[0]);
|
||||||
|
|
||||||
Tab.LogForm logform = new Tab.LogForm();
|
LogForm logform = new LogForm();
|
||||||
tabPageLog.Controls.Add(logform.Controls[0]);
|
tabPageLog.Controls.Add(logform.Controls[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -96,7 +100,7 @@ namespace DutyContent
|
||||||
else
|
else
|
||||||
ActGlobals.oFormActMain.Shown += OFormActMain_Shown;
|
ActGlobals.oFormActMain.Shown += OFormActMain_Shown;
|
||||||
|
|
||||||
var actinfo = System.Reflection.Assembly.GetAssembly(typeof(ActGlobals));
|
var actinfo = Assembly.GetAssembly(typeof(ActGlobals));
|
||||||
Logger.I(5, actinfo.GetName().Version);
|
Logger.I(5, actinfo.GetName().Version);
|
||||||
|
|
||||||
if (_ffxiv_plugin_data == null)
|
if (_ffxiv_plugin_data == null)
|
||||||
|
@ -119,13 +123,13 @@ namespace DutyContent
|
||||||
ids.ZoneChanged -= FFXIVPlugin_ZoneChanged;
|
ids.ZoneChanged -= FFXIVPlugin_ZoneChanged;
|
||||||
ids.ZoneChanged += FFXIVPlugin_ZoneChanged;
|
ids.ZoneChanged += FFXIVPlugin_ZoneChanged;
|
||||||
|
|
||||||
Logger.I(6, System.Diagnostics.FileVersionInfo.GetVersionInfo(_ffxiv_plugin_data.pluginFile.FullName).FileVersion);
|
Logger.I(6, FileVersionInfo.GetVersionInfo(_ffxiv_plugin_data.pluginFile.FullName).FileVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
// begin region check - from cacbot "VersionChecker.cs"
|
// begin region check - from cacbot "VersionChecker.cs"
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var mach = System.Reflection.Assembly.Load("Machina.FFXIV");
|
var mach = Assembly.Load("Machina.FFXIV");
|
||||||
var opcode_manager_type = mach.GetType("Machina.FFXIV.Headers.Opcodes.OpcodeManager");
|
var opcode_manager_type = mach.GetType("Machina.FFXIV.Headers.Opcodes.OpcodeManager");
|
||||||
var opcode_manager = opcode_manager_type.GetProperty("Instance").GetValue(null);
|
var opcode_manager = opcode_manager_type.GetProperty("Instance").GetValue(null);
|
||||||
var machina_region = opcode_manager_type.GetProperty("GameRegion").GetValue(opcode_manager).ToString();
|
var machina_region = opcode_manager_type.GetProperty("GameRegion").GetValue(opcode_manager).ToString();
|
||||||
|
@ -148,18 +152,20 @@ namespace DutyContent
|
||||||
DcConfig.GameRegion = 0;
|
DcConfig.GameRegion = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* No below 6.2 version [2022-2-16]
|
||||||
if (DcConfig.GameRegion != 0)
|
if (DcConfig.GameRegion != 0)
|
||||||
DcConfig.Duty.PacketForLocal = true;
|
DcConfig.Duty.PacketForLocal = true;
|
||||||
|
*/
|
||||||
// end region check
|
// end region check
|
||||||
|
|
||||||
_save_timer = new System.Timers.Timer() { Interval = 5000 };
|
_save_timer = new Timer { Interval = 5000 };
|
||||||
_save_timer.Elapsed += (sender, e) =>
|
_save_timer.Elapsed += (sender, e) =>
|
||||||
{
|
{
|
||||||
DcConfig.SaveConfig();
|
DcConfig.SaveConfig();
|
||||||
_save_timer.Enabled = false;
|
_save_timer.Enabled = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
_update_timer = new System.Timers.Timer() { Interval = IntervalGameExist };
|
_update_timer = new Timer { Interval = IntervalGameExist };
|
||||||
_update_timer.Elapsed += (sender, e) =>
|
_update_timer.Elapsed += (sender, e) =>
|
||||||
{
|
{
|
||||||
UpdateAndCheckProc();
|
UpdateAndCheckProc();
|
||||||
|
@ -177,11 +183,11 @@ namespace DutyContent
|
||||||
|
|
||||||
DcConfig.PluginEnable = false;
|
DcConfig.PluginEnable = false;
|
||||||
|
|
||||||
Tab.UpdateNotifyForm.Self?.PluginDeinitialize();
|
UpdateNotifyForm.Self?.PluginDeinitialize();
|
||||||
Tab.PingForm.Self?.PluginDeinitialize();
|
PingForm.Self?.PluginDeinitialize();
|
||||||
Tab.DutyForm.Self?.PluginDeinitialize();
|
DutyForm.Self?.PluginDeinitialize();
|
||||||
Tab.ConfigForm.Self?.PluginDeinitialize();
|
ConfigForm.Self?.PluginDeinitialize();
|
||||||
Tab.LogForm.Self?.PluginDeinitialize();
|
LogForm.Self?.PluginDeinitialize();
|
||||||
DcConfig.SaveConfig();
|
DcConfig.SaveConfig();
|
||||||
|
|
||||||
_act_tab = null;
|
_act_tab = null;
|
||||||
|
@ -209,7 +215,7 @@ namespace DutyContent
|
||||||
_act_label.Text = "Starting...";
|
_act_label.Text = "Starting...";
|
||||||
|
|
||||||
//
|
//
|
||||||
Locale.Initialize(Properties.Resources.DefaultMessage);
|
Locale.Initialize(Resources.DefaultMessage);
|
||||||
|
|
||||||
Logger.I(4, DcConfig.PluginVersion.ToString());
|
Logger.I(4, DcConfig.PluginVersion.ToString());
|
||||||
|
|
||||||
|
@ -229,10 +235,10 @@ namespace DutyContent
|
||||||
_act_tab.Controls.Add(this);
|
_act_tab.Controls.Add(this);
|
||||||
|
|
||||||
//
|
//
|
||||||
Tab.LogForm.Self?.PluginInitialize();
|
LogForm.Self?.PluginInitialize();
|
||||||
Tab.ConfigForm.Self?.PluginInitialize();
|
ConfigForm.Self?.PluginInitialize();
|
||||||
Tab.DutyForm.Self?.PluginInitialize();
|
DutyForm.Self?.PluginInitialize();
|
||||||
Tab.PingForm.Self?.PluginInitialize();
|
PingForm.Self?.PluginInitialize();
|
||||||
|
|
||||||
tabMain.SelectedTab = tabPageDuty;
|
tabMain.SelectedTab = tabPageDuty;
|
||||||
|
|
||||||
|
@ -242,7 +248,7 @@ namespace DutyContent
|
||||||
var tag = Updater.CheckPluginUpdate(out string body);
|
var tag = Updater.CheckPluginUpdate(out string body);
|
||||||
if (tag > DcConfig.PluginTag)
|
if (tag > DcConfig.PluginTag)
|
||||||
{
|
{
|
||||||
Tab.UpdateNotifyForm frm = new Tab.UpdateNotifyForm(tag, body);
|
UpdateNotifyForm frm = new UpdateNotifyForm(tag, body);
|
||||||
frm.PluginInitialize();
|
frm.PluginInitialize();
|
||||||
frm.UpdateUiLocale();
|
frm.UpdateUiLocale();
|
||||||
|
|
||||||
|
@ -283,8 +289,8 @@ namespace DutyContent
|
||||||
var g = e.Graphics;
|
var g = e.Graphics;
|
||||||
TabPage p = tabMain.TabPages[e.Index];
|
TabPage p = tabMain.TabPages[e.Index];
|
||||||
Rectangle r = tabMain.GetTabRect(e.Index);
|
Rectangle r = tabMain.GetTabRect(e.Index);
|
||||||
StringFormat s = new StringFormat()
|
StringFormat s = new StringFormat
|
||||||
{
|
{
|
||||||
Alignment = StringAlignment.Near,
|
Alignment = StringAlignment.Near,
|
||||||
LineAlignment = StringAlignment.Center,
|
LineAlignment = StringAlignment.Center,
|
||||||
};
|
};
|
||||||
|
@ -332,7 +338,7 @@ namespace DutyContent
|
||||||
_game_active = false;
|
_game_active = false;
|
||||||
|
|
||||||
// will be update game status next time
|
// will be update game status next time
|
||||||
var p = (from x in Process.GetProcessesByName("ffxiv_dx11") where !x.HasExited && x.MainModule != null && x.MainModule.ModuleName == "ffxiv_dx11.exe" select x).FirstOrDefault<Process>();
|
var p = (from x in Process.GetProcessesByName("ffxiv_dx11") where !x.HasExited && x.MainModule != null && x.MainModule.ModuleName == "ffxiv_dx11.exe" select x).FirstOrDefault();
|
||||||
|
|
||||||
if (p != null && p.HasExited)
|
if (p != null && p.HasExited)
|
||||||
p = null;
|
p = null;
|
||||||
|
@ -340,7 +346,7 @@ namespace DutyContent
|
||||||
if (((_game_process == null) != (p == null)) ||
|
if (((_game_process == null) != (p == null)) ||
|
||||||
(_game_process != null && p != null && _game_process.Process.Id != p.Id))
|
(_game_process != null && p != null && _game_process.Process.Id != p.Id))
|
||||||
{
|
{
|
||||||
_game_process = p != null ? new ThirdParty.NativeMethods.ProcessHandle(p) : null;
|
_game_process = p != null ? new NativeMethods.ProcessHandle(p) : null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -348,8 +354,8 @@ namespace DutyContent
|
||||||
_game_exist = true;
|
_game_exist = true;
|
||||||
|
|
||||||
//
|
//
|
||||||
var fgw = ThirdParty.NativeMethods.GetForegroundWindow();
|
var fgw = NativeMethods.GetForegroundWindow();
|
||||||
ThirdParty.NativeMethods.GetWindowThreadProcessId(fgw, out int id);
|
NativeMethods.GetWindowThreadProcessId(fgw, out int id);
|
||||||
_game_active = _game_process.Process.Id == id;
|
_game_active = _game_process.Process.Id == id;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -370,7 +376,7 @@ namespace DutyContent
|
||||||
Logger.I(42, Locale.Text(43));
|
Logger.I(42, Locale.Text(43));
|
||||||
|
|
||||||
_game_ipaddr = retaddr;
|
_game_ipaddr = retaddr;
|
||||||
Tab.DutyForm.Self?.ResetContentItems();
|
DutyForm.Self?.ResetContentItems();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -386,38 +392,38 @@ namespace DutyContent
|
||||||
if (message.Length < 32)
|
if (message.Length < 32)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Tab.DutyForm.Self?.PacketHandler(connection, message);
|
DutyForm.Self?.PacketHandler(connection, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
private void FFXIVPlugin_ZoneChanged(uint zone_id, string zone_name)
|
private void FFXIVPlugin_ZoneChanged(uint zoneId, string zoneName)
|
||||||
{
|
{
|
||||||
Tab.DutyForm.Self?.ZoneChanged(zone_id, zone_name);
|
DutyForm.Self?.ZoneChanged(zoneId, zoneName);
|
||||||
|
|
||||||
lblStatusLeft.Text = Locale.Text(34, zone_name, zone_id);
|
lblStatusLeft.Text = Locale.Text(34, zoneName, zoneId);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
public void UpdateUiLocale()
|
public void UpdateUiLocale()
|
||||||
{
|
{
|
||||||
ThirdParty.FontUtilities.SimpleChangeFont(this, DcConfig.UiFontFamily, true);
|
FontUtilities.SimpleChangeFont(this, DcConfig.UiFontFamily, true);
|
||||||
|
|
||||||
_act_label.Text = Locale.Text(1); // Duty ready
|
_act_label.Text = Locale.Text(1); // Duty ready
|
||||||
_act_tab.Text = Locale.Text(0); // FFXIV dc
|
_act_tab.Text = Locale.Text(0); // FFXIV dc
|
||||||
|
|
||||||
tabPageDuty.Text = Locale.Text(300);
|
tabPageDuty.Text = Locale.Text(300);
|
||||||
Tab.DutyForm.Self?.UpdateUiLocale();
|
DutyForm.Self?.UpdateUiLocale();
|
||||||
|
|
||||||
tabPagePing.Text = Locale.Text(400);
|
tabPagePing.Text = Locale.Text(400);
|
||||||
Tab.PingForm.Self?.UpdateUiLocale();
|
PingForm.Self?.UpdateUiLocale();
|
||||||
|
|
||||||
tabPageConfig.Text = Locale.Text(200);
|
tabPageConfig.Text = Locale.Text(200);
|
||||||
Tab.ConfigForm.Self?.UpdateUiLocale();
|
ConfigForm.Self?.UpdateUiLocale();
|
||||||
|
|
||||||
tabPageLog.Text = Locale.Text(500);
|
tabPageLog.Text = Locale.Text(500);
|
||||||
Tab.LogForm.Self?.UpdateUiLocale();
|
LogForm.Self?.UpdateUiLocale();
|
||||||
|
|
||||||
Tab.UpdateNotifyForm.Self?.UpdateUiLocale();
|
UpdateNotifyForm.Self?.UpdateUiLocale();
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -14,5 +14,4 @@ Revi 님께서 작성하신 Wiki가 있어 링크합니다. 정리가 잘되어
|
||||||
* 매칭 알림 설정: https://revi.wiki/m/5ya
|
* 매칭 알림 설정: https://revi.wiki/m/5ya
|
||||||
* 커스텀 패킷: https://revi.wiki/m/6Vn
|
* 커스텀 패킷: https://revi.wiki/m/6Vn
|
||||||
|
|
||||||
6.2부터 패킷이 바뀌어서 6.1 및 그 이전 버전과 호환이 되지 않습니다. 버전 27에 한국판을 감지하는 기능을 넣었고 이 버전으로 업데이트 하시면 문제없이 동작합니다.
|
버전 30부터 6.2 전용입니다. 6.2 업데이트에서 사용할 수 있을 것으로 기대됩니다. (테스트X)
|
||||||
한국판이 6.2로 업데이트가 예정되면 그때 SQEX판과 동일하게 작동하도록 다시금 변경하겠습니다.
|
|
3628
Tab/DutyForm.cs
3628
Tab/DutyForm.cs
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue