diff --git a/shared/src/main/java/com/faforever/neroxis/util/ImageUtil.java b/shared/src/main/java/com/faforever/neroxis/util/ImageUtil.java index 3cb6113c..d8f5ae66 100644 --- a/shared/src/main/java/com/faforever/neroxis/util/ImageUtil.java +++ b/shared/src/main/java/com/faforever/neroxis/util/ImageUtil.java @@ -150,19 +150,20 @@ public static void writeRawDDS(BufferedImage image, Path path) throws IOExceptio for (int y = 0; y < size; y++) { for (int x = 0; x < size; x++) { int[] values = imageRaster.getPixel(x, y, new int[4]); - for (int val : values) { - imageBytes.put((byte) val); - } + imageBytes.put((byte) values[3]); + imageBytes.put((byte) values[0]); + imageBytes.put((byte) values[1]); + imageBytes.put((byte) values[2]); } } DDSHeader ddsHeader = new DDSHeader(); ddsHeader.setWidth(size); ddsHeader.setHeight(size); ddsHeader.setRGBBitCount(32); - ddsHeader.setABitMask(0xFF000000); - ddsHeader.setRBitMask(0x00FF0000); - ddsHeader.setGBitMask(0x0000FF00); - ddsHeader.setBBitMask(0x000000FF); + ddsHeader.setABitMask(0x000000FF); + ddsHeader.setRBitMask(0x0000FF00); + ddsHeader.setGBitMask(0x00FF0000); + ddsHeader.setBBitMask(0xFF000000); // If we don't do this we get weird results when the file already exists Files.deleteIfExists(path);