- floatify pos in movesprite_ex_r

This commit is contained in:
Christoph Oelckers 2022-08-29 22:28:48 +02:00
parent ae0640b1ca
commit 33a3a36da1

View file

@ -377,17 +377,17 @@ int movesprite_ex_r(DDukeActor* actor, int xchange, int ychange, int zchange, un
auto dasectp = actor->sector();
vec3_t pos = actor->int_pos();
pos.Z -= ((tileHeight(actor->spr.picnum) * actor->spr.yrepeat) << 1);
auto ppos = actor->spr.pos;
ppos.Z -= (tileHeight(actor->spr.picnum) * actor->spr.yrepeat) * REPEAT_SCALE * 0.5;
if (bg)
{
if (actor->spr.xrepeat > 60)
clipmove(pos, &dasectp, ((xchange * TICSPERFRAME) << 11), ((ychange * TICSPERFRAME) << 11), 1024, (4 << 8), (4 << 8), cliptype, result);
clipmove(ppos, &dasectp, ((xchange * TICSPERFRAME) << 11), ((ychange * TICSPERFRAME) << 11), 1024, (4 << 8), (4 << 8), cliptype, result);
else
{
clipdist = 192;
clipmove(pos, &dasectp, ((xchange * TICSPERFRAME) << 11), ((ychange * TICSPERFRAME) << 11), clipdist, (4 << 8), (4 << 8), cliptype, result);
clipmove(ppos, &dasectp, ((xchange * TICSPERFRAME) << 11), ((ychange * TICSPERFRAME) << 11), clipdist, (4 << 8), (4 << 8), cliptype, result);
}
if (dasectp == nullptr || (dasectp != nullptr && actor->actorstayput != nullptr && actor->actorstayput != dasectp))
@ -405,11 +405,11 @@ int movesprite_ex_r(DDukeActor* actor, int xchange, int ychange, int zchange, un
else
{
if (actor->spr.statnum == STAT_PROJECTILE)
clipmove(pos, &dasectp, ((xchange * TICSPERFRAME) << 11), ((ychange * TICSPERFRAME) << 11), 8, (4 << 8), (4 << 8), cliptype, result);
clipmove(ppos, &dasectp, ((xchange * TICSPERFRAME) << 11), ((ychange * TICSPERFRAME) << 11), 8, (4 << 8), (4 << 8), cliptype, result);
else
clipmove(pos, &dasectp, ((xchange * TICSPERFRAME) << 11), ((ychange * TICSPERFRAME) << 11), 128, (4 << 8), (4 << 8), cliptype, result);
clipmove(ppos, &dasectp, ((xchange * TICSPERFRAME) << 11), ((ychange * TICSPERFRAME) << 11), 128, (4 << 8), (4 << 8), cliptype, result);
}
actor->set_int_xy(pos.X, pos.Y);
actor->spr.pos.XY() = ppos.XY();
if (dasectp)
if ((dasectp != actor->sector()))