Skip to content

Commit

Permalink
Interpolate FIRELASER trails.
Browse files Browse the repository at this point in the history
  • Loading branch information
StrikerMan780 authored and mjr4077au committed May 30, 2022
1 parent bd023b0 commit 5c65a9b
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions source/games/duke/src/actors_d.cpp
Expand Up @@ -1578,13 +1578,21 @@ static void weaponcommon_d(DDukeActor* proj)
{
for (k = -3; k < 2; k++)
{
vec3_t offset = {
MulScale(k, bcos(proj->spr.ang), 9),
MulScale(k, bsin(proj->spr.ang), 9),
(k * Sgn(proj->spr.zvel)) * abs(proj->spr.zvel / 24)
};

auto spawned = EGS(proj->sector(),
proj->spr.pos.X + MulScale(k, bcos(proj->spr.ang), 9),
proj->spr.pos.Y + MulScale(k, bsin(proj->spr.ang), 9),
proj->spr.pos.Z + ((k * Sgn(proj->spr.zvel)) * abs(proj->spr.zvel / 24)), FIRELASER, -40 + (k << 2),
proj->spr.pos.X + offset.X,
proj->spr.pos.Y + offset.Y,
proj->spr.pos.Z + offset.Z, FIRELASER, -40 + (k << 2),
proj->spr.xrepeat, proj->spr.yrepeat, 0, 0, 0, proj->GetOwner(), 5);

if (spawned)
{
spawned->opos = proj->opos + offset;
spawned->spr.cstat = CSTAT_SPRITE_YCENTER;
spawned->spr.pal = proj->spr.pal;
}
Expand Down

0 comments on commit 5c65a9b

Please sign in to comment.