Commit Graph
1186 Commits
Author SHA1 Message Date
Duy Tran Khanh 6dcde44087 Fixes for IPA build 2022-08-09 14:21:16 +07:00
Duy Tran Khanh 586eae3f1e Simplify IPA builder + upload artifact to Actions 2022-08-09 14:06:17 +07:00
Duy Tran Khanh 47e1ad342f Update LauncherViewController.m 2022-08-08 13:58:17 +07:00
Duy Tran Khanh 3af1cf6c56 Properly handling empty version text field 2022-08-08 13:56:57 +07:00
Duy Tran Khanh 95b9be2b63 Fixes a crash when installed version list is empty 2022-08-08 12:38:50 +07:00
Duy Tran Khanh 1c033a6e50 findNearestVersion: avoid negative index 2022-08-08 10:08:11 +07: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
Eilionoir Tunnicliff 26f849b3e2 Add MacStadium banner
Required for the Open Source program that they allowed us to enter
2022-08-05 13:37:07 -04:00
Duy Tran Khanh d17728a093 Virtual keyboard: fix Return key not working 2022-08-03 12:33:31 +07:00
Duy Tran Khanh 292fb8166f Custom controls: safe area is now customizable
Other changes:
- Cleanup unused functions
- Internal changes to access ViewController globally
- Moved ControlLayout to a separate file
2022-08-03 12:23:27 +07:00
khanhduytran0 25272c9fde Declare UIDeviceFamily for fullscreen on iPad 2022-07-29 14:27:16 +07:00
khanhduytran0 ce292d518a Tweaks
Added UIRequiresFullScreen for iPad
Only force full navigation bar height on iPhone
The Virtual mouse preference can now be set by the toggle button
Use UIColor.whiteColor instead of RGB 255/255
Use arm64e-supported fishhook fork
2022-07-29 13:27:18 +07:00
Duy Tran Khanh 2d5b0e5c01 egl_bridge.m: remove unused include 2022-07-28 11:09:50 +07:00
Duy Tran Khanh e2976633be Update Makefile 2022-07-28 11:04:08 +07:00
Duy Tran Khanh 74cbcc28af Added support for building on Linux (incl. Android/WSL)
This does not require a compatibility layer (Darling) nor a toolchain
(Theos). Instead, clang and lld from Linux distribution is used with
iOS SDK to compile the natives part (C/Objective-C). Of course, this
also allows compiling on Android with Termux or Windows with WSL.
2022-07-28 10:59:56 +07:00
Duy Tran Khanh 7bbbe2cb54 Cleanup + move tinygl4angle src + use piston-meta 2022-07-28 09:38:15 +07:00
Eilionoir Tunnicliff e0bd5fcb5e fix formatting issue 2022-07-26 21:07:57 -04:00
Eilionoir Tunnicliff ac01590405 Merge remote-tracking branch 'refs/remotes/origin/main' 2022-07-26 21:07:06 -04:00
Eilionoir Tunnicliff cce3a479cb Add restart_before_launch to preferences plist
Default value is no, fixes a small log issue
2022-07-26 21:06:50 -04: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 d311a03628 iPadOS: view ctrls should now be fullscreen again 2022-07-25 06:27:40 +07:00
Duy Tran Khanh b880f49b23 Improved text input handling for autocomplete
Text input is now far more stable with keyboard autocompletion and
typing extra stuff (marks).
Improved cursor movement: allows dragging farther.
Additionally, the text field is now made visible on the side menu.
Known issue that still persists: if the trackpad's cursor (by 3D
Touch/spacebar) is moved too fast, it will not synchronize with game

In other side, a bug fix: symlink fails, because the `Application
Support` folder was not created.
2022-07-24 20:56:53 +07:00
Duy Tran Khanh 5261b41d3f Force the nav bar height same across size classes 2022-07-24 09:37:06 +07:00
Duy Tran Khanh 47c8874cae Bug fix: UI completely freezes on launch
The root cause is that the JVM has taken away the main thread, caused the UIKit’s queue to stop. This env var exists in my dev environment but has never been added here.
2022-07-23 21:54:48 +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
khanhduytran0 5d8a136470 SurfaceViewController is now always the root vc
Before launching game, SurfaceViewController is set to UIWindow.rootViewController, making it similar to "Restart before launching" in order to *attempt* to find out why touchscreen input does not work on certain devices. The restart option is still kept for debugging purpose.

