rnd-20030511-1-src
[rocksndiamonds.git] / src / main.h
index 8e918517e81c98d298f113bc8704258bb979962e..302ba8c466a448716a13faeb0906f354bf0753b6 100644 (file)
 /* values for special configurable properties (depending on level settings) */
 #define EP_EM_SLIPPERY_WALL    25
 
+/* values for special graphics properties (no effect on game engine) */
+#define EP_CAN_BE_CRUMBLED     26
+
 /* values for pre-defined properties */
-#define EP_PLAYER              26
-#define EP_CAN_BE_CRUMBLED     27
+#define EP_PLAYER              27
 #define EP_CAN_MOVE            28
 #define EP_CAN_PASS_MAGIC_WALL 29
 #define EP_SWITCHABLE          30
 #define EP_DRAGONFIRE_PROOF    63
 #define EP_EXPLOSION_PROOF     64
 
-#define NUM_ELEMENT_PROPERTIES 65
+/* values for internal purpose only (level editor) */
+#define EP_WALK_TO_OBJECT      65
+
+#define NUM_ELEMENT_PROPERTIES 66
 
 #define NUM_EP_BITFIELDS       ((NUM_ELEMENT_PROPERTIES + 31) / 32)
 #define EP_BITFIELD_BASE       0
 /* macros for special configurable properties */
 #define IS_EM_SLIPPERY_WALL(e) HAS_PROPERTY(e, EP_EM_SLIPPERY_WALL)
 
+/* macros for special graphics properties */
+#define CAN_BE_CRUMBLED(e)     HAS_PROPERTY(GFX_ELEMENT(e),EP_CAN_BE_CRUMBLED)
+
 /* macros for pre-defined properties */
 #define ELEM_IS_PLAYER(e)      HAS_PROPERTY(e, EP_PLAYER)
-#define CAN_BE_CRUMBLED_OLD(e) HAS_PROPERTY(e, EP_CAN_BE_CRUMBLED)
-#define CAN_BE_CRUMBLED(e)     HAS_PROPERTY(GFX_ELEMENT(e),EP_CAN_BE_CRUMBLED)
 #define CAN_MOVE(e)            HAS_PROPERTY(e, EP_CAN_MOVE)
 #define CAN_PASS_MAGIC_WALL(e) HAS_PROPERTY(e, EP_CAN_PASS_MAGIC_WALL)
 #define IS_SWITCHABLE(e)       HAS_PROPERTY(e, EP_SWITCHABLE)
@@ -1031,6 +1037,9 @@ struct CustomElementInfo
   boolean use_gfx_element;
   short gfx_element;           /* optional custom graphic element */
 
+  int walk_to_action;          /* only for level editor; not stored */
+  int walkable_layer;          /* only for level editor; not stored */
+
   struct CustomElementChangeInfo change;
 };