gfx.draw_busy_anim_function = draw_busy_anim_function;
}
+void InitGfxCustomArtworkInfo()
+{
+ gfx.override_level_graphics = FALSE;
+ gfx.override_level_sounds = FALSE;
+ gfx.override_level_music = FALSE;
+
+ gfx.draw_init_text = TRUE;
+}
+
void SetDrawDeactivationMask(int draw_deactivation_mask)
{
gfx.draw_deactivation_mask = draw_deactivation_mask;
void SetWindowBackgroundBitmap(Bitmap *background_bitmap_tile)
{
+ /* remove every mask before setting mask for window */
+ /* (!!! TO BE FIXED: The whole REDRAW_* system really sucks! !!!) */
+ SetBackgroundBitmap(NULL, 0xffff); /* !!! FIX THIS !!! */
SetBackgroundBitmap(background_bitmap_tile, REDRAW_ALL);
}
void SetMainBackgroundBitmap(Bitmap *background_bitmap_tile)
{
+ /* remove window area mask before setting mask for main area */
+ /* (!!! TO BE FIXED: The whole REDRAW_* system really sucks! !!!) */
SetBackgroundBitmap(NULL, REDRAW_ALL); /* !!! FIX THIS !!! */
SetBackgroundBitmap(background_bitmap_tile, REDRAW_FIELD);
}
void SetDoorBackgroundBitmap(Bitmap *background_bitmap_tile)
{
+ /* remove window area mask before setting mask for door area */
+ /* (!!! TO BE FIXED: The whole REDRAW_* system really sucks! !!!) */
SetBackgroundBitmap(NULL, REDRAW_ALL); /* !!! FIX THIS !!! */
SetBackgroundBitmap(background_bitmap_tile, REDRAW_DOOR_1);
}
Bitmap *CreateBitmap(int width, int height, int depth)
{
Bitmap *new_bitmap = CreateBitmapStruct();
- int real_depth = GetRealDepth(depth);
+ int real_width = MAX(1, width); /* prevent zero bitmap width */
+ int real_height = MAX(1, height); /* prevent zero bitmap height */
+ int real_depth = GetRealDepth(depth);
#if defined(TARGET_SDL)
- SDLCreateBitmapContent(new_bitmap, width, height, real_depth);
+ SDLCreateBitmapContent(new_bitmap, real_width, real_height, real_depth);
#else
- X11CreateBitmapContent(new_bitmap, width, height, real_depth);
+ X11CreateBitmapContent(new_bitmap, real_width, real_height, real_depth);
#endif
- new_bitmap->width = width;
- new_bitmap->height = height;
+ new_bitmap->width = real_width;
+ new_bitmap->height = real_height;
return new_bitmap;
}