From 27b3c8e0f87f34197f7f619a48bbd0b11aaba732 Mon Sep 17 00:00:00 2001 From: Mitchell Richters Date: Tue, 28 Jul 2020 22:24:30 +1000 Subject: [PATCH] - fix interpolation for `p->q16rotscrnang`. Setting `p->oq16rotscrnang` in `displayrooms()` (at frame rate) isn't where it should be done. --- source/games/duke/src/player.cpp | 1 + source/games/duke/src/render.cpp | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/source/games/duke/src/player.cpp b/source/games/duke/src/player.cpp index d67f3b906..e8dc59356 100644 --- a/source/games/duke/src/player.cpp +++ b/source/games/duke/src/player.cpp @@ -881,6 +881,7 @@ void checklook(int snum, int sb_snum) } p->oq16ang = p->q16ang; p->oq16look_ang = p->q16look_ang; + p->oq16rotscrnang = p->q16rotscrnang; if (cl_syncinput) applylook(snum, 1); diff --git a/source/games/duke/src/render.cpp b/source/games/duke/src/render.cpp index 9216a7551..cdaa34f3d 100644 --- a/source/games/duke/src/render.cpp +++ b/source/games/duke/src/render.cpp @@ -539,10 +539,7 @@ void displayrooms(int snum, int smoothratio) if (!cl_syncinput) renderSetRollAngle(p->q16rotscrnang / (float)(FRACUNIT)); else - { renderSetRollAngle((p->oq16rotscrnang + mulscale16(((p->q16rotscrnang - p->oq16rotscrnang + (1024 << FRACBITS)) & 0x7FFFFFF) - (1024 << FRACBITS), smoothratio)) / (float)(FRACUNIT)); - p->oq16rotscrnang = p->q16rotscrnang; // JBF: save it for next time - } if ((snum == myconnectindex) && (numplayers > 1)) {