projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added option for window icon file to run-time special edition support
[rocksndiamonds.git]
/
src
/
libgame
/
system.c
diff --git
a/src/libgame/system.c
b/src/libgame/system.c
index 25edb0effd65a959df172d43fa84f9c03d77ddcb..1088f17cc657b5c7229eb2b6bcebc47a76f18a43 100644
(file)
--- a/
src/libgame/system.c
+++ b/
src/libgame/system.c
@@
-64,15
+64,17
@@
int FrameCounter = 0;
/* init/close functions */
/* ========================================================================= */
/* 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 *userdata_subdir, char *userdata_subdir_unix,
char *program_title, char *icon_title,
- char *
sdl_
icon_filename, char *cookie_prefix,
+ char *icon_filename, char *cookie_prefix,
int program_version)
{
program.command_basepath = getBasePath(argv0);
program.command_basename = getBaseName(argv0);
int program_version)
{
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();
program.userdata_subdir = userdata_subdir;
program.userdata_subdir_unix = userdata_subdir_unix;
program.userdata_path = getUserGameDataDir();
@@
-81,7
+83,7
@@
void InitProgramInfo(char *argv0,
program.window_title = "(undefined)";
program.icon_title = icon_title;
program.window_title = "(undefined)";
program.icon_title = icon_title;
- program.
sdl_icon_filename = sdl_
icon_filename;
+ program.
icon_filename =
icon_filename;
program.cookie_prefix = cookie_prefix;
program.cookie_prefix = cookie_prefix;
@@
-170,6
+172,8
@@
void InitGfxFieldInfo(int sx, int sy, int sxsize, int sysize,
gfx.field_save_buffer = field_save_buffer;
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 */
}
SetDrawDeactivationMask(REDRAW_NONE); /* do not deactivate drawing */
SetDrawBackgroundMask(REDRAW_NONE); /* deactivate masked drawing */
}
@@
-245,6
+249,11
@@
void InitGfxCustomArtworkInfo()
gfx.draw_init_text = TRUE;
}
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;
void SetDrawDeactivationMask(int draw_deactivation_mask)
{
gfx.draw_deactivation_mask = draw_deactivation_mask;
@@
-354,6
+363,8
@@
void InitVideoBuffer(int width, int height, int depth, boolean fullscreen)
SDLInitVideoBuffer(&backbuffer, &window, fullscreen);
SDLInitVideoBuffer(&backbuffer, &window, fullscreen);
+ video.initialized = TRUE;
+
drawto = backbuffer;
}
drawto = backbuffer;
}
@@
-463,6
+474,16
@@
boolean DrawingOnBackground(int x, int y)
CheckDrawingArea(x, y, 1, 1, gfx.draw_background_mask));
}
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)
{
static boolean InClippedRectangle(Bitmap *bitmap, int *x, int *y,
int *width, int *height, boolean is_dest)
{
@@
-1250,6
+1271,8
@@
void SetMouseCursor(int mode)
mode == CURSOR_PLAYFIELD ? cursor_playfield : NULL);
SDLSetMouseCursor(cursor_new);
mode == CURSOR_PLAYFIELD ? cursor_playfield : NULL);
SDLSetMouseCursor(cursor_new);
+
+ gfx.cursor_mode = mode;
}
}