summaryrefslogtreecommitdiffstats
path: root/modules/visual_script/visual_script.cpp
Commit message (Collapse)AuthorAgeFilesLines
* ObjectID converted to a structure, fixes many bugs where used incorrectly as ↵Juan Linietsky2020-02-121-4/+4
| | | | 32 bits.
* Optmized data sent during RPC and RSet calls.Andrea Catania2020-02-121-16/+109
| | | | | | | | | | - Now is sent the method ID rather the full function name. - The passed IDs (Node and Method) are compressed so to use less possible space. - The variant (INT and BOOL) is now encoded and compressed so to use much less data. - Optimized RPCMode retrieval for GDScript functions. - Added checksum to assert the methods are the same across peers. This work has been kindly sponsored by IMVU.
* Update copyright statements to 2020Rémi Verschelde2020-01-011-2/+2
| | | | | | | | | | | Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
* Fix some crashes, overflows and using variables without valuesRafał Mikrut2019-11-011-0/+1
|
* Visualscript editor graph unification & refactoringSwarnim Arun2019-09-261-10/+59
| | | | Removes the need to have separate graphs per function for the VisualScript Nodes, and refactoring UI and other improvements such as fuzzy search, right click search boxes and in-graph editable nodes
* Merge pull request #30852 from swarnimarun/vs_tools_scriptRémi Verschelde2019-09-221-2/+13
|\ | | | | Tool Mode for Visualscript
| * Tool Mode for VisualscriptSwarnim Arun2019-09-211-2/+13
| | | | | | | | Add the ability to VisualScript to function in Tool mode aka the Editor itself similar to GDScript or Mono
* | Adds skip-breakpoints featureiwek72019-09-031-2/+2
| |
* | Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in rest of 'modules/'Robin Hübner2019-08-121-22/+9
|/
* Changed some code showed in LGTM and Coverageqarmin2019-07-201-2/+0
|
* Fixes minor issues found by static analyzerqarmin2019-07-071-2/+2
|
* Fix always true/false valuesqarmin2019-06-201-1/+1
|
* Merge pull request #28606 from bojidar-bg/25889-indexed-set-defaultsRémi Verschelde2019-05-281-13/+2
|\ | | | | Fix default values not being read correctly in VS, take two
| * Fix default values not being read correctly in VS, take twoBojidar Marinov2019-05-021-13/+2
| | | | | | | | Fixes #25889.
* | Allow overriding how scripted objects are converted to stringsLeonard Meagher2019-05-031-0/+22
|/ | | | | | | | | | solves #26796 - ADD `String to_string()` method to Object which can be overriden by `String _to_string()` in scripts - ADD `String to_string(r_valid)` method to ScriptInstance to allow langauges to control how scripted objects are converted to strings - IMPLEMENT to_string for GDScriptInstance, VisualScriptInstance, and NativeScriptInstance - ADD Documentation about `Object.to_string` and `Object._to_string` - Changed `Variant::operator String` to use `obj->to_string()`
* Fix default values not being read correctly in VisualScriptBojidar Marinov2019-03-041-15/+6
| | | | Fixes #25889
* Add -Wshadow=local to warnings and fix reported issues.marxin2019-02-201-2/+2
| | | | Fixes #25316.
* Update copyright statements to 2019Rémi Verschelde2019-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* Allow signal connecting even if script is invalid (only when compiled with ↵Juan Linietsky2018-11-271-0/+4
| | | | tools), fixes #17070
* Merge pull request #22779 from Superwaitsum/LimitSettingsRémi Verschelde2018-10-251-2/+2
|\ | | | | Limit several project settings
| * Add some limits on the Editor SettingsSuperwaitsum2018-10-241-2/+2
| |
* | Fixed the problem with vector3 constructorthe 8th mage2018-10-111-9/+11
|/ | | | | | | | Whenever there's a port change that may change the inputs, the default inputs will be recalculated. Moving the update port loop into its own function. Signed-off-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
* Make core/ includes absolute, remove subfolders from include pathRémi Verschelde2018-09-121-2/+2
| | | | | | This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
* Added system for GDScript warningsGeorge Marques2018-08-101-1/+1
| | | | | | | - Count and panel per script. - Ability to disable warnings per script using special comments. - Ability to disable warnings globally using Project Settings. - Option to treat enabled warnings as errors.
* Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam2018-07-261-3/+3
| | | | | | | | | | | | | | | | | | | | | | | This commit makes operator[] on Vector const and adds a write proxy to it. From now on writes to Vectors need to happen through the .write proxy. So for instance: Vector<int> vec; vec.push_back(10); std::cout << vec[0] << std::endl; vec.write[0] = 20; Failing to use the .write proxy will cause a compilation error. In addition COWable datatypes can now embed a CowData pointer to their data. This means that String, CharString, and VMap no longer use or derive from Vector. _ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug builds. This is a lot faster for Vector in the editor and while running tests. The reason why this difference used to exist is because force-inlined methods used to give a bad debugging experience. After extensive testing with modern compilers this is no longer the case.
* Improve VisualScript UXK. S. Ernest (iFire) Lee2018-07-241-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Prototype faster function call ux. * Work on general search ux. * Able to create nodes from search. * Show class for variables but not methods. * Get actions search working. * Descriptions now show for both methods and properties. * Enable zooming on mouse wheel up and down. * Make the drag trigger on right mouse button. * Search now shows for action visual script nodes. * Able to search visual node names. * Search works better. * Change zooming scale to hide artifacts better. * Remove zoom changes * Select from base should check properties too like the other functions. * Seq_connect flag is needed to set sequence lines correctly. * Remove comment * Code cleanup with function names and arguments. * Use brief description for search descriptions. * Clean and fix bug with input nodes connecting with sequence lines. * Add a warning and fix some edge conditions with sequence into data lines and vice versa. * Don't search functions when pulling from a sequence node. * Don't show actions when pulling from a data line. * Set set and get properties. * Convert visual script operators to the correct type * Create a function preset finds only functions. * Singletons can now find functions. * Add shift-a for generic search. * Add brief descriptions for Visual Script nodes. * Search boxes can now filter names. * Add bigger hit zones to node connect. * For the drop zones, make all the rect2 areas the same size. * Function names in visual script node should be lower case so that search works better. * Use the convention of capitalize() for set, set, visual script nodes and methods. * Make search more general. Ignore "_" and make case-insensitive. Also made the search window smaller and remove extra info from search * Make type_cast use the connecting node's type and remove use of found variable. * Fix case where you call an instance's call function where it becomes an invalid call. * Make get_visual_node_names use a set of filters, move action creations and fix bug with sequence node connections. * Make the window bigger. * Make connect_data and connect_seq more robust. * Add icons to search items. * Add vs constructors in shift-a menu. * Operators, builtins and constructors show type name. Fix several problems with port connections. * In shift-a mode search everything. * Code cleanup * Work on autocompleting the type. * Use type guess in action creation. * Check if type hint string exists in object variables when generating the visual script search. * Add the hint to SceneTree. * Add original type detection. * Make type casting great again. This puts the type casted base type as the data output type string hint. * Pass the type in a VisualScriptFunctionCall too. * Set the base type correctly in VisualScriptFunctionGet and VisualScriptFunctionSet using hint string. * Make sure the instance is passed in VisualScriptPropertySet. * Restore search on the node's type. * Remove dependencies from graph_edit. * Remove dependencies from property_selector and name the class visual_script_property_selector. * Extract hot zones into a function. * Move hot_zones constants into default theme. * Bigger capture zones. * Clean messy port_grab_distance variables. * Remove RMB functionality. * Remove memory leak on showing visual script descriptions. * Read the port_grab_distance constants on enter tree and theme changed.
* Add editor highlight for type-safe linesGeorge Marques2018-07-201-1/+1
| | | | | The line number is hightlighted to indicate that the line contains only type-safe code.
* Refactor RPCMode enum and checksFabio Alessandrelli2018-05-291-5/+5
|
* Revert "RPCMode refactor, more sync modes"Max Hilbrunner2018-05-291-5/+5
|
* Merge pull request #19021 from Faless/rpc_sync_fixMax Hilbrunner2018-05-291-5/+5
|\ | | | | RPCMode refactor, more sync modes
| * Refactor RPCMode enum and checksFabio Alessandrelli2018-05-261-5/+5
| |
* | Merge pull request #18516 from PJB3005/18-04-30-visual-script-title-barsMax Hilbrunner2018-05-261-0/+4
|\ \ | |/ |/| Move things into the title bars of Visual Script nodes.
| * Move things into the title bars of Visual Script nodes.Pieter-Jan Briers2018-04-301-0/+4
| | | | | | | | | | | | This is an attempt to make VS slightly nicer to use. WiP.
* | Fix Coverity reports of uninitialized scalar variableRémi Verschelde2018-04-191-0/+1
|/ | | | | | | | | | | Fixes most current reports on Coverity Scan of uninitialized scalar variable (CWE-457): https://cwe.mitre.org/data/definitions/457.html These happen most of the time (in our code) when instanciating structs without a constructor (or with an incomplete one), and later returning the instance. This is sometimes intended though, as some parameters are only used in some situations and should not be double-initialized for performance reasons (e.g. `constant` in ShaderLanguage::Token).
* Fix typos with codespellluz.paz2018-02-211-2/+2
| | | | | | | | | | | | | | Found via `codespell -q 3 --skip="./thirdparty,./editor/translations" -I ../godot-word-whitelist.txt` Whitelist consists of: ``` ang doubleclick lod nd que te unselect ```
* Bind many more properties to scriptsBojidar Marinov2018-01-121-2/+2
| | | | | | | Notable potentially breaking changes: - PROPERTY_USAGE_NOEDITOR is now PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_NETWORK, without PROPERTY_USAGE_INTERNAL - Some properties were renamed, and sometimes even shadowed by new ones - New getter methods (some virtual) were added
* Add missing copyright headers and fix formattingRémi Verschelde2018-01-051-0/+1
| | | | | | Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
* Update copyright statements to 2018Rémi Verschelde2018-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* Fix function arg count not considered in VisualScriptPedro J. Estébanez2017-12-071-0/+1
|
* Connect signal for VisualScript "Yield Signal" using oneshot modeMatthias Hoelzl2017-12-011-1/+1
| | | | | Since the first call to a VisualScriptFunctionState invalidates the state, any further call results in errors.
* Made Vector::ptrw explicit for writing, compiler was sometimes using the ↵Juan Linietsky2017-11-251-5/+5
| | | | | | wrong function, leading to unnecesary copy on writes and reduced performance.
* Create API to add and remove VisualScript custom nodesGeorge Marques2017-11-151-0/+5
| | | | | | | This makes a VisualScriptEditor singleton, which gives plugins the ability to register their own custom nodes. Those will be available for insertion in the Visual Script editor, under the "Custom Nodes" category.
* Removes Script::get_node_type()Jerome670002017-10-251-5/+0
| | | | used before GDScript, with squirrel apparently
* Add ScriptLanguage::supports_builtin_mode and improve ScriptCreateDialogIgnacio Etcheverry2017-10-241-0/+4
| | | | | - Make ScriptCreateDialog disable the built-in script checked button if the language does not support it. - ScriptLanguage's get_template and make_template now receive the script path as class name if the the script language does not have named classes.
* Merge pull request #11653 from bojidar-bg/doc-vscript-1Nathan Lovato2017-10-031-0/+1
|\ | | | | [DOCS] Document some of the VisualScript classes
| * Document some of the VisualScript classes.Bojidar Marinov2017-10-031-0/+1
| |
* | Renamed fixed_process to physics_processAndreaCatania2017-09-301-2/+2
| |
* | Rename pos to position in user facing methods and variablesletheed2017-09-201-5/+5
|/ | | | | | | | | | | Rename user facing methods and variables as well as the corresponding C++ methods according to the folloming changes: * pos -> position * rot -> rotation * loc -> location C++ variables are left as is.
* Use HTTPS URL for Godot's website in the headersRémi Verschelde2017-08-271-1/+1
|
* Convert Object::cast_to() to the static versionHein-Pieter van Braam2017-08-241-10/+12
| | | | | | | | | | | | Currently we rely on some undefined behavior when Object->cast_to() gets called with a Null pointer. This used to work fine with GCC < 6 but newer versions of GCC remove all codepaths in which the this pointer is Null. However, the non-static cast_to() was supposed to be null safe. This patch makes cast_to() Null safe and removes the now redundant Null checks where they existed. It is explained in this article: https://www.viva64.com/en/b/0226/