rnd-20080426-1-src
[rocksndiamonds.git] / src / main.h
index 4bd8335428844ae4078f843f5ca7e46d77ecb714..2b3e42639250f573a3b8764e6c5c3637d5967987 100644 (file)
 #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
@@ -2516,7 +2524,7 @@ struct ElementInfo
   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 */
 
@@ -2567,6 +2575,8 @@ struct ElementInfo
 
   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 */