Commit graph

6920 commits

Author SHA1 Message Date
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
Haoyu Qiu e9bec0d76b Adds pan gesture to StateMachine editor 2020-10-09 20:15:32 +08:00
Tomasz Chabora 725c2bdf48 Update the setting when clicking Show hidden files 2020-10-06 15:42:25 +02:00
Rémi Verschelde ed333248f5
Merge pull request #42314 from mbrlabs/nodepath-fix
Fixed renaming/moving of nodes with exported NodePaths in the editor
2020-10-06 12:04:46 +02:00
Aaron Franke 1ca501d7d4
Check for global script class information before clearing it 2020-10-05 15:45:54 -04:00
K. S. Ernest (iFire) Lee 7b76f8783f Better non alphanumeric bone names.
1. _gen_unique_bone_name(Ref<GLTFState> state, const GLTFSkeletonIndex skel_i, const String &p_name) won't return an empty string.

2. String GLTFDocument::_sanitize_bone_name(const String &name) will keep Japanese characters. Like: "全ての親".

3. The sanitize function allows  the bone name to be not just alphanumeric. The only required conditions are the ones in add_bone.

> ERR_FAIL_COND(p_name == "" || p_name.find(":") != -1 || p_name.find("/") != -1);
2020-10-05 09:25:37 -07:00
Rémi Verschelde 2e99d0b26f
glTF: Fix parsing image data with mimeType undefined
The glTF 2.0 spec only makes `mimeType` mandatory for `bufferView` image data,
so the previous logic to handle URIs with base64-encoded images could fail if
`mimeType` is undefined.

The logic was documented and refactored to better handle the spec, notably:

- `uri` and `bufferView` are now mutually exclusive, and only the latter fails
  if `mimeType` is undefined.
- `uri` with a file path will now respect the `mimeType` if defined, and thus
  attempt loading the file with the specified format (even if its extension is
  not the one expected for this format). So we can support bad extensions (PNG
  data with `.jpg` extension) or custom ones (PNG data in `.img` file for
  example).
- `uri` with base64 encoded data will infer MIME type from `data:image/png` or
  `data:image/jpeg` if it was not documented in `mimeType` initially.
- `uri` with base64 encoded data, no `mimeType` and `application/octet-stream`
  or `application/gltf-buffer` will fall back to trying both PNG and JPEG
  loaders.

Fully fixes #33796 (and fixes up #42501).
2020-10-05 13:06:50 +02:00
David Sichma 7701889048 aabb change updates bounding box
spatial editor will now update the bounding box if aabb or transform
changes
2020-10-05 12:56:57 +02:00
Rémi Verschelde b5eea37fb0
Merge pull request #42518 from Duroxxigar/update-getter-and-setters
Updated getters and setters names for toplevel
2020-10-03 21:53:35 +02:00
Aaron Franke 3163611f0c
Don't write global script class information if there is none 2020-10-03 04:36:07 -04:00
Duroxxigar 4834e14493 Updated getters and setters names for toplevel 2020-10-02 19:09:01 -04:00
Michael Auderer 6d510453e5
initialize refocus_over_tile to false
Co-authored-by: Tomek <kobewi4e@gmail.com>
2020-10-02 10:42:12 -04:00
Rémi Verschelde 34a50310ad
glTF: Fix parsing buffer data with application/gltf-buffer and image/* MIME types
See https://github.com/KhronosGroup/glTF/issues/944 for context on the
application/gltf-buffer MIME type.

The glTF 2.0 spec supports `image/jpeg` and `image/png` which can also be
base64-encoded in buffer URIs.

Fixes #33796.
2020-10-02 12:23:10 +02:00
Rémi Verschelde 19f72beebb
Merge pull request #42451 from Duroxxigar/rename-toplevel
Renamed toplevel to be top_level
2020-10-02 10:57:23 +02:00
Michael Auderer 70a4cd1afe Reset TileMapEditor painting on application refocus
Treats application unfocus as a mouse release for
TOOL_PAINTING, by finishing the undo state and
resetting the tool. Also sets a flag to prevent extra
lines from being drawn when the application is refocused.

fixes #42398, fixes #24970
2020-10-02 01:48:14 -04:00
Yuri Roubinsky 17d588f7b3
Merge pull request #42467 from Chaosus/vs_fix_bug
Updates size of float constant in visual shader if empty is selected
2020-10-01 18:33:23 +03:00
Yuri Roubinsky fa35733b4c Updates size of float constant in visual shader if empty is selected 2020-10-01 18:19:36 +03:00