@@ -60,6 +60,9 @@ class VariantInternal {
6060 case Variant::TRANSFORM2D:
6161 init_transform2d (v);
6262 break ;
63+ case Variant::QUATERNION:
64+ init_quaternion (v);
65+ break ;
6366 case Variant::AABB:
6467 init_aabb (v);
6568 break ;
@@ -225,7 +228,7 @@ class VariantInternal {
225228
226229 // Should be in the same order as Variant::Type for consistency.
227230 // Those primitive and vector types don't need an `init_` method:
228- // Nil, bool, float, Vector2/i, Rect2/i, Vector3/i, Plane, Quat, RID.
231+ // Nil, bool, float, Vector2/i, Rect2/i, Vector3/i, Plane, RID.
229232 // Object is a special case, handled via `object_reset_data`.
230233 _FORCE_INLINE_ static void init_string (Variant *v) {
231234 memnew_placement (v->_data ._mem , String);
@@ -236,6 +239,10 @@ class VariantInternal {
236239 memnew_placement (v->_data ._transform2d , Transform2D);
237240 v->type = Variant::TRANSFORM2D;
238241 }
242+ _FORCE_INLINE_ static void init_quaternion (Variant *v) {
243+ memnew_placement (v->_data ._mem , Quaternion);
244+ v->type = Variant::QUATERNION;
245+ }
239246 _FORCE_INLINE_ static void init_aabb (Variant *v) {
240247 v->_data ._aabb = (AABB *)Variant::Pools::_bucket_small.alloc ();
241248 memnew_placement (v->_data ._aabb , AABB);
0 commit comments