X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=4f8c2f93b83cc6fae05d2fb4f25b81a9f73548ca;hp=32da6cc16f1b826998d44d1ee15f53c7aa699368;hb=bca0a1d2e0c7d05f0dfb1d1c62c85715c63652ba;hpb=14f10ebaf067872a8a1412476c8923cb2414aee4 diff --git a/src/libgame/system.h b/src/libgame/system.h index 32da6cc1..4f8c2f93 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -540,6 +540,13 @@ (setup).override_level_sounds : \ (setup).override_level_music) +#define GFX_OVERRIDE_ARTWORK(type) \ + ((type) == ARTWORK_TYPE_GRAPHICS ? \ + gfx.override_level_graphics : \ + (type) == ARTWORK_TYPE_SOUNDS ? \ + gfx.override_level_sounds : \ + gfx.override_level_music) + #define ARTWORK_FIRST_NODE(artwork, type) \ ((type) == ARTWORK_TYPE_GRAPHICS ? \ (artwork).gfx_first : \ @@ -585,6 +592,12 @@ (type) == ARTWORK_TYPE_MUSIC ? \ options.music_directory : "") +#define UPDATE_BUSY_STATE() \ +{ \ + if (gfx.draw_busy_anim_function != NULL) \ + gfx.draw_busy_anim_function(); \ +} + /* type definitions */ typedef int (*EventFilter)(const Event *); @@ -719,12 +732,20 @@ struct GfxInfo Bitmap *background_bitmap; int background_bitmap_mask; + boolean override_level_graphics; + boolean override_level_sounds; + boolean override_level_music; + + boolean draw_init_text; + int num_fonts; struct FontBitmapInfo *font_bitmap_info; int (*select_font_function)(int); int (*get_font_from_token_function)(char *); int anim_random_frame; + + void (*draw_busy_anim_function)(void); }; struct JoystickInfo @@ -824,8 +845,6 @@ struct SetupInfo boolean sound_music; boolean sound_simple; boolean toons; - boolean double_buffering; - boolean direct_draw; /* !double_buffering (redundant!) */ boolean scroll_delay; boolean scroll_delay_value; boolean soft_scrolling; @@ -852,6 +871,7 @@ struct SetupInfo boolean override_level_graphics; boolean override_level_sounds; boolean override_level_music; + boolean auto_override_artwork; struct SetupEditorInfo editor; struct SetupEditorCascadeInfo editor_cascade; @@ -979,6 +999,7 @@ struct FileInfo boolean redefined; boolean fallback_to_default; + boolean default_is_cloned; }; struct SetupFileList @@ -1123,6 +1144,8 @@ void InitGfxFieldInfo(int, int, int, int, int, int, int, int, Bitmap *); void InitGfxDoor1Info(int, int, int, int); void InitGfxDoor2Info(int, int, int, int); void InitGfxScrollbufferInfo(int, int); +void InitGfxDrawBusyAnimFunction(void (*draw_busy_anim_function)(void)); +void InitGfxCustomArtworkInfo(); void SetDrawDeactivationMask(int); void SetDrawBackgroundMask(int); void SetWindowBackgroundBitmap(Bitmap *);