This is caused by a missing function in our class loader.
Error:
System class loader does not define the
appendToClassPathForInstrumentation method
Unable to add
/Applications/PojavLauncher.app/libs/arc_dns_injector.jar to system
class path - the system class loader does not define the
appendToClassPathForInstrumentation method or the method failed
FATAL ERROR in native method: processing of -javaagent failed,
appending to system class path failed
* fix that lol
* IPABuilder moment
* typo moment
* Hooking changes
Now hook only dladdr and realpath, JRE works now. However, need to obtain libffi.
* Sole more changes
Add RPATH to libraries
Hook dlopen since loading libawt_headless somehow point to Frameworks
directory.
* Update development.yml
* Update development.yml
Co-authored-by: Duy Tran Khanh <[email protected]>
Co-authored-by: Duy Tran Khanh <[email protected]>
- 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.
* Keyboard input: KeyboardInput.m
- Requires iOS 13.4. Used pressesBegan and pressesEnded.
- Not all keys are handled, these will be handled later.
* Mouse input
- Requires iOS 13.0 for hovering. Used UIHoverGestureRecognizer.
- Requires iOS 14.0 for L/R mouse buttons and scroll handling. Used GCMouse for now. We will use iOS 13.4(?)'s API later.
- Pointer lock is not yet handled.
These above apply to iPadOS aswell, not sure about tvOS. iPhone users need to disable "Perform Touch Gestures" in the AssistiveTouch Accessibility settings in order to get the pointer hovering to work.
* Cleanups
- Use asprintf instead of sprintf when possible
- CallbackBridge functions: removed unnecessary JNI fields.
- Condition cleanup (managing virtual mouse position).
This option allows the launcher to restart itself before launching the
game, therefore all changes are applied such as JVM Arguments and Java
version. The restart mechanism doesn't always work, so a toggle is
here for now.
* my brain hurts. let's keep going:
- iOS 15 packaging support
- rewrote the makefile to not copy and paste over and over
- dSYM generation in the makefile itself
- started working on ipabuilder in the makefile
* delete unneeded files
* delete unneeded files 2
* ahaha
* PojavCore.dSYM is a directory
* why am i such an idiot smh
* Update release.yml (#279)
* Add /usr/share changes, pt 1
* Fix old dir removal and migration
* Add check for already migrated + remove unneeded stuffs
* Remove free() from removed vars
* Fix workflow
* Fix Makefile
* Fix Makefile... again
* Add unjailbroken branch's IPABuilder
* Push what I have
* Push more changes
* control file stuff
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.
- Fixes#272
- Replaced MGLLayer with EGL calls
- Re-implemented Zink renderer to work with new Renderer selection system (currently hidden due to unfinished)
- now stores the minecraft directory in .pojavlauncher/instances/default
- configurable straight from the preferences
- migrates your existing minecraft folder to instances/default
- moves L/AS/m from Documents/ to .pojavlauncher/
- changes home directory to .pojavlauncher/
- automatically switches the L/AS/m symlink based on the current instance
- accounts stay the same between instances
- 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 )
- Added a check to prevent attempt to launch 1.17+ with Java 8.
- Added an option to disable gl4es shaderconv in order to let ANGLE
processes them directly. This option lets Minecraft 1.17+ work
without the patch resource pack, OptiFine works aswell :)
- Changing renderer library no longer requires restart the launcher.
- Fixed some alert dialogs not displaying.
- PList default values are now set every time it loads.
This builds fine, but does not yet run. I am committing so I can switch from CLion to my phone. Anyway:
- gl4es_libname is now in the plist
- working on java_home, that's the reason this code breaks
- javaHome_pre returns null rather than the intended string