mirror of
https://github.com/DrBeef/Raze.git
synced 2025-02-08 00:32:28 +00:00
- Duke: full pos assignments
This commit is contained in:
parent
b9568aa372
commit
f629ec1916
5 changed files with 11 additions and 7 deletions
|
@ -1363,7 +1363,7 @@ void rpgexplode(DDukeActor *actor, int hit, const vec3_t &pos, int EXPLOSION2, i
|
||||||
{
|
{
|
||||||
auto explosion = spawn(actor, EXPLOSION2);
|
auto explosion = spawn(actor, EXPLOSION2);
|
||||||
if (!explosion) return;
|
if (!explosion) return;
|
||||||
explosion->spr.pos = pos;
|
explosion->set_int_pos(pos);
|
||||||
|
|
||||||
if (actor->spr.xrepeat < 10)
|
if (actor->spr.xrepeat < 10)
|
||||||
{
|
{
|
||||||
|
@ -2699,7 +2699,7 @@ void handle_se00(DDukeActor* actor)
|
||||||
auto psp = ps[p].GetActor();
|
auto psp = ps[p].GetActor();
|
||||||
if (psp->spr.extra <= 0)
|
if (psp->spr.extra <= 0)
|
||||||
{
|
{
|
||||||
psp->spr.pos.vec2 = res;
|
psp->set_int_xy(res.X, res.Y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1320,7 +1320,7 @@ static bool movefireball(DDukeActor* actor)
|
||||||
if (trail)
|
if (trail)
|
||||||
{
|
{
|
||||||
FireProj* proj = &trail->fproj;
|
FireProj* proj = &trail->fproj;
|
||||||
ball->spr.pos = proj->pos;
|
ball->set_int_pos(proj->pos);
|
||||||
ball->spr.xvel = proj->vel.X;
|
ball->spr.xvel = proj->vel.X;
|
||||||
ball->spr.yvel = proj->vel.Y;
|
ball->spr.yvel = proj->vel.Y;
|
||||||
ball->spr.zvel = proj->vel.Z;
|
ball->spr.zvel = proj->vel.Z;
|
||||||
|
|
|
@ -976,7 +976,9 @@ static bool weaponhitsprite(DDukeActor *proj, DDukeActor *targ, const vec3_t &ol
|
||||||
&& targ->spr.pal == 19)
|
&& targ->spr.pal == 19)
|
||||||
{
|
{
|
||||||
S_PlayActorSound(RPG_EXPLODE, proj);
|
S_PlayActorSound(RPG_EXPLODE, proj);
|
||||||
spawn(proj, EXPLOSION2)->spr.pos = oldpos;
|
auto spawned = spawn(proj, EXPLOSION2);
|
||||||
|
if (spawned)
|
||||||
|
spawned->set_int_pos( oldpos);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -174,7 +174,8 @@ int hits(DDukeActor* actor)
|
||||||
if (actor->isPlayer()) zoff = isRR() ? PHEIGHT_RR : PHEIGHT_DUKE;
|
if (actor->isPlayer()) zoff = isRR() ? PHEIGHT_RR : PHEIGHT_DUKE;
|
||||||
else zoff = 0;
|
else zoff = 0;
|
||||||
|
|
||||||
hitscan(actor->spr.pos.withZOffset(-zoff), actor->sector(), { bcos(actor->spr.ang), bsin(actor->spr.ang), 0 }, hit, CLIPMASK1);
|
auto pos = actor->spr.pos;
|
||||||
|
hitscan(pos.withZOffset(-zoff), actor->sector(), { bcos(actor->spr.ang), bsin(actor->spr.ang), 0 }, hit, CLIPMASK1);
|
||||||
return (FindDistance2D(hit.hitpos.vec2 - actor->spr.pos.vec2));
|
return (FindDistance2D(hit.hitpos.vec2 - actor->spr.pos.vec2));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -194,7 +195,8 @@ int hitasprite(DDukeActor* actor, DDukeActor** hitsp)
|
||||||
else if (actor->spr.picnum == TILE_APLAYER) zoff = isRR() ? PHEIGHT_RR : PHEIGHT_DUKE;
|
else if (actor->spr.picnum == TILE_APLAYER) zoff = isRR() ? PHEIGHT_RR : PHEIGHT_DUKE;
|
||||||
else zoff = 0;
|
else zoff = 0;
|
||||||
|
|
||||||
hitscan(actor->spr.pos.withZOffset(-zoff), actor->sector(), { bcos(actor->spr.ang), bsin(actor->spr.ang), 0 }, hit, CLIPMASK1);
|
auto pos = actor->spr.pos;
|
||||||
|
hitscan(pos.withZOffset(-zoff), actor->sector(), { bcos(actor->spr.ang), bsin(actor->spr.ang), 0 }, hit, CLIPMASK1);
|
||||||
if (hitsp) *hitsp = hit.actor();
|
if (hitsp) *hitsp = hit.actor();
|
||||||
|
|
||||||
if (hit.hitWall != nullptr && (hit.hitWall->cstat & CSTAT_WALL_MASKED) && badguy(actor))
|
if (hit.hitWall != nullptr && (hit.hitWall->cstat & CSTAT_WALL_MASKED) && badguy(actor))
|
||||||
|
|
|
@ -498,7 +498,7 @@ void initcrane(DDukeActor* actj, DDukeActor* act, int CRANEPOLE)
|
||||||
apt.pole.X = actk->spr.pos.X;
|
apt.pole.X = actk->spr.pos.X;
|
||||||
apt.pole.Y = actk->spr.pos.Y;
|
apt.pole.Y = actk->spr.pos.Y;
|
||||||
|
|
||||||
actk->spr.pos = act->spr.pos;
|
actk->set_int_pos(act->spr.pos);
|
||||||
actk->spr.shade = act->spr.shade;
|
actk->spr.shade = act->spr.shade;
|
||||||
|
|
||||||
SetActor(actk, actk->spr.pos);
|
SetActor(actk, actk->spr.pos);
|
||||||
|
|
Loading…
Reference in a new issue