Giter VIP home page Giter VIP logo

ffxiv-plugin-hudmanager's People

Contributors

53m1k0l0n avatar anna-is-cute avatar battler624 avatar itsbexy avatar nebel avatar zacharied avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

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.

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

public bool IsInFate(Character player)

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

[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

[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..

image
image
image
image

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.

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.

[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

"This plugin failed to load"

Dear team,

Thanks for your work :) it's very great :)
I have an issue with your last version (2.5.6.4). Plugin failed to load.
One update is it necessary ?

thanks

Capture d’écran 2022-07-24 095007

[Question] Custom Condition for 'not in instance'

Hey,

I'm trying to make a layer for Not In Instance ("Outside") to reset what the In Instance layer above it is doing (in picture). The condition set for Outside doesn't seem to be working, though. Am I misunderstanding the Custom Conditions setup?

conditions

Thanks

[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 :)

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

Is there a chance to have the ocean fishing missions added so we can move them around?
image
The Voyage Missions part in the screenshot

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).

[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

Hello. I got error when i try to choice layout.
ffxiv_dx11_GFHF0uHyUK

I have removed lot of other plugin. but got always this 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

Reproduction :

Use the Export Layout to In-game Hud Feature.

I clicked on the 4 buttons in order (1 to 4) and here is the output I got in console :

image

I confirmed that the layout is properly saved to the right HUD slot. However, the log text in the console 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 photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.