diff --git a/src/utils.c b/src/utils.c index 124d086..5d61042 100644 --- a/src/utils.c +++ b/src/utils.c @@ -133,7 +133,11 @@ SYMBOL_EXPORT double VectorLength(double x, double y, double z) { return sqrt(pow(x, 2) + pow(y, 2) + pow(z, 2)); } -SYMBOL_EXPORT double Clip(double left, double right, double val) { +SYMBOL_EXPORT double Wrap(double left, double right, double val) { + return left + fmod(val - left, right - left); +} + +SYMBOL_EXPORT double Clamp(double left, double right, double val) { if (val > right) { return right; } diff --git a/src/utils.h b/src/utils.h index 19555e9..872544d 100644 --- a/src/utils.h +++ b/src/utils.h @@ -56,7 +56,8 @@ void DrawCentered(ALLEGRO_BITMAP* bitmap, int x, int y, int flags); double DotProduct(const double v[], const double u[], int n); double VectorLength(double x, double y, double z); -double Clip(double left, double right, double val); +double Wrap(double left, double right, double val); +double Clamp(double left, double right, double val); double Lerp(double left, double right, double pos); ALLEGRO_COLOR InterpolateColor(ALLEGRO_COLOR c1, ALLEGRO_COLOR c2, float frac);