JOY_NO_ACTION)
// maximum number of level sets in the level set history
-#define MAX_LEVELDIR_HISTORY 12
+#define MAX_LEVELDIR_HISTORY 100
// default name for empty highscore entry
#define EMPTY_PLAYER_NAME "no name"
// default value for undefined password
#define UNDEFINED_PASSWORD "[undefined]"
-// default value for undefined parameter
+// default value for undefined string parameter
+#define ARG_UNDEFINED_STRING "[undefined]"
+
+// default value for default string parameter
#define ARG_DEFAULT "[DEFAULT]"
-// default values for undefined configuration file parameters
+// default values for undefined numerical parameter (as string and integer)
#define ARG_UNDEFINED "-1000000"
#define ARG_UNDEFINED_VALUE (-1000000)
#define ELEMENTS_DIRECTORY "elements"
#define CREDITS_DIRECTORY "credits"
#define PROGRAM_INFO_DIRECTORY "program"
+#define LEVELSET_INFO_DIRECTORY "levelset"
#define CACHE_DIRECTORY "cache"
#define CONF_DIRECTORY "conf"
#define NETWORK_DIRECTORY "network"
#define FALLBACK_TEXT_FILENAME "fallback.txt"
-#define LOG_OUT_BASENAME "stdout.txt"
-#define LOG_ERR_BASENAME "stderr.txt"
-
-#define LOG_OUT_ID 0
-#define LOG_ERR_ID 1
-#define NUM_LOGS 2
-
#define STRING_PARENT_DIRECTORY ".."
#define STRING_TOP_DIRECTORY "/"
char *userdata_subdir; // personal user game data directory
char *userdata_path; // resulting full path to game data directory
+ char *program_basename;
char *program_title;
char *window_title;
- char *icon_title;
char *icon_filename;
char *cookie_prefix;
- char *log_filename[NUM_LOGS]; // log filenames for out/err messages
- FILE *log_file[NUM_LOGS]; // log file handles for out/err files
- FILE *log_file_default[NUM_LOGS]; // default log file handles (out/err)
+ char *log_filename; // filename for log messages
+ FILE *log_file; // file handle for log files
+ FILE *log_file_default; // default log file handle
int version_super;
int version_major;
struct FontBitmapInfo *font_bitmap_info;
int (*select_font_function)(int);
int (*get_font_from_token_function)(char *);
+ char * (*get_token_from_font_function)(int);
int anim_random_frame;
boolean choose_from_top_leveldir;
boolean show_scaling_in_title;
boolean create_user_levelset;
+ boolean info_screens_from_main;
boolean menu_game;
boolean menu_engines;
boolean menu_exit;
boolean menu_save_and_exit;
+ boolean menu_shortcuts_various;
+ boolean menu_shortcuts_focus;
+ boolean menu_shortcuts_tape;
+ boolean menu_shortcuts_sound;
+ boolean menu_shortcuts_snap;
+
boolean info_title;
boolean info_elements;
boolean info_music;
int engine_snapshot_memory;
boolean fade_screens;
boolean autorecord;
+ boolean autorecord_after_replay;
boolean auto_pause_on_start;
boolean show_titlescreen;
boolean quick_doors;
boolean skip_levels; // levels can be skipped when set to "true"
boolean use_emc_tiles;// use (swapped) V5/V6 EMC tiles when set to "true"
+ boolean info_screens_from_main; // can invoke info screens from main menu
int color; // color to use on selection screen for this level
char *class_desc; // description of level series class
void SetDrawDeactivationMask(int);
int GetDrawDeactivationMask(void);
void SetDrawBackgroundMask(int);
-void SetWindowBackgroundBitmap(Bitmap *);
-void SetMainBackgroundBitmap(Bitmap *);
-void SetDoorBackgroundBitmap(Bitmap *);
+void SetBackgroundBitmap(Bitmap *, int, int, int, int, int);
void SetRedrawMaskFromArea(int, int, int, int);
void LimitScreenUpdates(boolean);
void PeekEvent(Event *event);
void PumpEvents(void);
void CheckQuitEvent(void);
-Key GetEventKey(KeyEvent *, boolean);
+Key GetEventKey(KeyEvent *);
KeyMod HandleKeyModState(Key, int);
KeyMod GetKeyModState(void);
KeyMod GetKeyModStateFromEvents(void);