+struct ElementChangeInfo
+{
+ unsigned long events; /* bitfield for change events */
+
+ int delay_fixed; /* added frame delay before changed (fixed) */
+ int delay_random; /* added frame delay before changed (random) */
+ int delay_frames; /* either 1 (frames) or 50 (seconds; 50 fps) */
+
+ short trigger; /* custom element triggering change */
+
+ short target_element; /* target element after change */
+
+ int content[3][3]; /* new elements after extended change */
+ boolean use_content; /* use extended change content */
+ boolean only_complete; /* only use complete content */
+ int power; /* power of extended change */
+
+ boolean explode; /* explode instead of change */
+
+ /* functions that are called before, while and after the change of an
+ element -- currently only used for non-custom elements */
+ void (*pre_change_function)(int x, int y);
+ void (*change_function)(int x, int y);
+ void (*post_change_function)(int x, int y);
+};
+