struct VideoSystemInfo video;
struct AudioSystemInfo audio;
struct GfxInfo gfx;
+struct OverlayInfo overlay;
struct ArtworkInfo artwork;
struct JoystickInfo joystick;
struct SetupInfo setup;
program.log_filename[LOG_ERR_ID] = getLogFilename(LOG_ERR_BASENAME);
program.log_file[LOG_OUT_ID] = program.log_file_default[LOG_OUT_ID] = stdout;
program.log_file[LOG_ERR_ID] = program.log_file_default[LOG_ERR_ID] = stderr;
+
+ program.headless = FALSE;
+}
+
+void InitScoresInfo()
+{
+ char *global_scores_dir = getPath2(getCommonDataDir(), SCORES_DIRECTORY);
+
+ program.global_scores = directoryExists(global_scores_dir);
+ program.many_scores_per_name = !program.global_scores;
+
+ if (options.debug)
+ {
+ if (program.global_scores)
+ {
+ Error(ERR_DEBUG, "Using global, multi-user scores directory '%s'.",
+ global_scores_dir);
+ Error(ERR_DEBUG, "Remove to enable single-user scores directory.");
+ Error(ERR_DEBUG, "(This enables multipe score entries per user.)");
+ }
+ else
+ {
+ Error(ERR_DEBUG, "Using private, single-user scores directory.");
+ }
+ }
+
+ free(global_scores_dir);
}
void SetWindowTitle()
gfx.cursor_mode = CURSOR_DEFAULT;
}
+void InitOverlayInfo()
+{
+ overlay.active = FALSE;
+}
+
+void SetOverlayActive(boolean active)
+{
+ overlay.active = active;
+}
+
+boolean GetOverlayActive()
+{
+ return overlay.active;
+}
+
void SetDrawDeactivationMask(int draw_deactivation_mask)
{
gfx.draw_deactivation_mask = draw_deactivation_mask;
void InitVideoDisplay(void)
{
+ if (program.headless)
+ return;
+
SDLInitVideoDisplay();
+#if defined(TARGET_SDL2)
+ SDLSetDisplaySize();
+#endif
}
void CloseVideoDisplay(void)
video.height = height;
video.depth = GetRealDepth(depth);
+ video.screen_width = width;
+ video.screen_height = height;
+ video.screen_xoffset = 0;
+ video.screen_yoffset = 0;
+
video.fullscreen_available = FULLSCREEN_STATUS;
video.fullscreen_enabled = FALSE;
int dst_x_unclipped = dst_x;
int dst_y_unclipped = dst_y;
+ if (program.headless)
+ return;
+
if (src_bitmap == NULL || dst_bitmap == NULL)
return;
/* event functions */
/* ========================================================================= */
-void InitEventFilter(EventFilter filter_function)
-{
- /* set event filter to filter out certain events */
-#if defined(TARGET_SDL2)
- SDL_SetEventFilter(filter_function, NULL);
-#else
- SDL_SetEventFilter(filter_function);
-#endif
-}
-
boolean PendingEvent(void)
{
return (SDL_PollEvent(NULL) ? TRUE : FALSE);
{
return SDLReadJoystick(nr, x, y, b1, b2);
}
+
+boolean CheckJoystickOpened(int nr)
+{
+ return SDLCheckJoystickOpened(nr);
+}