b746578bc8
Sustituye en bloque las cabeceras de los archivos por una sola línea de copyright. Cero rastro de "Visente", "Sergi" o "1999" en el árbol del proyecto. Se eliminan también las variantes "© 2025 Port a C++20", "© 2025 Port a C++20 con SDL3" y "© 2025 Orni Attack" (con todas sus colas descriptivas como "Arquitectura de entidades" o "Sistema de física"), que en este punto eran ruido histórico. Aplicado con un par de sed (find -type f, excluyendo source/external y source/legacy): 1. \|^// © 1999 Visente i Sergi (versión Pascal)$|d 2. s|^// © 2025 (Port a C++20.*|Orni Attack.*)$|// © 2026 JailDesigner| Verificado: la única variante de cabecera tras el sweep es "// © 2026 JailDesigner". Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
45 lines
1.2 KiB
C++
45 lines
1.2 KiB
C++
// easing.hpp - Funciones de interpolació i easing
|
|
// © 2026 JailDesigner
|
|
|
|
#pragma once
|
|
|
|
namespace Easing {
|
|
|
|
// Ease-out quadratic: empieza rápido, desacelera suavemente
|
|
// t = progreso normalizado [0.0 - 1.0]
|
|
// retorna value interpolado [0.0 - 1.0]
|
|
inline float ease_out_quad(float t) {
|
|
return 1.0F - ((1.0F - t) * (1.0F - t));
|
|
}
|
|
|
|
// Ease-in quadratic: empieza lento, acelera
|
|
// t = progreso normalizado [0.0 - 1.0]
|
|
// retorna value interpolado [0.0 - 1.0]
|
|
inline float ease_in_quad(float t) {
|
|
return t * t;
|
|
}
|
|
|
|
// Ease-in-out quadratic: acelera al inicio, desacelera al final
|
|
// t = progreso normalizado [0.0 - 1.0]
|
|
// retorna value interpolado [0.0 - 1.0]
|
|
inline float ease_in_out_quad(float t) {
|
|
return (t < 0.5F)
|
|
? 2.0F * t * t
|
|
: 1.0F - ((-2.0F * t + 2.0F) * (-2.0F * t + 2.0F) / 2.0F);
|
|
}
|
|
|
|
// Ease-out cubic: desaceleración más suave que quadratic
|
|
// t = progreso normalizado [0.0 - 1.0]
|
|
// retorna value interpolado [0.0 - 1.0]
|
|
inline float ease_out_cubic(float t) {
|
|
float t1 = 1.0F - t;
|
|
return 1.0F - (t1 * t1 * t1);
|
|
}
|
|
|
|
// Interpolación lineal básica (para referencia)
|
|
inline float lerp(float start, float end, float t) {
|
|
return start + ((end - start) * t);
|
|
}
|
|
|
|
} // namespace Easing
|