JOY_BUTTON_2 : \
JOY_NO_ACTION)
+// maximum number of level sets in the level set history
+#define MAX_LEVELDIR_HISTORY 12
+
// default name for empty highscore entry
#define EMPTY_PLAYER_NAME "no name"
#define NUM_BASE_TREE_TYPES 4
#define NUM_TREE_TYPES 6
+#define TREE_TYPE_IS_DIR(type) ((type) == TREE_TYPE_GRAPHICS_DIR || \
+ (type) == TREE_TYPE_SOUNDS_DIR || \
+ (type) == TREE_TYPE_MUSIC_DIR || \
+ (type) == TREE_TYPE_LEVEL_DIR)
+
#define INFOTEXT_UNDEFINED ""
#define INFOTEXT_GRAPHICS_DIR "Custom Graphics"
#define INFOTEXT_SOUNDS_DIR "Custom Sounds"
#define INFOTEXT_LEVEL_NR "Levels"
#define INFOTEXT_PLAYER_NAME "Players & Teams"
+#define BACKLINK_TEXT_MAIN ".. (main menu)"
+#define BACKLINK_TEXT_SETUP ".. (setup menu)"
+#define BACKLINK_TEXT_PARENT ".. (parent directory)"
+
#define TREE_INFOTEXT(t) ((t) == TREE_TYPE_PLAYER_NAME ? \
INFOTEXT_PLAYER_NAME : \
(t) == TREE_TYPE_LEVEL_NR ? \
INFOTEXT_MUSIC_DIR : \
INFOTEXT_UNDEFINED)
+#define TREE_BACKLINK_TEXT(t) ((t) == TREE_TYPE_LEVEL_DIR ? \
+ BACKLINK_TEXT_MAIN : \
+ BACKLINK_TEXT_SETUP)
+
#define TREE_USERDIR(t) ((t) == TREE_TYPE_LEVEL_DIR ? \
getUserLevelDir(NULL) : \
(t) == TREE_TYPE_GRAPHICS_DIR ? \
int editor_zoom_tilesize;
};
+struct SetupLevelSetupInfo
+{
+ char *last_level_series[MAX_LEVELDIR_HISTORY + 1];
+};
+
struct SetupEditorCascadeInfo
{
boolean el_bd;
boolean skip_levels;
boolean increment_levels;
boolean auto_play_next_level;
+ boolean count_score_after_game;
boolean show_scores_after_game;
boolean time_limit;
boolean fullscreen;
char *network_server_hostname;
struct SetupAutoSetupInfo auto_setup;
+ struct SetupLevelSetupInfo level_setup;
+
struct SetupEditorInfo editor;
struct SetupEditorCascadeInfo editor_cascade;
struct SetupShortcutInfo shortcut;