- 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 */
+ char *player_name;
+
+ boolean sound;
+ boolean sound_loops;
+ boolean sound_music;
+ boolean sound_simple;
+ boolean toons;
+ boolean double_buffering;
+ boolean direct_draw; /* !double_buffering (redundant!) */
+ boolean scroll_delay;
+ boolean soft_scrolling;
+ boolean fading;
+ boolean autorecord;
+ boolean quick_doors;
+ boolean team_mode;
+ boolean handicap;
+ boolean time_limit;
+ boolean fullscreen;
+ boolean ask_on_escape;
+
+ char *graphics_set;
+ char *sounds_set;
+ char *music_set;
+ boolean override_level_graphics;
+ boolean override_level_sounds;
+ boolean override_level_music;
+
+ struct SetupEditorInfo editor;
+ struct SetupShortcutInfo shortcut;
+ struct SetupInputInfo input[MAX_PLAYERS];
+ struct SetupSystemInfo system;
+ struct OptionInfo options;
+};
+
+#define TREE_TYPE_GENERIC 0
+#define TREE_TYPE_GRAPHICS_DIR 1
+#define TREE_TYPE_SOUNDS_DIR 2
+#define TREE_TYPE_MUSIC_DIR 3
+#define TREE_TYPE_LEVEL_DIR 4
+
+#define ARTWORK_TYPE_GRAPHICS TREE_TYPE_GRAPHICS_DIR
+#define ARTWORK_TYPE_SOUNDS TREE_TYPE_SOUNDS_DIR
+#define ARTWORK_TYPE_MUSIC TREE_TYPE_MUSIC_DIR
+
+struct TreeInfo
+{
+ struct TreeInfo **node_top; /* topmost node in tree */
+ struct TreeInfo *node_parent; /* parent level directory info */
+ struct TreeInfo *node_group; /* level group sub-directory info */
+ struct TreeInfo *next; /* next level series structure node */
+
+ int cl_first; /* internal control field for setup screen */
+ int cl_cursor; /* internal control field for setup screen */
+
+ int type; /* type of tree content */
+
+ /* fields for "type == TREE_TYPE_LEVEL_DIR" */
+
+ char *filename; /* tree info sub-directory basename (may be ".") */
+ char *fullpath; /* complete path relative to tree base directory */
+ char *basepath; /* absolute base path of tree base directory */
+ char *identifier; /* identifier string for configuration files */
+ char *name; /* tree info name, as displayed in selection menues */
+ char *name_sorting; /* optional sorting name for correct name sorting */
+ char *author; /* level or artwork author name */
+ char *imported_from; /* optional comment for imported levels or artwork */
+
+ char *graphics_set; /* optional custom graphics set (level tree only) */
+ char *sounds_set; /* optional custom sounds set (level tree only) */
+ char *music_set; /* optional custom music set (level tree only) */
+ char *graphics_path; /* path to optional custom graphics set (level only) */
+ char *sounds_path; /* path to optional custom sounds set (level only) */
+ char *music_path; /* path to optional custom music set (level only) */
+