- Rewrote LauncherPreferences -> PLPreferences
+ Now the file layout is the same as UI layout
+ (get/set)Preference are replaced with corresponding get/set types + Getting/setting is now done through keyPath instead of manually iterating over subdictionaries.
+ Implemented an isolation layer, allowing an instance to have its own settings. This is off by default
- Implemented launcher_profiles
+ Added Profile manager that can be accessed from the sidebar
+ Moved "Game directory (instances)" to this screen
+ Replaced version selector with profile selector. Version selector is moved into profile editor.
- Other changes
+ Cleanup code by using NSPredicate instead of huge for loops
+ Titles in settings are made multilined
+ Controller config: replaced bar button items with localized ones
Due to how large the changes are, this is committed directly to the mainline branch. Bugs are expected to be found (although I did enough tests for this locally)
Same keycode names as the on-screen editor to make it easier to identify the possible values. Xbox and PlayStation button names for familiarity. Saving configs handled by the Save and Exit buttons on the navigation bar.
Currently known issues:
- may be jumpy when cells reload or load onto the screen
- loading a new configuration file does not update the value of the cells
- loading a new configuration file does not update the "Controller configurator" item in the main Settings window
- both of these are solved by closing and reopening the view controller for now
- Move controller init code to a file for the controller configurator code I'm working on locally
- Add option to limit framerate to 60FPS on ProMotion-enabled displays
CallbackBridge: Properly handle key modifiers being passed to MC;
removed unused functions
KeyboardInput: replaced NSDictionary with C Array for faster access
Because GLFW_GAMEPAD_AXIS_LR_TRIGGER have the same constant values as
GLFW_GAMEPAD_BUTTON_LR_BUMPER, both get overriden to left/right mouse
button.
This commit also corrects Back, Start button mapping: tried to write
mapping to a wrong+uninitialized NSDictionary
- Controller: implement ticking, swapped thumbstick mapping to match
common usage
- External mouse should continue sending move while mouse button is
being held
- Tweak touch scroll velocity division to 100