/* init/close functions */
/* ========================================================================= */
-void InitProgramInfo(char *argv0,
+void InitProgramInfo(char *argv0, char *config_filename,
char *userdata_subdir, char *userdata_subdir_unix,
char *program_title, char *icon_title,
char *sdl_icon_filename, char *cookie_prefix,
program.command_basepath = getBasePath(argv0);
program.command_basename = getBaseName(argv0);
+ program.config_filename = config_filename;
+
program.userdata_subdir = userdata_subdir;
program.userdata_subdir_unix = userdata_subdir_unix;
program.userdata_path = getUserGameDataDir();
gfx.field_save_buffer = field_save_buffer;
+ gfx.drawing_area_changed = FALSE;
+
SetDrawDeactivationMask(REDRAW_NONE); /* do not deactivate drawing */
SetDrawBackgroundMask(REDRAW_NONE); /* deactivate masked drawing */
}
gfx.draw_init_text = TRUE;
}
+void InitGfxOtherSettings()
+{
+ gfx.cursor_mode = CURSOR_DEFAULT;
+}
+
void SetDrawDeactivationMask(int draw_deactivation_mask)
{
gfx.draw_deactivation_mask = draw_deactivation_mask;
SDLInitVideoBuffer(&backbuffer, &window, fullscreen);
+ video.initialized = TRUE;
+
drawto = backbuffer;
}
CheckDrawingArea(x, y, 1, 1, gfx.draw_background_mask));
}
+boolean DrawingAreaChanged()
+{
+ int drawing_area_changed = gfx.drawing_area_changed;
+
+ // reset flag for change of drawing area after querying it
+ gfx.drawing_area_changed = FALSE;
+
+ return drawing_area_changed;
+}
+
static boolean InClippedRectangle(Bitmap *bitmap, int *x, int *y,
int *width, int *height, boolean is_dest)
{
mode == CURSOR_PLAYFIELD ? cursor_playfield : NULL);
SDLSetMouseCursor(cursor_new);
+
+ gfx.cursor_mode = mode;
}