X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=110e18c2392c3f462650f69e5ad0cf36bb246c29;hb=2176d1de29652bc9e8db1baa283fdc1c4e99e674;hp=c48826373f810021bc18b9df6f663454a5035364;hpb=cd6f67fb2096aecb1d43e8684eead6a6232ef768;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index c4882637..110e18c2 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -59,6 +59,29 @@ #define SCALING_QUALITY_DEFAULT SCALING_QUALITY_LINEAR +/* values for screen rendering mode */ +#define STR_SPECIAL_RENDERING_OFF "stream_texture_only" +#define STR_SPECIAL_RENDERING_BITMAP "bitmap_and_stream_texture" +#define STR_SPECIAL_RENDERING_TARGET "target_texture_only" +#define STR_SPECIAL_RENDERING_DOUBLE "stream_and_target_texture" + +#if defined(TARGET_SDL2) +#define STR_SPECIAL_RENDERING_DEFAULT STR_SPECIAL_RENDERING_DOUBLE +#else +#define STR_SPECIAL_RENDERING_DEFAULT STR_SPECIAL_RENDERING_BITMAP +#endif + +#define SPECIAL_RENDERING_OFF 0 +#define SPECIAL_RENDERING_BITMAP 1 +#define SPECIAL_RENDERING_TARGET 2 +#define SPECIAL_RENDERING_DOUBLE 3 + +#if defined(TARGET_SDL2) +#define SPECIAL_RENDERING_DEFAULT SPECIAL_RENDERING_DOUBLE +#else +#define SPECIAL_RENDERING_DEFAULT SPECIAL_RENDERING_BITMAP +#endif + /* values for touch control */ #define TOUCH_CONTROL_VIRTUAL_BUTTONS "virtual_buttons" #define TOUCH_CONTROL_WIPE_GESTURES "wipe_gestures" @@ -172,6 +195,8 @@ /* values for drawing target for global border */ #define DRAW_BORDER_TO_BACKBUFFER 0 #define DRAW_BORDER_TO_SCREEN 1 +#define DRAW_BORDER_TO_FADE_SOURCE 2 +#define DRAW_BORDER_TO_FADE_TARGET 3 /* values for move directions and special "button" key bitmasks */ #define MV_NONE 0 @@ -707,7 +732,6 @@ struct ProgramInfo struct OptionInfo { - char *display_name; char *server_host; int server_port; @@ -729,11 +753,6 @@ struct OptionInfo boolean debug; }; -struct ScreenModeInfo -{ - int width, height; -}; - struct VideoSystemInfo { int default_depth; @@ -743,12 +762,11 @@ struct VideoSystemInfo boolean fullscreen_available; boolean fullscreen_enabled; boolean fullscreen_initial; - struct ScreenModeInfo *fullscreen_modes; - char *fullscreen_mode_current; boolean window_scaling_available; int window_scaling_percent; char *window_scaling_quality; + int screen_rendering_mode; boolean initialized; }; @@ -819,9 +837,11 @@ struct GfxInfo Bitmap *fade_bitmap_target; Bitmap *fade_bitmap_black; -#if USE_FINAL_SCREEN_BITMAP + int fade_border_source_status; + int fade_border_target_status; + Bitmap *masked_border_bitmap_ptr; + Bitmap *final_screen_bitmap; -#endif boolean clipping_enabled; int clip_x, clip_y; @@ -1006,9 +1026,9 @@ struct SetupInfo boolean skip_levels; boolean time_limit; boolean fullscreen; - char *fullscreen_mode; int window_scaling_percent; char *window_scaling_quality; + char *screen_rendering_mode; boolean ask_on_escape; boolean ask_on_escape_editor; boolean quick_switch;