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.
- Picker alert message now display settings description, if available
- TypePickField now have action property, replacing currently
hardcoded AppIcon check
- AppIcon.enableCondition is now based on
UIApplication.supportsAlternateIcons; removed respondsToSelector check
as it's unnecessary
- Correct Settings icon name
- Make both `Send your logs` and the share icon visible, no matter
about iOS version.
- Settings: Use Action Sheet instead of Picker View.
- Cleanup LauncherFAQViewController that was no longer used.
Couldn't test locally due to issues with the iOS 16 SDK included with Xcode 14. Pushing
this now so I can build and test with GitHub Actions as I await the download of an
older version of macOS to put on my MacBook again
- Rewrite UIMenu in LauncherPreferencesViewController.m to support disabling some options
- Disable Allocated RAM slider until the option is specifically toggled by the user
- Requires restart to show the slider due to the importance it presents
- raw_unjb_warn and ram_unjb_enable preferences
* Pull JRE Zero when compiling IPA
Also move dsym above ipa to make sure it's made
* Depend on dsym
* Disable certain preferences when unjailbroken
- Allocated RAM
- Java home (to be readded)
- Disable home symlink
* Add launch warning
* bruh
* bruh 2
* bruh 3
The version picker view now only display the selected type in one of
(Installed, Releases, Snapshot, Old-beta, Old-alpha). Toggling between
Releases and Snapshots allows jumping to the corresponding release or
the latest snapshot of the version.
The old IPA creation process: wrap every dylib files into framework;
this appears to be unnecessary, dylib files can be put outside without
breaking codesigning and validation (only tested with AltStore: it
scans and signs every Mach-O files).
Therefore, IPA builds now allow putting Java Runtimes to
`PojavLauncher.app/jvm`.
Makefile is yet tweaked to adapt this change, will be done later.
Other tweaks
- Disabled autocorrection for text fields in preferences
- The preferences now searches for installed JRE versions instead of
hardcoding them
- Bug fix: "accounts" folder was not created initially, leading to
"username.json does not exist" error
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
Makefile: fix path
Moved GameSurfaceView to a separate class
Renamed MinecraftDownloader to MinecraftResourceUtils
Fix: Some versions fails because GLFW_CLIENT_API is not set
- [Internal] Changed how setting current viewController work
- [Internal] Correct 018e46a: avoid duplicating code
- [Internal] Saving JSON now uses NSData to write directly
- Correct a check of the Launch .jar option
- Set the AWT window size for the game
Manually-specified Java version still applies to:
- Minecraft versions below 1.17 (default is Java 8)
- Minecraft version 1.17.x (allow choosing between Java 16 and 17)
Minecraft 1.19 support:
- Since 1.19-pre1, LWJGL 3.3.1 is used. However, LWJGL 3.2.3 still works with it, at least for this Minecraft release.
- Added a hack to skip calling to ObjC codes (skipped an asset file to skip setting the icon)
- JNA version replacing: now only change to 5.8.0 if version < 5.8.0
Internal changes:
- Cleanup: moved global functions to a new place
- Handle demo user correctly: actually authenticate the game with demo's access token and use the Xbox gamertag as the username
- Start moving strings to Localizable.strings (WIP)
- Re-wrote the Microsoft authentication and account management to Objective-C
- Assets downloading: added a tiny sleep call so that the UI won’t be frozen when too many tasks are executed at the same time
Renderers changes
- gl4es: `init_constructor` is now enabled, therefore moved the preload part to before `eglInitialize` (or EGL will be de-init after gl4es's hardware test).
- gl4es-extra (aka holy gl4es 1.1.4) is now used to replace the regular gl4es. This fixes VBO issue on version < 1.13 and some extra stuff. https://github.com/PojavLauncherTeam/gl4es-114-extra/commit/d6cf5c4
- Removed gl4es 1.1.5 and `Disable gl4es shaderconv` as it's unnecessary for now
- Removed vgpu, as it requires some missing extensions when come to shaders
User interface:
- The account selection list now displays the skin head (or the Xbox gamerpic if demo) and the account type
This is not yet finished, there are 3 main things left
- Make sure everything works
- (Assets) download old structure
- Cleanup
What are implemented?
- Downloading file is handled with AFNetworking
- SHA1 validation, can be turned off in Preferences
- inheritsFrom support (need testing)
- Downloading assets with 20 jobs parallel
Known issue
- Assets SHA1 validating freezes the UI
Additional things
- [Custom controls] Dynamic position error is now handled instead of just crashes
- [Custom controls] The editor animation is now changed to fade in/out (for now, later might change)
- VGPU renderer is now made hidden, since it's too limited on iOS, removal planned
- [Code cleanup] Use NSDictionary instead of a set of fields for renderer list; Fix wrong field name.
- Some more stuff...