mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-24 10:40:46 +00:00
engine.c: cleanup / readability tweaks
git-svn-id: https://svn.eduke32.com/eduke32@2740 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
2fa7ccf9dd
commit
cf429d0e76
1 changed files with 52 additions and 35 deletions
|
@ -213,6 +213,8 @@ uint8_t graysectbitmap[MAXSECTORS>>3];
|
||||||
uint8_t graywallbitmap[MAXWALLS>>3];
|
uint8_t graywallbitmap[MAXWALLS>>3];
|
||||||
int32_t autogray = 0, showinnergray = 1;
|
int32_t autogray = 0, showinnergray = 1;
|
||||||
|
|
||||||
|
//#define YAX_DEBUG_YMOSTS
|
||||||
|
|
||||||
#ifdef YAX_DEBUG
|
#ifdef YAX_DEBUG
|
||||||
double hitickspersec;
|
double hitickspersec;
|
||||||
#endif
|
#endif
|
||||||
|
@ -2929,7 +2931,7 @@ static inline void hline(int32_t xr, int32_t yp)
|
||||||
r = horizlookup2[yp-globalhoriz+horizycent];
|
r = horizlookup2[yp-globalhoriz+horizycent];
|
||||||
asm1 = globalx1*r;
|
asm1 = globalx1*r;
|
||||||
asm2 = globaly2*r;
|
asm2 = globaly2*r;
|
||||||
s = ((int32_t)getpalookup((int32_t)mulscale16(r,globvis),globalshade)<<8);
|
s = getpalookup(mulscale16(r,globvis),globalshade)<<8;
|
||||||
|
|
||||||
hlineasm4(xr-xl,0,s,globalx2*r+globalypanning,globaly1*r+globalxpanning,
|
hlineasm4(xr-xl,0,s,globalx2*r+globalypanning,globaly1*r+globalxpanning,
|
||||||
ylookup[yp]+xr+frameoffset);
|
ylookup[yp]+xr+frameoffset);
|
||||||
|
@ -2948,7 +2950,7 @@ static inline void slowhline(int32_t xr, int32_t yp)
|
||||||
asm1 = globalx1*r;
|
asm1 = globalx1*r;
|
||||||
asm2 = globaly2*r;
|
asm2 = globaly2*r;
|
||||||
|
|
||||||
asm3 = (intptr_t)globalpalwritten + ((intptr_t)getpalookup((int32_t)mulscale16(r,globvis),globalshade)<<8);
|
asm3 = (intptr_t)globalpalwritten + (getpalookup(mulscale16(r,globvis),globalshade)<<8);
|
||||||
if (!(globalorientation&256))
|
if (!(globalorientation&256))
|
||||||
{
|
{
|
||||||
mhline(globalbufplc,globaly1*r+globalxpanning-asm1*(xr-xl),(xr-xl)<<16,0L,
|
mhline(globalbufplc,globaly1*r+globalxpanning-asm1*(xr-xl),(xr-xl)<<16,0L,
|
||||||
|
@ -2963,21 +2965,22 @@ static inline void slowhline(int32_t xr, int32_t yp)
|
||||||
//
|
//
|
||||||
// prepwall (internal)
|
// prepwall (internal)
|
||||||
//
|
//
|
||||||
static void prepwall(int32_t z, walltype *wal)
|
static void prepwall(int32_t z, const walltype *wal)
|
||||||
{
|
{
|
||||||
int32_t i, l=0, ol=0, splc, sinc, x, topinc, top, botinc, bot, walxrepeat;
|
int32_t l=0, ol=0, x;
|
||||||
|
|
||||||
walxrepeat = (wal->xrepeat<<3);
|
int32_t walxrepeat = (wal->xrepeat<<3);
|
||||||
|
|
||||||
//lwall calculation
|
//lwall calculation
|
||||||
i = xb1[z]-halfxdimen;
|
int32_t tmpx = xb1[z]-halfxdimen;
|
||||||
topinc = -(ry1[z]>>2);
|
|
||||||
botinc = ((ry2[z]-ry1[z])>>8);
|
|
||||||
top = mulscale5(rx1[z],xdimen)+mulscale2(topinc,i);
|
|
||||||
bot = mulscale11(rx1[z]-rx2[z],xdimen)+mulscale2(botinc,i);
|
|
||||||
|
|
||||||
splc = mulscale19(ry1[z],xdimscale);
|
const int32_t topinc = -(ry1[z]>>2);
|
||||||
sinc = mulscale16(ry2[z]-ry1[z],xdimscale);
|
const int32_t botinc = (ry2[z]-ry1[z])>>8;
|
||||||
|
int32_t top = mulscale5(rx1[z],xdimen) + mulscale2(topinc,tmpx);
|
||||||
|
int32_t bot = mulscale11(rx1[z]-rx2[z],xdimen) + mulscale2(botinc,tmpx);
|
||||||
|
|
||||||
|
const int32_t splc = mulscale19(ry1[z],xdimscale);
|
||||||
|
const int32_t sinc = mulscale16(ry2[z]-ry1[z],xdimscale);
|
||||||
|
|
||||||
x = xb1[z];
|
x = xb1[z];
|
||||||
if (bot != 0)
|
if (bot != 0)
|
||||||
|
@ -2989,6 +2992,8 @@ static void prepwall(int32_t z, walltype *wal)
|
||||||
}
|
}
|
||||||
while (x+4 <= xb2[z])
|
while (x+4 <= xb2[z])
|
||||||
{
|
{
|
||||||
|
int32_t i;
|
||||||
|
|
||||||
top += topinc; bot += botinc;
|
top += topinc; bot += botinc;
|
||||||
if (bot != 0)
|
if (bot != 0)
|
||||||
{
|
{
|
||||||
|
@ -2997,13 +3002,17 @@ static void prepwall(int32_t z, walltype *wal)
|
||||||
l *= walxrepeat;
|
l *= walxrepeat;
|
||||||
lwall[x+4] = (l>>18);
|
lwall[x+4] = (l>>18);
|
||||||
}
|
}
|
||||||
i = ((ol+l)>>1);
|
|
||||||
lwall[x+2] = (i>>18);
|
i = (ol+l)>>1;
|
||||||
lwall[x+1] = ((ol+i)>>19);
|
|
||||||
lwall[x+3] = ((l+i)>>19);
|
lwall[x+2] = i>>18;
|
||||||
swall[x+2] = ((swall[x]+swall[x+4])>>1);
|
lwall[x+1] = (ol+i)>>19;
|
||||||
swall[x+1] = ((swall[x]+swall[x+2])>>1);
|
lwall[x+3] = (l+i)>>19;
|
||||||
swall[x+3] = ((swall[x+4]+swall[x+2])>>1);
|
|
||||||
|
swall[x+2] = (swall[x]+swall[x+4])>>1;
|
||||||
|
swall[x+1] = (swall[x]+swall[x+2])>>1;
|
||||||
|
swall[x+3] = (swall[x+4]+swall[x+2])>>1;
|
||||||
|
|
||||||
x += 4;
|
x += 4;
|
||||||
}
|
}
|
||||||
if (x+2 <= xb2[z])
|
if (x+2 <= xb2[z])
|
||||||
|
@ -3016,8 +3025,8 @@ static void prepwall(int32_t z, walltype *wal)
|
||||||
l *= walxrepeat;
|
l *= walxrepeat;
|
||||||
lwall[x+2] = (l>>18);
|
lwall[x+2] = (l>>18);
|
||||||
}
|
}
|
||||||
lwall[x+1] = ((l+ol)>>19);
|
lwall[x+1] = (l+ol)>>19;
|
||||||
swall[x+1] = ((swall[x]+swall[x+2])>>1);
|
swall[x+1] = (swall[x]+swall[x+2])>>1;
|
||||||
x += 2;
|
x += 2;
|
||||||
}
|
}
|
||||||
if (x+1 <= xb2[z])
|
if (x+1 <= xb2[z])
|
||||||
|
@ -3031,12 +3040,16 @@ static void prepwall(int32_t z, walltype *wal)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lwall[xb1[z]] < 0) lwall[xb1[z]] = 0;
|
if (lwall[xb1[z]] < 0)
|
||||||
if ((lwall[xb2[z]] >= walxrepeat) && (walxrepeat)) lwall[xb2[z]] = walxrepeat-1;
|
lwall[xb1[z]] = 0;
|
||||||
|
if (lwall[xb2[z]] >= walxrepeat && walxrepeat)
|
||||||
|
lwall[xb2[z]] = walxrepeat-1;
|
||||||
|
|
||||||
if (wal->cstat&8)
|
if (wal->cstat&8)
|
||||||
{
|
{
|
||||||
walxrepeat--;
|
walxrepeat--;
|
||||||
for (x=xb1[z]; x<=xb2[z]; x++) lwall[x] = walxrepeat-lwall[x];
|
for (x=xb1[z]; x<=xb2[z]; x++)
|
||||||
|
lwall[x] = walxrepeat-lwall[x];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3618,7 +3631,9 @@ static void florscan(int32_t x1, int32_t x2, int32_t sectnum)
|
||||||
//
|
//
|
||||||
// wallscan (internal)
|
// wallscan (internal)
|
||||||
//
|
//
|
||||||
static void wallscan(int32_t x1, int32_t x2, int16_t *uwal, int16_t *dwal, int32_t *swal, int32_t *lwal)
|
static void wallscan(int32_t x1, int32_t x2,
|
||||||
|
const int16_t *uwal, const int16_t *dwal,
|
||||||
|
const int32_t *swal, const int32_t *lwal)
|
||||||
{
|
{
|
||||||
int32_t x, xnice, ynice;
|
int32_t x, xnice, ynice;
|
||||||
intptr_t fpalookup;
|
intptr_t fpalookup;
|
||||||
|
@ -4234,7 +4249,7 @@ static void grouscan(int32_t dax1, int32_t dax2, int32_t sectnum, char dastat)
|
||||||
globvis = mulscale16(globvis,xdimscale);
|
globvis = mulscale16(globvis,xdimscale);
|
||||||
j = FP_OFF(palookup[globalpal]);
|
j = FP_OFF(palookup[globalpal]);
|
||||||
|
|
||||||
setupslopevlin_alsotrans(((int32_t)(picsiz[globalpicnum]&15))+(((int32_t)(picsiz[globalpicnum]>>4))<<8),
|
setupslopevlin_alsotrans((picsiz[globalpicnum]&15) + ((picsiz[globalpicnum]>>4)<<8),
|
||||||
waloff[globalpicnum],-ylookup[1]);
|
waloff[globalpicnum],-ylookup[1]);
|
||||||
|
|
||||||
l = (globalzd>>16);
|
l = (globalzd>>16);
|
||||||
|
@ -4254,16 +4269,16 @@ static void grouscan(int32_t dax1, int32_t dax2, int32_t sectnum, char dastat)
|
||||||
else { y1 = max(umost[x],dplc[x]); y2 = dmost[x]-1; }
|
else { y1 = max(umost[x],dplc[x]); y2 = dmost[x]-1; }
|
||||||
if (y1 <= y2)
|
if (y1 <= y2)
|
||||||
{
|
{
|
||||||
nptr1 = (intptr_t *)&slopalookup[y1+(shoffs>>15)];
|
nptr1 = &slopalookup[y1+(shoffs>>15)];
|
||||||
nptr2 = (intptr_t *)&slopalookup[y2+(shoffs>>15)];
|
nptr2 = &slopalookup[y2+(shoffs>>15)];
|
||||||
while (nptr1 <= mptr1)
|
while (nptr1 <= mptr1)
|
||||||
{
|
{
|
||||||
*mptr1-- = j + (getpalookup((int32_t)mulscale24(krecipasm(m1),globvis),globalshade)<<8);
|
*mptr1-- = j + (getpalookup(mulscale24(krecipasm(m1),globvis),globalshade)<<8);
|
||||||
m1 -= l;
|
m1 -= l;
|
||||||
}
|
}
|
||||||
while (nptr2 >= mptr2)
|
while (nptr2 >= mptr2)
|
||||||
{
|
{
|
||||||
*mptr2++ = j + (getpalookup((int32_t)mulscale24(krecipasm(m2),globvis),globalshade)<<8);
|
*mptr2++ = j + (getpalookup(mulscale24(krecipasm(m2),globvis),globalshade)<<8);
|
||||||
m2 += l;
|
m2 += l;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4330,7 +4345,7 @@ static void parascan(int32_t dax1, int32_t dax2, int32_t sectnum, char dastat, i
|
||||||
botptr = dmost;
|
botptr = dmost;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((unsigned)globalpicnum >= (unsigned)MAXTILES) globalpicnum = 0;
|
if ((unsigned)globalpicnum >= MAXTILES) globalpicnum = 0;
|
||||||
if (picanm[globalpicnum]&192) globalpicnum += animateoffs(globalpicnum,(int16_t)sectnum);
|
if (picanm[globalpicnum]&192) globalpicnum += animateoffs(globalpicnum,(int16_t)sectnum);
|
||||||
globalshiftval = (picsiz[globalpicnum]>>4);
|
globalshiftval = (picsiz[globalpicnum]>>4);
|
||||||
if (pow2long[globalshiftval] != tilesizy[globalpicnum]) globalshiftval++;
|
if (pow2long[globalshiftval] != tilesizy[globalpicnum]) globalshiftval++;
|
||||||
|
@ -4387,18 +4402,18 @@ static void parascan(int32_t dax1, int32_t dax2, int32_t sectnum, char dastat, i
|
||||||
{
|
{
|
||||||
n = mulscale16(xdimenrecip,viewingrange);
|
n = mulscale16(xdimenrecip,viewingrange);
|
||||||
for (j=xb1[z]; j<=xb2[z]; j++)
|
for (j=xb1[z]; j<=xb2[z]; j++)
|
||||||
lplc[j] = (((mulscale23(j-halfxdimen,n)+globalang)&2047)>>k);
|
lplc[j] = ((mulscale23(j-halfxdimen,n)+globalang)&2047)>>k;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
for (j=xb1[z]; j<=xb2[z]; j++)
|
for (j=xb1[z]; j<=xb2[z]; j++)
|
||||||
lplc[j] = ((((int32_t)radarang2[j]+globalang)&2047)>>k);
|
lplc[j] = ((radarang2[j]+globalang)&2047)>>k;
|
||||||
}
|
}
|
||||||
if (parallaxtype == 2)
|
if (parallaxtype == 2)
|
||||||
{
|
{
|
||||||
n = mulscale16(xdimscale,viewingrange);
|
n = mulscale16(xdimscale,viewingrange);
|
||||||
for (j=xb1[z]; j<=xb2[z]; j++)
|
for (j=xb1[z]; j<=xb2[z]; j++)
|
||||||
swplc[j] = mulscale14(sintable[((int32_t)radarang2[j]+512)&2047],n);
|
swplc[j] = mulscale14(sintable[(radarang2[j]+512)&2047],n);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
clearbuf(&swplc[xb1[z]],xb2[z]-xb1[z]+1,mulscale16(xdimscale,viewingrange));
|
clearbuf(&swplc[xb1[z]],xb2[z]-xb1[z]+1,mulscale16(xdimscale,viewingrange));
|
||||||
|
@ -4469,7 +4484,7 @@ static void setup_globals_wall1(const walltype *wal, int32_t dapicnum)
|
||||||
globalorientation = wal->cstat;
|
globalorientation = wal->cstat;
|
||||||
|
|
||||||
globalpicnum = dapicnum;
|
globalpicnum = dapicnum;
|
||||||
if ((unsigned)globalpicnum >= (unsigned)MAXTILES) globalpicnum = 0;
|
if ((unsigned)globalpicnum >= MAXTILES) globalpicnum = 0;
|
||||||
if (picanm[globalpicnum]&192) globalpicnum += animateoffs(globalpicnum, 0);
|
if (picanm[globalpicnum]&192) globalpicnum += animateoffs(globalpicnum, 0);
|
||||||
|
|
||||||
globalxpanning = wal->xpanning;
|
globalxpanning = wal->xpanning;
|
||||||
|
@ -4706,6 +4721,7 @@ static void drawalls(int32_t bunch)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
wallmost(dwall,z,nextsectnum,(uint8_t)0);
|
wallmost(dwall,z,nextsectnum,(uint8_t)0);
|
||||||
|
|
||||||
if ((cz[2] > fz[0]) || (cz[3] > fz[1]))
|
if ((cz[2] > fz[0]) || (cz[3] > fz[1]))
|
||||||
for (i=x1; i<=x2; i++) if (dwall[i] > dplc[i]) dwall[i] = dplc[i];
|
for (i=x1; i<=x2; i++) if (dwall[i] > dplc[i]) dwall[i] = dplc[i];
|
||||||
|
|
||||||
|
@ -4799,6 +4815,7 @@ static void drawalls(int32_t bunch)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
wallmost(uwall,z,nextsectnum,(uint8_t)1);
|
wallmost(uwall,z,nextsectnum,(uint8_t)1);
|
||||||
|
|
||||||
if ((fz[2] < cz[0]) || (fz[3] < cz[1]))
|
if ((fz[2] < cz[0]) || (fz[3] < cz[1]))
|
||||||
for (i=x1; i<=x2; i++) if (uwall[i] < uplc[i]) uwall[i] = uplc[i];
|
for (i=x1; i<=x2; i++) if (uwall[i] < uplc[i]) uwall[i] = uplc[i];
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue