Jump to content
The Beta Account Center is temporarily unavailable ×
We are experiencing intermittent network issues affecting Everlasting and Excelsior

emersonrp

Members
  • Posts

    143
  • Joined

  • Last visited

Everything posted by emersonrp

  1. I've gone ahead and released the "Escape Configurator" as v0.32.1, along with the /wdwsave and /wdwload additions, and a few cleanups and bugfixes to the v0.32 Profile rework. https://github.com/emersonrp/bindcontrol/releases
  2. That's an interesting first step. There's currently no actual way to edit the Default Profile, as I'm sure you've noticed in all this, apart from make a new profile, make changes, and resave as default. Longish ago, the Default Profile was actually a "Default.bcp" file that was treated specially based on the name, but people kept accidentally loading it and tinkering with it when what they were after was making a new profile. The whole flow is better than it was but not perfect or great yet. Having a special "working with the default profile" mode sounds a little fiddly to try to create, but is probably a good idea. Would have to do things like disable the normal "save" and "write binds" and so forth.... Hmm.
  3. I mean, I'm wondering about more than a naming thing -- like, whether there wants to be a functionality for "merge these changes with a base profile" that's separate from "set defaults for new profiles" which still seems like a desirable thing. The notion of Profiles in general was originally that they might be more modular like that, but it's never actually worked that way in practice, apart from the notion of "Load a different profile's binds" which is squirreled away somewhere in PowerBinder, and that's not really what we're talking about, at all. I could imagine a scheme where there's a separate entity from a full Profile that you can load/import that would just splat on top of whatever's loaded . Then you'd load up your Base thing and apply your various overload/merges and save each one. That isn't as elegant as the business you're talking about, I think, where a profile is auto-updated when its base is? Still trying to get my head around how that might work mechanically and UI-wise, but it's a fascinating exercise.
  4. Oh yeah I can make PowerBinder know about wdwsave and wdwload, for sure. Not sure why I didn't in the first place, probably UI laziness. (*snipped description) I see where you're going with that, and I wonder whether it wants to be a separate notion from the Default Profile. I have certainly ever thought about the fact that BC saves the -entire- Profile every time, even the values of controls you haven't populated etc etc. That's a deliberate decision, at least so far, so that if, say, you configure a bunch of speed-on-demand settings, and then turn off the "Enable SoD" checkbox and save, it doesn't get rid of all your historical setup. It is a little heavy-handed, though. It would be a pain, but I'm intrigued enough to mull it pretty seriously. It's certainly within the realm of possibility to mark each bind as "explicitly set" versus "part of a default profile" or the like. Again, I'm thinking that this might be a separate notion from Default, though. Base Profile? I guess I'm wanting not to make things stop working as expected on the one hand, but I see your pain in updating many profiles when you want to make the same change in each one. Hmm. I'm going to think about this a bit more.
  5. And, because I'm wanting not to let things sit around and get stale, I've already rolled up the first beta-quality version of the "Escape Configurator" Wizard as v0.32.1-test1. It works fine as best I can tell but might want some UI / UX fiddling and/or functionality expansion. Check it out: https://github.com/emersonrp/bindcontrol/releases/tag/v0.32.1-test1
  6. I've gone ahead and made this into an official v0.32 release. There are a few wee fixes from -test6, so go ahead and grab it. https://github.com/emersonrp/bindcontrol/releases Release Notes: This release radically reworks the internal representation of the Profile, making it separate from the UI state. This allows it to be tested without instantiating the UI, which will make it easier to avoid certain classes of bugs and regressions. This release has seen six test releases which were extremely helpful in finding issues with it, and now seems stable and workable. Please of course file bugs if you find them. Change notes from v0.31: Giant rework of storage of Profile data, as described above Many many many updates and additions to the pytest-based test suite "Remove default team select binds" option on Gameplay tab when using the Combined Team/Pet Selector binds Default Profile will now be honored / used when importing a buildfile New "Getting Started with BindControl" link on default start page to try to surface the wiki / documentation a bit more. "Miscellaneous Helpful Binds" on the Gameplay Page were simply not being written out, and now are. Added support for powexec_location to PowerBinder's "Use Power" command. It is now possible to bind "ESC" with the KeySelect dialog; previously trying to do this would simply close the dialog. Better flow adding a Custom Bind; several paths to weird behavior have been cleaned up. Multiple malformed / incomplete binds on the Custom Binds page will no longer each throw a separate warning dialog when writing binds; instead there will be a single dialog with a list of such binds Many more tiny updates and fixes that didn't merit individual notes at the time.
  7. Also cooking in a branch: Not in love with the UI yet, but it's being an interesting exercise.
  8. Just released -test6, which fixes a couple of weirdnesses that would happen if you canceled adding a custom bind, and generally streamlined the "add custom bind" logic. https://github.com/emersonrp/bindcontrol/releases/tag/v0.32-test6
  9. You got me all inspired: Coming soon....
  10. OK, I've just released a -test5 version with those two changes: bindable ESC key, and support for powexec_location in PowerBinder's "Use Power" command. The latter was a little hairier than I'd originally expected because I needed to provide UI for the various options for powexec_location, which I'm not 1000% happy with but it's better than nothing; also I had to gate all of that behind "if Homecoming" logic since Rebirth doesn't (yet?) have that slash command. Speaking of Rebirth, the server picker on the General page was not working at all and everything was Homecoming. I've fixed that, I believe. Rebirth players let me know if anything's weird with that. https://github.com/emersonrp/bindcontrol/releases/tag/v0.32-test5
  11. Wow OK, I have misremembered some of that. Apparently long long ago I explicitly grabbed ESC to close the KeySelect window and had forgotten in the intervening years. All I have to do is undo that, basically. So yeah, that'll be in -test5 for sure. Also now pondering adding an "Escape Wizard" that offers up a set of things one might want to do with the ESC key, like unselect, unqueue power, close extraneous windows, maybe a couple others, in a simpler UI. Possibly I'm just looking for things to do with the Wizard functionality that's just got the one thing so far.
  12. Oh yeah that's just an oversight. I'll add that in. That's mostly the latter - the game handles binding ESC kinda weirdly, iirc, so I never dug into how to override the default toolkit behavior and capture ESC in the keybind dialog. If you have a use case for that, and I suppose you do or you wouldn't be asking, I can look into making that possible.
  13. Yeah I just found that one earlier today, too. I have a fix out in the main branch already, so it'll be part of -test4 whenever that happens, maybe tonight. Also, out to the side, working on the business of importing the actual power picks from buildfiles, and using them to inform the PowerPicker popups and eventually things like movement power defaults.
  14. Oh, it's PyInstaller, it's always PyInstaller. I even wrote up a thing about it: https://github.com/emersonrp/bindcontrol/blob/main/Help/MalwareWarnings.md Not that that helps in any way. It's so completely aggravating, especially since I have explicitly pinned the version of python and of pyinstaller in the build script, so that they shouldn't be changing and confusing Windows Defender. Interestingly, on my Win11 laptop that I'm shackled to this week, I didn't get any malware warning with -test3, even when I explicitly scanned the folder. My Windows Defender virus defs here are 1.437.261.0, dated today, 10/1. Not that this should be a big deal, as PyInstaller 6.10 has (mostly) worked with Defender for months. If you're feeling extra adventurous, the "Running From Source" instructions in the README on GitHub can get you working with the raw Python source which will sidestep this entire problem completely, but it is more fiddly than just downloading release ZIPfiles.
  15. Yeah, boy, that was just not the right thing at all, was it? OK, there's a -test3 out there now, where it -does- work, at least to a first approximation. There might still be a little weirdness because mashing one set of profile data on top of another is actually a bit more fiddly than I'd like. Check it out. https://github.com/emersonrp/bindcontrol/releases/tag/v0.32-test3
  16. OK I have released a -test2. I'm about to climb on a plane and be out of the loop until evening, so I'm just tossing this out there to see. Release notes: New "remove default team select binds" checkbox. This is smoke-tested but still might react weirdly with different / changing "Keybind Profile" settings. Bugfix: Various keybuttons were simply not getting fully initialized from the Profile data -- frankly I'm not sure how anything was working at all, but it should be working better now. Untested: Honor Default Profile when importing buildfile. This should just work fine, but because of time constraints today, I can't test it adequately. Check it out. Updated test_icons file to the new --forked version since I'm running pytest --forked by default now. https://github.com/emersonrp/bindcontrol/releases/tag/v0.32-test2
  17. Cool, I'll try to roll those up for -test2. Edit: Oh I see that I already did the "no default movement key" thing for -test1.
  18. Ah good catch, yeah I'll get that for a -test2. I'm probably doing things in the wrong order during Profile initialization.
  19. I have released v0.32-test1, which contains the immense rework of the Profile data, as well as dozens and dozens of other changes around the edges. It's almost certainly buggy. Check it out if you feel brave, and report bugs as you find them. Important: BACK UP YOUR PROFILES. This release changes almost everything about how the Profile Data are handled in code, and so the chances of bugs accidentally altering your Profile in undesirable ways are pretty good. Let me know your luck with it. I'll be continuing to test it myself, and releasing further -test releases as we go. https://github.com/emersonrp/bindcontrol/releases/tag/v0.32-test1
  20. Muahaha. I'll probably roll up a -test1 of that in the next day or so. It's extremely likely to have bugs both gross and subtle, so be sure to back up your Profiles. The deep innards of how Profiles are represented inside BindControl have changed -drastically- and so has the logic for reading, writing, and parsing the profile files. That said, the actual -format- of the Profile files hasn't changed, so it should cheerily read and write files that v0.31 can use. Probably.
  21. I've gone ahead and re-released -test5 as v0.31.0.1 just to have a new 'latest' release out there. There's no change from -test5 apart from the version number.
  22. Ah excellent. Keep me posted, but all of that sounds like it worked. This is an interesting notion. On the Gameplay tab, there's a checkbox up in the tray section that does just that, decides whether to remove the "default" tray binds if you specify other ones, and a long-winded discussion of that behind the little [?] help button. I feel like I'd want to surface the team-bind thing as a similar preference, because I can see either behavior foiling expectations. The combined team/pet binds aren't -exactly- the same as just the select-teammate binds and so it might be that someone wants both behaviors and wants to assign the combined ones to a different set of keys. In general I'm a little leery of splatting things onto keys that aren't explicitly chosen in BindControl, but I totally see where you're coming from. I'll ponder how best maybe to make that a preference. It's also entirely possible I'm overthinking this. Ah this is an excellent observation. The "a default key is automatically assigned" behavior dates back to CityBinder, and yes wants some re-examination, I think. It would be easy just not to assign a keybind by default, and let the user dig around in the Movement Powers tab to assign one. Assigning one as default only if the power is detected in an imported build is actually a lot more work, as I don't currently parse the import file for anything except the Primary / Secondary / Pool / etc power sets, and ignore individual power picks. Being able to pre-set the "Has Combat Jumping" checkbox etc by examining the powers more closely seems like a win, so I'm going to take a look at this. But I'll probably just start with turning off the default keybinds for movement powers for new profiles.
  23. OK I have just pushed a -test5, which fixes the completely embarrassing bug about "Duplicate Bind" versus getting collisions of the binds' Custom ID fields, which would cause badness when the binds were written. Profiles saved with the bug will auto-heal when loaded and re-saved, so everything's fine once we get this out there.
  24. Oh man I have also just found a bug with Complex Binds that I need to fix before you try to write out and use those binds -- they're just not gonna work for the moment. This is the sort of thing I'm hoping to avoid with the giant rewrite to make things more testable. I'm on it, meanwhile, feel free to keep tinkering with those, but they're not gonna work in-game until I fix this.
  25. Heh. I mean, pathological use cases are still use cases... 😉 Anyway, I have just shipped a -test4 up to Github. Assuming Windows Defender plays nice, I'm 90% sure this is going to fix all of this, including the Default Profile thing, which is I believe a symptom of the same problem. Check it out if you can. It should save -dramatically- faster, and should not run into this "too many entities oops the window went away etc," the only small downside being that it might be a titch slower to open the PowerBinder edit dialog. Let me know your luck. (Edit: but the upside to the downside is that it'll probably also open the Profile, and therefore the app, a bit faster.)
×
×
  • Create New...