writeini clears binds from currently loaded mods
Moderator: GZDoom Developers
Forum rules
Please construct and post a simple demo whenever possible for all bug reports. Please provide links to everything.
If you can include a wad demonstrating the problem, please do so. Bug reports that include fully-constructed demos have a much better chance of being investigated in a timely manner than those that don't.
Please make a new topic for every bug. Don't combine multiple bugs into a single topic. Thanks!
Please construct and post a simple demo whenever possible for all bug reports. Please provide links to everything.
If you can include a wad demonstrating the problem, please do so. Bug reports that include fully-constructed demos have a much better chance of being investigated in a timely manner than those that don't.
Please make a new topic for every bug. Don't combine multiple bugs into a single topic. Thanks!
-
- Posts: 3886
- Joined: Fri Feb 08, 2008 9:15 am
- Preferred Pronouns: She/Her
- Operating System Version (Optional): (btw I use) Arch
- Graphics Processor: nVidia with Vulkan support
- Location: Vigo, Galicia
writeini clears binds from currently loaded mods
Using the writeini command (and by extension "Save current settings" in the options menu) appears to clear the bindings of any loaded mod that uses addkeysection in KEYCONF.
-
- Posts: 3886
- Joined: Fri Feb 08, 2008 9:15 am
- Preferred Pronouns: She/Her
- Operating System Version (Optional): (btw I use) Arch
- Graphics Processor: nVidia with Vulkan support
- Location: Vigo, Galicia
Re: writeini clears binds from currently loaded mods
Updating this, because "Browse Game Config" causes the same issue as well.
-
- Posts: 2038
- Joined: Thu May 02, 2013 1:27 am
- Graphics Processor: nVidia with Vulkan support
- Location: Brazil
Re: writeini clears binds from currently loaded mods
One important detail to note is that the binds are only cleared in-game- They are indeed saved correctly to the INI, they just get wiped from the game in the process. (Then consequently get wiped from the INI too once you close the game)
The "Browse Game Config" option causes this because it also saves the game.
Some quick investigation points to ArchiveBindings as the likely culprit for this bug. The comment right before it also kinda points to that being the case:
The origin of this code is this commit from... 2009.
How has this bug never been reported and/or fixed during those 13+ years? O_o
The "Browse Game Config" option causes this because it also saves the game.
Some quick investigation points to ArchiveBindings as the likely culprit for this bug. The comment right before it also kinda points to that being the case:
Code: Select all
//=============================================================================
//
// This function is first called for functions in custom key sections.
// In this case, matchcmd is non-null, and only keys bound to that command
// are stored. If a match is found, its binding is set to "\1".
// After all custom key sections are saved, it is called one more for the
// normal Bindings and DoubleBindings sections for this game. In this case
// matchcmd is null and all keys will be stored. The config section was not
// previously cleared, so all old bindings are still in place. If the binding
// for a key is empty, the corresponding key in the config is removed as well.
// If a binding is "\1", then the binding itself is cleared, but nothing
// happens to the entry in the config.
//
//=============================================================================
How has this bug never been reported and/or fixed during those 13+ years? O_o