rnd-20070219-1-src
[rocksndiamonds.git] / src / init.c
index 889311500b15501dd1c7734053a4f14e44d89de6..0521c3b7d5b3852e5d2ae4ade8c3589b7b6ea622 100644 (file)
@@ -975,6 +975,8 @@ static void set_graphic_parameters(int graphic)
   graphic_info[graphic].fade_delay = -1;
   graphic_info[graphic].post_delay = -1;
   graphic_info[graphic].auto_delay = -1;
+  graphic_info[graphic].align = ALIGN_CENTER;  /* default for title screens */
+  graphic_info[graphic].sort_priority = 0;     /* default for title screens */
 
 #if 1
   /* optional zoom factor for scaling up the image to a larger size */
@@ -1167,6 +1169,10 @@ static void set_graphic_parameters(int graphic)
     graphic_info[graphic].post_delay = parameter[GFX_ARG_POST_DELAY];
   if (parameter[GFX_ARG_AUTO_DELAY] != ARG_UNDEFINED_VALUE)
     graphic_info[graphic].auto_delay = parameter[GFX_ARG_AUTO_DELAY];
+  if (parameter[GFX_ARG_ALIGN] != ARG_UNDEFINED_VALUE)
+    graphic_info[graphic].align = parameter[GFX_ARG_ALIGN];
+  if (parameter[GFX_ARG_SORT_PRIORITY] != ARG_UNDEFINED_VALUE)
+    graphic_info[graphic].sort_priority = parameter[GFX_ARG_SORT_PRIORITY];
 }
 
 static void set_cloned_graphic_parameters(int graphic)
@@ -2061,7 +2067,7 @@ void InitElementPropertiesStatic()
     EL_SP_DISK_RED,
     EL_PEARL,
     EL_CRYSTAL,
-    EL_KEY_WHITE,
+    EL_DC_KEY_WHITE,
     EL_SHIELD_NORMAL,
     EL_SHIELD_DEADLY,
     EL_EXTRA_TIME,
@@ -2263,6 +2269,10 @@ void InitElementPropertiesStatic()
     EL_EMC_GATE_6_GRAY_ACTIVE,
     EL_EMC_GATE_7_GRAY_ACTIVE,
     EL_EMC_GATE_8_GRAY_ACTIVE,
+    EL_DC_GATE_WHITE,
+    EL_DC_GATE_WHITE_GRAY,
+    EL_DC_GATE_WHITE_GRAY_ACTIVE,
+    EL_DC_GATE_FAKE_GRAY,
     EL_SWITCHGATE_OPEN,
     EL_SWITCHGATE_OPENING,
     EL_SWITCHGATE_CLOSED,
@@ -2385,8 +2395,10 @@ void InitElementPropertiesStatic()
     EL_NUT,
     EL_AMOEBA_DROP,
     EL_QUICKSAND_FULL,
+    EL_QUICKSAND_FAST_FULL,
     EL_MAGIC_WALL_FULL,
     EL_BD_MAGIC_WALL_FULL,
+    EL_DC_MAGIC_WALL_FULL,
     EL_TIME_ORB_FULL,
     EL_TIME_ORB_EMPTY,
     EL_SP_ZONK,
@@ -2586,6 +2598,9 @@ void InitElementPropertiesStatic()
     EL_EMC_GATE_6_GRAY_ACTIVE,
     EL_EMC_GATE_7_GRAY_ACTIVE,
     EL_EMC_GATE_8_GRAY_ACTIVE,
+    EL_DC_GATE_WHITE,
+    EL_DC_GATE_WHITE_GRAY,
+    EL_DC_GATE_WHITE_GRAY_ACTIVE,
     EL_SWITCHGATE_OPEN,
     EL_TIMEGATE_OPEN,
 
@@ -2698,6 +2713,9 @@ void InitElementPropertiesStatic()
     EL_EMC_GATE_6_GRAY_ACTIVE,
     EL_EMC_GATE_7_GRAY_ACTIVE,
     EL_EMC_GATE_8_GRAY_ACTIVE,
+    EL_DC_GATE_WHITE,
+    EL_DC_GATE_WHITE_GRAY,
+    EL_DC_GATE_WHITE_GRAY_ACTIVE,
     EL_SWITCHGATE_OPEN,
     EL_TIMEGATE_OPEN,
 
