* Feat: external runtime manager
Currently missing: mmap hook
* we're past this ui todo
* feat: Bypass Library Validation (untested)
This bypass works because of JIT enabled, so the process can patch
anything loaded in the memory. Unsigned dylib works with JIT too.
* Fix `could not get real path` on iOS 14.x
iOS 15+ is untested, it may need patching in dyld instead of libSystem
* Make redirectFunction syscall-friendly
Replaced builtin_mprotect and vm_protect with a simple syscall to
_kernelrpc_mach_vm_protect_trap
* Add dyld hook back for iOS 15+, auto symlink xawt lib
* Cleanup Tools.java:showError+comments
Use System.exit(1) to drop to Game Exited screen instead of presenting
alert dialog on exception handled.
* Patch both to bypass codesigning at best
* Proper way of ignoring SIGBUS during patch
Turns out other background thread might also be calling inside dirty
page, so let's SIG_IGN them all until page permission is back to RX.
* Feat(install jar): auto detect java version
Rename Default version to Preferred version to match the behavior or
Install .jar detection: only override if selected version > required
version.
Add UnzipKit just to check jar file
Refactor(showDialog): remove viewController parameter, now use its own
ViewController to present.
* Feat: update LWJGL to 3.3.1
(tinygl4angle) add alias for GL_KHR_debug functions
Include nanovg for OneConfig mod
Move all LWJGLX classes to lwjgl3 repo
Set org.lwjgl.util.NoChecks=true to improve performance
* Fix: Forge 1.20 crashes (wrong artifact path)
Now use json-provided artifact path instead of generating one
Make lwjgl fat jar again
* Fix: handle null library artifact
* Fix: fatal glfw callback cleanup
* Build: fix copying LWJGL libraries
* Perf: set default settings
* Fix: incorrect SolClient useStackQueue check
* Feat: builtin runtime installer
Refactor parts of LauncherNavigationController.m
Workaround(LogView): disable animation on update to mitigate overload
* Fix: random game directory failures
This is caused by having current working directory unchanged after
re-making symlink.
* Fixes: TL-style artifact, update arc_dns_injector
Change pojavInit names
* Fix: 1.13+ isUseStackQueueCall check
* Build: update liblwjgl.dylib in attempt to fix ffi_closure_alloc
* Fix and improvements to the logger
- Dynamically get stdout/stderr fileno instead of fixed value
- Improve file migration logging
- Improve dyld bypass logging
* Fix(pickers): file permission issue
---------
Co-authored-by: Duy Tran Khanh <[email protected]>