Some other tiny code tweaks
2022-07-16 13:27:25 +07:00
Eilionoir Tunnicliff 0622423df4 ._. 2022-07-12 23:47:21 -04:00
Eilionoir Tunnicliff b497dc2448 oops, actually fix Elu dpkg this time 2022-07-12 23:43:58 -04:00
Eilionoir Tunnicliff 698ce11bcd Fix Elucubratus dpkg errors 2022-07-12 23:37:42 -04:00
Duy Tran Khanh e1ff27c298 Fixes button scaling; Logging header cleanup 2022-07-02 11:42:22 +07:00
Eilionoir Tunnicliff 02b5039ca1 Some more code to remember Technoblade
Thought it would be better for everyone to see it, rather than just the people in the About menu.
2022-07-01 20:50:10 -04:00
Duy Tran Khanh 8aea2ee5fc Changes
Added a little more debug info
Fixes: the GUI button hides itself; Makefile jar path; Restart before
launching game
2022-07-01 12:43:30 +07:00
Eilionoir Tunnicliff ab939970a0 Small remembrance for Technoblade
An avid part of the Minecrafting community, we dedicate this three-day-a-year note to you.
2022-07-01 00:41:42 -04:00
Eilionoir Tunnicliff 7f9d71537d Bugfix: "The folder does not exist" when signing into the launcher 2022-06-30 22:48:11 -04:00
Duy Tran Khanh 6ba1c6773b Added back a forgotten continue 2022-07-01 08:19:46 +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 12ebf2686a Fix submodule 2022-06-30 15:56:40 +07:00
khanhduytran0 0041edcc87 Bundle AFNetworking into the main executable
Trying to fix the following crash:

Exception type: EXC_BAD_ACCESS (SIGBUS)
Exception subtype: KERN_PROTECTION_FAILURE: 0x100fe76e8
Exception codes: 0x0000000000000002, 0x0000000100fe76e8
Culprit: Unknown
VM Protection: ---

Triggered by thread: 0
Thread name: Dispatch queue: com.apple.main-thread
Call stack:
0   AFNetworking                  	0x0000000100fe76e8 0x100fc8000 + 128744     	// +[_AFURLSessionTaskSwizzling load]
1   libobjc.A.dylib               	0x00000001a1b9321c 0x1a1b82000 + 70172      	// load_images
2   dyld                          	0x00000001012ee320 0x1012ec000 + 8992       	// dyld::notifySingle(dyld_image_states, ImageLoader const*, ImageLoader::InitializerTimingList*)
3   dyld                          	0x0000000101300c4c 0x1012ec000 + 85068      	// ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, char const*, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&)
4   dyld                          	0x0000000101300bb0 0x1012ec000 + 84912      	// ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, char const*, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&)
5   dyld                          	0x00000001012febb8 0x1012ec000 + 76728      	// ImageLoader::processInitializers(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&)
6   dyld                          	0x00000001012fec84 0x1012ec000 + 76932      	// ImageLoader::runInitializers(ImageLoader::LinkContext const&, ImageLoader::InitializerTimingList&)
7   dyld                          	0x00000001012ee7f4 0x1012ec000 + 10228      	// dyld::initializeMainExecutable()
8   dyld                          	0x00000001012f3d88 0x1012ec000 + 32136      	// dyld::_main(macho_header const*, unsigned long, int, char const**, char const**, char const**, unsigned long*)
9   dyld                          	0x00000001012ed258 0x1012ec000 + 4696       	// dyldbootstrap::start(dyld3::MachOLoaded const*, int, char const**, dyld3::MachOLoaded const*, unsigned long*)
10  dyld                          	0x00000001012ed038 0x1012ec000 + 4152       	// _dyld_start
2022-06-30 14:28:41 +07:00
Duy Tran Khanh ec8b7dc555 Side menu: some tiny changes 2022-06-16 19:57:13 +07:00
khanhduytran0 582aa18d2c Added right-size menu (incomplete)
Limitations:
- Animations might not work properly
- Only one option is available, more will be added soon
2022-06-15 21:43:54 +07:00
Duy Tran Khanh b06049a5bb Potential fix for the editor size issue on iPadOS 2022-06-14 15:18:08 +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 e6d7373c03 Merge pull request #330 from PojavLauncherTeam/objc-rewrite
Rewrite to Objective-C
2022-06-10 11:48:46 +07:00
Duy Tran Khanh c0c7ac5931 Update README.md for current changes 2022-06-10 11:43:05 +07:00
Duy Tran Khanh 6f58d26a9a Merge branch 'main' into objc-rewrite 2022-06-10 11:38:24 +07:00
Duy Tran Khanh a282074914 Handle ingame opening folder/link 2022-06-07 05:56:18 +07:00
Duy Tran Khanh b772e3d8f2 Fix building .jar; support mapped resources 2022-06-02 07:14:52 +07:00
Duy Tran Khanh 5d7c77d697 Forge 1.17+ support 2022-05-29 20:03:04 +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 581acd1732 Tab -> spaces 2022-05-27 16:38:45 +07:00