summaryrefslogtreecommitdiffstats
path: root/include/godot_cpp/variant/vector2i.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/godot_cpp/variant/vector2i.hpp')
-rw-r--r--include/godot_cpp/variant/vector2i.hpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/include/godot_cpp/variant/vector2i.hpp b/include/godot_cpp/variant/vector2i.hpp
index 3726c31..a975812 100644
--- a/include/godot_cpp/variant/vector2i.hpp
+++ b/include/godot_cpp/variant/vector2i.hpp
@@ -95,7 +95,7 @@ public:
operator String() const;
- operator Vector2() const { return Vector2(x, y); }
+ operator Vector2() const { return Vector2((real_t)x, (real_t)y); }
inline Vector2i() {}
inline Vector2i(const Vector2 &p_vec2) {
@@ -113,15 +113,19 @@ inline Vector2i operator*(const int32_t &p_scalar, const Vector2i &p_vector) {
}
inline Vector2i operator*(const int64_t &p_scalar, const Vector2i &p_vector) {
- return p_vector * p_scalar;
+ return p_vector * (int32_t)p_scalar;
}
inline Vector2i operator*(const float &p_scalar, const Vector2i &p_vector) {
- return p_vector * p_scalar;
+ float x = (float)p_vector.x * p_scalar;
+ float y = (float)p_vector.y * p_scalar;
+ return Vector2i((int32_t)round(x), (int32_t)round(y));
}
inline Vector2i operator*(const double &p_scalar, const Vector2i &p_vector) {
- return p_vector * p_scalar;
+ double x = (double)p_vector.x * p_scalar;
+ double y = (double)p_vector.y * p_scalar;
+ return Vector2i((int32_t)round(x), (int32_t)round(y));
}
typedef Vector2i Size2i;