Commit Graph
1734 Commits
Author SHA1 Message Date
Duy Tran Khanh b53a38d694 Fix[picker]: adjust checkmark location 2023-07-25 14:44:52 +07:00
khanhduytran0 6ede0a3a71 [JIT] Ensure AltKit stops discovering before game starts 2023-07-18 13:35:53 +07:00
Eva Luna d10ec2221f [JIT] Fix macOS being incorrect detected as JIT enabled 2023-07-18 02:12:31 -04:00
Eva Luna 4df7c78dd1 [JIT] Fix issue with logic 2023-07-18 02:00:34 -04:00
Eva Luna af888219a5 [JIT] Remove AltKit disabling feature, as this is the only integration
For some reason on my iPad, isJITEnabled always returned true. This commit logistically should work, but it's technically untested.
2023-07-15 03:26:43 -04:00
Eva Luna 4eeb216ec5 [JIT] Remove support for JitStreamer and custom servers
The official JitStreamer servers were shut down a few months ago, and we haven't seen any reports of users self-hosting it due to the complicated setup required. Viable alternatives are AltJit, SideJit, and Jitterbug (just to name a few.)
2023-07-15 02:45:33 -04:00
Eva Luna 6cb039dc1b [UX] Fix: Whoops, I was outdated for the last commit 2023-07-15 01:54:31 -04:00
Eva Luna 49aee0a2e9 [UX] Fix haptics not being completely disabled 2023-07-15 01:51:03 -04:00
Eva Luna 9ba03b38ad Fix memory warning firing on every device
Uh... don't ask.
2023-07-15 01:40:03 -04:00
khanhduytran0 1ca1c0671e Feat: support AWT clipboard for 1.12.2 and lower 2023-07-14 08:21:36 +07:00
Duy Tran Khanh 3f3d405424 Fix #536: game never responds to Control key
Same as macOS, Minecraft expects Command key instead of Control key
2023-07-14 08:10:31 +07:00
Duy Tran Khanh c6e21b4f88 Fixes for LabyMod 4 (except the shader part) 2023-07-13 11:19:18 +07:00
Duy Tran Khanh 72edd15dfb Fix: potential crashes in profile mgr, wrong debug_logging category 2023-07-09 14:34:04 +07:00
Duy Tran Khanh b9d6e14015 Fix[gyro]: invert axis on upside down orientations
This commit fixes #570

Also fix gyro factor to match 1:1 ratio like the comment
2023-07-06 18:36:49 +07:00
Duy Tran Khanh 286f66452e Fix: settings crashes ingame, loses transparency
Fix: profile version key
2023-07-06 18:33:26 +07:00
khanhduytran0 aa90bea89c Fixes: local version list not reloaded; version name in error 2023-07-06 17:47:17 +07:00
khanhduytran0 094160fbee Fix[UI]: profile states on switch/delete 2023-07-06 16:15:41 +07:00
khanhduytran0 f34fb7f833 Fix: isolated preference initialization 2023-07-06 15:55:58 +07:00
khanhduytran0 12cca8506a Fix: null assets index 2023-07-06 14:08:04 +07:00
khanhduytran0 6cf61e62c0 Feats: preference isolation & profile management
- Rewrote LauncherPreferences -> PLPreferences
 + Now the file layout is the same as UI layout
 + (get/set)Preference are replaced with corresponding get/set types + Getting/setting is now done through keyPath instead of manually iterating over subdictionaries.
 + Implemented an isolation layer, allowing an instance to have its own settings. This is off by default

- Implemented launcher_profiles
 + Added Profile manager that can be accessed from the sidebar
 + Moved "Game directory (instances)" to this screen
 + Replaced version selector with profile selector. Version selector is moved into profile editor.

- Other changes
 + Cleanup code by using NSPredicate instead of huge for loops
 + Titles in settings are made multilined
 + Controller config: replaced bar button items with localized ones

Due to how large the changes are, this is committed directly to the mainline branch. Bugs are expected to be found (although I did enough tests for this locally)
2023-07-06 13:59:07 +07:00
Eva Luna ab458a4599 Forgot the iPad Pros here 2023-07-03 23:34:43 -04:00
Duy Tran Khanh 3ee753dbd1 Refactor: split pref builder code, don't reinit views
launcher_profiles.json: set latest-release instead of unknown
2023-07-01 20:07:00 +07:00
Eva Luna 8fd768ce8c Remove references to the /r/PojavLauncher subreddit. 2023-07-01 01:29:37 -04:00
Duy Tran Khanh 6cd3d84218 Build: comment out uncommitted header 2023-06-30 16:16:10 +07:00
Duy Tran Khanh 6132c7dc53 Fix UI icons size
Makes icons size smaller

