diff --git a/RotationSolver.Basic/Configuration/Configs.cs b/RotationSolver.Basic/Configuration/Configs.cs index c9c153793..5880fe9e0 100644 --- a/RotationSolver.Basic/Configuration/Configs.cs +++ b/RotationSolver.Basic/Configuration/Configs.cs @@ -424,7 +424,10 @@ public const string [UI("Drawing smoothness.", Parent = nameof(UseOverlayWindow))] [Range(0.005f, 0.05f, ConfigUnitType.Yalms, 0.001f)] - public float SampleLength { get; set; } = 0.2f; + public float SampleLength { get; set; } = 1; + + [ConditionBool, UI("Use tasks for making the overlay window faster.", Parent = nameof(UseOverlayWindow))] + private static readonly bool _useTasksForOverlay = false; [UI("The angle of your vision cone", Parent = nameof(OnlyAttackInVisionCone))] [Range(0, 90, ConfigUnitType.Degree, 0.02f)] diff --git a/RotationSolver/Localization/Localization.json b/RotationSolver/Localization/Localization.json index 3ca7a3b84..68b284d99 100644 --- a/RotationSolver/Localization/Localization.json +++ b/RotationSolver/Localization/Localization.json @@ -102,7 +102,6 @@ "RotationSolver.Basic.Configuration.Conditions.ActionCondition": "Action Condition", "RotationSolver.Basic.Configuration.Conditions.TraitCondition": "Trait Condition", "RotationSolver.Basic.Configuration.Conditions.TargetCondition": "Target Condition", - "RotationSolver.Basic.Configuration.Conditions.RotationCondition": "RotationSolver.Basic.Configuration.Conditions.RotationCondition", "RotationSolver.Basic.Configuration.Conditions.NamedCondition": "Named Condition", "RotationSolver.Basic.Configuration.Conditions.TerritoryCondition": "Territory Condition", "RotationSolver.Data.UiString.ActionSequencer_FromClipboard": "From Clipboard", @@ -264,5 +263,49 @@ "StateIconHeightName": "State icon height", "StateIconSizeName": "State icon size", "TargetIconSizeName": "The size of the next ability that will be used icon.", - "ShowTargetTimeToKillName": "Show the target's time to kill." + "ShowTargetTimeToKillName": "Show the target's time to kill.", + "UseTasksForOverlayName": "Use tasks for making the overlay window faster.", + "RotationSolver.Data.UiString.ActionSequencer_Offset_Description": "Delay its turning.", + "RotationSolver.Data.UiString.ConfigWindow_Actions_Copy": "Copy to Clipboard", + "RotationSolver.Basic.Configuration.Conditions.ComboConditionType.Bool": "Boolean", + "RotationSolver.Basic.Configuration.Conditions.ComboConditionType.Integer": "Byte", + "RotationSolver.Basic.Configuration.Conditions.ComboConditionType.Float": "Float", + "RotationSolver.Basic.Configuration.Conditions.ComboConditionType.Last": "Last", + "RotationSolver.Data.UiString.ConfigWindow_Actions_MemberName": "Member Name", + "RotationSolver.Basic.Attributes.ConfigUnitType.None": "None", + "RotationSolver.Basic.Rotations.Basic.SageRotation.Single AddersgallTime": "Single AddersgallTime", + "RotationSolver.Basic.Rotations.CustomRotation.Single PartyMembersMinHP": "Min HP in party members.", + "RotationSolver.Basic.Rotations.CustomRotation.Single PartyMembersAverHP": "Average HP in party members.", + "RotationSolver.Basic.Rotations.CustomRotation.Single AverageTimeToKill": "Average time to kill", + "RotationSolver.Basic.Rotations.CustomRotation.Single Ping": "Your ping", + "RotationSolver.Basic.Rotations.CustomRotation.Single NextAbilityToNextGCD": "Time from next ability to next GCD", + "RotationSolver.Basic.Rotations.CustomRotation.Single CombatTime": "Combat time", + "RotationSolver.Basic.Rotations.CustomRotation.Single StopMovingTime": "Stop moving time", + "RotationSolver.Basic.Rotations.CustomRotation.Single CountDownAhead": "Count Down ahead", + "RotationSolver.Basic.Rotations.CustomRotation.Single HealthAreaAbility": "Health of Area Ability", + "RotationSolver.Basic.Rotations.CustomRotation.Single HealthAreaSpell": "Health of Area spell", + "RotationSolver.Basic.Rotations.CustomRotation.Single HealthAreaAbilityHot": "Health of Area Ability Hot", + "RotationSolver.Basic.Rotations.CustomRotation.Single HealthAreaSpellHot": "Health of Area spell Hot", + "RotationSolver.Basic.Rotations.CustomRotation.Single HealthSingleAbility": "Health of single ability", + "RotationSolver.Basic.Rotations.CustomRotation.Single HealthSingleSpell": "Health of single spell", + "RotationSolver.Basic.Rotations.CustomRotation.Single HealthSingleAbilityHot": "Health of single ability Hot", + "RotationSolver.Basic.Rotations.CustomRotation.Single HealthSingleSpellHot": "Health of single spell Hot", + "RotationSolver.Basic.Rotations.CustomRotation.Single HealthForDyingTanks": "Health of dying tank", + "RotationSolver.Basic.Rotations.Basic.SageRotation.Boolean HasEukrasia": "Boolean HasEukrasia", + "RotationSolver.Basic.Rotations.CustomRotation.Boolean HasSwift": "Has Swift", + "RotationSolver.Basic.Rotations.CustomRotation.Boolean HasTankStance": "Has tank stance", + "RotationSolver.Basic.Rotations.CustomRotation.Boolean IsMoving": "Is Moving or Jumping", + "RotationSolver.Basic.Rotations.CustomRotation.Boolean InCombat": "In Combat", + "RotationSolver.Basic.Rotations.CustomRotation.Boolean NotInCombatDelay": "Not In Combat Delay", + "RotationSolver.Basic.Rotations.CustomRotation.Boolean HasCompanion": "Has companion", + "RotationSolver.Basic.Rotations.CustomRotation.Boolean IsFullParty": "Is Full Party", + "RotationSolver.Basic.Rotations.CustomRotation.Boolean HasHostilesInRange": "Has hostiles in Range", + "RotationSolver.Basic.Rotations.CustomRotation.Boolean HasHostilesInMaxRange": "Has hostiles in 25 yalms", + "RotationSolver.Basic.Rotations.CustomRotation.Boolean MobsTime": "Mobs Time", + "RotationSolver.Basic.Rotations.CustomRotation.Boolean AutoState": "The state of auto. True for on.", + "RotationSolver.Basic.Rotations.CustomRotation.Boolean IsManual": "The state of manual. True for manual.", + "RotationSolver.Basic.Rotations.CustomRotation.Boolean IsInHighEndDuty": "Is in the high-end duty", + "RotationSolver.Basic.Rotations.CustomRotation.Boolean IsInDuty": "Is player in duty", + "RotationSolver.Basic.Rotations.CustomRotation.Boolean IsBurst": "Is burst", + "RotationSolver.Basic.Configuration.Conditions.RotationCondition": "Rotation Condition" } \ No newline at end of file diff --git a/RotationSolver/Localization/LocalizationManager.cs b/RotationSolver/Localization/LocalizationManager.cs index 0dc984a03..44bf34890 100644 --- a/RotationSolver/Localization/LocalizationManager.cs +++ b/RotationSolver/Localization/LocalizationManager.cs @@ -28,10 +28,10 @@ public static string Local(this Type type) internal static string Local(this string key, string @default) { - if (_rightLang.TryGetValue(key, out var value)) return value; - #if DEBUG _rightLang[key] = @default; +#else + if (_rightLang.TryGetValue(key, out var value)) return value; #endif return @default; } diff --git a/RotationSolver/UI/ConditionDrawer.cs b/RotationSolver/UI/ConditionDrawer.cs index fdb6a1c60..120a02789 100644 --- a/RotationSolver/UI/ConditionDrawer.cs +++ b/RotationSolver/UI/ConditionDrawer.cs @@ -262,6 +262,8 @@ private static void DrawDelay(this DelayCondition condition) ImguiTooltips.HoveredTooltip(UiString.ActionSequencer_Delay_Description.Local() + "\n" + ConfigUnitType.Seconds.Local()); + ImGui.SameLine(); + ImGui.SetNextItemWidth(40 * ImGuiHelpers.GlobalScale); ImGui.DragFloat($"##Offset Delay {condition.GetHashCode()}", ref condition.DelayOffset, 0.1f, MIN, MAX, $"{condition.DelayOffset:F1}{ConfigUnitType.Seconds.ToSymbol()}"); diff --git a/RotationSolver/UI/PainterManager.cs b/RotationSolver/UI/PainterManager.cs index 09b89c8bf..f2f5768bf 100644 --- a/RotationSolver/UI/PainterManager.cs +++ b/RotationSolver/UI/PainterManager.cs @@ -300,7 +300,8 @@ public static void UpdateSettings() if (_painter == null) return; _painter.DrawingHeight = Service.Config.DrawingHeight; _painter.SampleLength = Service.Config.SampleLength; - _painter.Enable = !Svc.Condition[Dalamud.Game.ClientState.Conditions.ConditionFlag.OccupiedInCutSceneEvent] && Service.Config.UseOverlayWindow; + _painter.UseTaskToAccelerate = Service.Config.UseTasksForOverlay; + _painter.Enable = !Svc.Condition[ConditionFlag.OccupiedInCutSceneEvent] && Service.Config.UseOverlayWindow; } public static void Dispose() diff --git a/XIVPainter b/XIVPainter index 03263805d..e0fb5bbc6 160000 --- a/XIVPainter +++ b/XIVPainter @@ -1 +1 @@ -Subproject commit 03263805d94b4764ca0efc86613485c263f1715b +Subproject commit e0fb5bbc686e807e6cd34ba6eb5b3cc96aac7640