Commit Graph

2860 Commits

Author SHA1 Message Date
Haoyu Qiu 381ba7d554 Fixes rotation in select mode on macOS 2020-11-18 18:16:22 +08:00
Aaron Franke 02161aad5a
Remove empty lines around braces with the formatting script 2020-11-16 23:38:11 -05: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
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 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 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
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 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 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 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 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 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
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
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
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
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
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 1c546fdaea Changes 'always show grid' hotkey to prevent conflict with 'pan mode' 2020-10-15 17:30:43 +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 1fee310a9a Fix copy/paste/duplicate for particle mode in visual shaders 2020-10-15 11:33:06 +03:00
Yuri Roubinsky 9b5d6f785b Refactor delete nodes functions in visual shader editor 2020-10-15 10:24:27 +03: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
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
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 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
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
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 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
Rémi Verschelde c646768ba2
Merge pull request #40473 from rcorre/gizmo-doc
Fix return type on EditorNode3DGizmoPlugin::get_priority.
2020-10-01 14:28:38 +02:00
Rémi Verschelde 56dee7015f
Merge pull request #42458 from groud/fix_cursor_rotation
Fix scale cursor rotation and handle diagonal ones
2020-10-01 12:51:02 +02:00
Gilles Roudière 6dd19af439 Fix scale cursor rotation and handle diagonal ones 2020-10-01 12:19:45 +02:00
Yuri Roubinsky 50a80db50f Add an option to select a predifined constant in visual shader editor 2020-10-01 11:11:49 +03:00
Duroxxigar b687ace7f9 Renamed toplevel to be top_level 2020-10-01 03:17:33 -04:00
Hugo Locurcio 95773bb3c1
Make the pressed autokey icon red to emphasize its "recording" status 2020-09-29 23:22:21 +02:00
Yuri Roubinsky 1f73d122d8
Merge pull request #42407 from Chaosus/vs_drag_and_drop
Drag & drop 3d/2d array/cubemap texture to visual shader
2020-09-29 15:45:17 +03:00
Yuri Roubinsky 2652debde0 Drag & drop 3d/2d array/cubemap texture to visual shader 2020-09-29 15:27:36 +03:00
Hugo Locurcio 6055db2a72
Automatically start searching in the asset library when entering text
Entering text will now start searching automatically after 0.25 seconds
have passed (debounce delay).

This removes the need for a separate Search button.
2020-09-29 12:46:49 +02:00
Rémi Verschelde bebf424c80
Merge pull request #42078 from Chaosus/vs_rename_type
Renames Type to OpType in VisualShaderNodeMultiplyAdd
2020-09-29 10:34:22 +02:00
Rémi Verschelde b2e07dd308
Merge pull request #42094 from JFonS/rotation_gizmo_improvements
Improve rotation gizmo
2020-09-28 10:36:35 +02:00
Rémi Verschelde c12fc4fa04
Merge pull request #42373 from groud/draw_selection_last
Draw selected item on top of everything else
2020-09-27 19:55:48 +02:00
Gilles Roudière 16532f51ef Draw selected item on top of everything else 2020-09-27 18:47:38 +02:00
Gilles Roudière 8e6da0b808 Fix error when dragging anchors with parent's size == 0 2020-09-27 17:44:06 +02:00
Yuri Roubinsky 11043b1a8f Fix undo for moving multiple visual shader nodes 2020-09-27 14:05:19 +03:00
Rémi Verschelde 78304b904f
Merge pull request #42150 from DashCell/resize_tile_shape_fixed
Resize the tile shapes when a vertex is outside of the tilesheet
2020-09-23 10:51:02 +02:00
Yuri Roubinsky 81a44a4145 Fix expressions nodes in visual shaders 2020-09-22 23:07:55 +03:00
Yuri Roubinsky 477f6c880e Fix UniformRef invalid updating when LineEdit focus out 2020-09-22 09:56:24 +03:00
Yuri Roubinsky 07fb960a88 Fix some bugs in visual shader editor 2020-09-21 22:19:20 +03:00
Dashcell 5355169d3c Fixes the resize of tile shapes when a vertex is outside of the tilesheet. Fix #34970 2020-09-17 21:14:46 -03:00
JFonS 5cd9e04447 Improve rotation gizmo
Hide the back sides of the rotation gizmo circles and add a white
outline for better visualization of the rotation "sphere".
2020-09-15 17:12:53 +02:00
Yuri Roubinsky f137f14e1c Renames Type to OpType in VisualShaderNodeMultiplyAdd
To prevent possible conflicts with C# and other languages.
2020-09-15 11:06:18 +03:00
Rémi Verschelde 45f4d8fc92
Merge pull request #42038 from hoontee/_42027
Fix "Create Trimesh Collision Sibling" transform
2020-09-14 09:19:42 +02:00
hoontee 3cbd626328 Fix "Create Trimesh Collision Sibling" transform 2020-09-13 17:42:52 -05:00
Yuri Roubinsky 0fd9ad8801 Fix visual shader connection regression 2020-09-13 23:48:59 +03:00
Yuri Roubinsky f726ef1cd7 [VisualShader] Fixes default node's input port not hiding on connection 2020-09-13 19:59:01 +03:00
Yuri Roubinsky c24e2075cd Update shader graph if mode is changed 2020-09-12 12:44:01 +03:00
Yuri Roubinsky 8dbf3d7c44 Improve performance of Add/Remove/Connect/Change nodes in visual shader 2020-09-11 15:45:18 +03:00
Paulb23 c0da97d29c Remove breakpoints from editor settings 2020-09-10 20:35:28 +01:00
Paulb23 33ab9cd621 Move safe line color into editor 2020-09-10 20:35:28 +01:00
Paulb23 d18a90b8f0 Move ConnectionGutter to editor code_editor 2020-09-10 20:35:28 +01:00
Paulb23 4d7df24d46 Add main_gutter (breakpoints, bookmarks, execution lines) to code_edit 2020-09-10 20:35:28 +01:00
Paulb23 1353ed5e44 Added Line numbers to CodeEdit 2020-09-10 20:35:28 +01:00
Paulb23 a0b409cb14 Add and convert editor to use CodeEdit 2020-09-10 20:35:27 +01:00
Rémi Verschelde 49283cb80d
Merge pull request #41795 from Hassan-A/tilemap-rotate-fix
Fix tilemap tile preview on horizontal/vertical flips.
2020-09-10 12:02:19 +02:00
Yuri Roubinsky 5ba8246cfb Added Texture3D to visual shaders 2020-09-10 07:40:06 +03:00
Rémi Verschelde ab7e7b8116
Merge pull request #41926 from Calinou/rename-shortcut-sentence-case
Rename ShortCut to Shortcut which is more grammatically correct
2020-09-09 22:39:29 +02:00
Hugo Locurcio 3e0226515e
Rename ShortCut to Shortcut which is more grammatically correct
See https://github.com/godotengine/godot/issues/16863#issuecomment-685236980.
2020-09-09 21:54:54 +02:00
Yuri Roubinsky da488ff041 Fix build warning in visual_shader_editor 2020-09-09 22:00:21 +03:00
Juan Linietsky 1ce46f2a3f
Merge pull request #41918 from reduz/implement-3d-textures
Implement 3D textures as import and resource format.
2020-09-09 14:40:22 -03:00
reduz a674da4eec Implement 3D textures as import and resource format. 2020-09-09 13:50:21 -03:00
Yuri Roubinsky 14a24fa19c Improve performance for Show/Hide port preview in visual shaders 2020-09-09 19:24:55 +03:00
Yuri Roubinsky ea49d8b9d5 Improve performance of Undo:change node position in visual shader 2020-09-09 11:29:40 +03:00
Yuri Roubinsky dc6685d28f Remakes particles in visual shaders 2020-09-07 13:33:51 +03:00
Haz 3f5413693c Fix tilemap tiles on horizontal/vertical flips 2020-09-06 16:00:36 -04:00
Yuri Roubinsky de097b9327 Removes redundant code & fix documentation for VisualShaderNodeCustom 2020-09-06 12:09:15 +03:00
Yuri Roubinsky 004d8e86a6 Use flags instead TYPE_ enum in visual shaders editor 2020-09-06 10:43:14 +03:00
Marcel Admiraal 879390680b Make PosVertex to Vertex slicing explicit. 2020-09-04 13:22:20 +01:00
Rémi Verschelde dc8d8d1b5d
Merge pull request #40996 from Calinou/improve-debug-editor-tooltips
Improve editor tooltips related to debugging
2020-09-04 10:07:21 +02:00
bruvzg 80b8eff6aa
[Complex Test Layouts] Change `String` to use UTF-32 encoding on all platforms. 2020-09-03 19:56:24 +03:00
Rémi Verschelde 2da7d2c172
Merge pull request #41050 from Calinou/spriteframes-editor-compact
Make the SpriteFrames animation speed SpinBox take less vertical space
2020-09-03 14:40:45 +02:00
Yuri Roubinsky c291b1d23c Restore Particles functionality in visual shader 2020-09-03 10:22:00 +03:00
Aaron Franke ecd6a893b4
Change Color HTML conversion from ARGB to RGBA
Also add support for 3 and 4 digit values in C#. Now it actually matches the HTML/CSS spec.
2020-09-01 02:07:35 -04:00
Rémi Verschelde 74dbcf1e4d
Merge pull request #30148 from zaksnet/fix-texture-editor
Adds automatic update for StyleBoxTexture > region_rect
2020-08-31 13:25:28 +02:00
Ignacio Etcheverry b89ba85f6f Fix crash because of initialized EditorDebuggerPlugin field 2020-08-30 01:52:42 +02:00
Zak 7d7727bade Adds automatic update for region_rect
When changing the texture region for a StyleBox, the regions was not updating automatically in the Texture editor.
2020-08-29 19:46:52 +02:00
Rémi Verschelde 7a62b94bca
Merge pull request #41523 from Lunatoid/theme-editor-h-scrollbar
Gives the theme editor a horizontal scrollbar
2020-08-27 12:16:56 +02:00
simpu ea2eaf8c27 Added debugger plugin support
Changes:
* EngineDebugger is exposed to gdscript. Game side of communication can be implemented through it.
* EditorDebuggerPlugin is added which handles the editor side of communication.
2020-08-26 11:24:51 +05:30
Lunatoid d602be077d Gives the theme editor a horizontal scrollbar
Fixes #34509 where the theme editor would push away the inspector
if something like "hseperation" is really high.
Now `set_enable_h_scroll` is true which fixes this.
2020-08-26 01:48:46 +02:00
Rémi Verschelde dd58f4da66
Merge pull request #41085 from SekoiaTree/master
Fixed node scaling arrows being wrong
2020-08-25 12:44:21 +02:00
SekoiaTree 603febdbfe Fixed node scaling arrows being wrong
Patch for #21755. Node scaling arrows pointed the wrong way when nodes were rotated. Ammend: made math cleaner.

