From 7af2533d237831ec0ffac516d2b4c358f564d73c Mon Sep 17 00:00:00 2001
From: James R <justsomejames2@gmail.com>
Date: Mon, 30 Dec 2019 21:45:19 -0800
Subject: [PATCH] Make the menu option for renderer switching transparent under
 NOHW

---
 src/d_netcmd.c |  2 ++
 src/m_menu.c   | 10 ++++++++++
 src/screen.c   |  2 ++
 src/screen.h   |  2 ++
 4 files changed, 16 insertions(+)

diff --git a/src/d_netcmd.c b/src/d_netcmd.c
index 28843c0d7..316182453 100644
--- a/src/d_netcmd.c
+++ b/src/d_netcmd.c
@@ -842,7 +842,9 @@ void D_RegisterClientCommands(void)
 	CV_RegisterVar(&cv_fullscreen);
 	CV_RegisterVar(&cv_renderview);
 	CV_RegisterVar(&cv_renderer);
+#ifdef HWRENDER
 	CV_RegisterVar(&cv_newrenderer);
+#endif
 	CV_RegisterVar(&cv_scr_depth);
 	CV_RegisterVar(&cv_scr_width);
 	CV_RegisterVar(&cv_scr_height);
diff --git a/src/m_menu.c b/src/m_menu.c
index c6206a572..439d651c0 100644
--- a/src/m_menu.c
+++ b/src/m_menu.c
@@ -389,7 +389,9 @@ static void M_ResetCvars(void);
 
 // Consvar onchange functions
 static void Newgametype_OnChange(void);
+#ifdef HWRENDER
 static void Newrenderer_OnChange(void);
+#endif
 static void Dummymares_OnChange(void);
 
 // ==========================================================================
@@ -414,8 +416,10 @@ CV_PossibleValue_t gametype_cons_t[NUMGAMETYPES+1];
 
 consvar_t cv_newgametype = {"newgametype", "Co-op", CV_HIDEN|CV_CALL, gametype_cons_t, Newgametype_OnChange, 0, NULL, NULL, 0, 0, NULL};
 
+#ifdef HWRENDER
 consvar_t cv_newrenderer = {"newrenderer", "Software", CV_HIDEN|CV_CALL, cv_renderer_t, Newrenderer_OnChange, 0, NULL, NULL, 0, 0, NULL};
 static int newrenderer_set = 1;/* Software doesn't need confirmation! */
+#endif
 
 static CV_PossibleValue_t serversort_cons_t[] = {
 	{0,"Ping"},
@@ -1216,7 +1220,11 @@ static menuitem_t OP_VideoOptionsMenu[] =
 	{IT_STRING|IT_CVAR,      NULL, "Fullscreen",             &cv_fullscreen,         11},
 #endif
 	{IT_STRING | IT_CVAR, NULL, "Vertical Sync",                &cv_vidwait,         16},
+#ifdef HWRENDER
 	{IT_STRING | IT_CVAR, NULL, "Renderer",                     &cv_newrenderer,        21},
+#else
+	{IT_TRANSTEXT | IT_PAIR, "Renderer", "Software",            &cv_renderer,           21},
+#endif
 
 	{IT_HEADER, NULL, "Color Profile", NULL, 30},
 	{IT_STRING | IT_CVAR | IT_CV_SLIDER, NULL, "Brightness (F11)", &cv_globalgamma,36},
@@ -2229,6 +2237,7 @@ static void Newgametype_OnChange(void)
 	}
 }
 
+#ifdef HWRENDER
 static void Newrenderer_AREYOUSURE(INT32 c)
 {
 	int n;
@@ -2266,6 +2275,7 @@ static void Newrenderer_OnChange(void)
 		);
 	}
 }
+#endif/*HWRENDER*/
 
 void Screenshot_option_Onchange(void)
 {
diff --git a/src/screen.c b/src/screen.c
index 6a60c53da..5bb304c08 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -486,7 +486,9 @@ void SCR_ChangeRendererCVars(INT32 mode)
 		CV_StealthSetValue(&cv_renderer, 1);
 	else if (mode == render_opengl)
 		CV_StealthSetValue(&cv_renderer, 2);
+#ifdef HWRENDER
 	CV_StealthSetValue(&cv_newrenderer, cv_renderer.value);
+#endif
 }
 
 boolean SCR_IsAspectCorrect(INT32 width, INT32 height)
diff --git a/src/screen.h b/src/screen.h
index d47cdff9a..02b336f75 100644
--- a/src/screen.h
+++ b/src/screen.h
@@ -184,7 +184,9 @@ extern UINT8 *scr_borderpatch; // patch used to fill the view borders
 extern CV_PossibleValue_t cv_renderer_t[];
 
 extern consvar_t cv_scr_width, cv_scr_height, cv_scr_depth, cv_renderview, cv_renderer, cv_fullscreen;
+#ifdef HWRENDER
 extern consvar_t cv_newrenderer;
+#endif
 // wait for page flipping to end or not
 extern consvar_t cv_vidwait;
 
-- 
GitLab