Remove code disabled by #ifdef OBSOLETE_RENDMODES

git-svn-id: https://svn.eduke32.com/eduke32@3756 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
terminx 2013-05-15 02:15:47 +00:00
parent 995d679b28
commit edb222ea4a
3 changed files with 0 additions and 337 deletions

View file

@ -2324,13 +2324,8 @@ static int32_t globalx, globaly, globalz;
int16_t sectorborder[256], sectorbordercnt; int16_t sectorborder[256], sectorbordercnt;
int32_t ydim16, qsetmode = 0; int32_t ydim16, qsetmode = 0;
int16_t pointhighlight=-1, linehighlight=-1, highlightcnt=0; int16_t pointhighlight=-1, linehighlight=-1, highlightcnt=0;
#ifndef OBSOLETE_RENDMODES
static int32_t lastx[MAXYDIM]; static int32_t lastx[MAXYDIM];
static char *transluc; static char *transluc;
#else
int32_t lastx[MAXYDIM];
char *transluc;
#endif
static char paletteloaded = 0; static char paletteloaded = 0;

View file

@ -26,8 +26,6 @@ extern "C" {
}; };
#endif #endif
//#define OBSOLETE_RENDMODES
extern uint8_t basepalcount; extern uint8_t basepalcount;
extern uint8_t curbasepal; extern uint8_t curbasepal;
@ -60,10 +58,6 @@ extern char inpreparemirror;
extern int32_t curbrightness, gammabrightness; extern int32_t curbrightness, gammabrightness;
extern char britable[16][256]; extern char britable[16][256];
extern char picsiz[MAXTILES]; extern char picsiz[MAXTILES];
#ifdef OBSOLETE_RENDMODES
extern int32_t lastx[MAXYDIM];
extern char *transluc;
#endif
extern int16_t sectorborder[256], sectorbordercnt; extern int16_t sectorborder[256], sectorbordercnt;
extern int32_t qsetmode; extern int32_t qsetmode;
extern int32_t hitallsprites; extern int32_t hitallsprites;

View file

