diff options
author | Bartłomiej T. Listwon <blistwon@gmail.com> | 2022-02-09 09:17:17 +0100 |
---|---|---|
committer | Bartłomiej T. Listwon <blistwon@gmail.com> | 2022-02-09 09:17:17 +0100 |
commit | 51cac0709e9c053b0785fc11cd26cb9cc83c01ae (patch) | |
tree | 91474421d12857861a13cdaf794e7524c224044d /core | |
parent | d435c51cda529cc85a945fb909217dd6b0dc531b (diff) |
Fix Vector2 and Vector2i coord access via operator[]
Diffstat (limited to 'core')
-rw-r--r-- | core/math/vector2.h | 4 | ||||
-rw-r--r-- | core/math/vector2i.h | 22 |
2 files changed, 16 insertions, 10 deletions
diff --git a/core/math/vector2.h b/core/math/vector2.h index 123e3dc7b6..92ac5257b0 100644 --- a/core/math/vector2.h +++ b/core/math/vector2.h @@ -60,10 +60,10 @@ struct _NO_DISCARD_ Vector2 { }; _FORCE_INLINE_ real_t &operator[](int p_idx) { - return p_idx ? y : x; + return coord[p_idx]; } _FORCE_INLINE_ const real_t &operator[](int p_idx) const { - return p_idx ? y : x; + return coord[p_idx]; } _FORCE_INLINE_ void set_all(const real_t p_value) { diff --git a/core/math/vector2i.h b/core/math/vector2i.h index 707c8c9490..3f5f12d4dd 100644 --- a/core/math/vector2i.h +++ b/core/math/vector2i.h @@ -43,19 +43,25 @@ struct _NO_DISCARD_ Vector2i { }; union { - int32_t x = 0; - int32_t width; - }; - union { - int32_t y = 0; - int32_t height; + struct { + union { + int32_t x; + int32_t width; + }; + union { + int32_t y; + int32_t height; + }; + }; + + int32_t coord[2] = { 0 }; }; _FORCE_INLINE_ int32_t &operator[](int p_idx) { - return p_idx ? y : x; + return coord[p_idx]; } _FORCE_INLINE_ const int32_t &operator[](int p_idx) const { - return p_idx ? y : x; + return coord[p_idx]; } _FORCE_INLINE_ Vector2i::Axis min_axis_index() const { |