#define SPECIAL_RENDERING_DEFAULT SPECIAL_RENDERING_BITMAP
#endif
+/* values for vertical screen retrace synchronization (vsync) */
+#define STR_VSYNC_MODE_OFF "off"
+#define STR_VSYNC_MODE_NORMAL "normal"
+#define STR_VSYNC_MODE_ADAPTIVE "adaptive"
+
+#define STR_VSYNC_MODE_DEFAULT STR_VSYNC_MODE_OFF
+
+#define VSYNC_MODE_OFF 0
+#define VSYNC_MODE_NORMAL 1
+#define VSYNC_MODE_ADAPTIVE -1
+
+#define VSYNC_MODE_DEFAULT VSYNC_MODE_OFF
+
/* values for touch control */
#define TOUCH_CONTROL_OFF "off"
#define TOUCH_CONTROL_VIRTUAL_BUTTONS "virtual_buttons"
#define DOCS_DIRECTORY "docs"
#define CACHE_DIRECTORY "cache"
#define CONF_DIRECTORY "conf"
+#define NETWORK_DIRECTORY "network"
#define GFX_CLASSIC_SUBDIR "gfx_classic"
#define SND_CLASSIC_SUBDIR "snd_classic"
boolean headless;
};
+struct NetworkInfo
+{
+ boolean enabled;
+ boolean connected;
+ boolean serveronly;
+
+ char *server_host;
+ int server_port;
+
+};
+
struct OptionInfo
{
char *server_host;
int window_scaling_percent;
char *window_scaling_quality;
int screen_rendering_mode;
+ int vsync_mode;
unsigned int frame_delay;
unsigned int frame_delay_value;
boolean handicap;
boolean skip_levels;
boolean increment_levels;
+ boolean auto_play_next_level;
+ boolean skip_scores_after_game;
boolean time_limit;
boolean fullscreen;
int window_scaling_percent;
char *window_scaling_quality;
char *screen_rendering_mode;
+ char *vsync_mode;
boolean ask_on_escape;
boolean ask_on_escape_editor;
boolean quick_switch;
int volume_loops;
int volume_music;
+ boolean network_mode;
+ int network_player_nr;
+
struct SetupAutoSetupInfo auto_setup;
struct SetupEditorInfo editor;
struct SetupEditorCascadeInfo editor_cascade;
int x, y;
int xoffset; /* special case for tape date and time */
int xoffset2; /* special case for tape date */
+ int yoffset; /* special case for list of preview players */
int width, height;
int align, valign;
int size; /* also used for suffix ".digits" */
int direction; /* needed for panel time/health graphics */
int class; /* needed for panel time/health graphics */
int style; /* needed for panel time/health graphics */
+
+ int tile_size; /* special case for list of network players */
+ int border_size; /* special case for list of preview players */
+ int vertical; /* special case for list of preview players */
};
struct MouseActionInfo
int button_hint;
};
+struct LevelSetInfo
+{
+ int music[MAX_LEVELS];
+
+ char *identifier;
+ int level_nr;
+};
+
struct LevelStats
{
int played;
/* ========================================================================= */
extern struct ProgramInfo program;
+extern struct NetworkInfo network;
extern struct OptionInfo options;
extern struct VideoSystemInfo video;
extern struct AudioSystemInfo audio;
extern LevelDirTree *leveldir_current;
extern int level_nr;
+extern struct LevelSetInfo levelset;
extern struct LevelStats level_stats[];
extern DrawWindow *window;
void InitProgramInfo(char *, char *, char *, char *, char *, char *, char *,
char *, int);
+void InitNetworkInfo(boolean, boolean, boolean, char *, int);
-void InitScoresInfo();
-void SetWindowTitle();
+void InitScoresInfo(void);
+void SetWindowTitle(void);
void InitWindowTitleFunction(char *(*window_title_function)(void));
void InitExitMessageFunction(void (*exit_message_function)(char *, va_list));
void InitGfxDrawGlobalAnimFunction(void (*draw_global_anim_function)(int, int));
void InitGfxDrawGlobalBorderFunction(void (*draw_global_border_function)(int));
void InitGfxDrawTileCursorFunction(void (*draw_tile_cursor_function)(int));
-void InitGfxCustomArtworkInfo();
-void InitGfxOtherSettings();
-void InitTileCursorInfo();
-void InitOverlayInfo();
+void InitGfxCustomArtworkInfo(void);
+void InitGfxOtherSettings(void);
+void InitTileCursorInfo(void);
+void InitOverlayInfo(void);
void SetTileCursorEnabled(boolean);
void SetTileCursorActive(boolean);
void SetTileCursorTargetXY(int, int);
void SetOverlayEnabled(boolean);
void SetOverlayActive(boolean);
void SetOverlayShowGrid(boolean);
-boolean GetOverlayActive();
+boolean GetOverlayActive(void);
void SetDrawDeactivationMask(int);
int GetDrawDeactivationMask(void);
void SetDrawBackgroundMask(int);
boolean DrawingDeactivatedField(void);
boolean DrawingDeactivated(int, int, int, int);
boolean DrawingOnBackground(int, int);
-boolean DrawingAreaChanged();
+boolean DrawingAreaChanged(void);
void BlitBitmapOnBackground(Bitmap *, Bitmap *, int, int, int, int, int, int);
void BlitTexture(Bitmap *, int, int, int, int, int, int);
void BlitTextureMasked(Bitmap *, int, int, int, int, int, int);
void KeyboardAutoRepeatOff(void);
boolean SetVideoMode(boolean);
void SetVideoFrameDelay(unsigned int);
-unsigned int GetVideoFrameDelay();
+unsigned int GetVideoFrameDelay(void);
boolean ChangeVideoModeIfNeeded(boolean);
Bitmap *LoadImage(char *);
void CheckQuitEvent(void);
Key GetEventKey(KeyEvent *, boolean);
KeyMod HandleKeyModState(Key, int);
-KeyMod GetKeyModState();
-KeyMod GetKeyModStateFromEvents();
+KeyMod GetKeyModState(void);
+KeyMod GetKeyModStateFromEvents(void);
void StartTextInput(int, int, int, int);
-void StopTextInput();
+void StopTextInput(void);
boolean CheckCloseWindowEvent(ClientMessageEvent *);
-void InitJoysticks();
+void InitJoysticks(void);
boolean ReadJoystick(int, int *, int *, boolean *, boolean *);
boolean CheckJoystickOpened(int);
-void ClearJoystickState();
+void ClearJoystickState(void);
#endif /* SYSTEM_H */