Adding version info to GDNative ARVR interfaces #19171
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I've been holding off adding new calls to the ARVR interface because we had no sure way to test if the plugin had support for any new calls. Because we hadn't added this for the 3.0 release it would always mean a breaking change.
I've added a type field and a version field at the top of the structure. The type field just makes it easier to detect when we have a pointer to an interface written for Godot 3.0 as the pointer of the constructor is unlikely to ever spell ARVR, the version will allow us to detect whether new features are supported by the plugin.
For testing and seeing what changes are required I have updated the ARVRSimple reference implementation to perform all the required version checks:
BastiaanOlij/ARVRSimple#4