Merge pull request 'Use separate table for maskedtexturecol' (#21) from separatemaskedtexturecol into ACS2

Reviewed-on: https://codeberg.org/NepDisk/blankart/pulls/21
This commit is contained in:
NepDisk 2025-02-11 16:27:41 +00:00
commit 2e693f54e2
6 changed files with 450 additions and 468 deletions

View file

@ -858,12 +858,12 @@ struct drawseg_t
// Pointers to lists for sprite clipping, all three adjusted so [x1] is first value.
INT16 *sprtopclip;
INT16 *sprbottomclip;
INT16 *maskedtexturecol;
fixed_t *maskedtexturecol;
visplane_t *ffloorplanes[MAXFFLOORS];
INT32 numffloorplanes;
ffloor_t *thicksides[MAXFFLOORS];
INT16 *thicksidecol;
fixed_t *thicksidecol;
INT32 numthicksides;
fixed_t frontscale[MAXVIDWIDTH];

View file

@ -1496,6 +1496,7 @@ void R_RenderPlayerView(void)
R_SkyboxFrame(viewssnum);
R_ClearClipSegs();
R_ClearDrawSegs();
R_ClearSegTables();
R_ClearPlanes();
R_ClearSprites();
Mask_Pre(&masks[nummasks - 1]);
@ -1535,6 +1536,7 @@ void R_RenderPlayerView(void)
R_ClearClipSegs();
}
R_ClearDrawSegs();
R_ClearSegTables();
R_ClearSprites();
Portal_InitList();

View file

@ -66,10 +66,6 @@ INT32 numffloors;
#define visplane_hash(picnum,lightlevel,height) \
((unsigned)((picnum)*3+(lightlevel)+(height)*7) & VISPLANEHASHMASK)
//SoM: 3/23/2000: Use boom opening limit removal
size_t maxopenings;
INT16 *openings, *lastopening; /// \todo free leak
//
// Clip values are the solid pixel bounding the range.
// floorclip starts out SCREENHEIGHT
@ -313,8 +309,6 @@ void R_ClearPlanes(void)
{
freehead = &(*freehead)->next;
}
lastopening = openings;
}
static visplane_t *new_visplane(unsigned hash)

View file

@ -69,8 +69,6 @@ extern visplane_t *floorplane;
extern visplane_t *ceilingplane;
// Visplane related.
extern INT16 *lastopening, *openings;
extern size_t maxopenings;
extern INT16 floorclip[MAXVIDWIDTH], ceilingclip[MAXVIDWIDTH];
extern fixed_t frontscale[MAXVIDWIDTH];

File diff suppressed because it is too large Load diff

View file

@ -22,6 +22,7 @@ transnum_t R_GetLinedefTransTable(fixed_t alpha);
void R_RenderMaskedSegRange(drawseg_t *ds, INT32 x1, INT32 x2);
void R_RenderThickSideRange(drawseg_t *ds, INT32 x1, INT32 x2, ffloor_t *pffloor);
void R_StoreWallRange(INT32 start, INT32 stop);
void R_ClearSegTables(void);
#ifdef __cplusplus
} // extern "C"