Commit Graph

6936 Commits

Author SHA1 Message Date
Tomasz Chabora 08a292fec3 Allow folder checking in export preset file list 2020-11-14 16:37:25 +01:00
Nathan Franke 20bca313c0
Fix Android Export jarsigner error with *.import whitelist 2020-11-13 10:30:40 -06:00
Rémi Verschelde d107fd4c9e
SceneTree: Fix reparent crash with animation tracks renaming disabled
This check was there since the first commit in 2014, but a later feature added in 2018
with #17717 did not properly update the code while adding non animation-related code
in `perform_node_renames`.

Fixes #40532.
2020-11-13 13:41:33 +01:00
Rémi Verschelde a7d610db16
Merge pull request #43408 from rcorre/path-gizmos-4.0
Make Path3D handles visible and consistent with 2D.
2020-11-12 13:12:49 +01:00
Ryan Roden-Corrent 8458ba0aef
Proposal 1246: Make Path3D handles more visible.
Resolves godotengine/godot-proposals#1246.

It is difficult to tell the difference between the handles for adjusting
curves and the points themselves when looking at a Path gizmo.
This re-uses the icons used for Path2D.

Unlike Path2D, this does not use a different icon for smooth vs sharp
points, as using a potentially different material for each point would
prevent batching the points in add_handles (and adding them out-of-order
messes up other logic based on handle indices).

This includes a public API change to allow specifying a texture for a
handle material. This allows spatial gizmo plugins to customize the way
a handle is rendered, if desired, but does not break existing behavior
(as providing no texture uses the default).

The path handle icons were resized as well.  16x16 is the standard icon
size. These icons were 10x10 rather than 16x16, and appeared rather
small in the editor.

To resize, I:

- Opened the original in Inkscape
- Resized the document to 16x16
- Opened the transform dialog
- Scaled by 160% proportionally
- Used Align/Distribute to center on the page
- Saved the document
- Cleaned with `svgcleaner --multipass`
2020-11-12 06:37:56 -05:00
Rémi Verschelde b1db71c9fb
Merge pull request #43220 from YeldhamDev/canvasgroup_codeedit_icons
Add icons for the 'CanvasGroup' and 'CodeEdit' nodes
2020-11-12 10:31:03 +01:00
K. S. Ernest (iFire) Lee 4cff322017 Restore screenshot button. 2020-11-11 14:31:54 -08:00
Rémi Verschelde 8344d27276
Merge pull request #43451 from timothyqiu/move-line-cursor
Keep cursor relative position after move lines up/down in text editor
2020-11-11 22:32:17 +01:00
reduz 635d33dc6c Refactor variant built-in methods yet again.
* Using C-style function pointers now, InternalMethod is gone.
* This ensures much better performance in typed code.
* Renamed builtin_funcs to utility_funcs, to avoid naming confusion
2020-11-11 16:36:36 -03:00
Haoyu Qiu 87fb2bde0c Keep cursor relative position after multiline move 2020-11-11 18:29:32 +08:00
reduz 5288ff538d Create Variant built-in functions.
-Moved Expression to use this, removed its own.
-Eventually GDScript/VisualScript/GDNative need to be moved to this.
-Given the JSON functions were hacked-in, removed them and created a new JSONParser class
-Made sure these functions appear properly in documentation, since they will be removed from GDScript
2020-11-10 19:31:10 -03:00
Rémi Verschelde 34cad0d020
doc: Fixups to #43419 which added operators in the docs
- Escape the method names as e.g. `operator <` is invalid XML.
- Add a hack to merge all String % operator definitions for each Variant type
  as a single one with `Variant` argument type.
- Add support for the new qualifiers in makerst.py.
- Drop unused `doc_merge.py`, seems to date back to when we had all the
  documentation in a single `classes.xml`.
