Commit Graph
102 Commits
Author SHA1 Message Date
Duy Tran Khanh 85563047a8 GLFW.java: add glfwExtensionSupported 2022-12-06 18:41:09 +07:00
Duy Tran Khanh 8ca77a1b73 Support resizable for iPadOS Stage Manager
On iPadOS, PojavLauncher can be launched in portrait mode
Declare controller support in Info.plist
Sync LWJGL changes from Android repo
2022-10-31 11:13:03 +07:00
Duy Tran Khanh b23678692a Merge commit 'e1bd237d69f7ad95b0fa01c629a62f5880cf9943'
Conflicts:
	.github/workflows/development.yml
	.github/workflows/release.yml
	Makefile
	Natives/main.m
2022-08-30 17:02:07 +07:00
khanhduytran0 8433a7d739 Added missing lwjglx funcs, perform some filters in currentVC func 2022-08-29 21:33:14 +07:00
Duy Tran Khanh d75f203bf3 Use RTLD_DEFAULT instead of try to reload exec twice 2022-08-22 06:11:46 +07:00
Duy Tran Khanh 19ebae62c2 Make switches functional + warnings + some fixes 2022-08-21 21:34:02 +07:00
Duy Tran Khanh 0c4c53c953 Finish auto renderer selection 2022-08-18 19:09:12 +07:00
Duy Tran Khanh 10aa3d07e8 Simplify scrollPanGesture handling 2022-08-14 09:12:19 +07:00
Duy Tran Khanh cf8a5609c0 Fixes a crash that could occur with Java 17
Additional change: added increased-memory-limit entitlement for iOS 15
2022-08-14 09:05:17 +07:00
Duy Tran Khanh 1592d50f65 Attempt to unlock 120Hz for ProMotion display 2022-08-12 12:09:41 +07:00
Duy Tran Khanh ae1c86b113 Various fixes
- GLFW display mode array, fix 0x0 resolution bug
- OSMesa library (copied back 64f4042)
- Hacks for getting Spiral Knights to launch
- Error is now logged properly
2022-08-12 11:53:02 +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 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
khanhduytran0 bf12743457 Moved the JVM entry point to start when needed 2022-05-27 05:48:25 +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
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
Adam Tunnic 959a4e2290 Merge branch 'backend-virgl' into main 2022-02-14 08:52:10 -05:00
Duy Tran Khanh dc5c5a9c65 [Custom controls] Added color picker for iOS < 14
Might aswell add an option to optionally use this instead of the system
color picker on iOS 14+. Used library: Alderis

Other changes
- [Custom controls] The editor is now fullscreen due to the
presentation of the color picker.
- Fixes scroll wheel input is always int
2022-02-01 21:58:54 +07:00
khanhduytran0 fbde4948d5 Various bug fixes
- Input cursor movement seems too fast, attempt to reduce it by setting larger font size in the hidden text field.
- latestlog.txt doesn't log in 1.12+ since Log4j patch. Fixed by adding some config lines.
- Makefile: building is broken when run make from a path with space(s). Fixed by handling spaces with backslashes.
- text2speech is not overridden properly. Fixed by excluding it from download list and adding launcher.jar itself to the classpath.
- XML log output in < 1.12 since Log4j patch. Fixed by using our own configuration file.

Some more changes:
- Commented out a debug line in LWJGLX
- Fix a typo.
- JavaLauncher: use (ObjC)BOOL instead of (std)bool.
2022-01-17 08:18:06 +07:00
khanhduytran0 82dc17cd9c Support for input cursor movement from keyboard
New class: TrackedTextField. This class keeps track of the pointer in the text field. The hidden text field now has 40 placeholder spaces and the pointer is placed at the middle. When typing, placeholder spaces won't get removed as before. Autocorrect seem to be broken a bit for now.

Additional changes:
- Added missing GLFW functions (array version of other functions)
- Hotbar handling: doubled barWidth and barHeight

