#define STYLE_DEFAULT STYLE_NONE
+/* values for special global animation events */
+#define ANIM_EVENT_NONE 0
+#define ANIM_EVENT_SELF (1 << 16)
+#define ANIM_EVENT_ANY (1 << 17)
+
+#define ANIM_EVENT_ANIM_BIT 0
+#define ANIM_EVENT_PART_BIT 8
+
+#define ANIM_EVENT_ANIM_MASK (0xff << ANIM_EVENT_ANIM_BIT)
+#define ANIM_EVENT_PART_MASK (0xff << ANIM_EVENT_PART_BIT)
+
+#define ANIM_EVENT_DEFAULT ANIM_EVENT_NONE
+
/* values for fade mode */
#define FADE_TYPE_NONE 0
#define FADE_TYPE_FADE_IN (1 << 0)
#define POS_LOWER 5
#define POS_BOTTOM 6
#define POS_ANY 7
+#define POS_LAST 8
/* values for text alignment */
#define ALIGN_LEFT (1 << 0)
/* maximum number of levels in a level set */
#define MAX_LEVELS 1000
+/* maximum number of global animation and parts */
+#define MAX_GLOBAL_ANIMS 32
+#define MAX_GLOBAL_ANIM_PARTS 32
+
/* default name for empty highscore entry */
#define EMPTY_PLAYER_NAME "no name"
#define SCORES_DIRECTORY "scores"
#define DOCS_DIRECTORY "docs"
#define CACHE_DIRECTORY "cache"
+#define CONF_DIRECTORY "conf"
#define GFX_CLASSIC_SUBDIR "gfx_classic"
#define SND_CLASSIC_SUBDIR "snd_classic"
#define TAPEFILE_EXTENSION "tape"
#define SCOREFILE_EXTENSION "score"
+#define GAMECONTROLLER_BASENAME "gamecontrollerdb.txt"
+
#define LOG_OUT_BASENAME "stdout.txt"
#define LOG_ERR_BASENAME "stderr.txt"
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);
char *sounds_directory;
char *music_directory;
char *docs_directory;
+ char *conf_directory;
char *execute_command;
struct OverlayInfo
{
- boolean active;
+ boolean enabled; /* overlay generally enabled or disabled */
+ boolean active; /* overlay activated (depending on game mode) */
};
struct JoystickInfo
{
int status;
- int fd[MAX_PLAYERS]; /* file descriptor of player's joystick */
+ int nr[MAX_PLAYERS]; /* joystick number for each player */
};
struct SetupJoystickInfo
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 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
/* function definitions */
void InitProgramInfo(char *, char *, char *, char *, char *, char *, char *,
- int);
+ char *, int);
void InitScoresInfo();
void SetWindowTitle();
void InitGfxCustomArtworkInfo();
void InitGfxOtherSettings();
void InitOverlayInfo();
+void SetOverlayEnabled(boolean);
void SetOverlayActive(boolean);
boolean GetOverlayActive();
void SetDrawDeactivationMask(int);
+int GetDrawDeactivationMask(void);
void SetDrawBackgroundMask(int);
void SetWindowBackgroundBitmap(Bitmap *);
void SetMainBackgroundBitmap(Bitmap *);
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();
void InitJoysticks();
boolean ReadJoystick(int, int *, int *, boolean *, boolean *);
+boolean CheckJoystickOpened(int);
+void ClearJoystickState();
#endif /* SYSTEM_H */