Author Topic: Sharing your profiles  (Read 374 times)

Burnhaven

  • Newbie
  • *
  • Posts: 3
Sharing your profiles
« on: September 04, 2024, 05:25:33 AM »
Sorry for the newbie question.  With something like DCS you obviously have key bindings in the game which can be employed in VoiceAttack, but if you share your profile I'm assuming the recipient has to do the work of matching your gaming bindings, which is going to add quite a bit of time to the project.  Is that how "sharing" works or is there some other magic solution.
DCS has both "diff lua" files showing how you've changed the default mappings and then you can export them to html. Perhaps someone trying to use another's VA profile can make use of those?

Pfeil

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4767
  • RTFM
Re: Sharing your profiles
« Reply #1 on: September 04, 2024, 06:57:02 AM »
Yes, logically, the target application needs to be configured to respond to the keypresses a given profile is sending.

There is no universal standard for assigning key bindings, so unless the profile author explicitly implements a means of retrieving that information from the target application (or writing it, in theory, but overwriting users' information is generally a bad idea), it has to be done manually.

Burnhaven

  • Newbie
  • *
  • Posts: 3
Re: Sharing your profiles
« Reply #2 on: September 04, 2024, 07:07:45 AM »
Thanks

SemlerPDX

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 281
  • Upstanding Lunatic
    • My AVCS Homepage
Re: Sharing your profiles
« Reply #3 on: September 04, 2024, 01:24:02 PM »
Thanks

When possible, when the game config file containing key binding assignments for a game is not binarized (or otherwise protected) and can be opened and parsed, we can design systems into public VoiceAttack profiles we share to read these files and use those keys in keypress variables for all the various actions throughout the profile, rather than hard coded constants that may not match what users have set.

Obviously, this is an advanced process, and certainly helps to have some programming experience, but I've been able to do this for my own personal profiles for many games including Red Dead Redemption 2 - having a bit of logic that can watch this file for changes can ensure that the profile keeps up even while the user is playing and edits settings in real time while the VA profile for that game is active.  On that note, rather than reading the config file at a set interval and checking if anything changed, it would be more efficient to simply hash the config file, and use that hash to compare to subsequent file hash of the config performed at a set interval to monitor for file changes.  In this way, we only perform a more programmatically intensive task of reading and parsing the file to gather altered/changed/new keybindings if it has actually changed.

I just wanted to note that this is often possible depending on the game, given a little work and knowhow.  In fact, one of the first such popular public utilities for VA was the BindED plugin by Gary (the developer of VoiceAttack) to allow us Elite Dangerous players to access a number of keypress variables gathered from the users own keyfile for any actions in the VA profile.  It is still around and still popular - now forked, improved, and maintained by alterNERDtive.

Hope that gives you some ideas.

Best wishes and good luck!

Burnhaven

  • Newbie
  • *
  • Posts: 3
Re: Sharing your profiles
« Reply #4 on: September 05, 2024, 05:36:47 AM »
It just occurred to me that DCS ( Digital Combat Simulator) stores "lua" difference files when you modify the default keyboard/mouse/controller bindings.  I'm pretty sure someone getting my voice attack profile could load these in DCS so their bindings match. (I'm not trying to use voiceattack with the joystick....seems like some articles here suggest it's possible but I'm not sure I need to jump through those hoops yet)
 Importing the "diff lua" files should be pretty seamless with the keyboard and mouse but if they have a different joystick/controller then not, but most of those don't have that many buttons anyway.

Of course many will have specific bindings they like ( say they want the space bar to apply brakes where I have it doing something else.)