From ae789d94a14fcb96b2d089317706c588692eb0d0 Mon Sep 17 00:00:00 2001 From: tomsep <52826851+tomsep@users.noreply.github.com> Date: Sun, 12 Jan 2025 23:02:55 +0200 Subject: [PATCH] Map Vector2.Axis and Vector2i.Axis to Vector2Axis Missing mapping can cause problems when building bindings for custom Godot or GDExtensions using those enums. --- godot-codegen/src/conv/type_conversions.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/godot-codegen/src/conv/type_conversions.rs b/godot-codegen/src/conv/type_conversions.rs index 565eb991a..bfb32d12a 100644 --- a/godot-codegen/src/conv/type_conversions.rs +++ b/godot-codegen/src/conv/type_conversions.rs @@ -75,10 +75,14 @@ fn to_hardcoded_rust_ident(full_ty: &GodotTy) -> Option<&str> { } fn to_hardcoded_rust_enum(ty: &str) -> Option<&str> { + // Some types like Vector2[i].Axis may not appear in Godot's current JSON, but they are encountered + // in custom Godot builds, e.g. when extending PhysicsServer2D. let result = match ty { //"enum::Error" => "GodotError", "enum::Variant.Type" => "VariantType", "enum::Variant.Operator" => "VariantOperator", + "enum::Vector2.Axis" => "Vector2Axis", + "enum::Vector2i.Axis" => "Vector2Axis", "enum::Vector3.Axis" => "Vector3Axis", "enum::Vector3i.Axis" => "Vector3Axis", _ => return None,