home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 2 / crawlyvol2.bin / games / wcoltris / source / cltr.h < prev    next >
C/C++ Source or Header  |  1994-12-27  |  2KB  |  113 lines

  1. typedef unsigned int    uint;
  2.  
  3. extern int buffer_width,buffer_height;
  4. extern long buffer_size;
  5.  
  6. typedef struct {
  7.     int start_level;
  8.     int random;
  9.     int score;            /* 0 hide    1 show */
  10.     int preview;
  11.     int statistic;
  12. } GAME_OPTS;
  13.  
  14. typedef struct {
  15.     char name[14];
  16.     uint date;
  17.     uint score;
  18. } HI_SCORE;
  19.  
  20. typedef enum {
  21.     PM_TETRIS,
  22.     PM_COLUMNS,
  23. } PLAY_MODE;
  24.  
  25. typedef struct {
  26.     int x;
  27.     int y;
  28. } WIND_POS;
  29.  
  30. typedef struct {
  31.     WIND_POS wind_pos[4];    /* WORK-Koord. */
  32.     int desk_x,desk_y,desk_w,desk_h;
  33. } POSITION;
  34.  
  35. typedef struct {
  36.     PLAY_MODE play_mode;
  37.  
  38.     int dummy[4];
  39.     int cycle;            /* 0 none, 1 play, 2 all */
  40.     int top;            /* 1 toppe alle fenster */
  41.     int multi;            /* 0 single, 1 multi */
  42.     int graph;            /* 0 direkt, 1 vdi */
  43.     int left;
  44.     int right;
  45.     int rotate;
  46.     int drop;
  47.     HI_SCORE tet_hi[10];    
  48.     HI_SCORE col_hi[10];    
  49.  
  50.     GAME_OPTS tetris;
  51.     GAME_OPTS columns;
  52.  
  53.     POSITION pos[8];
  54. } OPTS;
  55.  
  56. extern OPTS opts;
  57.  
  58. typedef enum {
  59.     NO_KEY,
  60.     K_LEFT,
  61.     K_RIGHT,
  62.     K_ROTATE,
  63.     K_DROP,
  64.     K_LEVEL,
  65.     K_NEXT,
  66.     K_INFO,
  67.     K_STAT,
  68.     K_STOP,
  69.     K_QUIT,
  70. } KEY;
  71.  
  72. extern int handle;
  73.  
  74. extern MFDB screen;
  75.  
  76. extern int preview_flag;        /* 0 off, 1 on */
  77. extern int prev_x,prev_y,prev_w,prev_h;
  78. extern int stat_flag;            /* 0 off, 1 tetris, 2 columns */
  79. extern int stat_x_off,stat_y_off;
  80.  
  81. KEY get_key(void);
  82. int xget_key(void);
  83. void clr_keys(void);
  84. long gettime(void);
  85. void init_wait(void);
  86. void do_wait(int ms);
  87. uint calc_delay(uint level);
  88. void dr_score(uint,uint,uint,uint);
  89.  
  90. void set_preview(void);
  91. void set_score(void);
  92. void set_statistic(void);
  93.  
  94. void init_stat(void);
  95. void exit_stat(void);
  96. void dr_stat(uint *stat);
  97.  
  98. void init_quickcopy(void);
  99. void inv_feld(void);
  100.  
  101. void do_score(uint score,HI_SCORE *hi);
  102.  
  103. long xrandom(void);
  104.  
  105. int check_recs(int x,int y,int w,int h,int *x1,int *y1,int *w1,int *h1);
  106. typedef void (*Draw_Funct)(void *data,int x,int y,int w,int h);
  107. void draw_preview(Draw_Funct draw,void *data);
  108.  
  109. typedef void (*Copy_Out)(void);
  110. extern Copy_Out copy_out;
  111. extern int copy_min,copy_max;
  112.  
  113.