Experimental: no longer run in dev/staging dalamud when not Debug/ReleaseValidate

This commit is contained in:
RisaDev
2024-11-18 01:08:25 +03:00
parent 9c0b8b7ab0
commit 344dc52614
11 changed files with 124 additions and 18 deletions

View File

@@ -25,6 +25,7 @@ public class CPlusChangeLog
Add2_0_6_0(Changelog);
Add2_0_6_3(Changelog);
Add2_0_7_0(Changelog);
Add2_0_7_2(Changelog);
}
private (int, ChangeLogDisplayType) ConfigData()
@@ -37,6 +38,15 @@ public class CPlusChangeLog
_config.Save();
}
private static void Add2_0_7_2(Changelog log)
=> log.NextVersion("Version 2.0.7.2")
.RegisterHighlight("Support for 7.1 and Dalamud API 11.")
.RegisterImportant("As an experiment Customize+ will no longer run if you are running testing or development version of Dalamud. Please leave your feedback about this change in support Discord.")
.RegisterEntry("Developers can prevent this from triggering by manually compiling \"Debug\" or \"ReleaseValidate\" builds of Customize+.", 1)
.RegisterHighlight("Fixed an issue which prevented owned characters (such as Carbuncles and Trust NPCs) from being detected. (2.0.7.1)")
.RegisterEntry("Source code maintenance - external libraries update.");
private static void Add2_0_7_0(Changelog log)
=> log.NextVersion("Version 2.0.7.0")
.RegisterImportant("Some parts of Customize+ have been considerably rewritten in this update. If you encounter any issues please report them.")

View File

@@ -79,11 +79,11 @@ public class PluginStateBlock
severity = PluginStateSeverity.Error;
message = "Detected failure in IPC. Integrations with other plugins will not function.";
}
else if (_dalamudBranchService.CurrentBranch != DalamudBranchService.DalamudBranch.Release)
else if (!_dalamudBranchService.AllowPluginToRun)
{
severity = PluginStateSeverity.Error;
message = "You are running unsupported version of Dalamud, hover for more information.";
hoverInfo = "Regular users are not supposed to run Customize+ on development or testing versions of Dalamud.\nThis is not supported and might be actively prevented in the future.";
hoverInfo = "Regular users are not supposed to run Customize+ on development or testing versions of Dalamud.\nThis is not supported and therefore Customize+ has disabled itself.";
}
else if(VersionHelper.IsTesting)
{

View File

@@ -20,6 +20,7 @@ using CustomizePlus.Templates.Events;
using CustomizePlus.Templates.Data;
using ECommonsLite.Schedulers;
using CustomizePlus.Core.Helpers;
using CustomizePlus.Core.Services.Dalamud;
namespace CustomizePlus.UI.Windows.MainWindow;
@@ -37,6 +38,7 @@ public class MainWindow : Window, IDisposable
private readonly TemplateEditorManager _templateEditorManager;
private readonly PluginConfiguration _configuration;
private readonly HookingService _hookingService;
private readonly DalamudBranchService _dalamudBranchService;
private readonly TemplateEditorEvent _templateEditorEvent;
@@ -59,6 +61,7 @@ public class MainWindow : Window, IDisposable
TemplateEditorManager templateEditorManager,
PluginConfiguration configuration,
HookingService hookingService,
DalamudBranchService dalamudBranchService,
TemplateEditorEvent templateEditorEvent
) : base($"Customize+ {VersionHelper.Version}###CPlusMainWindow")
{
@@ -74,6 +77,7 @@ public class MainWindow : Window, IDisposable
_templateEditorManager = templateEditorManager;
_configuration = configuration;
_hookingService = hookingService;
_dalamudBranchService = dalamudBranchService;
_templateEditorEvent = templateEditorEvent;
@@ -97,7 +101,7 @@ public class MainWindow : Window, IDisposable
{
var yPos = ImGui.GetCursorPosY();
using (var disabled = ImRaii.Disabled(_hookingService.RenderHookFailed || _hookingService.MovementHookFailed))
using (var disabled = ImRaii.Disabled(_hookingService.RenderHookFailed || _hookingService.MovementHookFailed || !_dalamudBranchService.AllowPluginToRun))
{
LockWindowClosureIfNeeded();
ImGuiEx.EzTabBar("##tabs", null, _switchToTab, [

View File

@@ -1,4 +1,5 @@
using System.Numerics;
using CustomizePlus.Core.Services.Dalamud;
using System.Numerics;
namespace CustomizePlus.UI.Windows;
@@ -23,6 +24,8 @@ public partial class PopupSystem
public const string ClipboardDataUnsupported = "clipboard_data_unsupported_version";
public const string ClipboardDataNotLongTerm = "clipboard_data_not_longterm";
public const string PluginDisabledNonReleaseDalamud = "non_release_dalamud";
}
private void RegisterMessages()
@@ -44,5 +47,7 @@ public partial class PopupSystem
RegisterPopup(Messages.ClipboardDataUnsupported, "Clipboard data you are trying to use cannot be used in this version of Customize+.");
RegisterPopup(Messages.ClipboardDataNotLongTerm, "Warning: clipboard data is not designed to be used as long-term way of storing your templates.\nCompatibility of copied data between different Customize+ versions is not guaranteed.", true, new Vector2(5, 10));
RegisterPopup(Messages.PluginDisabledNonReleaseDalamud, DalamudBranchService.PluginDisabledMessage, false, new Vector2(5, 8));
}
}