Simplified expression

Changes suggested by Aaron Franke

Co-authored-by: Aaron Franke <arnfranke@yahoo.com>
2020-08-25 09:50:15 +02:00
SkyJJ 396f2eee82 Update POT generation to handle context and plurals 2020-08-19 03:01:52 +02:00
Rémi Verschelde ba1109a3b3
Merge pull request #41280 from Calinou/editor-3d-add-invert-x-option
Add an editor setting to invert 3D pan/orbit on the X axis
2020-08-17 15:54:40 +02:00
Rémi Verschelde ac5619f521
Merge pull request #41223 from javidcf/sprite_frames_editor_zoom
Added zoom functionality to sprite frames editor plugin
2020-08-15 18:46:48 +02:00
Hugo Locurcio 2c9d4ef961
Add an editor setting to invert 3D pan/orbit on the X axis
This also makes the invert Y axis option apply to 3D panning.

This closes #28082.
2020-08-15 13:18:57 +02:00
Hugo Locurcio 8891579068
Add a debanding property to Viewport
It can be enabled in the Project Settings
(`rendering/quality/screen_filters/use_debanding`). It's disabled
by default as it has a small performance impact and can make
PNG screenshots much larger (due to how dithering works).
It will also slightly brighten the scene's dark areas.

As a result, it should be enabled only when banding is noticeable enough.

This closes #17006.
2020-08-14 23:12:33 +02:00
Javier Dehesa f2ef5253f0 Added zoom functionality to sprite frames editor plugin
Zoom buttons and mouse control added to spritesheet preview and animation frames pane.
2020-08-14 11:48:44 +01:00
Javier Dehesa 3e7cbe7fc8 Made toolbar buttons in tile set editor flat 2020-08-14 11:45:47 +01:00
Hugo Locurcio 2427a9cafc
Make the SpriteFrames animation speed SpinBox take less vertical space
This makes it possible to display one more animation with the same
vertical space.
2020-08-05 17:25:41 +02:00
Maganty Rushyendra cf04aabef1 Fix tile placement preview for rotated, skewed or scaled TileMaps
Ensures that the editor preview when placing a tile on a TileMap takes
into account the transformation of the TileMap. Previously, only the
origin of the Tile was transformed, but not its orientation or
scaling.
2020-08-05 10:12:08 +08:00
Hugo Locurcio a46802f07c
Improve editor tooltips related to debugging
Some option names have also been made longer as we can afford using
more space to display them.
2020-08-03 14:20:08 +02:00
Tomasz Chabora 3082def404 Properly disambiguate unsaved scripts 2020-07-31 22:43:40 +02:00
Yuri Roubinsky 0594da324c Fix incorrect colors for member variables and numbers in visual shaders 2020-07-31 11:06:48 +03:00
Paulb23 b289bb514b Fixed script_editor info_clicked signal not being connected 2020-07-29 17:51:27 +01:00
Rémi Verschelde 7a31baf3b9
Merge pull request #40800 from briansemrau/fix-shader-comment-highlighting
Fixed Shader editor single-line comment highlight
2020-07-28 21:44:30 +02:00
Brian Semrau 69d1c48b73 Fixed shader editor comment highlighting 2020-07-28 15:16:24 -04:00
Yuri Roubinsky a33171ad23 Fix functions name color in visual shader code preview and expressions 2020-07-28 20:58:23 +03:00
Yuri Roubinsky cf03f90fa8
Merge pull request #40785 from Chaosus/vs_uniform_ref
Added UniformRef visual shader node
2020-07-28 16:17:37 +03:00
Yuri Roubinsky 7ddaff47a3 Added UniformRef visual shader node 2020-07-28 14:44:53 +03:00
Aaron Franke 56e2c6c704
Make all String float conversion methods be 64-bit 2020-07-27 18:38:53 -04:00
Rémi Verschelde e016859c3b Script editor: Fix crash when root script is null
Bug introduced in #40746.
2020-07-27 15:18:31 +02:00
Rémi Verschelde 6b3f013a82 Script editor: Fix open dominant logic for language-specific external editors
Follow-up to #40735.

Co-authored-by: Ignacio Etcheverry <ignalfonsore@gmail.com>
2020-07-27 10:30:03 +02:00
Rémi Verschelde b5f110c77e Script editor: Don't open dominant script in external editor
Fixes #13429.
2020-07-26 23:18:05 +02:00
Rémi Verschelde c75f4c06f0
Merge pull request #40647 from Xrayez/blank-tabs-fix
Make unsaved scripts in the script editor more user-friendly
2020-07-26 17:11:31 +02:00
Rémi Verschelde 1a829621e3
Merge pull request #33548 from Calinou/shader-editor-tweak-builtins-color
Tweak the built-ins color highlighting in the shader editor
2020-07-26 16:50:50 +02:00
Andrii Doroshenko (Xrayez) 7247247522 Make unsaved scripts in the script editor more user-friendly
Unsaved scripts were previously displayed with blank tabs, which are
mostly a result of deleted or improperly moved scripts.

