- handle vel from angle assignments

This commit is contained in:
Christoph Oelckers 2022-09-09 19:10:40 +02:00
parent 44ff4a19c9
commit 39d8591ffc
6 changed files with 12 additions and 21 deletions

View file

@ -168,9 +168,7 @@ void AIAnubis::Tick(RunListEvent* ev)
{
PlotCourseToSprite(ap, pTarget);
int nAngle = ap->int_ang() & 0xFFF8;
ap->set_int_xvel(bcos(nAngle, -2));
ap->set_int_yvel(bsin(nAngle, -2));
ap->vel.XY() = ap->spr.angle.ToVector() * 256;
}
switch (move.type)
@ -192,7 +190,7 @@ void AIAnubis::Tick(RunListEvent* ev)
}
case kHitWall:
{
ap->set_int_ang((ap->int_ang() + 256) & kAngleMask);
ap->spr.angle += DAngle45;
ap->VelFromAngle(-2);
break;
}
@ -256,8 +254,7 @@ void AIAnubis::Tick(RunListEvent* ev)
{
ap->nAction = 1;
ap->set_int_xvel(bcos(ap->int_ang(), -2));
ap->set_int_yvel(bsin(ap->int_ang(), -2));
ap->vel.XY() = ap->spr.angle.ToVector() * 256;
ap->nFrame = 0;
}
else

View file

@ -372,8 +372,7 @@ void AIFish::Tick(RunListEvent* ev)
if (z <= nHeight)
{
pActor->set_int_xvel(bcos(pActor->int_ang(), -5) - bcos(pActor->int_ang(), -7));
pActor->set_int_yvel(bsin(pActor->int_ang(), -5) - bsin(pActor->int_ang(), -7));
pActor->vel.XY() = pActor->spr.angle.ToVector() * (32 - 8);
}
else
{

View file

@ -405,8 +405,7 @@ void AILion::Tick(RunListEvent* ev)
pActor->set_int_ang(nAngle);
pActor->nAction = 6;
pActor->set_int_xvel(bcos(pActor->int_ang()) - bcos(pActor->int_ang(), -3));
pActor->set_int_yvel(bsin(pActor->int_ang()) - bsin(pActor->int_ang(), -3));
pActor->vel.XY() = pActor->spr.angle.ToVector() * (1024 - 128);
D3PlayFX(StaticSound[kSound24], pActor);
}
@ -471,8 +470,7 @@ void AILion::Tick(RunListEvent* ev)
pActor->set_int_zvel(-1000);
pActor->nAction = 6;
pActor->set_int_xvel(bcos(pActor->int_ang()) - bcos(pActor->int_ang(), -3));
pActor->set_int_yvel(bsin(pActor->int_ang()) - bsin(pActor->int_ang(), -3));
pActor->vel.XY() = pActor->spr.angle.ToVector() * (1024 - 128);
D3PlayFX(StaticSound[kSound24], pActor);
}

View file

@ -444,8 +444,7 @@ void BuildQueenEgg(int nQueen, int nVal)
{
pActor2->spr.xrepeat = 30;
pActor2->spr.yrepeat = 30;
pActor2->set_int_xvel(bcos(pActor2->int_ang()));
pActor2->set_int_yvel(bsin(pActor2->int_ang()));
pActor2->vel.XY() = pActor2->spr.angle.ToVector() * 1024;
pActor2->set_int_zvel(-6000);
pActor2->spr.cstat = 0;
}
@ -837,7 +836,7 @@ void AIQueenHead::Tick(RunListEvent* ev)
[[fallthrough]];
case 1:
if ((pTarget->int_pos().Z - 51200) > pActor->int_pos().Z)
if ((pTarget->spr.pos.Z - 200) > pActor->spr.pos.Z)
{
QueenHead.nAction = 4;
QueenHead.nFrame = 0;

View file

@ -91,8 +91,7 @@ void BuildRoach(int nType, DExhumedActor* pActor, const DVector3& pos, sectortyp
void GoRoach(DExhumedActor* pActor)
{
pActor->set_int_xvel(bcos(pActor->int_ang(), -1) - bcos(pActor->int_ang(), -3));
pActor->set_int_yvel(bsin(pActor->int_ang(), -1) - bsin(pActor->int_ang(), -3));
pActor->vel.XY() = pActor->spr.angle.ToVector() * (512 - 128);
}
void AIRoach::Draw(RunListEvent* ev)

View file

@ -369,9 +369,8 @@ void AIScorp::Tick(RunListEvent* ev)
int nVel = RandomSize(5) + 1;
pSpiderActor->set_int_xvel(bcos(pSpiderActor->int_ang(), -8) * nVel);
pSpiderActor->set_int_yvel(bsin(pSpiderActor->int_ang(), -8) * nVel);
pSpiderActor->set_int_zvel((-(RandomSize(5) + 3)) << 8);
pSpiderActor->vel.XY() = pSpiderActor->spr.angle.ToVector() * 4 * nVel;
pSpiderActor->vel.Z = -(RandomSize(5) + 3);
}
return;