From 894feb1c80ee58923b477a370a589bc591b57da7 Mon Sep 17 00:00:00 2001 From: Mitchell Richters Date: Mon, 12 Oct 2020 13:15:11 +1100 Subject: [PATCH] - SW: When beginning to operate a sector object, just forcibly set the angle in the ticker. * Angle transition is not meant to be smooth or scaled to a target, it's just meant to get the player to the necessary angle. * Fixes https://forum.zdoom.org/viewtopic.php?f=340&t=70191. --- source/sw/src/player.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/source/sw/src/player.cpp b/source/sw/src/player.cpp index 868e10502..818e72982 100644 --- a/source/sw/src/player.cpp +++ b/source/sw/src/player.cpp @@ -5369,7 +5369,7 @@ DoPlayerBeginOperate(PLAYERp pp) pp->sop = pp->sop_control = sop; sop->controller = pp->SpriteP; - pp->angle.settarget(sop->ang); + pp->angle.oang = pp->angle.ang = buildang(sop->ang); pp->posx = sop->xmid; pp->posy = sop->ymid; COVERupdatesector(pp->posx, pp->posy, &pp->cursectnum); @@ -5456,7 +5456,7 @@ DoPlayerBeginRemoteOperate(PLAYERp pp, SECTOR_OBJECTp sop) save_sectnum = pp->cursectnum; - pp->angle.settarget(sop->ang); + pp->angle.oang = pp->angle.ang = buildang(sop->ang); pp->posx = sop->xmid; pp->posy = sop->ymid; COVERupdatesector(pp->posx, pp->posy, &pp->cursectnum); @@ -5592,9 +5592,6 @@ DoPlayerStopOperate(PLAYERp pp) pp->angle.ang = pp->angle.oang = q16ang(gethiq16angle(pp->sop_remote->xmid - pp->posx, pp->sop_remote->ymid - pp->posy)); } - if (!cl_syncinput) - pp->angle.target = 0; - if (pp->sop_control) { pp->sop_control->controller = NULL;