X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=b36dcd615c81ccadb75bbc935865bacf060957a2;hb=c3f4524693a17a8d75c7d25da24d4003b234d114;hp=d74b057b60b28314dbf760ac72ec0293d8d5c50c;hpb=3e76edd9591c599d4ec9b3a179e07c23c0aa135c;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index d74b057b..b36dcd61 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -289,6 +289,7 @@ #define DRAW_GLOBAL_ANIM_STAGE_1 1 #define DRAW_GLOBAL_ANIM_STAGE_2 2 #define DRAW_GLOBAL_ANIM_STAGE_3 3 +#define DRAW_GLOBAL_ANIM_STAGE_RESTART 4 // values for drawing target (various functions) #define DRAW_TO_BACKBUFFER 0 @@ -365,17 +366,18 @@ #define ANIM_CE_DELAY (1 << 7) #define ANIM_REVERSE (1 << 8) #define ANIM_OPAQUE_PLAYER (1 << 9) +#define ANIM_LEVEL_NR (1 << 10) // values for special (non game element) animation modes // (not stored in level files -- can be changed, if needed) -#define ANIM_HORIZONTAL (1 << 10) -#define ANIM_VERTICAL (1 << 11) -#define ANIM_CENTERED (1 << 12) -#define ANIM_STATIC_PANEL (1 << 13) -#define ANIM_ALL (1 << 14) -#define ANIM_ONCE (1 << 15) -#define ANIM_TILED (1 << 16) -#define ANIM_RANDOM_STATIC (1 << 17) +#define ANIM_HORIZONTAL (1 << 11) +#define ANIM_VERTICAL (1 << 12) +#define ANIM_CENTERED (1 << 13) +#define ANIM_STATIC_PANEL (1 << 14) +#define ANIM_ALL (1 << 15) +#define ANIM_ONCE (1 << 16) +#define ANIM_TILED (1 << 17) +#define ANIM_RANDOM_STATIC (1 << 18) #define ANIM_DEFAULT ANIM_LOOP @@ -480,7 +482,8 @@ #define POS_BOTTOM 6 #define POS_ANY 7 #define POS_CE 8 -#define POS_LAST 9 +#define POS_CE_TRIGGER 9 +#define POS_LAST 10 // values for text alignment #define ALIGN_LEFT (1 << 0) @@ -543,6 +546,8 @@ #define MAX_VSYNC_FRAME_DELAY 16 // maximum value for vsync to work #define FRAMES_PER_SECOND (ONE_SECOND_DELAY / GAME_FRAME_DELAY) #define FRAMES_PER_SECOND_SP 35 +#define FRAMES_PER_SECOND_PAL 50 +#define FRAMES_PER_SECOND_NTSC 60 // maximum playfield size supported by libgame functions #define MAX_PLAYFIELD_WIDTH 128 @@ -1238,11 +1243,13 @@ struct GfxInfo char * (*get_token_from_font_function)(int); int anim_random_frame; + int anim_first_level; void (*draw_busy_anim_function)(boolean); void (*draw_global_anim_function)(int, int); void (*draw_global_border_function)(int); - void (*draw_tile_cursor_function)(int); + void (*draw_tile_cursor_function)(int, int); + void (*draw_envelope_request_function)(int); int cursor_mode; int cursor_mode_override; @@ -1332,6 +1339,7 @@ struct SetupInputInfo struct SetupEditorInfo { boolean el_boulderdash; + boolean el_boulderdash_native; boolean el_emerald_mine; boolean el_emerald_mine_club; boolean el_more; @@ -1376,6 +1384,7 @@ struct SetupLevelSetupInfo struct SetupEditorCascadeInfo { boolean el_bd; + boolean el_bd_native; boolean el_em; boolean el_emc; boolean el_rnd; @@ -1513,6 +1522,7 @@ struct SetupInfo boolean sound_music; boolean sound_simple; boolean toons; + boolean global_animations; boolean scroll_delay; boolean forced_scroll_delay; int scroll_delay_value; @@ -1549,6 +1559,8 @@ struct SetupInfo boolean prefer_extra_panel_items; boolean game_speed_extended; int game_frame_delay; + boolean bd_skip_uncovering; + boolean bd_skip_hatching; boolean sp_show_border_elements; boolean small_game_graphics; boolean show_load_save_buttons; @@ -1976,7 +1988,8 @@ void InitGfxClipRegion(boolean, int, int, int, int); void InitGfxDrawBusyAnimFunction(void (*draw_busy_anim_function)(boolean)); void InitGfxDrawGlobalAnimFunction(void (*draw_global_anim_function)(int, int)); void InitGfxDrawGlobalBorderFunction(void (*draw_global_border_function)(int)); -void InitGfxDrawTileCursorFunction(void (*draw_tile_cursor_function)(int)); +void InitGfxDrawTileCursorFunction(void (*draw_tile_cursor_function)(int, int)); +void InitGfxDrawEnvelopeRequestFunction(void (*draw_envelope_request_function)(int)); void InitGfxCustomArtworkInfo(void); void InitGfxOtherSettings(void); void InitTileCursorInfo(void); @@ -2004,10 +2017,12 @@ void InitVideoDefaults(void); void InitVideoDisplay(void); void CloseVideoDisplay(void); void InitVideoBuffer(int, int, int, boolean); +void ResetBitmapAlpha(Bitmap *); Bitmap *CreateBitmapStruct(void); Bitmap *CreateBitmap(int, int, int); void ReCreateBitmap(Bitmap **, int, int); void FreeBitmap(Bitmap *); +void SetBitmapAlphaNextBlit(Bitmap *, int); void BlitBitmap(Bitmap *, Bitmap *, int, int, int, int, int, int); void BlitBitmapTiled(Bitmap *, Bitmap *, int, int, int, int, int, int, int, int); void FadeRectangle(int, int, int, int, int, int, int,