This patch makes sure that those kind of scripts are displayed as
"[unsaved]" now, and ensures that scripts are removed from the list
while deleting scripts from the filesystem dock preventing the unsaved
tabs to appear in the first place (a user is already prompted with
"no undo" warning while deleting any file).

A user is always prompted to save those "[unsaved]" scripts if they
attempt to close them without saving in any case except as described
above.
2020-07-26 16:05:44 +03:00
Rémi Verschelde 5700429e4e
Merge pull request #33760 from nekomatata/script-editor-init-optimization
Optimized ScriptEditor initialization when many scripts are loaded
2020-07-26 14:05:56 +02:00
Rémi Verschelde 5f75cec59e
Merge pull request #40640 from Xrayez/base-begins-with-local-err
Skip internal scripts for breakpoints without printing an error
2020-07-25 13:00:02 +02:00
SkyJJ 280d4e2965 Fix TTR misuse 2020-07-24 15:15:23 +02:00
Rémi Verschelde 27d1209282
Merge pull request #38088 from YeldhamDev/name_tooltips_tweaks
Small naming and tooltip tweaks
2020-07-24 13:57:13 +02:00
Michael Alexsander 5643d2e3fe Small naming and tooltip tweaks 2020-07-23 20:17:43 -03:00
Rémi Verschelde 3811fb919e
Merge pull request #40598 from vnen/gdscript-2.0
GDScript 2.0 (again)
2020-07-24 01:04:57 +02:00
Michael Alexsander c26b49fc17 Minor improvements to the Polygon 2D UV editor 2020-07-23 19:29:31 -03:00
Andrii Doroshenko (Xrayez) 1c70a33d9c Skip internal scripts for breakpoints without printing an error
This removes:
```
ERROR: get_breakpoints: Condition ' base.begins_with("local://")
```
while running a project with blank scripts caused by deleting
or moving, or built-in scripts which are not yet saved within a scene
on running a project.
2020-07-23 20:51:17 +03:00
Andy Maloney 394a7826be [macOS] Fix Maya navigation with ALT + mouse scroll
Methods were being called with InputEventMouseMotion instead of InputEventPanGesture, and they were null.

Fixes godotengine/godot#16181 on the master branch
2020-07-23 10:38:31 -04:00
Rémi Verschelde 5671469724
Merge pull request #37336 from dreamsComeTrue/canvas-editor-change-cursor
Request immediate refresh of cursor in 2D editor while using shortcuts
2020-07-23 09:49:48 +02:00
Ryan Roden-Corrent c6919a13da
Fix bound return type on get_priority.
Also adds a description explaining gizmo priority.

Inferred from:
e4363d001a/editor/plugins/spatial_editor_plugin.cpp (L5867-L5880)
e4363d001a/editor/plugins/spatial_editor_plugin.cpp (L6462-L6470)
2020-07-21 18:18:33 -04:00
Rémi Verschelde 22ed721d15
Merge pull request #40448 from Paulb23/fix_txt_close_crash
Fix crash when closing a TextFile
2020-07-21 21:08:39 +02:00
Rémi Verschelde 6f428f2494 TileSet Editor: Check polygon size before indexing
Fixes #39722.
2020-07-21 11:18:19 +02:00
George Marques 95c0909290
Add warning checks in GDScript analyzer
Reenable checking those when validating code.
2020-07-20 11:38:40 -03:00
Tomasz Chabora e44c9101da Prevent multiple Controls moving inside container 2020-07-20 13:22:13 +02:00
PouleyKetchoupp ccff2f2551 Optimized ScriptEditor initialization when many scripts are loaded
This change avoids the editor to freeze for several seconds when a
project with lots of scripts is loaded in the editor.

It focuses on a few heavy operations previously executed on all
previously loaded scripts:
- Initialize script resource (script validation/parsing) only
on focus
- ScriptTextEditor: code editor and edit menu are added to the
scene only on focus
- Add to recent scripts only when opening new scripts
(load/save scene metadata)
2020-07-17 09:02:24 +02:00
Paulb23 54bca425b2 Fix crash when closing a TextFile 2020-07-16 15:50:23 +01:00
Hugo Locurcio bfc644a9aa
Tweak the built-ins color highlighting in the shader editor
This makes built-ins easier to distinguish from keywords at a
quick glance.
2020-07-15 23:03:26 +02:00
Rémi Verschelde 6497a3fb50
Merge pull request #40291 from hinlopen/dialog-size
Resize various dialogs
2020-07-15 12:13:33 +02:00
Rémi Verschelde c8523038cc
Merge pull request #40268 from DanielZTing/master
Fix cancel/OK button order on macOS
2020-07-15 09:21:04 +02:00
Stijn Hinlopen 526e060b73 Resize dialogs (FileDialog, EditorFileDialog, Reparent, SceneTreeDialog and resource depency dialogs). 2020-07-14 14:35:22 +02:00
Paulb23 ccab210fb5 Fixed visual shader editor not clearing colour regions 2020-07-14 13:21:53 +01:00
Rémi Verschelde ca5958d180
Merge pull request #38440 from Paulb23/syntax_highlighter_refactor
Syntax highlighter refactor
2020-07-14 09:49:02 +02:00
Rémi Verschelde 817062f8ec
Merge pull request #40297 from jiteshvm/texture-dialog-size
change minimum horizontal size from 200 to 240
2020-07-13 18:02:47 +02:00
Rémi Verschelde 07db4d57d6
Merge pull request #40289 from YeldhamDev/guitab_icon_use_hl
Prefer the highlight version of the "GuiTabIcon" icon for buttons, and make their width/height equal
2020-07-13 16:36:28 +02:00
Jitesh a8905b2a4e change minimum horizontal size from 200 to 240 2020-07-11 12:21:45 -07:00
Paulb23 bc4cee4458 Extract Syntax highlighting from TextEdit and add EditorSyntaxHighlighter
- Extacted all syntax highlighting code from text edit
- Removed enable syntax highlighting from text edit
- Added line_edited_from signal to text_edit
- Renamed get/set_syntax_highlighting to get/set_syntax_highlighter
- Added EditorSyntaxHighligher
2020-07-11 17:09:58 +01:00
Michael Alexsander 26381265b8 Prefer the highlight version of the "GuiTabIcon" icon for buttons, and make their width/height equal 2020-07-11 12:59:25 -03:00
Paulb23 156daddaaf Expose Syntax highlighter for editor plugins 2020-07-11 15:40:00 +01:00
Paulb23 2f1080be9b Convert syntax highlighters into a resource 2020-07-11 15:26:58 +01:00
Daniel Ting 9605fc54c7 Fix cancel/OK button order on macOS
The macOS platform convention regarding button order is cancel on left,
OK on right.
2020-07-10 15:10:11 -05:00
Rémi Verschelde dcd11faad3
Merge pull request #40253 from madmiraal/add-override-keywords
Add override keywords.
2020-07-10 21:04:23 +02:00
Yuri Roubinsky ecb5f7ea23 Added 'fma' function to shader language 2020-07-10 19:58:03 +03:00
Marcel Admiraal 26fcf2b04c Add override keywords. 2020-07-10 13:56:54 +01:00
Daniel Ting d6c979d91b Do not try to save internal scripts
Fixes #40175
2020-07-08 11:53:18 -05:00
George Marques 9654365547
Add a map of autoloads to ProjectSettings
So places that need to look into it can use the list instead of parsing
ProjectSettings details (like checking "*" in path for testing if it's
singleton).
2020-07-06 12:35:51 -03:00
SkyJJ cae6f0bda2 Change translation parser plugin API to parse_file() 2020-07-05 12:14:56 +02:00
Yuri Roubinsky 583b6c9073
Merge pull request #40115 from Chaosus/vshader_fix_dialog
Makes "Create shader node" dialog non-exclusive (visual shaders)
2020-07-05 08:41:14 +03:00
Yuri Roubinsky e19cdacbd7 Makes "Add new member" dialog non-exclusive for visual shaders 2020-07-04 13:20:30 +03:00
Stijn Hinlopen 973e5bacf0 Rewrite extracting animation name. 2020-07-04 09:55:36 +02:00
Rémi Verschelde b51418842a
Merge pull request #39845 from mrushyendra/bone_painting_undoredo_master
Fix undo/redo for bone painting in Polygon2D UV Editor
2020-07-04 01:43:29 +02:00
Rémi Verschelde c020eea184
Merge pull request #40092 from hinlopen/remove-find-last
Remove String::find_last (same as rfind)
2020-07-04 01:38:01 +02:00
Stijn Hinlopen 929b98d24b Remove String::find_last (same as rfind) 2020-07-03 15:26:22 +02:00
Andrii Doroshenko (Xrayez) dc446203be Provide warning when using polygon shapes in `CollisionShape2D` node
`ConvexPolygonShape2D` and `ConcavePolygonShape2D` are only meant to be
used directly in code and not in the editor for physics-based use cases
specifically.

