fix the horrible ffloorclip clearing loops
if yall ever decide to get rid of the static screensize buffer, the compiler will just straight up never optimize those loops and it will turn some maps into absolute cache miss hell, using std::fill only cause it looks fancy lmao
This commit is contained in:
parent
cd3715bfaa
commit
37ea829b2f
1 changed files with 12 additions and 20 deletions
|
|
@ -265,18 +265,16 @@ static void R_MapTiltedPlane(drawspandata_t *ds, void(*spanfunc)(drawspandata_t*
|
|||
spanfunc(ds);
|
||||
}
|
||||
|
||||
void R_ClearFFloorClips (void)
|
||||
void R_ClearFFloorClips(void)
|
||||
{
|
||||
INT32 i, p;
|
||||
INT32 p;
|
||||
|
||||
// opening / clipping determination
|
||||
for (i = 0; i < viewwidth; i++)
|
||||
for (p = 0; p < MAXFFLOORS; p++)
|
||||
{
|
||||
for (p = 0; p < MAXFFLOORS; p++)
|
||||
{
|
||||
ffloor[p].f_clip[i] = (INT16)viewheight;
|
||||
ffloor[p].c_clip[i] = -1;
|
||||
}
|
||||
visffloor_t *fffloor = &ffloor[p];
|
||||
std::fill(fffloor->f_clip, fffloor->f_clip + viewwidth, static_cast<INT16>(viewheight));
|
||||
std::fill(fffloor->c_clip, fffloor->c_clip + viewwidth, static_cast<INT16>(-1));
|
||||
}
|
||||
|
||||
numffloors = 0;
|
||||
|
|
@ -288,20 +286,14 @@ void R_ClearFFloorClips (void)
|
|||
//
|
||||
void R_ClearPlanes(void)
|
||||
{
|
||||
INT32 i, p;
|
||||
INT32 i;
|
||||
|
||||
// opening / clipping determination
|
||||
for (i = 0; i < viewwidth; i++)
|
||||
{
|
||||
floorclip[i] = (INT16)viewheight;
|
||||
ceilingclip[i] = -1;
|
||||
frontscale[i] = INT32_MAX;
|
||||
for (p = 0; p < MAXFFLOORS; p++)
|
||||
{
|
||||
ffloor[p].f_clip[i] = (INT16)viewheight;
|
||||
ffloor[p].c_clip[i] = -1;
|
||||
}
|
||||
}
|
||||
std::fill(floorclip, floorclip + viewwidth, static_cast<INT16>(viewheight));
|
||||
std::fill(ceilingclip, ceilingclip + viewwidth, static_cast<INT16>(-1));
|
||||
std::fill(frontscale, frontscale + viewwidth, INT32_MAX);
|
||||
|
||||
R_ClearFFloorClips();
|
||||
|
||||
for (i = 0; i < MAXVISPLANES; i++)
|
||||
for (*freehead = visplanes[i], visplanes[i] = NULL;
|
||||
|
|
|
|||
Loading…
Reference in a new issue