emersonrp / bindcontrol

Keybind manager for City of Heroes
GNU General Public License v3.0
3 stars 3 forks source link

Replicate GABS Binds Set #35

Closed autobotcoop closed 4 months ago

autobotcoop commented 5 months ago

Making an issue to track my attempt to replicate one of my current sets.

COMMON.txt rollchat1.txt rollchat2.txt rollchat3.txt stub.txt stub-REST-OFF.txt stub-REST-ON.txt stub-WALK-01.txt stub-WALK-02.txt stub-WALK-03.txt stub-WALK-04.txt stub-WALK-05.txt stub-WALK-B1.txt stub-WALK-B2.txt stub-WALK-B3.txt stub-WALK-B4.txt stub-windows.txt

autobotcoop commented 5 months ago
  1. Cannot figure out how to do this. There is currently no way to bind common powers (Rest, Sprint, Brawl, etc.) unless it's a custom bind.
    BUTTON4 "powexectoggleon Sprint$$autorun 1" BUTTON5 "powexectoggleoff Sprint$$autorun 0"

  2. Tied to the above. EQUALS "powexectoggleon Rest$$l <color white><bgcolor red><scale 2><bordercolor white>— RESTING! —$$bindloadfilesilent GABS\Stub\stub-REST-OFF.txt"

emersonrp commented 5 months ago

The issue is that "rest" and "sprint" and some of the other non-powerset/powerpool powers aren't in the popup when you're making a Simple Bind? That's pretty easily fixable and seems like a no-brainer. 'Cause yeah, Simple Binds are supposed to be the path to victory for putting together things like your examples. Lemme look at what's missing and why.

emersonrp commented 5 months ago

Released 0.17.7 which adds in a few dozen inherent, vendor, and accolade powers that weren't available in the PowerPicker. This should be a step in the right direction.

https://github.com/emersonrp/bindcontrol/releases/tag/v0.17.7

autobotcoop commented 5 months ago

For my next question/issue, how would I accomplish a rollover bind in bindcontrol?

Example:

powexectoggleon Rest$$group <bordercolor #FFFFFF><color #FF0000><bgcolor #FFFFFF>- RESTING - bound to =

Then when I press = again, the next step should be:

powexectoggleoff Rest$$group <bordercolor #FF0000><color #FFFFFF><bgcolor #FF0000>...Rested! Let's Go!

image

That doesn't seem right.

emersonrp commented 5 months ago

Oh interesting, I see a couple of things here. The first one is that the text color controls are mislabeled, which you might have noticed.

The other is that it's probably failing by not resetting EQUALS to the second step? That's because there's a space in the name of the bind, which is a completely reasonable thing to do that I'd never tested, and it's a bug that it breaks things. I'll fix.

autobotcoop commented 5 months ago

I'm glad you're able to parse what I'm getting at. 😂

emersonrp commented 5 months ago

Released 0.17.7.1 which fixes these two bugs. If you end up re-editing the chat steps of any saved custom bind, the colors will switch around to match the actual labels instead of having foreground and background swapped like it had been.

https://github.com/emersonrp/bindcontrol/releases/tag/v0.17.7.1

autobotcoop commented 5 months ago

Adding a duplicate bind UI button would be useful in those "rare" cases where it would speed up editing. image

  1. Click Duplicate.
  2. image

  3. Edit image
emersonrp commented 5 months ago

Should be pretty straightforward to do. Look for an update soon.

emersonrp commented 5 months ago

Just released v0.17.8, which adds a "+" duplicate button right below the rename one. Should just work as expected, please let me know if you have any trouble. Also added in a check to make sure there are not duplicate names in custom binds, which could cause badness especially with complex binds.

https://github.com/emersonrp/bindcontrol/releases/tag/v0.17.8

Edit: Oh I forgot to clear the keybind itself before making the duplicate. You'll need to remember to set a new keybind manually to avoid conflicts. I'll release a fix shortly.

emersonrp commented 5 months ago

OK bugfix 0.17.8.1 is out. Clears keybinds when duplicating. Also some layout handwaving on simple binds, which had gotten a little weird looking with the addition of the duplicate button. Might still need some layout finagling.

https://github.com/emersonrp/bindcontrol/releases/tag/v0.17.8.1

autobotcoop commented 4 months ago

Are the movement keys hardcoded or can they be cleared somehow? My current workaround was using the \ in the movement screen.

For example: UP "+forward$$powexectoggleon Hardened Carapace$$bindloadfilesilent C:\binds\Duke\Duke-walk-b3.txt" UP "+forward$$bindloadfilesilent C:\binds\Duke\Duke-WALK-01.txt" UP "+forward$$powexecauto Practiced Brawler$$bindloadfilesilent C:\binds\Duke\Duke-WALK-B1.txt"

The above bind automatically reapplies your buffs as you move, in case you died.

emersonrp commented 4 months ago

In theory there's no magic to the movement keys -- they're just selectable keybinds like any other. They can be completely cleared with a right-click on their button (which, again, is not well documented or easily discoverable), though I'm not completely sure how the program will act if you ask for speed-on-demand and clear some of the movement keys. I suppose I should look at that. Is that the question? Not sure what you're meaning with using the \ in the movement screen. Are you just wanting to clear the movement keys altogether and build custom binds for them?

emersonrp commented 4 months ago

I am doing some work on the save/restore of custom binds that might or might not break saved profiles. Probably will, actually. Will try to make it backwards compatible before releasing. The current save/load scheme is likely to cause strangeness if you get a lot of custom binds going on, the keys might step on each other. Next big release will do a lot more for checking for keybind collision/dupes and will be a lot more robust in the format it saves custom binds. This might be a little while, it's a biggish overhaul, but the more I look at the Custom Binds scheme, the more I see that it's needed. You're really the first one to report much success or failure with Custom Binds so it's been a while since I dug into this tab at all.

Edit to add: OK it's not going to break saved profiles at all, false alarm.

autobotcoop commented 4 months ago

Are you just wanting to clear the movement keys altogether and build custom binds for them?

Yes, mostly just for up arrow as that's the key I'm constantly pressing. I'm disabled, so my gaming setup is a 12 button left handed mouse while my less functional hand manages only the arrow keys.

emersonrp commented 4 months ago

So is it somehow not working to bind "UP" to a complex bind to do what you're after? BindControl doesn't have UP set as the default for anything, though it does a /keybind_reset by default when resetting, which will reset UP to the game default. It should, though, then load your reset.txt file which would override that with whatever your custom bind is.

autobotcoop commented 4 months ago

I changed WASD to arrows. Thank you for telling me how to clear it though.

autobotcoop commented 4 months ago

Hopefully, here's a better written (😂) question. Can there be a keyboard function in this drop down?

image

Looking for +forward$$powexectoggleon BuffNameX wthout having to type +foward$$ every time

emersonrp commented 4 months ago

Could totally add a "Movement" thing to that picker, with like +forward etc, as well as maybe +autorun and some similarly-themed things? I mean, in principle every slash command in the game should end up accessible from in there eventually. I think we're close but yes movement commands are indeed missing.

autobotcoop commented 4 months ago

I got the bind set working. Thanks so much for your time. Now I can build off this skeleton.

emersonrp commented 4 months ago

Version 0.17.9 out now, adds a "Movement Command" option to PowerBinder, no frills but it works.

https://github.com/emersonrp/bindcontrol/releases/tag/v0.17.9

emersonrp commented 4 months ago

Since you got the bind set working, is this issue complete? Either way, just cleaning house today.

autobotcoop commented 4 months ago

Yes, marked.