This PR adds a new API function for each of the four kinds of dialogs, which take in a versioned struct. The version is set by an inline function in nfd.h, and the library checks the version to determine the number of fields in the struct. Additional fields can then be added to the end of the struct without breaking forward compatibility (binary built with an older version of NFDe works with a newer version of NFDe) or backward compatibility (automatically by ignoring the additional fields).
This will allow new options to be added without breaking forward compatibility, which will make #90, #93, #99, and #126 implementable.
This PR adds a new API function for each of the four kinds of dialogs, which take in a versioned struct. The version is set by an inline function in nfd.h, and the library checks the version to determine the number of fields in the struct. Additional fields can then be added to the end of the struct without breaking forward compatibility (binary built with an older version of NFDe works with a newer version of NFDe) or backward compatibility (automatically by ignoring the additional fields).
This will allow new options to be added without breaking forward compatibility, which will make #90, #93, #99, and #126 implementable.
Resolves #92.