Fix a check on replacing JNA, add a missing function.
These are sufficient for 1.21-pre1 for now as it's requiring LWJGL
3.3.3, which will be updated later.
* 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]>
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
Might aswell add an option to optionally use this instead of the system
color picker on iOS 14+. Used library: Alderis
Other changes
- [Custom controls] The editor is now fullscreen due to the
presentation of the color picker.
- Fixes scroll wheel input is always int
- Input cursor movement seems too fast, attempt to reduce it by setting larger font size in the hidden text field.
- latestlog.txt doesn't log in 1.12+ since Log4j patch. Fixed by adding some config lines.
- Makefile: building is broken when run make from a path with space(s). Fixed by handling spaces with backslashes.
- text2speech is not overridden properly. Fixed by excluding it from download list and adding launcher.jar itself to the classpath.
- XML log output in < 1.12 since Log4j patch. Fixed by using our own configuration file.
Some more changes:
- Commented out a debug line in LWJGLX
- Fix a typo.
- JavaLauncher: use (ObjC)BOOL instead of (std)bool.
New class: TrackedTextField. This class keeps track of the pointer in the text field. The hidden text field now has 40 placeholder spaces and the pointer is placed at the middle. When typing, placeholder spaces won't get removed as before. Autocorrect seem to be broken a bit for now.
Additional changes:
- Added missing GLFW functions (array version of other functions)
- Hotbar handling: doubled barWidth and barHeight
Bug fix:
- Touching onto the hotbar breaks the handling of on-screen tap/long-press gestures
* Multitouch handling, allows one of these actions below to work with
moving camera at the same time.
- Switching hotbar slot; might not work properly
- Destroying block (left mouse button) with another finger
long-pressed (without pressing the PRI button)
- Right mouse trigger with another finger tapped onto the screen
(without pressing the SEC button); not working properly yet
* Sub-pixel cursor support; not yet checked
This took so long since there was a failed attempt in unloading and
reloading JVM to support Forge 1.17.x. Next attempt would be rewrite
everything to Objective-C and move the JVM entry point to the start of
the game.
- libpojavexec.dylib is now PojavCore.framework.
- More changes for Zink renderer. Note that Mesa 21.0 is included instead of 21.2.1 due to the new version seems to be broken, only display glClearColor.
- Avoid printing "Session ID". Several Minecraft versions do that.
- Fixes Minecraft 1.13 snapshot due to the usage of LWJGL functions from an older version.
- Minecraft's built in Fullscreen Resolution scaler is available now, but not working properly.
- Regal internal changes (still fail at )