summaryrefslogtreecommitdiffstats
path: root/core/object/script_language.h
Commit message (Collapse)AuthorAgeFilesLines
...
* Make `property_*_revert` methods multilevel and expose them for scriptingYuri Sizov2022-08-181-0/+6
|
* Removed faulty function update after get_property_list.Hristo Stamenov2022-08-031-0/+1
| | | | The function tried to rearrange properties but that lead to problems with duplication or deleted properties. Implemented the logic that that function did inside the get_property_list both for tool scripts and non-tool scripts.
* [Net] Modularize multiplayer, expose MultiplayerAPI to extensions.Fabio Alessandrelli2022-07-261-4/+3
| | | | | | | | | - RPC configurations are now dictionaries. - Script.get_rpc_methods renamed to Script.get_rpc_config. - Node.rpc[_id] and Callable.rpc now return an Error. - Refactor MultiplayerAPI to allow extension. - New MultiplayerAPI.rpc method with Array argument (for scripts). - Move the default MultiplayerAPI implementation to a module.
* Add support for documenting built-in annotationsYuri Sizov2022-07-041-0/+2
|
* Add a const call mode to Object, Variant and Script.K. S. Ernest (iFire) Lee2022-06-271-0/+1
| | | | | | | For this to work safely (user not call queue_free or something in the expression), a const call mode was added to Object and Variant (and optionally Script). This mode ensures only const functions can be called, making it safe to use from the editor. Co-Authored-By: reduz <reduzio@gmail.com>
* Add a new HashSet templatereduz2022-05-201-2/+2
| | | | | * Intended to replace RBSet in most cases. * Optimized for iteration speed
* Replace most uses of Map by HashMapreduz2022-05-161-7/+7
| | | | | | | | | | | | * Map is unnecessary and inefficient in almost every case. * Replaced by the new HashMap. * Renamed Map to RBMap and Set to RBSet for cases that still make sense (order matters) but use is discouraged. There were very few cases where replacing by HashMap was undesired because keeping the key order was intended. I tried to keep those (as RBMap) as much as possible, but might have missed some. Review appreciated!
* Fix signal completion in GDScript editorYuri Rubinsky2022-05-121-0/+1
|
* Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`Hugo Locurcio2022-05-031-1/+1
| | | | | | These typedefs don't save much typing compared to the full `Ref<Resource>` and `Ref<RefCounted>`, yet they sometimes introduce confusion among new contributors.
* Fix some issues found by cppcheck.bruvzg2022-04-061-16/+16
|
* Zero initialize all pointer class and struct membersRémi Verschelde2022-04-041-2/+2
| | | | | This prevents the pitfall of UB when checking if they have been assigned something valid by comparing to nullptr.
* Improve sorting of Code Completion options.Eric M2022-04-011-1/+10
| | | | Done by ordering options by their location in the code - e.g. local, parent class, global, etc.
* Add GDExtension support to Scriptreduz2022-03-271-46/+51
| | | | | | | | | * Ability to create script languages from GDExtension * Some additions to gdnative_extension.h to make this happen * Moved the GDExtension binder to core This now allows creating scripting languages from GDExtension, with the same ease as if it was a module. It replaces the old PluginScript from Godot 3.x. Warning: GodotCPP will need to be updated to support this (it may be a bit of work as ScriptInstance needs to be created over there again).
* Remove VARIANT_ARG* macrosreduz2022-03-091-4/+16
| | | | | | | | * Very old macros from the time Godot was created. * Limited arguments to 5 (then later changed to 8) in many places. * They were replaced by C++11 Variadic Templates. * Renamed methods that take argument pointers to have a "p" suffix. This was used in some places and not in others, so made it standard. * Also added a dereference check for Variant*. Helped catch a couple of bugs.
* Merge pull request #55851 from Chaosus/better-completion-options-list_rebasedRémi Verschelde2022-01-061-0/+1
|\
| * Fix highlight for completion options match (rebased)Yuri Roubinsky2021-12-121-0/+1
| | | | | | Co-authored-by: Gustav Andersson <gvekan@users.noreply.github.com>
* | Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
| | | | | | | | Happy new year to the wonderful Godot community!
* | Improve editor template workflowfabriceci2022-01-021-2/+21
|/ | | | Co-Authored-By: jmb462 <jmb462@gmail.com>
* [Net] Move multiplayer to core subdir, split RPCManager.Fabio Alessandrelli2021-09-071-4/+4
| | | | | | | | | | | Move multiplayer classes to "core/multiplayer" subdir. Move the RPCConfig and enums (TransferMode, RPCMode) to a separate file (multiplayer.h), and bind them to the global namespace. Move the RPC handling code to its own class (RPCManager). Renames "get_rpc_sender_id" to "get_remote_sender_id".
* Implement didSave notification and rename requestFrancois Belair2021-07-171-0/+1
|
* Rename `instance()`->`instantiate()` when it's a verbLightning_A2021-06-191-1/+1
|
* Added support for scripts reporting multiple errors to ScriptTextEditorEric M2021-06-191-1/+7
| | | | Scripts can now report multiple errors to the scripting editors in the engine. UI elements were added to support multiple errors.
* Merge pull request #49221 from Faless/mp/4.x_rpc_refactorRémi Verschelde2021-06-071-48/+3
|\ | | | | [Net] Refactor RPCs, remove RSETs
| * [Net] Refactor RPCs, remove RSETsFabio Alessandrelli2021-06-011-48/+3
| | | | | | | | | | | | | | | | | | | | 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.
* | Move and expose AutoComplete in CodeEditPaulb232021-06-011-0/+2
|/
* Highlight control flow keywords with a different colorHugo Locurcio2021-05-051-0/+1
| | | | This makes them easier to distinguish from other keywords.
* 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 🎆
* Cleanup unused engine codeTomasz Chabora2020-12-091-2/+0
|
* Constify ScriptLanguage.can_inherit_from_fileEmmanuel Leblond2020-12-081-1/+1
|
* Refactor DocData into core and editor (DocTools) partsThakee Nathees2020-12-021-2/+2
|
* Documentation generation for GDScriptThakee Nathees2020-11-291-0/+6
| | | | | | | | | | | | | | | | | | - 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
* Remove empty lines around braces with the formatting scriptAaron Franke2020-11-161-1/+0
|
* Reorganized core/ directory, it was too fatty alreadyreduz2020-11-071-0/+460
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code