/* values for pre-defined properties */
/* (from here on, values can be changed by inserting new values) */
/* values for pre-defined properties */
/* (from here on, values can be changed by inserting new values) */
#define IS_THROWABLE(e) HAS_PROPERTY(e, EP_THROWABLE)
#define CAN_EXPLODE(e) HAS_PROPERTY(e, EP_CAN_EXPLODE)
#define IS_GRAVITY_REACHABLE(e) HAS_PROPERTY(e, EP_GRAVITY_REACHABLE)
#define IS_THROWABLE(e) HAS_PROPERTY(e, EP_THROWABLE)
#define CAN_EXPLODE(e) HAS_PROPERTY(e, EP_CAN_EXPLODE)
#define IS_GRAVITY_REACHABLE(e) HAS_PROPERTY(e, EP_GRAVITY_REACHABLE)
/* macros for special configurable properties */
#define IS_EM_SLIPPERY_WALL(e) HAS_PROPERTY(e, EP_EM_SLIPPERY_WALL)
/* macros for special configurable properties */
#define IS_EM_SLIPPERY_WALL(e) HAS_PROPERTY(e, EP_EM_SLIPPERY_WALL)
#define RND_GATE_NR(e) ((e) - EL_GATE_1)
#define EM_GATE_NR(e) ((e) - EL_EM_GATE_1)
#define EMC_GATE_NR(e) ((e) - EL_EMC_GATE_5 + 4)
#define RND_GATE_NR(e) ((e) - EL_GATE_1)
#define EM_GATE_NR(e) ((e) - EL_EM_GATE_1)
#define EMC_GATE_NR(e) ((e) - EL_EMC_GATE_5 + 4)
(e) <= EL_EMC_GATE_8_GRAY)
#define IS_EMC_GATE_GRAY_ACTIVE(e) ((e) >= EL_EMC_GATE_5_GRAY_ACTIVE && \
(e) <= EL_EMC_GATE_8_GRAY_ACTIVE)
(e) <= EL_EMC_GATE_8_GRAY)
#define IS_EMC_GATE_GRAY_ACTIVE(e) ((e) >= EL_EMC_GATE_5_GRAY_ACTIVE && \
(e) <= EL_EMC_GATE_8_GRAY_ACTIVE)
#define RND_GATE_GRAY_NR(e) ((e) - EL_GATE_1_GRAY)
#define RND_GATE_GRAY_ACTIVE_NR(e) ((e) - EL_GATE_1_GRAY_ACTIVE)
#define EM_GATE_GRAY_NR(e) ((e) - EL_EM_GATE_1_GRAY)
#define RND_GATE_GRAY_NR(e) ((e) - EL_GATE_1_GRAY)
#define RND_GATE_GRAY_ACTIVE_NR(e) ((e) - EL_GATE_1_GRAY_ACTIVE)
#define EM_GATE_GRAY_NR(e) ((e) - EL_EM_GATE_1_GRAY)
#define PROGRAM_EMAIL_STRING "info@artsoft.org"
#define PROGRAM_WEBSITE_STRING "http://www.artsoft.org/"
#define PROGRAM_GAME_BY_STRING "A Game by Artsoft Entertainment"
#define PROGRAM_EMAIL_STRING "info@artsoft.org"
#define PROGRAM_WEBSITE_STRING "http://www.artsoft.org/"
#define PROGRAM_GAME_BY_STRING "A Game by Artsoft Entertainment"