summaryrefslogtreecommitdiffstats
path: root/modules/visual_script
Commit message (Collapse)AuthorAgeFilesLines
* Remove VisualScript module for 4.0Rémi Verschelde2022-08-2471-25432/+0
| | | | | | | | | | | | | | | | | | | | | | | | | As announced in https://godotengine.org/article/godot-4-will-discontinue-visual-scripting, Godot maintainers have agreed to discontinue the current implementation of our VisualScript language. The way it had been designed was not user-friendly enough and we did not succeed in improving its usability to actually make it a good low-code solution for users who need one. So we prefer to remove it for Godot 4.0 and leave the door open for new, innovative ideas around visual scripting, to be developed as plugins or extensions now that Godot provides sufficient functionality for this (notably via GDExtension and the godot-cpp C++ bindings). The current module has been moved to a dedicated repository (with full Git history extracted with `git filter-branch`): https://github.com/godotengine/godot-visual-script It can still be compiled as a C++ module (for now, but will likely require work to be kept in sync with the engine repository), but our hope is that contributors will port it to GDExtension (which is quite compatibile with the existing C++ module code when using the godot-cpp C++ bindings).
* Replace Array return types with TypedArraykobewi2022-08-222-3/+3
|
* Merge pull request #59564 from KoBeWi/FINALLY,_ULTIMATE_UNDO_REDORémi Verschelde2022-08-222-8/+5
|\
| * Add per-scene UndoRedokobewi2022-08-222-8/+5
| |
* | Make `_validate_property` a multilevel methodYuri Sizov2022-08-226-162/+162
|/
* Merge pull request #64553 from RedMser/fix-property-validation-refactorRémi Verschelde2022-08-221-3/+3
|\
| * Remove unintentional PROPERTY_USAGE_INTERNALRedMser2022-08-181-3/+3
| | | | | | | | | | The flag only matters for property definition, but was also used in _validate_property a lot.
* | Changed the title of change node type dialogUmang Kalra2022-08-201-1/+1
| |
* | Make `property_*_revert` methods multilevel and expose them for scriptingYuri Sizov2022-08-181-0/+3
|/
* Rename the argument tag to param in XML documentationYuri Sizov2022-08-087-124/+124
|
* Merge pull request #63712 from object71/fix-export-issuesRémi Verschelde2022-08-061-0/+4
|\
| * Removed faulty function update after get_property_list.Hristo Stamenov2022-08-031-0/+4
| | | | | | | | 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.
* | Remove `CustomPropertyEditor` completelyYuri Sizov2022-08-012-16/+77
|/
* Extract EditorResourceConversionPlugin into its own source files and clean ↵Yuri Sizov2022-07-312-1/+2
| | | | up editor includes
* Remove Signal connect bindsJuan Linietsky2022-07-292-22/+29
| | | | | Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind(). Changed all uses of it to Callable.bind()
* [Net] Modularize multiplayer, expose MultiplayerAPI to extensions.Fabio Alessandrelli2022-07-264-27/+22
| | | | | | | | | - 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.
* Code quality: Fix header guards consistencyRémi Verschelde2022-07-253-9/+9
| | | | | Adds `header_guards.sh` bash script, used in CI to validate future changes. Can be run locally to fix invalid header guards.
* Implement Vector4, Vector4i, Projectionreduz2022-07-232-0/+12
| | | | | | | | | | | | | Implement built-in classes Vector4, Vector4i and Projection. * Two versions of Vector4 (float and integer). * A Projection class, which is a 4x4 matrix specialized in projection types. These types have been requested for a long time, but given they were very corner case they were not added before. Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity. **Q**: Why Projection and not Matrix4? **A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
* Rename OSX to macOS and iPhoneOS to iOS.bruvzg2022-07-211-9/+9
|
* Rename Control PRESET_WIDE to PRESET_FULL_RECTFireForge2022-07-181-1/+1
|
* Add ok_button_text to AcceptDialog and cancel_button_text to ConfirmationDialogFireForge2022-07-092-4/+4
|
* Add support for documenting built-in annotationsYuri Sizov2022-07-042-0/+4
|
* Add a const call mode to Object, Variant and Script.K. S. Ernest (iFire) Lee2022-06-271-0/+2
| | | | | | | 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>
* Remake resource thread safety and APIreduz2022-06-222-7/+7
| | | | | | | | * Ensures thread safety when resources are destroyed. * Simplified API by always forcing `ResourceCache::get_ref`, which needs less hacks and is fully thread safe. * Removed RWLock for resources because its not possible to use for the new logic. Should not be a problem. Supersedes #57533
* Improve stack overflow error message in GDScript and VisualScriptHugo Locurcio2022-06-152-4/+4
| | | | | Stack overflow errors are generally the result of infinite recursion within a script.
* i18n: Misc fixes translation stringsRémi Verschelde2022-06-083-8/+8
| | | | Adds some translator comments to solve some questions raised on Weblate.
* Fix visual editor settings change propagationHendrik Brucker2022-06-071-0/+3
|
* Support explicit values in flag properties, add C# flags supportRaul Santos2022-06-031-1/+43
| | | | | | | | | - Add support for explicit values in properties using `PROPERTY_HINT_FLAGS` that works the same way it does for enums. - Fix enums and flags in VisualScriptEditor (it wasn't considering the explicit value). - Use `PROPERTY_HINT_FLAGS` for C# enums with the FlagsAttribute instead of `PROPERTY_HINT_ENUM`.
* Improve Graphedit connection linesHendrik Brucker2022-05-301-0/+5
|
* Merge pull request #47665 from trollodel/tree_more_buttons_signalsRémi Verschelde2022-05-242-6/+14
|\
| * Add the button pressed to some signals in Treetrollodel2022-05-212-6/+14
| |
* | Merge pull request #61017 from derammo/derammo_58121Rémi Verschelde2022-05-222-10/+10
|\ \ | |/ |/| display of large help text in visual script
| * display of large help text in visual scriptderammo2022-05-212-10/+10
| | | | | | | | | | implemented vertical scroller for help text in popup disabled broken positioning code
* | Add a new HashSet templatereduz2022-05-202-2/+3
| | | | | | | | | | * Intended to replace RBSet in most cases. * Optimized for iteration speed
* | Use range iterators for RBSet in most casesAaron Record2022-05-192-85/+85
| |
* | Merge pull request #60463 from Geometror/improve-vs-1Rémi Verschelde2022-05-161-2/+10
|\ \
| * | Improve the VisualShader/VisualScript editor UIHendrik Brucker2022-04-301-2/+10
| | |
* | | Merge pull request #61010 from derammo/visual_script_selector_pathsRémi Verschelde2022-05-161-4/+4
|\ \ \
| * | | fixed path calculations in visual script selectorderammo2022-05-131-4/+4
| | |/ | |/| | | | | | | incorrect usage of lstrip was mangling file names
* / | Replace most uses of Map by HashMapreduz2022-05-167-109/+109
|/ / | | | | | | | | | | | | | | | | | | | | | | * 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!
* | Add a new HashMap implementationreduz2022-05-122-100/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds a new, cleaned up, HashMap implementation. * Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing). * Keeps elements in a double linked list for simpler, ordered, iteration. * Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much for performance vs keeping the key, but helps replace old code). * Uses a more modern C++ iterator API, deprecates the old one. * Supports custom allocator (in case there is a wish to use a paged one). This class aims to unify all the associative template usage and replace it by this one: * Map<> (whereas key order does not matter, which is 99% of cases) * HashMap<> * OrderedHashMap<> * OAHashMap<>
* | Fix VisualScript export variableskobewi2022-05-061-0/+3
| |
* | Cleanup metadata usagekobewi2022-05-061-5/+1
| |
* | Merge pull request #60723 from reduz/refactor-module-initializationRémi Verschelde2022-05-042-83/+94
|\ \
| * | Refactor module initializationreduz2022-05-042-83/+94
| | | | | | | | | | | | | | | | | | | | | * Changed to use the same stages as extensions. * Makes the initialization more coherent, helping solve problems due to lack of stages. * Makes it easier to port between module and extension. * removed the DRIVER initialization level (no longer needed).
* | | Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`Hugo Locurcio2022-05-033-8/+8
|/ / | | | | | | | | | | These typedefs don't save much typing compared to the full `Ref<Resource>` and `Ref<RefCounted>`, yet they sometimes introduce confusion among new contributors.
* / Style: Partially apply clang-tidy's `cppcoreguidelines-pro-type-member-init`Rémi Verschelde2022-05-027-76/+72
|/ | | | | | | | | | | Didn't commit all the changes where it wants to initialize a struct with `{}`. Should be reviewed in a separate PR. Option `IgnoreArrays` enabled for now to be conservative, can be disabled to see if it proposes more useful changes. Also fixed manually a handful of other missing initializations / moved some from constructors.
* Merge pull request #60261 from fire-forge/theme-prop-renamesRémi Verschelde2022-04-252-2/+2
|\
| * Rename theme properties to include underscoresFireForge2022-04-232-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - check_vadjust -> check_v_adjust - close_h_ofs -> close_h_offset - close_v_ofs -> close_v_offset - commentfocus -> comment_focus - hseparation -> h_separation - ofs -> offset - selectedframe -> selected_frame - state_machine_selectedframe -> state_machine_selected_frame - table_hseparation -> table_h_separation - table_vseparation -> table_v_separation - vseparation -> v_separation
* | Improve VisualScript search and instancing of nodesDavid Cambré2022-04-174-33/+83
|/ | | | | | Constructors are more accessible. Basic type methods are now based on ClassDB and not registerd_node_names. Selecting search_classes now automatically changes the scope.