Merge branch 'main' into main

This commit is contained in:
Hayden authored and GitHub committed 2020-12-31 22:28:31 -05:00
commit 4f9d8eec19
8 files changed
+75 -36

No files matched your search

@@ -77,6 +77,9 @@ public class PLaunchApp /* extends UIApplicationDelegateAdapter */ {
}
*/
System.out.println("We are on java now! Starting UI...");
launchUI();
LauncherPreferences.loadPreferences();
System.setProperty("java.library.path", Tools.DIR_DATA + "/Frameworks");
@@ -119,4 +122,6 @@ public class PLaunchApp /* extends UIApplicationDelegateAdapter */ {
Tools.showError(th);
}
}
public static native void launchUI();
}
+1 -1
View File
@@ -16,7 +16,7 @@
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSLog(@"Hello from app launch!");
launchJVM();
// TODO callback
return YES;
}
+1 -1
View File
@@ -4,7 +4,7 @@ project(PojavLauncher)
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(CMAKE_C_FLAGS "-x objective-c")
add_executable(PojavLauncher main.m log.m AppDelegate.m JavaLauncher.c)
add_executable(PojavLauncher main.c log.m AppDelegate.m UILauncher.m JavaLauncher.c)
target_link_libraries(PojavLauncher
"-framework UIKit"
)
+38 -21
View File
@@ -4,6 +4,7 @@
#include <pthread.h>
#include <unistd.h>
#include <string.h>
#include <bool.h>
#include <sys/stat.h>
#include <sys/types.h>
@@ -46,7 +47,7 @@ void append(char* s, char* c) {
s[len+1] = '\0';
}
int launchJVM() {
int launchJVM(int argc, char *argv[]) {
debug("Beginning JVM launch\n");
mkdir("/var/mobile/Documents/minecraft", 0700);
@@ -62,28 +63,33 @@ int launchJVM() {
dup2(log_fd, 2);
close(log_fd);
int margv = 0;
char* margc[1000];
margc[margv++] = "/usr/lib/jvm/java-16-openjdk/bin/java";
debug("Reading custom JVM args (overrideargs.txt)");
char jvmargs[10000];
FILE* argsFile = fopen(args_path, "r");
if (argsFile) {
fscanf(argsFile, "%s", jvmargs);
char *pch;
pch = strtok(jvmargs, " ");
while (pch != NULL) {
margc[margv++] = pch;
pch = strtok(NULL, " ");
int margc = 0;
char* margv[1000];
// Check if JVM restarts
if (!started) {
margv[margc++] = "/usr/lib/jvm/java-16-openjdk/bin/java";
debug("Reading custom JVM args (overrideargs.txt)");
char jvmargs[10000];
FILE* argsFile = fopen(args_path, "r");
if (argsFile) {
fscanf(argsFile, "%s", jvmargs);
char *pch;
pch = strtok(jvmargs, " ");
while (pch != NULL) {
margv[margc++] = pch;
pch = strtok(NULL, " ");
}
fclose(argsFile);
}
margv[margc++] = "-cp";
margv[margc++] = main_jar;
margv[margc++] = "net.kdt.pojavlaunch.PLaunchApp";
for (int i = 0; i < argc; i++) {
margv[margc++] = argv[i];
}
fclose(argsFile);
}
margc[margv++] = "-cp";
margc[margv++] = main_jar;
margc[margv++] = "net.kdt.pojavlaunch.PLaunchApp";
// Load java
void* libjli = dlopen("/usr/lib/jvm/java-16-openjdk/lib/libjli.dylib", RTLD_LAZY | RTLD_GLOBAL);
@@ -102,8 +108,15 @@ int launchJVM() {
}
debug("Calling JLI_Launch\n");
int targc = started ? argc : margc;
char *targv[] targv = started ? argv : margv;
if (!started) {
started = true;
}
return pJLI_Launch(margc, margv,
return pJLI_Launch(targc, targv,
0, NULL, // sizeof(const_jargs) / sizeof(char *), const_jargs,
0, NULL, // sizeof(const_appclasspath) / sizeof(char *), const_appclasspath,
FULL_VERSION,
@@ -113,3 +126,7 @@ int launchJVM() {
(const_jargs != NULL) ? JNI_TRUE : JNI_FALSE,
const_cpwildcard, const_javaw, const_ergo_class);
}
JNIEXPORT jint JNICALL Java_net_kdt_pojavlaunch_PLaunchApp_launchUI(JNIEnv* env, jclass clazz) {
return launchUI();
}
+7 -1
View File
@@ -1,3 +1,9 @@
#pragma once
int launchJVM();
static bool started = false;
static int first_argc;
static char *first_argv[];
int launchJVM(int argc, char *argv[]);
int launchUI();
+14
View File
@@ -0,0 +1,14 @@
//
// main.m
//
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
#include "JavaLauncher.h"
int launchUI() {
@autoreleasepool {
return UIApplicationMain(first_argc, first_argv, nil, NSStringFromClass([AppDelegate class]));
}
}
+9
View File
@@ -0,0 +1,9 @@
#include "JavaLauncher.h"
int main(int argc, char * argv[]) {
if (!started) {
first_argc = argc;
first_argv = argv;
}
launchJVM(argc, argv);
}
-12
View File
@@ -1,12 +0,0 @@
//
// main.m
//
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}