Fix preview trying to read argb when there is only rgb

This commit is contained in:
johni0702
2015-07-16 21:02:06 +02:00
parent e29b6ec9a0
commit 5dd974cc9f

View File

@@ -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);
}
}
}