2020-11-10 15:00:07 +01:00
Tomasz Chabora cbfbb4538b Register methods for drawing 3D editor overlays 2020-11-10 11:35:34 +01:00
Rémi Verschelde e1a9ec4e19
Merge pull request #43397 from Calinou/fix-filesystem-copy-path-shortcut-conflict
Use Ctrl+Shift+C as the default FileSystem dock Copy Path shortcut
2020-11-10 09:53:48 +01:00
Aaron Franke 46fdca4fae
Allow creating projects in non-empty folders with a confirmation popup 2020-11-10 00:12:07 -05:00
Rémi Verschelde 0f249f5c0a
Variant: Sync docs with new constructors, fixups after #43403
Change DocData comparators for MethodDoc and ArgumentDoc to get a better
ordering of constructors.
2020-11-09 23:39:53 +01:00
reduz 11bf2ec6d1 Make sure operators appear in the docs too
Add "operator" and "constructor" qualifiers to make it easier to
see in the docs.
2020-11-09 14:12:01 -03:00
Rémi Verschelde ed62876683
Merge pull request #40106 from Calinou/improve-3d-selection-box
Improve the 3D editor selection box appearance
2020-11-09 17:46:43 +01:00
Rémi Verschelde 9d2e8f2f27
Variant: Rename Type::_RID to Type::RID
The underscore prefix was used to avoid the conflict between the `RID` class
name and the matching enum value in `Variant::Type`.

This can be fixed differently by prefixing uses of the `RID` class in `Variant`
with the scope resolution operator, as done already for `AABB`.
2020-11-09 16:29:04 +01:00
Hugo Locurcio 8a3a4fa3a0
Improve the 3D editor selection box appearance
- Draw two boxes slightly offset from each other to give the illustion
  of a thicker outline.
- Decrease the offset compared to the 3D node's AABB to give a more
  accurate representation of its size.
- Make the box fully visible instead of only displaying the corners.
- Draw a x-ray version of the box that's more translucent, but visible
  through walls. This helps make the box more visible while still
  having a sense of depth.
- Use an orange color similar to the 2D editor.
2020-11-09 16:24:12 +01:00
reduz 221a2a1742 Refactored variant constructor logic 2020-11-09 08:54:43 -03:00
Hugo Locurcio 5b40f9fddc
Use Ctrl+Shift+C as the default FileSystem dock Copy Path shortcut
This closes #43396.
2020-11-08 19:44:52 +01:00
Rémi Verschelde 4206dc6ac9
Merge pull request #43380 from YeldhamDev/light2d_icons
Add icons for the new Light2D nodes
2020-11-08 14:58:47 +01:00
reduz 127458ed17 Reorganized core/ directory, it was too fatty already
-Removed FuncRef, since Callable makes it obsolete
-Removed int_types.h as its obsolete in c++11+
-Changed color names code
2020-11-07 20:17:12 -03:00
reduz 05de7ce6ca Refactored variant setters/getters
-Discern between named, indexed and keyed
-Get direct access to functions for typed GDScript and GDNative bindings
-Small changes to some classes in order to work with the new setget binder
2020-11-07 15:16:15 -03:00
Michael Alexsander a38b4fd8f2 Add icons for the new Light2D nodes 2020-11-07 13:55:09 -03:00
reduz f2397809a8 Refactored Variant Operators.
-Using classes to call and a table
-For typed code (GDS or GDNative), can obtain functions to call prevalidated or ptr.
2020-11-06 12:45:50 -03:00
Aaron Franke a4f963f2c9
Move call to update the 3D grid into check for updating the view 2020-11-04 04:03:28 -05:00
Rémi Verschelde be14d9d644
Merge pull request #42979 from Mallos/fix/tilemap-floodfill
fix(editor): TileMap floodfill with same tile ID and different variation
2020-11-02 17:05:43 +01:00
Michael Alexsander 0176fc2f32 Add icons for the 'CanvasGroup' and 'CodeEdit' nodes 2020-10-30 16:42:18 -03:00
reduz 0e6664539d Refactor pixel snapping.
-Rename pixel_snap to snap_2d_to_vertices
-Added snap_2d_to_transforms which is more useful

