mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge branch 'backdrop-in-splitscreen' into 'master'
Overlays use dispoffset instead of position hack See merge request KartKrew/Kart!763
This commit is contained in:
commit
8f16a6a040
1 changed files with 19 additions and 23 deletions
42
src/p_mobj.c
42
src/p_mobj.c
|
|
@ -5257,27 +5257,8 @@ void P_RunOverlays(void)
|
|||
continue;
|
||||
}
|
||||
|
||||
if (!r_splitscreen /*&& rendermode != render_soft*/)
|
||||
{
|
||||
angle_t viewingangle;
|
||||
|
||||
if (players[displayplayers[0]].awayviewtics)
|
||||
viewingangle = R_PointToAngle2(mo->target->x, mo->target->y, players[displayplayers[0]].awayviewmobj->x, players[displayplayers[0]].awayviewmobj->y);
|
||||
else if (!camera[0].chase && players[displayplayers[0]].mo)
|
||||
viewingangle = R_PointToAngle2(mo->target->x, mo->target->y, players[displayplayers[0]].mo->x, players[displayplayers[0]].mo->y);
|
||||
else
|
||||
viewingangle = R_PointToAngle2(mo->target->x, mo->target->y, camera[0].x, camera[0].y);
|
||||
|
||||
if (!(mo->state->frame & FF_ANIMATE) && mo->state->var1)
|
||||
viewingangle += ANGLE_180;
|
||||
destx = mo->target->x + P_ReturnThrustX(mo->target, viewingangle, FixedMul(FRACUNIT/4, mo->scale));
|
||||
desty = mo->target->y + P_ReturnThrustY(mo->target, viewingangle, FixedMul(FRACUNIT/4, mo->scale));
|
||||
}
|
||||
else
|
||||
{
|
||||
destx = mo->target->x;
|
||||
desty = mo->target->y;
|
||||
}
|
||||
destx = mo->target->x;
|
||||
desty = mo->target->y;
|
||||
|
||||
mo->eflags = (mo->eflags & ~MFE_VERTICALFLIP) | (mo->target->eflags & MFE_VERTICALFLIP);
|
||||
mo->scale = mo->destscale = FixedMul(mo->target->scale, mo->movefactor);
|
||||
|
|
@ -5289,12 +5270,27 @@ void P_RunOverlays(void)
|
|||
if ((mo->flags & MF_DONTENCOREMAP) != (mo->target->flags & MF_DONTENCOREMAP))
|
||||
mo->flags ^= MF_DONTENCOREMAP;
|
||||
|
||||
mo->dispoffset = mo->target->dispoffset + mo->info->dispoffset;
|
||||
|
||||
if (!(mo->state->frame & FF_ANIMATE))
|
||||
{
|
||||
zoffs = FixedMul(((signed)mo->state->var2)*FRACUNIT, mo->scale);
|
||||
// if you're using FF_ANIMATE on an overlay,
|
||||
// then you're on your own.
|
||||
|
||||
if (mo->state->var1)
|
||||
{
|
||||
mo->dispoffset--;
|
||||
}
|
||||
else
|
||||
{
|
||||
mo->dispoffset++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// if you're using FF_ANIMATE on an overlay,
|
||||
// then you're on your own.
|
||||
zoffs = 0;
|
||||
}
|
||||
|
||||
P_UnsetThingPosition(mo);
|
||||
mo->x = destx;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue