public BDYImage(Palette p,Stream s,int width, int height)
{
BinaryReader data = new BinaryReader(s);
idx = new byte[width*height];
for(int i=0;i<idx.Length;i++)
idx[i]=254;
int x = 0;
while(data.BaseStream.Position<data.BaseStream.Length)
{
int space = data.ReadByte();
byte c = data.ReadByte();
if(space>=129)
{
space = 256-space+1;
for(int i=0;i<space;i++)
idx[x++]=c;
}
else
{
idx[x++]=c;
for(int i=0;i<space;i++)
{
c=data.ReadByte();
idx[x++]=c;
}
}
}
image = Bmp.MakeBitmap8(320,200,idx,p.Colors);
Palette=p;
data.Close();
}