124 Commits
Author SHA1 Message Date
Duy Tran Khanh a0cb1c0789 Rename renderer: tinygl4angle to ANGLE
This avoids confusion between Android and iOS version when mentioning
this renderer
2022-12-06 18:33:47 +07:00
Duy Tran Khanh b46cfcfc82 New debug option: auto correction
Sometimes autocorrection can be annoying, so there's now a toggle,
enabled by default to preserve behavior.
2022-12-06 18:21:31 +07:00
Eilionoir Tunnicliff e645cfcde8 Changes
- Refine WKWebView on notched devices (worked fine on my 7 as well...)
- Add iDevice model, iOS version, and install to General footer
2022-12-06 00:12:26 -05:00
Duy Tran Khanh f1da61ef26 New debug option: hide home indicator
This allows home indicator to be hidden again, usually useful for users
who play with external controlling device without having to use Guided
Access.

Changed icon of some settings.
Home indicator, status bar and screen edge lock is now based on side
menu visibility.
2022-11-29 19:17:10 +07:00
Duy Tran Khanh 6cb661801e Tweaks to LauncherPreferencesViewController
- Picker alert message now display settings description, if available
- TypePickField now have action property, replacing currently
hardcoded AppIcon check
- AppIcon.enableCondition is now based on
UIApplication.supportsAlternateIcons; removed respondsToSelector check
as it's unnecessary
2022-11-28 10:58:44 +07:00
Duy Tran Khanh 5752c2f086 Add version info to settings and log 2022-11-28 09:49:56 +07:00
Duy Tran Khanh 9fb149e25a Tweak: collapsable settings sections 2022-11-27 13:09:25 +07:00
Eilionoir Tunnicliff d01d616c06 Undo WIP SVC code + fix text in LPVC 2022-11-25 10:31:52 -05:00
Eilionoir Tunnicliff 8fe44a1aea Add alternate Dark icon
Feature request from a whiiiiiiiiiile ago
2022-11-25 10:22:27 -05:00
Duy Tran Khanh 1af09ca02d Tweak NSLocalizedString; Keep split display mode
Tweak NSLocalizedString to return English if not yet localized.
Keep Split display mode between rotations.
New debug option: skip JIT wait, for #423
2022-11-17 21:46:38 +07:00
Eilionoir Tunnicliff 0bd40dce62 Change icon for JitStreamer server setting 2022-11-14 17:18:24 -05:00
Eilionoir Tunnicliff cedbf1e7e5 Add custom JitStreamer server support
Closes #418
2022-11-13 14:54:11 -05:00
Duy Tran Khanh 8f8ec8df89 Cleanup some stuff 2022-11-13 09:15:24 +07:00
Duy Tran Khanh c44c987ee3 Minor UI tweaks
- Correct Settings icon name
- Make both `Send your logs` and the share icon visible, no matter
about iOS version.
- Settings: Use Action Sheet instead of Picker View.
- Cleanup LauncherFAQViewController that was no longer used.
2022-11-13 08:54:15 +07:00
Eilionoir Tunnicliff ab5bd8469e Changes
- Removed FAQ, About Launcher, and Update History buttons
- Moved *.png to Assets.xcassets
- Moved LPVC2 to LPVC
2022-11-10 00:03:37 -05:00
Duy Tran Khanh 022a8cae6f Remove v1 pref UI 2022-09-04 13:28:47 +07:00
Eilionoir Tunnicliff cbc7c569fa Merge remote-tracking branch 'origin/main' into wip-new-pref-ui 2022-09-03 19:29:14 -04:00
Eilionoir Tunnicliff cc69b4cbeb :bruh: 2 2022-09-02 23:27:05 -04:00
Eilionoir Tunnicliff 166f637a64 :bruh: 2022-09-02 23:25:58 -04:00
Duy Tran Khanh 83c54845b8 Get more settings to function 2022-09-02 15:45:18 +07:00
Duy Tran Khanh 9a5cee04c6 wip auto renderer 2022-08-18 08:09:46 +07:00
Eilionoir Tunnicliff 365cb1aa1a Merge remote-tracking branch 'refs/remotes/origin/main' 2022-08-17 02:54:31 -04:00
Eilionoir Tunnicliff 8f2ecc2476 Unlock java_home option when unjailbroken
Also prep code for Java 17 bundling

