Commit graph

2441 commits

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