From 4de1b8ad86d263139f22617db0a6c523eb1d95cc Mon Sep 17 00:00:00 2001 From: Mitchell Richters Date: Mon, 21 Nov 2022 15:24:25 +1100 Subject: [PATCH] - Create `DCoreActor::getRenderPos()` and use within Duke. --- source/core/coreactor.h | 5 +++++ source/games/duke/src/render.cpp | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/source/core/coreactor.h b/source/core/coreactor.h index bf2fef33d..478648c9a 100644 --- a/source/core/coreactor.h +++ b/source/core/coreactor.h @@ -176,6 +176,11 @@ public: return opos.plusZ(oviewzoffset); } + DVector3 getRenderPos(const double interpfrac) + { + return interpolatedpos(interpfrac).plusZ(interpolatedvalue(oviewzoffset, viewzoffset, interpfrac)); + } + sectortype* sector() const { return spr.sectp; diff --git a/source/games/duke/src/render.cpp b/source/games/duke/src/render.cpp index 7108f403a..ad0b4f2f9 100644 --- a/source/games/duke/src/render.cpp +++ b/source/games/duke/src/render.cpp @@ -293,7 +293,7 @@ void displayrooms(int snum, double interpfrac, bool sceneonly) } else { - cpos = viewer->interpolatedpos(interpfrac).plusZ(viewer->viewzoffset); + cpos = viewer->getRenderPos(interpfrac); if (SyncInput()) {