From 9460796a2bcfc38b559cb838f3166b5b71e815a4 Mon Sep 17 00:00:00 2001 From: Ray Chason Date: Sat, 25 Jan 2020 19:00:02 -0500 Subject: [PATCH] MSDOS/VESA: Add video_width and video_height To be used to set the video mode --- include/flag.h | 4 ++++ src/options.c | 25 ++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/include/flag.h b/include/flag.h index 0cfd3dabc..d92bd5dc8 100644 --- a/include/flag.h +++ b/include/flag.h @@ -367,6 +367,10 @@ struct instance_flags { int wc_map_mode; /* specify map viewing options, mostly * for backward compatibility */ int wc_player_selection; /* method of choosing character */ +#if defined(MSDOS) + unsigned wc_video_width; /* X resolution of screen */ + unsigned wc_video_height; /* Y resolution of screen */ +#endif boolean wc_splash_screen; /* display an opening splash screen or not */ boolean wc_popup_dialog; /* put queries in pop up dialogs instead of * in the message window */ diff --git a/src/options.c b/src/options.c index f6f572689..fb839b540 100644 --- a/src/options.c +++ b/src/options.c @@ -3349,8 +3349,31 @@ boolean tinitial, tfrom_file; return retval; } #endif /* VIDEOSHADES */ - #ifdef MSDOS + fullname = "video_width"; + if (match_optname(opts, fullname, 7, TRUE)) { + if (duplicate) + complain_about_duplicate(opts, 1); + if (negated) { + bad_negation(fullname, FALSE); + return FALSE; + } + op = string_for_opt(opts, negated); + iflags.wc_video_width = strtol(op, NULL, 10); + return FALSE; + } + fullname = "video_height"; + if (match_optname(opts, fullname, 7, TRUE)) { + if (duplicate) + complain_about_duplicate(opts, 1); + if (negated) { + bad_negation(fullname, FALSE); + return FALSE; + } + op = string_for_opt(opts, negated); + iflags.wc_video_height = strtol(op, NULL, 10); + return FALSE; + } #ifdef NO_TERMS /* video:string -- must be after longer tests */ fullname = "video";