From ebc22b9df80e0e3a52977e3326bb8152e69e738e Mon Sep 17 00:00:00 2001
From: Jaime Passos <lazymyuutsu@gmail.com>
Date: Mon, 9 Sep 2019 16:31:30 -0300
Subject: [PATCH] yet even more cleanup here

---
 src/d_main.c |  6 +-----
 src/screen.c | 15 ++++++++++-----
 src/screen.h |  3 +++
 3 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/src/d_main.c b/src/d_main.c
index 4b68f73ba4..34dc5ab65e 100644
--- a/src/d_main.c
+++ b/src/d_main.c
@@ -1228,11 +1228,7 @@ void D_SRB2Main(void)
 		needpatchflush = true;
 		needpatchrecache = true;
 		VID_CheckRenderer();
-		// set cv_renderer back
-		if (setrenderneeded == render_soft)
-			CV_StealthSetValue(&cv_renderer, 1);
-		else if (setrenderneeded == render_opengl)
-			CV_StealthSetValue(&cv_renderer, 2);
+		SCR_ChangeRendererCVars(setrenderneeded);
 	}
 	D_CheckRendererState();
 
diff --git a/src/screen.c b/src/screen.c
index 7c8bfb14ae..26d8c7a9d7 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -72,7 +72,6 @@ consvar_t cv_scr_depth = {"scr_depth", "16 bits", CV_SAVE, scr_depth_cons_t, NUL
 #endif
 consvar_t cv_renderview = {"renderview", "On", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
 
-static void SCR_ChangeRenderer(void);
 static void SCR_ActuallyChangeRenderer(void);
 static CV_PossibleValue_t cv_renderer_t[] = {{1, "Software"}, {2, "OpenGL"}, {0, NULL}};
 consvar_t cv_renderer = {"renderer", "Software", CV_SAVE|CV_CALL, cv_renderer_t, SCR_ChangeRenderer, 0, NULL, NULL, 0, 0, NULL};
@@ -430,10 +429,7 @@ void SCR_ChangeRenderer(void)
 		else if (M_CheckParm("-software"))
 			target_renderer = rendermode = render_soft;
 		// set cv_renderer back
-		if (rendermode == render_soft)
-			CV_StealthSetValue(&cv_renderer, 1);
-		else if (rendermode == render_opengl)
-			CV_StealthSetValue(&cv_renderer, 2);
+		SCR_ChangeRendererCVars(rendermode);
 		return;
 	}
 
@@ -444,6 +440,15 @@ void SCR_ChangeRenderer(void)
 	SCR_ActuallyChangeRenderer();
 }
 
+void SCR_ChangeRendererCVars(INT32 mode)
+{
+	// set cv_renderer back
+	if (mode == render_soft)
+		CV_StealthSetValue(&cv_renderer, 1);
+	else if (mode == render_opengl)
+		CV_StealthSetValue(&cv_renderer, 2);
+}
+
 boolean SCR_IsAspectCorrect(INT32 width, INT32 height)
 {
 	return
diff --git a/src/screen.h b/src/screen.h
index df05184210..cc45de3d62 100644
--- a/src/screen.h
+++ b/src/screen.h
@@ -154,6 +154,9 @@ extern boolean R_SSE2;
 // ----------------
 extern viddef_t vid;
 extern INT32 setmodeneeded; // mode number to set if needed, or 0
+
+void SCR_ChangeRenderer(void);
+void SCR_ChangeRendererCVars(INT32 mode);
 extern INT32 setrenderneeded;
 
 extern INT32 scr_bpp;
-- 
GitLab