X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Flibgame%2Fsystem.h;h=711b227355959cd6e7a28a1523c78c1ab9d34be9;hp=a8cf2a25e800389504d6adb159ea7acbfe853754;hb=17c7213a32d3a0e4c84727937f2ed79028461798;hpb=115ce6f2da1914d68b0fe0e5f9082973190dacdd diff --git a/src/libgame/system.h b/src/libgame/system.h index a8cf2a25..711b2273 100644 --- a/src/libgame/system.h +++ b/src/libgame/system.h @@ -82,6 +82,23 @@ #define SPECIAL_RENDERING_DEFAULT SPECIAL_RENDERING_BITMAP #endif +/* values for vertical screen retrace synchronization (vsync) */ +#define STR_VSYNC_MODE_OFF "off" +#define STR_VSYNC_MODE_NORMAL "normal" +#define STR_VSYNC_MODE_ADAPTIVE "adaptive" + +#define STR_VSYNC_MODE_DEFAULT STR_VSYNC_MODE_OFF + +#define VSYNC_MODE_OFF 0 +#define VSYNC_MODE_NORMAL 1 +#define VSYNC_MODE_ADAPTIVE -1 + +#define VSYNC_MODE_DEFAULT VSYNC_MODE_OFF + +/* values for network server settings */ +#define STR_NETWORK_AUTO_DETECT "auto_detect_network_server" +#define STR_NETWORK_AUTO_DETECT_SETUP "(auto detect network server)" + /* values for touch control */ #define TOUCH_CONTROL_OFF "off" #define TOUCH_CONTROL_VIRTUAL_BUTTONS "virtual_buttons" @@ -441,6 +458,8 @@ #define MENU_FRAME_DELAY 20 /* frame delay in milliseconds */ #define GAME_FRAME_DELAY 20 /* frame delay in milliseconds */ #define FFWD_FRAME_DELAY 10 /* 200% speed for fast forward */ +#define MIN_VSYNC_FRAME_DELAY 15 /* minimum value for vsync to keep */ +#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 @@ -919,6 +938,7 @@ struct VideoSystemInfo int window_scaling_percent; char *window_scaling_quality; int screen_rendering_mode; + int vsync_mode; unsigned int frame_delay; unsigned int frame_delay_value; @@ -1265,11 +1285,14 @@ struct SetupInfo int window_scaling_percent; char *window_scaling_quality; char *screen_rendering_mode; + char *vsync_mode; boolean ask_on_escape; boolean ask_on_escape_editor; + boolean ask_on_game_over; boolean quick_switch; boolean input_on_focus; boolean prefer_aga_graphics; + boolean game_speed_extended; int game_frame_delay; boolean sp_show_border_elements; boolean small_game_graphics; @@ -1288,6 +1311,7 @@ struct SetupInfo boolean network_mode; int network_player_nr; + char *network_server_hostname; struct SetupAutoSetupInfo auto_setup; struct SetupEditorInfo editor; @@ -1396,6 +1420,12 @@ struct ValueTextInfo char *text; }; +struct StringValueTextInfo +{ + char *value; + char *text; +}; + struct ConfigInfo { char *token;