Commit Graph
1728 Commits
Author SHA1 Message Date
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
Eilionoir Tunnicliff 7e37dc567f Remove TOInsetGroupedTableView 2023-05-08 12:08:50 -04:00
Eilionoir Tunnicliff dc22673b06 Remove iOS 12/13 supporting code + Alderis
PojavLauncher 3.0 will require heavy modifications in order to work on those two iOS versions now.
2023-05-08 11:15:52 -04:00
Eilionoir Tunnicliff 0426c4ef32 Add option to disable on-screen haptics 2023-05-08 10:31:11 -04:00
Eilionoir Tunnicliff a10b052f8f Bump version
PojavLauncher 3.0 development begins now, with iOS 14.0+
2023-05-06 17:07:16 -04:00
Duy Tran Khanh d9877bc423 New Crowdin updates (#561)
* New translations Localizable.strings (Arabic)

* New translations Localizable.strings (Arabic)

* New translations Localizable.strings (German)

* New translations Localizable.strings (Romanian)

* New translations Localizable.strings (Japanese)
v2.2
2023-05-06 16:33:03 -04:00
Duy Tran Khanh 4edf445830 New Crowdin updates (#557)
* New translations Localizable.strings (Russian)

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (Russian)

* New translations Localizable.strings (Russian)
v2.2rc2
2023-05-05 23:21:43 -04:00