#define MV_VERTICAL (MV_UP | MV_DOWN)
#define MV_ALL_DIRECTIONS (MV_LEFT | MV_RIGHT | MV_UP | MV_DOWN)
#define MV_ANY_DIRECTION (MV_ALL_DIRECTIONS)
+#define MV_NO_DIRECTIONS (MV_NO_MOVING)
#define KEY_BUTTON_1 (1 << BUTTON_1)
#define KEY_BUTTON_2 (1 << BUTTON_2)
struct ProgramInfo
{
- char *command_basename;
- char *userdata_directory;
+ char *command_basepath; /* directory that contains the program */
+ char *command_basename; /* base filename of the program binary */
+ char *userdata_directory; /* personal user data directory */
char *program_title;
char *window_title;
boolean quick_doors;
boolean team_mode;
boolean handicap;
+ boolean skip_levels;
boolean time_limit;
boolean fullscreen;
boolean ask_on_escape;
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 in_user_dir; /* user defined levels are stored in home directory */
+ boolean user_defined; /* levels in user directory and marked as "private" */
boolean readonly; /* readonly levels can not be changed with editor */
boolean handicap; /* level set has no handicap when set to "false" */
+ boolean skip_levels; /* levels can be skipped when set to "true" */
int color; /* color to use on selection screen for this level */
char *class_desc; /* description of level series class */
inline void InitEventFilter(EventFilter);
inline boolean PendingEvent(void);
inline void NextEvent(Event *event);
+inline void PeekEvent(Event *event);
inline Key GetEventKey(KeyEvent *, boolean);
inline KeyMod HandleKeyModState(Key, int);
inline KeyMod GetKeyModState();