- BlitBitmap(src_bitmap, tmp_bitmap, 0, 0, src_width, src_height, 0, 0);
- BlitBitmap(tmp_bitmap_2, tmp_bitmap, 0, 0, src_width / 2, src_height / 2,
- 0, src_height);
- BlitBitmap(tmp_bitmap_8, tmp_bitmap, 0, 0, src_width / 8, src_height / 8,
- 3 * src_width / 4, src_height);
+ SDL_SetColorKey(tmp_surface_1, SDL_SRCCOLORKEY,
+ SDL_MapRGB(tmp_surface_1->format, 0x00, 0x00, 0x00));
+ if ((old_bitmap->surface_masked = SDL_DisplayFormat(tmp_surface_1)) ==NULL)
+ Error(ERR_EXIT, "SDL_DisplayFormat() failed");
+ SDL_SetColorKey(tmp_surface_1, 0, 0); /* reset transparent pixel */
+#endif
+ }
+
+ new_width = width_1;
+ new_height = height_1 + (height_1 + 1) / 2; /* prevent odd height */
+
+ new_bitmap = CreateBitmap(new_width, new_height, DEFAULT_DEPTH);
+
+ BlitBitmap(tmp_bitmap_1, new_bitmap, 0, 0, width_1, height_1, 0, 0);
+ BlitBitmap(tmp_bitmap_2, new_bitmap, 0, 0, width_1 / 2, height_1 / 2,
+ 0, height_1);
+ BlitBitmap(tmp_bitmap_8, new_bitmap, 0, 0, width_1 / 8, height_1 / 8,
+ 3 * width_1 / 4, height_1);