fixed checking position of inactive players
[rocksndiamonds.git] / src / tools.c
index e19a352f9e9909da637a1879f2ce422de45b8864..8b8f2a95b43183d4ac7250ab66917eea751d5b2b 100644 (file)
@@ -5738,6 +5738,61 @@ static struct Mapping_EM_to_RND_object
 }
 em_object_mapping_list[] =
 {
+  {
+    Zborder,                           FALSE,  FALSE,
+    EL_EMPTY,                          -1, -1
+  },
+  {
+    Zplayer,                           FALSE,  FALSE,
+    EL_EMPTY,                          -1, -1
+  },
+
+  {
+    Zbug,                              FALSE,  FALSE,
+    EL_EMPTY,                          -1, -1
+  },
+  {
+    Ztank,                             FALSE,  FALSE,
+    EL_EMPTY,                          -1, -1
+  },
+  {
+    Zeater,                            FALSE,  FALSE,
+    EL_EMPTY,                          -1, -1
+  },
+  {
+    Zdynamite,                         FALSE,  FALSE,
+    EL_EMPTY,                          -1, -1
+  },
+  {
+    Zboom,                             FALSE,  FALSE,
+    EL_EMPTY,                          -1, -1
+  },
+
+  {
+    Xchain,                            FALSE,  FALSE,
+    EL_DEFAULT,                                ACTION_EXPLODING, -1
+  },
+  {
+    Xboom_bug,                         FALSE,  FALSE,
+    EL_BUG,                            ACTION_EXPLODING, -1
+  },
+  {
+    Xboom_tank,                                FALSE,  FALSE,
+    EL_SPACESHIP,                      ACTION_EXPLODING, -1
+  },
+  {
+    Xboom_android,                     FALSE,  FALSE,
+    EL_EMC_ANDROID,                    ACTION_OTHER, -1
+  },
+  {
+    Xboom_1,                           FALSE,  FALSE,
+    EL_DEFAULT,                                ACTION_EXPLODING, -1
+  },
+  {
+    Xboom_2,                           FALSE,  FALSE,
+    EL_DEFAULT,                                ACTION_EXPLODING, -1
+  },
+
   {
     Xblank,                            TRUE,   FALSE,
     EL_EMPTY,                          -1, -1
@@ -7422,43 +7477,6 @@ em_object_mapping_list[] =
     EL_SAND,                           ACTION_SNAPPING, -1
   },
 
-  {
-    Xboom_bug,                         FALSE,  FALSE,
-    EL_BUG,                            ACTION_EXPLODING, -1
-  },
-  {
-    Xboom_bomb,                                FALSE,  FALSE,
-    EL_BOMB,                           ACTION_EXPLODING, -1
-  },
-  {
-    Xboom_android,                     FALSE,  FALSE,
-    EL_EMC_ANDROID,                    ACTION_OTHER, -1
-  },
-  {
-    Xboom_1,                           FALSE,  FALSE,
-    EL_DEFAULT,                                ACTION_EXPLODING, -1
-  },
-  {
-    Xboom_2,                           FALSE,  FALSE,
-    EL_DEFAULT,                                ACTION_EXPLODING, -1
-  },
-  {
-    Znormal,                           FALSE,  FALSE,
-    EL_EMPTY,                          -1, -1
-  },
-  {
-    Zdynamite,                         FALSE,  FALSE,
-    EL_EMPTY,                          -1, -1
-  },
-  {
-    Zplayer,                           FALSE,  FALSE,
-    EL_EMPTY,                          -1, -1
-  },
-  {
-    Zborder,                           FALSE,  FALSE,
-    EL_EMPTY,                          -1, -1
-  },
-
   {
     -1,                                        FALSE,  FALSE,
     -1,                                        -1, -1
@@ -7751,7 +7769,7 @@ int map_element_EM_to_RND(int element_em)
 void map_android_clone_elements_RND_to_EM(struct LevelInfo *level)
 {
   struct LevelInfo_EM *level_em = level->native_em_level;
-  struct LEVEL *cav = level_em->cav;
+  struct CAVE *cav = level_em->cav;
   int i, j;
 
   for (i = 0; i < TILE_MAX; i++)
@@ -7771,7 +7789,7 @@ void map_android_clone_elements_RND_to_EM(struct LevelInfo *level)
 void map_android_clone_elements_EM_to_RND(struct LevelInfo *level)
 {
   struct LevelInfo_EM *level_em = level->native_em_level;
-  struct LEVEL *cav = level_em->cav;
+  struct CAVE *cav = level_em->cav;
   int i, j;
 
   level->num_android_clone_elements = 0;
@@ -8683,7 +8701,7 @@ void InitGraphicInfo_EM(void)
       boolean has_action_graphics = (graphic != base_graphic);
       boolean has_crumbled_graphics = (base_crumbled != base_graphic);
       struct GraphicInfo *g = &graphic_info[graphic];
-      struct GraphicInfo_EM *g_em = &graphic_info_em_object[i][7 - j];
+      struct GraphicInfo_EM *g_em = &graphic_info_em_object[i][j];
       Bitmap *src_bitmap;
       int src_x, src_y;
       // ensure to get symmetric 3-frame, 2-delay animations as used in EM
@@ -8767,13 +8785,13 @@ void InitGraphicInfo_EM(void)
                        i == Xboom_bug && j == 5 ? 2 :
                        i == Xboom_bug && j == 6 ? 2 :
                        i == Xboom_bug && j == 7 ? 0 :
-                       i == Xboom_bomb && j == 1 ? 2 :
-                       i == Xboom_bomb && j == 2 ? 2 :
-                       i == Xboom_bomb && j == 3 ? 4 :
-                       i == Xboom_bomb && j == 4 ? 4 :
-                       i == Xboom_bomb && j == 5 ? 2 :
-                       i == Xboom_bomb && j == 6 ? 2 :
-                       i == Xboom_bomb && j == 7 ? 0 :
+                       i == Xboom_tank && j == 1 ? 2 :
+                       i == Xboom_tank && j == 2 ? 2 :
+                       i == Xboom_tank && j == 3 ? 4 :
+                       i == Xboom_tank && j == 4 ? 4 :
+                       i == Xboom_tank && j == 5 ? 2 :
+                       i == Xboom_tank && j == 6 ? 2 :
+                       i == Xboom_tank && j == 7 ? 0 :
                        i == Xboom_android && j == 7 ? 6 :
                        i == Xboom_1 && j == 1 ? 2 :
                        i == Xboom_1 && j == 2 ? 2 :
@@ -8914,8 +8932,8 @@ void InitGraphicInfo_EM(void)
                 Xspring);
 
        // no separate animation for "smashed by rock" -- use rock instead
-       struct GraphicInfo_EM *g_em = &graphic_info_em_object[i][7 - j];
-       struct GraphicInfo_EM *g_xx = &graphic_info_em_object[e][7 - j];
+       struct GraphicInfo_EM *g_em = &graphic_info_em_object[i][j];
+       struct GraphicInfo_EM *g_xx = &graphic_info_em_object[e][j];
 
        g_em->bitmap            = g_xx->bitmap;
        g_em->src_x             = g_xx->src_x;
@@ -8951,7 +8969,7 @@ void InitGraphicInfo_EM(void)
                       el_act_dir2img(effective_element, effective_action,
                                      direction));
        struct GraphicInfo *g = &graphic_info[graphic];
-       struct GraphicInfo_EM *g_em = &graphic_info_em_player[p][i][7 - j];
+       struct GraphicInfo_EM *g_em = &graphic_info_em_player[p][i][j];
        Bitmap *src_bitmap;
        int src_x, src_y;
        int sync_frame = j;