mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-25 03:00:46 +00:00
git-svn-id: https://svn.eduke32.com/eduke32@612 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
ce81d4f061
commit
517c392a3c
8 changed files with 1531 additions and 1566 deletions
|
@ -171,18 +171,16 @@ int r_animsmoothing = 1;
|
||||||
|
|
||||||
static float fogresult, ofogresult, fogcol[4];
|
static float fogresult, ofogresult, fogcol[4];
|
||||||
|
|
||||||
static void fogcalc(signed char shade, char vis, char pal)
|
// making this a macro should speed things up at the expense of code size
|
||||||
{
|
#define fogcalc(shade, vis, pal) \
|
||||||
if (vis < 240) fogresult = (float)gvisibility*(vis+16+(shade<0?(-(shade)*(shade))/8.f:((shade)*(shade))/8.f));
|
{ \
|
||||||
else fogresult = (float)gvisibility*((vis-240+(shade<0?(-(shade)*(shade))/8.f:((shade)*(shade))/8.f))/(klabs(vis-256)));
|
fogresult = (float)gvisibility*(vis+16+(shade<0?(-(shade)*(shade))*0.125f:((shade)*(shade))*0.125f)); \
|
||||||
|
if (vis > 239) fogresult = (float)gvisibility*((vis-240+(shade<0?(-(shade)*(shade))*0.125f:((shade)*(shade))*0.125f))/(klabs(vis-256))); \
|
||||||
if (fogresult < 0.010) fogresult = 0.010;
|
fogresult = min(max(fogresult, 0.01f),10.f); \
|
||||||
else if (fogresult > 10.000) fogresult = 10.000;
|
fogcol[0] = (float)palookupfog[pal].r / 63.f; \
|
||||||
|
fogcol[1] = (float)palookupfog[pal].g / 63.f; \
|
||||||
fogcol[0] = (float)palookupfog[pal].r / 63.f;
|
fogcol[2] = (float)palookupfog[pal].b / 63.f; \
|
||||||
fogcol[1] = (float)palookupfog[pal].g / 63.f;
|
fogcol[3] = 0; \
|
||||||
fogcol[2] = (float)palookupfog[pal].b / 63.f;
|
|
||||||
fogcol[3] = 0;
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1779,7 +1777,7 @@ void drawpoly(double *dpx, double *dpy, int n, int method)
|
||||||
float hackscx, hackscy;
|
float hackscx, hackscy;
|
||||||
|
|
||||||
int pal1;
|
int pal1;
|
||||||
if(usehightile)
|
if (usehightile)
|
||||||
for (pal1=SPECPAL;pal1<=REDPAL;pal1++)
|
for (pal1=SPECPAL;pal1<=REDPAL;pal1++)
|
||||||
if (hicfindsubst(globalpicnum, pal1, 0))
|
if (hicfindsubst(globalpicnum, pal1, 0))
|
||||||
gltexcache(globalpicnum, pal1, method&(~3));
|
gltexcache(globalpicnum, pal1, method&(~3));
|
||||||
|
|
|
@ -27,19 +27,18 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
extern int numenvsnds;
|
extern int numenvsnds;
|
||||||
extern int actor_tog;
|
extern int actor_tog;
|
||||||
|
|
||||||
void updateinterpolations() //Stick at beginning of domovethings
|
inline void updateinterpolations(void) //Stick at beginning of domovethings
|
||||||
{
|
{
|
||||||
int i=numinterpolations-1;
|
int i=numinterpolations-1;
|
||||||
|
|
||||||
for (;i>=0;i--) oldipos[i] = *curipos[i];
|
for (;i>=0;i--) oldipos[i] = *curipos[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
void setinterpolation(int *posptr)
|
void setinterpolation(int *posptr)
|
||||||
{
|
{
|
||||||
int i;
|
int i=numinterpolations-1;
|
||||||
|
|
||||||
if (numinterpolations >= MAXINTERPOLATIONS) return;
|
if (numinterpolations >= MAXINTERPOLATIONS) return;
|
||||||
for (i=numinterpolations-1;i>=0;i--)
|
for (;i>=0;i--)
|
||||||
if (curipos[i] == posptr) return;
|
if (curipos[i] == posptr) return;
|
||||||
curipos[numinterpolations] = posptr;
|
curipos[numinterpolations] = posptr;
|
||||||
oldipos[numinterpolations] = *posptr;
|
oldipos[numinterpolations] = *posptr;
|
||||||
|
@ -48,9 +47,9 @@ void setinterpolation(int *posptr)
|
||||||
|
|
||||||
void stopinterpolation(int *posptr)
|
void stopinterpolation(int *posptr)
|
||||||
{
|
{
|
||||||
int i;
|
int i=numinterpolations-1;
|
||||||
|
|
||||||
for (i=numinterpolations-1;i>=startofdynamicinterpolations;i--)
|
for (;i>=startofdynamicinterpolations;i--)
|
||||||
if (curipos[i] == posptr)
|
if (curipos[i] == posptr)
|
||||||
{
|
{
|
||||||
numinterpolations--;
|
numinterpolations--;
|
||||||
|
@ -74,27 +73,20 @@ void dointerpolations(int smoothratio) //Stick at beginning of drawscreen
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void restoreinterpolations() //Stick at end of drawscreen
|
inline void restoreinterpolations(void) //Stick at end of drawscreen
|
||||||
{
|
{
|
||||||
int i=numinterpolations-1;
|
int i=numinterpolations-1;
|
||||||
|
|
||||||
for (;i>=0;i--) *curipos[i] = bakipos[i];
|
for (;i>=0;i--) *curipos[i] = bakipos[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
int ceilingspace(int sectnum)
|
inline int ceilingspace(int sectnum)
|
||||||
{
|
{
|
||||||
if ((sector[sectnum].ceilingstat&1) && sector[sectnum].ceilingpal == 0 && (sector[sectnum].ceilingpicnum==MOONSKY1 || sector[sectnum].ceilingpicnum==BIGORBIT1))
|
return ((sector[sectnum].ceilingstat&1) && sector[sectnum].ceilingpal == 0 && (sector[sectnum].ceilingpicnum==MOONSKY1 || sector[sectnum].ceilingpicnum==BIGORBIT1)?1:0);
|
||||||
return 1;
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int floorspace(int sectnum)
|
inline int floorspace(int sectnum)
|
||||||
{
|
{
|
||||||
if ((sector[sectnum].floorstat&1) && sector[sectnum].ceilingpal == 0)
|
return ((sector[sectnum].floorstat&1) && sector[sectnum].ceilingpal == 0 && ((sector[sectnum].floorpicnum==MOONSKY1)||(sector[sectnum].floorpicnum==BIGORBIT1))?1:0);
|
||||||
{
|
|
||||||
if ((sector[sectnum].floorpicnum==MOONSKY1)||(sector[sectnum].floorpicnum==BIGORBIT1)) return 1;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void addammo(int weapon,player_struct *p,int amount)
|
void addammo(int weapon,player_struct *p,int amount)
|
||||||
|
@ -541,15 +533,12 @@ int movesprite(int spritenum, int xchange, int ychange, int zchange, unsigned in
|
||||||
return(retval);
|
return(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
int ssp(int i,unsigned int cliptype) //The set sprite function
|
inline int ssp(int i,unsigned int cliptype) //The set sprite function
|
||||||
{
|
{
|
||||||
spritetype *s= &sprite[i];
|
return (movesprite(i,
|
||||||
int movetype = movesprite(i,
|
(sprite[i].xvel*(sintable[(sprite[i].ang+512)&2047]))>>14,
|
||||||
(s->xvel*(sintable[(s->ang+512)&2047]))>>14,
|
(sprite[i].xvel*(sintable[sprite[i].ang&2047]))>>14,sprite[i].zvel,
|
||||||
(s->xvel*(sintable[s->ang&2047]))>>14,s->zvel,
|
cliptype)==0);
|
||||||
cliptype);
|
|
||||||
|
|
||||||
return (movetype==0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#undef deletesprite
|
#undef deletesprite
|
||||||
|
@ -570,49 +559,26 @@ void deletespriteEVENT(int s)
|
||||||
|
|
||||||
void insertspriteq(int i)
|
void insertspriteq(int i)
|
||||||
{
|
{
|
||||||
if (spriteqamount > 0)
|
if (spriteqamount == 0)
|
||||||
{
|
{
|
||||||
|
deletesprite(i);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (spriteq[spriteqloc] >= 0)
|
if (spriteq[spriteqloc] >= 0)
|
||||||
sprite[spriteq[spriteqloc]].xrepeat = 0;
|
sprite[spriteq[spriteqloc]].xrepeat = 0;
|
||||||
spriteq[spriteqloc] = i;
|
spriteq[spriteqloc] = i;
|
||||||
spriteqloc = (spriteqloc+1)%spriteqamount;
|
spriteqloc = (spriteqloc+1)%spriteqamount;
|
||||||
}
|
|
||||||
// else sprite[i].xrepeat = sprite[i].yrepeat = 0;
|
|
||||||
else deletesprite(i);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void lotsofmoney(int sp, int n)
|
void lotsofmoneymailpaper(int sp, int n, int pic)
|
||||||
{
|
{
|
||||||
int i=n ,j;
|
int i=n ,j;
|
||||||
spritetype *s = &sprite[sp];
|
spritetype *s = &sprite[sp];
|
||||||
|
|
||||||
for (;i>0;i--)
|
for (;i>0;i--)
|
||||||
{
|
{
|
||||||
j = EGS(s->sectnum,s->x,s->y,s->z-(TRAND%(47<<8)),MONEY,-32,8,8,TRAND&2047,0,0,sp,5);
|
j = EGS(s->sectnum,s->x,s->y,s->z-(TRAND%(47<<8)),pic,-32,8,8,TRAND&2047,0,0,sp,5);
|
||||||
sprite[j].cstat = TRAND&12;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void lotsofmail(int sp, int n)
|
|
||||||
{
|
|
||||||
int i=n ,j;
|
|
||||||
spritetype *s = &sprite[sp];
|
|
||||||
|
|
||||||
for (;i>0;i--)
|
|
||||||
{
|
|
||||||
j = EGS(s->sectnum,s->x,s->y,s->z-(TRAND%(47<<8)),MAIL,-32,8,8,TRAND&2047,0,0,sp,5);
|
|
||||||
sprite[j].cstat = TRAND&12;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void lotsofpaper(int sp, int n)
|
|
||||||
{
|
|
||||||
int i=n ,j;
|
|
||||||
spritetype *s = &sprite[sp];
|
|
||||||
|
|
||||||
for (;i>0;i--)
|
|
||||||
{
|
|
||||||
j = EGS(s->sectnum,s->x,s->y,s->z-(TRAND%(47<<8)),PAPER,-32,8,8,TRAND&2047,0,0,sp,5);
|
|
||||||
sprite[j].cstat = TRAND&12;
|
sprite[j].cstat = TRAND&12;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -161,13 +161,13 @@ extern void CONFIG_ReadKeys(void);
|
||||||
extern void readsavenames(void);
|
extern void readsavenames(void);
|
||||||
extern int32 CONFIG_ReadSetup(void);
|
extern int32 CONFIG_ReadSetup(void);
|
||||||
extern void CONFIG_WriteSetup(void);
|
extern void CONFIG_WriteSetup(void);
|
||||||
extern void updateinterpolations(void);
|
extern inline void updateinterpolations(void);
|
||||||
extern void setinterpolation(int *posptr);
|
extern void setinterpolation(int *posptr);
|
||||||
extern void stopinterpolation(int *posptr);
|
extern void stopinterpolation(int *posptr);
|
||||||
extern void dointerpolations(int smoothratio);
|
extern void dointerpolations(int smoothratio);
|
||||||
extern void restoreinterpolations(void);
|
extern inline void restoreinterpolations(void);
|
||||||
extern int ceilingspace(int sectnum);
|
extern inline int ceilingspace(int sectnum);
|
||||||
extern int floorspace(int sectnum);
|
extern inline int floorspace(int sectnum);
|
||||||
extern void addammo(int weapon,player_struct *p,int amount);
|
extern void addammo(int weapon,player_struct *p,int amount);
|
||||||
extern void addweaponnoswitch(player_struct *p,int weapon);
|
extern void addweaponnoswitch(player_struct *p,int weapon);
|
||||||
extern void addweapon(player_struct *p,int weapon);
|
extern void addweapon(player_struct *p,int weapon);
|
||||||
|
@ -175,11 +175,9 @@ extern void checkavailinven(player_struct *p);
|
||||||
extern void checkavailweapon(player_struct *p);
|
extern void checkavailweapon(player_struct *p);
|
||||||
extern void hitradius(int i,int r,int hp1,int hp2,int hp3,int hp4);
|
extern void hitradius(int i,int r,int hp1,int hp2,int hp3,int hp4);
|
||||||
extern int movesprite(int spritenum,int xchange,int ychange,int zchange,unsigned int cliptype);
|
extern int movesprite(int spritenum,int xchange,int ychange,int zchange,unsigned int cliptype);
|
||||||
extern int ssp(int i,unsigned int cliptype);
|
extern inline int ssp(int i,unsigned int cliptype);
|
||||||
extern void insertspriteq(int i);
|
extern void insertspriteq(int i);
|
||||||
extern void lotsofmoney(int sp,int n);
|
extern void lotsofmoneymailpaper(int sp,int n,int pic);
|
||||||
extern void lotsofmail(int sp, int n);
|
|
||||||
extern void lotsofpaper(int sp, int n);
|
|
||||||
extern void guts(int sp,int gtype,int n,int p);
|
extern void guts(int sp,int gtype,int n,int p);
|
||||||
extern void setsectinterpolate(int i);
|
extern void setsectinterpolate(int i);
|
||||||
extern void clearsectinterpolate(int i);
|
extern void clearsectinterpolate(int i);
|
||||||
|
|
|
@ -3675,7 +3675,7 @@ static void view(player_struct *pp, int *vx, int *vy,int *vz,short *vsectnum, in
|
||||||
//REPLACE FULLY
|
//REPLACE FULLY
|
||||||
void drawbackground(void)
|
void drawbackground(void)
|
||||||
{
|
{
|
||||||
short dapicnum;
|
int dapicnum;
|
||||||
int x,y,x1,y1,x2,y2,rx;
|
int x,y,x1,y1,x2,y2,rx;
|
||||||
|
|
||||||
flushperms();
|
flushperms();
|
||||||
|
|
|
@ -4015,12 +4015,12 @@ static int parse(void)
|
||||||
|
|
||||||
case CON_MONEY:
|
case CON_MONEY:
|
||||||
insptr++;
|
insptr++;
|
||||||
lotsofmoney(g_i,*insptr++);
|
lotsofmoneymailpaper(g_i,*insptr++,MONEY);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CON_MAIL:
|
case CON_MAIL:
|
||||||
insptr++;
|
insptr++;
|
||||||
lotsofmail(g_i,*insptr++);
|
lotsofmoneymailpaper(g_i,*insptr++,MAIL);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CON_SLEEPTIME:
|
case CON_SLEEPTIME:
|
||||||
|
@ -4030,7 +4030,7 @@ static int parse(void)
|
||||||
|
|
||||||
case CON_PAPER:
|
case CON_PAPER:
|
||||||
insptr++;
|
insptr++;
|
||||||
lotsofpaper(g_i,*insptr++);
|
lotsofmoneymailpaper(g_i,*insptr++,PAPER);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CON_ADDKILLS:
|
case CON_ADDKILLS:
|
||||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1788,7 +1788,7 @@ void checkhitwall(int spr,int dawallnum,int x,int y,int z,int atwith)
|
||||||
|
|
||||||
case ATM__STATIC:
|
case ATM__STATIC:
|
||||||
wal->picnum = ATMBROKE;
|
wal->picnum = ATMBROKE;
|
||||||
lotsofmoney(spr,1+(TRAND&7));
|
lotsofmoneymailpaper(spr,1+(TRAND&7),MONEY);
|
||||||
spritesound(GLASS_HEAVYBREAK,spr);
|
spritesound(GLASS_HEAVYBREAK,spr);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -2173,7 +2173,7 @@ void checkhitsprite(int i,int sn)
|
||||||
case STATUEFLASH__STATIC:
|
case STATUEFLASH__STATIC:
|
||||||
case STATUE__STATIC:
|
case STATUE__STATIC:
|
||||||
if (PN == BOTTLE10)
|
if (PN == BOTTLE10)
|
||||||
lotsofmoney(i,4+(TRAND&3));
|
lotsofmoneymailpaper(i,4+(TRAND&3),MONEY);
|
||||||
else if (PN == STATUE || PN == STATUEFLASH)
|
else if (PN == STATUE || PN == STATUEFLASH)
|
||||||
{
|
{
|
||||||
lotsofcolourglass(i,-1,40);
|
lotsofcolourglass(i,-1,40);
|
||||||
|
@ -3241,7 +3241,7 @@ void checksectors(int snum)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ud.cashman && g_player[snum].sync->bits&(1<<29))
|
if (ud.cashman && g_player[snum].sync->bits&(1<<29))
|
||||||
lotsofmoney(p->i,2);
|
lotsofmoneymailpaper(p->i,2,MONEY);
|
||||||
|
|
||||||
if (p->newowner >= 0)
|
if (p->newowner >= 0)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue