XIVCrossbar - A Gamepad Macro Addon

Eorzea Time
 
 
 
Langues: JP EN FR DE
users online
Forum » Windower » General » XIVCrossbar - A Gamepad Macro Addon
XIVCrossbar - A Gamepad Macro Addon
First Page 2 3 ... 9 10 11 12
Offline
Posts: 130
By Aliekber 2022-08-16 16:02:02
Link | Citer | R
 
The right trigger Alt-Tabbing you most likely means you have a binding to switch windows set to Ctrl+F12. The way the crossbar works under the hood is that the left trigger holds down Ctrl+F11, the right trigger holds down Ctrl+F12, and the dpad + face buttons are mapped to F1-F8. Since few things have mappings to Ctrl+F12+F2, this doesn't usually cause problems, but in the case where Ctrl+F11 or Ctrl+F12 is bound to something undesirable, you will see those bindings fire when you use your triggers.

As for it not running, just to verify:
- Do you have the Run plugin installed and enabled?
- Have you added a "run C:/Windows/System32/cmd.exe /c start /unix <path_to_your_FFXI_Input.sh>" command to your init.txt?
Offline
Posts: 8
By EdgeSetter 2022-08-16 17:44:31
Link | Citer | R
 
Aliekber said: »
The right trigger Alt-Tabbing you most likely means you have a binding to switch windows set to Ctrl+F12. The way the crossbar works under the hood is that the left trigger holds down Ctrl+F11, the right trigger holds down Ctrl+F12, and the dpad + face buttons are mapped to F1-F8. Since few things have mappings to Ctrl+F12+F2, this doesn't usually cause problems, but in the case where Ctrl+F11 or Ctrl+F12 is bound to something undesirable, you will see those bindings fire when you use your triggers.

As for it not running, just to verify:
- Do you have the Run plugin installed and enabled?
- Have you added a "run C:/Windows/System32/cmd.exe /c start /unix <path_to_your_FFXI_Input.sh>" command to your init.txt?

Ok, I do see that KDE has a keybind set for Ctrl+f12 to show desktop and was able to disable that. That fixed the right trigger issue. Though now that I tried it more, the face buttons work for the crossbar but the dpad buttons do not.

As for the Run plugin, I believe I do have it installed and enabled, but I'm not positive. I have it downloaded and enabled on my PC setup, and that setup is what has been used for my steam deck setup.

I do have the command "run C:/Windows/System32/cmd.exe /c start /unix /home/deck/.local/share/Steam/steamapps/compatdata/230330/pfx/drive_c/Windower/addons/xivcrossbar/FFXI_Input.sh" listed in my init.txt file
Offline
Posts: 130
By Aliekber 2022-08-16 18:58:58
Link | Citer | R
 
Hmm...

Maybe try adding a
Code
load run

line right before you invoke the run command in your init.txt?

If that doesn't work, can you try moving both of the FFXI_Input files to somewhere outside your Wine prefix, and updating the run command to point there?

Edit: I just realized you're using the Steam client for FFXI (understandable, given that it's on Steam Deck). I've never tested this addon with the Steam version of the game before, although I probably should. Is your (Steam) control scheme set up to treat the dpad as buttons or as a hat switch?
Offline
Posts: 8
By EdgeSetter 2022-08-16 19:45:23
Link | Citer | R
 
No go for either the load command or moving the input files outside the prefix and updating the command path.

Yeah I'm using the Steam version, probably should have mentioned that. Not sure what control scheme it is, but its default dpad setup for the "Gamepad with Mouse Trackpad" controller template.

Think I'd have more luck switching my game to the non-steam version?
Offline
Posts: 130
By Aliekber 2022-08-16 20:56:59
Link | Citer | R
 
EdgeSetter said: »
No go for either the load command or moving the input files outside the prefix and updating the command path.
Damn. I was hoping it might have been Wine acting wonky because you were running a Linux script from inside the Wine C drive.

EdgeSetter said: »
Yeah I'm using the Steam version, probably should have mentioned that. Not sure what control scheme it is, but its default dpad setup for the "Gamepad with Mouse Trackpad" controller template.

Think I'd have more luck switching my game to the non-steam version?
I think there's a good chance you will. You're the first person I've talked to that's using the Steam version and you're also the first person I've talked to that's having the dpad issue you're having.

But before going through all of that trouble, I'd just make sure your controller config is set up to treat your dpad as a dpad, not as a button pad, joystick, or radial menu.

As for why it's not running the script automatically, I'm not sure yet whether that's related to using the Steam version.
Offline
Posts: 8
By EdgeSetter 2022-08-16 21:17:22
Link | Citer | R
 
Aliekber said: »
But before going through all of that trouble, I'd just make sure your controller config is set up to treat your dpad as a dpad, not as a button pad, joystick, or radial menu.