Developers are advised to use `CollisionPolygon2D` instead, which does
generate those shapes under the hood, handling polygon convexivity,
proper orientation etc.
2020-07-03 15:46:09 +03:00
SkyJJ efb4609425 Add translation parser plugin support 2020-07-02 14:47:35 +02:00
Michael Alexsander 4f00ac7003 Remove oversized margins in the AnimationTree editor 2020-07-02 02:53:42 -03:00
Rémi Verschelde 8a484756de
Merge pull request #39076 from rileylyman/editor_tab_names
Implement filename disambiguation for scene tabs and script names
2020-07-01 16:46:32 +02:00
Daniel Ting d2a5b92e9b Make "Close and save changes?" actually save
This fixes issue #39844, where the confirmation dialog when a user
attempts to close an unsaved script did not actually save it even after
clicking "Save."
2020-06-30 21:39:12 -05:00
Juan Linietsky 438c380458 Add a separate application focus/in notification out from Window focus notification. 2020-06-30 10:40:06 -03:00
Rémi Verschelde dffd805055
Merge pull request #39824 from mrushyendra/snap_point_polygon
Fix possible accidental duplication of Polygon2D start point
2020-06-29 10:39:00 +02:00
Rémi Verschelde db168abe7d
Merge pull request #39637 from MCrafterzz/tilemapinprovements
Make tilemap lines/rectangles their own tools
2020-06-27 11:38:32 +02:00
rileylyman 4285211f40 implement generic filename disambiguation
A static function is added to EditorNode which allows for filename
disambiguation given a list of filenames and the corresponding list of
absolute paths for those files. This function is then used to
disambiguate scene and script tabs in the editor.
2020-06-26 16:12:08 -07:00
Rémi Verschelde b740f645f7
Merge pull request #39754 from akien-mga/canvasitemeditor-fix-dropped-scenes-position
CanvasItemEditor: Fix losing position for drag'n'dropped scenes
2020-06-26 20:54:00 +02:00
Juan Linietsky 201d606b3d Addition of SDFGI for open world global illumination
Move GI to a deferred pass
2020-06-26 11:06:48 -03:00
Marcus Elg 8e2608b2d6 Make tilemap lines/rectangles their own tools 2020-06-26 15:52:09 +02:00
Maganty Rushyendra 6e60aa3876 Fix undo/redo for bone painting in Polygon2D UV Editor
Fix to ensure that undo/redo works when painting bones in the Polygon2D
UV editor. Previously, bone painting would continue silently in the
background, because a mouse click signalling the end of an edit would
not be appropriately dealt with.
2020-06-26 13:38:05 +08:00
Maganty Rushyendra b8d55b244a Fix accidental duplication of Polygon2D start point
Ensures that closure of Polygon2D in the editor takes into account
Grid Snap if enabled. Does this by comparing the polygon start with
grid snap applied to mouse click location. Note: transformation is
applied in order to deal with different editor zoom levels.
2020-06-25 18:42:18 +08:00
Rémi Verschelde 75c91707a4
Merge pull request #39482 from asmaloney/fix-scrollwheel-zoom-macos
[macOS] Control key + scroll wheel should zoom not pan
2020-06-25 11:22:08 +02:00
Michael Alexsander f167a2b993 Fix regressions in the 3D lock buttons 2020-06-24 12:09:53 -03:00
Bill acdcda9033 Fix overlapping hotkey designations for save all scenes and save all scripts 2020-06-24 05:02:54 -04:00
Rémi Verschelde 6ad814bf7b
Merge pull request #39775 from Chaosus/fix_error_label
Fix error label clicking in status bar for shader editor
2020-06-24 08:24:40 +02:00
Yuri Roubinsky 25cb5a42e0 Fix error label clicking in status bar for shader editor 2020-06-23 11:10:33 +03:00
Maganty Rushyendra 69d0d89214 Enable finer grained control when creating polygon with UV Editor
Modifies polygon auto-completion based on UV editor scale, in order
to enable finer grained control for the user. Enables selection of
points closer than the current threshold of 8 pixels.
2020-06-23 15:22:08 +08:00
Rémi Verschelde a403131a25 CanvasItemEditor: Fix losing position for drag'n'dropped scenes
Fixes #26549.
Supersedes #36309.
2020-06-22 14:18:45 +02:00
Aaron Franke ed2bbdbbef
Avoid errors when the editor camera is inside the focused object
Prevent the gizmo distance from being zero by MAX-ing it with CMP_EPSILON
2020-06-22 04:53:29 -04:00
Rémi Verschelde 091e500a88
Merge pull request #39592 from vorblen/master
Fix "Fully Axis-Locked" Freelook Navigation Scheme
2020-06-21 21:47:01 +02:00
Rémi Verschelde e773664f26
Merge pull request #39687 from Calinou/2d-editor-shift-horizontal-scroll
Scroll horizontally when holding Shift with Scroll to Pan enabled
2020-06-20 11:55:59 +02:00
Vorblen 29e901c342 Fix "Fully Axis-Locked" Freelook Navigation Scheme
Co-authored-by: Aaron Franke <arnfranke@yahoo.com>
2020-06-20 10:05:43 +01:00
Hugo Locurcio 31b7f02a29
Remove ToolButton in favor of Button
ToolButton has no redeeming differences with Button;
it's just a Button with the Flat property enabled by default.
Removing it avoids some confusion when creating GUIs.

Existing ToolButtons will be converted to Buttons, but the Flat
property won't be enabled automatically.

This closes https://github.com/godotengine/godot-proposals/issues/1081.
2020-06-19 20:49:49 +02:00
Hugo Locurcio 84e1c5e4c3
Scroll horizontally when holding Shift with Scroll to Pan enabled
This closes https://github.com/godotengine/godot-proposals/issues/1077.
2020-06-19 19:27:33 +02:00
Yuri Roubinsky cb9cbf840d Added Texture2DArray support to visual shaders 2020-06-19 18:02:05 +03:00
Sl3dge78 d731f43794 Autofilled path gets set properly on animation subresources 2020-06-19 01:22:36 +02:00
Andy Maloney 031165b345 [macOS] Control key + scroll wheel should zoom not pan
Together with godotengine/godot#39395 for 3.2.x, this fixes godotengine/godot#32520
2020-06-18 10:20:20 -04:00
Rémi Verschelde 4e0f31a67c
Merge pull request #39638 from mrushyendra/editor_preview
Fix editor texture preview for certain specific dimensions
2020-06-18 11:59:45 +02:00
Maganty Rushyendra c7a8dc7bb9 Fix editor texture preview for certain specific dimensions
Ensures no error is issued when attempting to preview a resource that
may be scaled down to <1 pixel when resizing to fit the thumbnail.
2020-06-18 17:21:42 +08:00
Rémi Verschelde a8fce16b2f
Merge pull request #39626 from bojidar-bg/x-tileset-editor-crash
Fix a random crash in the TileSet editor
2020-06-18 09:55:03 +02:00
Bojidar Marinov 7850d0316f
Fix a random crash in the TileSet editor
Occurred when selecting polygon collision mode, then drawing a single point, then selecting rectangle mode, and finally trying to select a rectangle.
2020-06-17 22:08:51 +03:00
Hugo Locurcio 4a542e0007
Restore previous mouse position when leaving the editor freelook mode
- Remove the crosshair as it no longer serves a purpose (the cursor will
  now appear where the user "expects" it to).

