#!perl

$in=$ARGV[0];
$out=$ARGV[1];

$nin = $in;

$nin =~ s/\..*$/.txt/;

#print "->$nin";

print "convert $in TEXT:$nin\n";
system("convert $in TEXT:$nin");

$maxx=0;
$maxy=0;
open(IN,$nin) or die "Cannot read input file:$! \n";
while($line=<IN>)
{
if ($line =~ /^([0-9]+),([0-9]+):[\s\t]*([0-9]+),([0-9]+),([0-9]+)[\s\t]*.*$/)
{
$x=int($1);
$y=int($2);
$r=int($3);
$g=int($4);
$b=int($5);
if ($x>$maxx)
{
$maxx=$x;
}

if ($y>$maxy)
{
$maxy=$y;
}

$b=$b & 0xFC;
$g=$g & 0xFC;
$r=$r & 0xFC;

$value = ($r << 16) | ($g << 8) | $b;

$data{$x.":".$y}=$value;


}
}
close(IN);

$maxx=$maxx+1;
$maxy=$maxy+1;

open(OUT,">$out.c") or die "Cannot create outputfile: $!\n";

$length=$maxy*$maxx+1;

print OUT "const UINT32 $out"."[]={\n";
print OUT "$maxx,$maxy,$length,\n";
for($j=0;$j<$maxy;$j++)
{
  for($i=0;$i<$maxx;$i++)
{
  

   $ra=  (~$data{$i.":".$j}) & 0x0FFFFFF;
  

  $value=$ra;
  $result=sprintf "0x%08X",$value;
  print OUT "$result,\n";
}
}
print OUT "0x0\n";
print OUT "};\n";
close(OUT);

#rename "$out.c","E:\\BT\\Drivers\\Common\\R2D\\$out.c"
