There was a pull request for glfw (the underlying library that raylib uses) to add callbacks for controller inputs, but the code was from a few years ago, but turns out it was simple to fix the merge conflicts so I did. Controller input wasn't planned for this but getting that working allowed controller inputs to be as responsive as keyboard inputs.
- Controller now functions. Bindings are set in a separate menu for now until I can find time to rework the UI entirely.
- Mirror mode, mirrors the chart, lane 1 is lane 5 and lane 5 is lane 1.
- Invalid lift notes (lifts where it's just the marker) get removed.
- Releasing the overdrive key while a note is held and the key for that lane is held no longer results in the hold being dropped.