rnd-20040814-1-src
[rocksndiamonds.git] / src / libem / tile.h
1 #ifndef TILE_H
2 #define TILE_H
3
4 /* 2000-07-30T11:06:03Z
5  */
6
7 /* define these for backwards compatibility */
8 #define BAD_ROLL
9 #define BAD_SPRING
10
11 enum {
12         Xblank = 0, /* still */
13         Yacid_splash_eB, /* hmm */
14         Yacid_splash_wB, /* hmm */
15
16 #ifdef BAD_ROLL
17         Xstone_force_e, /* only use these in eater */
18         Xstone_force_w,
19         Xnut_force_e,
20         Xnut_force_w,
21         Xspring_force_e,
22         Xspring_force_w,
23         Xemerald_force_e,
24         Xemerald_force_w,
25         Xdiamond_force_e,
26         Xdiamond_force_w,
27         Xbomb_force_e,
28         Xbomb_force_w,
29 #endif
30
31         Xstone,
32         Xstone_pause,
33         Xstone_fall,
34         Ystone_s,
35         Ystone_sB,
36         Ystone_e,
37         Ystone_eB,
38         Ystone_w,
39         Ystone_wB,
40         Xnut,
41         Xnut_pause,
42         Xnut_fall,
43         Ynut_s,
44         Ynut_sB,
45         Ynut_e,
46         Ynut_eB,
47         Ynut_w,
48         Ynut_wB,
49         Xbug_n,
50         Xbug_e,
51         Xbug_s,
52         Xbug_w,
53         Xbug_gon,
54         Xbug_goe,
55         Xbug_gos,
56         Xbug_gow,
57         Ybug_n,
58         Ybug_nB,
59         Ybug_e,
60         Ybug_eB,
61         Ybug_s,
62         Ybug_sB,
63         Ybug_w,
64         Ybug_wB,
65         Ybug_w_n,
66         Ybug_n_e,
67         Ybug_e_s,
68         Ybug_s_w,
69         Ybug_e_n,
70         Ybug_s_e,
71         Ybug_w_s,
72         Ybug_n_w,
73         Ybug_stone,
74         Ybug_spring,
75         Xtank_n,
76         Xtank_e,
77         Xtank_s,
78         Xtank_w,
79         Xtank_gon,
80         Xtank_goe,
81         Xtank_gos,
82         Xtank_gow,
83         Ytank_n,
84         Ytank_nB,
85         Ytank_e,
86         Ytank_eB,
87         Ytank_s,
88         Ytank_sB,
89         Ytank_w,
90         Ytank_wB,
91         Ytank_w_n,
92         Ytank_n_e,
93         Ytank_e_s,
94         Ytank_s_w,
95         Ytank_e_n,
96         Ytank_s_e,
97         Ytank_w_s,
98         Ytank_n_w,
99         Ytank_stone,
100         Ytank_spring,
101         Xandroid,
102         Xandroid_1_n,
103         Xandroid_2_n,
104         Xandroid_1_e,
105         Xandroid_2_e,
106         Xandroid_1_w,
107         Xandroid_2_w,
108         Xandroid_1_s,
109         Xandroid_2_s,
110         Yandroid_n,
111         Yandroid_nB,
112         Yandroid_ne,
113         Yandroid_neB,
114         Yandroid_e,
115         Yandroid_eB,
116         Yandroid_se,
117         Yandroid_seB,
118         Yandroid_s,
119         Yandroid_sB,
120         Yandroid_sw,
121         Yandroid_swB,
122         Yandroid_w,
123         Yandroid_wB,
124         Yandroid_nw,
125         Yandroid_nwB,
126         Xspring,
127         Xspring_pause,
128         Xspring_e,
129         Xspring_w,
130         Xspring_fall,
131         Yspring_s,
132         Yspring_sB,
133         Yspring_e,
134         Yspring_eB,
135         Yspring_w,
136         Yspring_wB,
137         Yspring_kill_e,
138         Yspring_kill_eB,
139         Yspring_kill_w,
140         Yspring_kill_wB,
141         Xeater_n,
142         Xeater_e,
143         Xeater_w,
144         Xeater_s,
145         Yeater_n,
146         Yeater_nB,
147         Yeater_e,
148         Yeater_eB,
149         Yeater_s,
150         Yeater_sB,
151         Yeater_w,
152         Yeater_wB,
153         Yeater_stone,
154         Yeater_spring,
155         Xalien,
156         Xalien_pause,
157         Yalien_n,
158         Yalien_nB,
159         Yalien_e,
160         Yalien_eB,
161         Yalien_s,
162         Yalien_sB,
163         Yalien_w,
164         Yalien_wB,
165         Yalien_stone,
166         Yalien_spring,
167         Xemerald,
168         Xemerald_pause,
169         Xemerald_fall,
170         Xemerald_shine,
171         Yemerald_s,
172         Yemerald_sB,
173         Yemerald_e,
174         Yemerald_eB,
175         Yemerald_w,
176         Yemerald_wB,
177         Yemerald_eat,
178         Yemerald_stone,
179         Xdiamond,
180         Xdiamond_pause,
181         Xdiamond_fall,
182         Xdiamond_shine,
183         Ydiamond_s,
184         Ydiamond_sB,
185         Ydiamond_e,
186         Ydiamond_eB,
187         Ydiamond_w,
188         Ydiamond_wB,
189         Ydiamond_eat,
190         Ydiamond_stone,
191         Xdrip_fall,
192         Xdrip_stretch,
193         Xdrip_stretchB,
194         Xdrip_eat,
195         Ydrip_s1,
196         Ydrip_s1B,
197         Ydrip_s2,
198         Ydrip_s2B,
199         Xbomb,
200         Xbomb_pause,
201         Xbomb_fall,
202         Ybomb_s,
203         Ybomb_sB,
204         Ybomb_e,
205         Ybomb_eB,
206         Ybomb_w,
207         Ybomb_wB,
208         Ybomb_eat,
209         Xballoon,
210         Yballoon_n,
211         Yballoon_nB,
212         Yballoon_e,
213         Yballoon_eB,
214         Yballoon_s,
215         Yballoon_sB,
216         Yballoon_w,
217         Yballoon_wB,
218         Xgrass,
219         Ygrass_nB,
220         Ygrass_eB,
221         Ygrass_sB,
222         Ygrass_wB,
223         Xdirt,
224         Ydirt_nB,
225         Ydirt_eB,
226         Ydirt_sB,
227         Ydirt_wB,
228         Xacid_ne,
229         Xacid_se,
230         Xacid_s,
231         Xacid_sw,
232         Xacid_nw,
233         Xacid_1,
234         Xacid_2,
235         Xacid_3,
236         Xacid_4,
237         Xacid_5,
238         Xacid_6,
239         Xacid_7,
240         Xacid_8,
241         Xball_1,
242         Xball_1B,
243         Xball_2,
244         Xball_2B,
245         Yball_eat,
246         Xgrow_ns,
247         Ygrow_ns_eat,
248         Xgrow_ew,
249         Ygrow_ew_eat,
250         Xwonderwall,
251         XwonderwallB,
252         Xameuba_1,
253         Xameuba_2,
254         Xameuba_3,
255         Xameuba_4,
256         Xameuba_5,
257         Xameuba_6,
258         Xameuba_7,
259         Xameuba_8,
260         Xdoor_1,
261         Xdoor_2,
262         Xdoor_3,
263         Xdoor_4,
264         Xdoor_5,
265         Xdoor_6,
266         Xdoor_7,
267         Xdoor_8,
268         Xkey_1,
269         Xkey_2,
270         Xkey_3,
271         Xkey_4,
272         Xkey_5,
273         Xkey_6,
274         Xkey_7,
275         Xkey_8,
276         Xwind_n,
277         Xwind_e,
278         Xwind_s,
279         Xwind_w,
280         Xwind_nesw,
281         Xwind_stop,
282         Xexit,
283         Xexit_1,
284         Xexit_2,
285         Xexit_3,
286         Xdynamite,
287         Ydynamite_eat,
288         Xdynamite_1,
289         Xdynamite_2,
290         Xdynamite_3,
291         Xdynamite_4,
292         Xbumper,
293         XbumperB,
294         Xwheel,
295         XwheelB,
296         Xswitch,
297         XswitchB,
298         Xsand,
299         Xsand_stone,
300         Xsand_stonein_1,
301         Xsand_stonein_2,
302         Xsand_stonein_3,
303         Xsand_stonein_4,
304         Xsand_stonesand_1,
305         Xsand_stonesand_2,
306         Xsand_stonesand_3,
307         Xsand_stonesand_4,
308         Xsand_stoneout_1,
309         Xsand_stoneout_2,
310         Xsand_sandstone_1,
311         Xsand_sandstone_2,
312         Xsand_sandstone_3,
313         Xsand_sandstone_4,
314         Xplant,
315         Yplant,
316         Xlenses,
317         Xmagnify,
318         Xdripper,
319         XdripperB,
320         Xfake_blank,
321         Xfake_blankB,
322         Xfake_grass,
323         Xfake_grassB,
324         Xfake_door_1,
325         Xfake_door_2,
326         Xfake_door_3,
327         Xfake_door_4,
328         Xfake_door_5,
329         Xfake_door_6,
330         Xfake_door_7,
331         Xfake_door_8,
332         Xsteel_1,
333         Xsteel_2,
334         Xsteel_3,
335         Xsteel_4,
336         Xwall_1,
337         Xwall_2,
338         Xwall_3,
339         Xwall_4,
340         Xround_wall_1,
341         Xround_wall_2,
342         Xround_wall_3,
343         Xround_wall_4,
344         Xdecor_1,
345         Xdecor_2,
346         Xdecor_3,
347         Xdecor_4,
348         Xdecor_5,
349         Xdecor_6,
350         Xdecor_7,
351         Xdecor_8,
352         Xdecor_9,
353         Xdecor_10,
354         Xdecor_11,
355         Xdecor_12,
356         Xalpha_0,
357         Xalpha_1,
358         Xalpha_2,
359         Xalpha_3,
360         Xalpha_4,
361         Xalpha_5,
362         Xalpha_6,
363         Xalpha_7,
364         Xalpha_8,
365         Xalpha_9,
366         Xalpha_excla,
367         Xalpha_quote,
368         Xalpha_comma,
369         Xalpha_minus,
370         Xalpha_perio,
371         Xalpha_colon,
372         Xalpha_quest,
373         Xalpha_a,
374         Xalpha_b,
375         Xalpha_c,
376         Xalpha_d,
377         Xalpha_e,
378         Xalpha_f,
379         Xalpha_g,
380         Xalpha_h,
381         Xalpha_i,
382         Xalpha_j,
383         Xalpha_k,
384         Xalpha_l,
385         Xalpha_m,
386         Xalpha_n,
387         Xalpha_o,
388         Xalpha_p,
389         Xalpha_q,
390         Xalpha_r,
391         Xalpha_s,
392         Xalpha_t,
393         Xalpha_u,
394         Xalpha_v,
395         Xalpha_w,
396         Xalpha_x,
397         Xalpha_y,
398         Xalpha_z,
399         Xalpha_arrow_e,
400         Xalpha_arrow_w,
401         Xalpha_copyr,
402
403         Xboom_bug, /* passed from explode to synchro (linked explosion); transition to explode_normal */
404         Xboom_bomb, /* passed from explode to synchro (linked explosion); transition to explode_normal */
405         Xboom_android, /* passed from explode to synchro; transition to boom_2 */
406         Xboom_1, /* passed from explode to synchro; transition to boom_2 */
407         Xboom_2, /* transition to boom[] */
408
409         Znormal, /* no picture */ /* this tile is passed from synchro to explode, only in next[] */
410         Zdynamite, /* no picture */ /* this tile is passed from synchro to explode, only in next[] */
411         Zplayer, /* no picture */ /* special code to indicate player */
412         ZBORDER, /* no picture */ /* special code to indicate border */
413
414         TILE_MAX
415 };
416
417 enum {
418         SPR_still = 0,
419         SPR_walk = 1,
420         SPR_push = 5,
421         SPR_spray = 9,
422         SPR_MAX = 13
423 };
424
425 extern unsigned char tab_blank[TILE_MAX];
426 extern unsigned char tab_acid[TILE_MAX];
427 extern unsigned char tab_ameuba[TILE_MAX];
428 extern unsigned char tab_android_move[TILE_MAX];
429 extern unsigned short tab_explode_normal[TILE_MAX];
430 extern unsigned short tab_explode_dynamite[TILE_MAX];
431
432 extern unsigned short map_obj[8][TILE_MAX];
433 extern unsigned short map_spr[2][8][SPR_MAX];
434 extern unsigned short map_ttl[128];
435
436 #endif