summaryrefslogtreecommitdiffstats
path: root/core/extension/gdextension_interface.h
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #95840 from raulsntos/char_metadataRémi Verschelde2024-09-121-1/+3
|\ | | | | | | Add metadata for `char16_t` and `char32_t`
| * Add metadata for `char16_t` and `char32_t`Raul Santos2024-09-121-1/+3
| | | | | | | | | | | | | | | | We don't seem to expose any API that uses `char16_t` yet, but I added it anyway since we make the type info for it. I didn't add anything for `wchar_t` because we are not making a type info so maybe we don't have a need for it yet, it could be added in the future. To prevent breaking compatibility with the C# bindings, we ignore the `char32_t` metadata and still use `System.Int64`.
* | Remove `get_rid_func` from `GDExtensionClassCreationInfo4`Raul Santos2024-09-101-1/+0
|/
* Implement typed dictionariesThaddeus Crews2024-09-041-0/+16
|
* Fix `bool` type appearing in GDExtension headerJan Haller2024-08-311-1/+1
|
* Allow ClassDB to create a Object without postinitialization for GDExtension.Daylily-Zeleen2024-08-201-5/+73
|
* GDExtension docs: advise bindings to use uint64_t for bitfieldsJan Haller2024-07-151-1/+5
|
* [TextServer, GDExtension] Fix building text servers as GDExtension, expose ↵bruvzg2024-06-121-0/+61
| | | | new/changed low-level methods to GDExtension API.
* Fix various typos with codespellRémi Verschelde2024-05-071-2/+2
| | | | | | | | | Using 2.2.7.dev217+g10c2abcf. Had to add `colour` to the ignore list as we used it as an alias/keyword for the documentation of color-related APIs. Also ignore recommendations to change `thirdparty` to either `third-party` or `third party`, which are correct but we use the former fairly consistently.
* Add PackedVector4Array Variant typeK. S. Ernest (iFire) Lee2024-05-031-26/+53
| | | | | Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
* GDExtension: provide `free_property_list_func` with length of arrayJan Haller2024-04-271-1/+2
|
* Add extension support for argument count to `ScriptInstance`A Thousand Ships2024-03-131-0/+4
|
* Add methods to get argument count of methodsA Thousand Ships2024-03-101-1/+50
| | | | | | | | Added to: * `Callable`s * `Object`s * `ClassDB` * `Script(Instance)`s
* GDExtension: Pass count when freeing method and property lists for script ↵David Snopek2024-03-021-5/+62
| | | | instances
* Allow registering "runtime classes"David Snopek2024-02-201-3/+56
|
* Allow GDExtensions to register virtual methods and call them on scriptsDavid Snopek2024-02-121-1/+60
|
* GDExtension: add an interface for loading extra documentationRiteo2024-01-261-0/+25
| | | | | | | | | | | Adds two new GDExtension interface methods: - `editor_help_load_xml_from_utf8_chars` - `editor_help_load_xml_from_utf8_chars_and_len` Both of these methods parse the XML passed into an extra documentation container which, when needed, is merged into the main doc container. Co-Authored-By: Rémi Verschelde <rverschelde@gmail.com>
* GDExtension: Use ObjectID when creating custom callableDavid Snopek2023-10-231-2/+2
|
* Fix comment in gdextension_interface.hEmmanuel Leblond2023-10-161-1/+4
|
* expose Object::free_instance_binding to GDExtensionCed Naru2023-10-041-0/+11
|
* GDExtension: Don't deprecate old method of getting script categoryDavid Snopek2023-10-021-1/+1
|
* add GDExtensionScriptInstanceGetClassCategoryDavid Cambré2023-09-271-0/+3
| | | | Change GetClassCategory so it is handled in native directly
* Implement reloading of GDExtensionsDavid Snopek2023-09-251-0/+2
|
* More precise documentation for GDExtension String constructors (bytes vs. ↵Jan Haller2023-09-241-8/+8
| | | | character count)
* GDExtension: construct StringName directly from char*Jan Haller2023-09-241-0/+44
| | | | | | | | | | So far, an indirection via String was necessary, causing at least 2 allocations and copies (String; String inside StringName). Since StringNames often refer to string literals, this allows them to be directly constructed from C strings. There are two formats: Latin-1 and UTF-8. The Latin-1 constructor also provides the `p_is_static` flag: when the source has static storage duration, no copy/allocation will be needed. However, the extension developer needs to uphold this lifetime guarantee.
* Add functions for non-ptr style virtual calls in GDExtensionJeff Ward2023-09-191-4/+16
| | | | | | | | | | | | This adds two functions to `GDExtensionClassCreationInfo` that allow for developers to supply a generic virtual call function along with user data to be sent to that call. If `get_virutal_call_data_func` is not null, extensions call this function to get user data to pass to a supplied `call_virtual_with_data_func`. Both must be provided is one is provided. If `get_virtual_call_data_func` is null, Godot falls back to the old `get_virtual_func` logic. Fixes #63275 Co-authored-by: David Snopek <dsnopek@gmail.com>
* Merge pull request #79005 from maiself/gde-custom-callableRémi Verschelde2023-09-191-0/+69
|\ | | | | | | Allow CallableCustom objects to be created from GDExtensions (extended)
| * Allow CallableCustom objects to be created from GDExtensionsMai Lavelle2023-08-311-0/+69
| | | | | | | | Co-authored-by: David Snopek <dsnopek@gmail.com>
* | Merge pull request #81515 from dsnopek/gdextension-validate-property-objectRémi Verschelde2023-09-111-0/+2
|\ \ | | | | | | | | | Allow implementing `Object::_validate_property()` from GDExtension
| * | Allow implementing `Object::_validate_property()` from GDExtensionDavid Snopek2023-09-101-0/+2
| | |
* | | Merge pull request #70329 from ↵Rémi Verschelde2023-09-111-0/+1
|\ \ \ | |/ / |/| | | | | | | | | | | Daylily-Zeleen/daylily-zeleen/register_internal_class Allow GDExtension to register unexposed classes.
| * | Allow GDExtension to register unexposed class.Daylily-Zeleen2023-09-041-0/+1
| | |
* | | Allow implementing `ScriptInstance::validate_property()` from GDExtensionDavid Snopek2023-09-041-0/+2
|/ /
* / GDExtension: fix `bool` unknown in CJan Haller2023-09-021-2/+2
|/
* Fix Object::notification orderMarkus Sauermann2023-08-301-4/+95
| | | | | | | | | | | | | | Previously the `p_reversed` parameter didn't influence the order in a correct way. Also script overridden _notification functions were not called in the correct order. To fix this some `notification` functions had to add a `p_reversed` parameter. This made it necessary to adjust cpp-bindings. Co-authored-by: David Snopek <dsnopek@gmail.com>
* Expose PlaceHolderScriptInstance to GDExtensionMai Lavelle2023-08-281-0/+31
| | | | Co-authored-by: David Snopek <dsnopek@gmail.com>
* Add get_script_instance to GDExtensionJeff Ward2023-08-071-0/+13
| | | | Adds a method to GDExtension to get the ScriptInstanceExtension for an object.
* Merge pull request #79156 from dsnopek/gdextension-string-resizeYuri Sizov2023-07-271-0/+19
|\ | | | | | | Allow resizing Strings from GDExtension
| * Allow resizing String's from GDExtensionDavid Snopek2023-07-261-0/+19
| |
* | Add support for indexed properties in GDExtensionMikael Hermansson2023-07-211-0/+17
|/
* GDExtension `@since` attributeJan Haller2023-06-211-0/+136
| | | | | | All GDExtension function pointer types are versioned using a `@since` attribute, denoting the Godot minor version in which they were introduced. This allows bindings to query if a feature is available for a target API version, or provide a polyfill/fallback for it. It also serves as documentation for humans giving a feeling about recency of features.
* GDExtension: `Uninitialized*Ptr` for constructors/converters using placement newJan Haller2023-06-181-3/+3
| | | | These methods construct their destination in-place, but the parameters are not declared using the `Uninitialized*Ptr` pointer types.
* Merge pull request #77010 from dsnopek/gdextension-editor-pluginsRémi Verschelde2023-05-261-0/+20
|\ | | | | | | Allow GDExtensions to add editor plugins
| * Allow GDExtensions to add editor pluginsDavid Snopek2023-05-251-0/+20
| |
* | Add GDExtension function to get Object class nameDavid Snopek2023-05-221-0/+13
|/
* Rework GDExtension interface from a struct to loading function pointersDavid Snopek2023-05-161-213/+1683
|
* Improve user-friendliness of "return value as function param" pattern in ↵Emmanuel Leblond2023-05-151-28/+49
| | | | | | | | | | GDExtension API This commit introduce separate types (e.g. GDNativeStringPtr vs GDNativeUninitializedStringPtr) depending on if the pointed data is already initialized (C++ style where constructor is alway called when create a variable even if it is to be passed as return value) or not (C style). On top of that, small changes has been made to `GDNativeInterface` so that it methods are consistent on using uninitialized return value.
* Add ValidatedCall to MethodBindJuan Linietsky2023-04-301-0/+1
| | | | | | | * This should optimize GDScript function calling _enormously_. * It also should simplify the GDScript VM considerably. NOTE: GDExtension calling performance has most likely been affected until going via ptrcall is fixed.
* GDExtension: array_set_typed() accepts enum instead of uint32_tJan Haller2023-02-081-1/+1
|
* Use GDExtensionBool in GDExtension interfaceHaoyu Qiu2023-02-081-6/+6
|