summaryrefslogtreecommitdiff
path: root/core/object
AgeCommit message (Collapse)Author
2021-07-01Use PROPERTY_USAGE_NONE instead of 0 for no property usageAaron Franke
Also use const more often.
2021-06-30Fix editor suffixes and degrees conversionreduz
* Functions to convert to/from degrees are all gone. Conversion is done by the editor. * Use PROPERTY_HINT_ANGLE instead of PROPERTY_HINT_RANGE to edit radian angles in degrees. * Added possibility to add suffixes to range properties, use "min,max[,step][,suffix:<something>]" example "0,100,1,suffix:m" * In general, can add suffixes for EditorSpinSlider Not covered by this PR, will have to be addressed by future ones: * Ability to switch radians/degrees in the inspector for angle properties (if actually wanted). * Animations previously made will most likely break, need to add a way to make old ones compatible. * Only added a "px" suffix to 2D position and a "m" one to 3D position, someone needs to go through the rest of the engine and add all remaining suffixes. * Likely also need to track down usage of EditorSpinSlider outside properties to add suffixes to it too.
2021-06-25Implement native extension systemreduz
* 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
2021-06-21Improved some error messages (from ERR_FAIL_*) in Object.Eric M
2021-06-19Rename `instance()`->`instantiate()` when it's a verbLightning_A
2021-06-19Added support for scripts reporting multiple errors to ScriptTextEditorEric M
Scripts can now report multiple errors to the scripting editors in the engine. UI elements were added to support multiple errors.
2021-06-17Add PROPERTY_USAGE_NONE and use itAaron Franke
2021-06-15Adding some more missing renames for Transform3D and QuaternionBastiaan Olij
2021-06-11Rename Reference to RefCountedPedro J. Estébanez
2021-06-07Merge pull request #49318 from reduz/native-extensionRémi Verschelde
Add API for registering native extensions
2021-06-07Merge pull request #49221 from Faless/mp/4.x_rpc_refactorRémi Verschelde
[Net] Refactor RPCs, remove RSETs
2021-06-04Add API for registering native extensionsreduz
* First step for GDNative to behave more like modules * Only Object and ClassDB, the rest needs to happen on the GDNative side.
2021-06-01[Net] Refactor RPCs, remove RSETsFabio Alessandrelli
In this PR: - Removed rset - rpc_config can now optionally configure transfer mode (reliable/unreliable/ordered) and channel (channels are not actually implemented yet.) - Refactor how the RPC id is computed to minimize the logic in Node and scripts that now only needs a single `get_rpc_methods` function.
2021-06-01Move and expose AutoComplete in CodeEditPaulb23
2021-05-20Fix typos with codespellRémi Verschelde
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 ```
2021-05-05Highlight control flow keywords with a different colorHugo Locurcio
This makes them easier to distinguish from other keywords.
2021-04-27Core: Drop custom `copymem`/`zeromem` definesRémi Verschelde
We've been using standard C library functions `memcpy`/`memset` for these since 2016 with 67f65f66391327b2967a20a89c3627e1dd6e84eb. There was still the possibility for third-party platform ports to override the definitions with a custom header, but this doesn't seem useful anymore.
2021-04-02fix crash on null class in ClassDB.get_property() and set_property()jmb462
2021-03-16Merge pull request #46378 from reduz/static-method-in-variant-typesRémi Verschelde
Add static method support to core Variant types
2021-03-16Add static method support to core Variant typesreduz
* Properly exposed, including validated and variant call * Bound static functions in String and Color * Did not add support for scripting languages, will have to be added manually.
2021-03-12Fixes small typos and grammar correctionAnshul7sp1
2021-03-10Implement Navigation layersGilles Roudière
2021-02-19doc: Sync classref with current sourceRémi Verschelde
And fix various bogus bindings following previous PRs.
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-13Don't save project settings when not necessarykobewi
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-01-19Modernize RWLockPedro J. Estébanez
- 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`
2021-01-12Improve UndoRedo classGilles Roudière
2021-01-01Merge pull request #44848 from mrushyendra/disconnect_err_msgRémi Verschelde
Issue correct error when disconnecting nonexistent connection with a valid signal
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 🎆
2021-01-01Issue more precise error when disconnecting a nonexistent connectionMaganty Rushyendra
Checks whether the signal exists when issuing an error message when disconnecting a nonexistent connection. Also prints the callable name.
2020-12-28Rename empty() to is_empty()Marcel Admiraal
2020-12-20Merge pull request #43196 from Xrayez/property-list-changed-notify-protectedRémi Verschelde
Make `property_list_changed_notify()` protected in `Object`
2020-12-20Add animation reset track featurePedro J. Estébanez
As a bonus, to have consistency between use Beziers and create insert tracks, use Beziers also gets a default via editor settings that is used when the confirmation dialog is disabled, instead of just falling back to creating non-Bezier tracks.
2020-12-20Extend UndoRedo handling of Resource to every ReferencePedro J. Estébanez
2020-12-10Make `property_list_changed_notify` protected in `Object`Andrii Doroshenko (Xrayez)
Alternative to `_change_notify()` to be called from within C++ classes. Achieves low-level consistency with scripting, where this method is exposed for updating the editor (inspector) with new values.
2020-12-09Merge pull request #44128 from KoBeWi/🧹Rémi Verschelde
Cleanup unused engine code
2020-12-09Cleanup unused engine codeTomasz Chabora
2020-12-09Merge pull request #43931 from bruvzg/ctl_comp_fontRémi Verschelde
[Complex Text Layouts] Add compatibility for legacy Font resources.
2020-12-08Constify ScriptLanguage.can_inherit_from_fileEmmanuel Leblond
2020-12-05Remove connect *_compat methodsAaron Franke
2020-12-03[Complex Text Layouts] Add compatibility for legacy Font resources.bruvzg
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-28Merge pull request #43061 from qarmin/crash_when_prining_nodesRémi Verschelde
Fix crash when printing leaked nodes
2020-11-28Mention lack of optional setter arguments in `ClassDB::add.property()`Hugo Locurcio
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-17Fix crash when printing leaked nodesRafał Mikrut