Skip to content

Commit

Permalink
Revert "fix: add dev mappings to ASM transformers (#173)"
Browse files Browse the repository at this point in the history
This reverts commit a32c2c0.
  • Loading branch information
Sychic committed Mar 25, 2024
1 parent 186a005 commit fa4b3be
Show file tree
Hide file tree
Showing 15 changed files with 55 additions and 68 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public void transform(ClassNode classNode, String name) {
if (next instanceof MethodInsnNode && next.getOpcode() == Opcodes.INVOKEVIRTUAL) {
final String methodInsnName = mapMethodNameFromNode(next);
if (methodInsnName.equals("getY") || methodInsnName.equals("func_177956_o")) {
((MethodInsnNode) next).name = isDevelopment() ? "getZ" : "func_177952_p";
((MethodInsnNode) next).name = "func_177952_p"; // getZ
break;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public void transform(ClassNode classNode, String name) {
// auto-closing stream
if (next instanceof MethodInsnNode && ((MethodInsnNode) next).name.equals("read")) {
((MethodInsnNode) next).owner = "net/minecraft/client/renderer/texture/TextureUtil";
((MethodInsnNode) next).name = isDevelopment() ? "readBufferedImage" : "func_177053_a";
((MethodInsnNode) next).name = "func_177053_a"; // readBufferedImage
((MethodInsnNode) next).desc = "(Ljava/io/InputStream;)Ljava/awt/image/BufferedImage;";
break;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,26 +34,26 @@ public void transform(ClassNode classNode, String name) {
}
}
} else if (next instanceof VarInsnNode && next.getOpcode() == Opcodes.ISTORE && ((VarInsnNode) next).var == 17) {
methodNode.instructions.insert(next, new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/GlStateManager", isDevelopment() ? "disableDepth" : "func_179097_i", "()V", false));
methodNode.instructions.insert(next, new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/GlStateManager", "func_179097_i", "()V", false));
}
}

methodNode.instructions.insert(getMoveForward());
methodNode.instructions.insertBefore(
methodNode.instructions.getLast().getPrevious(),
new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/GlStateManager", isDevelopment() ? "popMatrix" : "func_179121_F", "()V", false)
new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/GlStateManager", "func_179121_F", "()V", false)
);
}
}
}

private InsnList getMoveForward() {
InsnList insnList = new InsnList();
insnList.add(new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/GlStateManager", isDevelopment() ? "pushMatrix" : "func_179094_E", "()V", false));
insnList.add(new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/GlStateManager", "func_179094_E", "()V", false));
insnList.add(new LdcInsnNode(0F));
insnList.add(new LdcInsnNode(0F));
insnList.add(new LdcInsnNode(-1F));
insnList.add(new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/GlStateManager", isDevelopment() ? "translate" : "func_179109_b", "(FFF)V", false));
insnList.add(new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/GlStateManager", "func_179109_b", "(FFF)V", false));
return insnList;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ public void transform(ClassNode classNode, String name) {
private InsnList optimizeReflection() {
InsnList list = new InsnList();
list.add(new VarInsnNode(Opcodes.ALOAD, 0));
list.add(new FieldInsnNode(Opcodes.GETFIELD, "net/minecraft/client/renderer/EntityRenderer", isDevelopment() ? "mc" : "field_78531_r", "Lnet/minecraft/client/Minecraft;"));
list.add(new FieldInsnNode(Opcodes.GETFIELD, "net/minecraft/client/Minecraft", isDevelopment() ? "currentScreen" : "field_71462_r", "Lnet/minecraft/client/gui/GuiScreen;"));
list.add(new FieldInsnNode(Opcodes.GETFIELD, "net/minecraft/client/renderer/EntityRenderer", "field_78531_r", "Lnet/minecraft/client/Minecraft;"));
list.add(new FieldInsnNode(Opcodes.GETFIELD, "net/minecraft/client/Minecraft", "field_71462_r", "Lnet/minecraft/client/gui/GuiScreen;"));
list.add(new VarInsnNode(Opcodes.ILOAD, 8));
list.add(new VarInsnNode(Opcodes.ILOAD, 9));
list.add(new VarInsnNode(Opcodes.FLOAD, 1));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public String[] getClassName() {
public void transform(ClassNode classNode, String name) {
for (MethodNode methodNode : classNode.methods) {
final String methodName = mapMethodName(classNode, methodNode);
if (methodName.equals("set") || methodName.equals("func_177484_a")) {
if (methodName.equals("func_177484_a")) {
final InsnList instructions = methodNode.instructions;
final Iterator<AbstractInsnNode> iterator = instructions.iterator();
while (iterator.hasNext()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public void transform(ClassNode classNode, String name) {
private InsnList checkVisibility() {
InsnList list = new InsnList();
list.add(new VarInsnNode(Opcodes.ALOAD, 0));
list.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL, "net/minecraft/entity/boss/EntityWither", isDevelopment() ? "isInvisible" : "func_82150_aj", "()Z", false));
list.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL, "net/minecraft/entity/boss/EntityWither", "func_82150_aj", "()Z", false));
LabelNode ifeq = new LabelNode();
list.add(new JumpInsnNode(Opcodes.IFEQ, ifeq));
list.add(new InsnNode(Opcodes.RETURN));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,15 +46,15 @@ public void transform(ClassNode classNode, String name) {
}
}

public InsnList checkMapBytesLength() {
public static InsnList checkMapBytesLength() {
InsnList list = new InsnList();

LabelNode checkSize = new LabelNode();
list.add(new VarInsnNode(Opcodes.ALOAD, 0));
list.add(new FieldInsnNode(
Opcodes.GETFIELD,
"net/minecraft/network/play/server/S34PacketMaps",
isDevelopment() ? "mapDataBytes" : "field_179741_h",
"field_179741_h",
"[B"
));
list.add(new InsnNode(Opcodes.DUP));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,15 +58,15 @@ private InsnList reassignRotation() {
list.add(new LdcInsnNode(0.017453292F));
list.add(new VarInsnNode(Opcodes.FSTORE, 3));
// actual fix for mc-74764
list.add(new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/ActiveRenderInfo", isDevelopment() ? "getRotationX" : "func_178808_b", "()F", false));
list.add(new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/ActiveRenderInfo", "func_178808_b", "()F", false));
list.add(new VarInsnNode(Opcodes.FSTORE, 4));
list.add(new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/ActiveRenderInfo", isDevelopment() ? "getRotationZ" : "func_178803_d", "()F", false));
list.add(new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/ActiveRenderInfo", "func_178803_d", "()F", false));
list.add(new VarInsnNode(Opcodes.FSTORE, 5));
list.add(new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/ActiveRenderInfo", isDevelopment() ? "getRotationYZ" : "func_178805_e", "()F", false));
list.add(new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/ActiveRenderInfo", "func_178805_e", "()F", false));
list.add(new VarInsnNode(Opcodes.FSTORE, 6));
list.add(new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/ActiveRenderInfo", isDevelopment() ? "getRotationXY" : "func_178807_f", "()F", false));
list.add(new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/ActiveRenderInfo", "func_178807_f", "()F", false));
list.add(new VarInsnNode(Opcodes.FSTORE, 7));
list.add(new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/ActiveRenderInfo", isDevelopment() ? "getRotationXZ" : "func_178809_c", "()F", false));
list.add(new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/ActiveRenderInfo", "func_178809_c", "()F", false));
list.add(new VarInsnNode(Opcodes.FSTORE, 8));
return list;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,15 +158,15 @@ private InsnList checkChat(LabelNode gotoInsn) {
LabelNode ifne = new LabelNode();
list.add(new JumpInsnNode(Opcodes.IFNE, ifne));
list.add(new VarInsnNode(Opcodes.ALOAD, 0));
list.add(new FieldInsnNode(Opcodes.GETFIELD, "net/minecraft/client/gui/GuiChat", isDevelopment() ? "mc" : "field_146297_k", "Lnet/minecraft/client/Minecraft;"));
list.add(new FieldInsnNode(Opcodes.GETFIELD, "net/minecraft/client/gui/GuiChat", "field_146297_k", "Lnet/minecraft/client/Minecraft;"));
list.add(new InsnNode(Opcodes.ACONST_NULL));
list.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL, "net/minecraft/client/Minecraft", isDevelopment() ? "displayGuiScreen" : "func_147108_a", "(Lnet/minecraft/client/gui/GuiScreen;)V", false));
list.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL, "net/minecraft/client/Minecraft", "func_147108_a", "(Lnet/minecraft/client/gui/GuiScreen;)V", false));
list.add(new JumpInsnNode(Opcodes.GOTO, gotoInsn));
list.add(ifne);
list.add(new VarInsnNode(Opcodes.ALOAD, 0));
list.add(new FieldInsnNode(Opcodes.GETFIELD, "net/minecraft/client/gui/GuiChat", isDevelopment() ? "inputField" : "field_146415_a", "Lnet/minecraft/client/gui/GuiTextField;"));
list.add(new FieldInsnNode(Opcodes.GETFIELD, "net/minecraft/client/gui/GuiChat", "field_146415_a", "Lnet/minecraft/client/gui/GuiTextField;"));
list.add(new LdcInsnNode(""));
list.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL, "net/minecraft/client/gui/GuiTextField", isDevelopment() ? "setText" : "func_146180_a", "(Ljava/lang/String;)V", false));
list.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL, "net/minecraft/client/gui/GuiTextField", "func_146180_a", "(Ljava/lang/String;)V", false));
list.add(new JumpInsnNode(Opcodes.GOTO, gotoInsn));
list.add(ifeq);
return list;
Expand All @@ -180,16 +180,16 @@ private InsnList setText() {
list.add(new VarInsnNode(Opcodes.ALOAD, 0));
list.add(new FieldInsnNode(Opcodes.GETFIELD,
"net/minecraft/client/gui/GuiChat",
isDevelopment() ? "inputField" : "field_146415_a",
"field_146415_a", // inputField
"Lnet/minecraft/client/gui/GuiTextField;"));
list.add(new VarInsnNode(Opcodes.ALOAD, 0));
list.add(new FieldInsnNode(Opcodes.GETFIELD,
"net/minecraft/client/gui/GuiChat",
isDevelopment() ? "defaultInputFieldText" : "field_146409_v",
"field_146409_v", // defaultInputFieldText
"Ljava/lang/String;"));
list.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL,
"net/minecraft/client/gui/GuiTextField",
isDevelopment() ? "setText" : "func_146180_a",
"func_146180_a", // setText
"(Ljava/lang/String;)V",
false));
LabelNode gotoInsn = new LabelNode();
Expand All @@ -198,12 +198,12 @@ private InsnList setText() {
list.add(new VarInsnNode(Opcodes.ALOAD, 0));
list.add(new FieldInsnNode(Opcodes.GETFIELD,
"net/minecraft/client/gui/GuiChat",
isDevelopment() ? "inputField" : "field_146415_a",
"field_146415_a", // inputField
"Lnet/minecraft/client/gui/GuiTextField;"));
list.add(new VarInsnNode(Opcodes.ALOAD, 2));
list.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL,
"net/minecraft/client/gui/GuiTextField",
isDevelopment() ? "setText" : "func_146180_a",
"func_146180_a", // setText
"(Ljava/lang/String;)V",
false));
list.add(gotoInsn);
Expand All @@ -215,7 +215,7 @@ private InsnList createWasInitBefore() {
list.add(new VarInsnNode(Opcodes.ALOAD, 0));
list.add(new FieldInsnNode(Opcodes.GETFIELD,
"net/minecraft/client/gui/GuiChat",
isDevelopment() ? "inputField" : "field_146415_a",
"field_146415_a", // inputField
"Lnet/minecraft/client/gui/GuiTextField;"));
LabelNode ifnull = new LabelNode();
list.add(new JumpInsnNode(Opcodes.IFNULL, ifnull));
Expand All @@ -232,11 +232,11 @@ private InsnList createWasInitBefore() {
list.add(new VarInsnNode(Opcodes.ALOAD, 0));
list.add(new FieldInsnNode(Opcodes.GETFIELD,
"net/minecraft/client/gui/GuiChat",
isDevelopment() ? "inputField" : "field_146415_a",
"field_146415_a", // inputField
"Lnet/minecraft/client/gui/GuiTextField;"));
list.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL,
"net/minecraft/client/gui/GuiTextField",
isDevelopment() ? "getText" : "func_146179_b",
"func_146179_b", // getText
"()Ljava/lang/String;",
false));
LabelNode gotoInsn2 = new LabelNode();
Expand All @@ -251,7 +251,7 @@ private InsnList createWasInitBefore() {
private InsnList getOption(LabelNode ifne) {
InsnList list = new InsnList();
list.add(new VarInsnNode(Opcodes.ALOAD, 0));
list.add(new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/gui/GuiChat", isDevelopment() ? "isShiftKeyDown" : "func_146272_n", "()Z", false));
list.add(new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/gui/GuiChat", "func_146272_n", "()Z", false));
list.add(new FieldInsnNode(Opcodes.PUTFIELD, "net/minecraft/client/gui/GuiChat", "holdingShift", "Z"));
list.add(getPatcherSetting("transparentChatInputField", "Z"));
list.add(new JumpInsnNode(Opcodes.IFNE, ifne));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,15 +64,15 @@ private InsnList newEffectLogic() {
list.add(new JumpInsnNode(Opcodes.IFEQ, ifeq));
list.add(new VarInsnNode(Opcodes.ALOAD, 0));
list.add(new VarInsnNode(Opcodes.ALOAD, 0));
list.add(new FieldInsnNode(Opcodes.GETFIELD, "net/minecraft/client/renderer/InventoryEffectRenderer", isDevelopment() ? "width" : "field_146294_l",
list.add(new FieldInsnNode(Opcodes.GETFIELD, "net/minecraft/client/renderer/InventoryEffectRenderer", "field_146294_l", // width
"I"));
list.add(new VarInsnNode(Opcodes.ALOAD, 0));
list.add(new FieldInsnNode(Opcodes.GETFIELD, "net/minecraft/client/renderer/InventoryEffectRenderer", isDevelopment() ? "xSize" : "field_146999_f",
list.add(new FieldInsnNode(Opcodes.GETFIELD, "net/minecraft/client/renderer/InventoryEffectRenderer", "field_146999_f", // xSize
"I"));
list.add(new InsnNode(Opcodes.ISUB));
list.add(new InsnNode(Opcodes.ICONST_2));
list.add(new InsnNode(Opcodes.IDIV));
list.add(new FieldInsnNode(Opcodes.PUTFIELD, "net/minecraft/client/renderer/InventoryEffectRenderer", isDevelopment() ? "guiLeft" : "field_147003_i",
list.add(new FieldInsnNode(Opcodes.PUTFIELD, "net/minecraft/client/renderer/InventoryEffectRenderer", "field_147003_i", // guiLeft
"I"));
list.add(new InsnNode(Opcodes.RETURN));
list.add(ifeq);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,12 +76,12 @@ public void transform(ClassNode classNode, String name) {
if (next.getOpcode() == Opcodes.INVOKEVIRTUAL) {
if (methodInsnName.equals("getClosestDistance") || methodInsnName.equals("func_177729_b")) {
methodNode.instructions.insertBefore(next.getPrevious().getPrevious().getPrevious(),
new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/GlStateManager", isDevelopment() ? "disableFog" : "func_179106_n", "()V", false));
new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/GlStateManager", "func_179106_n", "()V", false));
}
} else if (next.getOpcode() == Opcodes.INVOKESTATIC) {
if ((methodInsnName.equals("depthMask") || methodInsnName.equals("func_179132_a")) && next.getPrevious().getOpcode() == Opcodes.ICONST_1) {
methodNode.instructions.insert(next,
new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/GlStateManager", isDevelopment() ? "enableFog" : "func_179127_m", "()V", false)
new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/GlStateManager", "func_179127_m", "()V", false)
);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public void transform(ClassNode classNode, String name) {
for (MethodNode methodNode : classNode.methods) {
String methodName = mapMethodName(classNode, methodNode);

MethodInsnNode disableBlend = new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/GlStateManager", isDevelopment() ? "disableBlend" : "func_179084_k", "()V", false);
MethodInsnNode disableBlend = new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/GlStateManager", "func_179084_k", "()V", false);
switch (methodName) {
//#if MC==10809
case "renderRightArm":
Expand Down Expand Up @@ -110,18 +110,18 @@ private InsnList checkHatLayer() {
InsnList list = new InsnList();
list.add(new VarInsnNode(Opcodes.ALOAD, 1));
list.add(new FieldInsnNode(Opcodes.GETSTATIC, "net/minecraft/entity/player/EnumPlayerModelParts", "HAT", "Lnet/minecraft/entity/player/EnumPlayerModelParts;"));
list.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL, "net/minecraft/client/entity/AbstractClientPlayer", isDevelopment() ? "func_175148_a" : "isWearing", "(Lnet/minecraft/entity/player/EnumPlayerModelParts;)Z", false));
list.add(new MethodInsnNode(Opcodes.INVOKEVIRTUAL, "net/minecraft/client/entity/AbstractClientPlayer", "func_175148_a", "(Lnet/minecraft/entity/player/EnumPlayerModelParts;)Z", false));
return list;
}

public InsnList enableBlend() {
public static InsnList enableBlend() {
InsnList list = new InsnList();
list.add(new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/GlStateManager", isDevelopment() ? "enableBlend" : "func_179147_l", "()V", false));
list.add(new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/GlStateManager", "func_179147_l", "()V", false));
list.add(new IntInsnNode(Opcodes.SIPUSH, GL11.GL_SRC_ALPHA));
list.add(new IntInsnNode(Opcodes.SIPUSH, GL11.GL_ONE_MINUS_SRC_ALPHA));
list.add(new InsnNode(Opcodes.ICONST_1));
list.add(new InsnNode(Opcodes.ICONST_0));
list.add(new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/GlStateManager", isDevelopment() ? "tryBlendFuncSeparate" : "func_179120_a", "(IIII)V", false));
list.add(new MethodInsnNode(Opcodes.INVOKESTATIC, "net/minecraft/client/renderer/GlStateManager", "func_179120_a", "(IIII)V", false));
return list;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ private InsnList dynamicShadowScale() {
list.add(new VarInsnNode(Opcodes.ALOAD, 0));
list.add(new VarInsnNode(Opcodes.FLOAD, 3));
list.add(new MethodInsnNode(Opcodes.INVOKESTATIC, "java/lang/Math", "abs", "(F)F", false));
list.add(new FieldInsnNode(Opcodes.PUTFIELD, "net/minecraft/client/renderer/entity/RenderWither", isDevelopment() ? "shadowSize" : "field_76989_e", "F"));
list.add(new FieldInsnNode(Opcodes.PUTFIELD, "net/minecraft/client/renderer/entity/RenderWither", "field_76989_e", "F"));
return list;
}
}
Loading

0 comments on commit fa4b3be

Please sign in to comment.