@@ -2827,6 +2845,22 @@ void InitElementPropertiesStatic()
     -1
   };
 
+  static int ep_can_pass_dc_magic_wall[] =
+  {
+    EL_ROCK,
+    EL_BD_ROCK,
+    EL_EMERALD,
+    EL_BD_DIAMOND,
+    EL_EMERALD_YELLOW,
+    EL_EMERALD_RED,
+    EL_EMERALD_PURPLE,
+    EL_DIAMOND,
+    EL_PEARL,
+    EL_CRYSTAL,
+
+    -1
+  };
+
   static int ep_switchable[] =
   {
     EL_ROBOT_WHEEL,
@@ -3423,6 +3457,17 @@ void InitElementPropertiesStatic()
     -1
   };
 
+  static int ep_acid_pool[] =
+  {
+    EL_ACID_POOL_TOPLEFT,
+    EL_ACID_POOL_TOPRIGHT,
+    EL_ACID_POOL_BOTTOMLEFT,
+    EL_ACID_POOL_BOTTOM,
+    EL_ACID_POOL_BOTTOMRIGHT,
+
+    -1
+  };
+
   static int ep_keygate[] =
   {
     EL_GATE_1,
@@ -3461,6 +3506,9 @@ void InitElementPropertiesStatic()
     EL_EMC_GATE_6_GRAY_ACTIVE,
     EL_EMC_GATE_7_GRAY_ACTIVE,
     EL_EMC_GATE_8_GRAY_ACTIVE,
+    EL_DC_GATE_WHITE,
+    EL_DC_GATE_WHITE_GRAY,
+    EL_DC_GATE_WHITE_GRAY_ACTIVE,
 
     -1
   };
@@ -3553,6 +3601,7 @@ void InitElementPropertiesStatic()
     EL_STEELWALL,
     EL_AMOEBA_DEAD,
     EL_QUICKSAND_EMPTY,
+    EL_QUICKSAND_FAST_EMPTY,
     EL_STONEBLOCK,
     EL_ROBOT_WHEEL,
     EL_KEY_1,
@@ -3603,6 +3652,10 @@ void InitElementPropertiesStatic()
     EL_EMC_GATE_6_GRAY_ACTIVE,
     EL_EMC_GATE_7_GRAY_ACTIVE,
     EL_EMC_GATE_8_GRAY_ACTIVE,
+    EL_DC_GATE_WHITE,
+    EL_DC_GATE_WHITE_GRAY,
+    EL_DC_GATE_WHITE_GRAY_ACTIVE,
+    EL_DC_GATE_FAKE_GRAY,
     EL_DYNAMITE,
     EL_EM_DYNAMITE,
     EL_INVISIBLE_STEELWALL,
@@ -3633,6 +3686,8 @@ void InitElementPropertiesStatic()
     EL_MAGIC_WALL_DEAD,
     EL_BD_MAGIC_WALL,
     EL_BD_MAGIC_WALL_DEAD,
+    EL_DC_MAGIC_WALL,
+    EL_DC_MAGIC_WALL_DEAD,
     EL_AMOEBA_TO_DIAMOND,
     EL_BLOCKED,
     EL_SP_EMPTY,
@@ -3866,6 +3921,7 @@ void InitElementPropertiesStatic()
 
     { ep_player,                       EP_PLAYER                       },
     { ep_can_pass_magic_wall,          EP_CAN_PASS_MAGIC_WALL          },
+    { ep_can_pass_dc_magic_wall,       EP_CAN_PASS_DC_MAGIC_WALL       },
     { ep_switchable,                   EP_SWITCHABLE                   },
     { ep_bd_element,                   EP_BD_ELEMENT                   },
     { ep_sp_element,                   EP_SP_ELEMENT                   },
@@ -3881,6 +3937,7 @@ void InitElementPropertiesStatic()
     { ep_belt_active,                  EP_BELT_ACTIVE                  },
     { ep_belt_switch,                  EP_BELT_SWITCH                  },
     { ep_tube,                         EP_TUBE                         },
+    { ep_acid_pool,                    EP_ACID_POOL                    },
     { ep_keygate,                      EP_KEYGATE                      },
     { ep_amoeboid,                     EP_AMOEBOID                     },
     { ep_amoebalive,                   EP_AMOEBALIVE                   },