From f65fa6c3e00b9b7a68f268db04b73d34f46adc2f Mon Sep 17 00:00:00 2001 From: Taylor Richards Date: Fri, 9 Mar 2018 22:52:58 -0500 Subject: [PATCH] deal with timestamp issue when calculating submodel rotation --- src/model/modelread.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/model/modelread.cpp b/src/model/modelread.cpp index 4e91f05..df2d4ba 100644 --- a/src/model/modelread.cpp +++ b/src/model/modelread.cpp @@ -2688,6 +2688,12 @@ void submodel_stepped_rotate(model_subsystem *psub, submodel_instance_info *sii) // get active rotation time this frame int end_stamp = timestamp(); + + if (end_stamp < sii->step_zero_timestamp) { + mprintf(("rotate timestamp wrapped => start: %d, now: %d\n", sii->step_zero_timestamp, end_stamp)); + sii->step_zero_timestamp = end_stamp; + } + float rotation_time = 0.001f * (end_stamp - sii->step_zero_timestamp); SDL_assert(rotation_time >= 0); -- 2.39.2