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