Modding Discussion Overwrite default/set keybinding

Discussion in 'Starbound Modding' started by THAU, Sep 16, 2014.

  1. THAU

    THAU Scruffy Nerf-Herder

    I would like to create some smalls mods to change from QWERTY to AZERTY keyboards and for linux support.

    As of nightly build, keybinds can't be overwriten by mods because starbound.config and bootstrap.config can't be patched by mods.
    Comparing to actual stable version, there is no more default_configuration.config, there are instead in bootstrap.config


    Basicly an AZERTY mod for games like starbound that would keep developpers decisions would be like that :

    starbound.config.patch
    Code:
    [
      { "op" : "move", "from" : "/keyBindings/A", "path" : "/keyBindings/_" },
      { "op" : "move", "from" : "/keyBindings/Q", "path" : "/keyBindings/A" },
      { "op" : "move", "from" : "/keyBindings/_", "path" : "/keyBindings/Q" },
      { "op" : "move", "from" : "/keyBindings/Z", "path" : "/keyBindings/_" },
      { "op" : "move", "from" : "/keyBindings/W", "path" : "/keyBindings/Z" },
      { "op" : "move", "from" : "/keyBindings/_", "path" : "/keyBindings/W" }
    ]
    or

    bootstrap.config.patch
    Code:
    [
      { "op" : "move", "from" : "/defaultConfiguration/keyBindings/A", "path" : "/keyBindings/_" },
      { "op" : "move", "from" : "/defaultConfiguration/keyBindings/Q", "path" : "/keyBindings/A" },
      { "op" : "move", "from" : "/defaultConfiguration/keyBindings/_", "path" : "/keyBindings/Q" },
      { "op" : "move", "from" : "/defaultConfiguration/keyBindings/Z", "path" : "/keyBindings/_" },
      { "op" : "move", "from" : "/defaultConfiguration/keyBindings/W", "path" : "/keyBindings/Z" },
      { "op" : "move", "from" : "/defaultConfiguration/keyBindings/_", "path" : "/keyBindings/W" }
    ]
     
  2. Why are you making a patch for it when you can just overwrite the values directly and save the file? Its in there out in the open for a reason.
     
    The | Suit and Tsunder like this.
  3. THAU

    THAU Scruffy Nerf-Herder

    This is more a request to give the possibility to put patch in mods for bootstrap.config and starbound.config or bring back to default_configuration.config
    Simply because when somes changes are made in original configurations when updating it could :
    • Overwrite your changes, so you must change again.
    • Or update your changes and don't know exactly what to do ( if CockpitLeft was newly added it would be added in A with PlayerDropItem and not with PlayerLeft)
    • Or keep your changes but crash because a specified action don't exist
    • Or keep your changes but yoou can't use a newly added action binded to a key
    Also if for some reason I change something else and starbound think I've make an error, it would regenerate the file entirely, so :
    • I must redo everything from scratch
    • Or must correct my error in starbound.config or bootstrap.config
    It also permit to have settiings separated from main and generated files.
    And finally it would permit to correctly swap keys depending to new actions without even knowing them.
     
    severedskullz likes this.
  4. While what you said is very well thought out, I have yet to see the Steam Updater make changes to modified files where the checksums do not match a previous version. Steam's updater will only update files where it matches a known previous version (As far as I am aware) so if there is a conflict it will not touch it. This is exactly why you have to delete your starbound.config when switching to nightly and re-validate files with steam. Therefore the problems you mentioned - while still valid - should not occur between updates except the case where new controls are implemented.
     
    Last edited: Sep 16, 2014
  5. THAU

    THAU Scruffy Nerf-Herder

    For starbound.config, this is not steam that is in charge of generating it, but starbound itself.
    For me the problem is the same, I don't want to rewrite my starbound.config everytimes something has changed on steam. I've talk about keybinding, but the problem ocur for server, resolution, zoom, sound volume ...
     
  6. The | Suit

    The | Suit Agent S. Forum Moderator

    These issues are only temporary until the game comes out.
    Creating patch modifications for a feature which no longer will be needed at that time, is simply a waste of time and resources.
    In my opinion I don't even think they should have supported backwards compatibility of characters. They waste time in each patch writing up code to make it compatible.
     
    Boshed likes this.
  7. THAU

    THAU Scruffy Nerf-Herder

    I don't understand exactly of which features you are speaking about ?
    And by taking example of minecraft, forge, bukkit are not needed because they are planing a modding API ... but for three years ... having peoples making mods is not a waste of time, these are quick fix before a feature finally comes out.
     
  8. The | Suit

    The | Suit Agent S. Forum Moderator

    You speak of something of convenience in comparison to those of those that add new features for other mods.
    ==
    If you speak of a separate tool that generates code - that is a different story.
    There are many tools here - which you can take reference code from. Which will help as a stepping stone for generating such files.

    But to have native support from developers at this time for such a thing - would be an unfortunate waste at this time.
     
  9. THAU

    THAU Scruffy Nerf-Herder

    For me making mods for fixing features is a good reason to make them because fixing a feature mean for me having a usable feature, so add a usable feature.
    For minecraft I'v made very smalls mods for a lot of things, they where generated by a tool I've created :
    • make the ยง character usable so making formating usable in chat,
    • filter resources packs in alphabetical order.
    • removing the limit for clone and fill commands
    • fixing ambiant occlusion and texture bugs
    • ...
    I'm not speaking of a tool or something to generate code, I'm speaking of something that was posible before the nightlys, making mods on default configurations.
    The patching system is really interesting because it permit to make mmodifications even if the file have been changed by another mod or is in another version. Removing this possibility for some files that changes everytimes a new version comes is a bad idea for me.

    I really don't want tools for easing me to configure my controls, It would take the same amount of time as if I edit the starbound.config myself.
     

Share This Page