Fixes #41814
Solves proposal https://github.com/godotengine/godot-proposals/issues/1666
Supersedes #35606, supersedes #41535, supersedes #41534
2020-10-30 08:57:32 -03:00
Rémi Verschelde 9ab6cef2ad
Merge pull request #43192 from YeldhamDev/poly2deditor_buttons_flat
Set previous tool buttons in the Polygon2D editor to be flat again
2020-10-29 21:35:34 +01:00
Michael Alexsander 3b0cb48bcd Set previous tool buttons in the Polygon2D editor to be flat again 2020-10-29 16:53:41 -03:00
Michael Alexsander 4b74019ca3 Fix "Move Points" button sometimes not showing up on UV mode in the Polygon2D editor 2020-10-29 16:45:17 -03:00
Rémi Verschelde 1ee507d62c
i18n: Sync translations with Weblate
(cherry picked from commit 284dae021a)
2020-10-28 15:55:15 +01:00
Haoyu Qiu 0dfe28d93d Fixes property revert for inherited child nodes 2020-10-27 10:53:27 +08:00
Rémi Verschelde 47e9fc22c7
Merge pull request #42677 from groud/fix_error_on_attach_script
Fix error on attaching script
2020-10-27 00:23:50 +01:00
Rémi Verschelde d767c0eeea
Merge pull request #43109 from bruvzg/gridmap_ub
Fix uninitialized `GridMapEditor::node` and `InputMapEditor::setting` variables.
2020-10-26 23:39:17 +01:00
Gilles Roudière 6386bf60ea Fix error on attaching script 2020-10-26 23:26:44 +01:00
bruvzg b506f9b5aa
Fix uninitialized `GridMapEditor::node` and `InputMapEditor::setting` variables. 2020-10-26 22:57:11 +02:00
Haoyu Qiu a2c1593f25 Fixes property revert after saving instanced scene 2020-10-27 00:07:09 +08:00
Rémi Verschelde a3396fabd5
Merge pull request #42995 from Ev1lbl0w/bugfix-zoom-visibility
Fix visibility issue with zoom label
2020-10-26 11:15:50 +01:00
Ev1lbl0w 0a581a39d4
Fix visibility issue with zoom label 2020-10-26 09:44:17 +00:00
Rémi Verschelde b6707aa35b
Merge pull request #43018 from groud/improve-file-sorting
Improve file sorting
2020-10-26 10:16:56 +01:00
Rémi Verschelde 368a464e49
Merge pull request #42229 from Calinou/2d-editor-improve-undo-log-messages
Improve undo log messages in the 2D editor for additional context
2020-10-26 09:34:57 +01:00
Rémi Verschelde d667ea116d
Merge pull request #43070 from Calinou/optimize-svgs
Optimize SVG using `svgcleaner --multipass`
2020-10-26 09:25:44 +01:00
Gilles Roudière 6f696a5927 Improve file sorting 2020-10-26 09:22:35 +01:00
Rémi Verschelde 8ee44cc60c
Merge pull request #43075 from Xrayez/color-ramp-to-gradient
Fixup `ColorRamp` to `Gradient` renames
2020-10-26 08:44:27 +01:00
Rémi Verschelde ee770b02fc
Merge pull request #43084 from DavidSichma/toggle0
fix toggle mask bit 0
2020-10-26 08:26:19 +01:00
Rémi Verschelde 33ff670d30
Merge pull request #43050 from Pleto/enhance_tileset_sorting
Enhancement for tileset sorting
2020-10-26 08:10:53 +01:00
Pleto 0e392bd177 Enhancement for tileset sorting 2020-10-26 06:34:14 +02:00
David Sichma 6acd450328 fix toggle mask bit 0 2020-10-26 02:08:39 +01:00
David Sichma 5b1ddcbf40 Gizmo handles transparent again 2020-10-25 23:01:22 +01:00
Andrii Doroshenko (Xrayez) 8ce2f401dd Fixup `ColorRamp` to `Gradient` renames 2020-10-25 18:32:44 +02:00
Hugo Locurcio a1d9c67f43
Optimize SVG using `svgcleaner --multipass`
This decreases the editor binary size by about 8 KB.
2020-10-25 10:02:37 +01:00
reduz 84d734da0e Refactored 2D shader and lighting system
-Removed normal/specular properties from nodes
-Create CanvasTexture, which can contain normal/specular channels
-Refactored, optimized and simplified 2D shaders
-Use atlas for light textures.
-Use a shadow atlas for shadow textures.
-Use both items aboves to make light rendering stateless (faster).
-Reorganized uniform sets for more efficiency.
2020-10-24 15:57:25 -03:00
Rémi Verschelde 11f362b510
Merge pull request #35766 from YeldhamDev/poly2d_uv_editor_improvements
Minor improvements to the Polygon 2D UV editor
2020-10-24 01:47:40 +02:00
Eric Tuvesson 8cf88f8ff4 fix(editor): Create new icon for TileMap Rectangle
ref: #42972
2020-10-22 13:28:34 +02:00
Rémi Verschelde eee7c4acc4
Revert "fix(editor): TileMap Fill Rectangle icon" 2020-10-22 10:28:37 +02:00
Rémi Verschelde d05c7da1aa
Merge pull request #42949 from DavidSichma/shaderglobals
Shader globals bugfixes
2020-10-22 09:53:49 +02:00
Yuri Roubinsky d87e645bcf Fix custom property editor to correctly show Basis 2020-10-22 08:41:35 +03:00
Eric Tuvesson cefca25796 fix(editor): TileMap floodfill with same tile ID and different variation
Closes https://github.com/godotengine/godot/issues/40435
2020-10-21 23:56:44 +02:00
Hugo Locurcio 8a474727c4
Allow more image types in the roughness texture's Src Normal import hint 2020-10-21 23:21:46 +02:00
Eric Tuvesson 3fee970c62 fix(editor): TileMap Fill Rectangle icon
The default color was blue which is the active color, changed it to be gray by default.
2020-10-21 20:44:55 +02:00
David Sichma 5d33cd94c8 Shader globals bugfixes
- shader globals editor displays properties correctly
- fixed some errors how globals were transferred
2020-10-21 01:34:25 +02:00
Gilles Roudière f7a8cd882a Allow sorting files by type 2020-10-19 23:22:08 +02:00
Rémi Verschelde 17f682226d
Merge pull request #42904 from Xrayez/rects-rename-fixup
Fixup `ColorRect` and `TextureRect` renames
2020-10-19 22:34:40 +02:00
Juan Linietsky 85ebf40b6c
Merge pull request #38097 from Calinou/add-viewport-debanding
Add a debanding property to Viewport
2020-10-19 14:15:44 -03:00
Hugo Locurcio 996740de43
Improve undo log messages in the 2D editor for additional context
Undo/redo log messages will now specify the modified node's
name (or number of modified nodes if several were modified).
On top of that, the new position/rotation/scale/pivot offset
will also be mentioned in the message.
2020-10-19 18:59:52 +02:00
Andrii Doroshenko (Xrayez) 9c3a33a4e8 Fixup `ColorRect` and `TextureRect` renames 2020-10-19 19:34:35 +03:00
Ev1lbl0w 395cb57256
Disable code to add patches menu 2020-10-19 16:31:42 +01:00
Rémi Verschelde 6b20859984
Merge pull request #42558 from Chaosus/vs_curve
Added visual shader node to easy gather data from a CurveTexture
2020-10-19 14:58:45 +02:00
Rémi Verschelde fb8d7f9a84
Merge pull request #42878 from gvaneyck/copy-description-node-replace
Keep 'Editor Description' metadata when changing a Node's type
2020-10-19 08:30:26 +02:00
Juan Linietsky 53d5a252bb
Revert "Replace SAO implementation with MSSAO" 2020-10-18 19:27:51 -03:00
clayjohn 366ee46774 Replace SAO implementation with MSSAO 2020-10-18 13:15:51 -07:00
Gabriel Van Eyck a22275c8a2 Keep 'Editor Description' metadata when changing a Node's type
Also copy edit group/lock when replacing a Node3D
2020-10-18 11:22:54 -07:00
Rémi Verschelde 0cee302192
Merge pull request #42873 from Yetizone/HeaderGuardUpdate
node_3d_editor_plugin.h: Update header guard
2020-10-18 15:10:45 +02:00
reduz ee06a70ea6 Refactor MethodBind to use variadic templates
Removed make_binders and the old style generated binders.
2020-10-18 12:28:44 +02:00
Yuri Roubinsky f402e1e675 Added VisualShaderNodeCurve to easy gather data from a CurveTexture 2020-10-18 09:57:15 +03:00
Yetizone 09356c1f67 node_3d_editor_plugin.h: Update header guard 2020-10-17 18:52:17 +03:00
Yuri Roubinsky 8351266117 Fix visual shader node expression undo/redo for set_size and expression 2020-10-15 16:11:38 +03:00
Yuri Roubinsky 17fc3bed5f
Merge pull request #42813 from Chaosus/vs_fix_ops
Fix copy/paste/duplicate for particle mode in visual shaders
2020-10-15 12:01:06 +03:00
Yuri Roubinsky 1fee310a9a Fix copy/paste/duplicate for particle mode in visual shaders 2020-10-15 11:33:06 +03:00
Rémi Verschelde b84f9b0068
Merge pull request #42791 from Faless/editor/drag_drop_copy_all
EditorNode now copies all drag and dropped files.
2020-10-15 10:29:12 +02:00
Yuri Roubinsky 9b5d6f785b Refactor delete nodes functions in visual shader editor 2020-10-15 10:24:27 +03:00
reduz b8c64184c6 Refactored binding system for core types
Moved to a system using variadic templates, shared with CallableBind.

