summaryrefslogtreecommitdiff
path: root/modules/gdnative
AgeCommit message (Collapse)Author
2021-06-14GDNative: Use VariantWriter for the API JSON generatorGeorge Marques
Instead of the String representation, which can be finicky to work with. VariantWriter is more robust since changes to it affects the whole system thus it's changed less often and it's never ambiguous.
2021-06-13Add stereoscopic rendering through multiviewBastiaan Olij
2021-06-11Rename Reference to RefCountedPedro J. Estébanez
2021-06-11Core: Move DirAccess and FileAccess to `core/io`Rémi Verschelde
File handling APIs are typically considered part of I/O, and we did have most `FileAccess` implementations in `core/io` already.
2021-06-07Merge pull request #49221 from Faless/mp/4.x_rpc_refactorRémi Verschelde
[Net] Refactor RPCs, remove RSETs
2021-06-07Style: Cleanup uses of double spaces between wordsRémi Verschelde
Or after punctuation. Tried to leave third-party stuff alone, unless it has been heavily modified for Godot.
2021-06-04Rename Quat to QuaternionMarcel Admiraal
2021-06-04Rename GODOT_VARIANT_TYPE_TRANSFORM to GODOT_VARIANT_TYPE_TRANSFORM3DBastiaan Olij
2021-06-03Rename Transform to Transform3D in GDNativeAaron Franke
2021-06-03Rename files and the exposed name for Transform3DAaron Franke
2021-06-03Rename Transform to Transform3D in coreAaron Franke
2021-06-01[Net] Refactor RPCs, remove RSETsFabio Alessandrelli
In this PR: - Removed rset - rpc_config can now optionally configure transfer mode (reliable/unreliable/ordered) and channel (channels are not actually implemented yet.) - Refactor how the RPC id is computed to minimize the logic in Node and scripts that now only needs a single `get_rpc_methods` function.
2021-05-30Check for _language in PluginScript.instance_hasPaweł Fertyk
2021-05-25Rename File::get_len() get_length()Marcel Admiraal
2021-05-24Add GDNative Framework loading and export support.bruvzg
2021-05-17Make all file access 64-bit (uint64_t)Pedro J. Estébanez
This changes the types of a big number of variables. General rules: - Using `uint64_t` in general. We also considered `int64_t` but eventually settled on keeping it unsigned, which is also closer to what one would expect with `size_t`/`off_t`. - We only keep `int64_t` for `seek_end` (takes a negative offset from the end) and for the `Variant` bindings, since `Variant::INT` is `int64_t`. This means we only need to guard against passing negative values in `core_bind.cpp`. - Using `uint32_t` integers for concepts not needing such a huge range, like pages, blocks, etc. In addition: - Improve usage of integer types in some related places; namely, `DirAccess`, core binds. Note: - On Windows, `_ftelli64` reports invalid values when using 32-bit MinGW with version < 8.0. This was an upstream bug fixed in 8.0. It breaks support for big files on 32-bit Windows builds made with that toolchain. We might add a workaround. Fixes #44363. Fixes godotengine/godot-proposals#400. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2021-05-11GDNative: Fix size mismatch on 32-bit platforms for Signal and CallableRémi Verschelde
Fixes #48645.
2021-05-05Highlight control flow keywords with a different colorHugo Locurcio
This makes them easier to distinguish from other keywords.
2021-04-29Replace remaining uses of `NULL` with `nullptr`Rémi Verschelde
Follow-up to #38736 (these uses were likely added after this PR was merged).
2021-04-27Core: Drop custom `copymem`/`zeromem` definesRémi Verschelde
We've been using standard C library functions `memcpy`/`memset` for these since 2016 with 67f65f66391327b2967a20a89c3627e1dd6e84eb. There was still the possibility for third-party platform ports to override the definitions with a custom header, but this doesn't seem useful anymore.
2021-04-22Fix crash on GDNative API json generator exit.bruvzg
2021-04-06Only cleanup meta data if GDNative library is reloadable and we're about to ↵Bastiaan Olij
unload it
2021-04-04Fixes #47607 (forgotten statement in GDNative cleanup)Jan Haller
Co-authored-by: geekrelief <geekrelief@gmail.com>
2021-04-03Merge pull request #47452 from BastiaanOlij/xr_positional_tracker_refRémi Verschelde
Change XRPositionalTracker to a reference (master)
2021-04-01Merge pull request #46991 from madmiraal/rename-invert-reverseRémi Verschelde
Rename Array.invert() to Array.reverse()
2021-03-31Fix gdnative config file set as nullKyle
Fixes # Setting a GDNativeLibrary config file as null or any other object but a ConfigFile will now cause an error.
2021-03-31[Complex Text Layouts] Provide access to glyph contour points.bruvzg
2021-03-29Merge pull request #46844 from geekrelief/gdnative_unregister_script_fixRémi Verschelde
fixes #46839, ensure library_classes is cleared and free funcs are ca…
2021-03-29Change XRPositionalTracker to a reference and better expose it to GDNativeBastiaan Olij
2021-03-27Add support for _to_string virtual function overwrite in PluginscriptEmmanuel Leblond
2021-03-23Rename some more global enums (Key, Joy, MIDI)Aaron Franke
2021-03-21Rename Array.invert() to Array.reverse()Marcel Admiraal
Does the same internally for List and Vector<>, which includes all PackedArray types.
2021-03-17Added static method information the generated builtin API JSONGeorge Marques
2021-03-17Further changes in GDNative APIGeorge Marques
- Added new_copy to all types, since trivial copy won't work for all types. - Added functions to convert from String to char array types, which is not provided by the methods bound in Variant. - Added operator index to String. - Added missing cstring version of some Variant functions. They existed in the header but didn't have the implementation and were missing from the gdnative_api.json file. - Added support for static calls on Variant types.
2021-03-12Fixes small typos and grammar correctionAnshul7sp1
2021-03-12Merge pull request #44671 from o01eg/fix-gcc-visibilityRémi Verschelde
GDNative: Fix symbols visibility for GCC
2021-03-10Implement Navigation layersGilles Roudière
2021-03-09fixes #46839, ensure library_classes is cleared and free funcs are calledgeekrelief
Co-authored-by: toasteater <48371905+toasteater@users.noreply.github.com> Co-authored-by: Jan Haller <bromeon@gmail.com>
2021-02-24Merge pull request #46045 from bruvzg/text_server_bmp_createRémi Verschelde
[TextServer] Restores bitmap font dynamic construction functions.
2021-02-18Merge pull request #45617 from RandomShaper/modernize_atomicsRémi Verschelde
Modernize atomics (and fix `volatile`)
2021-02-18Modernize atomicsPedro J. Estébanez
- Based on C++11's `atomic` - Reworked `SafeRefCount` (based on the rewrite by @hpvb) - Replaced free atomic functions by the new `SafeNumeric<T>` - Replaced wrong cases of `volatile bool` by the new `SafeFlag` - Platform-specific implementations no longer needed Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2021-02-18Reorganize Project Settingsreduz
-Advanced Settings toggle also hides advanced properties when disabled -Simplified Advanced Bar (errors were just plain redundant) -Reorganized rendering quality settings. -Reorganized miscelaneous settings for clean up.
2021-02-15[Text Server] Restores bitmap font dynamic construction functions.bruvzg
2021-02-15[TextServer] Restore character and space extra spacing support.bruvzg
2021-02-14Only unload the library when no NativeScript objects exist if the reloadable ↵Bastiaan Olij
flag is true. If it is false it is likely the library does other things and can't be unloaded
2021-02-11Improve resource load cachereduz
-Added a new method in Resource: reset_state , used for reloading the same resource from disk -Added a new cache mode "replace" in ResourceLoader, which reuses existing loaded sub-resources but resets their data from disk (or replaces them if they chaged type) -Because the correct sub-resource paths are always loaded now, this fixes bugs with subresource folding or subresource ordering when saving.
2021-02-11Fix broken gdnative variant testHenry Conklin
2021-02-11Merge pull request #45847 from vnen/gdnative-bindingsRémi Verschelde
Improve GDNative API and JSON generation further
2021-02-10Removed _change_notifyreduz
-For inspector refresh, the inspector now detects if a property change by polling a few times per second and then does update the control if so. This process is very cheap. -For property list refresh, a new signal (property_list_changed) was added to Object. _change_notify() is replaced by notify_property_list_changed() -Changed all objects using the old method to the signal, or just deleted the calls to _change_notify(<property>) since they are unnecesary now.
2021-02-09Improve GDNative api.json generatorGeorge Marques
- Add indexed type to the builtin types output, which is useful for bindings implementing array-like access. - Use getter type instead of hint for property types, as the hint can be unreliable and include multiple comma-separated possible types.