28984d6de1f8be6b6549a29984f776bf695518ba
[rocksndiamonds.git] / src / game_em / cave.h
1 /* 2009-01-25 23:00:34
2  *
3  * intermediate cave structure
4  */
5
6 #ifndef CAVE_H
7 #define CAVE_H
8
9 struct CAVE
10 {
11   int width;                    /* cave width */
12   int height;                   /* cave height */
13
14   int player_x[MAX_PLAYERS];    /* player x pos */
15   int player_y[MAX_PLAYERS];    /* player y pos */
16
17   int time_seconds;             /* available time (seconds) */
18   int gems_needed;              /* emeralds needed */
19
20   int eater_score;              /* score for killing eater */
21   int alien_score;              /* score for killing alien */
22   int bug_score;                /* score for killing bug */
23   int tank_score;               /* score for killing tank */
24   int slurp_score;              /* score for slurping alien with spring */
25   int nut_score;                /* score for cracking nut to emerald */
26   int emerald_score;            /* score for collecting emerald */
27   int diamond_score;            /* score for collecting diamond */
28   int dynamite_score;           /* score for collecting dynamite */
29   int key_score;                /* score for colleting key */
30   int lenses_score;             /* score for collecting lenses */
31   int magnify_score;            /* score for collecting magnifier */
32   int exit_score;               /* score for entering exit */
33
34   int android_move_time;        /* android move reset time */
35   int android_clone_time;       /* android clone reset time */
36   int ball_time;                /* ball reset time */
37   int amoeba_time;              /* amoeba speed */
38   int wonderwall_time;          /* wonderwall time */
39   int wheel_time;               /* wheel reset time */
40   int wheel_x;                  /* wheel x pos */
41   int wheel_y;                  /* wheel y pos */
42   int lenses_time;              /* lenses reset time */
43   int magnify_time;             /* magnify reset time */
44   int wind_time;                /* wind reset time */
45   int wind_direction;           /* wind direction */
46
47   int ball_random;              /* ball is random flag */
48   int ball_state;               /* ball active flag */
49   int wonderwall_state;         /* wonderwall active flag */
50   int wheel_cnt;                /* wheel counter */
51   int lenses_cnt;               /* lenses counter */
52   int magnify_cnt;              /* magnify counter */
53   int wind_cnt;                 /* wind time counter */
54
55   int num_ball_arrays;          /* number of ball data arrays used */
56
57   short eater_array[8][9];              /* eater data */
58   short ball_array[8][8];               /* ball data */
59   short android_array[TILE_MAX];        /* android clone data */
60
61   short cave[CAVE_WIDTH][CAVE_HEIGHT];  /* cave data */
62 };
63
64 #endif  // CAVE_H