default vid_width/vid_height cvars to 0 to use desktop params (unless windowed then use 640x480x32)

don't try to switch to 640x480 if we already attempted it

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3291 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
TimeServ 2009-07-17 23:11:34 +00:00
parent 4671892cce
commit d0a8a8ee9d

View file

@ -182,7 +182,7 @@ cvar_t vid_fullscreen = SCVARF ("vid_fullscreen_embedded", "0",
static cvar_t vid_fullscreen = SCVARF ("vid_fullscreen", "1", static cvar_t vid_fullscreen = SCVARF ("vid_fullscreen", "1",
CVAR_ARCHIVE | CVAR_RENDERERLATCH); CVAR_ARCHIVE | CVAR_RENDERERLATCH);
#endif #endif
cvar_t vid_height = SCVARF ("vid_height", "480", cvar_t vid_height = SCVARF ("vid_height", "0",
CVAR_ARCHIVE | CVAR_RENDERERLATCH); CVAR_ARCHIVE | CVAR_RENDERERLATCH);
static cvar_t vid_multisample = SCVARF ("vid_multisample", "0", static cvar_t vid_multisample = SCVARF ("vid_multisample", "0",
CVAR_ARCHIVE | CVAR_RENDERERLATCH); CVAR_ARCHIVE | CVAR_RENDERERLATCH);
@ -192,7 +192,7 @@ static cvar_t vid_stretch = SCVARF ("vid_stretch", "1",
CVAR_ARCHIVE | CVAR_RENDERERLATCH); CVAR_ARCHIVE | CVAR_RENDERERLATCH);
cvar_t vid_wndalpha = SCVAR ("vid_wndalpha", "1"); cvar_t vid_wndalpha = SCVAR ("vid_wndalpha", "1");
//more readable defaults to match conwidth/conheight. //more readable defaults to match conwidth/conheight.
cvar_t vid_width = SCVARF ("vid_width", "640", cvar_t vid_width = SCVARF ("vid_width", "0",
CVAR_ARCHIVE | CVAR_RENDERERLATCH); CVAR_ARCHIVE | CVAR_RENDERERLATCH);
extern cvar_t bul_backcol; extern cvar_t bul_backcol;
@ -1747,6 +1747,10 @@ TRACE(("dbg: R_ApplyRenderer: efrags\n"));
return true; return true;
} }
#define DEFAULT_WIDTH 640
#define DEFAULT_HEIGHT 480
#define DEFAULT_BPP 32
void R_RestartRenderer_f (void) void R_RestartRenderer_f (void)
{ {
int i, j; int i, j;
@ -1808,12 +1812,13 @@ TRACE(("dbg: R_RestartRenderer_f\n"));
{ {
int dbpp, dheight, dwidth, drate; int dbpp, dheight, dwidth, drate;
if (!Sys_GetDesktopParameters(&dwidth, &dheight, &dbpp, &drate)) if ((!newr.fullscreen && !vid_desktopsettings.value) || !Sys_GetDesktopParameters(&dwidth, &dheight, &dbpp, &drate))
{ {
// force default values for systems not supporting desktop parameters // force default values for systems not supporting desktop parameters
dwidth = 640; dwidth = DEFAULT_WIDTH;
dheight = 480; dheight = DEFAULT_HEIGHT;
dbpp = 32; dbpp = DEFAULT_BPP;
drate = 0;
} }
if (vid_desktopsettings.value) if (vid_desktopsettings.value)
@ -1858,11 +1863,11 @@ TRACE(("dbg: R_RestartRenderer_f\n"));
failed = !R_ApplyRenderer(&newr); failed = !R_ApplyRenderer(&newr);
} }
if (failed) if (failed && newr.width != DEFAULT_WIDTH && newr.height != DEFAULT_HEIGHT)
{ {
Con_Printf(CON_NOTICE "Trying 640*480\n"); Con_Printf(CON_NOTICE "Trying %i*%i\n", DEFAULT_WIDTH, DEFAULT_HEIGHT);
newr.width = 640; newr.width = DEFAULT_WIDTH;
newr.height = 480; newr.height = DEFAULT_HEIGHT;
failed = !R_ApplyRenderer(&newr); failed = !R_ApplyRenderer(&newr);
} }