From 2fb82aaa9f9719f31f88ad9dabc464a625a7bf0f Mon Sep 17 00:00:00 2001 From: Rachael Alexanderson Date: Sat, 28 Jan 2017 17:37:57 -0500 Subject: [PATCH] Revert "- Fully implemented Graf's level.PreserveSectorColor() changes into the software renderers." This reverts commit 2f9453bc86a41621685660f8f150520d8e78d61f. # Conflicts: # src/swrenderer/line/r_line.cpp # src/swrenderer/line/r_renderdrawsegment.cpp # src/swrenderer/things/r_decal.cpp # src/swrenderer/things/r_wallsprite.cpp --- src/polyrenderer/scene/poly_playersprite.cpp | 10 +++++----- src/swrenderer/line/r_line.cpp | 3 ++- src/swrenderer/line/r_renderdrawsegment.cpp | 7 ++++--- src/swrenderer/scene/r_light.cpp | 8 ++++---- src/swrenderer/scene/r_opaque_pass.cpp | 5 +++-- src/swrenderer/scene/r_translucent_pass.cpp | 2 ++ src/swrenderer/things/r_decal.cpp | 3 ++- src/swrenderer/things/r_particle.cpp | 2 ++ src/swrenderer/things/r_playersprite.cpp | 1 + src/swrenderer/things/r_sprite.cpp | 2 ++ src/swrenderer/things/r_visiblesprite.cpp | 2 ++ src/swrenderer/things/r_voxel.cpp | 2 ++ src/swrenderer/things/r_wallsprite.cpp | 5 +++-- 13 files changed, 34 insertions(+), 18 deletions(-) diff --git a/src/polyrenderer/scene/poly_playersprite.cpp b/src/polyrenderer/scene/poly_playersprite.cpp index b4b518933..dd8fc4850 100644 --- a/src/polyrenderer/scene/poly_playersprite.cpp +++ b/src/polyrenderer/scene/poly_playersprite.cpp @@ -30,11 +30,11 @@ #include "d_player.h" #include "swrenderer/scene/r_viewport.h" #include "swrenderer/scene/r_light.h" -#include "g_levellocals.h" EXTERN_CVAR(Bool, r_drawplayersprites) EXTERN_CVAR(Bool, r_deathcamera) EXTERN_CVAR(Bool, st_scale) +EXTERN_CVAR(Bool, r_fullbrightignoresectorcolor) EXTERN_CVAR(Bool, r_shadercolormaps) void RenderPolyPlayerSprites::Render() @@ -269,12 +269,12 @@ void RenderPolyPlayerSprites::RenderSprite(DPSprite *sprite, AActor *owner, floa } if (swrenderer::fixedlightlev >= 0) { - BaseColormap = (!level.PreserveSectorColor()) ? &FullNormalLight : mybasecolormap; + BaseColormap = (r_fullbrightignoresectorcolor) ? &FullNormalLight : mybasecolormap; ColormapNum = swrenderer::fixedlightlev >> COLORMAPSHIFT; } else if (!foggy && sprite->GetState()->GetFullbright()) { // full bright - BaseColormap = (!level.PreserveSectorColor()) ? &FullNormalLight : mybasecolormap; // [RH] use basecolormap + BaseColormap = (r_fullbrightignoresectorcolor) ? &FullNormalLight : mybasecolormap; // [RH] use basecolormap ColormapNum = 0; } else @@ -334,9 +334,9 @@ void RenderPolyPlayerSprites::RenderSprite(DPSprite *sprite, AActor *owner, floa noaccel = true; } // [SP] If emulating GZDoom fullbright, disable acceleration - if (!level.PreserveSectorColor() && cameraLight->fixedlightlev >= 0) + if (r_fullbrightignoresectorcolor && cameraLight->fixedlightlev >= 0) mybasecolormap = &FullNormalLight; - if (!level.PreserveSectorColor() && !foggy && sprite->GetState()->GetFullbright()) + if (r_fullbrightignoresectorcolor && !foggy && sprite->GetState()->GetFullbright()) mybasecolormap = &FullNormalLight; colormap_to_use = mybasecolormap; } diff --git a/src/swrenderer/line/r_line.cpp b/src/swrenderer/line/r_line.cpp index b4a43d760..ace69ea3b 100644 --- a/src/swrenderer/line/r_line.cpp +++ b/src/swrenderer/line/r_line.cpp @@ -52,6 +52,7 @@ CVAR(Bool, r_fogboundary, true, 0) CVAR(Bool, r_drawmirrors, true, 0) +EXTERN_CVAR(Bool, r_fullbrightignoresectorcolor); namespace swrenderer { @@ -936,7 +937,7 @@ namespace swrenderer CameraLight *cameraLight = CameraLight::Instance(); if (cameraLight->fixedlightlev >= 0) - drawerstyle.SetColorMapLight((!level.PreserveSectorColor()) ? &FullNormalLight : basecolormap, 0, FIXEDLIGHT2SHADE(cameraLight->fixedlightlev)); + drawerstyle.SetColorMapLight((r_fullbrightignoresectorcolor) ? &FullNormalLight : basecolormap, 0, FIXEDLIGHT2SHADE(cameraLight->fixedlightlev)); else if (cameraLight->fixedcolormap != nullptr) drawerstyle.SetColorMapLight(cameraLight->fixedcolormap, 0, 0); diff --git a/src/swrenderer/line/r_renderdrawsegment.cpp b/src/swrenderer/line/r_renderdrawsegment.cpp index 7c81ec8ba..2de9d8166 100644 --- a/src/swrenderer/line/r_renderdrawsegment.cpp +++ b/src/swrenderer/line/r_renderdrawsegment.cpp @@ -41,7 +41,8 @@ #include "swrenderer/things/r_visiblesprite.h" #include "swrenderer/scene/r_light.h" #include "swrenderer/scene/r_viewport.h" -#include "g_levellocals.h" + +EXTERN_CVAR(Bool, r_fullbrightignoresectorcolor); namespace swrenderer { @@ -141,7 +142,7 @@ namespace swrenderer rw_scalestep = ds->iscalestep; if (cameraLight->fixedlightlev >= 0) - drawerstyle.SetColorMapLight((!level.PreserveSectorColor()) ? &FullNormalLight : basecolormap, 0, FIXEDLIGHT2SHADE(cameraLight->fixedlightlev)); + drawerstyle.SetColorMapLight((r_fullbrightignoresectorcolor) ? &FullNormalLight : basecolormap, 0, FIXEDLIGHT2SHADE(cameraLight->fixedlightlev)); else if (cameraLight->fixedcolormap != nullptr) drawerstyle.SetColorMapLight(cameraLight->fixedcolormap, 0, 0); @@ -444,7 +445,7 @@ namespace swrenderer CameraLight *cameraLight = CameraLight::Instance(); if (cameraLight->fixedlightlev >= 0) - drawerstyle.SetColorMapLight((!level.PreserveSectorColor()) ? &FullNormalLight : basecolormap, 0, FIXEDLIGHT2SHADE(cameraLight->fixedlightlev)); + drawerstyle.SetColorMapLight((r_fullbrightignoresectorcolor) ? &FullNormalLight : basecolormap, 0, FIXEDLIGHT2SHADE(cameraLight->fixedlightlev)); else if (cameraLight->fixedcolormap != nullptr) drawerstyle.SetColorMapLight(cameraLight->fixedcolormap, 0, 0); diff --git a/src/swrenderer/scene/r_light.cpp b/src/swrenderer/scene/r_light.cpp index f214e5261..851fab750 100644 --- a/src/swrenderer/scene/r_light.cpp +++ b/src/swrenderer/scene/r_light.cpp @@ -32,9 +32,9 @@ #include "d_player.h" #include "swrenderer/scene/r_light.h" #include "swrenderer/scene/r_viewport.h" -#include "g_levellocals.h" CVAR(Bool, r_shadercolormaps, true, CVAR_ARCHIVE) +EXTERN_CVAR(Bool, r_fullbrightignoresectorcolor) namespace swrenderer { @@ -75,7 +75,7 @@ namespace swrenderer { fixedlightlev = player->fixedlightlevel * 256; // [SP] Emulate GZDoom's light-amp goggles. - if (!level.PreserveSectorColor() && fixedlightlev >= 0) + if (r_fullbrightignoresectorcolor && fixedlightlev >= 0) { fixedcolormap = &FullNormalLight; } @@ -194,12 +194,12 @@ namespace swrenderer } else if (cameraLight->fixedlightlev >= 0) { - BaseColormap = (!level.PreserveSectorColor()) ? &FullNormalLight : basecolormap; + BaseColormap = (r_fullbrightignoresectorcolor) ? &FullNormalLight : basecolormap; ColormapNum = cameraLight->fixedlightlev >> COLORMAPSHIFT; } else if (fullbright) { - BaseColormap = (!level.PreserveSectorColor()) ? &FullNormalLight : basecolormap; + BaseColormap = (r_fullbrightignoresectorcolor) ? &FullNormalLight : basecolormap; ColormapNum = 0; } else diff --git a/src/swrenderer/scene/r_opaque_pass.cpp b/src/swrenderer/scene/r_opaque_pass.cpp index 2cb5a5993..2391d0542 100644 --- a/src/swrenderer/scene/r_opaque_pass.cpp +++ b/src/swrenderer/scene/r_opaque_pass.cpp @@ -62,6 +62,7 @@ #include "r_data/colormaps.h" #include "g_levellocals.h" +EXTERN_CVAR(Bool, r_fullbrightignoresectorcolor); EXTERN_CVAR(Bool, r_drawvoxels); namespace swrenderer @@ -493,7 +494,7 @@ namespace swrenderer } else { - basecolormap = (!level.PreserveSectorColor() && cameraLight->fixedlightlev >= 0) ? &FullNormalLight : frontsector->ColorMap; + basecolormap = (r_fullbrightignoresectorcolor && cameraLight->fixedlightlev >= 0) ? &FullNormalLight : frontsector->ColorMap; } portal = frontsector->ValidatePortal(sector_t::ceiling); @@ -531,7 +532,7 @@ namespace swrenderer } else { - basecolormap = (!level.PreserveSectorColor() && cameraLight->fixedlightlev >= 0) ? &FullNormalLight : frontsector->ColorMap; + basecolormap = (r_fullbrightignoresectorcolor && cameraLight->fixedlightlev >= 0) ? &FullNormalLight : frontsector->ColorMap; } // killough 3/7/98: Add (x,y) offsets to flats, add deep water check diff --git a/src/swrenderer/scene/r_translucent_pass.cpp b/src/swrenderer/scene/r_translucent_pass.cpp index 69444f560..67b060095 100644 --- a/src/swrenderer/scene/r_translucent_pass.cpp +++ b/src/swrenderer/scene/r_translucent_pass.cpp @@ -43,6 +43,8 @@ EXTERN_CVAR(Int, r_drawfuzz) EXTERN_CVAR(Bool, r_drawvoxels) EXTERN_CVAR(Bool, r_blendmethod) +CVAR(Bool, r_fullbrightignoresectorcolor, true, CVAR_ARCHIVE | CVAR_GLOBALCONFIG); + namespace swrenderer { RenderTranslucentPass *RenderTranslucentPass::Instance() diff --git a/src/swrenderer/things/r_decal.cpp b/src/swrenderer/things/r_decal.cpp index 1e15c5592..6c0fea63f 100644 --- a/src/swrenderer/things/r_decal.cpp +++ b/src/swrenderer/things/r_decal.cpp @@ -42,7 +42,8 @@ #include "swrenderer/scene/r_light.h" #include "swrenderer/things/r_wallsprite.h" #include "swrenderer/r_memory.h" -#include "g_levellocals.h" + +EXTERN_CVAR(Bool, r_fullbrightignoresectorcolor); namespace swrenderer { diff --git a/src/swrenderer/things/r_particle.cpp b/src/swrenderer/things/r_particle.cpp index a63028e84..5d978fd9f 100644 --- a/src/swrenderer/things/r_particle.cpp +++ b/src/swrenderer/things/r_particle.cpp @@ -56,6 +56,8 @@ #include "swrenderer/drawers/r_draw_pal.h" #include "swrenderer/r_memory.h" +EXTERN_CVAR(Bool, r_fullbrightignoresectorcolor); + namespace swrenderer { void RenderParticle::Project(particle_t *particle, const sector_t *sector, int shade, WaterFakeSide fakeside, bool foggy) diff --git a/src/swrenderer/things/r_playersprite.cpp b/src/swrenderer/things/r_playersprite.cpp index 31c31973b..b4b76cd62 100644 --- a/src/swrenderer/things/r_playersprite.cpp +++ b/src/swrenderer/things/r_playersprite.cpp @@ -61,6 +61,7 @@ EXTERN_CVAR(Bool, st_scale) EXTERN_CVAR(Bool, r_drawplayersprites) EXTERN_CVAR(Bool, r_deathcamera) EXTERN_CVAR(Bool, r_shadercolormaps) +EXTERN_CVAR(Bool, r_fullbrightignoresectorcolor) namespace swrenderer { diff --git a/src/swrenderer/things/r_sprite.cpp b/src/swrenderer/things/r_sprite.cpp index 292307389..600d4bc71 100644 --- a/src/swrenderer/things/r_sprite.cpp +++ b/src/swrenderer/things/r_sprite.cpp @@ -56,6 +56,8 @@ #include "swrenderer/things/r_sprite.h" #include "swrenderer/r_memory.h" +EXTERN_CVAR(Bool, r_fullbrightignoresectorcolor) + namespace swrenderer { void RenderSprite::Project(AActor *thing, const DVector3 &pos, FTexture *tex, const DVector2 &spriteScale, int renderflags, WaterFakeSide fakeside, F3DFloor *fakefloor, F3DFloor *fakeceiling, sector_t *current_sector, int spriteshade, bool foggy, FDynamicColormap *basecolormap) diff --git a/src/swrenderer/things/r_visiblesprite.cpp b/src/swrenderer/things/r_visiblesprite.cpp index 14406be39..b2c0b054a 100644 --- a/src/swrenderer/things/r_visiblesprite.cpp +++ b/src/swrenderer/things/r_visiblesprite.cpp @@ -36,6 +36,8 @@ #include "swrenderer/scene/r_viewport.h" #include "swrenderer/r_memory.h" +EXTERN_CVAR(Bool, r_fullbrightignoresectorcolor); + namespace swrenderer { void VisibleSprite::Render() diff --git a/src/swrenderer/things/r_voxel.cpp b/src/swrenderer/things/r_voxel.cpp index 0cd4d4d2b..d7f4c047d 100644 --- a/src/swrenderer/things/r_voxel.cpp +++ b/src/swrenderer/things/r_voxel.cpp @@ -43,6 +43,8 @@ #include "swrenderer/scene/r_light.h" #include "swrenderer/r_memory.h" +EXTERN_CVAR(Bool, r_fullbrightignoresectorcolor) + namespace swrenderer { void RenderVoxel::Project(AActor *thing, DVector3 pos, FVoxelDef *voxel, const DVector2 &spriteScale, int renderflags, WaterFakeSide fakeside, F3DFloor *fakefloor, F3DFloor *fakeceiling, sector_t *current_sector, int spriteshade, bool foggy, FDynamicColormap *basecolormap) diff --git a/src/swrenderer/things/r_wallsprite.cpp b/src/swrenderer/things/r_wallsprite.cpp index 78ab9f640..297dd96cd 100644 --- a/src/swrenderer/things/r_wallsprite.cpp +++ b/src/swrenderer/things/r_wallsprite.cpp @@ -57,7 +57,8 @@ #include "swrenderer/line/r_wallsetup.h" #include "swrenderer/line/r_walldraw.h" #include "swrenderer/r_memory.h" -#include "g_levellocals.h" + +EXTERN_CVAR(Bool, r_fullbrightignoresectorcolor); namespace swrenderer { @@ -191,7 +192,7 @@ namespace swrenderer else if (cameraLight->fixedcolormap != NULL) drawerstyle.SetColorMapLight(cameraLight->fixedcolormap, 0, 0); else if (!spr->foggy && (spr->renderflags & RF_FULLBRIGHT)) - drawerstyle.SetColorMapLight((!level.PreserveSectorColor()) ? &FullNormalLight : usecolormap, 0, 0); + drawerstyle.SetColorMapLight((r_fullbrightignoresectorcolor) ? &FullNormalLight : usecolormap, 0, 0); else calclighting = true;