Commit Graph

325 Commits

Author SHA1 Message Date
Bernhard Liebl ba974b8d1e Allow some non-integer built-in constants in gdscript 2018-07-31 17:56:48 +02:00
K. S. Ernest (iFire) Lee 2650b87102 Carry property hint and hint string through to Visualscript virtual functions. 2018-07-27 13:12:34 -07:00
Rémi Verschelde aecc3a444b
Merge pull request #20457 from fire/vs_generic_search_crash_and_connecting
Visualscript: misc generic search changes
2018-07-27 21:38:11 +02:00
K. S. Ernest (iFire) Lee 607e5b7c95 Visualscript: Don't type guess on nil. 2018-07-26 06:39:36 -07:00
K. S. Ernest (iFire) Lee 00519debbe Visualscript fix crash and generic search does not connect ports.
* Signal change requires function changes to _selected_new_virtual_method
2018-07-26 06:18:23 -07:00
Swarnim Arun b893dc2028 Fix Visual Script duplicate issue 2018-07-26 14:01:48 +05:30
Hein-Pieter van Braam 0e29f7974b Reduce unnecessary COW on Vector by make writing explicit
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.
2018-07-26 00:54:16 +02:00
Rémi Verschelde 19fe78fe6f
Merge pull request #20450 from fire/vs_generic_search_20433
Visualscript: Don't show Shift+A search box at every screen.
2018-07-25 20:54:45 +02:00
K. S. Ernest (iFire) Lee 31008c9199 Visualscript: Don't show Shift+A search box at every screen and reuse EDIT_FIND_NODE_TYPE (ctrl-f) shortcut.
The generic search shortcut is now CTRL-F.
2018-07-25 09:34:52 -07:00
K. S. Ernest (iFire) Lee 5b2c4b77e2 Visualscript: Hide empty categories for basic types and methods. 2018-07-25 08:56:03 -07:00
Juan Linietsky 2e67fc57e6
Merge pull request #18867 from fire/better_vx_us_rebase_02
Improve VisualScript UX
2018-07-24 18:02:10 -03:00
K. S. Ernest (iFire) Lee 85670726fd Improve VisualScript UX
* 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.
2018-07-24 13:59:28 -07:00
Paulb23 8ff747171f Allow opening and editing of any utf_8 file in script editor 2018-07-22 11:55:56 +01:00
George Marques 03746da73f
Add editor highlight for type-safe lines
The line number is hightlighted to indicate that the line contains only
type-safe code.
2018-07-20 21:55:18 -03:00
K. S. Ernest (iFire) Lee e0510369d6 Fix visual script editor interface 2018-07-10 11:17:00 -03:00
Juan Linietsky 2dc738ce27 -Fixes to how hashing happened, now StringName and NodePath use default hasher, this was leading to some severe slowdown in scenarios
-Fixes to some duplication scenarios for instanced scenes
2018-07-02 15:08:35 -03:00
robojumper 98b59cf2a3 Add support for tutorial links to makerst.py
Also change the <tutorials> structure to make use of individual <link> tags
2018-06-12 17:40:24 +02:00
Rémi Verschelde 3334209a73 SCons: Pass env to modules can_build method
This allows to disable modules based on the environment,
in particular `env[tools]` which tells us if we are
building the editor or not.
2018-05-30 19:11:36 +02:00
Fabio Alessandrelli 1400f6fdc4 Refactor RPCMode enum and checks 2018-05-29 20:26:41 +02:00
Max Hilbrunner 4c69a495c9
Revert "RPCMode refactor, more sync modes" 2018-05-29 11:47:52 +02:00
Max Hilbrunner d0b62ce155
Merge pull request #19021 from Faless/rpc_sync_fix
RPCMode refactor, more sync modes
2018-05-29 09:44:03 +02:00
Max Hilbrunner 2fca33ac7b
Merge pull request #18516 from PJB3005/18-04-30-visual-script-title-bars
Move things into the title bars of Visual Script nodes.
2018-05-26 18:06:58 +02:00
Fabio Alessandrelli 9de4ffde61 Refactor RPCMode enum and checks 2018-05-26 10:43:43 +02:00
Juan Linietsky 005b69cf6e -New inspector.
-Changed UI resizing code, gained huge amount of speed.
-Reorganized timer sync to clean up behavior (sorry forgot commit this before)

