summaryrefslogtreecommitdiffstats
path: root/core/extension/native_extension.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Rename all gdnative occurences to gdextensionGilles Roudière2022-12-121-569/+0
| | | | | | | | | | | | | 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
* Merge pull request #67906 from groud/simpler_gdextension_configRémi Verschelde2022-12-061-23/+107
|\ | | | | | | Remove unnecessary checks when exporting gdextension binaries and allow using a prefix to auto-detect files
| * Allow specifying a prefix to automatically detect library files for ↵Gilles Roudière2022-12-011-23/+107
| | | | | | | | gdextension exports
* | Fix const qualifier for parameters in GDExtension api functionsEmmanuel Leblond2022-12-021-24/+24
|/
* Extension header: fix typos, documentation and member orderJan Haller2022-11-161-2/+2
|
* Use StringName in the whole GDExtension API instead of const char *Emmanuel Leblond2022-11-081-42/+67
|
* GDExtension: add support for abstract and virtual classesRicardo Buring2022-10-161-0/+2
|
* Rename String `plus_file` to `path_join`Aaron Franke2022-08-291-2/+2
|
* Make `property_*_revert` methods multilevel and expose them for scriptingYuri Sizov2022-08-181-0/+2
|
* Print expected `os.arch` tuple for current platform in GDExtension errorHugo Locurcio2022-08-081-3/+4
| | | | | This also adds `Engine.get_architecture_name()` to get the name of the CPU architecture the Godot binary was built for.
* Changed bool to GdNativeBoolbasta2022-07-161-1/+1
|
* Use BitField hint for the TextServer enums. Add missing parts for BitField ↵bruvzg2022-07-151-2/+2
| | | | support to the GDextension API.
* GDExtension: reuse code with constructor PropertyInfo(const ↵Jan Haller2022-06-291-23/+5
| | | | GDNativePropertyInfo&)
* GDExtension: print error messages for different error paths during loadingJan Haller2022-06-191-0/+7
|
* Fix NativeExtension::open_library return value when the undelying lib fails ↵Emmanuel Leblond2022-06-121-3/+6
| | | | to initialize
* Merge pull request #55876 from bradc6/feature/AllowForAbsoluteLibraryPathsRémi Verschelde2022-05-101-1/+1
|\
| * If a gdextension library filepath is an absolute path do not attempt to ↵Bradley Clemetson2021-12-231-1/+1
| | | | | | | | | | | | append the base directory on top of that. While this is a uncommon if not unused case for a release version it is helpful for development builds. Fix formatting
* | [GDExtension] Fix static method binds and default arguments.bruvzg2022-05-061-2/+13
| |
* | Merge pull request #60723 from reduz/refactor-module-initializationRémi Verschelde2022-05-041-1/+0
|\ \
| * | Refactor module initializationreduz2022-05-041-1/+0
| | | | | | | | | | | | | | | | | | | | | * Changed to use the same stages as extensions. * Makes the initialization more coherent, helping solve problems due to lack of stages. * Makes it easier to port between module and extension. * removed the DRIVER initialization level (no longer needed).
* | | Merge pull request #60714 from Calinou/typedef-remove-refRémi Verschelde2022-05-031-5/+5
|\ \ \ | |/ / |/| | Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`
| * | Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`Hugo Locurcio2022-05-031-5/+5
| | | | | | | | | | | | | | | | | | These typedefs don't save much typing compared to the full `Ref<Resource>` and `Ref<RefCounted>`, yet they sometimes introduce confusion among new contributors.
* | | Add GDNativeInterface::get_library_path to GDExtensionEmmanuel Leblond2022-04-291-1/+8
|/ /
* | Fix more issues found by cppcheck.bruvzg2022-04-201-7/+9
| |
* | Fix some issues found by cppcheck.bruvzg2022-04-061-8/+8
| |
* | Discern between virtual and abstract class bindingsreduz2022-03-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Previous "virtual" classes (which can't be instantiated) are not corretly named "abstract". * Added a new "virtual" category for classes, they can't be instantiated from the editor, but can be inherited from script and extensions. * Converted a large amount of classes from "abstract" to "virtual" where it makes sense. Most classes that make sense have been converted. Missing: * Physics servers * VideoStream * Script* classes. which will go in a separate PR due to the complexity involved.
* | Reorder native extension types initialization, initializing editor lastGilles Roudière2022-02-281-0/+1
| |
* | Fix extension registration order.Paulo Poiati2022-02-201-1/+2
| |
* | Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
| | | | | | | | Happy new year to the wonderful Godot community!
* | Replace String comparisons with "", String() to is_empty()Nathan Franke2021-12-091-1/+1
| | | | | | | | | | | | Also: - Adds two stress tests to test_string.h - Changes to .empty() on std::strings
* | Change gdnative interface so that Godot object initialization should be ↵Gilles Roudière2021-11-301-1/+0
|/ | | | triggered from the extension side
* Merge pull request #52711 from m4gr3d/provide_getter_for_project_data_dir_masterRémi Verschelde2021-10-051-1/+3
|\
| * Provide a getter for the project data directory.ne0fhyk2021-09-151-1/+3
| |
* | Add property group and subgroup registration to extensionsBastiaan Olij2021-09-161-0/+21
|/
* Implement Extension Loaderreduz2021-08-201-0/+2
| | | | | | | * Extensions are now scanned and loaded on demand. * Extensions found are cached into a file that is used to load them (which is also exported). * Editor will ask to restart when an extension requires core functionality. * Editor will attempt to load extensions always before importing or loading scenes. This ensures extensions can register the relevant types.
* Properly set up virtual calls for extensionsGeorge Marques2021-08-171-0/+1
|
* Initialize call error struct when calling extensionsGeorge Marques2021-08-171-2/+2
| | | | This allows users to not need to set it when the call is correct.
* Improve extension systemGeorge Marques2021-08-051-10/+15
| | | | | | | - Fix library loading and initialization. - Add extra methods/parameters in the interface needed by extenstions. - Add Variant destructors and functions for extracting values and creating Variants from values.
* Use const references where possible for List range iteratorsRémi Verschelde2021-07-251-1/+1
|
* Use C++ iterators for Lists in many situationsAaron Franke2021-07-231-3/+3
|
* Implement native extension systemreduz2021-06-251-0/+411
* Deprecates GDNative in favor of a simpler, lower level interface. * New extension system allows registering core engine classes. * Simple header interface in gdnative_interace.h