+struct LevelDirInfo
+{
+ char *filename; /* level series single directory name */
+ char *fullpath; /* complete path relative to level directory */
+ char *basepath; /* absolute base path of level directory */
+ char *name; /* level series name, as displayed on main screen */
+ char *name_short; /* optional short name for level selection screen */
+ char *name_sorting; /* optional sorting name for correct level sorting */
+ char *author; /* level series author name levels without author */
+ char *imported_from; /* optional comment for imported level series */
+ int levels; /* number of levels in level series */
+ int first_level; /* first level number (to allow start with 0 or 1) */
+ int last_level; /* last level number (automatically calculated) */
+ int sort_priority; /* sort levels by 'sort_priority' and then by name */
+ boolean level_group; /* directory contains more level series directories */
+ boolean parent_link; /* entry links back to parent directory */
+ boolean user_defined; /* user defined levels are stored in home directory */
+ boolean readonly; /* readonly levels can not be changed with editor */
+ int color; /* color to use on selection screen for this level */
+ char *class_desc; /* description of level series class */
+ int handicap_level; /* number of the lowest unsolved level */
+ int cl_first; /* internal control field for "choose level" screen */
+ int cl_cursor; /* internal control field for "choose level" screen */
+
+ struct LevelDirInfo *node_parent; /* parent level directory info */
+ struct LevelDirInfo *node_group; /* level group sub-directory info */
+ struct LevelDirInfo *next; /* next level series structure node */
+};
+
+
+/* ========================================================================= */
+/* exported variables */
+/* ========================================================================= */
+
+extern struct ProgramInfo program;
+extern struct OptionInfo options;
+extern struct VideoSystemInfo video;
+extern struct AudioSystemInfo audio;
+extern struct GfxInfo gfx;
+
+extern struct LevelDirInfo *leveldir_first;
+extern struct LevelDirInfo *leveldir_current;
+
+extern Display *display;
+extern Visual *visual;
+extern int screen;
+extern Colormap cmap;
+
+extern DrawWindow window;
+extern DrawBuffer backbuffer;
+extern DrawBuffer drawto;
+
+extern int button_status;
+extern boolean motion_status;
+
+extern int redraw_mask;
+extern int redraw_tiles;
+
+extern int FrameCounter;
+