X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=26d192e396054a31b6341b8813328c0bf6e72bbe;hp=5d26341fada842c940c809036889fd413ca389a4;hb=a312d80612bb9a448cdc1abbde690b296fa92b17;hpb=ddd58a300bd5996f69a8ec41d1fd140fe7a46f18 diff --git a/src/libgame/system.h b/src/libgame/system.h index 5d26341f..26d192e3 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -48,9 +48,6 @@ #define FULLSCREEN_NOT_AVAILABLE FALSE #define FULLSCREEN_AVAILABLE TRUE -#define CREATE_SPECIAL_EDITION FALSE -#define CREATE_SPECIAL_EDITION_RND_JUE FALSE - /* default input keys */ #define DEFAULT_KEY_LEFT KSYM_Left #define DEFAULT_KEY_RIGHT KSYM_Right @@ -342,22 +339,26 @@ #define CACHE_DIRECTORY "cache" #if !defined(PLATFORM_MSDOS) -#if CREATE_SPECIAL_EDITION_RND_JUE -#define GFX_CLASSIC_SUBDIR "jue0" -#define SND_CLASSIC_SUBDIR "jue0" -#define MUS_CLASSIC_SUBDIR "jue0" -#else #define GFX_CLASSIC_SUBDIR "gfx_classic" #define SND_CLASSIC_SUBDIR "snd_classic" #define MUS_CLASSIC_SUBDIR "mus_classic" -#endif #else #define GFX_CLASSIC_SUBDIR "gfx_orig" #define SND_CLASSIC_SUBDIR "snd_orig" #define MUS_CLASSIC_SUBDIR "mus_orig" #endif -#if CREATE_SPECIAL_EDITION +#if defined(CREATE_SPECIAL_EDITION_RND_JUE) +#define GFX_DEFAULT_SUBDIR "jue0" +#define SND_DEFAULT_SUBDIR "jue0" +#define MUS_DEFAULT_SUBDIR "jue0" +#else +#define GFX_DEFAULT_SUBDIR GFX_CLASSIC_SUBDIR +#define SND_DEFAULT_SUBDIR SND_CLASSIC_SUBDIR +#define MUS_DEFAULT_SUBDIR MUS_CLASSIC_SUBDIR +#endif + +#if defined(CREATE_SPECIAL_EDITION) #define GFX_FALLBACK_FILENAME "fallback.pcx" #define SND_FALLBACK_FILENAME "fallback.wav" #define MUS_FALLBACK_FILENAME "fallback.wav" @@ -540,6 +541,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 : \ @@ -642,12 +650,16 @@ struct OptionInfo char *sounds_directory; char *music_directory; char *docs_directory; + char *execute_command; + char *special_flags; + boolean serveronly; boolean network; boolean verbose; boolean debug; + boolean debug_x11_sync; }; struct ScreenModeInfo @@ -717,6 +729,8 @@ struct GfxInfo int vx, vy; int vxsize, vysize; + int win_xsize, win_ysize; + int draw_deactivation_mask; int draw_background_mask; @@ -725,6 +739,12 @@ 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); @@ -832,8 +852,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; @@ -853,13 +871,14 @@ struct SetupInfo boolean input_on_focus; boolean prefer_aga_graphics; int game_frame_delay; + boolean sp_show_border_elements; char *graphics_set; char *sounds_set; char *music_set; - boolean override_level_graphics; - boolean override_level_sounds; - boolean override_level_music; + int override_level_graphics; /* not boolean -- can also be "AUTO" */ + int override_level_sounds; /* not boolean -- can also be "AUTO" */ + int override_level_music; /* not boolean -- can also be "AUTO" */ struct SetupEditorInfo editor; struct SetupEditorCascadeInfo editor_cascade; @@ -907,6 +926,8 @@ struct TreeInfo char *level_filename; /* filename of level file (for packed level file) */ char *level_filetype; /* type of levels in level directory or level file */ + char *special_flags; /* flags for special actions performed on level file */ + int levels; /* number of levels in level series */ int first_level; /* first level number (to allow start with 0 or 1) */ int last_level; /* last level number (automatically calculated) */ @@ -987,6 +1008,7 @@ struct FileInfo boolean redefined; boolean fallback_to_default; + boolean default_is_cloned; }; struct SetupFileList @@ -1130,8 +1152,10 @@ void ClosePlatformDependentStuff(void); void InitGfxFieldInfo(int, int, int, int, int, int, int, int, Bitmap *); void InitGfxDoor1Info(int, int, int, int); void InitGfxDoor2Info(int, int, int, int); +void InitGfxWindowInfo(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 *);