X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.c;h=c04c77e5b40ea57947be26754ec3f2c088f683ac;hb=6b8e0388206475c9fae364474c84624fa5a49599;hp=25edb0effd65a959df172d43fa84f9c03d77ddcb;hpb=14d7691c65ca4a466ce9b9448153e8fbe8351a81;p=rocksndiamonds.git diff --git a/src/libgame/system.c b/src/libgame/system.c index 25edb0ef..c04c77e5 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; @@ -354,6 +361,8 @@ void InitVideoBuffer(int width, int height, int depth, boolean fullscreen) SDLInitVideoBuffer(&backbuffer, &window, fullscreen); + video.initialized = TRUE; + drawto = backbuffer; } @@ -463,6 +472,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 +1269,8 @@ void SetMouseCursor(int mode) mode == CURSOR_PLAYFIELD ? cursor_playfield : NULL); SDLSetMouseCursor(cursor_new); + + gfx.cursor_mode = mode; }