#define FADE_TYPE_TRANSFORM (1 << 2)
#define FADE_TYPE_CROSSFADE (1 << 3)
#define FADE_TYPE_MELT (1 << 4)
-#define FADE_TYPE_SKIP (1 << 5)
+#define FADE_TYPE_CURTAIN (1 << 5)
+#define FADE_TYPE_SKIP (1 << 6)
#define FADE_MODE_NONE (FADE_TYPE_NONE)
#define FADE_MODE_FADE_IN (FADE_TYPE_FADE_IN)
#define FADE_MODE_TRANSFORM (FADE_TYPE_TRANSFORM | FADE_TYPE_FADE_IN)
#define FADE_MODE_CROSSFADE (FADE_MODE_TRANSFORM | FADE_TYPE_CROSSFADE)
#define FADE_MODE_MELT (FADE_MODE_TRANSFORM | FADE_TYPE_MELT)
+#define FADE_MODE_CURTAIN (FADE_MODE_TRANSFORM | FADE_TYPE_CURTAIN)
#define FADE_MODE_SKIP_FADE_IN (FADE_TYPE_SKIP | FADE_TYPE_FADE_IN)
#define FADE_MODE_SKIP_FADE_OUT (FADE_TYPE_SKIP | FADE_TYPE_FADE_OUT)
#define REDRAW_NONE (0)
#define REDRAW_ALL (1 << 0)
#define REDRAW_FIELD (1 << 1)
-#define REDRAW_TILES (1 << 2)
-#define REDRAW_DOOR_1 (1 << 3)
-#define REDRAW_VIDEO_1 (1 << 4)
-#define REDRAW_VIDEO_2 (1 << 5)
-#define REDRAW_VIDEO_3 (1 << 6)
-#define REDRAW_MICROLEVEL (1 << 7)
-#define REDRAW_MICROLABEL (1 << 8)
-#define REDRAW_FROM_BACKBUFFER (1 << 9)
-#define REDRAW_DOOR_2 (REDRAW_VIDEO_1 | \
- REDRAW_VIDEO_2 | \
- REDRAW_VIDEO_3)
-#define REDRAW_DOOR_3 (1 << 10)
+#define REDRAW_DOOR_1 (1 << 2)
+#define REDRAW_DOOR_2 (1 << 3)
+#define REDRAW_DOOR_3 (1 << 4)
+#define REDRAW_FPS (1 << 5)
+
#define REDRAW_DOORS (REDRAW_DOOR_1 | \
REDRAW_DOOR_2 | \
REDRAW_DOOR_3)
-#define REDRAW_MAIN (REDRAW_FIELD | \
- REDRAW_TILES | \
- REDRAW_MICROLEVEL)
-#define REDRAW_FPS (1 << 11)
#define IN_GFX_FIELD_PLAY(x, y) (x >= gfx.sx && x < gfx.sx + gfx.sxsize && \
y >= gfx.sy && y < gfx.sy + gfx.sysize)
char *maindata_path; /* main game data (installation) directory */
char *userdata_subdir; /* personal user game data directory */
- char *userdata_subdir_unix; /* personal user game data directory (Unix) */
char *userdata_path; /* resulting full path to game data directory */
char *program_title;
int draw_deactivation_mask;
int draw_background_mask;
- boolean drawing_area_changed;
-
Bitmap *field_save_buffer;
Bitmap *background_bitmap;
int anim_random_frame;
void (*draw_busy_anim_function)(void);
+ void (*draw_global_anim_function)(void);
int cursor_mode;
};
int game_frame_delay;
boolean sp_show_border_elements;
boolean small_game_graphics;
+ boolean show_snapshot_buttons;
char *graphics_set;
char *sounds_set;
/* function definitions */
void InitProgramInfo(char *, char *, char *, char *, char *, char *, char *,
- char *, int);
+ int);
void SetWindowTitle();
void InitGfxScrollbufferInfo(int, int);
void InitGfxClipRegion(boolean, int, int, int, int);
void InitGfxDrawBusyAnimFunction(void (*draw_busy_anim_function)(void));
+void InitGfxDrawGlobalAnimFunction(void (*draw_global_anim_function)(void));
void InitGfxCustomArtworkInfo();
void InitGfxOtherSettings();
void SetDrawDeactivationMask(int);
void SetWindowBackgroundBitmap(Bitmap *);
void SetMainBackgroundBitmap(Bitmap *);
void SetDoorBackgroundBitmap(Bitmap *);
+void SetRedrawMaskFromArea(int, int, int, int);
void LimitScreenUpdates(boolean);
void KeyboardAutoRepeatOn(void);
void KeyboardAutoRepeatOff(void);
-boolean PointerInWindow(DrawWindow *);
boolean SetVideoMode(boolean);
boolean ChangeVideoModeIfNeeded(boolean);
Bitmap *ZoomBitmap(Bitmap *, int, int);
void ReCreateGameTileSizeBitmap(Bitmap **);
void CreateBitmapWithSmallBitmaps(Bitmap **, int, int);
+void CreateBitmapTextures(Bitmap **);
void ScaleBitmap(Bitmap **, int);
void SetMouseCursor(int);