projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed using SDL_DisplayFormat() even if video is not initialized yet
[rocksndiamonds.git]
/
src
/
libgame
/
system.c
diff --git
a/src/libgame/system.c
b/src/libgame/system.c
index 9484cbd2e5b5840c5b8f10083f575676885d217b..c04c77e5b40ea57947be26754ec3f2c088f683ac 100644
(file)
--- a/
src/libgame/system.c
+++ b/
src/libgame/system.c
@@
-44,11
+44,6
@@
int level_nr;
struct LevelStats level_stats[MAX_LEVELS];
struct LevelStats level_stats[MAX_LEVELS];
-Display *display = NULL;
-Visual *visual = NULL;
-int screen = 0;
-Colormap cmap = None;
-
DrawWindow *window = NULL;
DrawBuffer *backbuffer = NULL;
DrawBuffer *drawto = NULL;
DrawWindow *window = NULL;
DrawBuffer *backbuffer = NULL;
DrawBuffer *drawto = NULL;
@@
-175,6
+170,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 */
}
@@
-250,6
+247,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;
@@
-359,6
+361,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;
}
@@
-468,6
+472,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)
{
@@
-660,14
+674,6
@@
void ClearRectangleOnBackground(Bitmap *bitmap, int x, int y,
ClearRectangle(bitmap, x, y, width, height);
}
ClearRectangle(bitmap, x, y, width, height);
}
-void SetClipMask(Bitmap *bitmap, GC clip_gc, Pixmap clip_pixmap)
-{
-}
-
-void SetClipOrigin(Bitmap *bitmap, GC clip_gc, int clip_x, int clip_y)
-{
-}
-
void BlitBitmapMasked(Bitmap *src_bitmap, Bitmap *dst_bitmap,
int src_x, int src_y, int width, int height,
int dst_x, int dst_y)
void BlitBitmapMasked(Bitmap *src_bitmap, Bitmap *dst_bitmap,
int src_x, int src_y, int width, int height,
int dst_x, int dst_y)
@@
-690,8
+696,6
@@
void BlitBitmapOnBackground(Bitmap *src_bitmap, Bitmap *dst_bitmap,
dst_x, dst_y);
/* draw foreground */
dst_x, dst_y);
/* draw foreground */
- SetClipOrigin(src_bitmap, src_bitmap->stored_clip_gc,
- dst_x - src_x, dst_y - src_y);
BlitBitmapMasked(src_bitmap, dst_bitmap, src_x, src_y, width, height,
dst_x, dst_y);
}
BlitBitmapMasked(src_bitmap, dst_bitmap, src_x, src_y, width, height,
dst_x, dst_y);
}
@@
-774,16
+778,6
@@
Pixel GetPixelFromRGBcompact(Bitmap *bitmap, unsigned int color)
return GetPixelFromRGB(bitmap, color_r, color_g, color_b);
}
return GetPixelFromRGB(bitmap, color_r, color_g, color_b);
}
-/* execute all pending screen drawing operations */
-void FlushDisplay(void)
-{
-}
-
-/* execute and wait for all pending screen drawing operations */
-void SyncDisplay(void)
-{
-}
-
void KeyboardAutoRepeatOn(void)
{
#if defined(TARGET_SDL2)
void KeyboardAutoRepeatOn(void)
{
#if defined(TARGET_SDL2)
@@
-1275,6
+1269,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;
}
}