From 82f2674e8d9a8ee96ca52672bb9da5e28b45a3eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Fri, 28 Sep 2018 15:59:21 +0200 Subject: [PATCH] Move Penner easing equations to thirdparty/misc It was Godot-ified and integrated into Tween originally (#628) without mention that it was thirdparty code, but it's actually derived from https://github.com/jesusgollonet/ofpennereasing. It's also very bad quality code and should be replaced by a better, properly-maintained library of easing equations. --- COPYRIGHT.txt | 5 +++ scene/SCsub | 2 ++ thirdparty/README.md | 4 +++ .../misc/easing_equations.cpp | 32 +------------------ 4 files changed, 12 insertions(+), 31 deletions(-) rename scene/animation/tween_interpolaters.cpp => thirdparty/misc/easing_equations.cpp (82%) diff --git a/COPYRIGHT.txt b/COPYRIGHT.txt index cf08225a408..894cd1a53a9 100644 --- a/COPYRIGHT.txt +++ b/COPYRIGHT.txt @@ -278,6 +278,11 @@ Comment: curl Copyright: 1998-2012, Daniel Stenberg et al. License: curl +Files: ./thirdparty/misc/easing_equations.cpp +Comment: Robert Penner's Easing Functions +Copyright: 2001, Robert Penner +License: BSD-3-clause + Files: ./thirdparty/misc/fastlz.c ./thirdparty/misc/fastlz.h Comment: FastLZ diff --git a/scene/SCsub b/scene/SCsub index b1892acabce..d8839ce3a8a 100644 --- a/scene/SCsub +++ b/scene/SCsub @@ -7,6 +7,8 @@ env.scene_sources = [] # Thirdparty code thirdparty_dir = "#thirdparty/misc/" thirdparty_sources = [ + # C++ sources + "easing_equations.cpp", # C sources "mikktspace.c", ] diff --git a/thirdparty/README.md b/thirdparty/README.md index 71053de0165..7fdd9e20b0a 100644 --- a/thirdparty/README.md +++ b/thirdparty/README.md @@ -375,6 +375,10 @@ Collection of single-file libraries used in Godot components. ### scene +- `easing_equations.cpp` + * Upstream: http://robertpenner.com/easing/ via https://github.com/jesusgollonet/ofpennereasing (modified to fit Godot types) + * Version: git (af72c14, 2008) + Godot types and style changes + * License: BSD-3-Clause - `mikktspace.{c,h}` * Upstream: https://wiki.blender.org/index.php/Dev:Shading/Tangent_Space_Normal_Maps * Version: 1.0 diff --git a/scene/animation/tween_interpolaters.cpp b/thirdparty/misc/easing_equations.cpp similarity index 82% rename from scene/animation/tween_interpolaters.cpp rename to thirdparty/misc/easing_equations.cpp index 52aa7403c08..bc84564b19e 100644 --- a/scene/animation/tween_interpolaters.cpp +++ b/thirdparty/misc/easing_equations.cpp @@ -1,40 +1,10 @@ -/*************************************************************************/ -/* tween_interpolaters.cpp */ -/*************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/*************************************************************************/ -/* Copyright (c) 2007-2018 Juan Linietsky, Ariel Manzur. */ -/* Copyright (c) 2014-2018 Godot Engine contributors (cf. AUTHORS.md) */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/*************************************************************************/ - /** * Adapted from Penner Easing equations' C++ port. * Source: https://github.com/jesusgollonet/ofpennereasing * License: BSD-3-clause */ -#include "tween.h" +#include "scene/animation/tween.h" const real_t pi = 3.1415926535898;