From 5dd974cc9f6b75d89c13e897ce0d031806dba835 Mon Sep 17 00:00:00 2001 From: johni0702 Date: Thu, 16 Jul 2015 21:02:06 +0200 Subject: [PATCH] Fix preview trying to read argb when there is only rgb --- .../replaymod/gui/GuiVideoRenderer.java | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/GuiVideoRenderer.java b/src/main/java/eu/crushedpixel/replaymod/gui/GuiVideoRenderer.java index 0595a86b..6e5ac03c 100644 --- a/src/main/java/eu/crushedpixel/replaymod/gui/GuiVideoRenderer.java +++ b/src/main/java/eu/crushedpixel/replaymod/gui/GuiVideoRenderer.java @@ -19,7 +19,6 @@ import org.lwjgl.util.ReadableDimension; import java.awt.*; import java.io.IOException; import java.nio.ByteBuffer; -import java.nio.ByteOrder; import static net.minecraft.client.renderer.GlStateManager.bindTexture; import static net.minecraft.client.renderer.GlStateManager.color; @@ -239,20 +238,13 @@ public class GuiVideoRenderer extends GuiScreen { ByteBuffer buffer = frame.getByteBuffer(); buffer.mark(); synchronized (this) { - swapEndianness(buffer); - buffer.asIntBuffer().get(previewTexture.getTextureData()); - swapEndianness(buffer); + int[] data = previewTexture.getTextureData(); + for (int i = 0; i < data.length; i++) { + data[i] = 0xff << 24 | (buffer.get() & 0xff) << 16 | (buffer.get() & 0xff) << 8 | (buffer.get() & 0xff); + } previewTextureDirty = true; } buffer.reset(); } } - - private void swapEndianness(ByteBuffer buffer) { - if (buffer.order() == ByteOrder.BIG_ENDIAN) { - buffer.order(ByteOrder.LITTLE_ENDIAN); - } else { - buffer.order(ByteOrder.BIG_ENDIAN); - } - } }