Moved r_line into a class and implemented proper parameter passing between r_line and r_bsp, r_walldraw, r_wallsetup, r_decal, r_wallsprite, r_fogboundary, r_portal and r_playersprite
This commit is contained in:
parent
aa11534033
commit
a4c0e29913
18 changed files with 239 additions and 233 deletions
|
|
@ -51,6 +51,19 @@ namespace swrenderer
|
|||
namespace
|
||||
{
|
||||
size_t MaxDrawSegs;
|
||||
|
||||
sector_t *frontsector;
|
||||
sector_t *backsector;
|
||||
|
||||
seg_t *curline;
|
||||
|
||||
FWallCoords WallC;
|
||||
FWallTmapVals WallT;
|
||||
|
||||
float rw_light;
|
||||
float rw_lightstep;
|
||||
fixed_t rw_offset;
|
||||
FTexture *rw_pic;
|
||||
}
|
||||
|
||||
void R_FreeDrawSegs()
|
||||
|
|
@ -145,7 +158,7 @@ namespace swrenderer
|
|||
}
|
||||
|
||||
// killough 4/13/98: get correct lightlevel for 2s normal textures
|
||||
sec = R_FakeFlat(frontsector, &tempsec, nullptr, nullptr, false);
|
||||
sec = R_FakeFlat(frontsector, &tempsec, nullptr, nullptr, nullptr, 0, 0, 0, 0);
|
||||
|
||||
basecolormap = sec->ColorMap; // [RH] Set basecolormap
|
||||
|
||||
|
|
@ -179,7 +192,7 @@ namespace swrenderer
|
|||
// [RH] Draw fog partition
|
||||
if (ds->bFogBoundary)
|
||||
{
|
||||
R_DrawFogBoundary(x1, x2, mceilingclip, mfloorclip, wallshade);
|
||||
R_DrawFogBoundary(x1, x2, mceilingclip, mfloorclip, wallshade, rw_light, rw_lightstep);
|
||||
if (ds->maskedtexturecol == -1)
|
||||
{
|
||||
goto clearfog;
|
||||
|
|
@ -397,7 +410,7 @@ namespace swrenderer
|
|||
|
||||
rw_offset = 0;
|
||||
rw_pic = tex;
|
||||
R_DrawDrawSeg(ds, x1, x2, mceilingclip, mfloorclip, MaskedSWall, maskedtexturecol, ds->yscale, wallshade);
|
||||
R_DrawDrawSeg(frontsector, curline, WallC, rw_pic, ds, x1, x2, mceilingclip, mfloorclip, MaskedSWall, maskedtexturecol, ds->yscale, wallshade, rw_offset, rw_light, rw_lightstep);
|
||||
}
|
||||
|
||||
clearfog:
|
||||
|
|
@ -522,8 +535,8 @@ namespace swrenderer
|
|||
walllower[i] = mfloorclip[i];
|
||||
}
|
||||
|
||||
PrepLWall(lwall, curline->sidedef->TexelLength*xscale, ds->sx1, ds->sx2);
|
||||
R_DrawDrawSeg(ds, x1, x2, wallupper, walllower, MaskedSWall, lwall, yscale, wallshade);
|
||||
PrepLWall(lwall, curline->sidedef->TexelLength*xscale, ds->sx1, ds->sx2, WallT);
|
||||
R_DrawDrawSeg(frontsector, curline, WallC, rw_pic, ds, x1, x2, wallupper, walllower, MaskedSWall, lwall, yscale, wallshade, rw_offset, rw_light, rw_lightstep);
|
||||
R_FinishSetPatchStyle();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue