summaryrefslogtreecommitdiff
path: root/modules/visual_script
AgeCommit message (Collapse)Author
2021-09-13Update VisualScriptCustomNode.xmlDavid Cambré
2021-09-07[Net] Move multiplayer to core subdir, split RPCManager.Fabio Alessandrelli
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".
2021-09-01Merge pull request #51639 from Ev1lbl0w/gsoc21-dapFabio Alessandrelli
Implement more advanced features for DAP
2021-08-31Implemented advanced features of DAPEv1lbl0w
Respect client "supportsVariableType" capability Implement "breakpointLocations" request Implement "restart" request Implement "evaluate" request Fix error messages not being shown, and improved wrong path message Removed thread option and behavior Implemented detailed inspection of complex variables Fix "const"ness of functions Added a configurable timeout for requests Implement Godot custom data request/event Implement syncing of breakpoints Added support for debugging native platforms
2021-08-31Remove cartesian2polar and polar2cartesiankobewi
2021-08-30[Net] Rename RPC "puppet" to "auth" (authority). Drop "master".Fabio Alessandrelli
This commit completely removes the RPC_MODE_MASTER ("master" keyword), and renames the RPC_MODE_PUPPET to RPC_MODE_AUTHORITY ("auth" keyword). This commit also renames the "Node.[get|set]_network_master" methods to "Node.[get|set]_network_authority". This commit also renames the RPC_MODE_REMOTE constant to RPC_MODE_ANY. RPC_MODE_MASTER in Godot 3.x meant that a given RPC would be callable by any puppet peer on the master, while RPC_MODE_PUPPET meant that it would be callable by the master on any puppet. Beside proving to be very confusing to the user (referring to where it could be called instead of who can call it) the RPC_MODE_MASTER is quite useless. It is almost the same as RPC_MODE_REMOTE (anyone can call) with the exception that the network master cannot. While this could be useful to check in some case, in such a function you would anyway need to check in code who is the caller via get_rpc_sender_id(), so adding the check there for those rare cases does not warrants a dedicated mode.
2021-08-26Fix misspelled "overriden"Haoyu Qiu
In recent GDVIRTUAL PR and SkeletonModification3DJiggle doc.
2021-08-24Fix Visual Script editorMax Hilbrunner
2021-08-23Entirely removes BIND_VMETHOD in favor of GDVIRTUALreduz
* `_gui_input`, `_input`, `_unhandled_input` and `_unhandled_key_input` are now regular C++ virutal functions. * Everything else converted to GDVIRTUAL * BIND_VMETHOD is gone, always use the new syntax from now on. Creating `_gui_input` method and using the binder to register events will no longer work, simply override the virtual function now.
2021-08-22Replace BIND_VMETHOD by new GDVIRTUAL syntaxreduz
* 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.
2021-08-20Fix VisualScriptEditor after namespacesMax Hilbrunner
2021-08-17Namespaces instead of underscore prefix for bindsMax Hilbrunner
Thanks to neikeq for the initial work. Co-authored-by: Ignacio Roldán Etcheverry <neikeq@users.noreply.github.com>
2021-08-13Fix duplicate conditions.Anilforextra
2021-08-12Resource: Remove unused `_use_builtin_script()` virtual methodRémi Verschelde
And another piece of dead code found while searching for "use_builtin".
2021-08-10Use Key enum instead of plain integersAaron Franke
2021-08-10Merge pull request #49343 from theoway/node_auto_arrangement_graph_editK. S. Ernest (iFire) Lee
Node Auto Arrangement in GraphEdit/VisualScript/VisualShader
2021-08-11Automatic arrangement of nodes in VisualScript/VisualShaders editorsUmang Kalra
This PR and commit adds the functionality to arrange nodes in VisualScript/VisualShader editor. The layout generated by this feature is compact, with minimum crossings between connections & uniform horizontal & vertical gaps between the nodes. This work has been sponsored by GSoC '21. Full list of additions/changes: • Added arrange_nodes() method in GraphEdit module. • This method computes new positions for all the selected nodes by forming blocks and compressing them. The nodes are moved to these new positions. • Adding this method to GraphEdit makes it available for use in VisualScript/VisualShaders editors and its other subclasses. • Button with an icon has been added to call arrange_nodes() in GraphEdit. • This button is inherited by VisualScript/VisualShaders editors to invoke the method. • Undo/redo is functional with this method. • By using signals in arrange_nodes(), position changes are registered in undo/redo stack of the subclass that is using the method. • Metadata of the method has been updated in ClassDB • Method description has been added to class reference of GraphEdit
2021-08-09Use doubles for time in many other placesAaron Franke
2021-08-02Validates VisualScript.add_node input nodeHaoyu Qiu
2021-07-31Make action names translatableHaoyu Qiu
2021-07-30Remove obsolete "dectime" methodAaron Franke
Replaced by "move_toward"
2021-07-30doc: Use self-closing tags for `return` and `argument`Rémi Verschelde
For the time being we don't support writing a description for those, preferring having all details in the method's description. Using self-closing tags saves half the lines, and prevents contributors from thinking that they should write the argument or return documentation there.
2021-07-26Merge pull request #50840 from ↵Rémi Verschelde
Gallilus/VisualScript-drop-preload-nodes-change-action-name Change "Add Preload Node" action to "Add Node(s)"
2021-07-25Change "Add Preload Node" action to "Add Node(s)"Gallilus
The action might also drop Custom Nodes
2021-07-25Use const references where possible for List range iteratorsRémi Verschelde
2021-07-23Use C++ iterators for Lists in many situationsAaron Franke
2021-07-23Revert unnecessary changes to VisualScriptEmitSignalDavid Cambré
Revert unnecessary changes to VisualScriptEmitSignal, commit 2032b56005b2f6add6b105a00f04c05f9b292eec
2021-07-21Merge pull request #48972 from ↵Rémi Verschelde
DavidCambre/Expose_VisualScriptCustomNode_TypeHints_m
2021-07-21Merge pull request #50686 from Calinou/use-standard-inf-nan-constantsRémi Verschelde
Use the standard C `INFINITY` and `NAN` constants directly
2021-07-21Merge pull request #49749 from ↵Rémi Verschelde
DavidCambre/VisualScriptFunction_Call_Set_Get_Improvement-2 VisualScriptFunctionNodes Improvements
2021-07-21expose type hints for VisualScriptCustomNodeDavid Cambré
Co-Authored-By: Rémi Verschelde <rverschelde@gmail.com>
2021-07-21Use the standard C `INFINITY` and `NAN` constants directlyHugo Locurcio
The `Math_INF` and `Math_NAN` defines were just aliases for those constants, so we might as well use them directly. Some portions of the code were already using `INFINITY` directly.
2021-07-21Improve and streamline VisualScriptFuncNodes Call Set GetDavid Cambré
This PR improves and streamlines the workflow for VisualScriptFunctionNodes Call Set Get Uniform design. Drag in set-get from tree is now working. Removes redundant method_select popup.
2021-07-20Fix visual script iconsNick Huelin
This pull request fixes an issue where the visual script icons weren't representative of their data.
2021-07-20Merge pull request #50581 from DavidCambre/VisualScript-Drop-Custom-NodesRémi Verschelde
Allow dropping custom node scripts in VisualScript editor
2021-07-19Merge pull request #50566 from reduz/optimize-stringname-usageRémi Verschelde
Optimize StringName usage
2021-07-18Optimize StringName usagereduz
* Added a new macro SNAME() that constructs and caches a local stringname. * Subsequent usages use the cached version. * Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time. * Replaced all theme usages by this new macro. * Replace all signal emission usages by this new macro. * Replace all call_deferred usages by this new macro. This is part of ongoing work to optimize GUI and the editor.
2021-07-18Prevents some warnings from appearing in visual scriptsYuri Roubinsky
2021-07-18VisualScript-Drop-Custom-NodesDavid Cambré
Allows to drop custom node scripts directly in VisualScript
2021-07-13Document remaining Visual Script classesTomasz Chabora
2021-07-13Implement the ability to disable classesreduz
* This PR adds the ability to disable classes when building. * For now it's only possible to do this via command like: `scons disable_classes=RayCast2D,Area3D` * Eventually, a proper UI will be implemented to create a build config file to do this at large scale, as well as detect what is used in the project.
2021-07-12[Net] Rename NetworkedMultiplayerPeer to MultiplayerPeer.Fabio Alessandrelli
2021-07-10Fix creating a new function in visual scriptsYuri Roubinsky
2021-07-01Use PROPERTY_USAGE_NONE instead of 0 for no property usageAaron Franke
Also use const more often.
2021-06-29Fixes Visual script nodes operator mismatch issue #49943Dipal M Zambare
2021-06-23VisualScriptEditor Fix in graph position calculation (do not skip zoom)kleonc
2021-06-23Fix logic operators mislabeled #49412Martin
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-18Better format arguments in variant parserMichael Alexsander Silva Dias