X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsdl.c;h=89d2af1efb8c28896ca76876bdec6f67b8509a91;hb=30797dcb6034d34040a7888cf2adfe5cd48ec986;hp=096eeb709fdcd7e78441774bfd5d15564af1fae9;hpb=89237f2f4d7189714da64da53c1515979ad49b2d;p=rocksndiamonds.git diff --git a/src/libgame/sdl.c b/src/libgame/sdl.c index 096eeb70..89d2af1e 100644 --- a/src/libgame/sdl.c +++ b/src/libgame/sdl.c @@ -70,13 +70,13 @@ static void FinalizeScreen(int draw_target) if (gfx.draw_envelope_request_function != NULL) gfx.draw_envelope_request_function(draw_target); - // copy global animations to render target buffer, if defined (mouse pointer) - if (gfx.draw_global_anim_function != NULL) - gfx.draw_global_anim_function(draw_target, DRAW_GLOBAL_ANIM_STAGE_3); - // copy tile selection cursor to render target buffer, if defined (part 2) if (gfx.draw_tile_cursor_function != NULL) gfx.draw_tile_cursor_function(draw_target, FALSE); + + // copy global animations to render target buffer, if defined (mouse pointer) + if (gfx.draw_global_anim_function != NULL) + gfx.draw_global_anim_function(draw_target, DRAW_GLOBAL_ANIM_STAGE_3); } static void UpdateScreenExt(SDL_Rect *rect, boolean with_frame_delay) @@ -468,6 +468,21 @@ boolean SDLSetNativeSurface(SDL_Surface **surface) return TRUE; } +SDL_Surface *SDLCreateNativeSurface(int width, int height, int depth) +{ + if (program.headless) + return NULL; + + SDL_Surface *surface = SDL_CreateRGBSurface(SURFACE_FLAGS, width, height, depth, 0,0,0, 0); + + if (surface == NULL) + Fail("SDL_CreateRGBSurface() failed: %s", SDL_GetError()); + + SDLSetNativeSurface(&surface); + + return surface; +} + static SDL_Texture *SDLCreateTextureFromSurface(SDL_Surface *surface) { if (program.headless) @@ -980,23 +995,6 @@ void SDLRedrawWindow(void) UpdateScreen_WithoutFrameDelay(NULL); } -void SDLCreateBitmapContent(Bitmap *bitmap, int width, int height, - int depth) -{ - if (program.headless) - return; - - SDL_Surface *surface = - SDL_CreateRGBSurface(SURFACE_FLAGS, width, height, depth, 0,0,0, 0); - - if (surface == NULL) - Fail("SDL_CreateRGBSurface() failed: %s", SDL_GetError()); - - SDLSetNativeSurface(&surface); - - bitmap->surface = surface; -} - void SDLFreeBitmapPointers(Bitmap *bitmap) { if (bitmap->surface) @@ -1463,7 +1461,7 @@ void SDLDrawLines(SDL_Surface *surface, struct XY *points, continue; sge_Line(surface, points[i].x + dx, points[i].y + dy, - points[i+1].x + dx, points[i+1].y + dy, color); + points[i + 1].x + dx, points[i + 1].y + dy, color); } } } @@ -2235,7 +2233,7 @@ static int zoomSurfaceY(SDL_Surface * src, SDL_Surface * dst) } // ---------------------------------------------------------------------------- -// zoomSurface() +// SDLZoomSurface() // // Zooms a 32bit or 8bit 'src' surface to newly created 'dst' surface. // 'zoomx' and 'zoomy' are scaling factors for width and height. @@ -2243,7 +2241,7 @@ static int zoomSurfaceY(SDL_Surface * src, SDL_Surface * dst) // into a 32bit RGBA format on the fly. // ---------------------------------------------------------------------------- -static SDL_Surface *zoomSurface(SDL_Surface *src, int dst_width, int dst_height) +SDL_Surface *SDLZoomSurface(SDL_Surface *src, int dst_width, int dst_height) { SDL_Surface *zoom_src = NULL; SDL_Surface *zoom_dst = NULL; @@ -2354,7 +2352,7 @@ Bitmap *SDLZoomBitmap(Bitmap *src_bitmap, int dst_width, int dst_height) dst_bitmap->height = dst_height; // create zoomed temporary surface from source surface - dst_surface = zoomSurface(src_surface, dst_width, dst_height); + dst_surface = SDLZoomSurface(src_surface, dst_width, dst_height); // create native format destination surface from zoomed temporary surface SDLSetNativeSurface(&dst_surface);