#define STYLE_NONE 0
#define STYLE_ACCURATE_BORDERS (1 << 0)
#define STYLE_INNER_CORNERS (1 << 1)
+#define STYLE_REVERSE (1 << 2)
#define STYLE_DEFAULT STYLE_NONE
/* file names and filename extensions */
#define LEVELSETUP_DIRECTORY "levelsetup"
#define SETUP_FILENAME "setup.conf"
+#define AUTOSETUP_FILENAME "autosetup.conf"
#define LEVELSETUP_FILENAME "levelsetup.conf"
#define EDITORSETUP_FILENAME "editorsetup.conf"
#define EDITORCASCADE_FILENAME "editorcascade.conf"
int version_build;
int version_ident;
+ char *version_string;
+
char *(*window_title_function)(void);
void (*exit_message_function)(char *, va_list);
void (*exit_function)(int);
boolean el_supaplex;
boolean el_diamond_caves;
boolean el_dx_boulderdash;
+
+ boolean el_mirror_magic;
+ boolean el_deflektor;
+
boolean el_chars;
boolean el_steel_chars;
boolean use_template_for_new_levels;
};
+struct SetupAutoSetupInfo
+{
+ int editor_zoom_tilesize;
+};
+
struct SetupEditorCascadeInfo
{
boolean el_bd;
boolean el_sp;
boolean el_dc;
boolean el_dx;
+ boolean el_mm;
+ boolean el_df;
boolean el_chars;
boolean el_steel_chars;
boolean el_ce;
struct SetupInternalInfo
{
char *program_title;
+ char *program_version;
char *program_author;
char *program_email;
char *program_website;
int default_window_height;
boolean choose_from_top_leveldir;
+ boolean show_scaling_in_title;
};
struct SetupDebugInfo
Key frame_delay_key[10];
boolean frame_delay_use_mod_key;
boolean frame_delay_game_only;
+ boolean show_frames_per_second;
};
struct SetupInfo
int volume_loops;
int volume_music;
+ struct SetupAutoSetupInfo auto_setup;
struct SetupEditorInfo editor;
struct SetupEditorCascadeInfo editor_cascade;
struct SetupShortcutInfo shortcut;
boolean draw_player; /* special case for network player buttons */
int sort_priority; /* also used for suffix ".draw_order" */
int id;
+
+ int direction; /* needed for panel time/health graphics */
+ int class; /* needed for panel time/health graphics */
+ int style; /* needed for panel time/health graphics */
+};
+
+struct MouseActionInfo
+{
+ int lx, ly;
+ int button;
};
struct LevelStats
/* function definitions */
void InitProgramInfo(char *, char *, char *, char *, char *, char *, char *,
- int);
+ char *, int);
void InitScoresInfo();
void SetWindowTitle();
void ClearRectangle(Bitmap *, int, int, int, int);
void ClearRectangleOnBackground(Bitmap *, int, int, int, int);
void BlitBitmapMasked(Bitmap *, Bitmap *, int, int, int, int, int, int);
+boolean DrawingDeactivatedField(void);
boolean DrawingDeactivated(int, int, int, int);
boolean DrawingOnBackground(int, int);
boolean DrawingAreaChanged();
void SetAudioMode(boolean);
boolean PendingEvent(void);
-void NextEvent(Event *event);
+void WaitEvent(Event *event);
void PeekEvent(Event *event);
+void CheckQuitEvent(void);
Key GetEventKey(KeyEvent *, boolean);
KeyMod HandleKeyModState(Key, int);
KeyMod GetKeyModState();