ffxiv-plugin-hudmanager's People
ffxiv-plugin-hudmanager's Issues
Wait-to-swap conditions
Part of #7.
This would delay swapping between two conditions (imagine a combat UI that would hang around for a few seconds after combat ends). We could even use the setAlpha commands to fade the elements.
HudManger causes crashes
Unhandled native exception occurred at ffxiv_dx11.exe+6699CD
Code: C0000005
Dump at: C:\Users........\AppData\Roaming\XIVLauncher\addon\Hooks\db66f8e......\dalamud_appcrash_20220913_201259_372_10404.dmp
Time: 2022-09-13 20:12:59.8739043 GMT+2
at System.Environment.get_StackTrace()
at Dalamud.EntryPoint.VehCallback() in C:\goatsoft\companysecrets\dalamud\EntryPoint.cs:line 70
at HUD_Manager.Hud.SetHudLayoutDetour(IntPtr filePtr, UInt32 hudLayout, Byte unk0, Byte unk1) in /work/repo/HUDManager/Hud.cs:line 354
at HUD_Manager.Hud.SelectSlot(HudSlot slot, Boolean force) in /work/repo/HUDManager/Hud.cs:line 107
at HUD_Manager.Hud.WriteLayout(HudSlot slot, IReadOnlyDictionary`2 dict, Boolean reloadIfNecessary) in /work/repo/HUDManager/Hud.cs:line 191
at HUD_Manager.Hud.WriteEffectiveLayout(HudSlot slot, Guid id, List`1 layers) in /work/repo/HUDManager/Hud.cs:line 269
at HUD_Manager.Statuses.SetHudLayout() in /work/repo/HUDManager/Statuses.cs:line 156
at Dalamud.Utility.EventHandlerExtensions.HandleInvoke(Action act) in C:\goatsoft\companysecrets\dalamud\Utility\EventHandlerExtensions.cs:line 90
at Dalamud.Utility.EventHandlerExtensions.InvokeSafely(OnUpdateDelegate updateDelegate, Framework framework) in C:\goatsoft\companysecrets\dalamud\Utility\EventHandlerExtensions.cs:line 82
at Dalamud.Game.Framework.HandleFrameworkUpdate(IntPtr framework) in C:\goatsoft\companysecrets\dalamud\Game\Framework.cs:line 418
Exception Info #0
Address: C0000005
Flags: 0
Address: 7FF626C799CD
Parameters: 1, 1692097231D4
Call Stack
{
[0] ffxiv_dx11.exe+6699CD
[1] ffxiv_dx11.exe+6699CD
[2] ffxiv_dx11.exe+63D768
[3] ffxiv_dx11.exe+63D93B
[4] ffxiv_dx11.exe+C4299
[5] ffxiv_dx11.exe+548278
[6] ffxiv_dx11.exe+51EDB0
[7] ffxiv_dx11.exe+51802B
[8] ffxiv_dx11.exe+66926C
[9] ffxiv_dx11.exe+667788
[10] 7FF7CEECFD82
[11] 280FFB00FB0
[12] 3
[13] 8C2C2FEB00
[14] 7FF800000001
[15] 3
[16] 763F0B14777F
[17] coreclr.dll+40CA68 (coreclr_shutdown+0x4B5E8)
[18] 8C2C2FEC20
[19] FFEC4CBE0641
[20] 15
[21] 8C2C2FEA50
[22] 7FF7CEECFD82
[23] 8C2C2FEB00
}
Registers
{
RAX: E89F094130A9
RBX: 2810469D058 [ffxiv_dx11.exe+18E85B0 (GFSDK_SSAO_CreateContext_D3D11+0x38A640)]
RCX: 2810469D058 [ffxiv_dx11.exe+18E85B0 (GFSDK_SSAO_CreateContext_D3D11+0x38A640)]
RDX: 2810469D058 [ffxiv_dx11.exe+18E85B0 (GFSDK_SSAO_CreateContext_D3D11+0x38A640)]
R8: C000
R9: ffxiv_dx11.exe+18E85B0 (GFSDK_SSAO_CreateContext_D3D11+0x38A640)
R10: 0
R11: 282010CB030
R12: 8C2C2FE090 [28200000000]
R13: 1
R14: 1
R15: 281046D0990 [ffxiv_dx11.exe+1890208 (GFSDK_SSAO_CreateContext_D3D11+0x332298)]
RSI: 282010CB040
RDI: 282010CB030
RBP: 8C2C2FDCB0 [281F3A0725A]
RSP: 8C2C2FDBB0
RIP: ffxiv_dx11.exe+6699CD [7102524FF448944]
}
Stack
{
[RSP+0] 0
[RSP+8] 8C2C2FDBC4 [26B0D95500000003]
[RSP+10] 327EF7800
[RSP+18] ffxiv_dx11.exe+4FD955 [8083110FF3]
[RSP+20] 4
[RSP+28] 8C2C2FDBB0
[RSP+30] 280FEFF8DB0 [21]
[RSP+38] 0
[RSP+40] 8C2C2FE150 [5]
[RSP+48] 10
[RSP+50] 0
[RSP+58] FFFFFFFF
[RSP+60] 8C2C2F0000
[RSP+68] 28189201428 [437375746174535F]
[RSP+70] 2000000000E
[RSP+78] 281F3B1AED0 [318C0E800000020]
}
[Suggestion] Add "is NPC dialogue window on-screen" as a swap condition
As the title implies, it would be nice to have such a swap condition available for when talking to a NPC, allowing us to make all the HUD (except the dialogue window itself) disappear while talking to NPCs and reading the text. Makes it less distracting and more immersive. There's an in-game way of doing this by pressing the sub-command button (square by default) while there's dialogue on-screen, but you have to press it again every time a new dialogue window opens.
Pvp condition issues
It seems the Pvp condition for preset swapping is not working.
I've set up an "idle" preset, an "in combat" preset and an "in pvp" preset but i can't get it to activate while in Wolves' Den and during Crystalling Conflict matches.
Is it intended to work only during frontlines? If so can it be made working in WD and CC matches?
[Suggestion] Precision on auto import presets and feature request
Hi,
This is both a request for clarification on auto import presets as well as a feature request.
The first one is pretty simple - would it be possible to add some kind of timestamp on the auto imported presets - because after a couple weeks, if you did any adjustment to your HUD slots, you may or may not know if the auto imported slots are dated before or after the changes, I had this issue as I uninstalled all my plugins to try and diagnose some game crashes, then after I reinstalled HudManager I assumed that they were reflecting my current HUD setup.
The feature request would be some kind of preset that would simply reflect in real time a chosen HUD slot (which - for some time - was what i thought the auto-import slot presets were). So - it would be some profiles that would automatically be updated whenever the HUD settings for that slot are updated via the game's HUD editor.
It would save some time for people who want to be able to adjust one UI element on their HUD on the fly, and have it reflected without having to remember to overwrite their saved HUD in HUDManager.
Layout not saving & disappears when importing from clipboard
As the title says, every time I import a preset through clipboard, I attempt to name the layout and override a HUD Layout with the new one then select the newly created one but no changes are made. If I close and re-open HUD Manager then go back into the layout section, the layout that was just made disappears completely. I've tried uninstalling and reinstalling the plugin/relogging or even deleting the HUD Manager file within XIV Launcher.
Condition: chat focused
Part of #7.
A condition that would be enabled when the Chat window is focused.
Plugin crashing on latest Dalamud
The plugin is currently crashing on Fate related code due to changes with FFXIVClientStructs. Seems like it's a breaking change to something plugins shouldn't have been using based on discussion on #plugin-testing
Error:
eyJXaGVuIjoiMjAyMi0wNi0yMVQyMToxNjowOC45ODY0MzgxKzAxOjAwIiwiSW5mbyI6IlN5c3RlbS5NaXNzaW5nTWV0aG9kRXhjZXB0aW9uOiBNZXRob2Qgbm90IGZvdW5kOiAnRkZYSVZDbGllbnRTdHJ1Y3RzLkZGWElWLkNsaWVudC5HYW1lLkZhdGUuRmF0ZU1hbmFnZXIqIEZGWElWQ2xpZW50U3RydWN0cy5GRlhJVi5DbGllbnQuR2FtZS5GYXRlLkZhdGVNYW5hZ2VyLmdldF9wSW5zdGFuY2UoKScuXHJcbiAgIGF0IEhVRF9NYW5hZ2VyLlN0YXR1c2VzLklzSW5GYXRlKENoYXJhY3RlciBwbGF5ZXIpXHJcbiAgIGF0IEhVRF9NYW5hZ2VyLlN0YXR1c0V4dGVuc2lvbnMuQWN0aXZlKFN0YXR1cyBzdGF0dXMsIFBsdWdpbiBwbHVnaW4sIENoYXJhY3RlciBwbGF5ZXIpIGluIEM6XFxVc2Vyc1xcemFjaGRcXENvZGVcXEhVRE1hbmFnZXItRnJlc2gyXFxIVUQgTWFuYWdlclxcU3RhdHVzZXMuY3M6bGluZSAzOTRcclxuICAgYXQgSFVEX01hbmFnZXIuU3RhdHVzZXMuVXBkYXRlKENoYXJhY3RlciBwbGF5ZXIpIGluIEM6XFxVc2Vyc1xcemFjaGRcXENvZGVcXEhVRE1hbmFnZXItRnJlc2gyXFxIVUQgTWFuYWdlclxcU3RhdHVzZXMuY3M6bGluZSA5M1xyXG4gICBhdCBIVURfTWFuYWdlci5Td2FwcGVyLk9uRnJhbWV3b3JrVXBkYXRlKEZyYW1ld29yayBmcmFtZXdvcmspIGluIEM6XFxVc2Vyc1xcemFjaGRcXENvZGVcXEhVRE1hbmFnZXItRnJlc2gyXFxIVUQgTWFuYWdlclxcU3dhcHBlci5jczpsaW5lIDY0XHJcbiAgIGF0IERhbGFtdWQuR2FtZS5GcmFtZXdvcmsuSGFuZGxlRnJhbWV3b3JrVXBkYXRlKEludFB0ciBmcmFtZXdvcmspIGluIEM6XFxnb2F0c29mdFxcY29tcGFueXNlY3JldHNcXGRhbGFtdWRcXEdhbWVcXEZyYW1ld29yay5jczpsaW5lIDMzNiIsIkNvbnRleHQiOiJFeGNlcHRpb24gd2hpbGUgZGlzcGF0Y2hpbmcgRnJhbWV3b3JrOjpVcGRhdGUgZXZlbnQuIn0=
{
"When": "2022-06-21T21:16:08.9864381+01:00",
"Info": "System.MissingMethodException: Method not found: 'FFXIVClientStructs.FFXIV.Client.Game.Fate.FateManager* FFXIVClientStructs.FFXIV.Client.Game.Fate.FateManager.get_pInstance()'.\r\n at HUD_Manager.Statuses.IsInFate(Character player)\r\n at HUD_Manager.StatusExtensions.Active(Status status, Plugin plugin, Character player) in C:\\Users\\zachd\\Code\\HUDManager-Fresh2\\HUD Manager\\Statuses.cs:line 394\r\n at HUD_Manager.Statuses.Update(Character player) in C:\\Users\\zachd\\Code\\HUDManager-Fresh2\\HUD Manager\\Statuses.cs:line 93\r\n at HUD_Manager.Swapper.OnFrameworkUpdate(Framework framework) in C:\\Users\\zachd\\Code\\HUDManager-Fresh2\\HUD Manager\\Swapper.cs:line 64\r\n at Dalamud.Game.Framework.HandleFrameworkUpdate(IntPtr framework) in C:\\goatsoft\\companysecrets\\dalamud\\Game\\Framework.cs:line 336",
"Context": "Exception while dispatching Framework::Update event."
}
Frame drops whenever a potential swap condition is achieved
whenever you meet one of the potential state requirements for a swap (ie: drawing weapon, mounting, leaving sanctuary, swapping job, starting to craft, etc) the frame rate will drop. this is EVEN WHEN you do NOT have those as states it should be checking for.
another thing is if we are not doing anything crazy with our UI, can we have a simplified version to just use the swaphud command in game? ie: /hudlayout 1 or /hudlayout 2. just swap the hud layout, none of this constant rearranging. a lightweight setting would relieve lots of frame drops as swapping hud layout this way has no impact on performance.
HUD manager keeps crashing
HUD manager keeps crashing each time I switch jobs or try to move any of the windows around. it gives me a DX11 error
[Request] Add Crystalline Conflict Ally/Enemy Info Windows
They are currently missing in the list, while the old The Feast ones are still there.
Is there a way to add them manually?
[Suggestion] Store additional UI character configuration related settings other than HUD layout in presets
Thread. Some useful ones from the top of my mind:
- Always Display WXHB On/Off
- Display Hotbar empty slots On/Off
- Display Hotbar Cycling Key On/Off
- Nameplate Display, Type and Size for the various categories
- HP Bar Display for the various categories
- Chat Window Transparency and Font Sizes
- Inventory and Retainer Inventory display type (normal, expanded, full)
- Map settings
- Camera tilt, camera zoom and camera mode (first person, third person)
- Hotbar and Cross Hotbar lock status (locked or unlocked)
- Party Display Order
- Self battle effects, party battle effects and others battle effects
- This one is actually a system config and not a character config, but volume settings would be nice to have
AFAIK, all of these suggestions change things that are already available to the player through normal settings (some even through macros), are 100% client based (they do not alter the packets that are sent to the server in any way) and cannot be considered gameplay automation, as they only make changing and storing game settings less of a pain in the butt and offer no competitive advantage whatsoever.
If XIVCombo is allowed in the main repo, I don't see why these changes wouldn't be.
console/log spam
getting spammed with multiple of these a second, tried to use a fresh config didn't fix, latest version, most recent log was 1gb because of this:
09:58:17.817 | ERR Exception while dispatching Framework::Update event.
System.InvalidOperationException: Static pointer for FateManager::Instance is null. Did you forget to call Resolver.Initialize?
at FFXIVClientStructs.FFXIV.Client.Game.Fate.FateManager.Instance() in D:\a\Dalamud\Dalamud\lib\FFXIVClientStructs\FFXIVClientStructs\FFXIVClientStructs.Generators\FFXIVClientStructs.Generators.StaticAddressGenerator.StaticAddressGenerator\FFXIVClientStructs.FFXIV.Client.Game.Fate.FateManager.StaticAddresses.generated.cs:line 11
at HUD_Manager.Statuses.IsInFate(Character player) in C:\Users\zachd\Code\HUDManager-Fresh2\HUD Manager\Statuses.cs:line 156
at HUD_Manager.StatusExtensions.Active(Status status, Plugin plugin, Character player) in C:\Users\zachd\Code\HUDManager-Fresh2\HUD Manager\Statuses.cs:line 360
at HUD_Manager.Statuses.Update(Character player) in C:\Users\zachd\Code\HUDManager-Fresh2\HUD Manager\Statuses.cs:line 91
at HUD_Manager.Swapper.OnFrameworkUpdate(Framework framework) in C:\Users\zachd\Code\HUDManager-Fresh2\HUD Manager\Swapper.cs:line 64
at Dalamud.Game.Framework.HandleFrameworkUpdate(IntPtr framework) in C:\goatsoft\companysecrets\dalamud\Game\Framework.cs:line 269
Allow changing custom condition name on creation
Instead of having to click the "edit name" button, a custom condition should automatically show its name entry textedit when it is created.
[Suggestion] Log Out Swap
If possible, it would be great to have a way to designate a layout that should be swapped to on log out (whether a condition or just a configuration) - so that on patch days when Dalamud isn't available the swap slot isn't accidentally left on something undesirable.
Add Node Offsets to Target Progress and Target Status elements when Target Bar is in Independent Mode
The actual HUD elements of the Target Progress Bar and Target Status Info are at NodeID 2 of their respective addons and have an offset of (246, 10) and (13, 45) respectively measured from the top left of their Addons at default scaling, making it difficult to place the actual HUD elements relative to other elements since the Preview button and pixel position are inaccurate.. Using the relevant sub-nodes for the HUD Element positions and Preview blocks rather than the entire addons for these two special cases would make it easier to place them accurately..
Class/job distinction for conditions
As mentioned in #30, some users may want to have different layouts for before they unlock gauges. I think a level-based solution is probably too granular for most users, but a "job stone equipped/unequipped" condition would probably do the trick here.
Add MNK master gauge
Apparently this is missing according to Anna lol
[Testing Bug] In Custom Conditions menu, priority arrow buttons bugs.
Only the down arrow works for shifting condition priority. up arrow doesn't do anything.
Pressing the down arrow on the bottom condition crashes the plugin.
Suggestion: moved to #22
Allow changing Condition name on creation, instead of defaulting to Condition[#]
SGE gauge hiding not working
(User-submitted bug from Discord, may not be correct)
Gotta take a look. I should probably just go through all the classes and check this, since the pattern for changing visibility does not seem to be as consistent as I once thought.
HUD layout presets
A button separate to the regular "add element" button would allow for adding a series of elements with preset configurations. For example, a "hide all job gauges" preset would be available, to help a user quickly create a minimalist layout.
We would even have the option for user-created presets, imported directly from a layout.
[Suggestion] A few suggestions
I've been using HUD Manager for a while and have loved it, it's been great for getting my HUD almost exactly how I want. I've got a few idea suggestions though if they're possible.
I didn't want to post a new issue for each one and cause spam, sorry if I should have, also wasn't sure what to put for the title
Extra Conditions
- Condition for when in Gamepad Mode/Mouse Mode
- Condition for level (e.g. If level X or under) so you could set up layouts for when you don't have your job bar
- Condition for when a pet (Carbuncle, Selene, etc) is summoned
Layout
- Allow using the Windows option in the Layout Editor to position and scale the Recommendations window for the selected layout
Profiles
- Allow setting up profiles with multiple conditions/layouts, that you can swap between using macros (similar to how you can with custom conditions). Such as a profile with smaller UI parts and different positions to better fit the Steam Deck's smaller screen. Or a profile with positions and larger UI parts for when playing on a big TV
Minimap zoom and main hotbar reset whenever swap conditions occur
Love this plugin so much, it's made my life a lot easier switching between many jobs, but it has one massive bug that keeps me toggling it pretty frequently...
Whenever a swap condition changes, even if it doesn't trigger a swap, ephemeral HUD state is reset. The main symptoms seem to be that your main hotbar and minimap zoom to be reset to the defaults, but there may be other stateful elements I haven't noticed.
[Suggestion] Ability to export and import Swap trees as presets
As swap conditions get more robust, it'd be nice to have an option to import/export and share your swap logic along with your hud presets (without actually having to share the entire plugin config file)
[Request] Keybinds Attached to Layouts
If feasible and considered within scope of the project, it would be excellent if keybinds could be included in saved layouts, just to cite a use case I'd use different behinds for DoL classes if I could.
Swaps Overwrite Forced Bar Changes
Whenever the game changes your main hotbar (such as hacking minigame in Tower, Pomander of Rage, getting in a mech in Rival Wings, controlling other NPCs in event scenarios) HudMan realizes your bars changed and attempts to apply swaps, hiding the new bar crippling you (buttons available on the pet bar still, but not ideal). Doesn't apply to mounts with special actions, but virtually everything else.
It would be great if HudMan had a condition for this state so that the buttons aren't lost and we could have a special layout for it, if such a state can be tested for, but at least it should stop murdering the new bar. If nothing else, there could be an option to disable swaps without a concrete inciting event like class, info, or area change.
Balance Gauge
Balance Gauge disappears when switching from Redmage to any other job. You have to go into Hudmanager and disable and enable to see it again. If I uninstall the Hudmanager completely, I can't turn it back on at all, even using FF14's layouts.
Game stutters slightly when sheathing/unsheathing weapon if swaps are enabled
When I enable swaps, whenever I sheathe or unsheathe the weapon, it causes a slight but noticeable performance hiccup on the game. It's consistent, happens every time. At first I thought I was seeing things, but disabling swaps solves the issue immediately, making sheathe and unsheathe fluid again.
This happens even if I don't have any "Weapon Drawn" condition set up on my swaps.
Additional info that might or might not be useful: I run the game at 1440p@165hz (unlocked framerate on system settings) on a RTX 2070, so not a low end system. I use a controller to play. I play with G-sync enabled.
If the behavior cannot be reproduced on other users' end, I can test further with other variables.
Edit after further testing: while playing on my laptop (which doesn't have G-Sync, uses a 60hz panel and can't run XIV above 60fps), the stutter is either less noticeable or just doesn't happen at all, so it seems to be something with high framerate and/or g-sync.
Also, even on my desktop setup, if I'm perfectly still (not moving my character or camera), I can't notice the hiccup. It's almost as if it's some kind of fast camera/animation stutter that only happens while in movement.
[Suggestion] Job Categories for switching
In the Job category section it would be nice to have a [ Healer/Ranged DPS/Melee DPS/Tank ] selection, instead of having to create a condition for say, all of the states of all of the healers.
It would be great for the people who want to have the same HUD layout for all of one type of class type.
I ran into this difficulty when creating a custom layout or all of my healers, and I needed to create 5 hud swap entries for each healer, and it was the same layout for all of the healers.
[Suggestion] More Party and content related swap conditions
- Playing Solo
- In a party (more than one, less than 4 players)
- In a Light Party (more than 3, less than 8 players)
- In a Full Party (8 players)
- In Alliance Raid
Those would be helpful to move and/or resize the party list depending on party size
- In Solo Duty
- In Palace of the Dead
- In Heaven on High
- In Eureka
- In Bozja
Those instances have specific UI elements that might change the ideal disposition of the users' HUD
Condition: controller HUD window select mode
Part of #7.
A condition that would be activated when a controller user enters the HUD window select mode (usually R3).
"This plugin failed to load"
[Question] Custom Condition for 'not in instance'
[Suggestion] Command to disable swaps
Hello! Would it be possible to have a command to enable/disable the swaps? It would be great for macros.
For instance, I have a default
layout, with everything enabled, and an immersive
layout, with a lot of stuff disabled. Usually I keep the immersive
, and I have set up conditions for when I enter in combat, etc.
Sometimes, however, I need to enable all the UI (for setup, maybe, as the default
layout is the highest in hierarchy, or any other reason), and I've prepared a macro to activate it. When a condition triggers, though, it brings back the other layouts, and in the end goes back to immersive
, which is the layout it sets when no other condition is met! The command to disable the swaps would be great in these kinds of situations!
Thank you for your work :)
Status Info (Conditional Enhancements) No Longer Working
See attached image, looks like this UI element is not cooperating with HudMan settings. After re-importing the UI layout, this element is missing entirely from the listed HUD elements.
Before re-import, use PvE layout:
HUDManager.zip
After re-import:
HUDManager2.zip
Wrong number displayed in log when importing layout.
Hold-to-enable conditions
Part of #7. Toggle conditions are easy through custom conditions and macro usage, but hold-to-enable conditions are probably something we'll have to set up on a plugin level.
[Request] Add RepairMe as External Element
Heya,
RepairMe let's you display bars to track your equip condition and spirit bonds. It would be great if the visibility could be adjusted with HUD presets.
Thanks, and thanks again for maintaining this plugin!
Various gauges are not being moved by HudMan
Initially, it was just MNK's master gauge, but it's gotten to the point that MNK, RPR, and SGE gauges don't respond to HudMan moving them. I can turn the visibility off and on, but nothing else is responding. If I delete and re-add the gauges in a preset, it will say that it can't find the element.
Edit: just found out it's also labeling the soul gauge as the death gauge on reaper.
Enabling and disabling swaps crashes HUD Manager
I disabled all other plugins to test this, tested with no layouts, one layout, multiple layouts, swaps set up, no swaps set up, and many variations. I did all this after deleting the config JSON from pluginConfigs
and the plugin itself from installedPlugins
then reinstalling it. No matter the case enabling or disabling swaps caused HUD Manager to crash.
[Suggestion] In HUD presets, add an option on each element to set X and Y coordinates of that element as offsets of another HUD element's X and Y elements
This one is a QoL change for when editing your HUD. Basically, there are some elements that you'd want to "group" together.
Example: Target's HP and Status Icons, you could set Status Icons X and Y positions as an offset of Target's HP (say, Y + 100), and then you could freely move Target's HP without having to worry about Target's Status Icons, which would just follow the main element around.
Add ocean fishing UI frame
Layout editor help text (or similar UI simplification measure)
The UI for the layout editor can be a bit counterintuitive/overwhelming, so in the interest of avoiding issue spam once we leave Testing, there should probably be some help text explaining things. In particular, the "enabled" setting may be confusing when positioned next to the visibility checkboxes. Hover text might be helpful but I'm worried people might just ignore that.
Another possible measure could be a "simple mode" which disables the Parent Layout feature, and in turn, the need for an "enabled" column. This would be the most foolproof, but introduces concerns over what to do when a user already has things configured in the non-simple mode.
[Suggestion] New Conditions
Just suggestions for some useful new conditions to be added:
1. Condition Title: Inside Sanctuary
Condition Logic: If the player is at an area the game considers a sanctuary, where you can logout without waiting and get rested bonus EXP, set this condition to ON. Otherwise set it to OFF
Explanation: Sanctuaries are usually towns in which battles do not occur. A lot of the HUD elements are useless in such places. The user would be able to create a very minimal HUD preset to use automatically in such locations to better immerse in the game while questing, visiting vendors or just goofing around checking out band performances at the starter cities.
2. Condition Title: Mounted
Condition Logic: Self-explanatory. When in a mount, set it to ON.
Explanation: Could be useful to have a specific "voyage" HUD for when getting around with a mount.
3. Condition Title: Inside FATE Area
Condition Logic: If player steps into a FATE Zone, set this condition to ON. Otherwise, set it to OFF.
Explanation: Getting inside a FATE Zone can radically change what information is useful for the player. For example, you might want to know what the FATE objective is, but your default layout doesn't have the Duty List on. You might want to check out your parameter bar to see how level the level sync affects your HP. Maybe your default HUD doesn't even have the minimap on, but you happen to bump into a FATE by accident and you may want to see its boundaries. As such, it'd be useful to have swaps for Fates.
As an addendum, separating this condition in two would also be useful: "Inside FATE Area", for when you're at an FATE area but not necessarily level synced and "Participating FATE" for when that FATE is active and its enemies can attack/be attacked by you.
4. Condition Title: User Holding Key/Gamepad button
Condition Logic: While player is holding [user defined key/gamepad button], set this condition to ON. When player releases [user defined hold key/gamepad button], set this condition to OFF
Explanation: extremely versatile. FaderPlugin has such an implementation, although the input options available are fairly limited.
5. Condition Title: User Toggle Key/Gamepad button
Condition Logic: When player presses [user defined key/gamepad button] toggle this condition between ON and OFF.
Explanation: extremely versatile as well. Because of how automatic swaps work with this plugin, it doesn't play well with macros for manually toggling and adjusting specific elements of the HUD, as any swap reverts HUD elements to the ones in the preset. There's no way to, for example, use a macro to hide all HUD elements but the minimap, or to switch job gauges to simple mode from then on, because whenever another swap condition kicks in the macro changes are overwritten by the preset. The way it works right now, if you have swaps enabled, you need your conditions to cover every situation, as there's no way to manually change an element quickly without opening the plugin and changing your presets. That adds a lot of development burden for creating conditions for every possible situation, some of which are not viable or hard to implement. This suggested new condition (and the previous one) would change that and allow for user control in situations not covered by conditions.
6. Condition Title: Chat Focus
Condition Logic: When the Chat Windows has focus (such as after any Chat Key Combo is pressed), set this to on. When the chat windows doesn't have the focus, set this to off.
Explanation: see FaderPlugin implementation of this. Useful for yeeting the chat window away to out of screen X an Y positions when not in use and getting it back to the default position when you want to type.
7. Condition Title: HUD Select cursor focus
Condition Logic: When the HUD select cursor has focus (the white glove that cycles between HUD elements, on default settings it's activated by pressing Touchpad on PS4/PS5 controller or Back on Xbox 360 controller), set this condition to ON. When it doesn't have focus (the cursor disappears when it doesn't have focus), set it to off.
Explanation: Had this idea while testing FaderPlugin condition "Chat Focus". Super useful for gamepad players. You could use this to for example have Scenario Guide, NG+ and Duty List hidden by default, but whenever you want to check, you just have to press the HUD select button and this condition would kick-in and set the cursor to the Scenario Guide at the same time. From my testing, the Scenario Guide is usually the first element to be selected by the HUD select button if it's available, followed by the Chat and then the Duty List. This idea is similar to the User Toggle Button for some use cases, but instead of having the same button set the condition on and off, you'd just check if the HUD Select Cursor has focus and let this handle the swap of stuff instead of messing with input events. If the player wants to toggle all the additional HUD off, it's just a matter of pressing the cancel binding (circle/B by default), doing this makes the game focus out of the HUD Select cursor and, in turn, would set this condition to off, untoggling the swap and hiding stuff. Elegant.
8. Condition Title: Condition Timeout.
Condition Logic: When no other conditions of higher priority than this one have their requirements met after [user selected time], set this condition to ON. If any other condition matches, set it to off.
Explanation: See FaderPlugin "Idle" setting. Some very cool stuff can be made with this, such as gradually increasing transparency of HUD elements (and or making them smaller) after some time has passed and the conditions that make them relevant are no longer in place, before toggling them off completely. A good candidate for this would be the parameter bar and Job Gauges when out of combat, or you could just use this between pretty much every swap transition to make them less "instant" and more gradual.
9. Condition Title: Chat Inactive.
Condition Logic: Whenever a chat message is written to the currently active chat tab, set this condition to false for [user selected duration] seconds, after that set it to on.
Explanation: Allows yeeting the chat window away for out of screen X and Y coordinates when no new chat messages. Best paired with "Chat Focus" condition to enable seeing the chat on demand. Hiding the chat for inactivity iss one of the most demanded features for the UI for years! Even FFXI had an option to gradually hide the chat after some time when there's no messages. Not only does it help declutter your screen, it also brings your attention to the chat when a new message comes as the chat window appears (helpful for distracted players who forget the chat while focused on gameplay in instances and miss important party messages at critical moments. That's me btw).
Plugin is not loaded at latest Dalamud (need update?)
Thanks for your wonderful plugin, big fans here!
[Bug] Mount Bars Overwritten
Mount action bars such as Rolling Tankard are having the primary hotbar overwritten. I believe there used to be a config value that controlled this but I no longer see it in the UI. Unsure if the other bar overwrite states are affected.
HUDManager Error
Custom conditions involving FATEs cause HUD Manager crash
So something started causing crashes for me with the Level-synced for FATE
and In FATE area
custom conditions. I was able to set them up in some previous version of HUD Manager, however now any time they are part of a custom condition HUD Manager crashes. If I select any condition containing them to edit I get crashes. If they are part of any used condition I cannot enable or disable swaps without crashing HUD Manager.
It is possible there is a conflict somewhere on my end and I have not tested further, however I am willing to dive into it more if you are unable to replicate on your end. For now I'll just not touch those conditions as they aren't really needed for what I'm doing.
[Bug] Export Layout to HUD slot logging is shifted by one
FPS drop after prolonged use.
After almost exactly 60 minutes of playing my steady 60 fps begins to drop eventually ending in the 20's. After disabling all plugins I'm determined it is this one that is causing the issue. I love this plugin and hope to continue using it.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.