Merge branch 'releport' into 'next'

Improve relative teleport interpolation

Closes #1180

See merge request STJr/SRB2!2495
This commit is contained in:
sphere 2024-07-02 19:54:32 +00:00
commit ab1dcaa14d

View file

@ -2405,18 +2405,15 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec)
y = line->args[3] << FRACBITS; y = line->args[3] << FRACBITS;
z = line->args[4] << FRACBITS; z = line->args[4] << FRACBITS;
P_UnsetThingPosition(mo); P_SetOrigin(mo, mo->x + x, mo->y + y, mo->z + z);
mo->x += x;
mo->y += y;
mo->z += z;
P_SetThingPosition(mo);
if (mo->player) if (mo->player)
{ {
if (bot) // This might put poor Tails in a wall if he's too far behind! D: But okay, whatever! >:3 if (bot) // This might put poor Tails in a wall if he's too far behind! D: But okay, whatever! >:3
P_SetOrigin(bot, bot->x + x, bot->y + y, bot->z + z); P_SetOrigin(bot, bot->x + x, bot->y + y, bot->z + z);
if (splitscreen && mo->player == &players[secondarydisplayplayer] && camera2.chase) if (splitscreen && mo->player == &players[secondarydisplayplayer] && camera2.chase)
{ {
camera2.reset = true;
camera2.x += x; camera2.x += x;
camera2.y += y; camera2.y += y;
camera2.z += z; camera2.z += z;
@ -2424,6 +2421,7 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec)
} }
else if (camera.chase && mo->player == &players[displayplayer]) else if (camera.chase && mo->player == &players[displayplayer])
{ {
camera.reset = true;
camera.x += x; camera.x += x;
camera.y += y; camera.y += y;
camera.z += z; camera.z += z;