home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume6 / pacman.p.h / fig.ins.pas < prev   
Pascal/Delphi Source File  |  1986-11-30  |  3KB  |  70 lines

  1. { ******************************************************** }
  2. { ******************************************************** }
  3. { *********                                      ********* }
  4. { *********    FIG.INS.PAS                       ********* }
  5. { *********                                      ********* }
  6. { *********    Insert file for MOBILE_FIGURE     ********* }
  7. { *********    Module.                           ********* }
  8. { *********                                      ********* }
  9. { *********    Written 12/24/84 by Geof Cooper   ********* }
  10. { *********                                      ********* }
  11. { ******************************************************** }
  12. { ******************************************************** }
  13. { Copyright (C) 1984, 1985, IMAGEN Corporation                              }
  14. { This software may be duplicated in part of in whole so long as [1] this   }
  15. { notice is preserved in the copy, and [2] no financial gain is derived     }
  16. { from the copy.  Copies of this software other than as restricted above    }
  17. { may be made only with the consent of the author.                          }
  18.                                                   
  19. CONST
  20.     num_orientations = 4;   { number of orientations of figure }
  21.     guage = 16;
  22.  
  23.     { orientations: set up so orientation*360/num_or. = angle }
  24.     or$right         = 0;
  25.     or$up            = 1;
  26.     or$left          = 2;
  27.     or$down          = 3;
  28.  
  29. TYPE
  30.     fig_$orientations = array[0..num_orientations-1] of gpr_$bitmap_desc_t;
  31.     fig_$rep = RECORD
  32.                 { bitmaps describing figure in all orientations }
  33.                 figures     : fig_$orientations;
  34.  
  35.                 { position on screen }
  36.                 position    : gpr_$position_t;
  37.  
  38.                 { orientation selects one of above }
  39.                 orientation : 0..num_orientations-1;
  40.     
  41.                 { velocity in direction of orientation, in pixels/unit time }
  42.                 velocity    : PInteger;
  43.               END;
  44.     fig_$t = ^fig_$rep;
  45.  
  46. PROCEDURE fig_$alloc_fig_bitmaps( OUT f: fig_$orientations ); EXTERN;
  47.  
  48. PROCEDURE fig_$create( IN figures: fig_$orientations;
  49.                        IN pos_x, pos_y: Integer;
  50.                        OUT r: fig_$t ); EXTERN;
  51.  
  52. PROCEDURE fig_$refresh( IN r: fig_$t ); EXTERN;
  53.  
  54. PROCEDURE fig_$move( IN r: fig_$t;
  55.                      IN pos: gpr_$position_t ); EXTERN;
  56. { ASSUMES that raster op is XOR }
  57.  
  58.  
  59. PROCEDURE fig_$elapse_time( IN r: fig_$t;
  60.                             IN t: PInteger;
  61.                             OUT newpos: gpr_$position_t ); EXTERN;
  62.  
  63. PROCEDURE fig_$turn( IN r: fig_$t; IN orient: PInteger ); EXTERN;
  64.  
  65. PROCEDURE fig_$set_velocity( IN r: fig_$t;
  66.                              IN velocity: PInteger ); EXTERN;
  67.  
  68. FUNCTION fig_$coincident( IN r1, r2: fig_$t ): BOOLEAN;
  69.     EXTERN;
  70.