Bug fix:
- Touching onto the hotbar breaks the handling of on-screen tap/long-press gestures
2022-01-11 13:58:16 +07:00
Duy Tran Khanh 150cf861b1 Experimental things
* Multitouch handling, allows one of these actions below to work with
moving camera at the same time.
- Switching hotbar slot; might not work properly
- Destroying block (left mouse button) with another finger
long-pressed (without pressing the PRI button)
- Right mouse trigger with another finger tapped onto the screen
(without pressing the SEC button); not working properly yet
* Sub-pixel cursor support; not yet checked
2021-12-13 07:40:12 +07:00
khanhduytran0 72e0c69ad1 WIP virglrenderer
Current state: bind() returns errno -1 (Operation not permitted)
2021-11-30 04:29:09 +07:00
Duy Tran Khanh 4f59e0ffff PojavCore is now inside the main executable
This took so long since there was a failed attempt in unloading and
reloading JVM to support Forge 1.17.x. Next attempt would be rewrite
everything to Objective-C and move the JVM entry point to the start of
the game.
2021-10-01 11:14:05 +07:00
Duy Tran Khanh b2ffd5edc3 Changes
- libpojavexec.dylib is now PojavCore.framework.
- More changes for Zink renderer. Note that Mesa 21.0 is included instead of 21.2.1 due to the new version seems to be broken, only display glClearColor.
2021-09-17 07:00:14 +07:00
Duy Tran Khanh 1c91691d96 Workaround for Forge 1.12.2 crashing 2021-08-30 14:36:12 +07:00
Duy Tran Khanh 5ce5dbcc00 Changes
- Avoid printing "Session ID". Several Minecraft versions do that.
- Fixes Minecraft 1.13 snapshot due to the usage of LWJGL functions from an older version.
- Minecraft's built in Fullscreen Resolution scaler is available now, but not working properly.
- Regal internal changes (still fail at )
2021-08-23 11:19:54 +07:00
Duy Tran Khanh d949cb4e1b Fixes Sodium 0.3 crashes on saving settings
Sodium 0.3 won't work yet
2021-08-22 14:19:57 +07:00
Duy Tran Khanh 949e562c0e Regal stuff (test) 2021-08-22 14:19:57 +07:00
Duy Tran Khanh de6479f1e6 Changes
- test regal stuff (lib not added)
- auto init symlinks for jailed JRE
2021-08-18 05:52:40 +07:00
Duy Tran Khanh a739cf7202 Resolution downscaler moment 2021-08-10 19:42:10 +07:00
Duy Tran Khanh 934f4f1354 FPS limiter :) 2021-08-08 17:34:09 +07:00
Duy Tran Khanh 66bee901db Layout converter v1 -> unfinished v2
"i want new keyboard for pojavluancher" x20 by @𝙵𝚊𝚔ȇ̈_A𝕣ᴄᴀᴅᴇ#7200
2021-08-07 10:17:52 +07:00
Duy Tran Khanh e079e86a80 Changes
- Automatically set overrideWidth and overrideHeight
- Multi-context moment.
Current status of Forge 1.12.2:

Exception type: EXC_BAD_ACCESS (SIGSEGV)
Exception subtype: KERN_INVALID_ADDRESS: 0x964
Exception codes: 0x0000000000000001, 0x0000000000000964
Culprit: Unknown
VM Protection: 0x964 is not in any region.

Triggered by thread: 20
Thread name:
Call stack:
0   libgl4es_115.dylib  0x000000012196738c 0x121900000 + 422796  //
realize_glenv
1   libgl4es_115.dylib  0x00000001219672dc 0x121900000 + 422620  //
realize_glenv
2   libgl4es_115.dylib  0x0000000121966e78 0x121900000 + 421496  //
fpe_glDrawArrays
3   libgl4es_115.dylib  0x000000012199d4e4 0x121900000 + 644324  //
draw_renderlist
4   libgl4es_115.dylib  0x000000012197e39c 0x121900000 + 517020  //
gl4es_flush
5   libgl4es_115.dylib  0x00000001219609e4 0x121900000 + 395748  //
proxy_glEnable
2021-08-05 15:17:56 +07:00
Duy Tran Khanh d4d13edc9a Stub glfwRequestWindowAttention 2021-07-24 16:25:42 +07:00
Duy Tran Khanh 7a4bef444b Update GLFWNativeCocoa.java 2021-07-07 07:57:47 +07:00
Duy Tran Khanh f33da2475f Update GLFWNativeCocoa.java 2021-07-07 07:57:03 +07:00
Duy Tran Khanh f76c91f1a9 Get Minecraft 1.17.1 to work 2021-07-07 07:55:41 +07:00
Duy Tran Khanh 4e959ae334 Added missing classes for b1.7 works
Requires a X11 server in order to play 1.6.2 and older, also need
toggle fullscreen (later)
2021-06-08 06:57:42 +07:00
Duy Tran Khanh 3be87bfa46 Changes
- Added preferences screen (currently empty)
- Cleaned compiler warnings
- Implemented GLFW clipboard
2021-05-24 20:50:40 +07:00
Duy Tran Khanh b580728ff2 Attempt to debug lwjgl2
Text input on 1.12.2 and below are not working for some reasons...
2021-02-26 05:21:30 +07:00
khanhduytran0 d4b962ae75 Completely fixed monitor size is 0x0 (Forge mouse input should work rn) 2021-02-21 07:44:51 +07:00
Duy Tran Khanh 3505510914 Update GLFW.java 2021-02-18 19:02:46 +07:00
Duy Tran Khanh 43092d94e5 Stills fixing forge crashes 2021-02-18 18:54:27 +07:00
Duy Tran Khanh 6721469f6f Update GLFW.java 2021-02-18 17:29:33 +07:00
Duy Tran Khanh 89d47206fe Make the returned fb/window callback never null 2021-02-18 17:20:12 +07:00
Duy Tran Khanh 6a4960368c Update GLFW.java 2021-02-18 17:10:22 +07:00
Duy Tran Khanh 015912d69c Update GLFW.java 2021-02-18 17:04:36 +07:00