From fe4ab5d29f5d68759820912bc3762d5803d6a968 Mon Sep 17 00:00:00 2001 From: Nev3r Date: Sun, 12 Apr 2020 13:14:39 +0200 Subject: [PATCH] Use Tags_Compare wrapper on software renderer to compare sector tags. --- src/r_bsp.c | 5 +++-- src/r_segs.c | 7 ++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/r_bsp.c b/src/r_bsp.c index 77ab2a82f..e581e6687 100644 --- a/src/r_bsp.c +++ b/src/r_bsp.c @@ -21,6 +21,7 @@ #include "p_local.h" // camera #include "p_slopes.h" #include "z_zone.h" // Check R_Prep3DFloors +#include "taglist.h" seg_t *curline; side_t *sidedef; @@ -376,7 +377,7 @@ boolean R_IsEmptyLine(seg_t *line, sector_t *front, sector_t *back) // Consider colormaps && back->extra_colormap == front->extra_colormap && ((!front->ffloors && !back->ffloors) - || front->tag == back->tag)); + || Tags_Compare(&front->tags, &back->tags))); } // @@ -488,7 +489,7 @@ static void R_AddLine(seg_t *line) #endif !line->sidedef->midtexture && ((!frontsector->ffloors && !backsector->ffloors) - || (frontsector->tag == backsector->tag))) + || Tags_Compare(&frontsector->tags, &backsector->tags))) return; // line is empty, don't even bother goto clippass; // treat like wide open window instead diff --git a/src/r_segs.c b/src/r_segs.c index e777ab2d0..1d6a56467 100644 --- a/src/r_segs.c +++ b/src/r_segs.c @@ -25,6 +25,7 @@ #include "p_local.h" // Camera... #include "p_slopes.h" #include "console.h" // con_clipviewtop +#include "taglist.h" // OPTIMIZE: closed two sided lines as single sided @@ -2014,7 +2015,7 @@ void R_StoreWallRange(INT32 start, INT32 stop) || backsector->floorlightsec != frontsector->floorlightsec //SoM: 4/3/2000: Check for colormaps || frontsector->extra_colormap != backsector->extra_colormap - || (frontsector->ffloors != backsector->ffloors && frontsector->tag != backsector->tag)) + || (frontsector->ffloors != backsector->ffloors && !Tags_Compare(&frontsector->tags, &backsector->tags)) { markfloor = true; } @@ -2045,7 +2046,7 @@ void R_StoreWallRange(INT32 start, INT32 stop) || backsector->ceilinglightsec != frontsector->ceilinglightsec //SoM: 4/3/2000: Check for colormaps || frontsector->extra_colormap != backsector->extra_colormap - || (frontsector->ffloors != backsector->ffloors && frontsector->tag != backsector->tag)) + || (frontsector->ffloors != backsector->ffloors && !Tags_Compare(&frontsector->tags, &backsector->tags)) { markceiling = true; } @@ -2135,7 +2136,7 @@ void R_StoreWallRange(INT32 start, INT32 stop) rw_bottomtexturemid += sidedef->rowoffset; // allocate space for masked texture tables - if (frontsector && backsector && frontsector->tag != backsector->tag && (backsector->ffloors || frontsector->ffloors)) + if (frontsector && backsector && !Tags_Compare(&frontsector->tags, &backsector->tags) && (backsector->ffloors || frontsector->ffloors)) { ffloor_t *rover; ffloor_t *r2;