rnd-20030507-2-src
[rocksndiamonds.git] / src / tools.c
index 89de2f61e3647b96decb48cfcbd8ee8de248de71..3961f93dde442a06bf93e2259a5a2fc0ceafd2ec 100644 (file)
@@ -2010,8 +2010,8 @@ unsigned int MoveDoor(unsigned int door_state)
   static int door1 = DOOR_OPEN_1;
   static int door2 = DOOR_CLOSE_2;
   static unsigned long door_delay = 0;
-  int x, start, stepsize = global.door_step_offset;
-  unsigned long door_delay_value = global.door_step_delay;
+  int x, start, stepsize = door.step_offset;
+  unsigned long door_delay_value = door.step_delay;
 
   if (door_state == DOOR_GET_STATE)
     return(door1 | door2);
@@ -2392,11 +2392,17 @@ int el_act_dir2img(int element, int action, int direction)
 {
   direction = MV_DIR_BIT(direction);
 
+  if (IS_CUSTOM_ELEMENT(element))
+    element = CUSTOM_ELEMENT_INFO(element).change.gfx_element;
+
   return element_info[element].direction_graphic[action][direction];
 }
 
 int el_act2img(int element, int action)
 {
+  if (IS_CUSTOM_ELEMENT(element))
+    element = CUSTOM_ELEMENT_INFO(element).change.gfx_element;
+
   return element_info[element].graphic[action];
 }
 
@@ -2407,15 +2413,24 @@ int el_dir2img(int element, int direction)
 
 int el2img(int element)
 {
+  if (IS_CUSTOM_ELEMENT(element))
+    element = CUSTOM_ELEMENT_INFO(element).change.gfx_element;
+
   return element_info[element].graphic[ACTION_DEFAULT];
 }
 
 int el2edimg(int element)
 {
+  if (IS_CUSTOM_ELEMENT(element))
+    element = CUSTOM_ELEMENT_INFO(element).change.gfx_element;
+
   return element_info[element].special_graphic[GFX_SPECIAL_ARG_EDITOR];
 }
 
 int el2preimg(int element)
 {
+  if (IS_CUSTOM_ELEMENT(element))
+    element = CUSTOM_ELEMENT_INFO(element).change.gfx_element;
+
   return element_info[element].special_graphic[GFX_SPECIAL_ARG_PREVIEW];
 }