Commit Graph
655 Commits
Author SHA1 Message Date
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
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 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 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 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
Duy Tran Khanh 5eab7a2c20 [MCDL] Properly handling inheritsFrom 2022-05-24 05:20:44 +07:00
Eilionoir Tunnicliff 018e46a1fe Fix version toggles in LauncherPreferences 2022-05-23 14:52:53 -04:00
Eilionoir Tunnicliff 4aa66fdd4b Merge branch origin/main into objc-rewrite 2022-05-23 14:18:46 -04:00
Eilionoir Tunnicliff 6ae37a2211 Revert wallpaper addition to save memory
Simply scaling to fit the aspect ratio creates weird issues on iPadOS, better to remove.
2022-05-23 14:16:24 -04:00
Eilionoir Tunnicliff ab4bddb941 Merge branch origin/main into objc-rewrite 2022-05-22 03:12:48 -04:00
Duy Tran Khanh eaf8650942 idk why I added png to .gitignore
You can replace this with :frpirate: for more fun
2022-05-22 12:34:26 +07:00
Duy Tran Khanh de162c33af tiny compilation fixes 2022-05-22 12:21:16 +07: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 aa74dc6c10 Fix some text around the place 2022-05-12 00:24:34 -04:00
Eilionoir Tunnicliff fee1d57110 Add wallpaper to front page, fix button padding on iOS 12 2022-05-01 10:50:00 -04:00
Eilionoir Tunnicliff 87c54728df Would be a good idea to add the new pics to Git 2022-04-30 20:21:45 -04:00
Eilionoir Tunnicliff 8f502cd7db Fix build, change other Arc names to Cosmetica 2022-04-30 19:47:06 -04:00
Eilionoir Tunnicliff 61014ef090 Merge remote-tracking branch 'origin/main' 2022-04-30 19:43:37 -04:00
Eilionoir Tunnicliff 53613c5f18 Updates
- New wordmark on the main screen
- Remove wordmark from LaunchScreen.storyboard
- Apply depiction and icon fixes from 2.0.1
2022-04-30 19:43:24 -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
Duy Tran Khanh 7d14371271 Custom control editor changes
- Added the resize pointer (might not work stable)
- (Attempt to) fix the wrong size of the window on iPadOS again
- The window now has a rounded corner
2022-03-23 21:32:13 +07:00
Duy Tran Khanh fcd52ce2aa CC editor: set VC bounds size for iPad + draggable
Fixes #326
2022-03-21 18:25:36 +07:00
Duy Tran Khanh 580da57855 Set GLFW window attrib; Proper external mouse lock
Setting window attribute fixes DynamicFPS mod being broken
2022-03-17 07:24:41 +07:00
Adam Tunnic a6c9648345 Remove unused Mojang Auth code 2022-03-15 18:26:43 -04:00
Adam Tunnic 70c150af38 Make the debug logging switch actually do something
Pretty much disables everything except for [Pre-Init] and [Init], as well as Renderer Init Success. Toggle debug logging off to see.

regLog(message) -> logs all the time
debugLog(message) -> logs only when debug logging is enabled
2022-03-13 21:23:02 -04:00
Adam TunnicandDuy Tran Khanh 81ae236181 Disable Mojang login (#331)
Merging early because... why not. Anyone that hasn't migrated now will get the warning.

Co-authored-by: Duy Tran Khanh <[email protected]>
2022-03-09 19:03:08 -05:00
Duy Tran Khanh 5c618d907b CC: passthrough support; Lock mouse pointer
Custom controls button passthrough: currently, only passed-through
events are touch events.
Pointer locking is incomplete and might not work properly.
2022-03-03 08:16:14 +07:00
Adam Tunnic 281b9047b3 IPABuilder no longer needed, it's in the makefile 2022-02-25 23:49:02 -05:00
Duy Tran Khanh bd134ccfde Fixes scroll crashes, move login spinner to left
Scrolling crashes: Float cannot be casted to Double
2022-02-25 19:56:24 +07:00
khanhduytran0 147ac079be Fixes virtual mouse, XVA entitlement (iOS 14)
Fixes virtual mouse not working when enabled from Preferences.
Added Extended Virtual Addressing Entitlement.
2022-02-25 06:58:07 +07:00
Duy Tran Khanh 9ee414a4b0 Another fix for previous commit 2022-02-22 19:00:50 +07:00
Duy Tran Khanh f12a9c0f92 Allow setting to null pref if prefix is internal_
Fixes #328 and #329

Bug fix: internal states are ignored, caused the following to be broken:
- Input queue mode (breaks 1.13+ input)
- Relaunch before starting game (game doesn’t launch)
2022-02-22 18:48:27 +07:00
Adam Tunnic 2ed628f921 Add option to show virtual mouse at game launch 2022-02-22 00:37:47 -05:00
Adam Tunnic b5fc3a5b48 Remove traces of custom env pref dict 2022-02-20 12:44:37 -05:00
Adam Tunnic 56ff1fad29 Organize preferences, this will cause preferences to be reset! 2022-02-20 02:28:34 -05:00
Adam Tunnic 80ba038c15 Fix POJAV_RENDERER, also add a7_allow now because why not 2022-02-20 00:22:41 -05:00