TODO: Allow building of ipa with different runtimes included
2022-08-17 02:54:22 -04:00
Eilionoir Tunnicliff 764f3e54c3 fix again 2022-08-14 00:19:01 -04:00
Eilionoir Tunnicliff ebb44336ad Fix slider option again wtf
I actually do need to go to bed
2022-08-14 00:11:51 -04:00
Eilionoir Tunnicliff e2571fe7b1 Actually implement Allocated RAM slider block 2022-08-13 23:54:17 -04:00
Eilionoir Tunnicliff cd95c1c071 Fix enable ram option now showing up 2022-08-13 23:18:52 -04:00
Eilionoir Tunnicliff 1a2ff210b5 Changes (untested)
Couldn't test locally due to issues with the iOS 16 SDK included with Xcode 14. Pushing
this now so I can build and test with GitHub Actions as I await the download of an
older version of macOS to put on my MacBook again

- Rewrite UIMenu in LauncherPreferencesViewController.m to support disabling some options
- Disable Allocated RAM slider until the option is specifically toggled by the user
    - Requires restart to show the slider due to the importance it presents
- raw_unjb_warn and ram_unjb_enable preferences
2022-08-13 23:04:13 -04:00
Eilionoir Tunnicliff 7a2550cd45 Update LauncherPreferencesViewController.m 2022-08-12 07:05:07 +00:00
Eilionoir Tunnicliff 3ce2ee901c Pojav INT Setup (#358)
* Pull JRE Zero when compiling IPA

Also move dsym above ipa to make sure it's made

* Depend on dsym

* Disable certain preferences when unjailbroken

- Allocated RAM
- Java home (to be readded)
- Disable home symlink

* Add launch warning

* bruh

* bruh 2

* bruh 3
2022-08-10 11:34:55 -04:00
Duy Tran Khanh 3db2926743 Moved type selections to segments in picker view
The version picker view now only display the selected type in one of
(Installed, Releases, Snapshot, Old-beta, Old-alpha). Toggling between
Releases and Snapshots allows jumping to the corresponding release or
the latest snapshot of the version.
2022-08-08 09:37:32 +07:00
Duy Tran Khanh ad9c6d482a Allow embedding JREs to PojavLauncher.app/jvm for IPA builds
The old IPA creation process: wrap every dylib files into framework;
this appears to be unnecessary, dylib files can be put outside without
breaking codesigning and validation (only tested with AltStore: it
scans and signs every Mach-O files).
Therefore, IPA builds now allow putting Java Runtimes to
`PojavLauncher.app/jvm`.
Makefile is yet tweaked to adapt this change, will be done later.

Other tweaks
- Disabled autocorrection for text fields in preferences
- The preferences now searches for installed JRE versions instead of
hardcoding them
- Bug fix: "accounts" folder was not created initially, leading to
"username.json does not exist" error
2022-07-25 20:54:41 +07:00
Duy Tran Khanh d8459effc0 WIP: New User interface
UISplitViewController is being used to create split menu.
Currently, autolayout is not yet done.
Added account switcher to the split view.

Fixes:
- auth_session parameter for legacy Minecraft versions
- Updating self.view background color is now automated by
UIColor.systemBackgroundColor
2022-07-22 08:02:40 +07:00
Duy Tran Khanh ee2c68fb98 Fixes
Makefile: fix path
Moved GameSurfaceView to a separate class
Renamed MinecraftDownloader to MinecraftResourceUtils

Fix: Some versions fails because GLFW_CLIENT_API is not set
2022-07-01 07:02:25 +07:00
khanhduytran0 97433a5596 Add support for mods that use Vulkan for rendering
Known mods: Blaze4D (untested), VulkanMod, more?
- VulkanMod: needs a tiny modification to get it work with LWJGL 3.2.3
2022-06-10 12:13:23 +07:00
Duy Tran Khanh 984647084b Fixes
- [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
2022-05-27 21:54:26 +07:00
Duy Tran Khanh 7337d90eee All options are now applied without restarting
Instances manager: cleanup, now explicitly state the error message
Moved init_loadCustomEnv() back to JavaLauncher.m
2022-05-27 09:56:06 +07:00
Duy Tran Khanh 85bc35f679 Automatically change the Java version if needed
Manually-specified Java version still applies to:
- Minecraft versions below 1.17 (default is Java 8)
- Minecraft version 1.17.x (allow choosing between Java 16 and 17)
2022-05-27 09:01:39 +07:00
khanhduytran0 bf12743457 Moved the JVM entry point to start when needed 2022-05-27 05:48:25 +07:00
Eilionoir Tunnicliff 018e46a1fe Fix version toggles in LauncherPreferences 2022-05-23 14:52:53 -04:00
Eilionoir Tunnicliff ab4bddb941 Merge branch origin/main into objc-rewrite 2022-05-22 03:12:48 -04:00
khanhduytran0 2a9d3909f8 Internal, renderer and UI changes + 1.19-pre1 support
Minecraft 1.19 support:
- Since 1.19-pre1, LWJGL 3.3.1 is used. However, LWJGL 3.2.3 still works with it, at least for this Minecraft release.
- Added a hack to skip calling to ObjC codes (skipped an asset file to skip setting the icon)
- JNA version replacing: now only change to 5.8.0 if version < 5.8.0

Internal changes:
- Cleanup: moved global functions to a new place
- Handle demo user correctly: actually authenticate the game with demo's access token and use the Xbox gamertag as the username
- Start moving strings to Localizable.strings (WIP)
- Re-wrote the Microsoft authentication and account management to Objective-C
- Assets downloading: added a tiny sleep call so that the UI won’t be frozen when too many tasks are executed at the same time

Renderers changes
- gl4es: `init_constructor` is now enabled, therefore moved the preload part to before `eglInitialize` (or EGL will be de-init after gl4es's hardware test).
- gl4es-extra (aka holy gl4es 1.1.4) is now used to replace the regular gl4es. This fixes VBO issue on version < 1.13 and some extra stuff. https://github.com/PojavLauncherTeam/gl4es-114-extra/commit/d6cf5c4
- Removed gl4es 1.1.5 and `Disable gl4es shaderconv` as it's unnecessary for now
- Removed vgpu, as it requires some missing extensions when come to shaders

User interface:
- The account selection list now displays the skin head (or the Xbox gamerpic if demo) and the account type
2022-05-22 11:31:14 +07:00
Eilionoir Tunnicliff 8f502cd7db Fix build, change other Arc names to Cosmetica 2022-04-30 19:47:06 -04:00
Nebula 4a9d92a513 Update LauncherPreferencesViewController.m 2022-04-27 20:39:41 -04:00
khanhduytran0 1d7e8a8214 Experimental Minecraft Downloader
This is not yet finished, there are 3 main things left
- Make sure everything works
- (Assets) download old structure
- Cleanup

What are implemented?
- Downloading file is handled with AFNetworking
- SHA1 validation, can be turned off in Preferences
- inheritsFrom support (need testing)
- Downloading assets with 20 jobs parallel

Known issue
- Assets SHA1 validating freezes the UI

Additional things
- [Custom controls] Dynamic position error is now handled instead of just crashes
- [Custom controls] The editor animation is now changed to fade in/out (for now, later might change)
- VGPU renderer is now made hidden, since it's too limited on iOS, removal planned
- [Code cleanup] Use NSDictionary instead of a set of fields for renderer list; Fix wrong field name.
- Some more stuff...
2022-04-20 20:45:47 +07:00
Adam Tunnic 2ed628f921 Add option to show virtual mouse at game launch 2022-02-22 00:37:47 -05:00
Adam Tunnic 80ba038c15 Fix POJAV_RENDERER, also add a7_allow now because why not 2022-02-20 00:22:41 -05:00
Duy Tran Khanh 14760195a6 Fix awt_xawt linking, use NSArray instead for renderer list 2022-02-19 21:21:39 +07:00
Adam Tunnic 6f7a8a7af2 Disable virgl 2022-02-14 09:14:55 -05:00
Adam Tunnic a736c900c0 Update LauncherPreferencesViewController.m 2022-02-14 08:57:12 -05:00