mirror of
https://github.com/dmolony/DiskBrowser.git
synced 2024-12-26 05:32:16 +00:00
tidying
This commit is contained in:
parent
4b323d7f3e
commit
9187000de0
@ -19,26 +19,27 @@ public class HiResImage extends AbstractFile
|
|||||||
private static final int VIOLET = 0xBB66FF;
|
private static final int VIOLET = 0xBB66FF;
|
||||||
private static final int[][] colours = { { VIOLET, GREEN }, { BLUE, RED } };
|
private static final int[][] colours = { { VIOLET, GREEN }, { BLUE, RED } };
|
||||||
|
|
||||||
private static int[] line = new int[280];
|
private static boolean colourQuirks;
|
||||||
private static int[] colourBits = new int[280];
|
private static boolean matchColourBits = true;
|
||||||
|
private static boolean drawColour = true;
|
||||||
|
|
||||||
|
private final int[] line = new int[280];
|
||||||
|
private final int[] colourBits = new int[280];
|
||||||
|
|
||||||
private int fileType;
|
private int fileType;
|
||||||
private int auxType;
|
private int auxType;
|
||||||
private byte[] unpackedBuffer;
|
private byte[] unpackedBuffer;
|
||||||
private static boolean colourQuirks;
|
|
||||||
private static boolean checkingColourBits = true;
|
|
||||||
|
|
||||||
public HiResImage (String name, byte[] buffer)
|
public HiResImage (String name, byte[] buffer)
|
||||||
{
|
{
|
||||||
super (name, buffer);
|
super (name, buffer);
|
||||||
|
|
||||||
if (name.equals ("FLY LOGO") || name.equals ("BIGBAT.PAC"))
|
if (name.equals ("FLY LOGO") || name.equals ("BIGBAT.PAC"))
|
||||||
{
|
|
||||||
this.buffer = unscrunch (buffer);
|
this.buffer = unscrunch (buffer);
|
||||||
}
|
|
||||||
if (isGif (buffer))
|
if (isGif (buffer))
|
||||||
makeGif ();
|
makeGif ();
|
||||||
else if (true)
|
else if (drawColour)
|
||||||
drawColour (buffer);
|
drawColour (buffer);
|
||||||
else
|
else
|
||||||
drawMonochrome (buffer);
|
drawMonochrome (buffer);
|
||||||
@ -55,11 +56,10 @@ public class HiResImage extends AbstractFile
|
|||||||
unpackedBuffer = unpackBytes (buffer);
|
unpackedBuffer = unpackBytes (buffer);
|
||||||
makeScreen2 (unpackedBuffer);
|
makeScreen2 (unpackedBuffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fileType == 0xC0 && auxType == 2)
|
if (fileType == 0xC0 && auxType == 2)
|
||||||
{
|
|
||||||
System.out.println ("yippee - Preferred picture format - " + name);
|
System.out.println ("yippee - Preferred picture format - " + name);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public static void setDefaultColourQuirks (boolean value)
|
public static void setDefaultColourQuirks (boolean value)
|
||||||
{
|
{
|
||||||
@ -68,7 +68,7 @@ public class HiResImage extends AbstractFile
|
|||||||
|
|
||||||
public void setColourQuirks (boolean value)
|
public void setColourQuirks (boolean value)
|
||||||
{
|
{
|
||||||
if (colourQuirks == value)
|
if (colourQuirks == value || !drawColour)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
colourQuirks = value;
|
colourQuirks = value;
|
||||||
@ -79,32 +79,23 @@ public class HiResImage extends AbstractFile
|
|||||||
{
|
{
|
||||||
int rows = buffer.length <= 8192 ? 192 : 384;
|
int rows = buffer.length <= 8192 ? 192 : 384;
|
||||||
image = new BufferedImage (280, rows, BufferedImage.TYPE_BYTE_GRAY);
|
image = new BufferedImage (280, rows, BufferedImage.TYPE_BYTE_GRAY);
|
||||||
|
|
||||||
DataBuffer db = image.getRaster ().getDataBuffer ();
|
DataBuffer db = image.getRaster ().getDataBuffer ();
|
||||||
|
|
||||||
int element = 0;
|
int element = 0;
|
||||||
byte[] mask = { 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01 };
|
|
||||||
|
|
||||||
for (int z = 0; z < rows / 192; z++)
|
for (int page = 0; page < rows / 192; page++)
|
||||||
for (int i = 0; i < 3; i++)
|
for (int i = 0; i < 3; i++)
|
||||||
for (int j = 0; j < 8; j++)
|
for (int j = 0; j < 8; j++)
|
||||||
for (int k = 0; k < 8; k++)
|
for (int k = 0; k < 8; k++)
|
||||||
{
|
{
|
||||||
int base = i * 0x28 + j * 0x80 + k * 0x400 + z * 0x2000;
|
int base = page * 0x2000 + i * 0x28 + j * 0x80 + k * 0x400;
|
||||||
int max = Math.min (base + 40, buffer.length);
|
int max = Math.min (base + 40, buffer.length);
|
||||||
for (int ptr = base; ptr < max; ptr++)
|
for (int ptr = base; ptr < max; ptr++)
|
||||||
{
|
{
|
||||||
byte val = buffer[ptr];
|
int value = buffer[ptr] & 0x7F;
|
||||||
if (val == 0) // no pixels set
|
for (int px = 0; px < 7; px++)
|
||||||
{
|
{
|
||||||
element += 7;
|
int val = (value >> px) & 0x01; // get the next pixel to draw
|
||||||
continue;
|
db.setElem (element++, val == 0 ? 0 : 255);
|
||||||
}
|
|
||||||
for (int bit = 6; bit >= 0; bit--)
|
|
||||||
{
|
|
||||||
if ((val & mask[bit]) > 0)
|
|
||||||
db.setElem (element, 255);
|
|
||||||
element++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -114,7 +105,6 @@ public class HiResImage extends AbstractFile
|
|||||||
{
|
{
|
||||||
int rows = buffer.length <= 8192 ? 192 : 384;
|
int rows = buffer.length <= 8192 ? 192 : 384;
|
||||||
image = new BufferedImage (280, rows, BufferedImage.TYPE_INT_RGB);
|
image = new BufferedImage (280, rows, BufferedImage.TYPE_INT_RGB);
|
||||||
|
|
||||||
DataBuffer db = image.getRaster ().getDataBuffer ();
|
DataBuffer db = image.getRaster ().getDataBuffer ();
|
||||||
int element = 0;
|
int element = 0;
|
||||||
|
|
||||||
@ -153,7 +143,7 @@ public class HiResImage extends AbstractFile
|
|||||||
if (true)
|
if (true)
|
||||||
for (int x = 0; x < line.length - 1; x++)
|
for (int x = 0; x < line.length - 1; x++)
|
||||||
{
|
{
|
||||||
if (checkingColourBits && colourBits[x] != colourBits[x + 1])
|
if (matchColourBits && colourBits[x] != colourBits[x + 1])
|
||||||
continue; // only modify values with matching colour bits
|
continue; // only modify values with matching colour bits
|
||||||
|
|
||||||
int px0 = line[x];
|
int px0 = line[x];
|
||||||
@ -176,7 +166,7 @@ public class HiResImage extends AbstractFile
|
|||||||
{
|
{
|
||||||
for (int x = 0; x < line.length - 3; x++)
|
for (int x = 0; x < line.length - 3; x++)
|
||||||
{
|
{
|
||||||
if (checkingColourBits && colourBits[x] != colourBits[x + 3])
|
if (matchColourBits && colourBits[x] != colourBits[x + 3])
|
||||||
continue; // only modify values with matching colour bits
|
continue; // only modify values with matching colour bits
|
||||||
|
|
||||||
int px0 = line[x];
|
int px0 = line[x];
|
||||||
@ -278,8 +268,6 @@ public class HiResImage extends AbstractFile
|
|||||||
byte[] newBuf = new byte[32768];
|
byte[] newBuf = new byte[32768];
|
||||||
byte[] fourBuf = new byte[4];
|
byte[] fourBuf = new byte[4];
|
||||||
|
|
||||||
// System.out.println (HexFormatter.format (buffer));
|
|
||||||
|
|
||||||
int ptr = 0, newPtr = 0;
|
int ptr = 0, newPtr = 0;
|
||||||
while (ptr < buffer.length)
|
while (ptr < buffer.length)
|
||||||
{
|
{
|
||||||
@ -376,6 +364,7 @@ public class HiResImage extends AbstractFile
|
|||||||
{
|
{
|
||||||
if (buffer.length < 6)
|
if (buffer.length < 6)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
String text = new String (buffer, 0, 6);
|
String text = new String (buffer, 0, 6);
|
||||||
return text.equals ("GIF89a") || text.equals ("GIF87a");
|
return text.equals ("GIF89a") || text.equals ("GIF87a");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user