summaryrefslogtreecommitdiff
path: root/core/object
AgeCommit message (Collapse)Author
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-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
2022-10-03Fix hide_slider vs no_slider inconsistency in editor property codeAaron Franke
2022-10-03Remove unsupported `NO_SAFE_CAST`/`-fno-rtti` from Android buildRémi Verschelde
Android was the last platform to still attempt to disable RTTI (for binary size), but both the Android editor and now the ICU library used by templates need RTTI. There could still be the possibility to support this for non-ICU template builds (i.e. without the TextServerAdvanced module), but since this isn't one of the build configurations we test regularly it's pretty risky to keep this option only for that specific use case. And our code is already littered with `dynamic_cast`s which weren't guarded with `!defined(NO_SAFE_CAST)`.
2022-09-30Fix typos with codespellRémi Verschelde
Using codespell 2.3-dev from current git. And fix typo in `methods.py` for `vsproj=yes` option (still won't work though).
2022-09-28Rename `script_instance` to `_script_instance` in the `GDVIRTUAL*` wrappers ↵bruvzg
to avoid shadowing `Object` member.
2022-09-26MethodBind: Silence GCC `-Wmaybe-uninitialized` caused by UBSANRémi Verschelde
A priori this doesn't appear to be an actual bug, but a known consequence of using UBSAN. We silence this one to still have the possibility to get more warnings raised by UBSAN, in case they are useful. Works around and closes #66343.
2022-09-26Add autocompletion to several Object methodsMicky
Add autocompletion for the following Object methods: - `connect`, `is_connected`, `disconnect`, `emit_signal`, `has_signal`; - `call`, `call_deferred`, `callv`, `has_method`; - `set`, `set_deferred`, `get`; - `set_meta`, `remove_meta`, `has_meta`, `remove_meta`.
2022-09-22Merge pull request #66110 from Zylann/reference_get_countRémi Verschelde
get_reference_count()`
2022-09-21Rename and expose `RefCounted::get_reference_count()`Marc Gilleron
2022-09-18Change UndoRedo to use Callableskobewi