X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.c;h=e83df10bb1250a83e405380cd3189c77d8006bd4;hb=a863de3d5f7a903a1ec68d245861ce0fdf577323;hp=2f21541d8e0419b5c938853082051c8075f550fe;hpb=a9e8a4cac51cb2856f339d84bab5e07e8be75037;p=rocksndiamonds.git diff --git a/src/libgame/system.c b/src/libgame/system.c index 2f21541d..e83df10b 100644 --- a/src/libgame/system.c +++ b/src/libgame/system.c @@ -121,7 +121,7 @@ void InitNetworkInfo(boolean enabled, boolean connected, boolean serveronly, network.is_server_thread = FALSE; } -void InitRuntimeInfo() +void InitRuntimeInfo(void) { #if defined(HAS_TOUCH_DEVICE) runtime.uses_touch_device = TRUE; @@ -287,7 +287,7 @@ void InitGfxDrawGlobalBorderFunction(void (*draw_global_border_function)(int)) gfx.draw_global_border_function = draw_global_border_function; } -void InitGfxDrawTileCursorFunction(void (*draw_tile_cursor_function)(int)) +void InitGfxDrawTileCursorFunction(void (*draw_tile_cursor_function)(int, int)) { gfx.draw_tile_cursor_function = draw_tile_cursor_function; } @@ -599,15 +599,20 @@ void FreeBitmap(Bitmap *bitmap) free(bitmap); } +void ResetBitmapAlpha(Bitmap *bitmap) +{ + bitmap->alpha[0][0] = -1; + bitmap->alpha[0][1] = -1; + bitmap->alpha[1][0] = -1; + bitmap->alpha[1][1] = -1; + bitmap->alpha_next_blit = -1; +} + Bitmap *CreateBitmapStruct(void) { Bitmap *new_bitmap = checked_calloc(sizeof(Bitmap)); - new_bitmap->alpha[0][0] = -1; - new_bitmap->alpha[0][1] = -1; - new_bitmap->alpha[1][0] = -1; - new_bitmap->alpha[1][1] = -1; - new_bitmap->alpha_next_blit = -1; + ResetBitmapAlpha(new_bitmap); return new_bitmap; } @@ -933,6 +938,12 @@ void BlitBitmapMasked(Bitmap *src_bitmap, Bitmap *dst_bitmap, int src_x, int src_y, int width, int height, int dst_x, int dst_y) { + if (program.headless) + return; + + if (src_bitmap == NULL || dst_bitmap == NULL) + return; + if (DrawingDeactivated(dst_x, dst_y)) return;