This closes https://github.com/godotengine/godot-proposals/issues/1076.
2020-06-17 20:02:46 +02:00
Rémi Verschelde 9d23391072
Merge pull request #39517 from Calinou/editor-display-freelook-speed-zoom
Display freelook speed and zoom in units in the 3D editor viewport
2020-06-16 12:44:25 +02:00
Hugo Locurcio eaae50fe4a Display freelook speed and zoom in units in the 3D editor viewport
Now that the 3D editor grid is infinite and adjusts its step automatically,
this helps people get a better sense of scale when moving around in the
3D viewport.

This also fixes the indicator bar drawing on hiDPI displays.
2020-06-16 10:46:01 +02:00
Rémi Verschelde 8db8577f10
Merge pull request #39126 from TwistedTwigleg/GSOC_2020_Working_Branch
Skeleton and Skeleton inspector low-level changes
2020-06-16 09:30:22 +02:00
TwistedTwigleg 24905becb2 Made low level changes to the Skeleton3D class and Skeleton3D inspector. Changes listed below:
* Added helper functions to Skeleton3D for converting transforms from bone space to global space, and vice versa.
* Updated the Skeleton3D class reference.
* Changed the icon used for bones in the Skeleton3D inspector to use BoneAttachement3D's icon.
* Changed the Skeleton3D inspector to use EditorPropertyTransform and EditorPropertyVector3 when possible.
* Placed the Transform/Matrix for each bone in a sub-section, so it is visually similar to the Node3D inspector.
2020-06-15 17:18:06 -04:00
Sawrr d7a3395332 Unhide Skeleton3D menu button 2020-06-14 16:58:10 -04:00
Phischermen cdb29447b4 Fix crash when creating new text file with no name 2020-06-09 12:59:59 -07:00
Rémi Verschelde ae21b5ddad
Merge pull request #39372 from aaronfranke/editor-cam-rot
Change the default editor camera rotation to position it in +X +Y +Z
2020-06-09 14:11:30 +02:00
Rémi Verschelde 67f56ff73a
Merge pull request #39365 from Calinou/editor-gizmos-visibility-tooltip
Add an editor tooltip to document gizmo visibility options
2020-06-08 08:24:55 +02:00
Marcus Brummer 41af859c68 Re-apply basis of newly added node (via drag-n-drop) in editor viewport 2020-06-07 22:09:41 +02:00
Aaron Franke 6c2df6792b
Change the default editor camera rotation to position it in +X +Y +Z 2020-06-07 13:36:04 -04:00
Hugo Locurcio 138a4eecb3
Add an editor tooltip to document gizmo visibility options
See discussion in
https://github.com/godotengine/godot-proposals/issues/716.
2020-06-07 18:31:17 +02:00
johan fea6ca20c9 2D Editor: modified zoom increment to the twelveth root of two
- properly visit power of 2 factors (50%, 100%, 200%...)
- index based zoom values to prevent floating point issues
- Fix 2d editor not able to reach min and max zoom values
2020-06-04 21:48:55 -04:00
Rémi Verschelde f1d9d50da1
Merge pull request #39154 from dreamsComeTrue/sync-script-change-remember
Preserving "Sync Scene Changes" & "Sync Script Changes" with Project Settings
2020-06-04 11:11:35 +02:00
Rémi Verschelde 9a44dd6e1e
Merge pull request #39167 from Calinou/tileset-editor-zoom-mouse-wheel-anywhere
Allow mouse zooming without hovering the texture in the TileSet editor
2020-06-03 22:48:39 +02:00
Rémi Verschelde 8fc6766d72
Merge pull request #39165 from Calinou/tilemap-editor-zoom-mouse-wheel
Implement zooming using Ctrl + Mouse wheel in the TileMap editor
2020-06-03 22:48:22 +02:00
Rémi Verschelde 176e6a0be3
Merge pull request #39262 from aaronfranke/ok
Change OK text in snap dialog to OK
2020-06-03 22:47:18 +02:00
Rémi Verschelde b1b49d966d
Merge pull request #39009 from Calinou/improve-script-editor-warnings-text
Improve the text appearance in the script editor warnings panel
2020-06-03 22:44:37 +02:00
Hugo Locurcio def2059d67
Implement zooming using Ctrl + Mouse wheel in the TileMap editor
This was previously implemented in the GridMap editor. This makes
the same feature available in the TileMap editor.
2020-06-03 22:17:13 +02:00
Hugo Locurcio d10a5b2928
Allow mouse zooming without hovering the texture in the TileSet editor
This partially addresses
https://github.com/godotengine/godot-proposals/issues/968.
2020-06-03 22:16:36 +02:00
Aaron Franke 8f85858224
Change OK text in snap dialog to OK 2020-06-03 10:55:03 -04:00
Dominik 'dreamsComeTrue' Jasiński 72501ae104 Preserving "Sync Scene Changes' and "Sync Script Changes" with Project Settings
Fixes: #38739
2020-06-03 12:28:00 +02:00
Andrii Doroshenko (Xrayez) 9bb070b030 Move `RayShape2D` implementation into its own translation unit 2020-06-01 01:52:07 +03:00
Rémi Verschelde 1620669f4e
Merge pull request #39051 from Xrayez/geometry-split
Split `Geometry` singleton into `Geometry2D` and `Geometry3D`
2020-05-29 12:10:37 +02:00
Andrii Doroshenko (Xrayez) 69d5de632e Split `Geometry` singleton into `Geometry2D` and `Geometry3D`
Extra `_2d` suffixes are removed from 2D methods accoringly.
2020-05-27 14:28:34 +03:00
Rémi Verschelde 9dc96c0dd8
Merge pull request #39062 from akien-mga/du-pain-et-des-jeux
Add shortcut for Pan Mode (G)
2020-05-27 12:55:34 +02:00
Rémi Verschelde 84d9e10f88
Merge pull request #36409 from fire/skeleton-custom-inspector
Custom Skeleton3DEditorPlugin
2020-05-27 11:04:37 +02:00
Rémi Verschelde 28b33718b0 Add shortcut for Pan Mode (G)
And change TileMap Bucket Fill shortcut to (B).

Fixes #8582.
2020-05-26 15:31:32 +02:00
Hugo Locurcio 0c0ee427d2
Improve the text appearance in the script editor warnings panel
- Make the Ignore button's position identical across all warnings
  by moving it to the left.
- Change the Ignore button's text and color to make it more obvious
  that it can be clicked.
- Use the editor font instead of the default project font to match
  the rest of the editor.
2020-05-24 14:30:44 +02:00
Aaron Franke 8879625879
Dynamic infinite 3D grid
Well, infinite for all intents and purposes.
2020-05-22 19:43:59 -04:00
K. S. Ernest (iFire) Lee f7fdc87789 Custom Skeleton3DEditorPlugin
Co-authored-by: Marios Staikopoulos <marios@staik.net>
2020-05-22 09:54:34 -07:00
Dominik 'dreamsComeTrue' Jasiński 03b54f8a35 Fix moving 2D node with mouse after using arrow keys
Fixes: #38894
2020-05-21 14:50:35 +02:00
Rémi Verschelde 0ee0fa42e6 Style: Enforce braces around if blocks and loops
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14 21:57:34 +02:00
Rémi Verschelde 07bc4e2f96 Style: Enforce separation line between function definitions
I couldn't find a tool that enforces it, so I went the manual route:
```
find -name "thirdparty" -prune \
  -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \
  -o -name "*.glsl" > files
perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files)
misc/scripts/fix_style.sh -c
```

This adds a newline after all `}` on the first column, unless they
are followed by `#` (typically `#endif`). This leads to having lots
of places with two lines between function/class definitions, but
clang-format then fixes it as we enforce max one line of separation.

This doesn't fix potential occurrences of function definitions which
are indented (e.g. for a helper class defined in a .cpp), but it's
better than nothing. Also can't be made to run easily on CI/hooks so
we'll have to be careful with new code.

Part of #33027.
2020-05-14 16:54:55 +02:00
Rémi Verschelde 0be6d925dc Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
Which means that reduz' beloved style which we all became used to
will now be changed automatically to remove the first empty line.

This makes us lean closer to 1TBS (the one true brace style) instead
of hybridating it with some Allman-inspired spacing.

There's still the case of braces around single-statement blocks that
needs to be addressed (but clang-format can't help with that, but
clang-tidy may if we agree about it).

Part of #33027.
2020-05-14 16:54:55 +02:00
Rémi Verschelde 710b34b702 Style: Fix missing/invalid copyright headers 2020-05-14 16:54:54 +02:00
Rémi Verschelde dcd1151d77 Enforce use of bool literals instead of integers
Using clang-tidy's `modernize-use-bool-literals`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-bool-literals.html
2020-05-14 13:45:01 +02:00
Rémi Verschelde 1f6f364a56 Port member initialization from constructor to declaration (C++11)
Using `clang-tidy`'s `modernize-use-default-member-init` check and
manual review of the changes, and some extra manual changes that
`clang-tidy` failed to do.

