import java.io.*; import javax.imageio.*; import java.awt.image.*; import java.awt.*; public class DataParser extends Frame { public static void main(String args[]) { new DataParser().parse(); } public DataParser() { super("Viewer"); } public void parse() { int offset = 0; try { FileInputStream in = new FileInputStream("sprites.data"); byte[] buffer = new byte[in.available()]; while(in.available() > 0) in.read(buffer); BufferedImage[][] images = new BufferedImage[((buffer.length / 3) / 1024) / 12][12]; for(int i = 0; i < images.length; i++) { for(int l = 0; l < images[i].length; l++) { images[i][l] = new BufferedImage(32, 32, BufferedImage.TYPE_INT_RGB); for(int x = 0; x < 32; x++) { for(int y = 0; y < 32; y++) { int red = (buffer[offset++] & 0xff) << 16; int green = (buffer[offset++] & 0xff) << 8; int blue = buffer[offset++] & 0xff; images[i][l].setRGB(x, y, (red | green | blue)); } } } } setSize(500, 500); setVisible(true); getGraphics().drawImage(images[0][0], 100, 100, Color.YELLOW, this); } catch (Exception e) { System.out.println(offset); e.printStackTrace(); } } }