summaryrefslogtreecommitdiff
path: root/core/object
AgeCommit message (Collapse)Author
2023-01-10Fix Callable call error reporting.Juan Linietsky
* Fix potential crash when using bind in `Variant::get_callable_error_text()` * Properly compute bound arguments so they can be properly shown. * Add a function to obtain the actual bound arguments.
2023-01-09Removed unused property hints and `Object::get_translatable_strings()`Juan Linietsky
* Remove unused `EditorPropertyMember` and related hints, previouly used by VisualScript. Such logic should be implemented in the VS module itself. * As the above broke compatibility with the VS module, clean up the other hacks that were still in core in support of VisualScript. * `PROPERTY_USAGE_INTERNATIONALIZED` was only used in Object's `get_translatable_strings()`, which is a legacy function not used anywhere. So both are removed. * Reordered some usage flags after the above removal to minimize the diff. * General clean up. Fixes #30203. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-01-09Merge pull request #70996 from reduz/properly-report-callable-bound-argumentsRémi Verschelde
Properly report Callable bound arguments
2023-01-09Merge pull request #71045 from reduz/use-bitfield-in-core-typesRémi Verschelde
Use BitField<> in core type masks
2023-01-08Properly report Callable bound argumentsJuan Linietsky
Fixes #63213 Adds a function: Callable::get_amount_of_arguments_bound() to query this in callables. Exposed to the engine API.
2023-01-08Use BitField<> in core type masksJuan Linietsky
* All core types masks are now correctly marked as bitfields. * The enum hacks in MouseButtonMask and many other types are gone. This ensures that binders to other languages non C++ can actually implement type safe bitmasks. * Most bitmask operations replaced by functions in BitField<> * Key is still a problem because its enum and mask at the same time. While it kind of works in C++, this most likely can't be implemented safely in other languages and will have to be changed at some point. Mostly left as-is. * Documentation and API dump updated to reflect bitfields in core types.
2023-01-06Fix `ScriptInstanceExtension::get_property_default_value` return valuevoidedWarranties
2023-01-06Merge pull request #68429 from KoBeWi/PropertySettingsRémi Verschelde
Add PropertyInfo overload for GLOBAL_DEF
2023-01-06Merge pull request #64253 from heppocogne/Fix-native-enum-release-1Rémi Verschelde
Register enum type names in release build
2023-01-05One Copyright Update to rule them allRémi Verschelde
As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
2022-12-30Register native base class name of enum types when release buildheppocogne
2022-12-13Improve logic around using Ref<T> with GDExtension virtual functionsBastiaan Olij
2022-12-12Merge pull request #69718 from groud/finally_rename_gdnative_to_gdextensionRémi Verschelde
Rename all gdnative occurences to gdextension
2022-12-12Rename all gdnative occurences to gdextensionGilles Roudière
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
2022-12-11Add PropertyInfo overload for GLOBAL_DEFkobewi
2022-12-08Fix unable to disconnect signal in Editor once createdMicky
Adds a CONNECT_INHERITED flag to connections, only available in editor builds. This flag denotes that the signal has been inherited from a previous Scene in the instancing hierarchy.
2022-12-05Merge pull request #69343 from YuriSizov/core-missing-property-revert-gettersRémi Verschelde
Add missing public `property_*_revert` getters
2022-12-05Merge pull request #69357 from TokageItLab/byebye-triggerRémi Verschelde
Remove `UPDATE_TRIGGER` mode from `ValueTrack::UpdateMode` & Match behaviors between `AnimationTree` and `AnimationPlayer`
2022-12-02Fix const qualifier for parameters in GDExtension api functionsEmmanuel Leblond
2022-12-02Remove UPDATE_TRIGGER & Match behaviors between AnimationTree/PlayerSilc Renew
#69357
2022-11-29Add missing public property_*_revert gettersYuri Sizov
2022-11-29Merge pull request #67680 from haasanen/fix_physics_thread_race_conditionRémi Verschelde
Fix physics/3d/run_on_separate_thread race condition in WorkerThreadPool (crash).
2022-11-24Add MAKE_RESOURCE_TYPE_HINT macro to simplify binding arrays of resourcesRémi Verschelde
2022-11-21Fixes inability to assign script after clearingocean (they/them)
2022-11-15Remove `PROPERTY_HINT_IMAGE_COMPRESS` constantsMicky
These were used in 3.x but there's no reference of them in the codebase, at all.
2022-11-14Merge pull request #67963 from KoBeWi/den_of_actionsRémi Verschelde
Fix nested actions in EditorUndoRedoManager
2022-11-12Revert removal of ↵Emmanuel Leblond
GDNativeExtensionScriptInstanceInfo::get_property_type_func in GDExtension This function pointer is needed to stay close to internal Godot's ScriptInstance class. Besides, by removing this function pointer, we had to do property list create/free each time we want to access type which is quadratic complexity :/
2022-11-09Fix default values on virtual classes causing errors in projectsAaron Franke
2022-11-08Use StringName in the whole GDExtension API instead of const char *Emmanuel Leblond
2022-11-06Fix default values not showing up on virtual classesAaron Franke
2022-11-05Don't allow instancing virtual node types in the Create New Node dialogAaron Franke
2022-11-02Merge pull request #67693 from Mickeon/slight-hint-shufflingRémi Verschelde
Fix unordered values of PROPERTY_HINT_INT_IS_POINTER & ARRAY_TYPE
2022-10-31Merge pull request #67578 from KoBeWi/GEDITORRémi Verschelde
Unify usage of GLOBAL/EDITOR_GET
2022-10-28Fix nested actions in EditorUndoRedoManagerkobewi
2022-10-21Fix unordered values of PROPERTY_HINT_INT_IS_POINTER & ARRAY_TYPEMicky
2022-10-20Fixes HashMap::erase related race condition in WorkerThreadPool when Physics ↵Simo Haasanen
2D or 3D is selected to run on a separate thread.
2022-10-18Unify usage of GLOBAL/EDITOR_GETkobewi
2022-10-18Minor code improvementskobewi
2022-10-16GDExtension: add support for abstract and virtual classesRicardo Buring
2022-10-13Merge pull request #66427 from Mickeon/object-methods-autocompletionRémi Verschelde
Add autocompletion to several Object methods
2022-10-12Merge pull request #67300 from Mickeon/indexed-objectionRémi Verschelde
Rename `set`/`get_indexed`'s "property" to "property_path"
2022-10-12Rename `set`/`get_indexed`'s "property" to "property_path"Micky
Also touches up the Documentation slightly.
2022-10-12Fix _unnamed_arg so that arguments defined by GDExtension show up in docs.Quentin Quaadgras
The Godot API (gdnative_interface.h) allows methods to be registered on extension classes with `classdb_register_extension_class_method` a `GDNativeExtensionClassMethodInfo` can be provided to this function along with a `get_argument_info_func` which according to the comment indicates that argument names should be definable here. Unfortunately, setting the name field in the `GDNativePropertyInfo` struct has no effect on the editor documentation, which continues to display "_unnamed_arg" for each argument. I discovered that `get_argument_info` is responsible for this as it always overrides the `info.name`. I've added an if condition that will only override the name when it is empty. I've tested this with my GDExtension module and I can confirm that with this commit, the argument name shows up in the builtin docs. eg. in Lookup Symbol.
2022-10-11Implement ScriptExtension::get_documentationEmmanuel Leblond
2022-10-10SCons: Re-enable treating `#warning` as error with `werror`Rémi Verschelde
Replace all TODO uses of `#warning` by proper TODO comments, and will open matching bug reports to keep track of them. We don't have a great track record fixing TODOs, but I'd wager we're even worse for fixing these "TODO #warning" so we should prohibit this usage.
2022-10-10SCons: Cleanup GCC warnings configurationRémi Verschelde
- Outright disable spammy warnings due to past or present GCC bugs: * `-Wno-strict-overflow` for GCC 7. * `-Wno-type-limits` for GCC before 11 (regressed in 9/10, might work in earlier releases but at this stage we don't care). * `-Wno-return-type` for GCC 12/13 (regression, still not fixed). - Enable extra warnings conditionally when broken on earlier GCC: * `-Wnoexcept` was removed due to an upstream regression in GCC 9, could be re-enabled (but commented out for now as we actually have `-Wnoexcept` warnings to fix. * `-Wlogical-op` was broken on our variadic templates before GCC 11, now seems fine.
2022-10-08Validate input in `ScriptServer::register_language`Haoyu Qiu
2022-10-07Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg
change warnings=all to use /W4.
2022-10-05free NativeExtensionMethodBinds on unregisterWaridley
2022-10-05Merge pull request #66839 from aaronfranke/editor-prop-hide-sliderRémi Verschelde
Fix `hide_slider` vs `no_slider` inconsistency in editor property code