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
It's slowly getting too big, so I have to split, module-like organized.
- Category LogView (Log output, just added)
- Category Navigation (drawer menu)
- TrackedTextField
- 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
For now, this only works properly on Minecraft 1.13+. Older version
doesn't seem to get the new resolution (will be fixed later)
Additional changes:
- Make ingame settings background transparent
- Set prefersHomeIndicatorAutoHidden to YES
Added UIRequiresFullScreen for iPad
Only force full navigation bar height on iPhone
The Virtual mouse preference can now be set by the toggle button
Use UIColor.whiteColor instead of RGB 255/255
Use arm64e-supported fishhook fork
Text input is now far more stable with keyboard autocompletion and
typing extra stuff (marks).
Improved cursor movement: allows dragging farther.
Additionally, the text field is now made visible on the side menu.
Known issue that still persists: if the trackpad's cursor (by 3D
Touch/spacebar) is moved too fast, it will not synchronize with game
In other side, a bug fix: symlink fails, because the `Application
Support` folder was not created.
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
Before launching game, SurfaceViewController is set to UIWindow.rootViewController, making it similar to "Restart before launching" in order to *attempt* to find out why touchscreen input does not work on certain devices. The restart option is still kept for debugging purpose.
Some other tiny code tweaks
Makefile: fix path
Moved GameSurfaceView to a separate class
Renamed MinecraftDownloader to MinecraftResourceUtils
Fix: Some versions fails because GLFW_CLIENT_API is not set
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