summaryrefslogtreecommitdiffstats
path: root/core/object/object.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Replace BIND_VMETHOD by new GDVIRTUAL syntaxreduz2021-08-221-6/+9
| | | | | | | | | | | * 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 C# native instance bindings after recent re-writeIgnacio Roldán Etcheverry2021-08-161-0/+15
| | | | This was needed after: 44691448911f1d29d4d79dbdd5553734761e57c4
* Add a instance callback for extensionsGeorge Marques2021-08-051-2/+2
| | | | | | | 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-7/+7
|
* Use C++ iterators for Lists in many situationsAaron Franke2021-07-231-18/+17
|
* Make Object "meta" functions take StringName.Fabio Alessandrelli2021-07-221-7/+7
| | | | | | | The various get_meta, set_meta, has_meta, get_meta_list, remove_meta functions now uses StringName, allowing further optimizations via the SNAME macro when used from C++ (this PR does not change the various usage though).
* Add ability to set object instance binding on creationreduz2021-07-151-0/+11
| | | | | * Required by binding generators * Makes it easier to create the bindings on construction.
* Redo how instance bindings workreduz2021-07-081-31/+30
| | | | | | | | * The harcoded 8 slots are no more and impose limits in the new extension system. * New system is limitless, although it will impose small performance hit with a mutex. * Use a token to request the instance binding. **Warning**: Mono will most likely break as a result of this, will need to be modified to use the new system.
* Implement native extension systemreduz2021-06-251-5/+21
| | | | | | * 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
* Improved some error messages (from ERR_FAIL_*) in Object.Eric M2021-06-211-6/+6
|
* Rename `instance()`->`instantiate()` when it's a verbLightning_A2021-06-191-1/+1
|
* Rename Reference to RefCountedPedro J. Estébanez2021-06-111-6/+6
|
* Add API for registering native extensionsreduz2021-06-041-0/+47
| | | | | * First step for GDNative to behave more like modules * Only Object and ClassDB, the rest needs to happen on the GDNative side.
* Fix typos with codespellRémi Verschelde2021-05-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using codespell 2.0.0. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang curvelinear dof doubleclick fave findn GIRD leapyear lod merchantibility nd numer ois ony que seeked synching te uint unselect webp EOF $ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po" $ git diff // undo unwanted changes ```
* Fixes small typos and grammar correctionAnshul7sp12021-03-121-4/+4
|
* Modernize atomicsPedro J. Estébanez2021-02-181-1/+1
| | | | | | | | | | - 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>
* Removed _change_notifyreduz2021-02-101-17/+7
| | | | | | -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.
* Merge pull request #44848 from mrushyendra/disconnect_err_msgRémi Verschelde2021-01-011-1/+6
|\ | | | | Issue correct error when disconnecting nonexistent connection with a valid signal
| * Issue more precise error when disconnecting a nonexistent connectionMaganty Rushyendra2021-01-011-1/+6
| | | | | | | | | | Checks whether the signal exists when issuing an error message when disconnecting a nonexistent connection. Also prints the callable name.
* | 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-6/+6
|
* Cleanup unused engine codeTomasz Chabora2020-12-091-4/+0
|
* Remove connect *_compat methodsAaron Franke2020-12-051-12/+0
|
* Fix crash when printing leaked nodesRafał Mikrut2020-11-171-15/+22
|
* Remove property groups for Pause Mode and ScriptHugo Locurcio2020-11-151-3/+0
| | | | | | Each of those only grouped 1 property, making them useless. This closes https://github.com/godotengine/godot-proposals/issues/1840.
* Refactored variant constructor logicreduz2020-11-091-1/+2
|
* Reorganized core/ directory, it was too fatty alreadyreduz2020-11-071-0/+1983
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code