diff --git a/core/variant/variant.cpp b/core/variant/variant.cpp index c5cada674fb..0dbeb6e4cb0 100644 --- a/core/variant/variant.cpp +++ b/core/variant/variant.cpp @@ -2832,7 +2832,7 @@ uint32_t Variant::hash() const { return _data._bool ? 1 : 0; } break; case INT: { - return _data._int; + return hash_one_uint64((uint64_t)_data._int); } break; case FLOAT: { return hash_djb2_one_float(_data._float); @@ -2847,8 +2847,8 @@ uint32_t Variant::hash() const { return hash_djb2_one_float(reinterpret_cast(_data._mem)->y, hash); } break; case VECTOR2I: { - uint32_t hash = hash_djb2_one_32(reinterpret_cast(_data._mem)->x); - return hash_djb2_one_32(reinterpret_cast(_data._mem)->y, hash); + uint32_t hash = hash_djb2_one_32((uint32_t) reinterpret_cast(_data._mem)->x); + return hash_djb2_one_32((uint32_t) reinterpret_cast(_data._mem)->y, hash); } break; case RECT2: { uint32_t hash = hash_djb2_one_float(reinterpret_cast(_data._mem)->position.x); @@ -2857,10 +2857,10 @@ uint32_t Variant::hash() const { return hash_djb2_one_float(reinterpret_cast(_data._mem)->size.y, hash); } break; case RECT2I: { - uint32_t hash = hash_djb2_one_32(reinterpret_cast(_data._mem)->position.x); - hash = hash_djb2_one_32(reinterpret_cast(_data._mem)->position.y, hash); - hash = hash_djb2_one_32(reinterpret_cast(_data._mem)->size.x, hash); - return hash_djb2_one_32(reinterpret_cast(_data._mem)->size.y, hash); + uint32_t hash = hash_djb2_one_32((uint32_t) reinterpret_cast(_data._mem)->position.x); + hash = hash_djb2_one_32((uint32_t) reinterpret_cast(_data._mem)->position.y, hash); + hash = hash_djb2_one_32((uint32_t) reinterpret_cast(_data._mem)->size.x, hash); + return hash_djb2_one_32((uint32_t) reinterpret_cast(_data._mem)->size.y, hash); } break; case TRANSFORM2D: { uint32_t hash = 5831; @@ -2878,9 +2878,9 @@ uint32_t Variant::hash() const { return hash_djb2_one_float(reinterpret_cast(_data._mem)->z, hash); } break; case VECTOR3I: { - uint32_t hash = hash_djb2_one_32(reinterpret_cast(_data._mem)->x); - hash = hash_djb2_one_32(reinterpret_cast(_data._mem)->y, hash); - return hash_djb2_one_32(reinterpret_cast(_data._mem)->z, hash); + uint32_t hash = hash_djb2_one_32((uint32_t) reinterpret_cast(_data._mem)->x); + hash = hash_djb2_one_32((uint32_t) reinterpret_cast(_data._mem)->y, hash); + return hash_djb2_one_32((uint32_t) reinterpret_cast(_data._mem)->z, hash); } break; case PLANE: { uint32_t hash = hash_djb2_one_float(reinterpret_cast(_data._mem)->normal.x);