summaryrefslogtreecommitdiff
path: root/modules/gdnative
AgeCommit message (Collapse)Author
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[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.
2021-02-08Initialize class/struct variables with default values in modules/Rafał Mikrut
2021-02-02C conformance: Include stdbool.h to define `bool`Miguel de Icaza
`bool` is otherwise not defined in C.
2021-01-31Merge pull request #45315 from RandomShaper/modernize_threadRémi Verschelde
Modernize Thread
2021-01-29Add GDNative JSON generator for the builtin APIGeorge Marques
Which can be used by language bindings to generate code statically. This is generated as a different file from the class API because it has different requirements (the builtin types have constructors and don't have signals), so bindings can better make use of each JSON file without extra parsing. This also cleans up a bit the old API generator, mainly initializing structs and renaming "instanciable" to the more correct "instantiable". The argument description in help text was updated to better reflect how it should be used. The <path> argument is mandatory.
2021-01-29Modernize ThreadPedro J. Estébanez
- Based on C++11's `thread` and `thread_local` - No more need to allocate-deallocate or check for null - No pointer anymore, just a member variable - Platform-specific implementations no longer needed (except for the few cases of non-portable functions) - Simpler for `NO_THREADS` - Thread ids are now the same across platforms (main is 1; others follow)
2021-01-26Merge pull request #45373 from aaronfranke/gdnative-sizeofGeorge Marques
Define GDNative sizes using sizeof(godot_real) and sizeof(int32_t)
2021-01-26Merge pull request #44617 from geekrelief/gdnative_unloadRémi Verschelde
free library when no nativescripts reference it
2021-01-25Define GDNative sizes using sizeof(godot_real_t) and sizeof(int32_t)Aaron Franke
2021-01-25GDNative: Remove print functionsGeorge Marques
Those are now utilities so the function pointer can be fetched when needed.
2021-01-25GDNative: New core APIGeorge Marques
This API now uses the discovery functions present in Variant instead of wrapping every built-in function. Users now need to query for function pointers and use those.
2021-01-05Changed type to make it work on x32 architecture.zero13cool
2021-01-01Update copyright statements to 2021Rémi Verschelde
Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
2020-12-28Merge pull request #44149 from madmiraal/rename-tangent-orthogonalRémi Verschelde
Rename Vector2.tangent() to Vector2.orthogonal()
2020-12-28Rename Rect2 and Rect2i grow_margin() to grow_side()Marcel Admiraal
2020-12-28Rename empty() to is_empty()Marcel Admiraal
2020-12-23Removes the gdnative library when no script (gdns) references it any longer. ↵geekrelief
This enables hot reload for gdnative.
2020-12-23Rename Control margin to offsetMarcel Admiraal
2020-12-21Rename XRPositionalTracker methodsMarcel Admiraal
Renames: - set_type() -> set_tracker_type() - set_name() -> set_tracker_name() - get_tracks_orientation() - `is_tracking_orientation() - get_tracks_position() -> `is_tracking_position() - get_hand() -> get_tracker_hand() - set_hand() -> set_tracker_hand()
2020-12-21Merge pull request #44261 from madmiraal/rename-trackerhand-enumsRémi Verschelde
Rename TrackerHand enums
2020-12-19Rename Rect2 and Rect2i clip() to intersection()Marcel Admiraal
2020-12-14Rename AcceptDialog get_ok() to get_ok_button()Marcel Admiraal
Also renames: - AcceptDialog add_cancel() to add_cancel_button() - ConfirmationDiaglog get_cancel() to get_cancel_button()
2020-12-13[Complex Text Layouts] Add variable fonts support.bruvzg
2020-12-10Rename TrackerHand enumsMarcel Admiraal
Renames: TRACKER_LEFT_HAND -> TRACKER_HAND_LEFT TRACKER_RIGHT_HAND -> TRACKER_HAND_RIGHT
2020-12-08Merge pull request #44190 from ↵Rémi Verschelde
touilleMan/constify-ScriptLanguage.can_inherit_from_file Constify ScriptLanguage.can_inherit_from_file
2020-12-08Merge pull request #44176 from touilleMan/global_class_naming-for-pluginscriptRémi Verschelde
Add PluginScript support for global class naming/icon path
2020-12-08Add PluginScript support for global class naming/icon pathEmmanuel Leblond
2020-12-08Constify ScriptLanguage.can_inherit_from_fileEmmanuel Leblond
2020-12-08Allow PluginScript to customize language's can_inherit_from_file attributeEmmanuel Leblond
2020-12-07Merge pull request #44076 from Faless/js/4.x_gdnativeRémi Verschelde
[HTML5] Optional GDNative Support
2020-12-06Rename Vector2.tangent() to Vector2.orthogonal()Marcel Admiraal
2020-12-05[HTML5] Make GDNative support feature-based.Fabio Alessandrelli
This is suboptimal as it requires adding an extra compile flag, but rewriting how feature tags work is beyond the scope of this work.
2020-12-05[HTML5] GDNative support via SIDE_MODULE.Fabio Alessandrelli
Working with emscripten >= 2.0.10
2020-12-04Rename TYPE_REAL to TYPE_FLOATGeorge Marques
To be consistent with the naming everywhere else.
2020-12-02Refactor DocData into core and editor (DocTools) partsThakee Nathees
2020-11-29Documentation generation for GDScriptThakee Nathees
- ClassDoc added to GDScript and property reflection data were extracted from parse tree - GDScript comments are collected from tokenizer for documentation and applied to the ClassDoc by the GDScript compiler - private docs were excluded (name with underscore prefix and doesn't have any doc comments) - default values (of non exported vars), arguments are extraced from the parser - Integrated with GDScript 2.0 and new enums were added. - merge conflicts fixed
2020-11-26[Complex Text Layouts] Implement GDNative interface for TextServer.bruvzg
2020-11-25Core: Always enable ptrcall, remove PTRCALL_ENABLED defineRémi Verschelde
ptrcall is now also used to optimize calls in GDScript, on top of the existing use by the GDNative and Mono modules. It no longer makes sense to make it optional.
2020-11-16Remove empty lines around braces with the formatting scriptAaron Franke
2020-11-11Refactor variant built-in methods yet again.reduz
* Using C-style function pointers now, InternalMethod is gone. * This ensures much better performance in typed code. * Renamed builtin_funcs to utility_funcs, to avoid naming confusion