99fd6ca98c
Unbind GDExtension methods that can't reasonably be used
2024-02-16 16:31:09 -06:00
2afa3557b4
Allow GDExtensions to set a compatibility_maximum
2024-02-16 16:02:55 -06:00
a8bc9f3e78
Add const lvalue ref to core/* container parameters
2024-02-14 11:20:36 -03:00
fd43a7f3be
Merge pull request #88188 from dsnopek/gdextension-api-double-compatibility-hashes
...
Fix `gdextension_compat_hashes.cpp` for double precision builds
2024-02-12 23:29:41 +01:00
306dd5be3f
Merge pull request #87758 from dsnopek/gdextension-register-virtual-method
...
Allow GDExtensions to register virtual methods and call them on scripts
2024-02-12 23:29:37 +01:00
be11002e41
Allow GDExtensions to register virtual methods and call them on scripts
2024-02-12 13:29:18 -06:00
445e3018f5
Fix gdextension_compat_hashes.cpp for double precision builds
2024-02-10 19:05:33 -06:00
dc4c6cfb9b
Add null check for gdextension deinitialization
2024-02-04 18:38:59 +03:00
f468e59efd
GDExtension: add an interface for loading extra documentation
...
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 >
2024-01-26 13:53:33 +01:00
96a95cb974
Add const lvalue ref to container parameters
2024-01-05 14:49:57 -03:00
fe6b073811
Distinguishs between dynamic library not found and can't be opened.
2024-01-01 20:01:57 +08:00
82afe58aca
Fix operator documentation in GDExtension API dump with docs
...
The type of the right operand is now taken into account.
2023-12-12 18:55:31 +01:00
5cf6d08dda
Check that GDExtensionCompatHashes are valid when generating extension_api.json
2023-11-16 06:40:06 -06:00
dfe2df989d
Merge pull request #84493 from bruvzg/gde_ios_static_fix
...
[iOS, GDExtension] Fix loading and exporting static libraries and xcframeworks.
2023-11-10 10:44:56 +01:00
d4d5d68eda
[iOS, GDExtension] Fix loading and exporting static libraries and xcframeworks.
2023-11-09 20:04:40 +02:00
09fcc3a1ad
Change GDExtension's library_path back to an absolute path
2023-11-09 11:24:57 -06:00
f86054e3a0
GDExtension: Save and compare modification times separately for reload
2023-11-02 08:29:22 -05:00
f7c43a8a19
Merge pull request #83800 from dsnopek/gdextension-callable-custom-object-id
...
GDExtension: Use `ObjectID` when creating custom callable
2023-10-25 10:29:58 +02:00
b0a33cac7c
GDExtension: Use ObjectID when creating custom callable
2023-10-23 09:05:17 -05:00
f2bcd7d61f
GDExtension: Fixed error on loading extensions
...
Previously, before loading an extension, the editor just tried to
retrieve the extension by path to test if it's been loaded already.
While this is handled gracefully, it ignored an error thrown inside
`GDExtensionManager::get_extension()`, that would essentially still
report a not yet loaded extension to the engine's log:
```
ERROR: Condition "!E" is true. Returning: Ref<GDExtension>()
at: GDExtensionManager::get_extension (core\extension\gdextension_manager.cpp:165)
```
This change actively checks whether the extension path is known and only
then proceeds to actually return the already loaded extension or loads
and returns the new one otherwise.
2023-10-21 17:00:18 +02:00
b14f359c94
GDExtension: Fix variant_iter_get() actually calling iter_next()
2023-10-20 10:07:46 -05:00
582ed157b5
Fix StringName leaks in GDExtension, core, and editor themes
2023-10-18 17:36:20 +02:00
fd33c7b32f
Merge pull request #83415 from touilleMan/fix-comment-gdextension_interface
...
Fix comment in `gdextension_interface.h`
2023-10-16 21:42:01 +02:00
5aa9f1ce64
Fix comment in gdextension_interface.h
2023-10-16 21:40:45 +02:00
eb9903b4ce
Merge pull request #83285 from dsnopek/gdextension-double-reload
...
GDExtension: Prevent issues with the editor trying to reload GDExtensions through its usual mechanism
2023-10-16 18:44:51 +02:00
c87b2a606e
Add brief description in GDExtension API dump with docs
...
Also rename the "documentation" key to "description" for internal
consistency.
2023-10-14 12:06:37 +02:00
16a86b9604
GDExtension: Prevent issues with the editor trying to reload GDExtensions through its usual mechanism
2023-10-13 13:24:29 -05:00
b40d90d333
Merge pull request #83107 from dsnopek/validated-method-vararg-message
...
GDExtension: Fix incorrect error message about vararg methods
2023-10-10 22:51:41 +02:00
87cb0bfa50
GDExtension: Fix incorrect error message about vararg methods
2023-10-10 08:46:25 -05:00
88b6fee547
GDExtension: Use correct return pointer for validated calls that return Variant
2023-10-10 08:31:08 -05:00
f18aa00e85
Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable
2023-10-08 17:23:33 +02:00
a6a2d0d159
Merge pull request #82794 from dsnopek/gdextension-validated-call
...
GDExtension: Convert `validated_call()` to `ptrcall()` (rather than `call()`)
2023-10-06 16:50:57 +02:00
7c56631419
Merge pull request #82861 from mihe/gdext-entry-false
...
Fix extensions loading/initializing even when entry point fails
2023-10-05 22:50:35 +02:00
5c6353ae17
Fix extensions loading/initializing even when entry point fails
2023-10-05 18:24:58 +02:00
d427851013
Resolve relative icon paths for GDExtensions
2023-10-05 12:49:31 +02:00
0a246e9b54
expose Object::free_instance_binding to GDExtension
2023-10-04 19:24:37 +02:00
55596eaac6
GDExtension: Convert validated_call() to ptrcall() (rather than call())
2023-10-04 10:53:17 -05:00
dbd4c79c38
Merge pull request #82682 from dsnopek/gdextension-dont-deprecate-script-category
...
GDExtension: Don't deprecate old method of getting script category
2023-10-03 17:26:41 +02:00
cbf939e121
GDExtension: Don't deprecate old method of getting script category
2023-10-02 09:23:27 -05:00
43f92e4752
Fix inconsistent last_modified_time handling (prevent GDExtension reload spam on Windows 10)
2023-10-01 22:05:57 +04:00
5f53ec9129
Merge pull request #78995 from Gallilus/master
...
Allow implementing `get_class_category` in GDExtension
2023-09-27 19:07:50 +02:00
531f56e830
add GDExtensionScriptInstanceGetClassCategory
...
Change GetClassCategory so it is handled in native directly
2023-09-27 17:45:48 +02:00
251fb83d53
Merge pull request #82331 from rburing/gdextension_dump_docs
...
Optionally include documentation in GDExtension API dump
2023-09-26 22:46:34 +02:00
8ee04c5f87
Optionally include documentation in GDExtension API dump
2023-09-26 21:39:24 +02:00
2733a6f762
Implement reloading of GDExtensions
2023-09-25 22:10:17 -05:00
d8c31155a8
Merge pull request #82191 from dsnopek/gdextension-redundant-hash-check
...
GDExtension: Remove redundant method bind hash check
2023-09-24 23:35:45 +02:00
40b48b13ee
Merge pull request #78580 from Bromeon/feature/gdextension-stringname-ctor
...
Add GDExtension function to construct StringName directly from char*
2023-09-24 23:30:04 +02:00
c770937db5
More precise documentation for GDExtension String constructors (bytes vs. character count)
2023-09-24 20:57:58 +02:00
ed3015e979
GDExtension: construct StringName directly from char*
...
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.
2023-09-24 18:18:05 +02:00
0967fe6217
GDExtension: Remove redundant method bind hash check
2023-09-23 08:48:33 -05:00