Contributions are welcome!
But, please, before you do reach out to me on Mastodon @fuzzybinary@mastodon.gamedev.place. I'll let you know what I'm currently working on and where I could use some help.
The rest of this document helps me / you understand how to build the extension.
Currently, the Dart SDK Windows dll included in the repo is Dart 2.19.4. You can
update this by building the
dart_shared_library repo
and copying the dlls to the example directory (/simple
).
The files in godot-headers/godot
are from the 4.0.2 release of Godot. If you
working on a different version of Godot post Godot 4.0.2, you will need to
generate those files as explained in the Godot
documentation.
Once you have the files, you can generate the FFI bindings using Dart's ffigen
tool. From the /src/dart
directory run:
dart run ffigen
This will regenerate /dart/lib/src/core/gdextension_ffi_bindings.dart
The binding_generator
tool held in the tools
directory generates the rest of
the library's generated source files from
godot-headers/godot/extension_api.json
. It can be run from the
tools/binding_generator
directory with:
dart ./bin/binding_generator.dart
For now this generator takes no options, but it potentially will take options in the future.
For code formating, please use dartfmt
and the provided .clangformat
files.