Commit Graph

127 Commits (f2353da5a35a5397a02d4fb47250244c988cfaeb)

Author SHA1 Message Date
David Snopek 1fd3f82d3a Add automated tests that run a GDExtension (rather than just building it) 2023-05-17 14:08:12 -05:00
David Snopek a5c6ca5920 Update to load function pointers for GDExtension interface 2023-05-09 21:45:48 -05:00
Rémi Verschelde e72bc1a12f
Merge pull request #1028 from asmaloney/fix-improper-conversion
Fix improper implicit conversion
2023-02-07 13:48:54 +01:00
Andy Maloney b01f0cf99b ExampleRef::get_id() should be const 2023-02-02 13:01:31 -05:00
Andy Maloney f2cb5a7414 Fix improper implicit conversion 2023-02-02 11:30:37 -05:00
Rémi Verschelde f59fd96ab4
Merge pull request #1013 from bruvzg/set_typed_move
Move Array:set_typed to internal GDExtension structure.
2023-01-30 12:31:38 +01:00
bruvzg 40d3cfd97b
Move Array:set_typed to internal GDExtension structure. 2023-01-30 13:27:25 +02:00
Дмитрий Сальников 6528c7177f Fixed variant casting for enum and bitfield 2023-01-20 21:10:03 +03:00
bruvzg abca497b72
Expose some low level functions and String operators. 2023-01-19 13:12:21 +02:00
Andy Maloney c721b62c2f Fix spelling in demo script 2023-01-10 12:02:46 -05:00
Rémi Verschelde 931f1a3f34
Sync license copyright with upstream GH-70885 2023-01-10 16:15:31 +01:00
Fabio Alessandrelli 9fd33b5cde Allow method binds to take Object subclasses as arguments
As done in upstream Godot via GH-57205.

Add a test that ensures it works also for "gdextended" objects.
2023-01-10 12:55:41 +01: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
Rémi Verschelde 49a478a879
Merge pull request #949 from BastiaanOlij/fix_tests_refcounting
Change example code to properly test refcounted objects
2022-12-13 12:13:39 +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
Bastiaan Olij f24ee56c5d Change example code to properly represent test cases with refcounted objects 2022-12-05 22:28:28 +11:00
Emmanuel Leblond fe86a94dcf
Fix const qualifier for parameters in GDExtension api functions 2022-12-03 00:27:07 +01:00
Andy Maloney fbf7f7bc36 Fix some type warnings in example 2022-11-16 16:43:44 -05:00
bruvzg 6e7a24d390
Fix Android build on macOS. 2022-11-10 15:20:15 +02:00
Ricardo Buring 01960ffc9f Add support for virtual and abstract classes 2022-10-15 13:15:05 +02:00
Aaron Franke 592bd15c7a
Run scripts to format and make headers consistent 2022-10-09 01:47:07 -05:00
Fabio Alessandrelli 64b2c9be0b [SCons] Refactor targets, symbols, optimizations.
Now matches Godot `master` target names and supports the same flags with
the following notable exceptions:
- The default target is "template_debug", since it's compatible with
  editor builds (and TOOLS_ENABLED is never used internally).
- separate_debug_symbols is still not supported, and will be done in a
  separate commit.
2022-10-04 16:05:40 +02:00
bruvzg c001d0e5c7
Implement support for typed arrays. 2022-09-23 09:02:00 +03:00
bruvzg 36273baa7e
Change PropertyInfo members to String. 2022-09-14 08:41:09 +03:00
Ricardo Buring 3e97626b67 Add SelfList template 2022-09-13 11:33:12 +02:00
Fabio Alessandrelli 081d425277 [MSVC] Add NOMINMAX flag to scons and cmake.
Ensures user inclusion of windows.h do not define "min" and "max"
macros.
2022-09-12 13:12:55 +02:00
Fabio Alessandrelli e272d92827 [Test] Add minimal test for templates inclusion.
We probably want to test more than just them being able to compile, but
this is a start.
2022-09-12 13:12:55 +02:00
Rémi Verschelde 446cacde15
Merge pull request #817 from akien-mga/test-project-public-domain 2022-09-07 13:07:57 +02:00
Rémi Verschelde 9220e9dd34 Relicense integration testing project under public domain/Unlicense
Fixes #813.
2022-08-22 18:20:11 +02:00
bruvzg 270ad28931
Add support for `_notification`, `_set`, `_get`, `_get_property_list`, `_property_can_revert`, `_property_get_revert`, and `_to_string` methods. 2022-08-22 12:59:38 +03:00
Alexander Rieder 4c85682c9d Fix wrong filepaths in .gdextension, breaking the export 2022-08-07 16:48:00 +02:00
Rémi Verschelde 3cc1409210
Merge pull request #793 from bruvzg/v4_v4i_proj 2022-07-25 11:14:45 +02:00
bruvzg 91c56a0ad1
Add bindings for Vector4, Vector4i, Projection built-in types. 2022-07-21 09:36:38 +03:00
bruvzg 0ee980abae
Rename OSX to macOS. 2022-07-20 11:01:47 +03:00
bruvzg 713b122b84
Add support for BitField hint, sync API files. 2022-07-11 15:00:17 +03:00
Fabio Alessandrelli a0fcd8a735 Add windows x86_32 library to example gdextension. 2022-06-27 20:44:12 +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 031a83b0ea
[Method Bind] Add support for default argument values and static method binding. Sync headers. 2022-05-06 10:17:51 +03:00
bruvzg 8bf5a532de
Change registered initializers / terminators to the single function with level argument. 2022-05-04 11:14:51 +03:00
bruvzg 057a771fda
Add support for variadic method binds with the typed return. Sync headers. 2022-03-30 15:11:28 +03:00
Rémi Verschelde 82bc102581 Sync `misc/` scripts and hooks with upstream Godot 2022-03-15 10:18:33 +01:00
Rémi Verschelde 1632322ce0 Update copyright year 2022-03-15 10:17:53 +01:00
Aaron Franke 101d61b64a
[master] Run black format on SConstruct files and bindings generator 2022-02-26 15:04:11 -06:00
Nicolás Carrasco df87396cf3 Merge branch 'master' of https://github.com/godotengine/godot-cpp into test_cmake_windows 2022-02-20 22:59:56 +01:00
bruvzg b6b64bcd70
[macOS] Restore demo library output names. 2022-02-14 08:57:35 +02:00
Fabio Alessandrelli dcc52f4321 Library SCons boilerplate to build projects.
Works by executing project `SConstruct`s file in a cloned env (a bit
like Godot does for modules) so you don't have to worry about platform
and toolchain setup.

