?login_element?

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download

  1. Program xHERO;
  2. {Преобразует экранный файл в файл спрайтов 2х3 з.м. с маской}
  3. uses Crt,Graph;
  4. const
  5.  fn2='xhero';
  6.  frow=10;{к-во рядов}
  7. var
  8.  TF,ZF:File of Char;
  9.  name,name1,name2:string;
  10.  b:array [0..frow*48-1,0..31] of byte;
  11.  c:char;
  12.  n:Longint;
  13.  aa,bb,cc,dd:byte;
  14.  gr,modd,i,j,k,m:integer;
  15.  
  16. procedure her(fnn:string);
  17. begin
  18.   ClrScr;
  19.   n:=0;
  20.   Writeln('Конвертация экранных файлов');
  21.   Writeln('формата TIFF');
  22.   Writeln('в файлы спрайтов героев 2х3 для НЛО-2');
  23.  
  24.  begin name:='d:\''ufo2''\';
  25.   name1:=Name+'images\'+fnn+'.tif';
  26.   name2:=Name+'data\'+fnn+'.dat';
  27.   gr:=detect;
  28.   InitGraph(gr,modd,'d:\tp7\bgi\');
  29.  
  30.   Assign(ZF,name1);
  31.   Reset(ZF);
  32.   Assign(TF,name2);
  33.   Rewrite(TF);
  34.  
  35.   for i:=0 to 193 do begin
  36.        read(ZF,c);            {read/write Tiff prefix}
  37.        end;
  38.  
  39.   for m:=0 to frow-1 do                       {read Tiff screen}
  40.     for k:=0 to 47 do
  41.         for i:=0 to 31 do
  42.           begin
  43.             read(ZF,c);
  44.             b[m*48+k,i]:=ord(c) xor $ff;
  45.             for gr:=0 to 7 do
  46.              putpixel(i*8+gr,m*48+k,(ord(c) shr (7-gr) and 1)*14);
  47.           end;
  48.  
  49.   Close(ZF);
  50.   for i:=0 to frow-1 do
  51.   begin
  52.     for j:=0 to 15 do
  53.     begin
  54.       for k:=0 to 23 do
  55.       begin
  56.         for m:= 0 to 1 do
  57.         begin
  58.         bb:=b[i*48+k+24,j*2+m];
  59.         aa:=b[i*48+k,j*2+m] xor bb;
  60.         c:=chr(bb);
  61.         write(TF,c);
  62.         c:=chr(aa);
  63.         write(TF,c);
  64.         end;
  65.       end;
  66.     end;
  67.   end;
  68.  
  69.  
  70.   Close(TF);
  71.  
  72.   end;
  73.   repeat until KeyPressed;
  74.   CloseGraph;
  75.   ReadLn;
  76. end;
  77.  
  78. begin
  79.  her(fn2);
  80. end.