-
2018-05-15 17:14:31 -03:00
Rémi Verschelde b774156729
Merge pull request #18514 from neikeq/api-hash-fixes
API hash fixes
2018-05-03 14:36:32 +02:00
Rémi Verschelde de97339a2d
Merge pull request #18291 from akien-mga/coverity-uninitialized-scalar-var
Fix Coverity reports of uninitialized scalar variable
2018-05-01 19:14:07 +02:00
Rémi Verschelde 4cce6f3417
Merge pull request #18321 from Crazy-P/Fixes-logically-dead-code
Fixes logically dead code (Coverity)
2018-05-01 08:35:10 +02:00
Pieter-Jan Briers 99e871f45f More stuff! 2018-05-01 00:39:28 +02:00
Pieter-Jan Briers 8d9d847a1a Move things into the title bars of Visual Script nodes.
This is an attempt to make VS slightly nicer to use.

WiP.
2018-04-30 01:28:31 +02:00
Ignacio Etcheverry 7034d48032 Fix binding some core API methods only in tools builds 2018-04-29 19:49:26 +02:00
Hugo Locurcio 1c419531a0 Change ".." punctuation for "..." in editor strings (#16507) 2018-04-22 19:36:01 +02:00
Crazy-P e6deba8d19 Fixes logically dead code (Coverity)
Fixes reported logically dead codes by Coverity

* image.cpp: Doesn't really need any modification. But to remove the bug
report then we have to move the MAX call away from the for loop
statement.

* rasterizer_gles3.cpp: Removes unnecessary elif condition since it is
checked earlier in the function

* collada.cpp: If stamement never reached due to macro ERR_CONTINUE does
the same.

* navigation_mesh.cpp: Variables should always be null - however, also
checked for the very same condition in their function call. Leaving this
for review (whether the function call is necessary or not)

* path_editor_plugin.cpp: If cancel is true, then it should restore the
edited value to the original provided.
http://docs.godotengine.org/en/3.0/classes/class_editorspatialgizmo.html#class-editorspatialgizmo-commit-handle

* spatial_editor_gizmos.cpp: the very condition of i >= 3 is
predetermined in the if case right before it. Thus case 1 is always '1'
and case 2 is always '-1'

* grid_map_editor.cpp: Same as above in spatial_editor_gizmos.cpp

* voxel_light_baker.cpp: Same as above in spatial_editor_gizmos.cpp

* visual_server.cpp: Same as above in spatial_editor_gizmos.cpp

* visual_script_expression.cpp: char '-' is already true in the switch
case mechanism. Thus it can never reach to default case.

* particles.cpp: Case 'PARAM_MAX' is unreachable due to index checking
right before the switch execution.

* shader_language.cpp: Invalid index is handled in switch default case.
`type < TYPE_FLOAT && type > TYPE_VEC4` -> `(type < TYPE_FLOAT || type > TYPE_VEC4`)
Fixes the "always false problem" in TODO comment.
2018-04-21 22:35:23 +08:00
Rémi Verschelde bf7ca623a6 Fix Coverity reports of uninitialized scalar variable
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).
2018-04-19 15:20:45 +02:00
Will Vincent b6b8c7b215 Remove incorrect & potentially confusing references to Euler
e is referred to as Euler’s number, so technically the MATH_EXP description in VisualScript doc was not incorrect, though could potentially lead to confusion.

