2015-06-01 09:35:51 +00:00
|
|
|
package com.bytezone.diskbrowser.applefile;
|
|
|
|
|
|
|
|
public class WizardryTitle extends AbstractFile
|
|
|
|
{
|
2016-12-17 22:07:55 +00:00
|
|
|
public WizardryTitle (String name, byte[] buffer)
|
|
|
|
{
|
|
|
|
super (name, buffer);
|
|
|
|
}
|
2015-06-01 09:35:51 +00:00
|
|
|
|
2016-12-17 22:07:55 +00:00
|
|
|
@Override
|
|
|
|
public String getText ()
|
|
|
|
{
|
|
|
|
int size = 20;
|
|
|
|
StringBuilder text = new StringBuilder ();
|
|
|
|
for (int i = 0; i < buffer.length; i += size)
|
|
|
|
{
|
|
|
|
for (int line = 0; line < size; line++)
|
|
|
|
{
|
|
|
|
int p = i + line;
|
|
|
|
if (p >= buffer.length)
|
|
|
|
break;
|
|
|
|
int value = buffer[p] & 0xFF;
|
|
|
|
text = decode2 (value, text);
|
|
|
|
}
|
|
|
|
text.append ("\n");
|
|
|
|
}
|
|
|
|
return text.toString ();
|
|
|
|
}
|
2015-06-01 09:35:51 +00:00
|
|
|
|
2016-12-17 22:07:55 +00:00
|
|
|
private StringBuilder decode (int value, StringBuilder text)
|
|
|
|
{
|
|
|
|
for (int bit = 0; bit < 8; bit++)
|
|
|
|
{
|
|
|
|
text.append ((value & 0x01) == 1 ? "X" : " ");
|
|
|
|
value >>= 1;
|
|
|
|
}
|
|
|
|
return text;
|
|
|
|
}
|
2015-06-01 09:35:51 +00:00
|
|
|
|
2016-12-17 22:07:55 +00:00
|
|
|
private StringBuilder decode2 (int value, StringBuilder text)
|
|
|
|
{
|
|
|
|
for (int bit = 7; bit >= 0; bit--)
|
|
|
|
{
|
|
|
|
text.append ((value & 0x01) == 1 ? "X" : " ");
|
|
|
|
value >>= 1;
|
|
|
|
}
|
|
|
|
return text;
|
|
|
|
}
|
2015-06-01 09:35:51 +00:00
|
|
|
}
|