diff --git a/inc/blt.h b/inc/blt.h index 34bffa4..220a580 100644 --- a/inc/blt.h +++ b/inc/blt.h @@ -65,6 +65,10 @@ void blt_colorkey_mirror_stretch( BOOL mirror_left_right, int bpp); +void blt_clear( + unsigned char* dst, + size_t size); + void blt_colorfill( unsigned char* dst, int dst_x, diff --git a/src/blt.c b/src/blt.c index 192dd94..6f3286b 100644 --- a/src/blt.c +++ b/src/blt.c @@ -381,6 +381,13 @@ void blt_colorkey_mirror_stretch( } } +void blt_clear( + unsigned char* dst, + size_t size) +{ + memset(dst, 0, size); +} + void blt_colorfill( unsigned char* dst, int dst_x, diff --git a/src/ddsurface.c b/src/ddsurface.c index f50a980..416e7de 100644 --- a/src/ddsurface.c +++ b/src/ddsurface.c @@ -548,7 +548,7 @@ HRESULT dds_Flip(IDirectDrawSurfaceImpl* This, IDirectDrawSurfaceImpl* lpDDSurfa if (g_ddraw->flipclear) { - memset(buf, 0, backbuffer->size); + blt_clear(buf, backbuffer->size); } LeaveCriticalSection(&g_ddraw->cs);