+
+#if 0
+#if DEBUG
+ if (options.verbose)
+ {
+ for (i=0; i<MAX_NUM_ELEMENTS; i++)
+ if (element_info[i].graphic[ACTION_DEFAULT] == IMG_CHAR_QUESTION &&
+ i != EL_CHAR_QUESTION)
+ Error(ERR_RETURN, "warning: no graphic for element '%s' (%d)",
+ element_info[i].token_name, i);
+ }
+#endif
+#endif
+}
+
+void InitElementSpecialGraphicInfo()
+{
+ struct PropertyMapping *property_mapping = getImageListPropertyMapping();
+ int num_property_mappings = getImageListPropertyMappingSize();
+ int i;
+
+ /* always start with reliable default values */
+ for (i=0; i<MAX_NUM_ELEMENTS; i++)
+ {
+ element_info[i].editor_graphic = element_info[i].graphic[ACTION_DEFAULT];
+ element_info[i].preview_graphic = element_info[i].graphic[ACTION_DEFAULT];
+ }
+
+ /* initialize special element/graphic mapping from static configuration */
+ for (i=0; element_to_special_graphic[i].element > -1; i++)
+ {
+ int element = element_to_special_graphic[i].element;
+ int special = element_to_special_graphic[i].special;
+ int graphic = element_to_special_graphic[i].graphic;
+ boolean base_redefined = getImageListEntry(el2img(element))->redefined;
+ boolean special_redefined = getImageListEntry(graphic)->redefined;
+
+ if (base_redefined && !special_redefined)
+ continue;
+
+ if (special == GFX_SPECIAL_ARG_EDITOR)
+ element_info[element].editor_graphic = graphic;
+ else if (special == GFX_SPECIAL_ARG_PREVIEW)
+ element_info[element].preview_graphic = graphic;
+ }
+
+ /* initialize special element/graphic mapping from dynamic configuration */
+ for (i=0; i < num_property_mappings; i++)
+ {
+ int element = property_mapping[i].base_index;
+ int special = property_mapping[i].ext3_index;
+ int graphic = property_mapping[i].artwork_index;
+
+ if (special == GFX_SPECIAL_ARG_EDITOR)
+ element_info[element].editor_graphic = graphic;
+ else if (special == GFX_SPECIAL_ARG_PREVIEW)
+ element_info[element].preview_graphic = graphic;
+ }