Skip to content

Commit

Permalink
Disable some deAWT patches with --awtFrame
Browse files Browse the repository at this point in the history
  • Loading branch information
Lassebq committed Aug 15, 2024
1 parent c8182de commit fb944b3
Showing 1 changed file with 27 additions and 22 deletions.
49 changes: 27 additions & 22 deletions src/main/java/org/mcphackers/launchwrapper/tweak/LegacyTweak.java
Original file line number Diff line number Diff line change
Expand Up @@ -333,31 +333,36 @@ && compareInsn(insns[4], GETFIELD, minecraft.name, height.name, height.desc)
&& compareInsn(insns[5], INVOKESPECIAL, minecraft.name, null, "(II)V")) {
supportsResizing = true;
}
if(compareInsn(insns[0], ALOAD)
&& compareInsn(insns[1], GETFIELD, minecraft.name, null, "Ljava/awt/Canvas;")
&& compareInsn(insns[2], INVOKEVIRTUAL, "java/awt/Canvas", "getWidth", "()I")) {
MethodInsnNode invoke = new MethodInsnNode(INVOKESTATIC, "org/lwjgl/opengl/Display", "getWidth", "()I");
method.instructions.insert(insns[2], invoke);
method.instructions.remove(insns[0]);
method.instructions.remove(insns[1]);
method.instructions.remove(insns[2]);
insn1 = invoke;
tweakInfo("Replaced canvas getWidth");
}
if(compareInsn(insns[0], ALOAD)
&& compareInsn(insns[1], GETFIELD, minecraft.name, null, "Ljava/awt/Canvas;")
&& compareInsn(insns[2], INVOKEVIRTUAL, "java/awt/Canvas", "getHeight", "()I")) {
MethodInsnNode invoke = new MethodInsnNode(INVOKESTATIC, "org/lwjgl/opengl/Display", "getHeight", "()I");
method.instructions.insert(insns[2], invoke);
method.instructions.remove(insns[0]);
method.instructions.remove(insns[1]);
method.instructions.remove(insns[2]);
insn1 = invoke;
tweakInfo("Replaced canvas getHeight");
if(launch.lwjglFrame.get()) {
if(compareInsn(insns[0], ALOAD)
&& compareInsn(insns[1], GETFIELD, minecraft.name, null, "Ljava/awt/Canvas;")
&& compareInsn(insns[2], INVOKEVIRTUAL, "java/awt/Canvas", "getWidth", "()I")) {
MethodInsnNode invoke = new MethodInsnNode(INVOKESTATIC, "org/lwjgl/opengl/Display", "getWidth", "()I");
method.instructions.insert(insns[2], invoke);
method.instructions.remove(insns[0]);
method.instructions.remove(insns[1]);
method.instructions.remove(insns[2]);
insn1 = invoke;
tweakInfo("Replaced canvas getWidth");
}
if(compareInsn(insns[0], ALOAD)
&& compareInsn(insns[1], GETFIELD, minecraft.name, null, "Ljava/awt/Canvas;")
&& compareInsn(insns[2], INVOKEVIRTUAL, "java/awt/Canvas", "getHeight", "()I")) {
MethodInsnNode invoke = new MethodInsnNode(INVOKESTATIC, "org/lwjgl/opengl/Display", "getHeight", "()I");
method.instructions.insert(insns[2], invoke);
method.instructions.remove(insns[0]);
method.instructions.remove(insns[1]);
method.instructions.remove(insns[2]);
insn1 = invoke;
tweakInfo("Replaced canvas getHeight");
}
}
insn1 = nextInsn(insn1);
}
insn1 = method.instructions.getFirst();
if(!launch.lwjglFrame.get()) {
insn1 = null;
}
while(insn1 != null) {
AbstractInsnNode[] insns = fill(insn1, 6);
if(compareInsn(insns[0], ALOAD)
Expand Down Expand Up @@ -616,7 +621,7 @@ && compareInsn(insns2[2], GETFIELD, minecraft.name, null, height.desc)
&& compareInsn(insns2[3], PUTFIELD, minecraft.name, height.name, height.desc)) {
defaultHeight = (FieldInsnNode) insns2[2];
}
if(defaultWidth != null && defaultHeight != null
if(defaultWidth != null && defaultHeight != null && launch.lwjglFrame.get()
&& compareInsn(insns2[0], IFGT)
&& compareInsn(insns2[1], ALOAD)
&& compareInsn(insns2[2], ICONST_1)
Expand Down

0 comments on commit fb944b3

Please sign in to comment.