Remaining sanitizing of .yvel usage plus minor cleanup.

git-svn-id: https://svn.eduke32.com/eduke32@4229 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
helixhorned 2013-12-28 17:04:36 +00:00
parent 2dd9b7e495
commit 21d8e52f0a
4 changed files with 28 additions and 22 deletions

View file

@ -2780,7 +2780,7 @@ ACTOR_STATIC void Proj_MoveCustom(int32_t i)
} while (!j && --cnt > 0); } while (!j && --cnt > 0);
} }
if (!(proj->workslike & PROJECTILE_BOUNCESOFFWALLS) && if (!(proj->workslike & PROJECTILE_BOUNCESOFFWALLS) && // NOT_BOUNCESOFFWALLS_YVEL
(unsigned)s->yvel < MAXSPRITES && sprite[s->yvel].sectnum != MAXSECTORS) (unsigned)s->yvel < MAXSPRITES && sprite[s->yvel].sectnum != MAXSECTORS)
if (FindDistance2D(s->x-sprite[s->yvel].x, s->y-sprite[s->yvel].y) < 256) if (FindDistance2D(s->x-sprite[s->yvel].x, s->y-sprite[s->yvel].y) < 256)
j = 49152|s->yvel; j = 49152|s->yvel;
@ -3059,7 +3059,7 @@ ACTOR_STATIC void G_MoveWeapons(void)
} }
if (s->picnum == RPG && (unsigned)s->yvel < MAXSPRITES) if (s->picnum == RPG && (unsigned)s->yvel < MAXSPRITES) // RPG_YVEL
if (FindDistance2D(s->x-sprite[s->yvel].x,s->y-sprite[s->yvel].y) < 256) if (FindDistance2D(s->x-sprite[s->yvel].x,s->y-sprite[s->yvel].y) < 256)
j = 49152|s->yvel; j = 49152|s->yvel;
@ -5551,7 +5551,7 @@ ACTOR_STATIC void G_MoveMisc(void) // STATNUM 5
} }
else else
{ {
if (s->picnum == SCRAP1 && s->yvel > 0) if (s->picnum == SCRAP1 && s->yvel > 0 && s->yvel < MAXUSERTILES)
{ {
int32_t j = A_Spawn(i, s->yvel); int32_t j = A_Spawn(i, s->yvel);

View file

@ -7587,14 +7587,16 @@ PALONLY:
t->xrepeat = t->yrepeat = 0; t->xrepeat = t->yrepeat = 0;
continue; continue;
} }
if (t->pal == 6) t->shade = -120; if (t->pal == 6)
t->shade = -120;
/* fall-through */
case SCRAP1__STATIC: case SCRAP1__STATIC:
case SCRAP2__STATIC: case SCRAP2__STATIC:
case SCRAP3__STATIC: case SCRAP3__STATIC:
case SCRAP4__STATIC: case SCRAP4__STATIC:
case SCRAP5__STATIC: case SCRAP5__STATIC:
if (actor[i].picnum == BLIMP && t->picnum == SCRAP1 && s->yvel >= 0) if (actor[i].picnum == BLIMP && t->picnum == SCRAP1 && s->yvel >= 0)
t->picnum = s->yvel; t->picnum = s->yvel < MAXUSERTILES ? s->yvel : 0;
else t->picnum += T1; else t->picnum += T1;
t->shade -= 6; t->shade -= 6;

View file

@ -5217,7 +5217,8 @@ finish_qsprintf:
case PODFEM1__STATIC: case PODFEM1__STATIC:
case NAKED1__STATIC: case NAKED1__STATIC:
case STATUE__STATIC: case STATUE__STATIC:
if (vm.g_sp->yvel) G_OperateRespawns(vm.g_sp->yvel); if (vm.g_sp->yvel)
G_OperateRespawns(vm.g_sp->yvel);
break; break;
default: default:
// if (vm.g_sp->hitag >= 0) // if (vm.g_sp->hitag >= 0)

View file

@ -938,6 +938,7 @@ static int32_t A_ShootCustom(const int32_t i, const int32_t atwith, int16_t sa,
if (p >= 0) if (p >= 0)
{ {
// NOTE: j is a SPRITE_INDEX
j = GetAutoAimAngle(i, p, atwith, 8<<8, 0+2, srcvect, vel, &zvel, &sa); j = GetAutoAimAngle(i, p, atwith, 8<<8, 0+2, srcvect, vel, &zvel, &sa);
if (j < 0) if (j < 0)
@ -950,6 +951,7 @@ static int32_t A_ShootCustom(const int32_t i, const int32_t atwith, int16_t sa,
{ {
if (!(proj->workslike & PROJECTILE_NOAIM)) if (!(proj->workslike & PROJECTILE_NOAIM))
{ {
// NOTE: j is a player index
j = A_FindPlayer(s, NULL); j = A_FindPlayer(s, NULL);
sa = getangle(g_player[j].ps->opos.x-srcvect->x, g_player[j].ps->opos.y-srcvect->y); sa = getangle(g_player[j].ps->opos.x-srcvect->x, g_player[j].ps->opos.y-srcvect->y);
@ -961,12 +963,11 @@ static int32_t A_ShootCustom(const int32_t i, const int32_t atwith, int16_t sa,
} }
} }
if (p >= 0 && j >= 0)
l = j;
else l = -1;
if (numplayers > 1 && g_netClient) return -1; if (numplayers > 1 && g_netClient) return -1;
// l may be a SPRITE_INDEX, see above
l = (p >= 0 && j >= 0) ? j : -1;
zvel = A_GetShootZvel(zvel); zvel = A_GetShootZvel(zvel);
j = A_InsertSprite(sect, j = A_InsertSprite(sect,
srcvect->x + (sintable[(348 + sa + 512) & 2047] / proj->offset), srcvect->x + (sintable[(348 + sa + 512) & 2047] / proj->offset),
@ -980,7 +981,7 @@ static int32_t A_ShootCustom(const int32_t i, const int32_t atwith, int16_t sa,
sprite[j].extra += (krand()&proj->extra_rand); sprite[j].extra += (krand()&proj->extra_rand);
if (!(proj->workslike & PROJECTILE_BOUNCESOFFWALLS)) if (!(proj->workslike & PROJECTILE_BOUNCESOFFWALLS))
sprite[j].yvel = l; sprite[j].yvel = l; // NOT_BOUNCESOFFWALLS_YVEL
else else
{ {
if (proj->bounces >= 1) sprite[j].yvel = proj->bounces; if (proj->bounces >= 1) sprite[j].yvel = proj->bounces;
@ -1410,6 +1411,7 @@ int32_t A_ShootWithZvel(int32_t i, int32_t atwith, int32_t override_zvel)
if (p >= 0) if (p >= 0)
{ {
// NOTE: j is a SPRITE_INDEX
j = GetAutoAimAngle(i, p, atwith, 8<<8, 0+2, &srcvect, vel, &zvel, &sa); j = GetAutoAimAngle(i, p, atwith, 8<<8, 0+2, &srcvect, vel, &zvel, &sa);
if (j < 0) if (j < 0)
@ -1420,6 +1422,7 @@ int32_t A_ShootWithZvel(int32_t i, int32_t atwith, int32_t override_zvel)
} }
else else
{ {
// NOTE: j is a player index
j = A_FindPlayer(s, NULL); j = A_FindPlayer(s, NULL);
sa = getangle(g_player[j].ps->opos.x-srcvect.x, g_player[j].ps->opos.y-srcvect.y); sa = getangle(g_player[j].ps->opos.x-srcvect.x, g_player[j].ps->opos.y-srcvect.y);
if (PN == BOSS3) if (PN == BOSS3)
@ -1437,11 +1440,11 @@ int32_t A_ShootWithZvel(int32_t i, int32_t atwith, int32_t override_zvel)
sa = s->ang+(krand()&31)-16; sa = s->ang+(krand()&31)-16;
} }
if (p >= 0 && j >= 0) if (numplayers > 1 && g_netClient)
l = j; return -1;
else l = -1;
if (numplayers > 1 && g_netClient) return -1; // l may be a SPRITE_INDEX, see above
l = (p >= 0 && j >= 0) ? j : -1;
zvel = A_GetShootZvel(zvel); zvel = A_GetShootZvel(zvel);
j = A_InsertSprite(sect, j = A_InsertSprite(sect,
@ -1451,7 +1454,7 @@ int32_t A_ShootWithZvel(int32_t i, int32_t atwith, int32_t override_zvel)
sprite[j].extra += (krand()&7); sprite[j].extra += (krand()&7);
if (atwith != FREEZEBLAST) if (atwith != FREEZEBLAST)
sprite[j].yvel = l; sprite[j].yvel = l; // RPG_YVEL
else else
{ {
sprite[j].yvel = g_numFreezeBounces; sprite[j].yvel = g_numFreezeBounces;