Commit Graph
48 Commits
Author SHA1 Message Date
Duy Tran Khanh e5018cc094 Bug fix: Fabric 1.17+ crash at startup(fixes #304)
Microsoft account now set accountType to msa.
Minor change in custom control view controller.
2022-02-05 16:47:04 +07:00
khanhduytran0 fbde4948d5 Various bug fixes
- 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.
2022-01-17 08:18:06 +07:00
khanhduytran0 b6f552df85 Keyboard + Mouse input handling; some cleanups
* 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).
2022-01-04 09:55:47 +07:00
Duy Tran Khanh 8624e54630 Bug fix: NPE when setting inherited fields
Unable to insert id=null
java.lang.NoSuchFieldException: id
	at java.lang.Class.getDeclaredField(Class.java:2070)
	at net.kdt.pojavlaunch.Tools.insertSafety(Tools.java:544)
	at net.kdt.pojavlaunch.Tools.getVersionInfo(Tools.java:466)
	at net.kdt.pojavlaunch.PLaunchApp.launchMinecraft(PLaunchApp.java:61)
	at
net.kdt.pojavlaunch.uikit.UIKit.callback_SurfaceViewController_launchMi
necraft(UIKit.java:104)
	at net.kdt.pojavlaunch.uikit.UIKit.launchUI(Native Method)
	at net.kdt.pojavlaunch.PLaunchApp.main(PLaunchApp.java:40)
2022-01-02 06:25:40 +07:00
Duy Tran Khanh 33b00e417c Fix a NullPointerException when launching ≤ 1.6.4 2021-12-26 05:43:14 +07:00
Adam Tunnic 0b643476f4 WIP Demo mode stuff
Sign in with a Microsoft account that doesn't own the game, demo_user will be made. This is very much WIP as my iPhone 7 doesn't feel like launching PojavLauncher.
2021-12-15 13:14:48 -05:00
Duy Tran Khanh 7d527942a2 Completely fix Log4J RCE (1.7-1.16.5) (not yet tested)
TODO: checker with SHA1
2021-12-13 20:50:42 +07:00
Duy Tran Khanh 4f59e0ffff PojavCore is now inside the main executable
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.
2021-10-01 11:14:05 +07:00
Duy Tran Khanh 7fb5b55d8b Override JNA to 5.8.0
This fixes LabyMod 1.8.9 crashing.
2021-09-27 11:06:15 +07:00
Duy Tran Khanh cad4f47454 Fix parsing Java version "17-ea" 2021-08-24 14:02:06 +07:00
doregon 15a6cf0acf MultiMC-like instances:
- 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
2021-08-24 02:56:00 -04:00
Duy Tran Khanh fe5f9e77a9 Changes
- 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.
2021-08-13 07:25:17 +07:00
Duy Tran Khanh f2566e3da5 Basic mod installer implementation 2021-08-03 16:06:32 +07:00
Duy Tran Khanh 8f5059e741 Changes
- [Custom controls] Removed control size limit, prepare custom controls
screen.
- [Jailed] Use  directory as home instead of

- [Preference] Added "button scale"
- [Preferences] Moved into launcher_preferences.plist
2021-07-17 07:18:03 +07:00
Duy Tran Khanh be1646c8ce Now this can be installed as an IPA :trollface: 2021-07-02 20:05:59 +07:00
Duy Tran Khanh 7ac5f2d163 Java Runtime loading changes
Allow changing Java Runtime with JAVA_HOME environment variable.
Support Java 8 libjli location (`lib/jli` instead of `lib`).
2021-07-01 12:52:59 +07:00
Duy Tran Khanh f4503692fe Fixed dex2jar error on Minecraft 1.17
Removed the built-in Apache Commons library which was not fully
converted from dex to classes.
2021-06-04 10:46:52 +07:00
Duy Tran Khanh b5c4e9ef1d Changes
- Cleaned some unused codes
- Set client brand name
- Set window size correctly(?)
2021-06-03 07:15:38 +07:00
Duy Tran Khanh d811cf9e5a Add gl4es 1.1.5 along with rename gl4es 1.1.4 2021-03-02 12:40:41 +07:00
Duy Tran Khanh 7a62c8e1af Custom ClassLoader (attempt fix Forge and Fabric) 2021-02-18 15:57:24 +07:00
Duy Tran Khanh bd7f9917d4 Disable writing currargs_generated.txt 2021-02-14 12:13:36 +07:00
khanhduytran0 968a945b65 Fix compile errors 2021-02-11 08:30:40 +07:00
Duy Tran Khanh aef99100ef [WIP] Mojang auth 2021-02-10 20:58:43 +07:00
Duy Tran Khanh 9881949f30 [WIP] Login UI, no functional yet 2021-02-08 18:21:54 +07:00
Duy Tran Khanh d927536d44 Update Tools.java 2021-02-08 05:07:01 +07:00
Duy Tran Khanh f6e090e055 Fix debug at library override 2021-02-08 04:42:41 +07:00
Duy Tran Khanh 3a21427095 Add more debug logs, for #21 2021-02-03 19:32:06 +07:00
Duy Tran Khanh edc3d962ef [WIP] Add download assets 2021-02-02 06:16:07 +07:00
Duy Tran Khanh 6059ff3c1e Uppercase 2021-01-17 19:33:06 +07:00
Duy Tran Khanh 68d8e131d3 Back to AppClassLoader, try to fix class loader 2021-01-17 18:15:31 +07:00
Duy Tran Khanh fb142e67a6 Something wrong with window size... 2021-01-07 06:11:16 +07:00
khanhduytran0 62fde952c2 Try javafx again 2021-01-05 20:44:50 +07:00
Duy Tran Khanh 96a1158e3e Stills try to get Minecraft run on separate thread 2021-01-03 14:15:34 +07:00
Duy Tran Khanh 667606898a Fix build 2021-01-02 19:19:17 +07:00
Duy Tran Khanh 9d0901e8d0 Back to main thread 2021-01-02 18:54:07 +07:00
Duy Tran Khanh 06802c7077 Try run on diff thread 2021-01-02 18:45:45 +07:00
Duy Tran Khanh 3af16dd226 Try Minecraft on main thread 2021-01-01 19:21:24 +07:00
khanhduytran0 2701d13425 Add LWJGL3; Add GLFW source to merge CallbackBridge.java 2021-01-01 18:24:32 +07:00
Duy Tran Khanh a690be4d1b Fix: argument type mismatch 2021-01-01 17:22:32 +07:00
Duy Tran Khanh f3a2dad6dc [Test Minecraft on other thread] Compile fix 2021-01-01 14:04:49 +07:00
Duy Tran Khanh 056ab4e7a8 Back to launch on main thread 2021-01-01 13:57:34 +07:00
Duy Tran Khanh c95956a733 Add missing import; Test Minecraft on other thread 2021-01-01 13:57:01 +07:00
Duy Tran Khanh 21f5e03740 [Java side] Compile fix 2021-01-01 13:52:42 +07:00
Duy Tran Khanh c19f99c803 Add println, comment out a line 2021-01-01 13:39:04 +07:00
Duy Tran Khanh 6cac529d5b Load Minecraft use URLClassLoader 2021-01-01 13:37:06 +07:00
Duy Tran Khanh 1d9ff3b227 [Java side] Fix app paths 2021-01-01 13:16:43 +07:00
Duy Tran Khanh b9b1e76aca Change project structure again 2020-12-31 16:52:58 +07:00
khanhduytran0 3c371a10ed [Change project structure to remove RoboVM depends) 2020-12-31 15:03:15 +07:00