summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/input/input.cpp5
-rw-r--r--core/math/aabb.cpp16
-rw-r--r--core/math/color.h4
-rw-r--r--core/variant/variant_call.cpp1
4 files changed, 14 insertions, 12 deletions
diff --git a/core/input/input.cpp b/core/input/input.cpp
index 9a6a2a2e15..3dfe73ab8e 100644
--- a/core/input/input.cpp
+++ b/core/input/input.cpp
@@ -922,10 +922,7 @@ void Input::joy_axis(int p_device, JoyAxis p_axis, const JoyAxisValue &p_value)
Joypad &joy = joy_names[p_device];
- // Make sure that we don't generate events for up to 5% jitter
- // This is needed for Nintendo Switch Pro controllers, which jitter at rest
- const float MIN_AXIS_CHANGE = 0.05f;
- if (fabs(joy.last_axis[(size_t)p_axis] - p_value.value) < MIN_AXIS_CHANGE) {
+ if (joy.last_axis[(size_t)p_axis] == p_value.value) {
return;
}
diff --git a/core/math/aabb.cpp b/core/math/aabb.cpp
index 83726f46b5..0468d1e68b 100644
--- a/core/math/aabb.cpp
+++ b/core/math/aabb.cpp
@@ -286,14 +286,14 @@ int AABB::get_longest_axis_index() const {
Vector3 AABB::get_shortest_axis() const {
Vector3 axis(1, 0, 0);
- real_t max_size = size.x;
+ real_t min_size = size.x;
- if (size.y < max_size) {
+ if (size.y < min_size) {
axis = Vector3(0, 1, 0);
- max_size = size.y;
+ min_size = size.y;
}
- if (size.z < max_size) {
+ if (size.z < min_size) {
axis = Vector3(0, 0, 1);
}
@@ -302,14 +302,14 @@ Vector3 AABB::get_shortest_axis() const {
int AABB::get_shortest_axis_index() const {
int axis = 0;
- real_t max_size = size.x;
+ real_t min_size = size.x;
- if (size.y < max_size) {
+ if (size.y < min_size) {
axis = 1;
- max_size = size.y;
+ min_size = size.y;
}
- if (size.z < max_size) {
+ if (size.z < min_size) {
axis = 2;
}
diff --git a/core/math/color.h b/core/math/color.h
index ffd0fd8f6e..815dd98d96 100644
--- a/core/math/color.h
+++ b/core/math/color.h
@@ -94,6 +94,10 @@ struct Color {
void invert();
Color inverted() const;
+ _FORCE_INLINE_ float get_luminance() const {
+ return 0.2126 * r + 0.7152 * g + 0.0722 * b;
+ }
+
_FORCE_INLINE_ Color lerp(const Color &p_to, float p_weight) const {
Color res = *this;
diff --git a/core/variant/variant_call.cpp b/core/variant/variant_call.cpp
index 51b9119933..d2bda34818 100644
--- a/core/variant/variant_call.cpp
+++ b/core/variant/variant_call.cpp
@@ -1644,6 +1644,7 @@ static void _register_variant_builtin_methods() {
bind_method(Color, lightened, sarray("amount"), varray());
bind_method(Color, darkened, sarray("amount"), varray());
bind_method(Color, blend, sarray("over"), varray());
+ bind_method(Color, get_luminance, sarray(), varray());
bind_method(Color, is_equal_approx, sarray("to"), varray());