mirror of
https://github.com/AngelAuraMC/Amethyst-Android.git
synced 2025-09-13 14:51:51 -04:00
Added Caciocavallo17
This commit is contained in:
parent
85059eebf5
commit
d150ef37af
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
||||
20220819
|
@ -117,13 +117,7 @@ public class JavaGUILauncherActivity extends BaseActivity implements View.OnTouc
|
||||
});
|
||||
|
||||
try {
|
||||
JREUtils.jreReleaseList = JREUtils.readJREReleaseProperties(LauncherPreferences.PREF_DEFAULT_RUNTIME);
|
||||
if (JREUtils.jreReleaseList.get("JAVA_VERSION").equals("1.8.0")) {
|
||||
MultiRTUtils.setRuntimeNamed(this,LauncherPreferences.PREF_DEFAULT_RUNTIME);
|
||||
} else {
|
||||
MultiRTUtils.setRuntimeNamed(this,MultiRTUtils.getExactJreName(8));
|
||||
JREUtils.jreReleaseList = JREUtils.readJREReleaseProperties();
|
||||
}
|
||||
MultiRTUtils.setRuntimeNamed(this,LauncherPreferences.PREF_DEFAULT_RUNTIME);
|
||||
|
||||
placeMouseAt(CallbackBridge.physicalWidth / 2, CallbackBridge.physicalHeight / 2);
|
||||
|
||||
@ -247,7 +241,8 @@ public class JavaGUILauncherActivity extends BaseActivity implements View.OnTouc
|
||||
List<String> javaArgList = new ArrayList<String>();
|
||||
|
||||
// Enable Caciocavallo
|
||||
Tools.getCacioJavaArgs(javaArgList,false);
|
||||
JREUtils.jreReleaseList = JREUtils.readJREReleaseProperties(LauncherPreferences.PREF_DEFAULT_RUNTIME);
|
||||
Tools.getCacioJavaArgs(javaArgList,JREUtils.jreReleaseList.get("JAVA_VERSION").equals("1.8.0"));
|
||||
|
||||
if (javaArgs != null) {
|
||||
javaArgList.addAll(Arrays.asList(javaArgs.split(" ")));
|
||||
|
@ -344,6 +344,7 @@ public class PojavLoginActivity extends BaseActivity {
|
||||
AssetManager am = this.getAssets();
|
||||
|
||||
unpackComponent(am, "caciocavallo");
|
||||
unpackComponent(am, "caciocavallo17");
|
||||
|
||||
// Since the Java module system doesn't allow multiple JARs to declare the same module,
|
||||
// we repack them to a single file here
|
||||
|
@ -141,13 +141,7 @@ public final class Tools {
|
||||
|
||||
List<String> javaArgList = new ArrayList<String>();
|
||||
|
||||
// Only Java 8 supports headful AWT for now
|
||||
if (JREUtils.jreReleaseList.get("JAVA_VERSION").equals("1.8.0")) {
|
||||
getCacioJavaArgs(javaArgList, false);
|
||||
} else if (LauncherPreferences.PREF_ARC_CAPES) {
|
||||
// Opens the java.net package to Arc DNS injector on Java 9+
|
||||
javaArgList.add("--add-opens=java.base/java.net=ALL-UNNAMED");
|
||||
}
|
||||
getCacioJavaArgs(javaArgList, JREUtils.jreReleaseList.get("JAVA_VERSION").equals("1.8.0"));
|
||||
|
||||
/*
|
||||
int mcReleaseDate = Integer.parseInt(versionInfo.releaseTime.substring(0, 10).replace("-", ""));
|
||||
@ -179,20 +173,46 @@ public final class Tools {
|
||||
JREUtils.launchJavaVM(activity, javaArgList);
|
||||
}
|
||||
|
||||
public static void getCacioJavaArgs(List<String> javaArgList, boolean isHeadless) {
|
||||
javaArgList.add("-Djava.awt.headless="+isHeadless);
|
||||
public static void getCacioJavaArgs(List<String> javaArgList, boolean isJava8) {
|
||||
// Caciocavallo config AWT-enabled version
|
||||
javaArgList.add("-Djava.awt.headless=false");
|
||||
javaArgList.add("-Dcacio.managed.screensize=" + AWTCanvasView.AWT_CANVAS_WIDTH + "x" + AWTCanvasView.AWT_CANVAS_HEIGHT);
|
||||
// javaArgList.add("-Dcacio.font.fontmanager=net.java.openjdk.cacio.ctc.CTCFontManager");
|
||||
javaArgList.add("-Dcacio.font.fontmanager=sun.awt.X11FontManager");
|
||||
javaArgList.add("-Dcacio.font.fontscaler=sun.font.FreetypeFontScaler");
|
||||
javaArgList.add("-Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel");
|
||||
javaArgList.add("-Dawt.toolkit=net.java.openjdk.cacio.ctc.CTCToolkit");
|
||||
javaArgList.add("-Djava.awt.graphicsenv=net.java.openjdk.cacio.ctc.CTCGraphicsEnvironment");
|
||||
if (isJava8) {
|
||||
javaArgList.add("-Dcacio.font.fontmanager=sun.awt.X11FontManager");
|
||||
javaArgList.add("-Dawt.toolkit=net.java.openjdk.cacio.ctc.CTCToolkit");
|
||||
javaArgList.add("-Djava.awt.graphicsenv=net.java.openjdk.cacio.ctc.CTCGraphicsEnvironment");
|
||||
} else {
|
||||
javaArgList.add("-Dcacio.font.fontmanager=com.github.caciocavallosilano.cacio.ctc.CTCFontManager");
|
||||
javaArgList.add("-Dawt.toolkit=com.github.caciocavallosilano.cacio.ctc.CTCToolkit");
|
||||
javaArgList.add("-Djava.awt.graphicsenv=com.github.caciocavallosilano.cacio.ctc.CTCGraphicsEnvironment");
|
||||
javaArgList.add("-Djava.system.class.loader=com.github.caciocavallosilano.cacio.ctc.CTCPreloadClassLoader");
|
||||
|
||||
javaArgList.add("--add-exports=java.desktop/java.awt=ALL-UNNAMED");
|
||||
javaArgList.add("--add-exports=java.desktop/java.awt.peer=ALL-UNNAMED");
|
||||
javaArgList.add("--add-exports=java.desktop/sun.awt.image=ALL-UNNAMED");
|
||||
javaArgList.add("--add-exports=java.desktop/sun.java2d=ALL-UNNAMED");
|
||||
javaArgList.add("--add-exports=java.desktop/java.awt.dnd.peer=ALL-UNNAMED");
|
||||
javaArgList.add("--add-exports=java.desktop/sun.awt=ALL-UNNAMED");
|
||||
javaArgList.add("--add-exports=java.desktop/sun.awt.event=ALL-UNNAMED");
|
||||
javaArgList.add("--add-exports=java.desktop/sun.awt.datatransfer=ALL-UNNAMED");
|
||||
javaArgList.add("--add-exports=java.desktop/sun.font=ALL-UNNAMED");
|
||||
javaArgList.add("--add-exports=java.base/sun.security.action=ALL-UNNAMED");
|
||||
javaArgList.add("--add-opens=java.base/java.util=ALL-UNNAMED");
|
||||
javaArgList.add("--add-opens=java.desktop/java.awt=ALL-UNNAMED");
|
||||
javaArgList.add("--add-opens=java.desktop/sun.font=ALL-UNNAMED");
|
||||
javaArgList.add("--add-opens=java.desktop/sun.java2d=ALL-UNNAMED");
|
||||
javaArgList.add("--add-opens=java.base/java.lang.reflect=ALL-UNNAMED");
|
||||
|
||||
// Opens the java.net package to Arc DNS injector on Java 9+
|
||||
javaArgList.add("--add-opens=java.base/java.net=ALL-UNNAMED");
|
||||
}
|
||||
|
||||
StringBuilder cacioClasspath = new StringBuilder();
|
||||
cacioClasspath.append("-Xbootclasspath/p");
|
||||
File cacioDir = new File(DIR_GAME_HOME + "/caciocavallo");
|
||||
cacioClasspath.append("-Xbootclasspath/" + (isJava8 ? "p" : "a"));
|
||||
File cacioDir = new File(DIR_GAME_HOME + "/caciocavallo" + (isJava8 ? "" : "17"));
|
||||
if (cacioDir.exists() && cacioDir.isDirectory()) {
|
||||
for (File file : cacioDir.listFiles()) {
|
||||
if (file.getName().endsWith(".jar")) {
|
||||
|
@ -35,6 +35,10 @@ JNIEXPORT void JNICALL Java_net_kdt_pojavlaunch_AWTInputBridge_nativeSendData(JN
|
||||
|
||||
if (method_ReceiveInput == NULL) {
|
||||
class_CTCAndroidInput = (*runtimeJNIEnvPtr_INPUT)->FindClass(runtimeJNIEnvPtr_INPUT, "net/java/openjdk/cacio/ctc/CTCAndroidInput");
|
||||
if ((*runtimeJNIEnvPtr_INPUT)->ExceptionCheck(runtimeJNIEnvPtr_INPUT) == JNI_TRUE) {
|
||||
(*runtimeJNIEnvPtr_INPUT)->ExceptionClear(runtimeJNIEnvPtr_INPUT);
|
||||
class_CTCAndroidInput = (*runtimeJNIEnvPtr_INPUT)->FindClass(runtimeJNIEnvPtr_INPUT, "com/github/caciocavallosilano/cacio/ctc/CTCAndroidInput");
|
||||
}
|
||||
assert(class_CTCAndroidInput != NULL);
|
||||
method_ReceiveInput = (*runtimeJNIEnvPtr_INPUT)->GetStaticMethodID(runtimeJNIEnvPtr_INPUT, class_CTCAndroidInput, "receiveData", "(IIIII)V");
|
||||
assert(method_ReceiveInput != NULL);
|
||||
@ -64,6 +68,10 @@ JNIEXPORT jintArray JNICALL Java_net_kdt_pojavlaunch_utils_JREUtils_renderAWTScr
|
||||
|
||||
if (method_GetRGB == NULL) {
|
||||
class_CTCScreen = (*runtimeJNIEnvPtr_GRAPHICS)->FindClass(runtimeJNIEnvPtr_GRAPHICS, "net/java/openjdk/cacio/ctc/CTCScreen");
|
||||
if ((*runtimeJNIEnvPtr_GRAPHICS)->ExceptionCheck(runtimeJNIEnvPtr_GRAPHICS) == JNI_TRUE) {
|
||||
(*runtimeJNIEnvPtr_GRAPHICS)->ExceptionClear(runtimeJNIEnvPtr_GRAPHICS);
|
||||
class_CTCScreen = (*runtimeJNIEnvPtr_GRAPHICS)->FindClass(runtimeJNIEnvPtr_GRAPHICS, "com/github/caciocavallosilano/cacio/ctc/CTCScreen");
|
||||
}
|
||||
assert(class_CTCScreen != NULL);
|
||||
method_GetRGB = (*runtimeJNIEnvPtr_GRAPHICS)->GetStaticMethodID(runtimeJNIEnvPtr_GRAPHICS, class_CTCScreen, "getCurrentScreenRGB", "()[I");
|
||||
assert(method_GetRGB != NULL);
|
||||
|
Loading…
x
Reference in New Issue
Block a user