summaryrefslogtreecommitdiff
path: root/modules/gdnative
AgeCommit message (Collapse)Author
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.
2021-02-09Further changes to GDNative APIGeorge Marques
- Moved Variant struct definition to its own file so it can be used without include cycles (like on Dictionary). - Add `index` operator function so bindings like C++ can implement the operator[] overload (which needs a reference to the actual value). - Added missing new/destroy functions to Vector3i array. - Added print error/warning functions as helpers so bindings can print messages in the same manner as Godot itself does.