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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GCD + + + + GCD + + ADV + ADV : Time advance of using actions + ADV + ADV + ADV + Animation Lock Time + Ping + Clicking Duration + Click Start Time + Time + + + + + + + + + + + 0GCD + + + + 0GCD + + + + + + + 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); } }); }