summaryrefslogtreecommitdiffstats
path: root/core/object/class_db.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Implement properties arrays in the Inspector.Gilles Roudière2021-09-071-0/+12
|
* Implement error return documetationreduz2021-08-241-0/+26
| | | | | | | | | | | | | | Adds ability to add error return documetation to the binder and class reference. Usage example: ```C++ void MyClass::_bind_method() { [..] BIND_METHOD_ERR_RETURN_DOC("load", ERR_FILE_CANT_OPEN, ERR_FILE_UNRECOGNIZED); } ``` One function of ConfigFile was changed as example.
* Replace BIND_VMETHOD by new GDVIRTUAL syntaxreduz2021-08-221-1/+14
| | | | | | | | | | | * New syntax is type safe. * New syntax allows for type safe virtuals in native extensions. * New syntax permits extremely fast calling. Note: Everything was replaced where possible except for `_gui_input` `_input` and `_unhandled_input`. These will require API rework on a separate PR as they work different than the rest of the functions. Added a new method flag METHOD_FLAG_OBJECT_CORE, used internally. Allows to not dump the core virtuals like `_notification` to the json API, since each language will implement those as it is best fits.
* Fix capsule height/radius setters with linked propertiesPouleyKetchoupp2021-08-191-0/+14
| | | | | | | | | | | | | | | Capsule height and radius setters can modify each other, rather than using clamping, to avoid cases where values are not set correctly when loading a scene (depending on the order of properties). Inspector undo/redo: Added the possibility to link properties together in the editor, so they can be undone together, for cases where a property can modify another one. Gizmo undo/redo: Capsule handles pass both radius and height values so they can be undone together.
* Add a instance callback for extensionsGeorge Marques2021-08-051-2/+4
| | | | | | | This sends the Godot object instance back to the extension so they can keep a pointer for function calls. Incidentally fix argument order on instance bindings callback for free()
* Use const references where possible for List range iteratorsRémi Verschelde2021-07-251-14/+16
|
* Merge pull request #50786 from reduz/implement-resource-uidsRémi Verschelde2021-07-241-0/+4
|\ | | | | Implement Resource UIDs
| * Implement Resource UIDsreduz2021-07-241-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Most resource types now have unique identifiers. * Applies to text, binary and imported resources. * File formats reference both by text and UID (when available). UID always has priority. * Resource UIDs are 64 bits for better compatibility with the engine. * Can be represented and used textually, example `uuid://dapwmgsmnl28u`. * A special binary cache file is used and exported, containing the mappings. Example of how it looks: ```GDScript [gd_scene load_steps=2 format=3 uid="uid://dw86wq31afig2"] [ext_resource type="PackedScene" uid="uid://bt36ojelx8q6c" path="res://subscene.scn" id="1_t56hs"] ``` GDScript, shaders and other special resource files can't currently provide UIDs, but this should be doable with special keywords on the files. This will be reserved for future PRs.
* | Use C++ iterators for Lists in many situationsAaron Franke2021-07-231-37/+36
|/
* Editor StringName and Viewport optimizationsJoan Fons2021-07-201-20/+20
| | | | | | | | | | | * Added explicit return type to the SNAME macro. * Add some extra SNAME usages. * Change some ClassDB methods to use const StringName & arguments. * Cache the Window parent in Control because it's used in is_layout_rtl(), which is called often. * Only enable internal processing for viewports that need it. * Change CanvasItem::group to be a StringName because it's only used as that.
* Implement native extension systemreduz2021-06-251-3/+8
| | | | | | * Deprecates GDNative in favor of a simpler, lower level interface. * New extension system allows registering core engine classes. * Simple header interface in gdnative_interace.h
* Rename `instance()`->`instantiate()` when it's a verbLightning_A2021-06-191-4/+4
|
* Add API for registering native extensionsreduz2021-06-041-2/+60
| | | | | * First step for GDNative to behave more like modules * Only Object and ClassDB, the rest needs to happen on the GDNative side.
* fix crash on null class in ClassDB.get_property() and set_property()jmb4622021-04-021-0/+4
|
* Modernize RWLockPedro J. Estébanez2021-01-191-9/+3
| | | | | | | | - Based on C++14's `shared_time_mutex` - No more need to allocate-deallocate or check for null - No pointer anymore, just a member variable - Platform-specific implementations no longer needed - Simpler for `NO_THREADS`
* Update copyright statements to 2021Rémi Verschelde2021-01-011-2/+2
| | | | | | | | | | | | | | 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 🎆
* Rename empty() to is_empty()Marcel Admiraal2020-12-281-1/+1
|
* [Complex Text Layouts] Add compatibility for legacy Font resources.bruvzg2020-12-031-1/+4
|
* Mention lack of optional setter arguments in `ClassDB::add.property()`Hugo Locurcio2020-11-281-0/+1
|
* Reorganized core/ directory, it was too fatty alreadyreduz2020-11-071-0/+1571
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code