home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / library / dos / grafik / tp6vga / sprload.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1992-10-29  |  1.2 KB  |  65 lines

  1. unit sprload;
  2. {$D-}
  3. interface
  4.  
  5. uses graph;
  6.  
  7. procedure load(destfile:string);
  8. Procedure loadsprite(FileName:string;var pointr:pointer);
  9. Procedure loadsprte(FileName:string;var pointr:pointer);
  10.  
  11. implementation
  12.  
  13. var borderx,bordery:byte;
  14.  
  15. procedure putpixel(x,y:integer;color:byte); assembler;
  16. asm
  17.         mov     ax,$a000
  18.         mov     es,ax
  19.     mov    ax,320
  20.     mul    y
  21.     add    ax,x
  22.     mov    bx,ax
  23.     mov    al,color
  24.     mov    es:[bx],al
  25. end;
  26.  
  27. procedure load(destfile:string);
  28. var t,x,y:byte;
  29.     fle:file of byte;
  30. begin
  31.  assign(fle,destfile);
  32.  reset(fle);
  33.  read(fle,borderx,bordery);
  34.  for x:=1 to borderx do
  35.   for y:=1 to bordery do
  36.    begin
  37.     read(fle,t);
  38.     putpixel(x,y,t)
  39.    end;
  40.  close(fle)
  41. end;
  42.  
  43.  
  44. Procedure loadsprite(FileName:string;var pointr:pointer);
  45. var size:word;
  46.     q:byte;
  47. begin
  48.  load(FileName);
  49.  getmem(pointr,imagesize(1,1,borderx,bordery));
  50.  getimage(1,1,borderx,bordery,pointr^)
  51. end;
  52.  
  53. Procedure loadsprte(FileName:string;var pointr:pointer);
  54. var size:word;
  55.     q:byte;
  56. begin
  57.  load(FileName);
  58.  getmem(pointr,85);
  59.  getimage(1,1,borderx,bordery,pointr^)
  60. end;
  61.  
  62. {Syntax :
  63.  loadsprite(filename,pointername);        -- loads sprite to pointer
  64.  }
  65. end.