Refactor: clean instance file manager list code
2023-06-30 09:58:11 +07:00
Duy Tran Khanh c984d3cec5 Feat[logger]: report unhandled exception and assert 2023-06-30 08:35:51 +07:00
Duy Tran KhanhandDuy Tran Khanh 8d6d66dd94 Feats: external runtime, update LWJGL to 3.3.1 (#579)
* 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]>
2023-06-28 21:49:15 +07:00
Eva Luna df3c74a283 [README] Add tvOS support, iOS 17 note to readme 2023-06-22 00:45:02 -04:00
Eva Luna b7311975a1 Update Discord link 2023-06-22 00:35:41 -04:00
Eva Luna d54bcb59d4 [Makefile] Add XROS and XRSIMULATOR as vtool-able platforms
Uhhh... don't ask why.
2023-06-21 20:33:20 -04:00
Duy Tran Khanh 477d49d6b9 Fix(MSA): better URL parsing
This commit fixes #568: unexpected parameter "&state=" in "code"
parameter
M.C103_BAY.2.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&state=XXXXXXXXXXX

Another change includes a fix for not explicitly showing MSA error
message (also see #568)
2023-06-02 05:48:26 +07:00
Duy Tran Khanh ecbc15fa05 Fix(cacio): missing jni open functions 2023-05-29 15:10:45 +07:00
Duy Tran Khanh dc6dd283ab Fix(controls->dynamic_pos): add missing functions
Apple's NSExpression doesn't come with those functions by default,
while exp4j's ExpressionBuilder do. This commit adds missing functions
to fix certain controls fail to load.
2023-05-27 20:50:48 +07:00
Duy Tran Khanh dad9667a34 Fix(controls): drawer buttons not updating 2023-05-26 19:06:34 +07:00
Duy Tran Khanh fb75420503 Fix: random ClassNotFoundException LWJGL classes
Cleanup: remove unused code
2023-05-26 18:09:09 +07:00
Duy Tran Khanh 9fdfcf96e3 Fix: only reload controls when needed 2023-05-21 19:00:49 +07:00
Duy Tran Khanh feff1bdeff Reland: send esc on background enter
This used to be there before, but was accidentally removed.
2023-05-21 18:59:25 +07:00
Duy Tran Khanh fa58188c1f Fix(1.20): skip icons/snapshot/minecraft.icns
Same issue as 1.19, but the icon path changed.
Now it will skip downloading any files ending with "/minecraft.icns".
Fix the incorrectly provided icon path to delete.
Cleaner log by excluding "file doesn't exist" messages (assets)
2023-05-17 16:59:57 +07:00
Duy Tran Khanh b3422b3693 Fix: crash upon opening link ingame
Now weak-link with SafariServices instead of dynamically loading it
Uncomment window size callback in nativeSetInputReafy
2023-05-15 21:08:47 +07:00
Duy Tran Khanh 35dc75e69c Fix: 0x0 window if getter called before input ready 2023-05-15 19:28:32 +07:00
Duy Tran Khanh 91eb8725bb Move nativeSetInputReady to native code 2023-05-15 19:26:01 +07:00
Duy Tran Khanh 0839764694 Change picker's UIMenu style 2023-05-15 09:33:22 +07:00
Duy Tran Khanh 8aa3983bee Use UIMenu for presenting settings' picker view
Enforce compiling for Apple A8
Fix -fcommon cflag
Unset LIBGL_MIPMAP=3
2023-05-15 07:26:53 +07:00
Duy Tran Khanh ea767f7962 Makefile: add Mac Catalyst (PLATFORM=6)
Build for Mac Catalyst is mainly for debugging purpose on Apple Silicon
Macs.
2023-05-15 07:26:53 +07:00
Duy Tran Khanh 6b3d66a33f Workaround: stack guard allocation failures leading to crashes
Enable DisablePrimordialThreadGuardPages by default
2023-05-13 15:53:56 +07:00
Eilionoir Tunnicliff ee1f2971fa Reorganize LauncherPreferences.m 2023-05-08 14:14:04 -04:00
Eilionoir Tunnicliff 4cff4dc949 Migrate environment variables to preferences view controller
Also, remove some more legacy code + make the migration code better
2023-05-08 13:49:52 -04:00
Eilionoir Tunnicliff e75858a545 Whoops x2 2023-05-08 12:18:34 -04:00
Eilionoir Tunnicliff baed105354 Switch upload step to @v3 from @v2 2023-05-08 12:17:57 -04:00
Eilionoir Tunnicliff 0c1c6f9ed8 Whoops 2023-05-08 12:10:53 -04:00