Ah I see, then yes it's set as a dpad in the steam controller config.

I'll give switching to the non-steam version a shot, and see if that works out better. Thank you for your help!
Offline
Posts: 130
By Aliekber 2022-08-16 21:38:07
Link | Citer | R
 
No problem, let me know if you run into trouble again.
Offline
Posts: 23
By neonrage 2022-08-17 13:26:29
Link | Citer | R
 
In the recent versions I am seeing this across most of my jobs, many of the job abilities now have white icons on the crossbar itself, though the icon is there on the selection UI.

Offline
Posts: 8
By shmobertson 2022-08-17 18:24:39
Link | Citer | R
 
neonrage said: »
In the recent versions I am seeing this across most of my jobs, many of the job abilities now have white icons on the crossbar itself, though the icon is there on the selection UI.


I am having the same issue with job abilities.
 Quetzalcoatl.Khajit
Offline
Serveur: Quetzalcoatl
Game: FFXI
user: Khajit
Posts: 441
By Quetzalcoatl.Khajit 2022-08-17 19:43:46
Link | Citer | R
 
I think I had the issue before the latest set of patches with an ability or two, but never to the extent that I do now.
Offline
Posts: 130
By Aliekber 2022-08-17 20:21:52
Link | Citer | R
 
Can any of you experiencing this send me a zip file of your icon pack?

Edit: NVM, I was able to reproduce the issue on my own. This is a weird one, I'll say.

NVM x2, it wasn't a weird one, I'm just an idiot. Pushed a change that should fix this.
Offline
Posts: 23
By neonrage 2022-08-18 08:12:27
Link | Citer | R
 
That fixed my white boxes, awesome!
Offline
Posts: 8
By shmobertson 2022-08-18 09:03:56
Link | Citer | R
 
My white box issue was solved. However, when trying to set Invincible to my JOB-Default bar I get an error and then my whole crossbar goes crazy and I can't even change between bars.

Here is the error code.
Offline
Posts: 17
By GhostyStar 2022-08-18 17:16:54
Link | Citer | R
 
I think I've fixed it for myself locally, I reverted line 619 of ui.lua from
Code
local name = res.job_abilities[id].name
to
Code
local name = action.action

The bars are fixed but I still need to go test I can actually use the SP abilities I've bound.

Edit: yep, everything is working as far as I can tell.
 Quetzalcoatl.Khajit
Offline
Serveur: Quetzalcoatl
Game: FFXI
user: Khajit
Posts: 441
By Quetzalcoatl.Khajit 2022-08-18 19:27:30
Link | Citer | R
 
I technically have no idea how long this has been happening since I wasn't on dnc for a while.


The binds themselves appear to still be there as evidenced via chocobo jig working.

The error upon loading or reloading is xivcrossbar/ui.lua:619: attempt to index field '?' (a nil value)

It seems to have spread to several other jobs, but thf as a whole is immune to the visual bugs for some reason.
Did several clean installs and various restarts (lua, client, OS) , I couldn't even see the images of controller types in the basic setup.

I have now reverted to an earlier version, so this does not appear to be a spontaneous breakdown on my laptop's end.

I strongly suspect user error somehow, but I'm not in the mood to try more troubleshooting tonight.
Offline
Posts: 8
By shmobertson 2022-08-18 21:24:35
Link | Citer | R
 
It's not user error, the issue is with SP abilities. I removed all my SP abilities and everything works fine. I just remade those binds using 'ex' macros for now until the issue is resolved.
Offline
Posts: 17
By GhostyStar 2022-08-18 23:44:36
Link | Citer | R
 
Yeah, my code change post was to fix/bypass that exact error. I've now been playing for a few hours with no issues.
Offline
Posts: 130
By Aliekber 2022-08-19 13:07:31
Link | Citer | R
 
Just pushed a fix, thanks for your patience. I saw this yesterday and wanted to fix it, but I literally worked from 9am until midnight so I just didn't have time.
Offline
Posts: 23
By neonrage 2022-08-19 17:19:01
Link | Citer | R
 
Aliekber said: »
Just pushed a fix, thanks for your patience. I saw this yesterday and wanted to fix it, but I literally worked from 9am until midnight so I just didn't have time.

Don't burn yourself out! This is great stuff and completely understand it's a hobbie, not real life or a job.
[+]
Offline
Posts: 130
By Aliekber 2022-08-19 21:00:51
Link | Citer | R
 
neonrage said: »
Aliekber said: »
Just pushed a fix, thanks for your patience. I saw this yesterday and wanted to fix it, but I literally worked from 9am until midnight so I just didn't have time.

