// graphic info for game objects/frames and players/actions/frames
struct GraphicInfo_BD graphic_info_bd_object[O_MAX_ALL][8];
+// graphic info for game graphics template for level-specific colors
+struct GraphicInfo_BD graphic_info_bd_color_template;
static inline int c64_png_colors(int r, int g, int b, int a)
{
{
static SDL_Surface *tile_surface_c64 = NULL;
static Bitmap *gd_tile_bitmap_original = NULL;
+ static int scale_down_factor_last = -1;
// check if tile bitmap has changed (different artwork or tile size selected)
- if (bitmap != gd_tile_bitmap_original)
+ if (bitmap != gd_tile_bitmap_original || scale_down_factor != scale_down_factor_last)
{
// check if tile bitmap has limited C64 style colors
tile_surface_c64 = get_tile_surface_c64(bitmap->surface, scale_down_factor);
- // store original tile bitmap from current artwork set
+ // store original tile bitmap from current artwork set and scaling factor
gd_tile_bitmap_original = bitmap;
+ scale_down_factor_last = scale_down_factor;
// store reference tile bitmap from current artwork set (may be changed later)
gd_tile_bitmap_reference = bitmap;