From 0def22bd7b8dfab784dde85ade78780e6df1a234 Mon Sep 17 00:00:00 2001 From: David Rose Date: Tue, 11 Nov 2008 02:04:14 +0000 Subject: [PATCH] fix loop(restart = 0, fromFrame = x) --- panda/src/putil/animInterface.cxx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/panda/src/putil/animInterface.cxx b/panda/src/putil/animInterface.cxx index 1a089df384..77cf9dcb3e 100644 --- a/panda/src/putil/animInterface.cxx +++ b/panda/src/putil/animInterface.cxx @@ -270,10 +270,11 @@ loop(bool restart, double from, double to) { _paused_f = 0.0; if (!restart) { + fframe = min(max(fframe, from), to); if (_paused) { _paused_f = fframe - _start_frame; } else { - _start_time -= fframe / _effective_frame_rate; + _start_time -= (fframe - _start_frame) / _effective_frame_rate; } } } @@ -303,10 +304,11 @@ pingpong(bool restart, double from, double to) { _paused_f = 0.0; if (!restart) { + fframe = min(max(fframe, from), to); if (_paused) { _paused_f = fframe - _start_frame; } else { - _start_time -= fframe / _effective_frame_rate; + _start_time -= (fframe - _start_frame) / _effective_frame_rate; } } }