v1.3 - Input rafactor and custom bindings UI


Hi hi! Couldn't let 2023 pass without another FLAT update!

In v1.3, input handling has had a complete overhaul, adding a new InputManager class and InputAction abstraction to centralise processing of keyboard, mouse, and gamepad input. This concludes work started in v1.1 on saving/loading bindings from file, and standardises options to two bindings (primary and alternate) per input device type.

Alongside this work, the format for controls.rc has changed. The SettingsManager has been updated to check for old controls.rc files and handle backing up, importing, and then overwriting older files with the current format.

With gamepad axes now being processed as both axes and buttons, menus are navigable and axes can be bound to momentary actions like Heal. Gamepad support is now considered "complete" and enabled by default.


There's a new in-game Bindings menu accessible from the Settings menu, which allows primary and alternate bindings to be set for each action for keyboard, mouse, and gamepad.

I've updated the AudioManager to make volume settings feel more natural/properly distributed along the sliders. Previously, music ducking in menus was being applied as an absolute value rather than a value relative to the current music volume, resulting in the bottom half of the museum slider being silent in the settings menu.

Configuration files are now saved to an appropriate location in the player's home folder, which can be opened in a file browser using a new button in the settings menu. This location respects %XDG_CONFIG_HOME% on Linux, uses NSApplicationSupportDirectory on MacOS, and CSIDL_APPDATA on Windows.

  • ~/.config/flat/
  • ~/Library/Application Support/flat/
  • C:/users/username/Application Data/flat/

There are also a couple of crash and memory leak fixes in this update that could occur when resetting settings, or clicking into the game when mouse grab has been toggled off.

For a more in-depth summary, see the CHANGES file, or if you're keen on all the minutiae, check the commit log.

Enjoy!

Files

flat-linux-v1.3.zip 13 MB
Version v1.3-0-gee8636de Dec 30, 2023
flat-mac-v1.3.zip 11 MB
Version v1.3-0-gee8636de Dec 30, 2023
flat-windows-v1.3.zip 23 MB
Version v1.3-0-gee8636de Dec 30, 2023
flat-linux-v1.3.zip 13 MB
Version v1.3-0-gee8636de Dec 30, 2023
flat-mac-v1.3.zip 11 MB
Version v1.3-0-gee8636de Dec 30, 2023
flat-windows-v1.3.zip 23 MB
Version v1.3-0-gee8636de Dec 30, 2023

Get FLAT

Leave a comment

Log in with itch.io to leave a comment.