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()) {