X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.c;h=595daad7bd3fc148b43b0035fd8bc49b50d51f75;hb=2f3a28bda17371321ce501789664ebd6c9456cd9;hp=38ec0b5b2e5148a2dbf69dd2a8accc65b959b694;hpb=30f5fd7b8f2235820dcbe638a18319d802317530;p=rocksndiamonds.git diff --git a/src/libgame/system.c b/src/libgame/system.c index 38ec0b5b..595daad7 100644 --- a/src/libgame/system.c +++ b/src/libgame/system.c @@ -207,9 +207,16 @@ void InitGfxWindowInfo(int win_xsize, int win_ysize) gfx.background_bitmap_mask = REDRAW_NONE; ReCreateBitmap(&gfx.background_bitmap, win_xsize, win_ysize, DEFAULT_DEPTH); -#if USE_FINAL_SCREEN_BITMAP + +#if defined(TARGET_SDL2) ReCreateBitmap(&gfx.final_screen_bitmap, win_xsize, win_ysize, DEFAULT_DEPTH); #endif + + ReCreateBitmap(&gfx.fade_bitmap_source, win_xsize, win_ysize, DEFAULT_DEPTH); + ReCreateBitmap(&gfx.fade_bitmap_target, win_xsize, win_ysize, DEFAULT_DEPTH); + ReCreateBitmap(&gfx.fade_bitmap_black, win_xsize, win_ysize, DEFAULT_DEPTH); + + ClearRectangle(gfx.fade_bitmap_black, 0, 0, win_xsize, win_ysize); } void InitGfxScrollbufferInfo(int scrollbuffer_width, int scrollbuffer_height) @@ -371,7 +378,7 @@ void InitVideoBuffer(int width, int height, int depth, boolean fullscreen) video.window_scaling_available = WINDOW_SCALING_STATUS; - SDLInitVideoBuffer(&backbuffer, &window, fullscreen); + SDLInitVideoBuffer(fullscreen); video.initialized = TRUE; @@ -757,12 +764,11 @@ void BlitToScreen(Bitmap *bitmap, if (bitmap == NULL) return; -#if USE_FINAL_SCREEN_BITMAP - BlitBitmap(bitmap, gfx.final_screen_bitmap, src_x, src_y, - width, height, dst_x, dst_y); -#else - BlitTexture(bitmap, src_x, src_y, width, height, dst_x, dst_y); -#endif + if (video.screen_rendering_mode == SPECIAL_RENDERING_BITMAP) + BlitBitmap(bitmap, gfx.final_screen_bitmap, src_x, src_y, + width, height, dst_x, dst_y); + else + BlitTexture(bitmap, src_x, src_y, width, height, dst_x, dst_y); } void BlitToScreenMasked(Bitmap *bitmap, @@ -772,12 +778,11 @@ void BlitToScreenMasked(Bitmap *bitmap, if (bitmap == NULL) return; -#if USE_FINAL_SCREEN_BITMAP - BlitBitmapMasked(bitmap, gfx.final_screen_bitmap, src_x, src_y, - width, height, dst_x, dst_y); -#else - BlitTextureMasked(bitmap, src_x, src_y, width, height, dst_x, dst_y); -#endif + if (video.screen_rendering_mode == SPECIAL_RENDERING_BITMAP) + BlitBitmapMasked(bitmap, gfx.final_screen_bitmap, src_x, src_y, + width, height, dst_x, dst_y); + else + BlitTextureMasked(bitmap, src_x, src_y, width, height, dst_x, dst_y); } void DrawSimpleBlackLine(Bitmap *bitmap, int from_x, int from_y, @@ -877,7 +882,7 @@ void KeyboardAutoRepeatOff(void) boolean SetVideoMode(boolean fullscreen) { - return SDLSetVideoMode(&backbuffer, fullscreen); + return SDLSetVideoMode(fullscreen); } boolean ChangeVideoModeIfNeeded(boolean fullscreen)