summaryrefslogtreecommitdiffstats
path: root/core/math/expression.cpp
diff options
context:
space:
mode:
authorYuri Roubinsky <chaosus89@gmail.com>2020-07-26 13:52:24 +0300
committerYuri Roubinsky <chaosus89@gmail.com>2020-11-06 17:06:26 +0300
commit38fb26794bcc4352c22e46b97408673cf7084c57 (patch)
tree6e17a5a21e4d8c9cd58f3b0e214e259e3ec0e679 /core/math/expression.cpp
parentdf2abc55be9c8b9f419a1b99cbad94024d150a09 (diff)
downloadredot-engine-38fb26794bcc4352c22e46b97408673cf7084c57.tar.gz
Exposed randi_range to global funcs + renamed rand_range to randf_range
Diffstat (limited to 'core/math/expression.cpp')
-rw-r--r--core/math/expression.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/core/math/expression.cpp b/core/math/expression.cpp
index 1040f9e0e4..de7d2d2e2c 100644
--- a/core/math/expression.cpp
+++ b/core/math/expression.cpp
@@ -76,7 +76,8 @@ const char *Expression::func_name[Expression::FUNC_MAX] = {
"randomize",
"randi",
"randf",
- "rand_range",
+ "randf_range",
+ "randi_range",
"seed",
"rand_seed",
"deg2rad",
@@ -127,7 +128,7 @@ String Expression::get_func_name(BuiltinFunc p_func) {
int Expression::get_func_argument_count(BuiltinFunc p_func) {
switch (p_func) {
case MATH_RANDOMIZE:
- case MATH_RAND:
+ case MATH_RANDI:
case MATH_RANDF:
return 0;
case MATH_SIN:
@@ -178,7 +179,8 @@ int Expression::get_func_argument_count(BuiltinFunc p_func) {
case MATH_POW:
case MATH_EASE:
case MATH_STEPIFY:
- case MATH_RANDOM:
+ case MATH_RANDF_RANGE:
+ case MATH_RANDI_RANGE:
case MATH_POLAR2CARTESIAN:
case MATH_CARTESIAN2POLAR:
case LOGIC_MAX:
@@ -397,17 +399,22 @@ void Expression::exec_func(BuiltinFunc p_func, const Variant **p_inputs, Variant
Math::randomize();
} break;
- case MATH_RAND: {
+ case MATH_RANDI: {
*r_return = Math::rand();
} break;
case MATH_RANDF: {
*r_return = Math::randf();
} break;
- case MATH_RANDOM: {
+ case MATH_RANDF_RANGE: {
VALIDATE_ARG_NUM(0);
VALIDATE_ARG_NUM(1);
*r_return = Math::random((double)*p_inputs[0], (double)*p_inputs[1]);
} break;
+ case MATH_RANDI_RANGE: {
+ VALIDATE_ARG_NUM(0);
+ VALIDATE_ARG_NUM(1);
+ *r_return = Math::random((int)*p_inputs[0], (int)*p_inputs[1]);
+ } break;
case MATH_SEED: {
VALIDATE_ARG_NUM(0);
uint64_t seed = *p_inputs[0];