1
0
mirror of https://github.com/godotengine/godot.git synced 2025-12-02 16:48:55 +00:00

Add OpenXR 1.1 support

This commit is contained in:
Bastiaan Olij
2025-07-28 10:13:23 +10:00
parent 9dd6c4dbac
commit c0bc43d1de
88 changed files with 638 additions and 251 deletions

View File

@@ -78,7 +78,7 @@ void OpenXRSelectInteractionProfileDialog::open(const PackedStringArray &p_do_no
memdelete(main_vb->get_child(1));
}
PackedStringArray requested_extensions = OpenXRAPI::get_all_requested_extensions();
PackedStringArray requested_extensions = OpenXRAPI::get_all_requested_extensions(0);
selected_interaction_profile = "";
ip_buttons.clear();
@@ -86,8 +86,12 @@ void OpenXRSelectInteractionProfileDialog::open(const PackedStringArray &p_do_no
// In with the new.
PackedStringArray interaction_profiles = meta_data->get_interaction_profile_paths();
for (const String &path : interaction_profiles) {
const String extension = meta_data->get_interaction_profile_extension(path);
if (!p_do_not_include.has(path) && (extension.is_empty() || requested_extensions.has(extension))) {
const Vector<String> extensions = meta_data->get_interaction_profile_extensions(path).split(",", false);
bool extension_is_requested = extensions.is_empty(); // If none, then yes we can use this.
for (const String &extension : extensions) {
extension_is_requested |= requested_extensions.has(extension);
}
if (!p_do_not_include.has(path) && extension_is_requested) {
Button *ip_button = memnew(Button);
ip_button->set_flat(true);
ip_button->set_text(meta_data->get_profile(path)->display_name);