X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=e76fbf59f56679e667cf1af38970283e3e7ec373;hb=fff101ef57046da44b3df421b940db5e5cbb3a69;hp=593b245010806f0224515685d3cfd9ba135845f9;hpb=bb0b4d6b538a625aaa98a25190891ef1fb766168;p=rocksndiamonds.git diff --git a/src/libgame/system.h b/src/libgame/system.h index 593b2450..e76fbf59 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -47,7 +47,7 @@ #define WINDOW_SCALING_NOT_AVAILABLE FALSE #define WINDOW_SCALING_AVAILABLE TRUE -#define MIN_WINDOW_SCALING_PERCENT 50 +#define MIN_WINDOW_SCALING_PERCENT 30 #define STD_WINDOW_SCALING_PERCENT 100 #define MAX_WINDOW_SCALING_PERCENT 300 #define STEP_WINDOW_SCALING_PERCENT 10 @@ -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" @@ -743,6 +766,10 @@ struct VideoSystemInfo boolean window_scaling_available; int window_scaling_percent; char *window_scaling_quality; + int screen_rendering_mode; + + unsigned int frame_delay; + unsigned int frame_delay_value; boolean initialized; }; @@ -817,9 +844,7 @@ struct GfxInfo int fade_border_target_status; Bitmap *masked_border_bitmap_ptr; -#if USE_FINAL_SCREEN_BITMAP Bitmap *final_screen_bitmap; -#endif boolean clipping_enabled; int clip_x, clip_y; @@ -1006,6 +1031,7 @@ struct SetupInfo boolean fullscreen; int window_scaling_percent; char *window_scaling_quality; + char *screen_rendering_mode; boolean ask_on_escape; boolean ask_on_escape_editor; boolean quick_switch; @@ -1384,6 +1410,8 @@ Pixel GetPixelFromRGBcompact(Bitmap *, unsigned int); void KeyboardAutoRepeatOn(void); void KeyboardAutoRepeatOff(void); boolean SetVideoMode(boolean); +void SetVideoFrameDelay(unsigned int); +unsigned int GetVideoFrameDelay(); boolean ChangeVideoModeIfNeeded(boolean); Bitmap *LoadImage(char *);