Convert the project test file to work as submodule, add it to CI

Run with:

```
scons build_projects=test,/path/to/other/project
```
2022-02-10 01:44:48 +01:00
Nicolás Carrasco f227a0179f Fix Test CMake project for Windows and parametrize paths 2022-01-26 20:12:05 +01:00
bruvzg a263344653
[Demo Project] Add macOS framework templates, update Scons build script and ".gdextension" file. 2022-01-11 10:42:04 +02:00
O01eg c5fd3d00d2
Test CMake project with CI (#518) 2021-12-24 01:29:21 +01:00
Bastiaan Olij b008810c01 Implementing dictionary operators 2021-11-23 19:44:53 +11:00
Rémi Verschelde 5cacce7a26
Merge pull request #650 from BastiaanOlij/fix_compile_warnings 2021-11-22 12:22:24 +01:00
Bastiaan Olij 94efe3d410 Fixing compiler warnings around implicit type casting loosing precision 2021-11-22 21:48:20 +11:00
Bastiaan Olij c2b690439f Implement index operators for Arrays 2021-11-12 14:29:54 +11:00
Rémi Verschelde b3c7581cf9
Add `.gitignore` for test, ignore potential log files
(cherry picked from commit 1070a29d77)
2021-11-04 15:42:27 +01:00
Bastiaan Olij ef528d3a86 Rename interface to gdn_interface because it's a defined keyword under windows 2021-10-28 19:44:20 +11:00
Bastiaan Olij 0f47ba54ee Setup for building both debug and release build for side by side deployment 2021-09-29 10:47:08 +10:00
Fabio Alessandrelli b28853aff1 Add test for Reference passing/returning. 2021-09-28 15:49:53 +02:00
Bastiaan Olij 68ebc9b2a8 Changed over to proper godot-headers 2021-09-27 23:08:12 +10:00
Bastiaan Olij cbf52c2764 Removed init.cpp that I overlooked in rebase 2021-09-27 23:08:12 +10:00
Bastiaan Olij 0e3bc393d5 Fully register class on register_class call 2021-09-27 23:08:12 +10:00
Fabio Alessandrelli 59d38a4119 Add test for extended object creation/deletion. 2021-09-27 23:08:12 +10:00
Bastiaan Olij fab017c91a Fix some clang format things 2021-09-27 23:08:11 +10:00
Bastiaan Olij e839199848 Add support for property groups 2021-09-27 23:08:11 +10:00
George Marques aef0f1e248 Change initialization to allow custom level callbacks
Now it needs a callback for each level so custom logic (like loading
singletons) can be performed.
2021-09-27 23:08:10 +10:00
George Marques dfa526ce16 Fix formatting of files 2021-09-27 23:08:10 +10:00
Bastiaan Olij df9164b9bd Added TYPED_METHOD_BIND and c++17 flags to windows build and moved test project files 2021-09-27 23:08:09 +10:00
George Marques 5615c92173 Define the {de,}initialization functions in the bindings
The extension creators then don't need to create those just to redirect
to the bindings.
2021-09-27 23:08:08 +10:00
George Marques a0634cca3f Auto-bind virtual method overrides 2021-09-27 23:08:08 +10:00
George Marques b3a4a2cf93 Add sample test project 2021-09-27 23:08:08 +10:00
George Marques e4ed48976a Replace bindgins to work with extensions 2021-09-27 23:08:08 +10:00
Rémi Verschelde 407710b622
Merge pull request #513 from beroso/fix/windows_cpp_17 2021-09-27 11:50:12 +02:00
Hugo Locurcio cf5428e103
Add license headers to all source and header files
This is consistent with the core Godot source code, and ensures the
license isn't detached from its original code when individual files
are distributed.
2021-08-02 18:34:58 +02:00
Rémi Verschelde b36df8f86c Rename godot_headers to godot-headers to match upstream rename
Also updated the URLs which were still pointing to the old GitHub org.
2021-02-26 10:07:38 +01:00
André Sousa 5f24388b04
Add -std:c++17 flag on test windows build 2021-02-14 20:41:59 -03:00
O01eg 279d63d6c5
Run script test 2021-02-07 00:13:58 +03:00
O01eg c55ef5adcf
Disable Windows compilation. 2021-02-06 23:19:40 +03:00
O01eg d6101538e6
Test build GNnative library in CI 2021-02-06 23:08:13 +03:00