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