diff --git a/Images/HowAndWhenToClick.svg b/Images/HowAndWhenToClick.svg
new file mode 100644
index 000000000..3c17a439c
--- /dev/null
+++ b/Images/HowAndWhenToClick.svg
@@ -0,0 +1,439 @@
+
+
+
+
diff --git a/RotationSolver.Basic/Attributes/LinkDescriptionAttribute.cs b/RotationSolver.Basic/Attributes/LinkDescriptionAttribute.cs
index f2bb43933..2b7de1232 100644
--- a/RotationSolver.Basic/Attributes/LinkDescriptionAttribute.cs
+++ b/RotationSolver.Basic/Attributes/LinkDescriptionAttribute.cs
@@ -1,9 +1,4 @@
-using Dalamud.Utility;
-using ECommons.ImGuiMethods;
-using ImGuiScene;
-using static System.Windows.Forms.LinkLabel;
-
-namespace RotationSolver.Basic.Attributes;
+namespace RotationSolver.Basic.Attributes;
///
/// The link to a image or web about your rotation.
@@ -30,7 +25,7 @@ public LinkDescriptionAttribute(string path, string description = "")
///
/// Link description itself.
///
-public class LinkDescription
+public struct LinkDescription
{
///
/// Description.
diff --git a/RotationSolver/Localization/ConfigTranslation.cs b/RotationSolver/Localization/ConfigTranslation.cs
index e637a4573..76efafc45 100644
--- a/RotationSolver/Localization/ConfigTranslation.cs
+++ b/RotationSolver/Localization/ConfigTranslation.cs
@@ -98,6 +98,17 @@ private static string ToCommandStr(object obj)
public static LinkDescription[] ToAction(this PluginConfigFloat config) => config switch
{
+ PluginConfigFloat.ActionAhead => new LinkDescription[]
+ {
+ new LinkDescription()
+ {
+ Path = "https://raw.githubusercontent.com/ArchiDog1998/RotationSolver/main/Images/HowAndWhenToClick.svg",
+ Description = "This plugin helps you to use the right action during the combat. Here is a guide about the different options.",
+ },
+ },
+ //PluginConfigFloat.MinLastAbilityAdvanced => new LinkDescription[]
+ //{
+ //},
_ => null,
};
diff --git a/RotationSolver/Localization/Localization.json b/RotationSolver/Localization/Localization.json
index 219d559a1..04ed98a15 100644
--- a/RotationSolver/Localization/Localization.json
+++ b/RotationSolver/Localization/Localization.json
@@ -3,6 +3,7 @@
"Commands_ChangeSettingsValue": "Modify {0} to {1}",
"Commands_ChangeRotationConfig": "Modify {0} to {1}",
"Commands_CannotFindRotationConfig": "Failed to find the config in this rotation, please check it.",
+ "Commands_CannotFindConfig": "Failed to find the config, please check it.",
"Commands_InsertAction": "Will use it within {0}s",
"Commands_InsertActionFailure": "Can not find the action, please check the action name.",
"ConfigWindow_Header": "Rotation Solver Settings v",
diff --git a/Images/Logos/0001.png b/RotationSolver/Logos/0001.png
similarity index 100%
rename from Images/Logos/0001.png
rename to RotationSolver/Logos/0001.png
diff --git a/Images/Logos/0002.png b/RotationSolver/Logos/0002.png
similarity index 100%
rename from Images/Logos/0002.png
rename to RotationSolver/Logos/0002.png
diff --git a/Images/Logos/0003.png b/RotationSolver/Logos/0003.png
similarity index 100%
rename from Images/Logos/0003.png
rename to RotationSolver/Logos/0003.png
diff --git a/Images/Logos/0004.png b/RotationSolver/Logos/0004.png
similarity index 100%
rename from Images/Logos/0004.png
rename to RotationSolver/Logos/0004.png
diff --git a/Images/Logos/0005.png b/RotationSolver/Logos/0005.png
similarity index 100%
rename from Images/Logos/0005.png
rename to RotationSolver/Logos/0005.png
diff --git a/Images/Logos/0006.png b/RotationSolver/Logos/0006.png
similarity index 100%
rename from Images/Logos/0006.png
rename to RotationSolver/Logos/0006.png
diff --git a/Images/Logos/0007.png b/RotationSolver/Logos/0007.png
similarity index 100%
rename from Images/Logos/0007.png
rename to RotationSolver/Logos/0007.png
diff --git a/Images/Logos/0008.png b/RotationSolver/Logos/0008.png
similarity index 100%
rename from Images/Logos/0008.png
rename to RotationSolver/Logos/0008.png
diff --git a/Images/Logos/0009.png b/RotationSolver/Logos/0009.png
similarity index 100%
rename from Images/Logos/0009.png
rename to RotationSolver/Logos/0009.png
diff --git a/Images/Logos/0010.png b/RotationSolver/Logos/0010.png
similarity index 100%
rename from Images/Logos/0010.png
rename to RotationSolver/Logos/0010.png
diff --git a/Images/Logos/0011.png b/RotationSolver/Logos/0011.png
similarity index 100%
rename from Images/Logos/0011.png
rename to RotationSolver/Logos/0011.png
diff --git a/Images/Logos/0012.png b/RotationSolver/Logos/0012.png
similarity index 100%
rename from Images/Logos/0012.png
rename to RotationSolver/Logos/0012.png
diff --git a/Images/Logos/0013.png b/RotationSolver/Logos/0013.png
similarity index 100%
rename from Images/Logos/0013.png
rename to RotationSolver/Logos/0013.png
diff --git a/Images/Logos/0014.png b/RotationSolver/Logos/0014.png
similarity index 100%
rename from Images/Logos/0014.png
rename to RotationSolver/Logos/0014.png
diff --git a/Images/Logos/0015.png b/RotationSolver/Logos/0015.png
similarity index 100%
rename from Images/Logos/0015.png
rename to RotationSolver/Logos/0015.png
diff --git a/Images/Logos/0016.png b/RotationSolver/Logos/0016.png
similarity index 100%
rename from Images/Logos/0016.png
rename to RotationSolver/Logos/0016.png
diff --git a/Images/Logos/0017.png b/RotationSolver/Logos/0017.png
similarity index 100%
rename from Images/Logos/0017.png
rename to RotationSolver/Logos/0017.png
diff --git a/Images/Logos/0018.png b/RotationSolver/Logos/0018.png
similarity index 100%
rename from Images/Logos/0018.png
rename to RotationSolver/Logos/0018.png
diff --git a/Images/Logos/0019.png b/RotationSolver/Logos/0019.png
similarity index 100%
rename from Images/Logos/0019.png
rename to RotationSolver/Logos/0019.png
diff --git a/Images/Logos/0020.png b/RotationSolver/Logos/0020.png
similarity index 100%
rename from Images/Logos/0020.png
rename to RotationSolver/Logos/0020.png
diff --git a/Images/Logos/0021.png b/RotationSolver/Logos/0021.png
similarity index 100%
rename from Images/Logos/0021.png
rename to RotationSolver/Logos/0021.png
diff --git a/Images/Logos/0022.png b/RotationSolver/Logos/0022.png
similarity index 100%
rename from Images/Logos/0022.png
rename to RotationSolver/Logos/0022.png
diff --git a/Images/Logos/0023.png b/RotationSolver/Logos/0023.png
similarity index 100%
rename from Images/Logos/0023.png
rename to RotationSolver/Logos/0023.png
diff --git a/Images/Logos/0024.png b/RotationSolver/Logos/0024.png
similarity index 100%
rename from Images/Logos/0024.png
rename to RotationSolver/Logos/0024.png
diff --git a/Images/Logos/0025.png b/RotationSolver/Logos/0025.png
similarity index 100%
rename from Images/Logos/0025.png
rename to RotationSolver/Logos/0025.png
diff --git a/Images/Logos/0026.png b/RotationSolver/Logos/0026.png
similarity index 100%
rename from Images/Logos/0026.png
rename to RotationSolver/Logos/0026.png
diff --git a/Images/Logos/0027.png b/RotationSolver/Logos/0027.png
similarity index 100%
rename from Images/Logos/0027.png
rename to RotationSolver/Logos/0027.png
diff --git a/Images/Logos/0028.png b/RotationSolver/Logos/0028.png
similarity index 100%
rename from Images/Logos/0028.png
rename to RotationSolver/Logos/0028.png
diff --git a/Images/Logos/0029.png b/RotationSolver/Logos/0029.png
similarity index 100%
rename from Images/Logos/0029.png
rename to RotationSolver/Logos/0029.png
diff --git a/Images/Logos/0030.png b/RotationSolver/Logos/0030.png
similarity index 100%
rename from Images/Logos/0030.png
rename to RotationSolver/Logos/0030.png
diff --git a/Images/Logos/0031.png b/RotationSolver/Logos/0031.png
similarity index 100%
rename from Images/Logos/0031.png
rename to RotationSolver/Logos/0031.png
diff --git a/Images/Logos/0032.png b/RotationSolver/Logos/0032.png
similarity index 100%
rename from Images/Logos/0032.png
rename to RotationSolver/Logos/0032.png
diff --git a/Images/Logos/0033.png b/RotationSolver/Logos/0033.png
similarity index 100%
rename from Images/Logos/0033.png
rename to RotationSolver/Logos/0033.png
diff --git a/Images/Logos/0034.png b/RotationSolver/Logos/0034.png
similarity index 100%
rename from Images/Logos/0034.png
rename to RotationSolver/Logos/0034.png
diff --git a/Images/Logos/0035.png b/RotationSolver/Logos/0035.png
similarity index 100%
rename from Images/Logos/0035.png
rename to RotationSolver/Logos/0035.png
diff --git a/Images/Logos/0036.png b/RotationSolver/Logos/0036.png
similarity index 100%
rename from Images/Logos/0036.png
rename to RotationSolver/Logos/0036.png
diff --git a/Images/Logos/0037.png b/RotationSolver/Logos/0037.png
similarity index 100%
rename from Images/Logos/0037.png
rename to RotationSolver/Logos/0037.png
diff --git a/Images/Logos/0038.png b/RotationSolver/Logos/0038.png
similarity index 100%
rename from Images/Logos/0038.png
rename to RotationSolver/Logos/0038.png
diff --git a/Images/Logos/0039.png b/RotationSolver/Logos/0039.png
similarity index 100%
rename from Images/Logos/0039.png
rename to RotationSolver/Logos/0039.png
diff --git a/Images/Logos/0040.png b/RotationSolver/Logos/0040.png
similarity index 100%
rename from Images/Logos/0040.png
rename to RotationSolver/Logos/0040.png
diff --git a/Images/Logos/0041.png b/RotationSolver/Logos/0041.png
similarity index 100%
rename from Images/Logos/0041.png
rename to RotationSolver/Logos/0041.png
diff --git a/Images/Logos/0042.png b/RotationSolver/Logos/0042.png
similarity index 100%
rename from Images/Logos/0042.png
rename to RotationSolver/Logos/0042.png
diff --git a/Images/Logos/0043.png b/RotationSolver/Logos/0043.png
similarity index 100%
rename from Images/Logos/0043.png
rename to RotationSolver/Logos/0043.png
diff --git a/Images/Logos/0044.png b/RotationSolver/Logos/0044.png
similarity index 100%
rename from Images/Logos/0044.png
rename to RotationSolver/Logos/0044.png
diff --git a/Images/Logos/0045.png b/RotationSolver/Logos/0045.png
similarity index 100%
rename from Images/Logos/0045.png
rename to RotationSolver/Logos/0045.png
diff --git a/Images/Logos/0046.png b/RotationSolver/Logos/0046.png
similarity index 100%
rename from Images/Logos/0046.png
rename to RotationSolver/Logos/0046.png
diff --git a/Images/Logos/0047.png b/RotationSolver/Logos/0047.png
similarity index 100%
rename from Images/Logos/0047.png
rename to RotationSolver/Logos/0047.png
diff --git a/Images/Logos/0048.png b/RotationSolver/Logos/0048.png
similarity index 100%
rename from Images/Logos/0048.png
rename to RotationSolver/Logos/0048.png
diff --git a/Images/Logos/0049.png b/RotationSolver/Logos/0049.png
similarity index 100%
rename from Images/Logos/0049.png
rename to RotationSolver/Logos/0049.png
diff --git a/Images/Logos/0050.png b/RotationSolver/Logos/0050.png
similarity index 100%
rename from Images/Logos/0050.png
rename to RotationSolver/Logos/0050.png
diff --git a/Images/Logos/0051.png b/RotationSolver/Logos/0051.png
similarity index 100%
rename from Images/Logos/0051.png
rename to RotationSolver/Logos/0051.png
diff --git a/Images/Logos/0052.png b/RotationSolver/Logos/0052.png
similarity index 100%
rename from Images/Logos/0052.png
rename to RotationSolver/Logos/0052.png
diff --git a/Images/Logos/0053.png b/RotationSolver/Logos/0053.png
similarity index 100%
rename from Images/Logos/0053.png
rename to RotationSolver/Logos/0053.png
diff --git a/Images/Logos/0054.png b/RotationSolver/Logos/0054.png
similarity index 100%
rename from Images/Logos/0054.png
rename to RotationSolver/Logos/0054.png
diff --git a/Images/Logos/0055.png b/RotationSolver/Logos/0055.png
similarity index 100%
rename from Images/Logos/0055.png
rename to RotationSolver/Logos/0055.png
diff --git a/Images/Logos/0056.png b/RotationSolver/Logos/0056.png
similarity index 100%
rename from Images/Logos/0056.png
rename to RotationSolver/Logos/0056.png
diff --git a/Images/Logos/0057.png b/RotationSolver/Logos/0057.png
similarity index 100%
rename from Images/Logos/0057.png
rename to RotationSolver/Logos/0057.png
diff --git a/Images/Logos/0058.png b/RotationSolver/Logos/0058.png
similarity index 100%
rename from Images/Logos/0058.png
rename to RotationSolver/Logos/0058.png
diff --git a/Images/Logos/0059.png b/RotationSolver/Logos/0059.png
similarity index 100%
rename from Images/Logos/0059.png
rename to RotationSolver/Logos/0059.png
diff --git a/Images/Logos/0060.png b/RotationSolver/Logos/0060.png
similarity index 100%
rename from Images/Logos/0060.png
rename to RotationSolver/Logos/0060.png
diff --git a/Images/Logos/0061.png b/RotationSolver/Logos/0061.png
similarity index 100%
rename from Images/Logos/0061.png
rename to RotationSolver/Logos/0061.png
diff --git a/Images/Logos/0062.png b/RotationSolver/Logos/0062.png
similarity index 100%
rename from Images/Logos/0062.png
rename to RotationSolver/Logos/0062.png
diff --git a/Images/Logos/0063.png b/RotationSolver/Logos/0063.png
similarity index 100%
rename from Images/Logos/0063.png
rename to RotationSolver/Logos/0063.png
diff --git a/Images/Logos/0064.png b/RotationSolver/Logos/0064.png
similarity index 100%
rename from Images/Logos/0064.png
rename to RotationSolver/Logos/0064.png
diff --git a/Images/Logos/0065.png b/RotationSolver/Logos/0065.png
similarity index 100%
rename from Images/Logos/0065.png
rename to RotationSolver/Logos/0065.png
diff --git a/Images/Logos/0066.png b/RotationSolver/Logos/0066.png
similarity index 100%
rename from Images/Logos/0066.png
rename to RotationSolver/Logos/0066.png
diff --git a/Images/Logos/0067.png b/RotationSolver/Logos/0067.png
similarity index 100%
rename from Images/Logos/0067.png
rename to RotationSolver/Logos/0067.png
diff --git a/Images/Logos/0068.png b/RotationSolver/Logos/0068.png
similarity index 100%
rename from Images/Logos/0068.png
rename to RotationSolver/Logos/0068.png
diff --git a/Images/Logos/0069.png b/RotationSolver/Logos/0069.png
similarity index 100%
rename from Images/Logos/0069.png
rename to RotationSolver/Logos/0069.png
diff --git a/Images/Logos/0070.png b/RotationSolver/Logos/0070.png
similarity index 100%
rename from Images/Logos/0070.png
rename to RotationSolver/Logos/0070.png
diff --git a/Images/Logos/0071.png b/RotationSolver/Logos/0071.png
similarity index 100%
rename from Images/Logos/0071.png
rename to RotationSolver/Logos/0071.png
diff --git a/Images/Logos/0072.png b/RotationSolver/Logos/0072.png
similarity index 100%
rename from Images/Logos/0072.png
rename to RotationSolver/Logos/0072.png
diff --git a/Images/Logos/0073.png b/RotationSolver/Logos/0073.png
similarity index 100%
rename from Images/Logos/0073.png
rename to RotationSolver/Logos/0073.png
diff --git a/Images/Logos/0074.png b/RotationSolver/Logos/0074.png
similarity index 100%
rename from Images/Logos/0074.png
rename to RotationSolver/Logos/0074.png
diff --git a/Images/Logos/0075.png b/RotationSolver/Logos/0075.png
similarity index 100%
rename from Images/Logos/0075.png
rename to RotationSolver/Logos/0075.png
diff --git a/Images/Logos/0076.png b/RotationSolver/Logos/0076.png
similarity index 100%
rename from Images/Logos/0076.png
rename to RotationSolver/Logos/0076.png
diff --git a/Images/Logos/0077.png b/RotationSolver/Logos/0077.png
similarity index 100%
rename from Images/Logos/0077.png
rename to RotationSolver/Logos/0077.png
diff --git a/Images/Logos/0078.png b/RotationSolver/Logos/0078.png
similarity index 100%
rename from Images/Logos/0078.png
rename to RotationSolver/Logos/0078.png
diff --git a/Images/Logos/0079.png b/RotationSolver/Logos/0079.png
similarity index 100%
rename from Images/Logos/0079.png
rename to RotationSolver/Logos/0079.png
diff --git a/Images/Logos/0080.png b/RotationSolver/Logos/0080.png
similarity index 100%
rename from Images/Logos/0080.png
rename to RotationSolver/Logos/0080.png
diff --git a/Images/Logos/0081.png b/RotationSolver/Logos/0081.png
similarity index 100%
rename from Images/Logos/0081.png
rename to RotationSolver/Logos/0081.png
diff --git a/Images/Logos/0082.png b/RotationSolver/Logos/0082.png
similarity index 100%
rename from Images/Logos/0082.png
rename to RotationSolver/Logos/0082.png
diff --git a/Images/Logos/0083.png b/RotationSolver/Logos/0083.png
similarity index 100%
rename from Images/Logos/0083.png
rename to RotationSolver/Logos/0083.png
diff --git a/Images/Logos/0084.png b/RotationSolver/Logos/0084.png
similarity index 100%
rename from Images/Logos/0084.png
rename to RotationSolver/Logos/0084.png
diff --git a/Images/Logos/0085.png b/RotationSolver/Logos/0085.png
similarity index 100%
rename from Images/Logos/0085.png
rename to RotationSolver/Logos/0085.png
diff --git a/Images/Logos/0086.png b/RotationSolver/Logos/0086.png
similarity index 100%
rename from Images/Logos/0086.png
rename to RotationSolver/Logos/0086.png
diff --git a/Images/Logos/0087.png b/RotationSolver/Logos/0087.png
similarity index 100%
rename from Images/Logos/0087.png
rename to RotationSolver/Logos/0087.png
diff --git a/Images/Logos/0088.png b/RotationSolver/Logos/0088.png
similarity index 100%
rename from Images/Logos/0088.png
rename to RotationSolver/Logos/0088.png
diff --git a/Images/Logos/0089.png b/RotationSolver/Logos/0089.png
similarity index 100%
rename from Images/Logos/0089.png
rename to RotationSolver/Logos/0089.png
diff --git a/Images/Logos/0090.png b/RotationSolver/Logos/0090.png
similarity index 100%
rename from Images/Logos/0090.png
rename to RotationSolver/Logos/0090.png
diff --git a/Images/Logos/0091.png b/RotationSolver/Logos/0091.png
similarity index 100%
rename from Images/Logos/0091.png
rename to RotationSolver/Logos/0091.png
diff --git a/Images/Logos/0092.png b/RotationSolver/Logos/0092.png
similarity index 100%
rename from Images/Logos/0092.png
rename to RotationSolver/Logos/0092.png
diff --git a/Images/Logos/0093.png b/RotationSolver/Logos/0093.png
similarity index 100%
rename from Images/Logos/0093.png
rename to RotationSolver/Logos/0093.png
diff --git a/Images/Logos/0094.png b/RotationSolver/Logos/0094.png
similarity index 100%
rename from Images/Logos/0094.png
rename to RotationSolver/Logos/0094.png
diff --git a/Images/Logos/0095.png b/RotationSolver/Logos/0095.png
similarity index 100%
rename from Images/Logos/0095.png
rename to RotationSolver/Logos/0095.png
diff --git a/Images/Logos/0096.png b/RotationSolver/Logos/0096.png
similarity index 100%
rename from Images/Logos/0096.png
rename to RotationSolver/Logos/0096.png
diff --git a/Images/Logos/0097.png b/RotationSolver/Logos/0097.png
similarity index 100%
rename from Images/Logos/0097.png
rename to RotationSolver/Logos/0097.png
diff --git a/Images/Logos/0098.png b/RotationSolver/Logos/0098.png
similarity index 100%
rename from Images/Logos/0098.png
rename to RotationSolver/Logos/0098.png
diff --git a/Images/Logos/0099.png b/RotationSolver/Logos/0099.png
similarity index 100%
rename from Images/Logos/0099.png
rename to RotationSolver/Logos/0099.png
diff --git a/Images/Logos/0100.png b/RotationSolver/Logos/0100.png
similarity index 100%
rename from Images/Logos/0100.png
rename to RotationSolver/Logos/0100.png
diff --git a/Images/Logos/0101.png b/RotationSolver/Logos/0101.png
similarity index 100%
rename from Images/Logos/0101.png
rename to RotationSolver/Logos/0101.png
diff --git a/Images/Logos/0102.png b/RotationSolver/Logos/0102.png
similarity index 100%
rename from Images/Logos/0102.png
rename to RotationSolver/Logos/0102.png
diff --git a/Images/Logos/0103.png b/RotationSolver/Logos/0103.png
similarity index 100%
rename from Images/Logos/0103.png
rename to RotationSolver/Logos/0103.png
diff --git a/Images/Logos/0104.png b/RotationSolver/Logos/0104.png
similarity index 100%
rename from Images/Logos/0104.png
rename to RotationSolver/Logos/0104.png
diff --git a/Images/Logos/0105.png b/RotationSolver/Logos/0105.png
similarity index 100%
rename from Images/Logos/0105.png
rename to RotationSolver/Logos/0105.png
diff --git a/Images/Logos/0106.png b/RotationSolver/Logos/0106.png
similarity index 100%
rename from Images/Logos/0106.png
rename to RotationSolver/Logos/0106.png
diff --git a/Images/Logos/0107.png b/RotationSolver/Logos/0107.png
similarity index 100%
rename from Images/Logos/0107.png
rename to RotationSolver/Logos/0107.png
diff --git a/Images/Logos/0108.png b/RotationSolver/Logos/0108.png
similarity index 100%
rename from Images/Logos/0108.png
rename to RotationSolver/Logos/0108.png
diff --git a/Images/Logos/0109.png b/RotationSolver/Logos/0109.png
similarity index 100%
rename from Images/Logos/0109.png
rename to RotationSolver/Logos/0109.png
diff --git a/Images/Logos/0110.png b/RotationSolver/Logos/0110.png
similarity index 100%
rename from Images/Logos/0110.png
rename to RotationSolver/Logos/0110.png
diff --git a/Images/Logos/0111.png b/RotationSolver/Logos/0111.png
similarity index 100%
rename from Images/Logos/0111.png
rename to RotationSolver/Logos/0111.png
diff --git a/Images/Logos/0112.png b/RotationSolver/Logos/0112.png
similarity index 100%
rename from Images/Logos/0112.png
rename to RotationSolver/Logos/0112.png
diff --git a/Images/Logos/0113.png b/RotationSolver/Logos/0113.png
similarity index 100%
rename from Images/Logos/0113.png
rename to RotationSolver/Logos/0113.png
diff --git a/Images/Logos/0114.png b/RotationSolver/Logos/0114.png
similarity index 100%
rename from Images/Logos/0114.png
rename to RotationSolver/Logos/0114.png
diff --git a/Images/Logos/0115.png b/RotationSolver/Logos/0115.png
similarity index 100%
rename from Images/Logos/0115.png
rename to RotationSolver/Logos/0115.png
diff --git a/Images/Logos/0116.png b/RotationSolver/Logos/0116.png
similarity index 100%
rename from Images/Logos/0116.png
rename to RotationSolver/Logos/0116.png
diff --git a/Images/Logos/0117.png b/RotationSolver/Logos/0117.png
similarity index 100%
rename from Images/Logos/0117.png
rename to RotationSolver/Logos/0117.png
diff --git a/Images/Logos/0118.png b/RotationSolver/Logos/0118.png
similarity index 100%
rename from Images/Logos/0118.png
rename to RotationSolver/Logos/0118.png
diff --git a/Images/Logos/0119.png b/RotationSolver/Logos/0119.png
similarity index 100%
rename from Images/Logos/0119.png
rename to RotationSolver/Logos/0119.png
diff --git a/Images/Logos/0120.png b/RotationSolver/Logos/0120.png
similarity index 100%
rename from Images/Logos/0120.png
rename to RotationSolver/Logos/0120.png
diff --git a/Images/Logos/0121.png b/RotationSolver/Logos/0121.png
similarity index 100%
rename from Images/Logos/0121.png
rename to RotationSolver/Logos/0121.png
diff --git a/Images/Logos/0122.png b/RotationSolver/Logos/0122.png
similarity index 100%
rename from Images/Logos/0122.png
rename to RotationSolver/Logos/0122.png
diff --git a/Images/Logos/0123.png b/RotationSolver/Logos/0123.png
similarity index 100%
rename from Images/Logos/0123.png
rename to RotationSolver/Logos/0123.png
diff --git a/Images/Logos/0124.png b/RotationSolver/Logos/0124.png
similarity index 100%
rename from Images/Logos/0124.png
rename to RotationSolver/Logos/0124.png
diff --git a/Images/Logos/0125.png b/RotationSolver/Logos/0125.png
similarity index 100%
rename from Images/Logos/0125.png
rename to RotationSolver/Logos/0125.png
diff --git a/Images/Logos/0126.png b/RotationSolver/Logos/0126.png
similarity index 100%
rename from Images/Logos/0126.png
rename to RotationSolver/Logos/0126.png
diff --git a/Images/Logos/0127.png b/RotationSolver/Logos/0127.png
similarity index 100%
rename from Images/Logos/0127.png
rename to RotationSolver/Logos/0127.png
diff --git a/Images/Logos/0128.png b/RotationSolver/Logos/0128.png
similarity index 100%
rename from Images/Logos/0128.png
rename to RotationSolver/Logos/0128.png
diff --git a/Images/Logos/0129.png b/RotationSolver/Logos/0129.png
similarity index 100%
rename from Images/Logos/0129.png
rename to RotationSolver/Logos/0129.png
diff --git a/Images/Logos/0130.png b/RotationSolver/Logos/0130.png
similarity index 100%
rename from Images/Logos/0130.png
rename to RotationSolver/Logos/0130.png
diff --git a/Images/Logos/0131.png b/RotationSolver/Logos/0131.png
similarity index 100%
rename from Images/Logos/0131.png
rename to RotationSolver/Logos/0131.png
diff --git a/Images/Logos/0132.png b/RotationSolver/Logos/0132.png
similarity index 100%
rename from Images/Logos/0132.png
rename to RotationSolver/Logos/0132.png
diff --git a/Images/Logos/0133.png b/RotationSolver/Logos/0133.png
similarity index 100%
rename from Images/Logos/0133.png
rename to RotationSolver/Logos/0133.png
diff --git a/Images/Logos/0134.png b/RotationSolver/Logos/0134.png
similarity index 100%
rename from Images/Logos/0134.png
rename to RotationSolver/Logos/0134.png
diff --git a/Images/Logos/0135.png b/RotationSolver/Logos/0135.png
similarity index 100%
rename from Images/Logos/0135.png
rename to RotationSolver/Logos/0135.png
diff --git a/Images/Logos/0136.png b/RotationSolver/Logos/0136.png
similarity index 100%
rename from Images/Logos/0136.png
rename to RotationSolver/Logos/0136.png
diff --git a/Images/Logos/0137.png b/RotationSolver/Logos/0137.png
similarity index 100%
rename from Images/Logos/0137.png
rename to RotationSolver/Logos/0137.png
diff --git a/Images/Logos/0138.png b/RotationSolver/Logos/0138.png
similarity index 100%
rename from Images/Logos/0138.png
rename to RotationSolver/Logos/0138.png
diff --git a/Images/Logos/0139.png b/RotationSolver/Logos/0139.png
similarity index 100%
rename from Images/Logos/0139.png
rename to RotationSolver/Logos/0139.png
diff --git a/Images/Logos/0140.png b/RotationSolver/Logos/0140.png
similarity index 100%
rename from Images/Logos/0140.png
rename to RotationSolver/Logos/0140.png
diff --git a/Images/Logos/0141.png b/RotationSolver/Logos/0141.png
similarity index 100%
rename from Images/Logos/0141.png
rename to RotationSolver/Logos/0141.png
diff --git a/Images/Logos/0142.png b/RotationSolver/Logos/0142.png
similarity index 100%
rename from Images/Logos/0142.png
rename to RotationSolver/Logos/0142.png
diff --git a/Images/Logos/0143.png b/RotationSolver/Logos/0143.png
similarity index 100%
rename from Images/Logos/0143.png
rename to RotationSolver/Logos/0143.png
diff --git a/Images/Logos/0144.png b/RotationSolver/Logos/0144.png
similarity index 100%
rename from Images/Logos/0144.png
rename to RotationSolver/Logos/0144.png
diff --git a/Images/Logos/0145.png b/RotationSolver/Logos/0145.png
similarity index 100%
rename from Images/Logos/0145.png
rename to RotationSolver/Logos/0145.png
diff --git a/Images/Logos/0146.png b/RotationSolver/Logos/0146.png
similarity index 100%
rename from Images/Logos/0146.png
rename to RotationSolver/Logos/0146.png
diff --git a/Images/Logos/0147.png b/RotationSolver/Logos/0147.png
similarity index 100%
rename from Images/Logos/0147.png
rename to RotationSolver/Logos/0147.png
diff --git a/Images/Logos/0148.png b/RotationSolver/Logos/0148.png
similarity index 100%
rename from Images/Logos/0148.png
rename to RotationSolver/Logos/0148.png
diff --git a/Images/Logos/0149.png b/RotationSolver/Logos/0149.png
similarity index 100%
rename from Images/Logos/0149.png
rename to RotationSolver/Logos/0149.png
diff --git a/Images/Logos/0150.png b/RotationSolver/Logos/0150.png
similarity index 100%
rename from Images/Logos/0150.png
rename to RotationSolver/Logos/0150.png
diff --git a/Images/Logos/0151.png b/RotationSolver/Logos/0151.png
similarity index 100%
rename from Images/Logos/0151.png
rename to RotationSolver/Logos/0151.png
diff --git a/Images/Logos/0152.png b/RotationSolver/Logos/0152.png
similarity index 100%
rename from Images/Logos/0152.png
rename to RotationSolver/Logos/0152.png
diff --git a/Images/Logos/0153.png b/RotationSolver/Logos/0153.png
similarity index 100%
rename from Images/Logos/0153.png
rename to RotationSolver/Logos/0153.png
diff --git a/Images/Logos/0154.png b/RotationSolver/Logos/0154.png
similarity index 100%
rename from Images/Logos/0154.png
rename to RotationSolver/Logos/0154.png
diff --git a/Images/Logos/0155.png b/RotationSolver/Logos/0155.png
similarity index 100%
rename from Images/Logos/0155.png
rename to RotationSolver/Logos/0155.png
diff --git a/Images/Logos/0156.png b/RotationSolver/Logos/0156.png
similarity index 100%
rename from Images/Logos/0156.png
rename to RotationSolver/Logos/0156.png
diff --git a/Images/Logos/0157.png b/RotationSolver/Logos/0157.png
similarity index 100%
rename from Images/Logos/0157.png
rename to RotationSolver/Logos/0157.png
diff --git a/Images/Logos/0158.png b/RotationSolver/Logos/0158.png
similarity index 100%
rename from Images/Logos/0158.png
rename to RotationSolver/Logos/0158.png
diff --git a/Images/Logos/0159.png b/RotationSolver/Logos/0159.png
similarity index 100%
rename from Images/Logos/0159.png
rename to RotationSolver/Logos/0159.png
diff --git a/Images/Logos/0160.png b/RotationSolver/Logos/0160.png
similarity index 100%
rename from Images/Logos/0160.png
rename to RotationSolver/Logos/0160.png
diff --git a/Images/Logos/0161.png b/RotationSolver/Logos/0161.png
similarity index 100%
rename from Images/Logos/0161.png
rename to RotationSolver/Logos/0161.png
diff --git a/Images/Logos/0162.png b/RotationSolver/Logos/0162.png
similarity index 100%
rename from Images/Logos/0162.png
rename to RotationSolver/Logos/0162.png
diff --git a/Images/Logos/0163.png b/RotationSolver/Logos/0163.png
similarity index 100%
rename from Images/Logos/0163.png
rename to RotationSolver/Logos/0163.png
diff --git a/Images/Logos/0164.png b/RotationSolver/Logos/0164.png
similarity index 100%
rename from Images/Logos/0164.png
rename to RotationSolver/Logos/0164.png
diff --git a/Images/Logos/0165.png b/RotationSolver/Logos/0165.png
similarity index 100%
rename from Images/Logos/0165.png
rename to RotationSolver/Logos/0165.png
diff --git a/Images/Logos/0166.png b/RotationSolver/Logos/0166.png
similarity index 100%
rename from Images/Logos/0166.png
rename to RotationSolver/Logos/0166.png
diff --git a/Images/Logos/0167.png b/RotationSolver/Logos/0167.png
similarity index 100%
rename from Images/Logos/0167.png
rename to RotationSolver/Logos/0167.png
diff --git a/Images/Logos/0168.png b/RotationSolver/Logos/0168.png
similarity index 100%
rename from Images/Logos/0168.png
rename to RotationSolver/Logos/0168.png
diff --git a/Images/Logos/0169.png b/RotationSolver/Logos/0169.png
similarity index 100%
rename from Images/Logos/0169.png
rename to RotationSolver/Logos/0169.png
diff --git a/Images/Logos/0170.png b/RotationSolver/Logos/0170.png
similarity index 100%
rename from Images/Logos/0170.png
rename to RotationSolver/Logos/0170.png
diff --git a/Images/Logos/0171.png b/RotationSolver/Logos/0171.png
similarity index 100%
rename from Images/Logos/0171.png
rename to RotationSolver/Logos/0171.png
diff --git a/Images/Logos/0172.png b/RotationSolver/Logos/0172.png
similarity index 100%
rename from Images/Logos/0172.png
rename to RotationSolver/Logos/0172.png
diff --git a/Images/Logos/0173.png b/RotationSolver/Logos/0173.png
similarity index 100%
rename from Images/Logos/0173.png
rename to RotationSolver/Logos/0173.png
diff --git a/Images/Logos/0174.png b/RotationSolver/Logos/0174.png
similarity index 100%
rename from Images/Logos/0174.png
rename to RotationSolver/Logos/0174.png
diff --git a/Images/Logos/0175.png b/RotationSolver/Logos/0175.png
similarity index 100%
rename from Images/Logos/0175.png
rename to RotationSolver/Logos/0175.png
diff --git a/Images/Logos/0176.png b/RotationSolver/Logos/0176.png
similarity index 100%
rename from Images/Logos/0176.png
rename to RotationSolver/Logos/0176.png
diff --git a/Images/Logos/0177.png b/RotationSolver/Logos/0177.png
similarity index 100%
rename from Images/Logos/0177.png
rename to RotationSolver/Logos/0177.png
diff --git a/Images/Logos/0178.png b/RotationSolver/Logos/0178.png
similarity index 100%
rename from Images/Logos/0178.png
rename to RotationSolver/Logos/0178.png
diff --git a/Images/Logos/0179.png b/RotationSolver/Logos/0179.png
similarity index 100%
rename from Images/Logos/0179.png
rename to RotationSolver/Logos/0179.png
diff --git a/Images/Logos/0180.png b/RotationSolver/Logos/0180.png
similarity index 100%
rename from Images/Logos/0180.png
rename to RotationSolver/Logos/0180.png
diff --git a/RotationSolver/RotationSolver.csproj b/RotationSolver/RotationSolver.csproj
index 3ed4d6a96..defb6b235 100644
--- a/RotationSolver/RotationSolver.csproj
+++ b/RotationSolver/RotationSolver.csproj
@@ -15,7 +15,8 @@
-
+
+
diff --git a/RotationSolver/RotationSolverPlugin.cs b/RotationSolver/RotationSolverPlugin.cs
index 67509279d..124c0902a 100644
--- a/RotationSolver/RotationSolverPlugin.cs
+++ b/RotationSolver/RotationSolverPlugin.cs
@@ -141,20 +141,21 @@ internal static void ToggleConfigWindow()
internal static void UpdateDisplayWindow()
{
var isValid = validDelay.Delay(MajorUpdater.IsValid
- && (!Service.Config.OnlyShowWithHostileOrInDuty
- || Svc.Condition[ConditionFlag.BoundByDuty]
- || DataCenter.AllHostileTargets.Any(o => o.DistanceToPlayer() <= 25))
&& RotationUpdater.RightNowRotation != null
&& !Svc.Condition[ConditionFlag.OccupiedInCutSceneEvent]
&& !Svc.Condition[ConditionFlag.Occupied38] //Treasure hunt.
- && !Svc.Condition[ConditionFlag.BetweenAreas]
- && !Svc.Condition[ConditionFlag.BetweenAreas51]
&& !Svc.Condition[ConditionFlag.WaitingForDuty]
&& (!Svc.Condition[ConditionFlag.UsingParasol] || Player.Object.StatusFlags.HasFlag(Dalamud.Game.ClientState.Objects.Enums.StatusFlags.WeaponOut))
&& !Svc.Condition[ConditionFlag.OccupiedInQuestEvent]);
+ _nextActionWindow.IsOpen = isValid && Service.Config.ShowNextActionWindow;
+
+ isValid &= !Service.Config.OnlyShowWithHostileOrInDuty
+ || Svc.Condition[ConditionFlag.BoundByDuty]
+ || DataCenter.AllHostileTargets.Any(o => o.DistanceToPlayer() <= 25);
+
_controlWindow.IsOpen = isValid && Service.Config.ShowControlWindow;
- _nextActionWindow.IsOpen = Service.Config.ShowNextActionWindow;
_cooldownWindow.IsOpen = isValid && Service.Config.ShowCooldownWindow;
+
}
}
diff --git a/RotationSolver/UI/ImGuiHelper.cs b/RotationSolver/UI/ImGuiHelper.cs
index 5329456ab..d28fd59f1 100644
--- a/RotationSolver/UI/ImGuiHelper.cs
+++ b/RotationSolver/UI/ImGuiHelper.cs
@@ -539,7 +539,7 @@ public unsafe static void Display(this ICustomRotation rotation, ICustomRotation
//}
var link = rotation.GetType().GetCustomAttribute();
- if(link != null)
+ if (link != null)
{
ImGui.SameLine();
Spacing();
@@ -558,53 +558,53 @@ public unsafe static void Display(this ICustomRotation rotation, ICustomRotation
HoveredString(LocalizationManager.RightLang.ConfigWindow_Helper_OpenSource);
- var attrs = rotation.GetType().GetCustomAttributes();
- if (attrs.Any())
- {
- var display = ImGui.GetIO().DisplaySize * 0.7f;
+ //var attrs = rotation.GetType().GetCustomAttributes();
+ //if (attrs.Any())
+ //{
+ // var display = ImGui.GetIO().DisplaySize * 0.7f;
- bool isFirst = true;
- foreach (var texture in attrs)
- {
- ImGui.SameLine();
- if(isFirst)
- {
- isFirst = false;
- Spacing();
- }
- //var hasTexture = texture.Texture != null;
-
- //if (IconButton(hasTexture ? FontAwesomeIcon.Image : FontAwesomeIcon.Question,
- // "Button" + rotation.GetHashCode().ToString() + texture.GetHashCode().ToString()))
- //{
- // try
- // {
- // Util.OpenLink(texture.Path);
- // }
- // catch
- // {
- // }
- //}
- //if (ImGui.IsItemHovered() && (hasTexture || !string.IsNullOrEmpty( texture.Description)))
- //{
- // ImguiTooltips.ShowTooltip(() =>
- // {
- // if(hasTexture)
- // {
- // var ratio = Math.Min(1, Math.Min(display.X / texture.Texture.Width, display.Y / texture.Texture.Height));
- // var size = new Vector2(texture.Texture.Width * ratio,
- // texture.Texture.Height * ratio);
- // ImGui.Image(texture.Texture.ImGuiHandle, size);
- // }
- // if (!string.IsNullOrEmpty(texture.Description))
- // {
- // ImGui.Text(texture.Description);
- // }
-
- // });
- //}
- }
- }
+ // bool isFirst = true;
+ // foreach (var texture in attrs)
+ // {
+ // ImGui.SameLine();
+ // if(isFirst)
+ // {
+ // isFirst = false;
+ // Spacing();
+ // }
+ // //var hasTexture = texture.Texture != null;
+
+ // //if (IconButton(hasTexture ? FontAwesomeIcon.Image : FontAwesomeIcon.Question,
+ // // "Button" + rotation.GetHashCode().ToString() + texture.GetHashCode().ToString()))
+ // //{
+ // // try
+ // // {
+ // // Util.OpenLink(texture.Path);
+ // // }
+ // // catch
+ // // {
+ // // }
+ // //}
+ // //if (ImGui.IsItemHovered() && (hasTexture || !string.IsNullOrEmpty( texture.Description)))
+ // //{
+ // // ImguiTooltips.ShowTooltip(() =>
+ // // {
+ // // if(hasTexture)
+ // // {
+ // // var ratio = Math.Min(1, Math.Min(display.X / texture.Texture.Width, display.Y / texture.Texture.Height));
+ // // var size = new Vector2(texture.Texture.Width * ratio,
+ // // texture.Texture.Height * ratio);
+ // // ImGui.Image(texture.Texture.ImGuiHandle, size);
+ // // }
+ // // if (!string.IsNullOrEmpty(texture.Description))
+ // // {
+ // // ImGui.Text(texture.Description);
+ // // }
+
+ // // });
+ // //}
+ // }
+ //}
}, () =>
{
RotationConfigWindow.DrawRotationRole(rotation, canAddButton);
diff --git a/RotationSolver/UI/RotationConfigWindowNew.cs b/RotationSolver/UI/RotationConfigWindowNew.cs
index 7262e7f1a..481f46922 100644
--- a/RotationSolver/UI/RotationConfigWindowNew.cs
+++ b/RotationSolver/UI/RotationConfigWindowNew.cs
@@ -1,6 +1,7 @@
using Dalamud.Interface.Colors;
using Dalamud.Interface.Windowing;
using Dalamud.Utility;
+using ECommons.DalamudServices;
using ECommons.ExcelServices;
using ECommons.GameHelpers;
using ECommons.ImGuiMethods;
@@ -12,6 +13,7 @@
using RotationSolver.TextureItems;
using RotationSolver.Updaters;
using System.Diagnostics;
+using System.Runtime.CompilerServices;
using GAction = Lumina.Excel.GeneratedSheets.Action;
namespace RotationSolver.UI;
@@ -172,28 +174,47 @@ private void DrawSideBar()
}
}
+ private const int FRAME_COUNT = 180;
+ private static readonly SortedList _textureWrapList = new (FRAME_COUNT);
+ private static bool GetLocalImage(string name, out TextureWrap texture)
+ {
+ var url = $"RotationSolver.Logos.{name}.png";
+ if (_textureWrapList.TryGetValue(name, out texture)) return true;
+
+ using var stream = typeof(RotationConfigWindowNew).Assembly.GetManifestResourceStream(url);
+ if (stream == null) return false;
+
+ using var memory = new MemoryStream();
+ stream.CopyTo(memory);
+ texture = Svc.PluginInterface.UiBuilder.LoadImage(memory.ToArray());
+ if(texture == null) return false;
+ _textureWrapList[url] = texture;
+ return true;
+ }
+
private void DrawHeader(float wholeWidth)
{
var size = MathF.Max(MathF.Min(wholeWidth, _scale * 120), _scale * MIN_COLUMN_WIDTH);
- int realFrame = 180;
+ int realFrame = FRAME_COUNT;
if (Service.ConfigNew.GetValue(Basic.Configuration.PluginConfigBool.DrawIconAnimation))
{
- var frame = Environment.TickCount / 100; //10fps
- realFrame = frame % 60 * 3; // convert to 30 fps.
- if (realFrame == 0) realFrame = 180;
+ var frame = Environment.TickCount / 34; //30
+ realFrame = frame % FRAME_COUNT;
+ if (realFrame == 0) realFrame = FRAME_COUNT;
}
-
- if (IconSet.GetTexture($"https://raw.githubusercontent.com/ArchiDog1998/RotationSolver/main/Images/Logos/{realFrame: D4}.png", out var logo)
- || IconSet.GetTexture(0, out logo))
+ if (GetLocalImage(realFrame.ToString("0000"), out var logo) && IconSet.GetTexture(0, out var overlay))
{
DrawItemMiddle(() =>
{
- if (SilenceImageButton(logo.ImGuiHandle, Vector2.One * size,
+ var cursor = ImGui.GetCursorPos();
+ if (SilenceImageButton(overlay.ImGuiHandle, Vector2.One * size,
_activeTab == RotationConfigWindowTab.About))
{
_activeTab = RotationConfigWindowTab.About;
}
+ ImGui.SetCursorPos(cursor);
+ ImGui.Image(logo.ImGuiHandle, Vector2.One * size);
ImguiTooltips.HoveredTooltip(LocalizationManager.RightLang.ConfigWindow_About_Punchline);
}, wholeWidth, size);
@@ -254,7 +275,6 @@ private void DrawHeader(float wholeWidth)
ImGui.EndGroup();
}, wholeWidth, horizonalWholeWidth);
}
-
}
}
@@ -668,11 +688,11 @@ private static void DrawRotationDescription()
foreach (var link in links)
{
- DrawLinkDescription(link.LinkDescription, wholeWidth);
+ DrawLinkDescription(link.LinkDescription, wholeWidth, true);
}
}
- internal static void DrawLinkDescription(LinkDescription link, float wholeWidth)
+ internal static void DrawLinkDescription(LinkDescription link, float wholeWidth, bool drawQuestion)
{
var hasTexture = IconSet.GetTexture(link.Path, out var texture);
@@ -683,7 +703,7 @@ internal static void DrawLinkDescription(LinkDescription link, float wholeWidth)
ImGui.TextWrapped(link.Description);
- if (!hasTexture && !string.IsNullOrEmpty(link.Path))
+ if (drawQuestion && !hasTexture && !string.IsNullOrEmpty(link.Path))
{
if (ImGuiEx.IconButton(FontAwesomeIcon.Question, link.Description))
{
diff --git a/RotationSolver/UI/SearchableConfigs/Searchable.cs b/RotationSolver/UI/SearchableConfigs/Searchable.cs
index 1d53bed4b..6aeeee402 100644
--- a/RotationSolver/UI/SearchableConfigs/Searchable.cs
+++ b/RotationSolver/UI/SearchableConfigs/Searchable.cs
@@ -69,7 +69,7 @@ protected void ShowTooltip(Job job, bool showHand = true)
foreach (var tooltip in Tooltips)
{
- RotationConfigWindowNew.DrawLinkDescription(tooltip, wholeWidth);
+ RotationConfigWindowNew.DrawLinkDescription(tooltip, wholeWidth, false);
}
});
}