Commit Graph

127 Commits (2eb375e4861d7f21e0c827226a92cb876c76faf4)

Author SHA1 Message Date
Rémi Verschelde 931f1a3f34
Sync license copyright with upstream GH-70885 2023-01-10 16:15:31 +01:00
Ricardo Buring 47140cdad0 Rename float=64 build option to precision=double
This makes the build system consistent with Godot again.
Also fix CMake build to define REAL_T_IS_DOUBLE when precision=double.
2023-01-09 23:22:03 +01:00
bruvzg 18eed144ca
Fix enum return value size. 2023-01-07 00:48:40 +02:00
Fabio Alessandrelli c0eaadac86
Merge pull request #903 from PapyChacal/build_library
Make build_library=no usable at godot-cpp's root
2022-12-19 23:03:17 +01:00
Emilien Bauer e52d4b6486 Remove gen from emitted files to solve circular dependency with build_library=no.
Use env variable to pass the output dir instead.
Add a CI step to guard regression on this. Clean the generated sources to avoid interfering with next steps.
2022-12-19 21:20:15 +00:00
Rémi Verschelde bab247dcb6
Rename godot-headers to gdextension, move header to top folder
Changes the `<godot/gdextension_interface.h>` include to simply
`<gdextension_interface.h>`.

Refactor and better document the SCons and CMake logic around setting
the paths to the header and API JSON file.
2022-12-14 12:36:59 +01:00
Gilles Roudière c02e644679 Rename GDNative to GDExtension
Non-exhaustive list of case-sensitive renames:

