- 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)
There is a bug in this where the text can become "sticky" and stay the same when rotating if the sidebar is opened but no rows are selected (meaning that the app just finished launching and LauncherNewsViewController is still presented by LauncherNavigationController.) More needs to be done to fix this little bug, however it does not hinder the usability of the account button or anything else in the launcher so I'm pushing it now to fix later.
Basically consists of pushing the LauncherNewsViewController from LauncherNavigationController when the app first starts up, and setting the navigation bar items from the LNVC class. This commit also moves the account button to the right of the bar, removes the profile name outside of the list view, and does not appear on the Settings view. Removes the hidden sidebar option in favor of always hidden. Moves PID to the bottom of the General section footer. Tested on my iPad Pro (12.9-inch, 2nd generation), iPhone 14 Pro Max, iPhone 6s Plus, and iPhone SE (1st generation) over a grueling week of staring at code and banging my head against a wall. I'm going to bed now.
* Moved account selection to the secondary NavigationController
* Added logo to fill in the primary one
* Moved buttons to the sidebar:
- Custom controls
- Install jar
- Send logs
* Fixed object memory leakage in LauncherNavigationController
* Set fullscreen=false on startup, workaround < 1.13 resizing issue
* Reduced mouse_pointer size
TODOs:
* Add icons for new items, will prefer copying from the Android
version.
* Remove LoginViewController: integrate add account to the account
selector, move Techno text+check to sidebar, etc..
* Instead of separate Microsoft, Demo login; display demo warning
before MS login.
UISplitViewController is being used to create split menu.
Currently, autolayout is not yet done.
Added account switcher to the split view.
Fixes:
- auth_session parameter for legacy Minecraft versions
- Updating self.view background color is now automated by
UIColor.systemBackgroundColor