mirror of
https://github.com/DrBeef/Raze.git
synced 2024-11-16 01:11:28 +00:00
- eliminated some int_change calls
This commit is contained in:
parent
620de9ebf7
commit
a59f363224
2 changed files with 13 additions and 18 deletions
|
@ -352,7 +352,7 @@ int DoBloodSpray(DSWActor* actor)
|
||||||
if (actor->spr.xvel <= 2)
|
if (actor->spr.xvel <= 2)
|
||||||
{
|
{
|
||||||
// special stuff for blood worm
|
// special stuff for blood worm
|
||||||
actor->add_int_z((actor->user.int_change().Z >> 1));
|
actor->spr.pos.Z += actor->user.change.Z * 0.5;
|
||||||
|
|
||||||
getzsofslopeptr(actor->sector(), actor->spr.pos, &cz, &fz);
|
getzsofslopeptr(actor->sector(), actor->spr.pos, &cz, &fz);
|
||||||
// pretend like we hit a sector
|
// pretend like we hit a sector
|
||||||
|
|
|
@ -3850,7 +3850,7 @@ int DoVomitSplash(DSWActor* actor)
|
||||||
|
|
||||||
int DoFastShrapJumpFall(DSWActor* actor)
|
int DoFastShrapJumpFall(DSWActor* actor)
|
||||||
{
|
{
|
||||||
actor->add_int_pos({ actor->user.int_change().X * 2, actor->user.int_change().Y * 2, actor->user.int_change().Z * 2 });
|
actor->spr.pos += actor->user.change * 2;
|
||||||
actor->user.WaitTics -= MISSILEMOVETICS;
|
actor->user.WaitTics -= MISSILEMOVETICS;
|
||||||
if (actor->user.WaitTics <= 0)
|
if (actor->user.WaitTics <= 0)
|
||||||
KillActor(actor);
|
KillActor(actor);
|
||||||
|
@ -3860,7 +3860,7 @@ int DoFastShrapJumpFall(DSWActor* actor)
|
||||||
|
|
||||||
int DoTracerShrap(DSWActor* actor)
|
int DoTracerShrap(DSWActor* actor)
|
||||||
{
|
{
|
||||||
actor->add_int_pos({ actor->user.int_change().X, actor->user.int_change().Y, actor->user.int_change().Z });
|
actor->spr.pos += actor->user.change;
|
||||||
|
|
||||||
actor->user.WaitTics -= MISSILEMOVETICS;
|
actor->user.WaitTics -= MISSILEMOVETICS;
|
||||||
if (actor->user.WaitTics <= 0)
|
if (actor->user.WaitTics <= 0)
|
||||||
|
@ -7380,8 +7380,6 @@ int DoMineExpMine(DSWActor* actor)
|
||||||
|
|
||||||
int DoStar(DSWActor* actor)
|
int DoStar(DSWActor* actor)
|
||||||
{
|
{
|
||||||
int vel;
|
|
||||||
|
|
||||||
const int STAR_STICK_RNUM = 400;
|
const int STAR_STICK_RNUM = 400;
|
||||||
const int STAR_BOUNCE_RNUM = 600;
|
const int STAR_BOUNCE_RNUM = 600;
|
||||||
|
|
||||||
|
@ -7391,9 +7389,9 @@ int DoStar(DSWActor* actor)
|
||||||
actor->user.motion_blur_num = 0;
|
actor->user.motion_blur_num = 0;
|
||||||
ScaleSpriteVector(actor, 54000);
|
ScaleSpriteVector(actor, 54000);
|
||||||
|
|
||||||
vel = ksqrt(SQ(actor->user.int_change().X) + SQ(actor->user.int_change().Y));
|
auto velsq = actor->user.change.XY().LengthSquared();
|
||||||
|
|
||||||
if (vel > 100)
|
if (velsq > 6.25 * 6.25)
|
||||||
{
|
{
|
||||||
if ((RANDOM_P2(1024 << 4) >> 4) < 128)
|
if ((RANDOM_P2(1024 << 4) >> 4) < 128)
|
||||||
SpawnBubble(actor);
|
SpawnBubble(actor);
|
||||||
|
@ -7412,10 +7410,10 @@ int DoStar(DSWActor* actor)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
vel = ksqrt(SQ(actor->user.int_change().X) + SQ(actor->user.int_change().Y));
|
auto velsq = actor->user.change.XY().LengthSquared();
|
||||||
|
|
||||||
|
|
||||||
if (vel < 800)
|
if (velsq < 50 * 50)
|
||||||
{
|
{
|
||||||
actor->user.Counter += 50;
|
actor->user.Counter += 50;
|
||||||
actor->user.addCounterToChange();
|
actor->user.addCounterToChange();
|
||||||
|
@ -7508,9 +7506,8 @@ int DoStar(DSWActor* actor)
|
||||||
|
|
||||||
ScaleSpriteVector(actor, 58000);
|
ScaleSpriteVector(actor, 58000);
|
||||||
|
|
||||||
vel = ksqrt(SQ(actor->user.int_change().X) + SQ(actor->user.int_change().Y));
|
auto velsq = actor->user.change.XY().LengthSquared();
|
||||||
|
if (velsq < 31.25 * 31.25)
|
||||||
if (vel < 500)
|
|
||||||
break; // will be killed below - actor != 0
|
break; // will be killed below - actor != 0
|
||||||
|
|
||||||
// 32000 to 96000
|
// 32000 to 96000
|
||||||
|
@ -7745,9 +7742,7 @@ int ComboMissileSeek(DSWActor* actor, int16_t delay_tics, int16_t aware_range/*,
|
||||||
DSWActor* goal = actor->user.WpnGoalActor;
|
DSWActor* goal = actor->user.WpnGoalActor;
|
||||||
if (goal != nullptr)
|
if (goal != nullptr)
|
||||||
{
|
{
|
||||||
int oz;
|
// move to correct angle
|
||||||
|
|
||||||
// move to correct angle
|
|
||||||
ang2tgt = getangle(goal->int_pos().X - actor->int_pos().X, goal->int_pos().Y - actor->int_pos().Y);
|
ang2tgt = getangle(goal->int_pos().X - actor->int_pos().X, goal->int_pos().Y - actor->int_pos().Y);
|
||||||
|
|
||||||
delta_ang = getincangle(ang2tgt, actor->int_ang());
|
delta_ang = getincangle(ang2tgt, actor->int_ang());
|
||||||
|
@ -7768,17 +7763,17 @@ int ComboMissileSeek(DSWActor* actor, int16_t delay_tics, int16_t aware_range/*,
|
||||||
|
|
||||||
dist = ksqrt(SQ(actor->int_pos().X - goal->int_pos().X) + SQ(actor->int_pos().Y - goal->int_pos().Y) + (SQ(actor->int_pos().Z - zh)>>8));
|
dist = ksqrt(SQ(actor->int_pos().X - goal->int_pos().X) + SQ(actor->int_pos().Y - goal->int_pos().Y) + (SQ(actor->int_pos().Z - zh)>>8));
|
||||||
|
|
||||||
oz = actor->user.int_change().Z;
|
double oz = actor->user.change.Z;
|
||||||
|
|
||||||
actor->user.set_int_change_z(Scale(actor->spr.xvel, zh - actor->int_pos().Z, dist));
|
actor->user.set_int_change_z(Scale(actor->spr.xvel, zh - actor->int_pos().Z, dist));
|
||||||
actor->user.set_int_change_z((actor->user.int_change().Z + oz*15)/16);
|
actor->user.change.Z += oz * (15 / 16.);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetAngleFromChange(DSWActor* actor)
|
void SetAngleFromChange(DSWActor* actor)
|
||||||
{
|
{
|
||||||
actor->spr.angle = VecToAngle(actor->user.int_change().X, actor->user.int_change().Y);
|
actor->spr.angle = VecToAngle(actor->user.change);
|
||||||
}
|
}
|
||||||
|
|
||||||
// completely vector manipulation
|
// completely vector manipulation
|
||||||
|
|
Loading…
Reference in a new issue