#define CA_SET_CE_VALUE 16
#define CA_SET_ENGINE_SCAN_MODE 17
#define CA_SET_PLAYER_INVENTORY 18
+#define CA_SET_CE_ARTWORK 19
#define CA_HEADLINE_LEVEL_ACTIONS 250
#define CA_HEADLINE_PLAYER_ACTIONS 251
#define CA_ARG_SCAN_MODE_HEADLINE (CA_ARG_SCAN_MODE + 999)
#define CA_ARG_INVENTORY 18000
#define CA_ARG_INVENTORY_RESET (CA_ARG_INVENTORY + 0)
-#define CA_ARG_INVENTORY_RM_FIRST (CA_ARG_INVENTORY + 1)
-#define CA_ARG_INVENTORY_RM_LAST (CA_ARG_INVENTORY + 2)
-#define CA_ARG_INVENTORY_RM_ALL (CA_ARG_INVENTORY + 3)
+#define CA_ARG_INVENTORY_RM_TARGET (CA_ARG_INVENTORY + 1)
+#define CA_ARG_INVENTORY_RM_TRIGGER (CA_ARG_INVENTORY + 2)
+#define CA_ARG_INVENTORY_RM_ACTION (CA_ARG_INVENTORY + 3)
+#define CA_ARG_INVENTORY_RM_FIRST (CA_ARG_INVENTORY + 4)
+#define CA_ARG_INVENTORY_RM_LAST (CA_ARG_INVENTORY + 5)
+#define CA_ARG_INVENTORY_RM_ALL (CA_ARG_INVENTORY + 6)
#define CA_ARG_INVENTORY_HEADLINE (CA_ARG_INVENTORY + 998)
#define CA_ARG_INVENTORY_RM_HEADLINE (CA_ARG_INVENTORY + 999)
#define CA_ARG_UNDEFINED 65535
#define IS_DC_STEELWALL_2(e) ((e) >= EL_DC_STEELWALL_2_LEFT && \
(e) <= EL_DC_STEELWALL_2_SINGLE)
+#if 1
+#define GFX_ELEMENT(e) (element_info[e].gfx_element)
+#else
#define GFX_ELEMENT(e) (element_info[e].use_gfx_element ? \
element_info[e].gfx_element : e)
+#endif
/* !!! CHECK THIS !!! */
#if 1
unsigned long properties[NUM_EP_BITFIELDS]; /* element base properties */
boolean use_gfx_element; /* use custom graphic element */
- int gfx_element; /* optional custom graphic element */
+ int gfx_element_initial; /* initial optional custom graphic element */
int access_direction; /* accessible from which direction */
boolean in_group[NUM_GROUP_ELEMENTS];
+ int gfx_element; /* runtime optional custom graphic element */
+
int collect_score; /* runtime score value for collecting */
/* count of this element on playfield, calculated after each frame */