mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-24 10:40:46 +00:00
git-svn-id: https://svn.eduke32.com/eduke32@949 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
ff18979277
commit
3f9daa6c44
5 changed files with 64 additions and 84 deletions
|
@ -383,12 +383,13 @@ SKIPWALLCHECK:
|
||||||
|
|
||||||
if (s->picnum != SHRINKSPARK)
|
if (s->picnum != SHRINKSPARK)
|
||||||
{
|
{
|
||||||
if (d < r/3)
|
k = (r/3);
|
||||||
|
if (d < k)
|
||||||
{
|
{
|
||||||
if (hp4 == hp3) hp4++;
|
if (hp4 == hp3) hp4++;
|
||||||
hittype[j].extra = hp3 + (TRAND%(hp4-hp3));
|
hittype[j].extra = hp3 + (TRAND%(hp4-hp3));
|
||||||
}
|
}
|
||||||
else if (d < 2*r/3)
|
else if (d < (k<<1))
|
||||||
{
|
{
|
||||||
if (hp3 == hp2) hp3++;
|
if (hp3 == hp2) hp3++;
|
||||||
hittype[j].extra = hp2 + (TRAND%(hp3-hp2));
|
hittype[j].extra = hp2 + (TRAND%(hp3-hp2));
|
||||||
|
@ -527,19 +528,17 @@ int movesprite(int spritenum, int xchange, int ychange, int zchange, unsigned in
|
||||||
daz = sprite[spritenum].z + ((zchange*TICSPERFRAME)>>3);
|
daz = sprite[spritenum].z + ((zchange*TICSPERFRAME)>>3);
|
||||||
if ((daz > hittype[spritenum].ceilingz) && (daz <= hittype[spritenum].floorz))
|
if ((daz > hittype[spritenum].ceilingz) && (daz <= hittype[spritenum].floorz))
|
||||||
sprite[spritenum].z = daz;
|
sprite[spritenum].z = daz;
|
||||||
else
|
else if (retval == 0)
|
||||||
if (retval == 0)
|
return(16384+dasectnum);
|
||||||
return(16384+dasectnum);
|
|
||||||
|
|
||||||
return(retval);
|
return(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline int ssp(int i,unsigned int cliptype) //The set sprite function
|
inline int ssp(int i,unsigned int cliptype) //The set sprite function
|
||||||
{
|
{
|
||||||
return (movesprite(i,
|
return (movesprite(i,(sprite[i].xvel*(sintable[(sprite[i].ang+512)&2047]))>>14,
|
||||||
(sprite[i].xvel*(sintable[(sprite[i].ang+512)&2047]))>>14,
|
(sprite[i].xvel*(sintable[sprite[i].ang&2047]))>>14,sprite[i].zvel,
|
||||||
(sprite[i].xvel*(sintable[sprite[i].ang&2047]))>>14,sprite[i].zvel,
|
cliptype)==0);
|
||||||
cliptype)==0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#undef deletesprite
|
#undef deletesprite
|
||||||
|
@ -547,8 +546,8 @@ void deletespriteEVENT(int s)
|
||||||
{
|
{
|
||||||
if (apScriptGameEvent[EVENT_KILLIT])
|
if (apScriptGameEvent[EVENT_KILLIT])
|
||||||
{
|
{
|
||||||
int p;
|
static int p, pl;
|
||||||
int pl=findplayer(&sprite[s],&p);
|
pl=findplayer(&sprite[s],&p);
|
||||||
SetGameVarID(g_iReturnVarID,0, -1, -1);
|
SetGameVarID(g_iReturnVarID,0, -1, -1);
|
||||||
OnEvent(EVENT_KILLIT, s, pl, p);
|
OnEvent(EVENT_KILLIT, s, pl, p);
|
||||||
if (GetGameVarID(g_iReturnVarID, -1, -1))
|
if (GetGameVarID(g_iReturnVarID, -1, -1))
|
||||||
|
|
|
@ -3452,7 +3452,7 @@ void SetCrosshairColor(int r, int g, int b)
|
||||||
hictinting[CROSSHAIR_PAL].r = crosshair_colors.r;
|
hictinting[CROSSHAIR_PAL].r = crosshair_colors.r;
|
||||||
hictinting[CROSSHAIR_PAL].g = crosshair_colors.g;
|
hictinting[CROSSHAIR_PAL].g = crosshair_colors.g;
|
||||||
hictinting[CROSSHAIR_PAL].b = crosshair_colors.b;
|
hictinting[CROSSHAIR_PAL].b = crosshair_colors.b;
|
||||||
hictinting[CROSSHAIR_PAL].f = 1;
|
hictinting[CROSSHAIR_PAL].f = 17;
|
||||||
invalidatetile(CROSSHAIR, -1, -1);
|
invalidatetile(CROSSHAIR, -1, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5416,9 +5416,10 @@ int spawn(int j, int pn)
|
||||||
a = g_player[snum].ps->ang-(TRAND&63)+8; //Fine tune
|
a = g_player[snum].ps->ang-(TRAND&63)+8; //Fine tune
|
||||||
|
|
||||||
T1 = TRAND&1;
|
T1 = TRAND&1;
|
||||||
|
sp->z = (3<<8)+g_player[snum].ps->pyoff+g_player[snum].ps->posz-
|
||||||
|
((g_player[snum].ps->horizoff+g_player[snum].ps->horiz-100)<<4);
|
||||||
if (sp->picnum == SHOTGUNSHELL)
|
if (sp->picnum == SHOTGUNSHELL)
|
||||||
sp->z = (6<<8)+g_player[snum].ps->pyoff+g_player[snum].ps->posz-((g_player[snum].ps->horizoff+g_player[snum].ps->horiz-100)<<4);
|
sp->z += (3<<8);
|
||||||
else sp->z = (3<<8)+g_player[snum].ps->pyoff+g_player[snum].ps->posz-((g_player[snum].ps->horizoff+g_player[snum].ps->horiz-100)<<4);
|
|
||||||
sp->zvel = -(TRAND&255);
|
sp->zvel = -(TRAND&255);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -6679,7 +6679,8 @@ case CON_CHANGESPRITESECT:
|
||||||
index=GetGameVarID(*insptr++,g_i,g_p);
|
index=GetGameVarID(*insptr++,g_i,g_p);
|
||||||
if ((index < aGameArrays[lVarID].size)&&(index>=0))
|
if ((index < aGameArrays[lVarID].size)&&(index>=0))
|
||||||
{
|
{
|
||||||
OSD_Printf(OSDTEXT_GREEN "CON_ADDLOGVAR: L=%d %s[%d] =%d\n",line_num, aGameArrays[lVarID].szLabel,index,m*aGameArrays[lVarID].plValues[index]);
|
OSD_Printf(OSDTEXT_GREEN "CON_ADDLOGVAR: L=%d %s[%d] =%d\n",line_num,
|
||||||
|
aGameArrays[lVarID].szLabel,index,m*aGameArrays[lVarID].plValues[index]);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -7096,14 +7097,15 @@ case CON_CHANGESPRITESECT:
|
||||||
|
|
||||||
insptr++;
|
insptr++;
|
||||||
|
|
||||||
if (j >=0 && j < ud.multimode)
|
if (j < 0 || j >= ud.multimode)
|
||||||
{
|
{
|
||||||
if (tw == CON_CHECKAVAILWEAPON)
|
|
||||||
checkavailweapon(g_player[j].ps);
|
|
||||||
else checkavailinven(g_player[j].ps);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
OSD_Printf(CON_ERROR "CON_CHECKAVAILWEAPON/CON_CHECKAVAILINVEN: Invalid player ID %d\n",line_num,j);
|
OSD_Printf(CON_ERROR "CON_CHECKAVAILWEAPON/CON_CHECKAVAILINVEN: Invalid player ID %d\n",line_num,j);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (tw == CON_CHECKAVAILWEAPON)
|
||||||
|
checkavailweapon(g_player[j].ps);
|
||||||
|
else checkavailinven(g_player[j].ps);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -7181,7 +7183,11 @@ case CON_CHANGESPRITESECT:
|
||||||
case CON_DIVVAR:
|
case CON_DIVVAR:
|
||||||
insptr++;
|
insptr++;
|
||||||
if (*(insptr+1) == 0)
|
if (*(insptr+1) == 0)
|
||||||
gameexit("CON_DIVVAR: Divide by zero.");
|
{
|
||||||
|
OSD_Printf(CON_ERROR "CON_DIVVAR: Divide by zero.\n",line_num);
|
||||||
|
insptr += 2;
|
||||||
|
break;
|
||||||
|
}
|
||||||
SetGameVarID(*insptr, GetGameVarID(*insptr, g_i, g_p) / *(insptr+1), g_i, g_p);
|
SetGameVarID(*insptr, GetGameVarID(*insptr, g_i, g_p) / *(insptr+1), g_i, g_p);
|
||||||
insptr += 2;
|
insptr += 2;
|
||||||
break;
|
break;
|
||||||
|
@ -7189,7 +7195,11 @@ case CON_CHANGESPRITESECT:
|
||||||
case CON_MODVAR:
|
case CON_MODVAR:
|
||||||
insptr++;
|
insptr++;
|
||||||
if (*(insptr+1) == 0)
|
if (*(insptr+1) == 0)
|
||||||
gameexit("CON_MODVAR: Mod by zero.");
|
{
|
||||||
|
OSD_Printf(CON_ERROR "CON_MODVAR: Mod by zero.\n",line_num);
|
||||||
|
insptr += 2;
|
||||||
|
break;
|
||||||
|
}
|
||||||
SetGameVarID(*insptr,GetGameVarID(*insptr, g_i, g_p)%*(insptr+1), g_i, g_p);
|
SetGameVarID(*insptr,GetGameVarID(*insptr, g_i, g_p)%*(insptr+1), g_i, g_p);
|
||||||
insptr += 2;
|
insptr += 2;
|
||||||
break;
|
break;
|
||||||
|
@ -7255,8 +7265,10 @@ case CON_CHANGESPRITESECT:
|
||||||
int l2=GetGameVarID(*insptr++, g_i, g_p);
|
int l2=GetGameVarID(*insptr++, g_i, g_p);
|
||||||
|
|
||||||
if (l2==0)
|
if (l2==0)
|
||||||
gameexit("CON_DIVVARVAR: Divide by zero.");
|
{
|
||||||
|
OSD_Printf(CON_ERROR "CON_DIVVARVAR: Divide by zero.\n",line_num);
|
||||||
|
break;
|
||||||
|
}
|
||||||
SetGameVarID(j, GetGameVarID(j, g_i, g_p)/l2 , g_i, g_p);
|
SetGameVarID(j, GetGameVarID(j, g_i, g_p)/l2 , g_i, g_p);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -7268,7 +7280,10 @@ case CON_CHANGESPRITESECT:
|
||||||
int l2=GetGameVarID(*insptr++, g_i, g_p);
|
int l2=GetGameVarID(*insptr++, g_i, g_p);
|
||||||
|
|
||||||
if (l2==0)
|
if (l2==0)
|
||||||
gameexit("CON_MODVARVAR: Mod by zero.");
|
{
|
||||||
|
OSD_Printf(CON_ERROR "CON_MODVARVAR: Mod by zero.\n",line_num);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
SetGameVarID(j, GetGameVarID(j, g_i, g_p) % l2, g_i, g_p);
|
SetGameVarID(j, GetGameVarID(j, g_i, g_p) % l2, g_i, g_p);
|
||||||
break;
|
break;
|
||||||
|
@ -7691,7 +7706,11 @@ case CON_CHANGESPRITESECT:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
OSD_Printf("fatal error: default processing: previous five values: %d, %d, %d, %d, %d, currrent opcode: %d, next five values: %d, %d, %d, %d, %d\ncurrent actor: %d (%d)\n",*(insptr-5),*(insptr-4),*(insptr-3),*(insptr-2),*(insptr-1),*insptr,*(insptr+1),*(insptr+2),*(insptr+3),*(insptr+4),*(insptr+5),g_i,g_sp->picnum);
|
OSD_Printf("fatal error: default processing: previous five values: %d, %d, %d, %d, %d, "
|
||||||
|
"currrent opcode: %d, next five values: %d, %d, %d, %d, %d\ncurrent actor: %d (%d)\n",
|
||||||
|
*(insptr-5),*(insptr-4),*(insptr-3),*(insptr-2),*(insptr-1),*insptr,*(insptr+1),
|
||||||
|
*(insptr+2),*(insptr+3),*(insptr+4),*(insptr+5),g_i,g_sp->picnum);
|
||||||
|
|
||||||
gameexit("An error has occurred in the EDuke32 CON executor.\n\n"
|
gameexit("An error has occurred in the EDuke32 CON executor.\n\n"
|
||||||
"If you are an end user, please e-mail the file eduke32.log\n"
|
"If you are an end user, please e-mail the file eduke32.log\n"
|
||||||
"along with links to any mods you're using to terminx@gmail.com.\n\n"
|
"along with links to any mods you're using to terminx@gmail.com.\n\n"
|
||||||
|
|
|
@ -32,58 +32,20 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
|
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
|
#include "compat.h"
|
||||||
|
#include "pragmas.h"
|
||||||
|
|
||||||
#if 0
|
// I wonder if it's faster to use Ken's functions here...
|
||||||
// Ken's reverse-engineering job
|
|
||||||
int32 FindDistance2D(int32 x, int32 y)
|
int FindDistance2D(int x, int y)
|
||||||
{
|
{
|
||||||
int32 i;
|
int t;
|
||||||
x = labs(x);
|
|
||||||
y = labs(y);
|
|
||||||
if (!x) return(y);
|
|
||||||
if (!y) return(x);
|
|
||||||
if (y < x) { i = x; x = y; y = i; } //swap x, y
|
|
||||||
x += (x>>1);
|
|
||||||
return ((x>>6)+(x>>2)+y-(y>>5)-(y>>7)); //handle 1 octant
|
|
||||||
}
|
|
||||||
|
|
||||||
// My abomination
|
x= klabs(x); /* absolute values */
|
||||||
#define square(x) ((x)*(x))
|
y= klabs(y);
|
||||||
/*
|
|
||||||
int32 FindDistance2D(int32 dx, int32 dy)
|
|
||||||
{
|
|
||||||
// return (int32)floor(sqrt((double)(sqr(dx)+sqr(dy))));
|
|
||||||
return ksqrt(square(dx)+square(dy));
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
int32 FindDistance3D(int32 dx, int32 dy, int32 dz)
|
|
||||||
{
|
|
||||||
// return (int32)floor(sqrt((double)(sqr(dx)+sqr(dy)+sqr(dz))));
|
|
||||||
return ksqrt(square(dx)+square(dy)+square(dz));
|
|
||||||
}
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
// This extracted from the Rise of the Triad source RT_UTIL.C :-|
|
|
||||||
|
|
||||||
#define SWAP(a,b) \
|
|
||||||
{ \
|
|
||||||
a=(a)^(b); \
|
|
||||||
b=(a)^(b); \
|
|
||||||
a=(a)^(b); \
|
|
||||||
}
|
|
||||||
|
|
||||||
int32 FindDistance2D(int32 x, int32 y)
|
|
||||||
{
|
|
||||||
int32 t;
|
|
||||||
|
|
||||||
x= abs(x); /* absolute values */
|
|
||||||
y= abs(y);
|
|
||||||
|
|
||||||
if (x<y)
|
if (x<y)
|
||||||
SWAP(x,y);
|
swaplong(&x,&y);
|
||||||
|
|
||||||
t = y + (y>>1);
|
t = y + (y>>1);
|
||||||
|
|
||||||
|
@ -91,22 +53,21 @@ int32 FindDistance2D(int32 x, int32 y)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int32 FindDistance3D(int32 x, int32 y, int32 z)
|
int FindDistance3D(int x, int y, int z)
|
||||||
{
|
{
|
||||||
int32 t;
|
int t;
|
||||||
|
|
||||||
x= abs(x); /* absolute values */
|
x= klabs(x); /* absolute values */
|
||||||
y= abs(y);
|
y= klabs(y);
|
||||||
z= abs(z);
|
z= klabs(z);
|
||||||
|
|
||||||
if (x<y)
|
if (x<y)
|
||||||
SWAP(x,y);
|
swaplong(&x,&y);
|
||||||
|
|
||||||
if (x<z)
|
if (x<z)
|
||||||
SWAP(x,z);
|
swaplong(&x,&z);
|
||||||
|
|
||||||
t = y + z;
|
t = y + z;
|
||||||
|
|
||||||
return (x - (x>>4) + (t>>2) + (t>>3));
|
return (x - (x>>4) + (t>>2) + (t>>3));
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
|
@ -27,8 +27,8 @@ Prepared for public release: 03/21/2003 - Charlie Wiederhold, 3D Realms
|
||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
extern int32 FindDistance2D(int32 dx, int32 dy);
|
extern int32 FindDistance2D(int dx, int dy);
|
||||||
extern int32 FindDistance3D(int32 dx, int32 dy, int32 dz);
|
extern int32 FindDistance3D(int dx, int dy, int dz);
|
||||||
extern int32 FindDistance3D_HP(int32 dx, int32 dy, int32 dz);
|
extern int32 FindDistance3D_HP(int32 dx, int32 dy, int32 dz);
|
||||||
extern int32 ArcTangentAppx(int32 dx, int32 dy);
|
extern int32 ArcTangentAppx(int32 dx, int32 dy);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue