Commit Graph

6926 Commits

Author SHA1 Message Date
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
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