From c4e7213fc9578311185486cf9cecf57283be56f6 Mon Sep 17 00:00:00 2001 From: Matthew Messinger Date: Tue, 19 Jul 2016 19:09:01 -0400 Subject: [PATCH] Fix a mixin. It worked in development. Maybe fix #11 --- .../mixin/MixinImageBufferDownload.java | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/hdskins/java/com/voxelmodpack/hdskins/mixin/MixinImageBufferDownload.java b/src/hdskins/java/com/voxelmodpack/hdskins/mixin/MixinImageBufferDownload.java index 242c0dec..6ebbdb44 100644 --- a/src/hdskins/java/com/voxelmodpack/hdskins/mixin/MixinImageBufferDownload.java +++ b/src/hdskins/java/com/voxelmodpack/hdskins/mixin/MixinImageBufferDownload.java @@ -20,25 +20,35 @@ import net.minecraft.client.renderer.ImageBufferDownload; public abstract class MixinImageBufferDownload implements IImageBuffer { @Inject( - method = "parseUserSkin", - locals = LocalCapture.CAPTURE_FAILSOFT, + method = "parseUserSkin(Ljava/awt/image/BufferedImage;)Ljava/awt/image/BufferedImage;", + locals = LocalCapture.CAPTURE_FAILEXCEPTION, at = @At( value = "INVOKE", shift = Shift.BEFORE, target = "Ljava/awt/Graphics;dispose()V", remap = false)) - private void update(BufferedImage image, CallbackInfo ci, BufferedImage image2, Graphics graphics) { + private void update(BufferedImage image, CallbackInfo ci, BufferedImage image2) { // convert skins from mojang server - if (image.getHeight() == 32) { + boolean isLegacy = image.getHeight() == 32; + Graphics graphics = image2.getGraphics(); + if (isLegacy) { + HDSkinManager.INSTANCE.convertSkin(image2, graphics); + } + } + + // development + @Surrogate + private void update(BufferedImage image, CallbackInfo ci, BufferedImage image2, Graphics graphics, boolean isLegacy) { + if (isLegacy) { HDSkinManager.INSTANCE.convertSkin(image2, graphics); } } // for optifine @Surrogate - private void update(BufferedImage image, CallbackInfo ci, int w, int h, int k, BufferedImage image2, Graphics graphics) { + private void update(BufferedImage image, CallbackInfo ci, int w, int h, int k, BufferedImage image2, Graphics graphics, boolean isLegacy) { // convert skins from mojang server - if (image.getHeight() == 32) { + if (isLegacy) { HDSkinManager.INSTANCE.convertSkin(image2, graphics); } }