e is different from Euler’s constant however, making the existing GDScript exp & VisualScriptMathConstant descriptions nvalid.
2018-04-15 11:40:31 -05:00
Paulb23 f7c727e6c3 Abstracted the syntax highlighter from text edit 2018-04-02 12:41:44 +01:00
Rémi Verschelde 3fa77b3172 doc: Remove status from hardcoded version string
It has no practical use case and just generates noise for each alpha, beta, etc.
2018-02-27 13:40:49 +01:00
luz.paz 612ab4bbc6 Fix typos with codespell
Found via `codespell -q 3 --skip="./thirdparty,./editor/translations" -I ../godot-word-whitelist.txt`
Whitelist consists of:
```
ang
doubleclick
lod
nd
que
te
unselect
```
2018-02-21 19:46:06 +01:00
Rémi Verschelde 3c7a39b40c doc: Update version string in header 2018-02-19 10:46:33 +01:00
Rémi Verschelde eb2b04c6eb
Merge pull request #15379 from ianb96/delete_key_fix
Filesystem and Visual Script Members delete key fix
2018-02-14 17:06:31 +01:00
Rémi Verschelde f2e3825616 doc: Fix references to online tutorials after godotengine/godot-docs#1015 2018-01-25 09:03:59 +01:00
Rémi Verschelde d516aab8fa doc: Sync with current source
Also enhance RigidBody docs as per https://github.com/godotengine/godot-docs/pull/1018
and fix the version tag in all files (not really stable yet, but it makes no sense
to hardcode rc3 at this stage).
2018-01-25 08:50:56 +01:00
Rémi Verschelde 6c46787749 doc: Replace some more "val" with "value" + sync 2018-01-17 10:43:23 +01:00
Chaosus 0c9312c6b8 Fixes for parameter names of builtin functions in visual scripts/core 2018-01-16 19:49:45 +03:00
Juan Linietsky 03475ba197 Filled tutorial field in most relevent classes.
Added tutorial display in doc.
2018-01-15 18:41:13 -03:00
K. S. Ernest (iFire) Lee ef1c26a9a5 Make sure PropertyHint matches in the VisualScript editor. 2018-01-15 22:19:54 +01:00
Rémi Verschelde e28cdc4654 doc: Update version string in XML 2018-01-13 11:43:42 +01:00
Bojidar Marinov ad79c70300
Update docs
[ci skip]
2018-01-12 00:58:22 +02:00
Bojidar Marinov 9b8e8b2220
Bind many more properties to scripts
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
2018-01-12 00:58:14 +02:00
Ian bce2d2c297 Filesystem and Visual Script Members keyboard shortcuts fix 2018-01-06 15:46:32 -05:00
Rémi Verschelde e4213e66b2 Add missing copyright headers and fix formatting
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.
2018-01-05 01:22:23 +01:00
Rémi Verschelde b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
Rémi Verschelde e83c502939
Merge pull request #14754 from willnationsdev/dictionary-copy
Added 'duplicate' function for Dictionary in C++ and API.
2017-12-17 23:58:59 +01:00
Will Nations f19fc83546 Dictionary::copy -> ::duplicate 2017-12-17 16:07:15 -06:00
Daniel J. Ramirez c8c280a68a Now every variant type has its icon. 2017-12-17 14:06:11 -06:00
Daniel J. Ramirez 756c033adb General use Variant type icons, plus other icon updates. 2017-12-17 13:19:09 -06:00
Rémi Verschelde 8f25a2dc11 Cleanup some #if 0'd code 2017-12-17 15:40:24 +01:00
Andreas Haas 0e624234da
Scons: Build modules in seperate env. 2017-12-13 15:46:35 +01:00
Rémi Verschelde 48d0336882
Merge pull request #14358 from RandomShaper/fix-vscript
Fix function arg count not considered in VisualScript
2017-12-09 14:18:26 +01:00
Rémi Verschelde 96dbf19093
Merge pull request #14332 from akien-mga/clang-format
Update style for clang-format 5.0.0, new min required version
2017-12-07 09:18:11 +01:00
Rémi Verschelde 624a2b08f3 doc: Sync classref after a496dd4d, removing NOEDITOR properties from doc 2017-12-07 08:29:38 +01:00
Rémi Verschelde 13c2ff9320 Style: Apply new clang-format 5.0 style to all files 2017-12-07 08:02:00 +01:00
Pedro J. Estébanez c68300b88d Fix function arg count not considered in VisualScript 2017-12-07 02:19:56 +01:00
Rémi Verschelde c2031fc813
Merge pull request #13436 from hoelzl/pr-vs-yield-signal-oneshot
Connect signal for VisualScript "Yield Signal" using oneshot mode
2017-12-06 23:43:27 +01:00
Rémi Verschelde e35e45a788
Merge pull request #13427 from hoelzl/pr-vs-enable-yield
Make VisualScriptFunctionState instantiable
2017-12-06 23:41:34 +01:00
Indah Sylvia 3996a05324 Fixed typo: substract to subtract 2017-12-05 11:34:46 +07:00
Matthias Hoelzl c825a58fe0 Connect signal for VisualScript "Yield Signal" using oneshot mode
Since the first call to a VisualScriptFunctionState invalidates the
state, any further call results in errors.
2017-12-01 04:44:47 +01:00
Matthias Hoelzl 70190e7428 Make VisualScriptFunctionState instantiable 2017-11-30 23:11:32 +01:00
Marcin Zawiejski 57f34abea1 Fix constant node value edit 2017-11-25 22:28:59 +01:00
Juan Linietsky bc2e8d99e5 Made Vector::ptrw explicit for writing, compiler was sometimes using the wrong function,
leading to unnecesary copy on writes and reduced performance.
2017-11-25 00:09:40 -03:00
Rémi Verschelde 7dfba3cda9 doc: Fix enum tags thanks to 2bc6db6 2017-11-24 23:16:30 +01:00
Rémi Verschelde 92f07fefcd doc: Remove setters and getters now exposed via properties/members 2017-11-24 18:10:32 +01:00
Rémi Verschelde bc75fae579 doc: Update header version for 3.0-beta 2017-11-24 09:16:52 +01:00
Rémi Verschelde 15ada56d73 doc: Sync classref with current source 2017-11-24 09:16:27 +01:00
Juan Linietsky 30dadb1228
Merge pull request #11933 from cxong/master
Use "Command" instead of "Meta" for macOS (#1619)
2017-11-21 14:25:09 -03:00
pablotato 054a2ac579 Add cartesian to polar conversion functions 2017-11-20 23:34:40 +01:00
Juan Linietsky ebbe2bd572
Merge pull request #12930 from vnen/gdscrit-output-print
Make tool scripts print on the editor Output panel
2017-11-17 16:05:44 -03:00
Ferenc Arn d28763a4c1 Rename Rect3 to AABB.
Fixes #12973.
2017-11-17 11:01:41 -05:00
George Marques 1d12470a78
Add print_error function, akin to print_line 2017-11-16 21:56:57 -02:00
Rémi Verschelde 677e95d8d1 doc: Make all module docs self-contained 2017-11-15 21:29:33 +01:00
George Marques 0284727e7b
Create API to add and remove VisualScript custom nodes
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.
2017-11-15 17:13:13 -02:00
Leon Krause 9b7b46143d Move singleton management from ProjectSettings to Engine 2017-11-14 15:15:13 +01:00
Goutte 91ca725f9b Add support for the TAU constant. Fixes #12094. 2017-11-12 13:32:35 +01:00
Juan Linietsky c1855dcff1 Properly fix node path selection in input ports, closes #12152 2017-11-12 09:20:38 -03:00
Bojidar Marinov 4045bc1059
Fix "Invalid outputs" error when calling a void method from visual script
Fixes #11851
2017-11-08 21:34:05 +02:00
Rémi Verschelde ea0e942617
Merge pull request #12035 from Chaosus/wrapfunc
Added new Wrap functions for numbers
2017-10-31 23:30:50 +01:00
Jerome67000 2609cc9ef4 Removes Script::get_node_type()
used before GDScript, with squirrel apparently
2017-10-25 20:11:30 +02:00
Ignacio Etcheverry e218a13a64 Add ScriptLanguage::supports_builtin_mode and improve ScriptCreateDialog
- 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.
2017-10-24 15:48:58 +02:00
Poommetee Ketson 9b634180aa Refactor Fixed to Physics 2017-10-21 21:28:08 +07:00
Rémi Verschelde bf88c3c8e8 Merge pull request #12097 from rcurtis/issue12065
Visualscript: Fixes untouched value is null instead of 0
2017-10-20 23:20:32 +02:00
homer666 6880cad471 (VS) Add space after "=" sign in variable list 2017-10-17 21:45:39 +11:00
Rémi Verschelde 38ba70f2f5 Merge pull request #12069 from Noshyaar/pr-vslerp
VisualScript: add inverse_lerp & range_lerp
2017-10-15 20:20:49 +02:00
Cédric Fuchs 77dd6f37bd Gave a tooltip to the "In" logic node 2017-10-14 22:13:19 +02:00
RCurtis 7fb57ecbd9 Fixed issue that improperly initialized visual node properties to Nil 2017-10-14 14:55:09 -04:00
Poommetee Ketson efc5209b99 VisualScript: add inverse_lerp & range_lerp 2017-10-13 19:47:07 +07:00
Cong 524ffc9712 Use "Command" for OSX in translation strings (#1619) 2017-10-13 20:12:58 +11:00
Chaosus 216a8aa643 Added new wrap functions 2017-10-13 11:10:45 +03:00
Ruslan Mustakov 61ddf52983 Add NIL_IS_VARIANT usage to few definitions
The missing usage flag led to GDNative API descriptions containting
arguments with "void" type.
2017-10-05 18:51:22 +07:00
Andreas Haas a848fa6cde Merge pull request #11789 from djrm/pr_visual_improvements
Added correct initialization for script editor theme.
2017-10-03 19:56:14 +02:00
Nathan Lovato cc40784728 Merge pull request #11653 from bojidar-bg/doc-vscript-1
[DOCS] Document some of the VisualScript classes
2017-10-03 11:58:06 +02:00
Bojidar Marinov 10469c1962
Document some of the VisualScript classes. 2017-10-03 12:01:53 +03:00