From 1e65eea77f8ba0668f78223ac45273f7f45e833b Mon Sep 17 00:00:00 2001 From: Magnus Norddahl Date: Fri, 1 Jun 2018 20:48:24 +0200 Subject: [PATCH] - fix rotationSpeed being ignored after the model interpolation fix (cherry picked from commit 359b13b783c036d1b6dd944ca8370d4ebcf51649) --- src/r_data/models/models.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/r_data/models/models.cpp b/src/r_data/models/models.cpp index 070f5f955..16a49beda 100644 --- a/src/r_data/models/models.cpp +++ b/src/r_data/models/models.cpp @@ -95,8 +95,16 @@ void FModelRenderer::RenderModel(float x, float y, float z, FSpriteModelFrame *s if (smf->flags & MDL_ROTATING) { - double turns = (I_GetTime() % 200 + I_GetTimeFrac()) / 200.0; - rotateOffset = turns * 360.0; + if (smf->rotationSpeed > 0.0000000001) + { + double turns = (I_GetTime() + I_GetTimeFrac()) / (200.0 / smf->rotationSpeed); + turns -= std::floor(turns); + rotateOffset = turns * 360.0; + } + else + { + rotateOffset = 0.0; + } } // Added MDL_USEACTORPITCH and MDL_USEACTORROLL flags processing.