X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.c;h=f45e87e8b91885bcc78e371a288891a35a357408;hb=7b3e068e43bcfeb38ce390d5d1c3b1a13c81cb55;hp=25edb0effd65a959df172d43fa84f9c03d77ddcb;hpb=14d7691c65ca4a466ce9b9448153e8fbe8351a81;p=rocksndiamonds.git diff --git a/src/libgame/system.c b/src/libgame/system.c index 25edb0ef..f45e87e8 100644 --- a/src/libgame/system.c +++ b/src/libgame/system.c @@ -170,6 +170,8 @@ void InitGfxFieldInfo(int sx, int sy, int sxsize, int sysize, 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 */ } @@ -245,6 +247,11 @@ void InitGfxCustomArtworkInfo() 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; @@ -463,6 +470,16 @@ boolean DrawingOnBackground(int x, int y) 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) { @@ -1250,6 +1267,8 @@ void SetMouseCursor(int mode) mode == CURSOR_PLAYFIELD ? cursor_playfield : NULL); SDLSetMouseCursor(cursor_new); + + gfx.cursor_mode = mode; }