From baed75ff8a91ac73e05204299101c6975ea43289 Mon Sep 17 00:00:00 2001 From: Mitchell Richters Date: Tue, 28 Jul 2020 12:21:35 +1000 Subject: [PATCH] - move p->actorsqu angle changes from `moveplayers()` to `applylook()` so that it can be applied when not running synchronous input. Fixes #54. --- source/games/duke/src/actors.cpp | 5 ----- source/games/duke/src/player.cpp | 5 +++++ 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/source/games/duke/src/actors.cpp b/source/games/duke/src/actors.cpp index 816d5e796..09c3620b3 100644 --- a/source/games/duke/src/actors.cpp +++ b/source/games/duke/src/actors.cpp @@ -463,11 +463,6 @@ void moveplayers(void) //Players } } - if (p->actorsqu >= 0) - { - p->addang(getincangle(p->getang(), getangle(sprite[p->actorsqu].x - p->posx, sprite[p->actorsqu].y - p->posy)) >> 2, true); - } - if (ud.god) { s->extra = max_player_health; diff --git a/source/games/duke/src/player.cpp b/source/games/duke/src/player.cpp index 3a823736d..5f668ce48 100644 --- a/source/games/duke/src/player.cpp +++ b/source/games/duke/src/player.cpp @@ -818,6 +818,11 @@ void applylook(int snum, double factor) p->addrotscrnang(factor * -24); } + if (p->actorsqu >= 0) + { + p->q16ang += fix16_from_dbl(factor * (getincangle(p->getang(), getangle(sprite[p->actorsqu].x - p->posx, sprite[p->actorsqu].y - p->posy)) >> 2)); + } + if (p->one_eighty_count < 0 && p->on_crane < 0) { fixed_t add = fix16_from_dbl(factor * 128);