New code is cleaner, faster and allows for much better optimization of core
type functions from GDScript and GDNative.

Added Variant::InternalMethod function for direct call access.
2020-10-14 15:24:30 +02:00
Fabio Alessandrelli 410b324740 EditorNode now copies all drag and dropped files.
The editor used to only copy drag-dropped files in the File System pane
if the given file was a valid resource, or had a specific file format
(ttf, otf).
With this PR, all drag and dropped files are copied instead, no matter
their extension.
2020-10-14 12:40:18 +02:00
Rémi Verschelde 2965d519cb
Merge pull request #42748 from qarmin/dont_clear_twice
Don't try to compare freed object to nullptr
2020-10-13 10:50:19 +02:00
Rafał Mikrut 2ad5b7100b Don't try to compare freed object to nullptr 2020-10-13 10:27:49 +02:00
Rémi Verschelde 1aa8f356e1
Merge pull request #42489 from auderer/tilemapeditor-refocus
Reset TileMapEditor painting state on application refocus
2020-10-13 10:00:04 +02:00
Rémi Verschelde 36e51a8d7e
Merge pull request #42737 from volzhs/android-run-tooltip
Show android device name when connected only one device
2020-10-13 09:57:48 +02:00
volzhs 778e982cff Show android device name when connected only one device 2020-10-12 21:47:00 +09:00
Marcel Admiraal f98acd5cfb Ensure grid index is valid before trying to change value. 2020-10-12 08:53:09 +01:00
opl- aa7411e219 Improve output in Debugger Errors tab for scripts 2020-10-12 07:35:40 +02:00
Yuri Roubinsky bf37ab52b3
Merge pull request #42692 from Chaosus/vs_add_metallic
Adds Metallic to spatial light input of visual shaders
2020-10-10 17:47:56 +03:00
Yuri Roubinsky f4eef287f9 Adds Metallic to spatial light input of visual shaders 2020-10-10 16:55:36 +03:00
Juan Linietsky cf0045011e
Merge pull request #42683 from reduz/implement-call-bind-unbind
Add ability to bind an unbind arguments to Callable.
2020-10-10 08:24:14 -03:00
Rémi Verschelde ca2c0b8937
Merge pull request #42568 from DavidSichma/fix-aabb-update
Make AABB change trigger bounding box update
2020-10-10 10:55:52 +02:00
reduz 351a122029 Add ability to bind an unbind arguments to Callable. 2020-10-09 19:43:22 -03:00
reduz 26f5bd245c Implement GPU Particle Collisions
-Sphere Attractor
-Box Attractor
-Vector Field
-Sphere Collider
-Box Collider
-Baked SDF Collider
-Heightmap Collider
2020-10-09 13:25:47 -03:00