+#define ED_LEVEL_SETTINGS_LINE(n) ((n) - ED_POS_LEVEL_SETTINGS_FIRST)
+#define ED_ELEMENT_SETTINGS_LINE(n) ((n) - ED_POS_ELEMENT_SETTINGS_FIRST)
+
+#define ED_LEVEL_SETTINGS_X(n) (ED_LEVEL_SETTINGS_XSTART + \
+ (n) * ED_SETTINGS_XOFFSET)
+#define ED_LEVEL_SETTINGS_Y(n) (ED_LEVEL_SETTINGS_YSTART + \
+ (n) * ED_SETTINGS_YOFFSET)
+
+#define ED_ELEMENT_SETTINGS_X(n) (ED_ELEMENT_SETTINGS_XSTART + \
+ (n) * ED_SETTINGS_XOFFSET)
+#define ED_ELEMENT_SETTINGS_Y(n) (ED_ELEMENT_SETTINGS_YSTART + \
+ (n) * ED_SETTINGS_YOFFSET)
+
+#define ED_POS_TO_LEVEL_SETTINGS_X(n) \
+ (ED_LEVEL_SETTINGS_X(ED_LEVEL_SETTINGS_LINE(n)))
+#define ED_POS_TO_LEVEL_SETTINGS_Y(n) \
+ (ED_LEVEL_SETTINGS_Y(ED_LEVEL_SETTINGS_LINE(n)))
+
+#define ED_POS_TO_ELEMENT_SETTINGS_X(n) \
+ (ED_ELEMENT_SETTINGS_X(ED_ELEMENT_SETTINGS_LINE(n)))
+#define ED_POS_TO_ELEMENT_SETTINGS_Y(n) \
+ (ED_ELEMENT_SETTINGS_Y(ED_ELEMENT_SETTINGS_LINE(n)))
+
+#define ED_SETTINGS_X(n) (IS_POS_LEVEL_SETTINGS(n) ? \
+ ED_POS_TO_LEVEL_SETTINGS_X(n) : \
+ IS_POS_ELEMENT_SETTINGS(n) ? \
+ ED_POS_TO_ELEMENT_SETTINGS_X(n) : (n))
+#define ED_SETTINGS_Y(n) (IS_POS_LEVEL_SETTINGS(n) ? \
+ ED_POS_TO_LEVEL_SETTINGS_Y(n) : \
+ IS_POS_ELEMENT_SETTINGS(n) ? \
+ ED_POS_TO_ELEMENT_SETTINGS_Y(n) : (n))
+
+#define ED_AREA_XOFFSET (0)
+#define ED_AREA_YOFFSET ((ED_CHECKBUTTON_YSIZE - MINI_TILEY) / 2)
+
+#define ED_AREA_SETTINGS_X(i) (ED_SETTINGS_X((i).x) + (i).xoffset + \
+ ((i).x != 0 ? ED_AREA_XOFFSET : 0))
+#define ED_AREA_SETTINGS_Y(i) (ED_SETTINGS_Y((i).y) + (i).yoffset + \
+ ((i).y != 0 ? ED_AREA_YOFFSET : 0))
+
+#define ED_LEVEL_SETTINGS_TABS_XPOS (ED_LEVEL_SETTINGS_BASE_XSTART)
+#define ED_LEVEL_SETTINGS_TABS_YPOS (4 * MINI_TILEY)
+#define ED_ELEMENT_SETTINGS_TABS_XPOS (ED_ELEMENT_SETTINGS_BASE_XSTART)
+#define ED_ELEMENT_SETTINGS_TABS_YPOS (8 * MINI_TILEY)
+
+/* values for element content drawing areas */
+#define ED_AREA_1X1_LSETTINGS_XPOS(n) ED_LEVEL_SETTINGS_XPOS(n)
+#define ED_AREA_1X1_LSETTINGS_YPOS(n) ED_LEVEL_SETTINGS_YPOS(n)
+#define ED_AREA_1X1_LSETTINGS_XOFF (0)
+#define ED_AREA_1X1_LSETTINGS_YOFF (0)
+
+#define ED_AREA_1X1_SETTINGS_XPOS(n) ED_ELEMENT_SETTINGS_XPOS(n)
+#define ED_AREA_1X1_SETTINGS_YPOS(n) ED_ELEMENT_SETTINGS_YPOS(n)
+#define ED_AREA_1X1_SETTINGS_XOFF (0)
+#define ED_AREA_1X1_SETTINGS_YOFF (0)
+
+#define ED_AREA_3X3_SETTINGS_XPOS(n) ED_ELEMENT_SETTINGS_XPOS(n)
+#define ED_AREA_3X3_SETTINGS_YPOS(n) ED_ELEMENT_SETTINGS_YPOS(n)
+#define ED_AREA_3X3_SETTINGS_XOFF (0)
+#define ED_AREA_3X3_SETTINGS_YOFF (-MINI_TILEY)
+
+/* element content */
+#define ED_AREA_ELEMENT_CONTENT_XOFF(n) (MINI_TILEX / 2 + \