diff options
| author | Poommetee Ketson | 2017-08-10 21:06:10 +0700 |
|---|---|---|
| committer | Poommetee Ketson | 2017-08-18 21:49:03 +0700 |
| commit | d28da86f9ff5a70284e4a2078fa08867d4858a57 (patch) | |
| tree | 2942b3cd3fb5900abe9cd1d38963ef68e8037668 /modules/gdscript/gd_functions.cpp | |
| parent | 81dde2687f2f80f5f365a02d68913322d35e9be1 (diff) | |
| download | godot-d28da86f9ff5a70284e4a2078fa08867d4858a57.tar.gz godot-d28da86f9ff5a70284e4a2078fa08867d4858a57.tar.zst godot-d28da86f9ff5a70284e4a2078fa08867d4858a57.zip | |
Diffstat (limited to 'modules/gdscript/gd_functions.cpp')
| -rw-r--r-- | modules/gdscript/gd_functions.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/modules/gdscript/gd_functions.cpp b/modules/gdscript/gd_functions.cpp index 209bdadd6..e0681382e 100644 --- a/modules/gdscript/gd_functions.cpp +++ b/modules/gdscript/gd_functions.cpp @@ -70,6 +70,8 @@ const char *GDFunctions::get_func_name(Function p_func) { "decimals", "stepify", "lerp", + "inverse_lerp", + "range_lerp", "dectime", "randomize", "randi", @@ -326,6 +328,22 @@ void GDFunctions::call(Function p_func, const Variant **p_args, int p_arg_count, VALIDATE_ARG_NUM(2); r_ret = Math::lerp((double)*p_args[0], (double)*p_args[1], (double)*p_args[2]); } break; + case MATH_INVERSE_LERP: { + VALIDATE_ARG_COUNT(3); + VALIDATE_ARG_NUM(0); + VALIDATE_ARG_NUM(1); + VALIDATE_ARG_NUM(2); + r_ret = Math::inverse_lerp((double)*p_args[0], (double)*p_args[1], (double)*p_args[2]); + } break; + case MATH_RANGE_LERP: { + VALIDATE_ARG_COUNT(5); + VALIDATE_ARG_NUM(0); + VALIDATE_ARG_NUM(1); + VALIDATE_ARG_NUM(2); + VALIDATE_ARG_NUM(3); + VALIDATE_ARG_NUM(4); + r_ret = Math::range_lerp((double)*p_args[0], (double)*p_args[1], (double)*p_args[2], (double)*p_args[3], (double)*p_args[4]); + } break; case MATH_DECTIME: { VALIDATE_ARG_COUNT(3); VALIDATE_ARG_NUM(0); @@ -1252,6 +1270,8 @@ bool GDFunctions::is_deterministic(Function p_func) { case MATH_DECIMALS: case MATH_STEPIFY: case MATH_LERP: + case MATH_INVERSE_LERP: + case MATH_RANGE_LERP: case MATH_DECTIME: case MATH_DEG2RAD: case MATH_RAD2DEG: @@ -1420,6 +1440,16 @@ MethodInfo GDFunctions::get_info(Function p_func) { mi.return_val.type = Variant::REAL; return mi; } break; + case MATH_INVERSE_LERP: { + MethodInfo mi("inverse_lerp", PropertyInfo(Variant::REAL, "from"), PropertyInfo(Variant::REAL, "to"), PropertyInfo(Variant::REAL, "value")); + mi.return_val.type = Variant::REAL; + return mi; + } break; + case MATH_RANGE_LERP: { + MethodInfo mi("range_lerp", PropertyInfo(Variant::REAL, "value"), PropertyInfo(Variant::REAL, "istart"), PropertyInfo(Variant::REAL, "istop"), PropertyInfo(Variant::REAL, "ostart"), PropertyInfo(Variant::REAL, "ostop")); + mi.return_val.type = Variant::REAL; + return mi; + } break; case MATH_DECTIME: { MethodInfo mi("dectime", PropertyInfo(Variant::REAL, "value"), PropertyInfo(Variant::REAL, "amount"), PropertyInfo(Variant::REAL, "step")); mi.return_val.type = Variant::REAL; |
