rnd-20060319-2-src
[rocksndiamonds.git] / src / game_em / tab_generate.c
index ff8ea4a7e1347603bd845991db7b40a104766365..8a3f731ad55ccf0549658b5d326fde7ba2796784 100644 (file)
  * modify.
  */
 
-#include "tile.h"
-#include "display.h"
+#include "main_em.h"
 
 
-/* ---------------------------------------------------------------------- */
+/* ------------------------------------------------------------------------- */
 
 /* 0=stop 1=blank */
 int tile_blank[] =
@@ -69,7 +68,8 @@ int tile_android_move[] =
   TILE_MAX
 };
 
-/* ---------------------------------------------------------------------- */
+
+/* ------------------------------------------------------------------------- */
 
 /* explosions: special format */
 /* everything is initially filled with Xboom_1 */
@@ -152,7 +152,8 @@ int tile_explode[] =
   TILE_MAX                     /* up until here are dynamite explosions */
 };
 
-/* ---------------------------------------------------------------------- */
+
+/* ------------------------------------------------------------------------- */
 
 /* map the graphics file to internal tiles and animations
  *
@@ -306,7 +307,12 @@ int obj_map[] =
   Xsand_stoneout_1, 1,
   Xsand_stoneout_1, 0,
   -1,
+
+#if 0
+  /* use normal "Xblank" instead of explicit x==0, y==2 empty space graphic */
   Ynut_sB, 7,
+#endif
+
   -1,
   -1,
   Ynut_sB, 6,
@@ -4430,7 +4436,7 @@ unsigned short map_ttl[128];
 struct GraphicInfo_EM graphic_info_em_object[TILE_MAX][8];
 
 /* map player number, frames and action to graphic info */
-struct GraphicInfo_EM graphic_info_em_player[2][SPR_MAX][8];
+struct GraphicInfo_EM graphic_info_em_player[MAX_PLAYERS][SPR_MAX][8];
 
 void create_tab(int *invert, unsigned char *array)
 {
@@ -4597,6 +4603,14 @@ void create_obj_graphics_info_em()
       g->width = TILEX;
       g->height = TILEY;
 
+      g->crumbled_bitmap = NULL;
+      g->crumbled_src_x = 0;
+      g->crumbled_src_y = 0;
+      g->crumbled_border_size = 0;
+
+      g->has_crumbled_graphics = FALSE;
+      g->preserve_background = FALSE;
+
       /* create unique graphic identifier to decide if tile must be redrawn */
       g->unique_identifier = obj;
     }
@@ -4628,14 +4642,14 @@ void create_spr_graphics_info_em()
 {
   int i, j, k;
 
-  for (i = 0; i < 2; i++)
+  for (i = 0; i < MAX_PLAYERS; i++)
   {
     for (j = 0; j < SPR_MAX; j++)
     {
       for (k = 0; k < 8; k++)
       {
        struct GraphicInfo_EM *g = &graphic_info_em_player[i][j][k];
-       int spr = map_spr[i][k][j];
+       int spr = map_spr[i % 2][k][j];
 
        g->bitmap = sprBitmap;
        g->src_x = (spr / 8) * TILEX;
@@ -4646,6 +4660,14 @@ void create_spr_graphics_info_em()
        g->dst_offset_y = 0;
        g->width = TILEX;
        g->height = TILEY;
+
+       g->has_crumbled_graphics = FALSE;
+       g->crumbled_bitmap = NULL;
+       g->crumbled_src_x = 0;
+       g->crumbled_src_y = 0;
+       g->crumbled_border_size = 0;
+
+       g->unique_identifier = 0;
       }
     }
   }