diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 374fbe9690902b38fd55b92c2332e4cf7cc7aef3..b2b6028f172a6a71090b2b2f7c739d986c447568 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -854,6 +854,7 @@ void D_RegisterClientCommands(void) CV_RegisterVar(&cv_fullscreen); CV_RegisterVar(&cv_renderview); CV_RegisterVar(&cv_renderwalls); + CV_RegisterVar(&cv_renderfloors); CV_RegisterVar(&cv_renderer); CV_RegisterVar(&cv_scr_depth); CV_RegisterVar(&cv_scr_width); diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 466c6653869fd887df25e2989e41fcbc42062d48..e281b8a4cbf7334fbfe90d32bf8df5fe78b05e6d 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -585,6 +585,9 @@ static void HWR_RenderPlane(subsector_t *subsector, extrasubsector_t *xsub, bool PolyFlags |= PF_ColorMapped; } + if (!cv_renderfloors.value) + return; + HWR_ProcessPolygon(&Surf, planeVerts, nrPlaneVerts, PolyFlags, shader, false); if (subsector) diff --git a/src/r_plane.c b/src/r_plane.c index ea4dfa4e8a8c13d4aad4ed8260d6da37e8fea00a..135282b83381698b36b7336d0905a8e16848af67 100644 --- a/src/r_plane.c +++ b/src/r_plane.c @@ -576,6 +576,9 @@ void R_ExpandPlane(visplane_t *pl, INT32 start, INT32 stop) // void R_MakeSpans(INT32 x, INT32 t1, INT32 b1, INT32 t2, INT32 b2) { + if (!cv_renderfloors.value) + return; + // Alam: from r_splats's R_RasterizeFloorSplat if (t1 >= vid.height) t1 = vid.height-1; if (b1 >= vid.height) b1 = vid.height-1; diff --git a/src/screen.c b/src/screen.c index 5576cc51491bb4e1e28180f3b935301dbeebfce0..d653f5273795a43901431a797a208dacd34ebf41 100644 --- a/src/screen.c +++ b/src/screen.c @@ -69,6 +69,7 @@ consvar_t cv_scr_height = CVAR_INIT ("scr_height", "800", CV_SAVE, CV_Unsigned, consvar_t cv_scr_depth = CVAR_INIT ("scr_depth", "16 bits", CV_SAVE, scr_depth_cons_t, NULL); consvar_t cv_renderview = CVAR_INIT ("renderview", "On", 0, CV_OnOff, NULL); consvar_t cv_renderwalls = CVAR_INIT ("renderwalls", "On", 0, CV_OnOff, NULL); +consvar_t cv_renderfloors = CVAR_INIT ("renderfloors", "On", 0, CV_OnOff, NULL); CV_PossibleValue_t cv_renderer_t[] = { {1, "Software"}, diff --git a/src/screen.h b/src/screen.h index 003a1032d7257ec3ee1035c4563d0c86776ff4be..c41b32077dbc0d40db16fae7c734bd61de97dc9a 100644 --- a/src/screen.h +++ b/src/screen.h @@ -189,7 +189,7 @@ extern CV_PossibleValue_t cv_renderer_t[]; extern INT32 scr_bpp; extern UINT8 *scr_borderpatch; // patch used to fill the view borders -extern consvar_t cv_scr_width, cv_scr_height, cv_scr_depth, cv_renderview, cv_renderwalls, cv_renderer, cv_fullscreen; +extern consvar_t cv_scr_width, cv_scr_height, cv_scr_depth, cv_renderview, cv_renderwalls, cv_renderfloors, cv_renderer, cv_fullscreen; // wait for page flipping to end or not extern consvar_t cv_vidwait;