- migrate all remaining move_missile calls

This commit is contained in:
Christoph Oelckers 2022-08-31 00:46:02 +02:00
parent f7d2ab20d8
commit e7197e2d73
3 changed files with 23 additions and 51 deletions

View file

@ -297,8 +297,8 @@ constexpr int SEC(int value)
enum enum
{ {
CEILING_DIST = (Z(4)), CEILING_DIST = 4,
FLOOR_DIST = (Z(4)) FLOOR_DIST = 4
}; };
// Clip Sprite adjustment // Clip Sprite adjustment

View file

@ -252,13 +252,10 @@ int SetupSkull(DSWActor* actor)
int DoSkullMove(DSWActor* actor) int DoSkullMove(DSWActor* actor)
{ {
int32_t dax, day, daz; auto vect = MOVExy(actor->spr.xvel, actor->spr.angle);
double daz = actor->spr.zvel * zinttoworld;
dax = MOVEx(actor->spr.xvel, actor->int_ang()); actor->user.coll = move_missile(actor, DVector3(vect, daz), 16, 16, CLIPMASK_MISSILE, ACTORMOVETICS);
day = MOVEy(actor->spr.xvel, actor->int_ang());
daz = actor->spr.zvel;
actor->user.coll = move_missile(actor, dax, day, daz, Z(16), Z(16), CLIPMASK_MISSILE, ACTORMOVETICS);
DoFindGroundPoint(actor); DoFindGroundPoint(actor);
return 0; return 0;
@ -636,16 +633,7 @@ int SetupBetty(DSWActor* actor)
int DoBettyMove(DSWActor* actor) int DoBettyMove(DSWActor* actor)
{ {
int32_t dax, day, daz; return DoSkullMove(actor);
dax = MOVEx(actor->spr.xvel, actor->int_ang());
day = MOVEy(actor->spr.xvel, actor->int_ang());
daz = actor->spr.zvel;
actor->user.coll = move_missile(actor, dax, day, daz, Z(16), Z(16), CLIPMASK_MISSILE, ACTORMOVETICS);
DoFindGroundPoint(actor);
return 0;
} }
int DoBettyBeginDeath(DSWActor* actor) int DoBettyBeginDeath(DSWActor* actor)

View file

@ -3735,9 +3735,7 @@ AutoShrap:
actor->user.pos.Y = shrap_ysize; actor->user.pos.Y = shrap_ysize;
actor->user.Counter = (RANDOM_P2(2048<<5)>>5); actor->user.Counter = (RANDOM_P2(2048<<5)>>5);
nx = bcos(actor->int_ang(), -6); move_missile(actor, DVector3(actor->spr.angle.ToVector() * 16, 0), 8, 8, CLIPMASK_MISSILE, MISSILEMOVETICS);
ny = bsin(actor->int_ang(), -6);
move_missile(actor, nx, ny, 0, Z(8), Z(8), CLIPMASK_MISSILE, MISSILEMOVETICS);
if (RANDOM_P2(1024)<700) if (RANDOM_P2(1024)<700)
actor->user.ID = 0; actor->user.ID = 0;
@ -7997,16 +7995,13 @@ int DoPlasmaFountain(DSWActor* actor)
int DoPlasma(DSWActor* actor) int DoPlasma(DSWActor* actor)
{ {
int32_t dax, day, daz;
auto oldv = actor->spr.pos; auto oldv = actor->spr.pos;
DoBlurExtend(actor, 0, 4); DoBlurExtend(actor, 0, 4);
dax = MOVEx(actor->spr.xvel, actor->int_ang()); auto vec = MOVExy(actor->spr.xvel, actor->spr.angle);
day = MOVEy(actor->spr.xvel, actor->int_ang()); double daz = actor->spr.zvel * zinttoworld;
daz = actor->spr.zvel;
actor->user.coll = move_missile(actor, dax, day, daz, Z(16), Z(16), CLIPMASK_MISSILE, MISSILEMOVETICS); actor->user.coll = move_missile(actor, DVector3(vec, daz), 16, 16, CLIPMASK_MISSILE, MISSILEMOVETICS);
{ {
// this sprite is supposed to go through players/enemys // this sprite is supposed to go through players/enemys
@ -8024,7 +8019,7 @@ int DoPlasma(DSWActor* actor)
actor->spr.pos = oldv; actor->spr.pos = oldv;
hitActor->spr.cstat &= ~(CSTAT_SPRITE_BLOCK | CSTAT_SPRITE_BLOCK_HITSCAN); hitActor->spr.cstat &= ~(CSTAT_SPRITE_BLOCK | CSTAT_SPRITE_BLOCK_HITSCAN);
actor->user.coll = move_missile(actor, dax, day, daz, Z(16), Z(16), CLIPMASK_MISSILE, MISSILEMOVETICS); actor->user.coll = move_missile(actor, DVector3(vec, daz), 16, 16, CLIPMASK_MISSILE, MISSILEMOVETICS);
hitActor->spr.cstat = hcstat; hitActor->spr.cstat = hcstat;
} }
} }
@ -8948,15 +8943,12 @@ int DoRailPuff(DSWActor* actor)
int DoBoltThinMan(DSWActor* actor) int DoBoltThinMan(DSWActor* actor)
{ {
int32_t dax, day, daz;
DoBlurExtend(actor, 0, 4); DoBlurExtend(actor, 0, 4);
dax = MOVEx(actor->spr.xvel, actor->int_ang()); auto vec = MOVExy(actor->spr.xvel, actor->spr.angle);
day = MOVEy(actor->spr.xvel, actor->int_ang()); double daz = actor->spr.zvel * zinttoworld;
daz = actor->spr.zvel;
actor->user.coll = move_missile(actor, dax, day, daz, CEILING_DIST, FLOOR_DIST, CLIPMASK_MISSILE, MISSILEMOVETICS); actor->user.coll = move_missile(actor, DVector3(vec, daz), CEILING_DIST, FLOOR_DIST, CLIPMASK_MISSILE, MISSILEMOVETICS);
MissileHitDiveArea(actor); MissileHitDiveArea(actor);
@ -9522,16 +9514,13 @@ int DoUziBullet(DSWActor* actor)
int DoBoltSeeker(DSWActor* actor) int DoBoltSeeker(DSWActor* actor)
{ {
int32_t dax, day, daz;
MissileSeek(actor, 30, 768/*, 4, 48, 6*/); MissileSeek(actor, 30, 768/*, 4, 48, 6*/);
DoBlurExtend(actor, 0, 4); DoBlurExtend(actor, 0, 4);
dax = MOVEx(actor->spr.xvel, actor->int_ang()); auto vec = MOVExy(actor->spr.xvel, actor->spr.angle);
day = MOVEy(actor->spr.xvel, actor->int_ang()); double daz = actor->spr.zvel * zinttoworld;
daz = actor->spr.zvel;
actor->user.coll = move_missile(actor, dax, day, daz, CEILING_DIST, FLOOR_DIST, CLIPMASK_MISSILE, MISSILEMOVETICS); actor->user.coll = move_missile(actor, DVector3(vec, daz), CEILING_DIST, FLOOR_DIST, CLIPMASK_MISSILE, MISSILEMOVETICS);
MissileHitDiveArea(actor); MissileHitDiveArea(actor);
if (actor->user.Flags & (SPR_UNDERWATER) && (RANDOM_P2(1024 << 4) >> 4) < 256) if (actor->user.Flags & (SPR_UNDERWATER) && (RANDOM_P2(1024 << 4) >> 4) < 256)
@ -9561,19 +9550,16 @@ int DoBoltFatMan(DSWActor* actor)
int DoElectro(DSWActor* actor) int DoElectro(DSWActor* actor)
{ {
int32_t dax, day, daz;
DoBlurExtend(actor, 0, 4); DoBlurExtend(actor, 0, 4);
// only seek on Electro's after a hit on an actor // only seek on Electro's after a hit on an actor
if (actor->user.Counter > 0) if (actor->user.Counter > 0)
MissileSeek(actor, 30, 512/*, 3, 52, 2*/); MissileSeek(actor, 30, 512/*, 3, 52, 2*/);
dax = MOVEx(actor->spr.xvel, actor->int_ang()); auto vec = MOVExy(actor->spr.xvel, actor->spr.angle);
day = MOVEy(actor->spr.xvel, actor->int_ang()); double daz = actor->spr.zvel * zinttoworld;
daz = actor->spr.zvel;
actor->user.coll = move_missile(actor, dax, day, daz, CEILING_DIST, FLOOR_DIST, CLIPMASK_MISSILE, MISSILEMOVETICS); actor->user.coll = move_missile(actor, DVector3(vec, daz), CEILING_DIST, FLOOR_DIST, CLIPMASK_MISSILE, MISSILEMOVETICS);
MissileHitDiveArea(actor); MissileHitDiveArea(actor);
if (actor->user.Flags & (SPR_UNDERWATER) && (RANDOM_P2(1024 << 4) >> 4) < 256) if (actor->user.Flags & (SPR_UNDERWATER) && (RANDOM_P2(1024 << 4) >> 4) < 256)
@ -16297,18 +16283,16 @@ int InitEnemyMine(DSWActor* actor)
int HelpMissileLateral(DSWActor* actor, int dist) int HelpMissileLateral(DSWActor* actor, int dist)
{ {
int xchange, ychange;
auto old_xvel = actor->spr.xvel; auto old_xvel = actor->spr.xvel;
auto old_clipdist = actor->spr.clipdist; auto old_clipdist = actor->spr.clipdist;
actor->spr.xvel = dist; actor->spr.xvel = dist;
xchange = MOVEx(actor->spr.xvel, actor->int_ang());
ychange = MOVEy(actor->spr.xvel, actor->int_ang()); auto vec = MOVExy(actor->spr.xvel, actor->spr.angle);
actor->spr.clipdist = 32L >> 2; actor->spr.clipdist = 32L >> 2;
actor->user.coll = move_missile(actor, xchange, ychange, 0, Z(16), Z(16), 0, 1); actor->user.coll = move_missile(actor, DVector3(vec, 0), 16, 16, 0, 1);
actor->spr.xvel = old_xvel; actor->spr.xvel = old_xvel;
actor->spr.clipdist = old_clipdist; actor->spr.clipdist = old_clipdist;