- floatified DExhumedActor::angle2

This commit is contained in:
Christoph Oelckers 2022-09-10 13:51:43 +02:00
parent b777517789
commit f8c789fdcb
4 changed files with 9 additions and 9 deletions

View file

@ -32,7 +32,7 @@ public:
union { int16_t nIndex2; int16_t nAngle2; }; // index2 is for scorpion, angle2 is for wasp.
union { int16_t nChannel; int16_t nVel; }; // channel is for scorpion, vel is for wasp.
union { int16_t nDamage; int16_t nAction2; }; // nAction2 is for the queen.
int/*DAngle*/ angle2; // used by the queen
DAngle angle2; // used by AngleChase
// for the grenade.
int nTurn;

View file

@ -924,7 +924,7 @@ Collision AngleChase(DExhumedActor* pActor, DExhumedActor* pActor2, int ebx, int
if (pActor2 == nullptr)
{
pActor->angle2 = 0;
pActor->angle2 = nullAngle;
nAngle = pActor->int_ang();
}
else
@ -963,14 +963,14 @@ Collision AngleChase(DExhumedActor* pActor, DExhumedActor* pActor2, int ebx, int
}
nAngle = (nAngDelta + pActor->int_ang()) & kAngleMask;
int nAngDeltaD = AngleDelta(pActor->angle2, var_18, 24);
int nAngDeltaD = AngleDelta(pActor->angle2.Buildang(), var_18, 24);
pActor->angle2 = (pActor->angle2 + nAngDeltaD) & kAngleMask;
pActor->angle2 = DAngle::fromBuild((pActor->angle2.Buildang() + nAngDeltaD) & kAngleMask);
}
pActor->set_int_ang(nAngle);
int eax = abs(bcos(pActor->angle2));
int eax = abs(bcos(pActor->angle2.Buildang()));
int x = ((bcos(nAngle) * ebx) >> 14) * eax;
int y = ((bsin(nAngle) * ebx) >> 14) * eax;

View file

@ -287,7 +287,7 @@ Collision QueenAngleChase(DExhumedActor* pActor, DExhumedActor* pActor2, int val
if (pActor2 == nullptr)
{
pActor->angle2 = 0;
pActor->angle2 = nullAngle;
nAngle = pActor->int_ang();
}
else
@ -322,12 +322,12 @@ Collision QueenAngleChase(DExhumedActor* pActor, DExhumedActor* pActor2, int val
nAngle = (nAngDelta + pActor->int_ang()) & kAngleMask;
pActor->angle2 = (AngleDelta(pActor->angle2, var_14, 24) + pActor->angle2) & kAngleMask;
pActor->angle2 = DAngle::fromBuild((AngleDelta(pActor->angle2.Buildang(), var_14, 24) + pActor->angle2.Buildang()) & kAngleMask);
}
pActor->set_int_ang(nAngle);
int da = pActor->angle2;
int da = pActor->angle2.Buildang();
int x = abs(bcos(da));
int v26 = x * ((val1 * bcos(nAngle)) >> 14);

View file

@ -241,7 +241,7 @@ void AIWasp::Tick(RunListEvent* ev)
}
else
{
pActor->angle2 = 0;
pActor->angle2 = nullAngle;
pActor->vel.Z = 0;
pActor->nAction = 1;
pActor->nFrame = 0;