From db7a127a32441a31e1401dd2814df1b9a1a911c1 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Tue, 17 Mar 2026 20:51:56 +0200 Subject: failed implementation Since most values are integers, the rounding (any rounding) causes misalignment with true linearity --- AnimationInterpolate.h | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'AnimationInterpolate.h') diff --git a/AnimationInterpolate.h b/AnimationInterpolate.h index 18ae841..eaa0b3c 100644 --- a/AnimationInterpolate.h +++ b/AnimationInterpolate.h @@ -4,19 +4,18 @@ #include "Animation.h" struct A_Interpolate { - void* initialValueTemp; - size_t initialValueTempSize; - void* value; void* goalValue; - void (*interpolate)(void* value, const void* initialState, const void* finalState, double percentage); + void (*interpolate)(void* value, const void* finalState, double percentage); + + double prevPercentage; }; ARGB A_Interpolate(const Animation* anim, PixelRendererParams params); -void AO_LineInterpolate(void* valueLine, const void* initialLine, const void* finalLine, double percentage); +void AO_LineInterpolate(void* valueLine, const void* finalLine, double percentage); -void AM_LinearInterpolate(void* valueLinear, const void* initialLinear, const void* finalLinear, double percentage); -void AM_SpinInterpolate(void* valueSpin, const void* initialSpin, const void* finalSpin, double percentage); +void AM_LinearInterpolate(void* valueLinear, const void* finalLinear, double percentage); +void AM_SpinInterpolate(void* valueSpin, const void* finalSpin, double percentage); #endif /* _ANIMATION_INTERPOLATE */ -- cgit v1.2.3