ref: 3c5aa343cb825f1182f4cc25863cae5a345bc6a3
parent: 5a10d99d7b22dcb995a2bc477bff7f88d80c1a3b
author: Simon Howard <[email protected]>
date: Tue May 31 19:03:42 EDT 2016
video: Rename screen_{width,height} variables. These variables no longer mean the same thing they meant in the SDL1 versions of Chocolate Doom, and they have misleading names. To avoid confusion, rename them to window_{width,height}.
--- a/src/i_video.c
+++ b/src/i_video.c
@@ -109,8 +109,8 @@
// Screen width and height, from configuration file.
-int screen_width = SCREENWIDTH;
-int screen_height = SCREENHEIGHT;
+int window_width = SCREENWIDTH * 2;
+int window_height = SCREENHEIGHT_4_3 * 2;
// Run in full screen mode? (int type for config code)
@@ -273,7 +273,7 @@
}
}
-// Adjust screen_width / screen_height variables to be an an aspect
+// Adjust window_width / window_height variables to be an an aspect
// ratio consistent with the aspect_ratio_correct variable.
static void AdjustWindowSize(void)
{
@@ -281,15 +281,15 @@
h = EffectiveScreenHeight();
- if (screen_width * h <= screen_height * SCREENWIDTH)
+ if (window_width * h <= window_height * SCREENWIDTH)
{
// The +1 here stops us from repeatedly shrinking the screen size
// with each call.
- screen_height = (screen_width + 1) * h / SCREENWIDTH;
+ window_height = (window_width + 1) * h / SCREENWIDTH;
}
else
{
- screen_width = screen_height * SCREENWIDTH / h;
+ window_width = window_height * SCREENWIDTH / h;
}
}
@@ -316,12 +316,12 @@
flags = SDL_GetWindowFlags(screen);
if ((flags & SDL_WINDOW_FULLSCREEN_DESKTOP) == 0)
{
- SDL_GetWindowSize(screen, &screen_width, &screen_height);
+ SDL_GetWindowSize(screen, &window_width, &window_height);
// Adjust the window by resizing again so that the window
// is the right aspect ratio.
AdjustWindowSize();
- SDL_SetWindowSize(screen, screen_width, screen_height);
+ SDL_SetWindowSize(screen, window_width, window_height);
}
break;
@@ -381,7 +381,7 @@
if (!fullscreen)
{
AdjustWindowSize();
- SDL_SetWindowSize(screen, screen_width, screen_height);
+ SDL_SetWindowSize(screen, window_width, window_height);
}
}
@@ -787,8 +787,8 @@
{
// Pick 320x200 or 320x240, depending on aspect ratio correct
- screen_width = factor * SCREENWIDTH;
- screen_height = factor * EffectiveScreenHeight();
+ window_width = factor * SCREENWIDTH;
+ window_height = factor * EffectiveScreenHeight();
}
void I_GraphicsCheckCommandLine(void)
@@ -869,7 +869,7 @@
if (i > 0)
{
- screen_width = atoi(myargv[i + 1]);
+ window_width = atoi(myargv[i + 1]);
}
//!
@@ -883,7 +883,7 @@
if (i > 0)
{
- screen_height = atoi(myargv[i + 1]);
+ window_height = atoi(myargv[i + 1]);
}
//!
@@ -904,8 +904,8 @@
s = sscanf(myargv[i + 1], "%ix%i%1c", &w, &h, &f);
if (s == 2 || s == 3)
{
- screen_width = w;
- screen_height = h;
+ window_width = w;
+ window_height = h;
if (s == 3 && f == 'f')
{
@@ -1002,7 +1002,7 @@
}
}
-static void SetVideoMode(int w, int h)
+static void SetVideoMode(void)
{
byte *doompal;
int flags = 0;
@@ -1045,34 +1045,17 @@
// later anyway and leave the window position "undefined". If "flags"
// contains the fullscreen flag (see above), then w and h are ignored.
- screen = SDL_CreateWindow(NULL, SDL_WINDOWPOS_UNDEFINED,
- SDL_WINDOWPOS_UNDEFINED,
- w, h, flags);
+ screen = SDL_CreateWindow(NULL,
+ SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED,
+ window_width, window_height, flags);
if (screen == NULL)
{
- I_Error("Error creating window for video mode %ix%i: %s\n",
- w, h, SDL_GetError());
+ I_Error("Error creating window for video startup: %s", SDL_GetError());
}
SDL_SetWindowMinimumSize(screen, SCREENWIDTH, EffectiveScreenHeight());
- // If we are running fullscreen, the whole screen is our "window".
-
- if (fullscreen)
- {
- SDL_DisplayMode mode;
-
- // We do not change the video mode to run fullscreen but scale to fill
- // the desktop that "screen" is assigned to. So, use desktop dimensions
- // to calculate the size of the upscaled texture.
-
- SDL_GetDesktopDisplayMode(SDL_GetWindowDisplayIndex(screen), &mode);
-
- h = mode.h;
- w = mode.w;
- }
-
// The SDL_RENDERER_TARGETTEXTURE flag is required to render the
// intermediate texture into the upscaled texture.
@@ -1080,8 +1063,8 @@
if (renderer == NULL)
{
- I_Error("Error creating renderer for video mode %ix%i: %s\n",
- w, h, SDL_GetError());
+ I_Error("Error creating renderer for screen window: %s",
+ SDL_GetError());
}
// Important: Set the "logical size" of the rendering context. At the same
@@ -1165,23 +1148,18 @@
I_Error("Failed to initialize video: %s", SDL_GetError());
}
- //
- // Enter into graphics mode.
- //
// When in screensaver mode, run full screen and auto detect
// screen dimensions (don't change video mode)
- //
-
if (screensaver_mode)
{
- SetVideoMode(0, 0);
+ fullscreen = true;
}
- else
- {
- AdjustWindowSize();
- SetVideoMode(screen_width, screen_height);
- }
+ // Create the game window; this may switch graphic modes depending
+ // on configuration.
+ AdjustWindowSize();
+ SetVideoMode();
+
// Start with a clear black screen
// (screen will be flipped after we set the palette)
@@ -1237,8 +1215,8 @@
M_BindIntVariable("fullscreen", &fullscreen);
M_BindIntVariable("aspect_ratio_correct", &aspect_ratio_correct);
M_BindIntVariable("startup_delay", &startup_delay);
- M_BindIntVariable("screen_width", &screen_width);
- M_BindIntVariable("screen_height", &screen_height);
+ M_BindIntVariable("window_width", &window_width);
+ M_BindIntVariable("window_height", &window_height);
M_BindIntVariable("grabmouse", &grabmouse);
M_BindStringVariable("video_driver", &video_driver);
M_BindStringVariable("window_position", &window_position);
--- a/src/m_config.c
+++ b/src/m_config.c
@@ -720,22 +720,16 @@
CONFIG_VARIABLE_INT(startup_delay),
//!
- // Screen width in pixels. If running in full screen mode, this is
- // the X dimension of the video mode to use. If running in
- // windowed mode, this is the width of the window in which the game
- // will run.
+ // Window width when running in windowed mode.
//
- CONFIG_VARIABLE_INT(screen_width),
+ CONFIG_VARIABLE_INT(window_width),
//!
- // Screen height in pixels. If running in full screen mode, this is
- // the Y dimension of the video mode to use. If running in
- // windowed mode, this is the height of the window in which the game
- // will run.
+ // Window height when running in windowed mode.
//
- CONFIG_VARIABLE_INT(screen_height),
+ CONFIG_VARIABLE_INT(window_height),
//!
// If this is non-zero, the mouse will be "grabbed" when running
--- a/src/setup/display.c
+++ b/src/setup/display.c
@@ -71,8 +71,8 @@
static char *window_position = "";
static int aspect_ratio_correct = 1;
static int fullscreen = 1;
-static int screen_width = 320;
-static int screen_height = 200;
+static int window_width = 640;
+static int window_height = 480;
static int startup_delay = 1000;
static int usegamma = 0;
@@ -81,12 +81,12 @@
int show_diskicon = 1;
int png_screenshots = 0;
-// These are the last screen width/height values that were chosen by the
+// These are the last window width/height values that were chosen by the
// user. These are used when finding the "nearest" mode, so when
// changing the fullscreen / aspect ratio options, the setting does not
// jump around.
-static int selected_screen_width = 0, selected_screen_height;
+static int selected_window_width = 0, selected_window_height;
static int system_video_env_set;
@@ -126,13 +126,13 @@
{
TXT_CAST_ARG(screen_mode_t, mode);
- screen_width = mode->w;
- screen_height = mode->h;
+ window_width = mode->w;
+ window_height = mode->h;
// This is now the most recently selected screen width
- selected_screen_width = screen_width;
- selected_screen_height = screen_height;
+ selected_window_width = window_width;
+ selected_window_height = window_height;
}
static int FindBestMode(screen_mode_t *modes)
@@ -147,10 +147,10 @@
for (i=0; modes[i].w != 0; ++i)
{
- diff = (selected_screen_width - modes[i].w)
- * (selected_screen_width - modes[i].w)
- + (selected_screen_height - modes[i].h)
- * (selected_screen_height - modes[i].h);
+ diff = (selected_window_width - modes[i].w)
+ * (selected_window_width - modes[i].w)
+ + (selected_window_height - modes[i].h)
+ * (selected_window_height - modes[i].h);
if (best_mode == -1 || diff < best_mode_diff)
{
@@ -202,8 +202,8 @@
if (vidmode > 0)
{
- screen_width = modes[vidmode].w;
- screen_height = modes[vidmode].h;
+ window_width = modes[vidmode].w;
+ window_height = modes[vidmode].h;
}
}
@@ -264,10 +264,10 @@
// First time in? Initialise selected_screen_{width,height}
- if (selected_screen_width == 0)
+ if (selected_window_width == 0)
{
- selected_screen_width = screen_width;
- selected_screen_height = screen_height;
+ selected_window_width = window_width;
+ selected_window_height = window_height;
}
// Open the window
@@ -341,8 +341,8 @@
{
M_BindIntVariable("aspect_ratio_correct", &aspect_ratio_correct);
M_BindIntVariable("fullscreen", &fullscreen);
- M_BindIntVariable("screen_width", &screen_width);
- M_BindIntVariable("screen_height", &screen_height);
+ M_BindIntVariable("window_width", &window_width);
+ M_BindIntVariable("window_height", &window_height);
M_BindIntVariable("startup_delay", &startup_delay);
M_BindStringVariable("video_driver", &video_driver);
M_BindStringVariable("window_position", &window_position);