mirror of
https://github.com/DrBeef/Raze.git
synced 2024-11-16 01:11:28 +00:00
engine.c: clean up scansector().
git-svn-id: https://svn.eduke32.com/eduke32@4454 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
653c1b8acd
commit
d23ca5bbc5
3 changed files with 25 additions and 18 deletions
|
@ -252,7 +252,7 @@ static int16_t maphacklight[PR_MAXLIGHTS];
|
|||
int32_t getscreenvdisp(int32_t bz, int32_t zoome);
|
||||
void screencoords(int32_t *xres, int32_t *yres, int32_t x, int32_t y, int32_t zoome);
|
||||
|
||||
static void scansector(int16_t sectnum);
|
||||
static void scansector(int16_t startsectnum);
|
||||
static void draw_rainbow_background(void);
|
||||
|
||||
int16_t editstatus = 0;
|
||||
|
@ -2358,7 +2358,7 @@ static intptr_t globalbufplc;
|
|||
|
||||
static int32_t globaly1, globalx2;
|
||||
|
||||
int16_t sectorborder[256], sectorbordercnt;
|
||||
int16_t sectorborder[256];
|
||||
int32_t ydim16, qsetmode = 0;
|
||||
int16_t pointhighlight=-1, linehighlight=-1, highlightcnt=0;
|
||||
static int32_t lastx[MAXYDIM];
|
||||
|
@ -2583,30 +2583,34 @@ int32_t engine_addtsprite(int16_t z, int16_t sectnum)
|
|||
//
|
||||
// scansector (internal)
|
||||
//
|
||||
static void scansector(int16_t sectnum)
|
||||
static void scansector(int16_t startsectnum)
|
||||
{
|
||||
walltype *wal, *wal2;
|
||||
spritetype *spr;
|
||||
int32_t xs, ys, x1, y1, x2, y2, xp1, yp1, xp2=0, yp2=0, tempint;
|
||||
int16_t z, zz, startwall, endwall, numscansbefore, scanfirst, bunchfrst;
|
||||
int16_t nextsectnum;
|
||||
int32_t xp1, yp1, xp2=0, yp2=0, tempint;
|
||||
int32_t sectorbordercnt;
|
||||
|
||||
if (sectnum < 0) return;
|
||||
if (startsectnum < 0)
|
||||
return;
|
||||
|
||||
sectorborder[0] = startsectnum, sectorbordercnt = 1;
|
||||
|
||||
sectorborder[0] = sectnum, sectorbordercnt = 1;
|
||||
do
|
||||
{
|
||||
sectnum = sectorborder[--sectorbordercnt];
|
||||
int32_t z, startwall, endwall, numscansbefore, scanfirst, bunchfrst;
|
||||
const int32_t sectnum = sectorborder[--sectorbordercnt];
|
||||
walltype *wal;
|
||||
|
||||
#ifdef YAX_ENABLE
|
||||
if (scansector_collectsprites)
|
||||
#endif
|
||||
for (z=headspritesect[sectnum]; z>=0; z=nextspritesect[z])
|
||||
{
|
||||
spr = &sprite[z];
|
||||
const spritetype *const spr = &sprite[z];
|
||||
|
||||
if ((((spr->cstat&0x8000) == 0) || (showinvisibility)) &&
|
||||
(spr->xrepeat > 0) && (spr->yrepeat > 0))
|
||||
{
|
||||
xs = spr->x-globalposx; ys = spr->y-globalposy;
|
||||
int32_t xs = spr->x-globalposx, ys = spr->y-globalposy;
|
||||
|
||||
if ((spr->cstat&48) || ((int64_t)xs*cosglobalang+(int64_t)ys*singlobalang > 0))
|
||||
if ((spr->cstat&(64+48))!=(64+16) || dmulscale6(sintable[(spr->ang+512)&2047],-xs, sintable[spr->ang&2047],-ys) > 0)
|
||||
if (engine_addtsprite(z, sectnum))
|
||||
|
@ -2624,11 +2628,11 @@ static void scansector(int16_t sectnum)
|
|||
scanfirst = numscans;
|
||||
for (z=startwall,wal=&wall[z]; z<endwall; z++,wal++)
|
||||
{
|
||||
nextsectnum = wal->nextsector;
|
||||
const int32_t nextsectnum = wal->nextsector;
|
||||
const walltype *const wal2 = &wall[wal->point2];
|
||||
|
||||
wal2 = &wall[wal->point2];
|
||||
x1 = wal->x-globalposx; y1 = wal->y-globalposy;
|
||||
x2 = wal2->x-globalposx; y2 = wal2->y-globalposy;
|
||||
const int32_t x1 = wal->x-globalposx, y1 = wal->y-globalposy;
|
||||
const int32_t x2 = wal2->x-globalposx, y2 = wal2->y-globalposy;
|
||||
|
||||
if ((nextsectnum >= 0) && ((wal->cstat&32) == 0))
|
||||
#ifdef YAX_ENABLE
|
||||
|
@ -2721,6 +2725,7 @@ skipitaddwall:
|
|||
|
||||
for (z=bunchfrst; z<numbunches; z++)
|
||||
{
|
||||
int32_t zz;
|
||||
for (zz=bunchfirst[z]; p2[zz]>=0; zz=p2[zz]);
|
||||
bunchlast[z] = zz;
|
||||
}
|
||||
|
|
|
@ -60,7 +60,7 @@ extern char inpreparemirror;
|
|||
extern int32_t curbrightness, gammabrightness;
|
||||
extern char britable[16][256];
|
||||
extern char picsiz[MAXTILES];
|
||||
extern int16_t sectorborder[256], sectorbordercnt;
|
||||
extern int16_t sectorborder[256];
|
||||
extern int32_t qsetmode;
|
||||
extern int32_t hitallsprites;
|
||||
|
||||
|
|
|
@ -3084,6 +3084,8 @@ void polymost_scansector(int32_t sectnum)
|
|||
int32_t z, zz, startwall, endwall, numscansbefore, scanfirst, bunchfrst, nextsectnum;
|
||||
int32_t xs, ys, x1, y1, x2, y2;
|
||||
|
||||
int32_t sectorbordercnt;
|
||||
|
||||
if (sectnum < 0) return;
|
||||
|
||||
sectorborder[0] = sectnum, sectorbordercnt = 1;
|
||||
|
|
Loading…
Reference in a new issue