Also went manually through all of `core` to find occurrences that
`clang-tidy` couldn't handle, especially all initializations done
in a constructor without using initializer lists.
2020-05-14 10:01:56 +02:00
Fabio Alessandrelli d79e28c302 Support multiple debug protocols. 2020-05-12 15:09:13 +02:00
Rémi Verschelde 83b630b8c2 thirdparty: Cleanup after #38386, document provenance and copyright
Also renamed `delaunay.h` to `delaunay_2d.h` to match the class name.
2020-05-11 14:50:06 +02:00
Juan Linietsky 1bea8e1eac New lightmapper
-Added LocalVector (needed it)
-Added stb_rect_pack (It's pretty cool, we could probably use it for other stuff too)
-Fixes and changes all around the place
-Added library for 128 bits fixed point (required for Delaunay3D)
2020-05-10 15:59:09 -03:00
Rémi Verschelde 94721f5ab8 Revert "Renamed plane's d to distance"
This reverts commit ec7b481170.

This was wrong, `d` is not a distance but the `d` constant in the
parametric equation `ax + by + cz = d` describing the plane.
2020-05-10 16:47:11 +02:00
Rémi Verschelde 69de7ce38c Style: clang-format: Disable AllowShortCaseLabelsOnASingleLine
Part of #33027.
2020-05-10 13:13:54 +02:00
Rémi Verschelde e956e80c1f Style: clang-format: Disable AllowShortIfStatementsOnASingleLine
Part of #33027, also discussed in #29848.

Enforcing the use of brackets even on single line statements would be
preferred, but `clang-format` doesn't have this functionality yet.
2020-05-10 13:12:16 +02:00
Rémi Verschelde 03b13e0c69 Style: Add missing copyright headers 2020-05-10 13:12:16 +02:00
Marcus Elg ec7b481170 Renamed plane's d to distance 2020-05-10 12:12:51 +02:00
Marcus Elg 9a7e515d50 Rename Lineshapes d to distance 2020-05-09 15:10:00 +02:00
Rémi Verschelde b9f2e57d62
Merge pull request #38555 from ThakeeNathees/rotation-gizmo-visible-fix
rotation gizmo visible = false; when camera preview
2020-05-08 12:59:31 +02:00
Thakee Nathees 60d67f13da rotation gizmo visible = false; when camera preview 2020-05-08 06:44:24 +05:30
JFonS 051f02a3a0 Keep mouse inside 3D viewport rotation widget
Hide and keep the mouse in place when the user oribts the scene via the 3D
rotation widget.
2020-05-07 19:19:54 +02:00
Rémi Verschelde 42649565e9
Merge pull request #38475 from Chaosus/vs_quals
Added uniform qualifiers to visual shaders
2020-05-06 07:27:35 +02:00
Rémi Verschelde 4d50f747d5
Merge pull request #37293 from Janglee123/ctrl-click-improvements
Improved go-to definition (Ctrl + Click)
2020-05-05 16:49:15 +02:00
Yuri Roubinsky 463e4ad0f5 Some fixes for canvas item visual shader inputs 2020-05-05 13:19:36 +03:00
Yuri Roubinsky 082542b525 Added uniform qualifiers to visual shaders 2020-05-05 11:25:48 +03:00
janglee be7a353c70 Improved go-to definition (Ctrl + Click)
Co-Authored-By: Bojidar Marinov <bojidar.marinov.bg@gmail.com>
2020-05-05 10:46:12 +05:30
Rémi Verschelde 878adb22b7
Merge pull request #37717 from qarmin/world_fix
Change non-existent World to World3D
2020-05-04 16:37:40 +02:00
Dominik 'dreamsComeTrue' Jasiński 03c3abae88 Fix Soft Reload Script shortcut clash with Replace in Files
Fixes: #38362
2020-05-01 12:17:14 +02:00
Rémi Verschelde 13aff5338a
Merge pull request #37939 from MrRevington/SpriteFramesEditoAtlasTextureSupport
Add AtlasTexture support in SpriteFrames Editor
2020-05-01 08:52:17 +02:00
MrRevington 13770ac08d Add AtlasTexture support in SpriteFrames Editor - Add Frames from a Sprite Sheet 2020-04-30 23:28:58 +02:00
Rémi Verschelde bd8d5e1b65
Merge pull request #38325 from Calinou/editor-no-focus-on-align-with-view
Don't focus the selection after using Align Transform With View
2020-04-30 10:03:29 +02:00
Kiri Jolly 87ba4daf4b Fixed false positives in the culling system.
This fixes numerous false positives coming out of the culling system.

AABB checks are now a full separating-axis check against the frustum, with the points of the frustum being compared to the planes of the box just as the points of the box were being compared to the planes of the frustum. This fixes large objects behind the camera not being culled correctly.

Some systems that used frustums that were (sometimes mistakenly?) unbounded on one or more side have been modified to be fully enclosed.
2020-04-29 19:33:42 -07:00
Rémi Verschelde 58435b0c91
Merge pull request #20371 from aaronfranke/vector-lerp
[Core] [Mono] [GDNative] Rename "linear_interpolate" methods to "lerp"
2020-04-29 15:50:00 +02:00
Hugo Locurcio a636631e33 Don't focus the selection after using Align Transform With View
It made minor adjustments difficult as the camera moved every time
Align Transform With View was used.

This closes #36738.
2020-04-29 15:39:33 +02:00
Rémi Verschelde a277c89556
Merge pull request #37523 from 1abinitio1/master
Add option for editor freelook camera sensitivity
2020-04-29 11:20:13 +02:00
Aaron Franke 540156b387
[Core] Rename linear_interpolate to lerp 2020-04-29 04:02:49 -04:00
Rémi Verschelde 2ed231521b
Merge pull request #37705 from dreamsComeTrue/editor-animation-player-improvements
Allow to rename animation just after it was duplicated in Editor
2020-04-29 09:37:53 +02:00
1abinitio1 712a5aff1d Add option for editor freelook camera sensitivity 2020-04-29 09:36:29 +02:00
Rémi Verschelde 4b5d4bbe48
Merge pull request #38235 from BigRed-118/help_tabs_shuffle_fix
Fixed shuffling editor help tabs
2020-04-29 09:06:00 +02:00
Rémi Verschelde fdf58a5858 Rename InputFilter back to Input
It changed name as part of the DisplayServer and input refactoring
in #37317, with the rationale that input no longer goes through the
main loop, so the previous Input singleton now only does filtering.

But the gains in consistency are quite limited in the renaming, and
it breaks compatibility for all scripts and tutorials that access
the Input singleton via the scripting language. A temporary option
was suggested to keep the scripting singleton named `Input` even if
its type is `InputFilter`, but that adds inconsistency and breaks C#.

Fixes godotengine/godot-proposals#639.
Fixes #37319.
Fixes #37690.
2020-04-28 15:19:49 +02:00
Tom Evans fe53c1b0bd Fixed shuffling editor help tabs
The indexes for the ScriptEditorItemData entries were not getting
updated after sorting. This would cause a page to be open but with a
different tab selected. Whenever _update_script_names was called next,
it would correct this indexing. Now we correct it immediately following
the tab sort.
2020-04-26 12:23:00 -05:00
dankan1890 ef08e64afb Fixed output prints " Signal 'node_removed' is already connected " when the editor settings window is closed.
Close #38012
2020-04-22 04:26:44 +02:00
jfons 3e77b6d49d Update Joint gizmos automatically 2020-04-21 21:51:33 +02:00
Juan Linietsky ae09b55a19 Exposed RenderingDevice to script API
Also added an easier way to load native GLSL shaders.

Extras:

Had to fix no-cache for subresources in resource loader, it was not properly working, making shaders not properly reload.

Note:

The precommit hooks are broken because they don't seem to support enums from one class being used in another.
Feel free to fix this after merging this PR.
2020-04-20 21:21:58 -03:00
Rémi Verschelde 6d8e1aea89
Merge pull request #37989 from Calinou/add-freelook-navigation-scheme-settings
Add editor freelook navigation scheme settings
2020-04-20 23:57:34 +02:00
Rémi Verschelde 2cd952bd84 Fix handling of PROPERTY_USAGE_SUBGROUP in DocData and editor
Subgroups were added in #37678 but not properly handled everywhere
where PROPERTY_USAGE_GROUP is.
2020-04-20 17:13:06 +02:00
Hugo Locurcio 8a48fb3517
Add editor freelook navigation scheme settings
Depending on what one is trying to achieve, a different freelook mode
may be more desirable.

This closes #34034.
2020-04-18 16:24:12 +02:00
qarmin 559bc3ca87 Change non-existent World to World3D 2020-04-18 11:00:51 +02:00
Juan Linietsky 0e1c66d9fc Implement global and per instance shader uniforms.
Adds two keywords to shader language for uniforms:
-'global'
-'instance'

This allows them to reference values outside the material.
2020-04-17 12:35:41 -03:00
Rémi Verschelde 45a036feec
Merge pull request #37012 from Calinou/reverse-builtin-script-naming
Tweak the built-in script naming for resources with custom names
2020-04-16 12:38:54 +02:00
Eric M 7f5fb73146 Added selection outline to locked nodes. 2020-04-15 22:03:12 +10:00
Rémi Verschelde 5e5103f460
Merge pull request #37861 from reduz/implement-decals
Implement decals
2020-04-14 17:13:20 +02:00
Juan Linietsky 5944eb6e7f Implement decals
Also implemented decal atlas, so projectors and other stuff can be added.
Sidenote: Had to make RID hashable, so some unrelated includes changed
in order to include it in hashfuncs.h
2020-04-14 11:13:34 -03:00
Rémi Verschelde 644bc87240
Merge pull request #37843 from qarmin/unitialized_crash
Fixed crash caused by uninitialised variable
2020-04-13 13:53:44 +02:00
qarmin c937fe5237 Fixed crash caused by unitialized variable 2020-04-13 12:11:55 +02:00
Rémi Verschelde 1888ab594b
Merge pull request #37823 from MCrafterzz/relativeSnap
Relative scale snapping 2D
2020-04-13 12:10:25 +02:00
Marcus Elg 795cba2d73 Relative scale snapping 2D 2020-04-13 10:16:54 +02:00
Nico Mitchell 7211ad73bc Remove separators from particles menus 2020-04-12 22:15:20 -04:00
Juan Linietsky a57dc398db Implement MSAA 2020-04-12 15:33:57 -03:00
Juan Linietsky 16ae2cc1bf Add screen space AA option, with FXAA implementation. 2020-04-12 10:57:18 -03:00
Juan Linietsky d06f8ef75a Shows proper scene render time in editor info
Also fixed GPU profiler, which was not working on nvidia hardware.
2020-04-10 14:19:30 -03:00
Kiri Jolly cc27b4560f Othographic camera in-editor now uses Z near/far settings instead of a hardcoded value
Fixes #18809.

The in-editor ortho camera used a far clipping plane of 8192 units, and was
placed 4096 units away from the camera cursor.

This was far enough to cause culling issues from floating point precision loss
on objects smaller than one unit.

This change modifies the near/far clipping planes of the ortho camera to use
those specified in the editor (and currently used by the perspective camera).
The frustum is still centered around the camera cursor location, as it was
before.

(cherry picked from commit 26912c15e6)
2020-04-10 17:19:49 +02:00
Rémi Verschelde 60f77fa059
Merge pull request #37509 from wazzy47/issue_36228
Add "preview_on_sphere" setting of material editor plugin
2020-04-10 12:08:51 +02:00
Dominik 'dreamsComeTrue' Jasiński 235f13dc51 Allow to rename animation just after it was duplicated & show animation name in Delete prompt 2020-04-10 11:48:55 +02:00
Juan Linietsky 26ecd924cc
Merge pull request #37678 from reduz/refactor-shadowmapping
Refactored shadowmapping.
2020-04-08 13:59:10 -03:00
Juan Linietsky 4ffc0d6b3f Refactored shadowmapping.
- Made shadow bias size independent, so it will remain when changing light or camera size.
- Implemented normal offset bias, which greatly enhances quality.
- Added transmission to subsurface scattering
- Reimplemented shadow filter modes

Closes #17260
2020-04-08 11:19:43 -03:00
Rémi Verschelde d89dc5794a
Merge pull request #37644 from JFonS/gizmos_rename
Rename all gizmo classes, using the 4.0 node names.
2020-04-08 10:54:42 +02:00
jfons 3841a64703 Rename all gizmo classes, using the 4.0 node names. 2020-04-07 10:02:18 +02:00
Yuri Roubinsky e0a9879ce4
Merge pull request #37623 from Chaosus/vs_fix_keyword_name
Adds warning to the uniform name in visual shader if its equal to keyword
2020-04-06 14:15:20 +03:00
Yuri Roubinsky 8dfe6716ec Adds warning to the uniform name in visual shader if its equal to keyword 2020-04-06 12:29:50 +03:00
Rémi Verschelde 32d9d6e7ff
Merge pull request #37621 from dankan1890/autoslice_fix
Fixed TextureRegion autoslice issue.
2020-04-06 11:28:18 +02:00
dankan1890 671e97d254 TextureRegion: fixed Autoslice not created/updated properly. 2020-04-06 10:36:59 +02:00
Rémi Verschelde 6b07c72d76
Merge pull request #37556 from KoBeWi/kill_get_index
Remove Node.get_position_in_parent()
2020-04-06 09:44:38 +02:00
Tomasz Chabora c1023157eb Remove Node.get_position_in_parent() 2020-04-06 01:19:20 +02:00
Vasiliy 48b144afb7 Add "preview_on_sphere" setting of material editor plugin 2020-04-04 12:36:05 +03:00
qarmin 7d19939203 Removed duplicated add_child 2020-04-03 19:48:40 +02:00
Rémi Verschelde 59d44ee872
Merge pull request #37505 from YeldhamDev/viewcont_rename
Rename ViewportContainer to SubViewportContainer
2020-04-03 15:53:35 +02:00
Rémi Verschelde f1e943f6ce
Merge pull request #35720 from Calinou/remove-request-docs-button
Remove Request Docs button in the script editor due to various issues
2020-04-02 16:45:01 +02:00
Hugo Locurcio 2f6f029a75 Remove Request Docs button in the script editor due to various issues
The Request Docs button is partly responsible for layout overflow
issues on narrow displays, such as #31133.

It also tended to attract spam and low-effort issues that were
difficult to act upon. A "Send Docs Feedback" menu option has been added
to replace it.
2020-04-02 14:07:03 +02:00
lupoDharkael 95a1400a2a Replace NULL with nullptr 2020-04-02 13:38:00 +02:00
Michael Alexsander 0c6851ae53 Rename ViewportContainer to SubViewportContainer 2020-04-01 16:11:44 -03:00
Rémi Verschelde 0a2fa4d892 Fix more -Wmaybe-uninitialized warnings with target=release_debug
I have no idea why those don't get triggered in target=debug builds.

Fixes #37461.
2020-03-31 13:52:42 +02:00
Rémi Verschelde f3c74afd28
Merge pull request #37436 from akien-mga/doc-node-renames
doc: Update classref with node renames
2020-03-30 20:32:11 +02:00
Rémi Verschelde eaaee63b62 doc: Update classref with node renames
A few extra renames for classes which were missed in last week's PRs.
2020-03-30 18:23:02 +02:00
Rémi Verschelde cd4e46ee65 SCons: Format buildsystem files with psf/black
Configured for a max line length of 120 characters.

psf/black is very opinionated and purposely doesn't leave much room for
configuration. The output is mostly OK so that should be fine for us,
but some things worth noting:

- Manually wrapped strings will be reflowed, so by using a line length
  of 120 for the sake of preserving readability for our long command
  calls, it also means that some manually wrapped strings are back on
  the same line and should be manually merged again.

- Code generators using string concatenation extensively look awful,
  since black puts each operand on a single line. We need to refactor
  these generators to use more pythonic string formatting, for which
  many options are available (`%`, `format` or f-strings).

- CI checks and a pre-commit hook will be added to ensure that future
  buildsystem changes are well-formatted.
2020-03-30 09:05:53 +02:00
Tomasz Chabora 37ffb40047 Properly handle node remove via undo 2020-03-29 19:59:04 +02:00
Juan Linietsky a6f3bc7c69 Renaming of servers for coherency.
VisualServer -> RenderingServer
PhysicsServer -> PhysicsServer3D
Physics2DServer -> PhysicsServer2D
NavigationServer -> NavigationServer3D
Navigation2DServer -> NavigationServer2D

Also renamed corresponding files.
2020-03-27 15:21:27 -03:00
Rémi Verschelde d1acbbce7f Rename more 2D and 3D nodes to follow convention
Rename editor plugins to match the new node names.
2020-03-27 16:26:34 +01:00
Juan Linietsky eaae4b6408 Renamed 2D and 3D nodes to make their types explicit
Fixes #30736.
2020-03-27 14:54:04 +01:00
Dominik 'dreamsComeTrue' Jasiński 55e5fa427a Request immediate refresh of cursor in 2D editor while using shortcuts
Fixes: #37333
2020-03-26 21:35:12 +01:00
Mateo Kuruk Miccino f387b9b4f4 Multiple changes to DisplayServerX11
- Travis: Change x11 to linuxbsd
- SCons: Change x11 plataform to linuxbsd
- Plugins: Remove ; to avoid fallthrough warning
- DisplayServerX11: Implement set_icon
- DisplayServerX11: Fix X11 bug when a window was erased from windows
  map, all the changes from that erased windows are sending to the main
  window
- DisplayServerX11: Reorder create_window commands
- DisplayServerX11: Change every Size2 to Size2i and Rect2 to Rect2i
  where it belongs

+ More X11 fixes which have been integrated directly back into reduz's
original commits while rebasing the branch.
2020-03-26 15:49:54 +01:00
Juan Linietsky b3080bc2f4 Popups have also been converted to windows
Controls using the old modal API have been replaced to use popups.
2020-03-26 15:49:44 +01:00
Juan Linietsky c7b4dcae2f Open sub-windows as embedded if the OS does not support them 2020-03-26 15:49:43 +01:00
Juan Linietsky 441f1a5fe9 Popups are now windows also (broken!) 2020-03-26 15:49:42 +01:00
Juan Linietsky 4758057f20 Working multiple window support, including editor 2020-03-26 15:49:40 +01:00
Juan Linietsky 8e6960a69e Refactored input, goes all via windows now.
Also renamed Input to InputFilter because all it does is filter events.
2020-03-26 15:49:39 +01:00
Juan Linietsky 9e08742de8 Added a Window node, and made it the scene root.
Still a lot of work to do.
2020-03-26 15:49:38 +01:00
Juan Linietsky f8a79a97c7 Effective DisplayServer separation, rename X11 -> LinuxBSD 2020-03-26 15:49:34 +01:00
Juan Linietsky 4396e98834 Refactored Input, create DisplayServer and DisplayServerX11 2020-03-26 15:49:32 +01:00
Yuri Roubinsky 1358febfa1
Merge pull request #37287 from Chaosus/vs_sky
Added sky shader mode to visual shaders
2020-03-26 08:38:19 +03:00
Yuri Roubinsky 898b843718 Added sky shader mode to visual shaders 2020-03-25 19:04:42 +03:00
Andrea Catania 277696d6c5 Fixed IK rotation issue 2020-03-24 10:06:24 +01:00
Rémi Verschelde ed9a0d0484
Merge pull request #37179 from clayjohn/VULKAN-sky-shader
Implement Sky Shaders
2020-03-22 20:03:35 +01:00
clayjohn 61a74739ca Working sky shader implementation 2020-03-21 20:43:44 -07:00
Rémi Verschelde 7ed9da0a54
Merge pull request #37161 from simpuid/positon-gizmo-fix
Fixes transform gizmo position when node has default transform
2020-03-21 15:31:47 +01:00
simpuid 19825436d4 Fixes transform gizmo position when node has default transform
Changes made:
* Added dirty bit for SpatialEditorSelectedItem's last_xform
* SpatialEditorViewport checks that dirt bit too before skipping the selection
2020-03-21 18:31:46 +05:30
johan 1c02906a6f Editor 2D: Change pixel alignment strategy, fix jittering in high zoom
Alignment of scene pixels on screen pixel ensure a crisp rendering of small features (such as text). Unfortunately, alignment of top left pixel on screen adds a lot of jittering when zooming at high zoom factor.

This change allow to snap the top left scene pixel on the closest screen pixel (not only the top-left most), and we do so only when the scale factor is an integer.
2020-03-18 12:37:14 -04:00
Rémi Verschelde cb282c6ef0 Style: Set clang-format Standard to Cpp11
For us, it practically only changes the fact that `A<A<int>>` is now
used instead of the C++03 compatible `A<A<int> >`.

Note: clang-format 10+ changed the `Standard` arguments to fully
specified `c++11`, `c++14`, etc. versions, but we can't use `c++17`
now if we want to preserve compatibility with clang-format 8 and 9.
`Cpp11` is still supported as deprecated alias for `Latest`.
2020-03-17 07:36:24 +01:00
Rémi Verschelde 2a49798c7b
Merge pull request #36970 from JFonS/fix_viewports_update
Update all editor viewports after settings changes
2020-03-14 23:46:58 +01:00
JFonS 55b478afd9 Update all editor viewports after settings changes 2020-03-14 20:47:12 +01:00