Skip to content

Releases: emersonrp/bindcontrol

v0.20 Prerelease 2 - select binds directory

20 Jun 18:13
Compare
Choose a tag to compare

Thjs prerelease contains some iterating on the previous prerelease, including putting back a decorated display of the Profile name in the main window, adding an "alignment" picker, and fixing several misfeatures and bugs. Please check the previous prerelease for more detailed notes about what this feature is all about:

https://github.com/emersonrp/bindcontrol/releases/tag/select_binds_dir_prerelease1

v0.20 Prerelease 1 - select binds directory

19 Jun 03:35
Compare
Choose a tag to compare

This prerelease allows the user to select a profile's binds directory. Up until now, this directory has been the same as the profile name, necessitating keeping the profile name short and a single word. With this release, the binds directory for a profile can be selected using a "Set Binds Location" button located on the lower left of the window.

As a consequence of this, the notion of the Profile Name has been removed. The Profile's main identifier is its filename, and therefore can now contain whatever characters the filesystem supports.

By default, existing profiles will continue to have their profile bind directory the same as their filename, which is to say the same as their former Profile Name.

New profiles will have a directory name selected for them that attempts to be short and related to the profile filename. This can be changed at any time using the "Set Binds Location" button. The binds directory name still needs to contain only A-Z 0-9 and _, and it ought to be as short as is feasible. (Edit to add: the code does not yet completely check these constraints. It will in the final release.)

Changing the binds directory for a profile will offer to delete the old binds directory, and will save the profile, including any other changes made this session.

This is probably not bulletproof yet, but it's all in there, so please check it out and file any issues you find. It should work as you expect; if it doesn't, file an issue.

BindControl v0.19.3

18 Jun 16:11
Compare
Choose a tag to compare

Better BufferBind checking and error detection / notification; bugfixes and tweaks

BufferBinds: better error checking and UI feedback
BufferBinds: Add CheckIfKeySelected and checkIfWellFormed, and use them
BufferBinds: PowerPicker is ErrorControl; use that in BufferBindPane
PowerBinder: Bind string inside rearrange list; update bind string on load
Bugfix: don't crash because we didn't initialize DefaultToolTip
ErrorControls: set DefaultToolTip at init time and restore it when no errors

BindControl v0.19.2

16 Jun 18:37
Compare
Choose a tag to compare

Rework of Key Select dialog to clarify what's possible.

Partially because of my misunderstanding of what's possible in-game, and
partially because of the way I implemented it, the Key Select dialog has
up until now been capable of creating keybinds that don't work as
intended in the game. This release addresses this problem.

-- The game simply does not honor multiple "chord" keys in a bind, so
eg "SHIFT+CTRL+R" would be bound as "SHIFT+CTRL" instead. Only two keys
can be used in a bind, and any bind attempting to do more will only bind
the first two in the keybind string.

-- The split of, for instance, "LSHIFT" and "RSHIFT" only works in isolation or
on the right-hand side of a keybind. That is to say, "LCTRL+R" will bind
"CTRL+R" and will be triggered no matter which Control key is used, since
the "LCTRL" is on the left-hand side of the bindstring. Binds like "LSHIFT"
or "ALT+RCTRL" work as expected.

This release updates the logic of the keybind dialog so that it makes
every effort to honor these limitations. It's been pretty rigorously
tested, but it's probably possible to fool it into something strange
with enough fiddling. If you manage to get a weird string into the
keybind window (I've seen, for instance, "ALT+ALT"), BindControl will
happily write it to the bindfiles and you may have weirdness in-game.
Don't do that. If this proves to be an ongoing problem, I might
implement sanity-checking at write-binds time.

In general, if you're just mashing "CTRL+5" or something, it should work
flawlessly.

If you're trying to make a controller bind, and the dialog gets its
state stuck, just tap a key on the keyboard and then try the controller
bind again.

I realize this release note is a small novel, but there's a lot going on
under the hood here. Please file issues for any problems you find.

BindControl v0.19.1

15 Jun 21:45
Compare
Choose a tag to compare

Delete Complex Binds' and Buffer Binds' bindfiles on delete or rename

This release (optionally but by default) deletes a Complex Bind's or
Buffer Bind's bindfiles upon deleting the bind from the profile, and
(unilaterally) deletes them upon rename of such a bind.

This will keep the bind directory clean of orphaned custom bind cruft in
as nonintrusive a way as possible.

BindControl v0.19.0.2

15 Jun 21:17
Compare
Choose a tag to compare

Bugfix / tweak release:

-- Add help buttons next to each Custom Binds button.
-- PowerBinder: don't crash/traceback if first step is cancelled
-- Write bufferbind files only for defined power steps

BindControl v0.19.0.1

15 Jun 17:40
Compare
Choose a tag to compare

Bugfix: "Delete All Binds" now removes an empty binds directory

If "Delete All Binds" clears the profile directory completely, ie, there
were no user-added files or other non-BindControl debris in there, the
profile's binds directory will be removed.

BindControl v0.19 - "Delete All Binds"

15 Jun 16:25
Compare
Choose a tag to compare

Actual release of "Delete All Binds" functionality.

This release adds a new "Delete All Binds" button to the bottom, next to
"Write Binds."

This will attempt to delete all BindControl-managed files in the current
Profile's binds directory and remove empty directories (including the
binds directory itself). Manually-added files will not be touched.

It feels pretty solid, but programmatically deleting files is always
nervous-making. The feature attempts to make sure you don't have your
binds directory unset or set to the root of a drive or something; it
also will let you know what path it's about to go spelunking in and asks
for confirmation.

Please check it out if this functionality interests you. Please be
careful with it and let me know if it does anything remotely surprising,
by filing an issue. Thanks.

BindControl v0.18.3

14 Jun 22:51
Compare
Choose a tag to compare

All-new handling of default profile.

This release again reworks the default profile handling, this time to an
all-new system.

-- The default profile is now saved with the application preferences,
and is not directly editable.
-- The profile file "Default.bcp" is no longer treated specially in any
way except as noted just below.
-- The first time you do a "New Profile", your old Default.bcp, if any,
will be copied to the new location if nothing is already saved there.
Default.bcp will not be automatically deleted.

To avoid confusion, if you have a Default.bcp, you're encouraged to load
it, "Save As Default Profile," and delete it. There's no harm in not
doing this, but "Default.bcp" is no longer magical in any way, so
changes to it will not affect "New Profile" going forward.

This involved some surgery to loading and saving of profiles in general,
and while I'm pretty confident in my testing of various cases, it's
possible I missed something. Please open issues as you find them.
Profile contents have not changed, so it's safe to revert to a previous
version if this one gives you troubles.

BindControl v0.18.2.1

14 Jun 19:28
Compare
Choose a tag to compare

Fix to "BindKey" key error when writing custom SimpleBinds.
Fix to IsWellFormed logic for custom ComplexBinds.