GDExtension -> GDNative
GDNATIVE -> GDEXTENSION
gdextension -> gdnative
ExtensionExtension -> Extension (for where there was GDNativeExtension)
EXTENSION_EXTENSION -> EXTENSION (for where there was GDNATIVE_EXTENSION)
gdnlib -> gdextension
gdn_interface -> gde_interface
gdni -> gde_interface
2022-12-12 11:06:38 +01:00
Emmanuel Leblond fe86a94dcf
Fix const qualifier for parameters in GDExtension api functions 2022-12-03 00:27:07 +01:00
rune-scape d04ce481c4 Add missing String operators 2022-11-20 03:44:54 -05:00
Emmanuel Leblond b6ba0dca13
StringName is working fine with demo \o/ 2022-11-08 21:44:33 +01:00
Emmanuel Leblond e24b6b0e51
Use StringName in the whole GDExtension API instead of const char * 2022-11-08 21:44:31 +01:00
Emmanuel Leblond 0e81f89dd3
Uses `StringName` in GDExtension perf critical instance creation & method/properties setter/getter 2022-11-08 21:44:30 +01:00
Emmanuel Leblond 5282009121
Fix Variant types displayed as `Nil` in extension_api.json 2022-10-10 00:56:35 +02:00
Mikael Hermansson 40d181d2f3 Bind enums in built-in types and expose bindings for global constants 2022-10-06 11:16:17 +02:00
Rémi Verschelde 1507253bd5 Merge pull request #864 from Zylann/fix_passing_null
Fix passing null to functions taking Object parameters
2022-10-05 10:37:17 +02:00
Rémi Verschelde 50a534bf55 Merge pull request #880 from aaronfranke/struct
Use `struct` instead of `class` for core structures
2022-10-05 10:35:59 +02:00
Rémi Verschelde 91afc08de1 Merge pull request #855 from Zylann/fix_issue854_virtual_methods
Fix deriving a custom class with virtual methods
2022-10-05 10:35:54 +02:00
Aaron Franke 0455f72ede
Use struct instead of class for core structures 2022-10-05 01:46:15 -05:00
bruvzg fb8253c912
Add wrapper function generation for built-in module ↔ godot-cpp interoperability. 2022-09-28 10:04:35 +03:00
Marc Gilleron cd2232eddf Fix passing null to functions taking Object parameters 2022-09-23 21:20:37 +01:00
bruvzg c001d0e5c7
Implement support for typed arrays. 2022-09-23 09:02:00 +03:00
Marc Gilleron 5de2c059d1 Fix deriving a custom class with virtual methods 2022-09-21 19:31:30 +01:00
Fabio Alessandrelli 0b87aaa74c
Merge pull request #838 from PapyChacal/scons-caching
Add options to use scons caching for faster iteration.
2022-09-19 14:51:40 +02:00
Emilien Bauer 8e717acf48 Add options to use scons caching for faster iteration.
Sort the sets in source generation so they are generated consistently between runs; otherwise caching is useless.
2022-09-19 13:32:23 +02:00
Rémi Verschelde d4cef0bd43 Merge pull request #849 from Zylann/const_cast_to
cast_to` for `const Object*`
2022-09-19 09:29:51 +02:00
Marc Gilleron 99c004f689 Add `Object::cast_to` for `const Object*` 2022-09-18 22:23:49 +01:00
Marc Gilleron f8f25980e1 Class constants should be static 2022-09-18 20:58:44 +01:00
Fabio Alessandrelli c263b3e38c Fix get_file_list not returning all generated files.
Adds a CI static check for it.
2022-09-11 21:39:06 +02:00
Aaron Franke 76ad89fe0b
Generate constants in the bindings generator 2022-09-02 21:32:38 -05:00
Rémi Verschelde 1863bd88ad
Merge pull request #703 from AlphaSoftLLC/fix_struct_forward_declaration 2022-08-31 13:04:03 +02:00
bruvzg 91c56a0ad1
Add bindings for Vector4, Vector4i, Projection built-in types. 2022-07-21 09:36:38 +03:00
bruvzg 713b122b84
Add support for BitField hint, sync API files. 2022-07-11 15:00:17 +03:00
Rémi Verschelde bffedfed1e Fix typo in static method binding generator
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2022-07-08 15:30:23 +02:00
Aaron Franke e5c4351bc7
Unify bits, android_arch, macos_arch ios_arch into arch, support non-x86
Unify arguments and add support for ARM64 and RV64 Linux
2022-06-01 13:00:25 -05:00
bruvzg e06d5cd414
Add double precision build support. 2022-05-04 15:56:35 +03:00
Fabio Alessandrelli fa698ddd12 [Scons] Use builder to track bindings regeneration.
Using a scons Builder we now regenerate the bindings automatically
when the Godot API json or header has changed.

The option to force bindings regeneration (generate_bindings=yes) is
retained.
2022-05-03 10:48:23 +02:00
Fabio Alessandrelli b47dfb6a5c [CI] Add python file format to static checks.
Uses the same version of `black` as godot.
2022-05-02 21:13:56 +02:00
bruvzg 057a771fda
Add support for variadic method binds with the typed return. Sync headers. 2022-03-30 15:11:28 +03:00
bruvzg d9d68550d9
Fix generating static methods without return value. 2022-03-25 14:13:45 +02:00
bruvzg 28027394f5
Add support for static method bindings. 2022-03-22 16:06:13 +02:00
bruvzg 93de1b2b0b
Sync godot-headers and fix build after "Create GDExtension clases for PhysicsServer3D". 2022-03-16 20:33:06 +02:00
Rémi Verschelde 1632322ce0 Update copyright year 2022-03-15 10:17:53 +01:00
bruvzg b8b9a2fad9
Fix return type encoding for ptrcall. 2022-03-09 17:18:21 +02:00
Aaron Franke 101d61b64a
[master] Run black format on SConstruct files and bindings generator 2022-02-26 15:04:11 -06:00
bruvzg e36180f377
Port a bunch of Godot container templates to GDExtension. 2022-02-18 21:07:53 +02:00
Rémi Verschelde 7fa81e798b
Merge pull request #704 from bruvzg/fix_const_ptr 2022-02-16 13:29:29 +01:00
Rémi Verschelde d9111350b9
Merge pull request #699 from bruvzg/enum_and_ptr_binds 2022-02-16 12:32:26 +01:00
bruvzg a8cd21ac07
Fix "const" NativePtr binds. 2022-02-16 11:35:13 +02:00
Nikita Parfenov 309db943e9 Native structures forward declaration fix 2022-02-16 15:29:01 +06:00
bruvzg 7aaab11b0f
Add Variant binders for the generated classes, structs and global enums 2022-02-15 10:47:12 +02:00