@ -126,13 +126,6 @@ double gdo, gdx, gdy;
static int32_t preview_mouseaim=0; // when 1, displays a CROSSHAIR tsprite at the _real_ aimed position static int32_t preview_mouseaim=0; // when 1, displays a CROSSHAIR tsprite at the _real_ aimed position
#ifdef OBSOLETE_RENDMODES
# if (USEZBUFFER != 0)
static int32_t zbufysiz = 0, zbufbpl = 0, *zbufoff = 0;
static intptr_t zbufmem = 0;
# endif
#endif
#ifdef USE_OPENGL #ifdef USE_OPENGL
static int32_t srepeat = 0, trepeat = 0; static int32_t srepeat = 0, trepeat = 0;
@ -2081,14 +2074,6 @@ static float alpha = 0.f;
void drawpoly(double *dpx, double *dpy, int32_t n, int32_t method) void drawpoly(double *dpx, double *dpy, int32_t n, int32_t method)
{ {
#ifdef OBSOLETE_RENDMODES
double rdp;
double ngdx2, ngux2, ngvx2;
int32_t x, y, z, mini, maxi, tsizxm1 = 0, tsizym1 = 0, ltsizy = 0;
int32_t xi, d0, u0, v0, d1, u1, v1, xmodnice = 0, ymulnice = 0;
char dacol = 0, *palptr = NULL, *vidp, *vide;
char *walptr;
#endif
double ngdx = 0.0, ngdy = 0.0, ngdo = 0.0, ngux = 0.0, nguy = 0.0, nguo = 0.0; double ngdx = 0.0, ngdy = 0.0, ngdo = 0.0, ngux = 0.0, nguy = 0.0, nguo = 0.0;
double ngvx = 0.0, ngvy = 0.0, ngvo = 0.0, dp, up, vp, du0 = 0.0, du1 = 0.0, dui, duj; double ngvx = 0.0, ngvy = 0.0, ngvo = 0.0, dp, up, vp, du0 = 0.0, du1 = 0.0, dui, duj;
double f, r, ox, oy, oz, ox2, oy2, oz2, dd[16], uu[16], vv[16], px[16], py[16], uoffs; double f, r, ox, oy, oz, ox2, oy2, oz2, dd[16], uu[16], vv[16], px[16], py[16], uoffs;
@ -2133,9 +2118,6 @@ void drawpoly(double *dpx, double *dpy, int32_t n, int32_t method)
tsizx = tsizy = 1; method = 1; //Hack to update Z-buffer for invalid mirror textures tsizx = tsizy = 1; method = 1; //Hack to update Z-buffer for invalid mirror textures
} }
} }
#ifdef OBSOLETE_RENDMODES
walptr = (char *)waloff[globalpicnum];
#endif
j = 0; dorot = ((gchang != 1.0) || (gctang != 1.0)); j = 0; dorot = ((gchang != 1.0) || (gctang != 1.0));
if (dorot) if (dorot)
@ -2156,9 +2138,6 @@ void drawpoly(double *dpx, double *dpy, int32_t n, int32_t method)
oy = ox2*gstang + oy2*gctang; oy = ox2*gstang + oy2*gctang;
oz = oz2; oz = oz2;
#ifdef OBSOLETE_RENDMODES
if ((oz < SCISDIST) && (rendmode < 3)) return; //annoying hack to avoid bugs in software rendering
#endif
r = ghalfx / oz; r = ghalfx / oz;
dd[j] = (dpx[i]*gdx + dpy[i]*gdy + gdo)*r; dd[j] = (dpx[i]*gdx + dpy[i]*gdy + gdo)*r;
@ -2602,310 +2581,6 @@ void drawpoly(double *dpx, double *dpy, int32_t n, int32_t method)
} }
#endif #endif
#ifdef OBSOLETE_RENDMODES
if (rendmode == 2)
{
#if (USEZBUFFER != 0)
if ((!zbufmem) || (zbufbpl != bytesperline) || (zbufysiz != ydim))
{
zbufbpl = bytesperline;
zbufysiz = ydim;
zbufmem = (intptr_t)Brealloc((void *)zbufmem,zbufbpl*zbufysiz*4);
}
zbufoff = (int32_t *)(zbufmem-(frameplace<<2));
#endif
if ((!transluc)) method = (method&~3)+1; //In case translucent table doesn't exist
if (!dorot)
{
ngdx = gdx; ngdy = gdy; ngdo = gdo+(ngdx+ngdy)*.5;
ngux = gux; nguy = guy; nguo = guo+(ngux+nguy)*.5;
ngvx = gvx; ngvy = gvy; ngvo = gvo+(ngvx+ngvy)*.5;
}
else
{
//General equations:
//dd[i] = (px[i]*gdx + py[i]*gdy + gdo)
//uu[i] = (px[i]*gux + py[i]*guy + guo)/dd[i]
//vv[i] = (px[i]*gvx + py[i]*gvy + gvo)/dd[i]
//
//px[0]*gdx + py[0]*gdy + 1*gdo = dd[0]
//px[1]*gdx + py[1]*gdy + 1*gdo = dd[1]
//px[2]*gdx + py[2]*gdy + 1*gdo = dd[2]
//
//px[0]*gux + py[0]*guy + 1*guo = uu[0]*dd[0] (uu[i] premultiplied by dd[i] above)
//px[1]*gux + py[1]*guy + 1*guo = uu[1]*dd[1]
//px[2]*gux + py[2]*guy + 1*guo = uu[2]*dd[2]
//
//px[0]*gvx + py[0]*gvy + 1*gvo = vv[0]*dd[0] (vv[i] premultiplied by dd[i] above)
//px[1]*gvx + py[1]*gvy + 1*gvo = vv[1]*dd[1]
//px[2]*gvx + py[2]*gvy + 1*gvo = vv[2]*dd[2]
ox = py[1]-py[2]; oy = py[2]-py[0]; oz = py[0]-py[1];
r = 1.0 / (ox*px[0] + oy*px[1] + oz*px[2]);
ngdx = (ox*dd[0] + oy*dd[1] + oz*dd[2])*r;
ngux = (ox*uu[0] + oy*uu[1] + oz*uu[2])*r;
ngvx = (ox*vv[0] + oy*vv[1] + oz*vv[2])*r;
ox = px[2]-px[1]; oy = px[0]-px[2]; oz = px[1]-px[0];
ngdy = (ox*dd[0] + oy*dd[1] + oz*dd[2])*r;
nguy = (ox*uu[0] + oy*uu[1] + oz*uu[2])*r;
ngvy = (ox*vv[0] + oy*vv[1] + oz*vv[2])*r;
ox = px[0]-.5; oy = py[0]-.5; //.5 centers texture nicely
ngdo = dd[0] - ox*ngdx - oy*ngdy;
nguo = uu[0] - ox*ngux - oy*nguy;
ngvo = vv[0] - ox*ngvx - oy*ngvy;
}
palptr = &palookup[globalpal][min(max((int32_t)(globalshade * shadescale),0),numshades-1)<<8]; //<-need to make shade not static!
tsizxm1 = tsizx-1; xmodnice = (!(tsizxm1&tsizx));
tsizym1 = tsizy-1; ymulnice = (!(tsizym1&tsizy));
if ((method&4) && (!xmodnice)) //Sprites don't need a mod on texture coordinates
{ xmodnice = 1; for (tsizxm1=1; tsizxm1<tsizx; tsizxm1=(tsizxm1<<1)+1); }
if (!ymulnice) { for (tsizym1=1; tsizym1+1<tsizy; tsizym1=(tsizym1<<1)+1); }
ltsizy = (picsiz[globalpicnum]>>4);
}
else
{
dacol = palookup[0][(int32_t)(*(char *)(waloff[globalpicnum]))+(min(max((int32_t)(globalshade * shadescale),0),numshades-1)<<8)];
}
if (grhalfxdown10x < 0) //Hack for mirrors
{
for (i=((n-1)>>1); i>=0; i--)
{
r = px[i]; px[i] = ((double)xdimen)-px[n-1-i]; px[n-1-i] = ((double)xdimen)-r;
r = py[i]; py[i] = py[n-1-i]; py[n-1-i] = r;
}
ngdo += ((double)xdimen)*ngdx; ngdx = -ngdx;
nguo += ((double)xdimen)*ngux; ngux = -ngux;
ngvo += ((double)xdimen)*ngvx; ngvx = -ngvx;
}
ngdx2 = ngdx*(1<<LINTERPSIZ);
ngux2 = ngux*(1<<LINTERPSIZ);
ngvx2 = ngvx*(1<<LINTERPSIZ);
mini = (py[0] >= py[1]); maxi = 1-mini;
for (z=2; z<n; z++)
{
if (py[z] < py[mini]) mini = z;
if (py[z] > py[maxi]) maxi = z;
}
i = maxi; dtol(py[i],&yy); if (yy > ydimen) yy = ydimen;
do
{
j = i+1; if (j == n) j = 0;
dtol(py[j],&y); if (y < 0) y = 0;
if (y < yy)
{
f = (px[j]-px[i])/(py[j]-py[i]); dtol(f*16384.0,&xi);
dtol((((double)yy-.5-py[j])*f + px[j])*16384.0+8192.0,&x);
for (; yy>y; yy--,x-=xi) lastx[yy-1] = (x>>14);
}
i = j;
}
while (i != mini);
do
{
j = i+1; if (j == n) j = 0;
dtol(py[j],&yy); if (yy > ydimen) yy = ydimen;
if (y < yy)
{
f = (px[j]-px[i])/(py[j]-py[i]); dtol(f*16384.0,&xi);
dtol((((double)y+.5-py[j])*f + px[j])*16384.0+8192.0,&x);
for (; y<yy; y++,x+=xi)
{
ix0 = lastx[y]; if (ix0 < 0) ix0 = 0;
ix1 = (x>>14); if (ix1 > xdimen) ix1 = xdimen;
if (ix0 < ix1)
{
if (rendmode == 1)
memset((void *)(ylookup[y]+ix0+frameoffset),dacol,ix1-ix0);
else
{
vidp = (char *)(ylookup[y]+frameoffset+ix0);
dp = ngdx*(double)ix0 + ngdy*(double)y + ngdo;
up = ngux*(double)ix0 + nguy*(double)y + nguo;
vp = ngvx*(double)ix0 + ngvy*(double)y + ngvo;
rdp = 65536.0/dp; dp += ngdx2;
dtol(rdp,&d0);
dtol(up*rdp,&u0); up += ngux2;
dtol(vp*rdp,&v0); vp += ngvx2;
rdp = 65536.0/dp;
switch (method&3)
{
case 0:
if (xmodnice&ymulnice) //both u&v texture sizes are powers of 2 :)
{
for (xx=ix0; xx<ix1; xx+=(1<<LINTERPSIZ))
{
dtol(rdp,&d1); dp += ngdx2; d1 = ((d1-d0)>>LINTERPSIZ);
dtol(up*rdp,&u1); up += ngux2; u1 = ((u1-u0)>>LINTERPSIZ);
dtol(vp*rdp,&v1); vp += ngvx2; v1 = ((v1-v0)>>LINTERPSIZ);
rdp = 65536.0/dp; vide = &vidp[min(ix1-xx,1<<LINTERPSIZ)];
while (vidp < vide)
{
#if (DEPTHDEBUG == 0)
#if (USEZBUFFER != 0)
zbufoff[(intptr_t)vidp] = d0+16384; //+ hack so wall&floor sprites don't disappear
#endif
vidp[0] = palptr[walptr[(((u0>>16)&tsizxm1)<<ltsizy) + ((v0>>16)&tsizym1)]]; //+((d0>>13)&0x3f00)];
#else
vidp[0] = ((d0>>16)&255);
#endif
d0 += d1; u0 += u1; v0 += v1; vidp++;
}
}
}
else
{
for (xx=ix0; xx<ix1; xx+=(1<<LINTERPSIZ))
{
dtol(rdp,&d1); dp += ngdx2; d1 = ((d1-d0)>>LINTERPSIZ);
dtol(up*rdp,&u1); up += ngux2; u1 = ((u1-u0)>>LINTERPSIZ);
dtol(vp*rdp,&v1); vp += ngvx2; v1 = ((v1-v0)>>LINTERPSIZ);
rdp = 65536.0/dp; vide = &vidp[min(ix1-xx,1<<LINTERPSIZ)];
while (vidp < vide)
{
#if (DEPTHDEBUG == 0)
#if (USEZBUFFER != 0)
zbufoff[(intptr_t)vidp] = d0;
#endif
vidp[0] = palptr[walptr[imod(u0>>16,tsizx)*tsizy + ((v0>>16)&tsizym1)]]; //+((d0>>13)&0x3f00)];
#else
vidp[0] = ((d0>>16)&255);
#endif
d0 += d1; u0 += u1; v0 += v1; vidp++;
}
}
}
break;
case 1:
if (xmodnice) //both u&v texture sizes are powers of 2 :)
{
for (xx=ix0; xx<ix1; xx+=(1<<LINTERPSIZ))
{
dtol(rdp,&d1); dp += ngdx2; d1 = ((d1-d0)>>LINTERPSIZ);
dtol(up*rdp,&u1); up += ngux2; u1 = ((u1-u0)>>LINTERPSIZ);
dtol(vp*rdp,&v1); vp += ngvx2; v1 = ((v1-v0)>>LINTERPSIZ);
rdp = 65536.0/dp; vide = &vidp[min(ix1-xx,1<<LINTERPSIZ)];
while (vidp < vide)
{
dacol = walptr[(((u0>>16)&tsizxm1)*tsizy) + ((v0>>16)&tsizym1)];
#if (DEPTHDEBUG == 0)
#if (USEZBUFFER != 0)
if ((dacol != 255) && (d0 <= zbufoff[(intptr_t)vidp]))
{
zbufoff[(intptr_t)vidp] = d0;
vidp[0] = palptr[((int32_t)dacol)]; //+((d0>>13)&0x3f00)];
}
#else
if (dacol != 255) vidp[0] = palptr[((int32_t)dacol)]; //+((d0>>13)&0x3f00)];
#endif
#else
if ((dacol != 255) && (vidp[0] > (d0>>16))) vidp[0] = ((d0>>16)&255);
#endif
d0 += d1; u0 += u1; v0 += v1; vidp++;
}
}
}
else
{
for (xx=ix0; xx<ix1; xx+=(1<<LINTERPSIZ))
{
dtol(rdp,&d1); dp += ngdx2; d1 = ((d1-d0)>>LINTERPSIZ);
dtol(up*rdp,&u1); up += ngux2; u1 = ((u1-u0)>>LINTERPSIZ);
dtol(vp*rdp,&v1); vp += ngvx2; v1 = ((v1-v0)>>LINTERPSIZ);
rdp = 65536.0/dp; vide = &vidp[min(ix1-xx,1<<LINTERPSIZ)];
while (vidp < vide)
{
dacol = walptr[imod(u0>>16,tsizx)*tsizy + ((v0>>16)&tsizym1)];
#if (DEPTHDEBUG == 0)
#if (USEZBUFFER != 0)
if ((dacol != 255) && (d0 <= zbufoff[(intptr_t)vidp]))
{
zbufoff[(intptr_t)vidp] = d0;
vidp[0] = palptr[((int32_t)dacol)]; //+((d0>>13)&0x3f00)];
}
#else
if (dacol != 255) vidp[0] = palptr[((int32_t)dacol)]; //+((d0>>13)&0x3f00)];
#endif
#else
if ((dacol != 255) && (vidp[0] > (d0>>16))) vidp[0] = ((d0>>16)&255);
#endif
d0 += d1; u0 += u1; v0 += v1; vidp++;
}
}
}
break;
case 2: //Transluscence #1
for (xx=ix0; xx<ix1; xx+=(1<<LINTERPSIZ))
{
dtol(rdp,&d1); dp += ngdx2; d1 = ((d1-d0)>>LINTERPSIZ);
dtol(up*rdp,&u1); up += ngux2; u1 = ((u1-u0)>>LINTERPSIZ);
dtol(vp*rdp,&v1); vp += ngvx2; v1 = ((v1-v0)>>LINTERPSIZ);
rdp = 65536.0/dp; vide = &vidp[min(ix1-xx,1<<LINTERPSIZ)];
while (vidp < vide)
{
dacol = walptr[imod(u0>>16,tsizx)*tsizy + ((v0>>16)&tsizym1)];
//dacol = walptr[(((u0>>16)&tsizxm1)<<ltsizy) + ((v0>>16)&tsizym1)];
#if (DEPTHDEBUG == 0)
#if (USEZBUFFER != 0)
if ((dacol != 255) && (d0 <= zbufoff[(intptr_t)vidp]))
{
zbufoff[(intptr_t)vidp] = d0;
vidp[0] = transluc[(((int32_t)vidp[0])<<8)+((int32_t)palptr[((int32_t)dacol)])]; //+((d0>>13)&0x3f00)])];
}
#else
if (dacol != 255)
vidp[0] = transluc[(((int32_t)vidp[0])<<8)+((int32_t)palptr[((int32_t)dacol)])]; //+((d0>>13)&0x3f00)])];
#endif
#else
if ((dacol != 255) && (vidp[0] > (d0>>16))) vidp[0] = ((d0>>16)&255);
#endif
d0 += d1; u0 += u1; v0 += v1; vidp++;
}
}
break;
case 3: //Transluscence #2
for (xx=ix0; xx<ix1; xx+=(1<<LINTERPSIZ))
{
dtol(rdp,&d1); dp += ngdx2; d1 = ((d1-d0)>>LINTERPSIZ);
dtol(up*rdp,&u1); up += ngux2; u1 = ((u1-u0)>>LINTERPSIZ);
dtol(vp*rdp,&v1); vp += ngvx2; v1 = ((v1-v0)>>LINTERPSIZ);
rdp = 65536.0/dp; vide = &vidp[min(ix1-xx,1<<LINTERPSIZ)];
while (vidp < vide)
{
dacol = walptr[imod(u0>>16,tsizx)*tsizy + ((v0>>16)&tsizym1)];
//dacol = walptr[(((u0>>16)&tsizxm1)<<ltsizy) + ((v0>>16)&tsizym1)];
#if (DEPTHDEBUG == 0)
#if (USEZBUFFER != 0)
if ((dacol != 255) && (d0 <= zbufoff[(intptr_t)vidp]))
{
zbufoff[(intptr_t)vidp] = d0;
vidp[0] = transluc[((int32_t)vidp[0])+(((int32_t)palptr[((int32_t)dacol)/*+((d0>>13)&0x3f00)*/])<<8)];
}
#else
if (dacol != 255)
vidp[0] = transluc[((int32_t)vidp[0])+(((int32_t)palptr[((int32_t)dacol)/*+((d0>>13)&0x3f00)*/])<<8)];
#endif
#else
if ((dacol != 255) && (vidp[0] > (d0>>16))) vidp[0] = ((d0>>16)&255);
#endif
d0 += d1; u0 += u1; v0 += v1; vidp++;
}
}
break;
}
}
}
}
}
i = j;
}
while (i != maxi);
if (rendmode == 1) if (rendmode == 1)
{ {
if (method&3) //Only draw border around sprites/maskwalls if (method&3) //Only draw border around sprites/maskwalls
@ -2918,7 +2593,6 @@ void drawpoly(double *dpx, double *dpy, int32_t n, int32_t method)
//ox /= (double)n; oy /= (double)n; //ox /= (double)n; oy /= (double)n;
//for(i=0,j=n-1;i<n;j=i,i++) drawline2d(px[i]+(ox-px[i])*.125,py[i]+(oy-py[i])*.125,px[j]+(ox-px[j])*.125,py[j]+(oy-py[j])*.125,31); //for(i=0,j=n-1;i<n;j=i,i++) drawline2d(px[i]+(ox-px[i])*.125,py[i]+(oy-py[i])*.125,px[j]+(ox-px[j])*.125,py[j]+(oy-py[j])*.125,31);
} }
#endif
} }