diff options
author | Dennis <47501679+Denostrov@users.noreply.github.com> | 2023-06-05 00:07:49 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-04 23:07:49 +0200 |
commit | cf50206d38abcc4136d9f200c5870bf7a58b941e (patch) | |
tree | 06c02d747c4ab8da963b5523f748f8adb1f8c711 /src/main/java/gtPlusPlus/preloader/asm | |
parent | b093eda18787f29ec1aeba2e0b67b5b4bbafea98 (diff) | |
download | GT5-Unofficial-cf50206d38abcc4136d9f200c5870bf7a58b941e.tar.gz GT5-Unofficial-cf50206d38abcc4136d9f200c5870bf7a58b941e.tar.bz2 GT5-Unofficial-cf50206d38abcc4136d9f200c5870bf7a58b941e.zip |
fix lag by disabling asm that messed with tinkers fluid lighting (#654)
* disable asm that messed with tinkers fluid lighting
* remove unused config and asm file
Diffstat (limited to 'src/main/java/gtPlusPlus/preloader/asm')
3 files changed, 0 insertions, 192 deletions
diff --git a/src/main/java/gtPlusPlus/preloader/asm/AsmConfig.java b/src/main/java/gtPlusPlus/preloader/asm/AsmConfig.java index 42f9c40f39..53aadc1967 100644 --- a/src/main/java/gtPlusPlus/preloader/asm/AsmConfig.java +++ b/src/main/java/gtPlusPlus/preloader/asm/AsmConfig.java @@ -17,7 +17,6 @@ public class AsmConfig { public static Configuration config; public static boolean enableOreDictPatch; - public static boolean enableTiConFluidLighting; public static boolean enableGtTooltipFix; public static boolean enableGtNbtFix; public static boolean enableGtCharcoalPitFix; @@ -100,12 +99,6 @@ public class AsmConfig { propOrderDebug.add(prop.getName()); // General Features - prop = config.get("general", "enableTiConFluidLighting", true); - prop.comment = "Enable/Disable Brightness Visuals for Tinkers Fluids, only required on the Client."; - prop.setLanguageKey("gtpp.enableTiConFluidLighting").setRequiresMcRestart(true); - enableTiConFluidLighting = prop.getBoolean(true); - propOrder.add(prop.getName()); - prop = config.get("general", "enabledLwjglKeybindingFix", true); prop.comment = "Prevents the game crashing from having invalid keybinds. https://github.com/alkcorp/GTplusplus/issues/544"; prop.setLanguageKey("gtpp.enabledLwjglKeybindingFix").setRequiresMcRestart(true); @@ -147,7 +140,6 @@ public class AsmConfig { Preloader_Logger.INFO("Chunk Debugging - Enabled: " + enableChunkDebugging); Preloader_Logger.INFO("Gt Nbt Fix - Enabled: " + enableGtNbtFix); - Preloader_Logger.INFO("TiCon Fluid Lighting - Enabled: " + enableTiConFluidLighting); Preloader_Logger.INFO("Gt Tooltip Fix - Enabled: " + enableGtTooltipFix); Preloader_Logger.INFO("COFH Patch - Enabled: " + enableCofhPatch); Preloader_Logger.INFO("Gc Fuel Changes Patch - Enabled: " + enableGcFuelChanges); diff --git a/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_TiConFluids.java b/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_TiConFluids.java deleted file mode 100644 index 4392802ba3..0000000000 --- a/src/main/java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_TiConFluids.java +++ /dev/null @@ -1,177 +0,0 @@ -package gtPlusPlus.preloader.asm.transformers; - -import static org.objectweb.asm.Opcodes.ACC_PUBLIC; -import static org.objectweb.asm.Opcodes.ALOAD; -import static org.objectweb.asm.Opcodes.ASM5; -import static org.objectweb.asm.Opcodes.F_APPEND; -import static org.objectweb.asm.Opcodes.GETFIELD; -import static org.objectweb.asm.Opcodes.IFLE; -import static org.objectweb.asm.Opcodes.ILOAD; -import static org.objectweb.asm.Opcodes.INTEGER; -import static org.objectweb.asm.Opcodes.INVOKESPECIAL; -import static org.objectweb.asm.Opcodes.IRETURN; -import static org.objectweb.asm.Opcodes.ISTORE; - -import org.apache.logging.log4j.Level; -import org.objectweb.asm.ClassReader; -import org.objectweb.asm.ClassVisitor; -import org.objectweb.asm.ClassWriter; -import org.objectweb.asm.Label; -import org.objectweb.asm.MethodVisitor; - -import cpw.mods.fml.relauncher.FMLRelaunchLog; -import gtPlusPlus.preloader.DevHelper; - -public class ClassTransformer_TiConFluids { - - // Leftover Code, in case I ever want to inject interfaces. - // private static final String cloneableInterface = "java/lang/Cloneable"; - - // The qualified name of the class we plan to transform. - private static final String className = "tconstruct.smeltery.blocks.TConstructFluid"; - - private final boolean isValid; - private final boolean isObfuscated; - private final String methodName; - private final ClassReader reader; - private final ClassWriter writer; - - public ClassTransformer_TiConFluids(String aMethodName, boolean obfuscated, byte[] basicClass) { - isObfuscated = obfuscated; - - methodName = obfuscated ? DevHelper.getSRG(aMethodName) : aMethodName; - - ClassReader aTempReader = null; - ClassWriter aTempWriter = null; - - aTempReader = new ClassReader(basicClass); - aTempWriter = new ClassWriter(aTempReader, ClassWriter.COMPUTE_FRAMES); - aTempReader.accept(new localClassVisitir(aTempWriter, isObfuscated), 0); - - if (aTempReader != null && aTempWriter != null) { - isValid = true; - } else { - isValid = false; - } - reader = aTempReader; - writer = aTempWriter; - - if (reader != null && writer != null) { - injectMethod(); - } - } - - public boolean isValidTransformer() { - return isValid; - } - - public ClassReader getReader() { - return reader; - } - - public ClassWriter getWriter() { - return writer; - } - - public void injectMethod() { - if (isValidTransformer()) { - FMLRelaunchLog.log( - "[GT++ ASM] Bright Fluids", - Level.INFO, - "Injecting " + methodName - + " into " - + className - + ". [" - + (isObfuscated ? "Obfuscated" : "Unobfuscated") - + "]"); - // Account for Obfuscated constructor args. - String IBlockAccessName = isObfuscated ? "ahl" : "net/minecraft/world/IBlockAccess"; - String aConstructorTypes = "(L" + IBlockAccessName + ";III)I"; - - MethodVisitor mv = getWriter().visitMethod(ACC_PUBLIC, methodName, aConstructorTypes, null, null); - mv.visitCode(); - Label l0 = new Label(); - mv.visitLabel(l0); - mv.visitLineNumber(17, l0); - mv.visitVarInsn(ALOAD, 0); - mv.visitFieldInsn(GETFIELD, "tconstruct/smeltery/blocks/TConstructFluid", "maxScaledLight", "I"); - mv.visitVarInsn(ISTORE, 5); - Label l1 = new Label(); - mv.visitLabel(l1); - mv.visitLineNumber(18, l1); - mv.visitVarInsn(ILOAD, 5); - Label l2 = new Label(); - mv.visitJumpInsn(IFLE, l2); - Label l3 = new Label(); - mv.visitLabel(l3); - mv.visitLineNumber(19, l3); - mv.visitVarInsn(ILOAD, 5); - mv.visitInsn(IRETURN); - mv.visitLabel(l2); - mv.visitLineNumber(21, l2); - mv.visitFrame(F_APPEND, 1, new Object[] { INTEGER }, 0, null); - mv.visitVarInsn(ALOAD, 0); - mv.visitVarInsn(ALOAD, 1); - mv.visitVarInsn(ILOAD, 2); - mv.visitVarInsn(ILOAD, 3); - mv.visitVarInsn(ILOAD, 4); - // net.minecraftforge.fluids.BlockFluidClassic.getLightValue(IBlockAccess, int, int, int) - mv.visitMethodInsn( - INVOKESPECIAL, - "net/minecraftforge/fluids/BlockFluidClassic", - methodName, - aConstructorTypes, - false); - mv.visitInsn(IRETURN); - Label l4 = new Label(); - mv.visitLabel(l4); - mv.visitLocalVariable("this", "Ltconstruct/smeltery/blocks/TConstructFluid;", null, l0, l4, 0); - mv.visitLocalVariable("world", "L" + IBlockAccessName + ";", null, l0, l4, 1); - mv.visitLocalVariable("x", "I", null, l0, l4, 2); - mv.visitLocalVariable("y", "I", null, l0, l4, 3); - mv.visitLocalVariable("z", "I", null, l0, l4, 4); - mv.visitLocalVariable("maxLight", "I", null, l1, l4, 5); - mv.visitMaxs(5, 6); - mv.visitEnd(); - FMLRelaunchLog.log("[GT++ ASM] Bright Fluids", Level.INFO, "Method injection complete."); - } - } - - public final class localClassVisitir extends ClassVisitor { - - private final boolean mIsObfuscated; - - public localClassVisitir(ClassVisitor cv, boolean obfuscated) { - super(ASM5, cv); - mIsObfuscated = obfuscated; - } - - @Override - public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { - String IBlockAccessName = isObfuscated ? "ahl" : "net/minecraft/world/IBlockAccess"; - String aConstructorTypes = "(L" + IBlockAccessName + ";III)I"; - MethodVisitor methodVisitor = super.visitMethod(access, name, desc, signature, exceptions); - if (name.equals(methodName) && desc.equals(aConstructorTypes)) { - FMLRelaunchLog.log( - "[GT++ ASM] OreDictTransformer", - Level.INFO, - "Found target method. [" + mIsObfuscated + "]"); - return new localMethodVisitor(methodVisitor, mIsObfuscated); - } - return methodVisitor; - } - } - - private final class localMethodVisitor extends MethodVisitor { - - private final boolean mObfuscated; - - public localMethodVisitor(MethodVisitor mv, boolean obfuscated) { - super(ASM5, mv); - this.mObfuscated = obfuscated; - } - - @Override - public void visitCode() {} - } -} diff --git a/src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java b/src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java index d3631a7599..35ba0a6d46 100644 --- a/src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java +++ b/src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java @@ -26,7 +26,6 @@ import static gtPlusPlus.preloader.asm.ClassesToTransform.LWJGL_KEYBOARD; import static gtPlusPlus.preloader.asm.ClassesToTransform.MINECRAFT_GAMESETTINGS; import static gtPlusPlus.preloader.asm.ClassesToTransform.MINECRAFT_GAMESETTINGS_OBF; import static gtPlusPlus.preloader.asm.ClassesToTransform.THAUMCRAFT_ITEM_WISP_ESSENCE; -import static gtPlusPlus.preloader.asm.ClassesToTransform.TINKERS_FLUID_BLOCK; import java.io.File; import java.io.IOException; @@ -140,12 +139,6 @@ public class Preloader_Transformer_Handler implements IClassTransformer { return new ClassTransformer_COFH_OreDictionaryArbiter(basicClass).getWriter().toByteArray(); } - // Fix Tinkers Fluids - if (transformedName.equals(TINKERS_FLUID_BLOCK) && AsmConfig.enableTiConFluidLighting) { - Preloader_Logger.INFO("Bright Fluids", "Transforming " + transformedName); - return new ClassTransformer_TiConFluids("getLightValue", obfuscated, basicClass).getWriter().toByteArray(); - } - // Fix GC stuff if (AsmConfig.enableGcFuelChanges) { if (transformedName.equals(GALACTICRAFT_FLUID_UTILS)) { |