Don't burn yourself out! This is great stuff and completely understand it's a hobbie, not real life or a job.
Thanks. :) That's the attitude I take with regard to adding new features (i.e. "it's ready when it's ready"), but I try to never leave the addon in a broken state longer than I have to.
Offline
Posts: 130
By Aliekber 2022-08-20 02:31:18
Link | Citer | R
 
And speaking of new features: I've implemented the combo-action COR roll + Double-Up binding. I think it may be controversial, because due to all COR rolls sharing a recast timer, all COR roll bindings change to Double-Up when the player has the "Double-Up Chance" effect (this should have been obvious to me when talking about it earlier, but I didn't think of it at the time).

Because of that, I'm doing something I haven't done before on this addon, and am releasing the feature to an experimental branch. You can download the changes here: https://github.com/AliekberFFXI/xivcrossbar/tree/double-up

Both the master branch and the double-up experimental branch can read XMLs created by the other, but note that adding a new binding (of any kind!) on the master branch will rewrite the XML, and in doing so will remove the combo-action part of the binding. So don't make new bindings on the master branch if you want to keep your combo-actions!

I'm seeking feedback on this experimental feature, so please let me know what you think of it. Particularly that all COR rolls change to Double Up at the same time. I also want to make it very clear that while your XMLs aren't going to break as a result of using this experimental branch, I also don't promise to support this feature going forward (because everyone but you might hate it), unless it ends up getting merged into the master branch, in which case you're good.

Finally, working on this really brought home just how much of a mess the rendering code is, and so I'm probably going to spend a big chunk of time improving it before I start adding big new features that involve rendering changes again.

Technical details for nerds follow. You can safely ignore the rest of this post unless you plan to edit XMLs to create combo actions other than Phantom Roll + Double Up.

Although you can use this to make other combo actions, I haven't added any UI for it yet, so you'll have to edit the XML manually. If you create a COR roll binding, then manually edit the xml, you will notice that 3 new fields have been added: alt_action, alt_action_type, and alt_action_buff_id_condition. alt_action is the name of the action you want to combo when the regular action is waiting on recast. alt_action_type is the prefix for the alt action (like "ma" for magic, "ja" for job abilities, and so forth). alt_action_buff_id_condition is optional, and if it's included, it specifies a buff that needs to be active in order for the combo action to show as available.

As an example: let's say you want to make a Sneak Attack + Mandalic Stab binding (IDK if this is a good idea because I don't play THF, but let's pretend you want to). You start by making a Sneak Attack binding, then open up the XML. Add the following XML fields to your Sneak Attack binding:
Code
<alt_action_type>ws</alt_action_type>
<alt_action>Mandalic Stab</alt_action>
<alt_action_buff_id_condition>65</alt_action_buff_id_condition>

And that will make your Sneak Attack binding change into Mandalic Stab when 1) Sneak Attack is waiting on recast, and 2) the buff "Sneak Attack" (buff_id 65) is active on you. So once you've used your Sneak Attacked Mandalic Stab, the icon will change back to showing the recast timer for Sneak Attack.

If you didn't include the buff id condition, then your Sneak Attack would still change to Mandalic Stab after you use Sneak Attack, but it would stay as Mandalic Stab until Sneak Attack was ready again. You can use this information to control how the combo action behaves.

And with that, it's bedtime. G'night everyone!
[+]
Offline
Posts: 8
By shmobertson 2022-08-20 09:32:38
Link | Citer | R
 
Thanks for the hard work on this.
I have a little bit of experience with Cor and I think it might be simpler and cleaner to just have a master Phantom Roll macro that would take you to a pallet with all Phantom rolls. Then once a roll is pressed it automatically takes you back to your main pallet where the master Phantom Roll macro would then be changed to double up and then revert to the phantom roll macro once the timer is up. I hope this feedback helps and makes sense.
Offline
Posts: 17
By GhostyStar 2022-08-20 17:02:44
Link | Citer | R
 
I'm still getting the same error for Dancer Sambas (on master branch), indexing a nil value on line 621 of ui.lua.

All of them have id 315 and res.job_abilities[id] is nil.

For now I've done my workaround again locally, with a print to see the problem actions:
Code
if (id ~= nil) then
    if res.job_abilities[id] ~= nil then
        name = res.job_abilities[id].name
    else
        print(action.action, id)
        name = action.action
    end
else
    name = action.action
end
[+]
Offline
Posts: 130
By Aliekber 2022-08-20 17:49:11
Link | Citer | R
 
GhostyStar said: »
I'm still getting the same error for Dancer Sambas (on master branch), indexing a nil value on line 621 of ui.lua.

All of them have id 315 and res.job_abilities[id] is nil.
Thanks for catching this. There's no need to log to find the problematic actions. It will be any JAs that share a recast that encounter this bug. But I've just pushed a fix based on the code you provided.
[+]
 Fenrir.Jinxs
