Since the entire GUI is set to automatically hide when a controller is connected, this should allow users to be able to show the keyboard without needing to rebind keys. Can also lead to removal of the keyboard button itself since that is no longer needed. More gesture recognizers for other buttons (Debug, Fullscreen, etc) may come in the future.
- Finish joystick view
+ Finish forward lock
+ When in menu, oystick can be used to move the virtual mouse
- Finish conditonal visibility
- Replace Make Default with Load
- 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)
- Cleanup unused parts
- Cleanup complicated dictionary constructions
- Fix lag spikes during scrolling in this screen
Allow audio settings to be changed ingame
Rewrite the control safe area system:
- Use UIEdgeInsets instead of CGRect (breaking change!)
- Auto change depending on orientation (not really consistent yet)
The safe area is reset to reflect this breaking change.
News
- Added text input support for jar launcher.
- Updated MoltenVK to https://github.com/KhronosGroup/MoltenVK/commit/d880f4c
Internal changes
- Added more handling cases to avoid missing call to pojav_initOpenGL()
- Moved custom control’s global functions and properties to ControlLayout.
- Moved dylib framework outside its folder, as it’s not necessary to be bundled in framework.
- Reusing custom controls to produce flexible buttons in jar launcher, which might be extended in the future.
Fixes
- Multistage text input (Japanese, Chinese, etc) should now work again.
- Pointer lock should now function properly again.
- Updated README.md to reflect current stuff
- Change setNeedsUpdateOfPrefersPointerLocked logic to hopefully fix
issues with mouse not recognizing on iPhones
- Change reloadVersionList logic to load Installed version list
instantly at startup
- Enable game's CALayer opaque and drawsAsynchronously to improve
rendering performance
- Handle natives_directory variable for legacy modded versions
- Set LD_LIBRARY_PATH to silent Caciocavallo NPE error in locating
Android-only code
- Tapping Play when no version selected will now bring up the version
picker instead of doing nothing
- First changes for tvOS (very WIP) this will be a challenge to use
remote storage as ATV doesn't allow persistent storage (at least
without jailbreak). Low priority for now.
- Change regLog, debugLog to NSLog, NSDebugLog
- Rewrite most of JavaLauncher.m to ObjC
- Update README.md
This allows home indicator to be hidden again, usually useful for users
who play with external controlling device without having to use Guided
Access.
Changed icon of some settings.
Home indicator, status bar and screen edge lock is now based on side
menu visibility.
Duplicated init caused views to be messed up when safe area is set. This commit removes the duplicated line as a part of the undo commit d01d616.
Also fix some spacing issues
When Cr4shed crash handler is on, chaining to it will eventually crash
instead of returning so that JVM can continue perform dump. For now,
signal handlers are reset to default.
abort() is now caught and shown in the launcher.
Temporarily disabled safe area when windowed, until I can properly set
it up, in order to workaround buttons going out of bounds.
This commit should fix its core issue, so the workaround is removed.
For a while, UITextField variable was named `inputView`, which is same
as the name UIKit used to query custom input view. It was not until
recently that the crash started occurring on my device.
Other fixes (for LogView):
- Line indentation in SurfaceViewController+LogView.m:214
- Navigation bar size: now call sizeToFit