From 333339782b648f568a4640d248e8970021a3ef72 Mon Sep 17 00:00:00 2001 From: Spoike Date: Sat, 16 Feb 2008 03:40:32 +0000 Subject: [PATCH] The renderer code actually listens to the video code failing again. Also added an extra attempt to try 640*480 before giving up and reverting to console. git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2925 fc73d0e0-1445-4013-8a0c-d673dee63da5 --- engine/client/renderer.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/engine/client/renderer.c b/engine/client/renderer.c index 1dfb2ef2..da4e37c3 100644 --- a/engine/client/renderer.c +++ b/engine/client/renderer.c @@ -1585,9 +1585,7 @@ qboolean R_ApplyRenderer (rendererstate_t *newr) R_SetRenderer(newr->renderer); - R_ApplyRenderer_Load(newr); - - return true; + return R_ApplyRenderer_Load(newr); } qboolean R_ApplyRenderer_Load (rendererstate_t *newr) { @@ -2082,13 +2080,26 @@ TRACE(("dbg: R_RestartRenderer_f\n")); failed = !R_ApplyRenderer(&newr); } + if (failed) + { + Con_Printf(CON_NOTICE "Trying 640*480\n"); + newr.width = 640; + newr.height = 480; + failed = !R_ApplyRenderer(&newr); + } + if (failed) { newr.renderer = QR_NONE; if (R_ApplyRenderer(&newr)) { TRACE(("dbg: R_RestartRenderer_f going to dedicated\n")); - Con_Printf(CON_ERROR "Video mode switch failed. Old mode wasn't supported either. Console forced.\nChange vid_width, vid_height, vid_bpp, vid_displayfrequency to a compatible mode, and then use the setrenderer command.\n"); + Con_Printf(CON_ERROR "Video mode switch failed. Old mode wasn't supported either. Console forced.\n\nChange the following vars to something useable, and then use the setrenderer command.\n"); + Con_Printf("%s: %s\n", vid_width.name, vid_width.string); + Con_Printf("%s: %s\n", vid_height.name, vid_height.string); + Con_Printf("%s: %s\n", vid_bpp.name, vid_bpp.string); + Con_Printf("%s: %s\n", vid_refreshrate.name, vid_refreshrate.string); + Con_Printf("%s: %s\n", vid_renderer.name, vid_renderer.string); } else Sys_Error("Couldn't fall back to previous renderer\n");