Offline
Serveur: Fenrir
Game: FFXI
user: Jinxs
Posts: 541
By Fenrir.Jinxs 2022-08-21 12:02:30
Link | Citer | R
 
Sylph.Shadida said: »
//xb set Basic 1 1 ex "input /follow" t "Follow" follow-icon
//xb set Basic 1 1 ct "follow" t "Follow" follow-icon

Need an official follow command I have used this so many times now.

Also if you added this you would go from being a legend to a god.

https://www.ffxiah.com/forum/topic/47135/ffxi-switch-monitor/1/#2946595


Was there somewhere in this thread that defined the xb set format?
So far I got:
Xb set <hotbarname> <position> <slot> <Type> <alias> <targettype?> <Command?> <Icon?>
Showing my work lol:
Code
	//xb set j 6 6 ex thfull "gs c tre" 
				
		<target>gs c treasurehuntermode fulltime</target>
                <type>ex</type>
                <action>THFULL</action>
                <alias>THFULL</alias>

EDIT: Getting stuck with gs c commands because target value


Xb set <hotbarname> <position> <slot?> <Type> <action*alias> <targettype?> <alias?> <Icon?>
types: ex ma ws ja
targettypes: me? t ct ...?
Offline
Posts: 130
By Aliekber 2022-08-22 20:43:15
Link | Citer | R
 
I had a giant-*** reply to this all typed up, and when I went to hit submit, Chrome crashed and I lost it all. So now you get the TL;DR version.

  • I added follow command as a TODO item

  • I'm considering if it's possible to incorporate multibox swapping as an action

  • xb set j 6 6 ex "gs c set treasurehuntermode fulltime" me THFULL my_cool_th_full_icon


(You can get rid of the icon part if you don't actually have a cool "TH full" icon)

The format of the set command is as follows:
xb set <crossbar set name> <crossbar #> <slot #> <action_type> <action> <target (optional)> <alias (optional)> <icon (optional)>

Valid action types are ct, ex, and anything from here: https://www.bg-wiki.com/ffxi/Macro#Macro_Commands with the caveat that any action type that only takes a target (e.g. "/ta <bt>") rather than a name and a target (e.g. "/ja Provoke <t>") is implemented as a ct action type. So "/ra <t>" is actually "xb set Basic 1 1 ct ra t".

Valid targets are anything from here without the < and >: https://www.bg-wiki.com/ffxi/Macro#Targets_and_Sub-Targets and also player names if you want a hardcoded binding for some reason.

Cheers
[+]
 Quetzalcoatl.Khajit
Offline
Serveur: Quetzalcoatl
Game: FFXI
user: Khajit
Posts: 441
By Quetzalcoatl.Khajit 2022-08-24 18:58:16
Link | Citer | R
 
Went to test SA+Mandalic stab in that new combo action feature using the double up branch.
It appears to be spamming ui.lua:595: attempt to index local 'ability_recast' (a nil value)


And if I have a branch in a separate folder (eg 2)instead of xivcrossbar, windower says the addon does not exist, which makes it annoying to test out the branches.
Offline
Posts: 130
By Aliekber 2022-08-24 19:49:40
Link | Citer | R
 
Can you share the XML for the slot with SA+Mandalic Stab?

If you want to have the test branch in a folder called xivcrossbar2, then you have to change xivcrossbar.lua to xivcrossbar2.lua in that folder (Windower's requirement, not mine) and call "lua load xivcrossbar2" to run it.
 Asura.Skyefox
Offline
Serveur: Asura
Game: FFXI
Posts: 15
By Asura.Skyefox 2022-08-24 20:53:37
Link | Citer | R
 
Not sure if its been mentioned yet, but looks like wyvern pet commands are missing. Like restoring breath, etc. Could be possible im doing something wrong as well, just started using the addon this week. Great btw, also is there a way to keep your crossbar loadout when you switch subjobs or do you have to do it for each one? Thanks.
Offline
Posts: 130
By Aliekber 2022-08-24 21:04:34
Link | Citer | R
 
Asura.Skyefox said: »
Not sure if its been mentioned yet, but looks like wyvern pet commands are missing. Like restoring breath, etc. Could be possible im doing something wrong as well, just started using the addon this week. Great btw, also is there a way to keep your crossbar loadout when you switch subjobs or do you have to do it for each one? Thanks.
If you put your bindings on the Job Default crossbar, then they will be available regardless of subjob.

I'll take a look at Wyvern pet commands. I remember them acting strange at one point (showing up in the SMN list for some reason; I thought I'd fixed it), so hopefully it will be a quick fix.
First Page 2 3 ... 9 10 11 12