Commit graph

439 commits

Author SHA1 Message Date
Aaron Franke
b9641efc5c
Update the 3D grid when the "View Grid" checkbox is changed
(cherry picked from commit 71d1909b39)
2020-11-19 17:15:28 +01:00
Hugo Locurcio
4b1de5be45
Add a dynamic infinite grid to the 3D editor
- The grid is now infinite, it follows the camera.
- The grid is now dynamic, if you zoom in and out, the grid subdivides,
  expands, and fades.
- You can now enable grid planes for the XY and YZ planes. Only the flat
  XZ plane is enabled by default. Each plane is independently dynamic
  of the others.
- The default grid size has been increased to 200, and the maximum
  has been increased to 2000. At 1000, the grid mostly looks edgeless.
- If you set the division level max and min to the same value then
  the grid does not expand or subdivide, but instead stays the same size
  and just follows the camera. Also, if these values are the same,
  the bias value does nothing.
- If you want to have Blender-like behavior, set max to 1, min to 0,
  and set the bias to a really low value. You may also wish to increase
  the grid size if you have a small bias.

Co-authored-by: Aaron Franke <arnfranke@yahoo.com>
2020-11-17 10:16:53 +01:00
Hugo Locurcio
ed3f0a3950
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 21:55:56 +01:00
Rémi Verschelde
c43b2ab603
Merge pull request #42942 from Calinou/add-viewport-debanding-3.2
Add a debanding property to Viewport for GLES3
2020-10-30 11:47:57 +01:00
Marcus Brummer
69b99ba9cb Improve rotation gizmo
Hide the back sides of the rotation gizmo circles and add a white
outline for better visualization of the rotation "sphere".

This is a 3.2 backport of @JFons work on the master branch; all credit
goes to him.
2020-10-22 22:05:50 +02:00
Hugo Locurcio
2dbc329704
Add a debanding property to Viewport for GLES3
It can be enabled in the Project Settings
(`rendering/quality/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).

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

Since debanding requires a HDR viewport to work, it's only supported
in the GLES3 backend.
2020-10-20 19:07:15 +02:00
Hugo Locurcio
af45c97652
Add fast approximate antialiasing (FXAA) to Viewport
This backports FXAA from the `master` branch.

Co-authored-by: Clay John <claynjohn@gmail.com>
2020-10-20 14:54:52 +02:00
David Sichma
f601e15b92
aabb change updates bounding box
spatial editor will now update the bounding box if aabb or transform
changes

(cherry picked from commit 7701889048)
2020-10-19 16:09:57 +02:00
Ryan Roden-Corrent
d05a07235c
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)

(cherry picked from commit c6919a13da)
2020-10-04 20:51:19 +02:00
Hugo Locurcio
336bc03d66
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.

(cherry picked from commit 2c9d4ef961)
2020-08-21 02:28:17 +02:00
Andy Maloney
cc8c6180c3 [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

(cherry picked from commit 394a7826be)
2020-07-24 10:31:57 +02:00
Michael Alexsander
e7e022b3ee Prefer the highlight version of the "GuiTabIcon" icon for buttons, and make their width/height equal
(cherry picked from commit 26381265b8)
2020-07-15 12:11:31 +02:00
Aaron Franke
44c3908c7b 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

(cherry picked from commit ed2bbdbbef)
2020-06-22 12:04:52 +02:00
Vorblen
4c638f98ab Fix "Fully Axis-Locked" Freelook Navigation Scheme
Co-authored-by: Aaron Franke <arnfranke@yahoo.com>
(cherry picked from commit 29e901c342)
2020-06-21 21:48:12 +02:00
Hugo Locurcio
d4dd80afe7 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.

(cherry picked from commit 4a542e0007)
2020-06-18 11:29:28 +02:00
Hugo Locurcio
5200ff03d2 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.

(cherry picked from commit eaae50fe4a)
2020-06-18 11:29:28 +02:00
Aaron Franke
0b6a410890 Change the default editor camera rotation to position it in +X +Y +Z
(cherry picked from commit 6c2df6792b)
2020-06-10 15:30:52 +02:00
Hugo Locurcio
eb6c7ec09c Add an editor tooltip to document gizmo visibility options
See discussion in
https://github.com/godotengine/godot-proposals/issues/716.

(cherry picked from commit 138a4eecb3)
2020-06-10 15:30:52 +02:00
Marcus Brummer
f8463df11a Re-apply basis of newly added node (via drag-n-drop) in editor viewport 2020-06-07 19:34:17 +02:00
JFonS
9828c6bc86 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.

(cherry picked from commit 051f02a3a0)
2020-05-11 11:01:13 +02:00
Thakee Nathees
7d931bad58 rotation gizmo visible = false; when camera preview
(cherry picked from commit 60d67f13da)
2020-05-11 11:01:13 +02:00
Hugo Locurcio
cfd6bc7267 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.

(cherry picked from commit a636631e33)
2020-05-01 10:56:58 +02:00
Rémi Verschelde
8d93303483
Merge pull request #37863 from ExpiredPopsicle/culling5
Fixed false positives in the culling system.
2020-04-30 08:05:11 +02:00
Kiri Jolly
bac44ee19f 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-28 17:14:06 -07:00
Hugo Locurcio
93555d9ccc 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.

(cherry picked from commit 8a48fb3517)
2020-04-27 10:12:55 +02:00
Kiri Jolly
26912c15e6 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.
2020-04-04 16:16:11 -07:00
simpuid
a10a21f407 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

(cherry picked from commit 19825436d4)
2020-03-25 11:38:53 +01:00
JFonS
4d85f70015 Update all editor viewports after settings changes
(cherry picked from commit 55b478afd9)
2020-03-25 11:30:49 +01:00
JFonS
784ff23adc Fix rotation gizmo for empty Spatials
The AABB for an empty Spatial has 0 size, since the stored and
compared Transform was scaled by the AABB size, it would completely
destroy the rotation information. If there is no rotation
information, the gizmo doesn't update when the rotation changes.

(cherry picked from commit a0af3094b4)
2020-03-25 11:30:49 +01:00
volzhs
644d49b156 Update snap setting only with OK
restore previous values with cancel

(cherry picked from commit 667a981d4d)
2020-03-25 11:30:48 +01:00
jfons
5b4251695a Add rotation widget to 3D viewport 2020-03-09 09:40:10 +01:00
janglee
56437cddeb Make orthogonal view mode persistent in new scene
Fixes #36339.

(cherry picked from commit d3c580f0bc)
2020-02-20 07:59:45 +01:00
lawnjelly
eaf8e5ce52 Change CameraMatrix::get_viewport_size to get_viewport_half_extents
Fixes #26637.
Fixes #19900.

The viewport_size returned by get_viewport_size was previously incorrect, being half the correct value. The function is renamed to get_viewport_half_extents, and now returns a Vector2.

Code which called this function has also been modified accordingly.

This PR also fixes shadow culling when using ortho cameras, because the correct input for CameraMatrix::set_orthogonal should be the full HEIGHT from get_viewport_half_extents, and not half the width.

It also fixes state.ubo_data.viewport_size in rasterizer_scene_gles3.cpp to be the width and the height of the viewport in pixels as stated in the documentation, rather than the current value which is half the viewport extents in worldspace, presumed to be a bug.
2020-01-22 18:22:00 +00:00
Hugo Locurcio
8bce0b6176
Mark alternate editor display modes as disabled in the GLES2 renderer
This partially addresses #27018.
2020-01-17 16:06:47 +01:00
Hugo Locurcio
2b9f34b867
Add a crosshair to the 3D viewport
The crosshair makes freelook navigation a bit easier, while making it
clearer that it's possible to select nodes by clicking while in
freelook mode.

The crosshair is only displayed while in freelook mode.
It uses an icon designed to be visible on any background.
2020-01-13 22:30:34 +01:00
Rémi Verschelde
c0ece451e3
Merge pull request #34720 from Calinou/light-gizmo-color-by-light
Tint 3D light gizmos using the light's color
2020-01-02 13:59:10 +01:00
Rémi Verschelde
a7f49ac9a1 Update copyright statements to 2020
Happy new year to the wonderful Godot community!

We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.

Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
Hugo Locurcio
ac18665c88
Tint 3D light gizmos using the light's color
This makes navigation more convenient in the 3D viewport, especially
when using the unshaded display mode.
2020-01-01 00:54:25 +01:00
Haoyu Qiu
078c0d75f2 Cleans up headers included in editor_node.h 2019-12-24 21:46:05 +08:00
JFonS
8da8518ba3 Fix selection on 3D viewport with half resolution 2019-12-19 12:53:20 +01:00
Aaron Franke
4af218f9e3
Don't cast item to Spatial when checking if it's locked
Not a necessary cast, and causes a crash any time it's not a Spatial.
2019-11-28 05:34:54 -05:00
Hugo Locurcio
1e28571d82
Always allow Alt as an orbit modifier in the 3D editor
This makes it easier to navigate in 3D when using a graphics tablet.
This fallback modifier will only be available if no other modifier
is using Alt.

This partially addresses
https://github.com/godotengine/godot-proposals/issues/196.
2019-11-14 17:40:15 +01:00
Michael Alexsander
c77ce40c3b Minor adjustment in the "Game Camera Override" button's tooltip. 2019-11-11 11:46:23 -03:00
PouleyKetchoupp
311ab52b6c Fixed Camera preview when creating new scenes
Fixes #33490
2019-11-09 17:24:40 +01:00
Rémi Verschelde
621dc7022f
Merge pull request #27742 from rxlecky/camera-replication
Game camera override
2019-11-08 10:02:18 +01:00
volzhs
4b53a86ce3 Fix error when opening or closing scene with camera preview on 2019-10-27 21:04:29 +09:00
Erik
8b0546d93b Implement game camera override
Implemented uniform API in Viewport class to override 2D and/or
3D camera.

Added buttons in 2D and 3D editor viewport toolbars that override
the running game camera transform with the editor viewport camera
transform. Implemented via remote debugger protocol and camera
override API.

Removed LiveEditFuncs function pointers from ScriptDebugger class.
Since the debugger got access to the SceneTree instance (if one
exists), there is no need to store the function pointers. The live
edit functions in SceneTree are used directly instead. Also removed
the static version of live edit functions in SceneTree for the same
reason. This reduced the SceneTree -> Debugger coupling too since
the function pointers don't need to be set from SceneTree anymore.

Moved script_debugger_remote.h/cpp from 'core/' to 'scene/debugger/'.
This is because the remote debugger is now using SceneTree directly
and 'core/' classes should not depend on 'scene/' classes.
2019-10-23 02:51:32 +01:00
Hugo Locurcio
af89a87075
Add a "slow" modifier to freelook
This makes precise adjustments easier, without having to
touch the mouse wheel. This modifier is also available in
Blender, so this makes the freelook behavior more consistent
with it :)

In the interest of simplifying the Editor Settings, this also
removes the freelook modifier speed factor setting
(the value is now hardcoded to its default).
2019-10-14 22:50:02 +02:00
jfons
c1de7cb22e Fix calculate_spatial_bounds for selection display
Fixes `SpatialEditorPlugin::_calculate_spatial_bounds` so the displayed
selection doesn't break with transformed scenes.
2019-10-04 15:47:15 +02:00
Emmanuel Barroga
10d0bc920b Fixes scene instances not displaying bounds when selected
When selecting instances of a scene file, it doesn't display the bounding box which makes it difficult to visually see that it is selected.
2019-10-03 22:46:29 -07:00
Rémi Verschelde
ddc42be1db
Merge pull request #32431 from lupoDharkael/checks
Add checks after ResourceLoader::load()
2019-09-30 07:55:47 +02:00
lupoDharkael
0a0f596dfb Add checks after ResourceLoader::load() 2019-09-29 14:17:42 +02:00
Bojidar Marinov
faf0a49cbf
Fix crash in ~EditorSpatialGizmoPlugin when generating documentation data 2019-09-28 12:04:50 +03:00
Michael Alexsander Silva Dias
5ed5465023 Replace "GuiMiniTabMenu" with "GuiTabMenu" and tweak it 2019-09-25 12:53:42 -03:00
Rémi Verschelde
076dc9803a
Merge pull request #32119 from Calinou/unify-axis-colors
Use the same axis colors consistently in the 2D and 3D editors
2019-09-25 13:03:47 +02:00
Rémi Verschelde
2f52d73c21
Merge pull request #31925 from bojidar-bg/31855-overriden-properties-docs
Add overriden properties to the documentation
2019-09-24 11:53:43 +02:00
luz.paz
91ecd7b6a6 Fix misc. source comment typos
Found using `codespell -q 3 -S ./thirdparty,*.po -L ang,ba,cas,dof,doubleclick,fave,hist,leapyear,lod,nd,numer,ois,paket,seeked,sinc,switchs,te,uint -D ~/Projects/codespell/codespell_lib/data/dictionary.txt `
2019-09-19 14:36:52 -04:00
Hugo Locurcio
c2bcc3f700
Use the same axis colors consistently in the 2D and 3D editors 2019-09-13 14:08:41 +02:00
Bojidar Marinov
6c4407bae4
Add overriden properties to the documentation
Fixes #31855
2019-09-04 15:21:40 +03:00
merumelu
e2459479de Editor: remove TOOLS_ENABLED guards
For code  inside editor/ `#ifdef TOOLS_ENABLED`
is always true so those checks are redundant.
2019-08-30 19:02:46 +02:00
Chaosus89
19d449ec4c Fix few icons in SpatialEditor which don't update when theme changed 2019-08-30 11:26:01 +03:00
Rémi Verschelde
2920c8fbaa
Merge pull request #31447 from Calinou/spatial-editor-use-shortcut-tooltips
Use shortcut tooltips in the spatial editor
2019-08-18 16:07:05 +02:00
Hugo Locurcio
78878fbc97
Improve "Snap Object to Floor" functionality
- Display an error message if no selected nodes could be snapped
- Only register an undo/redo action if at least one node
  could be snapped
- Increase the maximum snapping height to 20
- Increase the negative snapping limit to 0.2
2019-08-18 01:50:25 +02:00
Hugo Locurcio
35ad0475c3
Use shortcut tooltips in the spatial editor
This makes the tooltips display the correct shortcuts in case
they are changed, as is done automatically by `set_shortcut()`.

Button shortcuts are now used to apply shortcut actions,
which makes for cleaner code.
2019-08-17 23:39:28 +02:00
Hugo Locurcio
108f9646f5
Add an outline to box selection rectangles for better visibility
This also refactors selection box color definitions
to avoid repetition.
2019-08-15 22:27:32 +02:00
Hugo Locurcio
9e1c23a353
Reorganize various menus for consistency and conciseness
- Clean up the recent scripts dialog to match the recent scenes dialog
- Add "..." at the end of shortcuts that cause a modal dialog to appear

This closes #31148.
2019-08-13 11:52:10 +02:00
Cameron Reikes
345fcb96a2 Add particles icon to CPUParticles 2019-08-08 16:28:01 -07:00
Hugo Locurcio
20154d3b2a
Fix 3D manipulator the gizmo growing too large on small viewports
This closes #27112. This closes #19116.
2019-08-03 03:01:32 +02:00
Hugo Locurcio
d57680cf34
Improve the gizmo axis colors and increase the manipulator opacity
The new colors should make it easier to see the manipulator gizmo.
Highlighted gizmos are now fully opaque (instead of being white),
keeping the color information while a gizmo is highlighted.

This also adds a setting hint for the manipulator gizmo opacity
editor setting.

Axis colors were taken from Blender 2.80.

This partially addresses #16154.
2019-08-01 14:30:35 +02:00
Aaron Franke
53d2a4e905 Snap transform gizmo values in the 3D editor
Snap to step size, and then also be careful to only display that many digits (to avoid numbers like 1.234001)
2019-07-25 19:40:35 -04:00
Rémi Verschelde
c608b6f648
Merge pull request #23334 from malbach/align_sel_view
Add 'Move to view' and make 'Align to view' only align
2019-07-24 08:33:23 +02:00
malbach
4a218b9862 Add 'Align Rotation with View' to spatial editor 2019-07-23 15:14:03 +02:00
Marcus Brummer
4c8fa414bb Increased max view distance in spatial editor plugin
Increased from 10000 to 1000000. I also removed two related magic numbers.
Closes #30766.
2019-07-23 11:42:41 +02:00
qarmin
ed84c9e506 Don't allow to pass to _is_node_locked function NULL pointer 2019-07-19 17:56:35 +02:00
Nikhil Kumar
600c153076 Fixed Make 3D viewport locked nodes unselectable as in 2D viewport #29903 2019-07-16 14:19:20 +05:30
Rémi Verschelde
34d7484039
Merge pull request #30455 from qarmin/const_reference
Pass by reference to const
2019-07-10 15:43:15 +02:00
qarmin
01cc7a996b Use reference to constant in functions 2019-07-10 11:54:12 +02:00
Hugo Locurcio
2491c87f86
Add width and antialiased parameters to CanvasItem draw_rect()
This also removes some duplicated editor code which is now obsoleted
by the new parameters in `draw_rect()`.
2019-07-09 20:30:18 +02:00
qarmin
9a77d748c0 Fixes minor issues found by static analyzer 2019-07-07 23:08:51 +02:00
Rémi Verschelde
5c66771e3e
Merge pull request #29283 from qarmin/fix_some_always_same_values
Remove always true/false values
2019-06-20 21:10:10 +02:00
qarmin
072e40368e Fix always true/false values 2019-06-20 16:59:48 +02:00
Rémi Verschelde
6d16f2f053 Fix error macro calls not ending with semicolon
It's not necessary, but the vast majority of calls of error macros
do have an ending semicolon, so it's best to be consistent.
Most WARN_DEPRECATED calls did *not* have a semicolon, but there's
no reason for them to be treated differently.
2019-06-11 14:49:34 +02:00
Michael Alexsander Silva Dias
d29d856933 Place the spatial editor's top left buttons in a container 2019-05-24 16:21:07 -03:00
Dalai Felinto
5b6e7935d1 Fix upper/lowercase in some UI strings
Note: I was tempted to also change "Align with View" since we use the word
"With" with uppercase in "Align Selection With View".

However I believe "With" should be lower case and the old stripg
(Align Selection ...) is the one to be fixed.
2019-05-19 18:08:11 -03:00
Rémi Verschelde
85c27f9c90
Merge pull request #28452 from Sintinium/undoredo-lock
Undo support for locking and grouping for both 2D and 3D
2019-04-29 16:23:28 +02:00
Sintinium
d1fa546dc9 Undo support for locking and grouping for both 2D and 3D 2019-04-26 18:16:59 -05:00
Aaron Franke
b659e1eb2b
Use approximate equallity methods in many places 2019-04-25 13:20:29 -04:00
Rémi Verschelde
78eb25a4a8
Merge pull request #27860 from Calinou/improve-3d-snapping
Make 3D snapping finer when holding Shift
2019-04-21 13:12:10 +02:00
Rémi Verschelde
7879968136
Merge pull request #28026 from Dentoid/insert_keyframe_fix
Fix for "Insert Keyframe" shortcut doing nothing
2019-04-21 12:58:24 +02:00
JFonS
42043a22e8 Add grouping to 3D editor 2019-04-17 18:24:28 +02:00
Anders Stenberg
645c656571 Proper passing of the "transform_key_request"
signal from SpatialEditorViewport to InspectorDock
2019-04-14 22:27:59 +02:00
Hugo Locurcio
156faf535c
Make 3D snapping finer when holding Shift
This also changes the default rotation and scale snapping increments
to better make use of fine snapping possibilities.
2019-04-09 17:57:19 +02:00
Rémi Verschelde
c8994b56f9 Style: Apply new changes from clang-format 8.0
It seems to stay compatible with formatting done by clang-format 6.0 and 7.0,
so contributors can keep using those versions for now (they will not undo those
changes).
2019-04-09 17:09:48 +02:00
Rémi Verschelde
a71d8b561d
Merge pull request #26927 from qarmin/fix_perspective_button_hide
Fix perspective button hide when it actually should be disabled
2019-04-05 16:45:29 +02:00
Hugo Locurcio
d59b210aec
Use the editor theme's accent color for 2D/3D selections and rotations 2019-03-31 23:54:46 +02:00
Rémi Verschelde
18fa1846ea
Merge pull request #27115 from Janglee123/master
Fix toggling snap mode while transforming the Spatial object
2019-03-16 10:54:44 -07:00
janglee123
05446e8b53 fixed toggelling snap mode while transforming 2019-03-16 13:45:39 +05:30
Sebastian Hartte
7bab7fd777 Don't crash when the saved editor state contains fewer viewports than currently supported. 2019-03-12 12:17:17 +01:00
JFonS
2658e5d03d Add priority to gizmos and fix small issues
User defined gizmos will haave higher preference than editor gizmos by
default. Also fixed some inconsistencies in the gizmos menu when using
custom gizmos.
2019-03-12 00:30:50 +01:00
qarmin
2e5b6b5bde Fix perspective button hide when it should be actually disabled 2019-03-11 18:10:00 +01:00
Andrii Doroshenko (Xrayez)
a4e6e2f342 Ensure to disable freelook when leaving spatial editor
Fixes and prevents the problem with mouse getting stuck in MOUSE_MODE_CAPTURED when switching to canvas item editor plugin by any means other than manually (with mouse).
2019-03-05 12:42:25 +02:00
Michael Alexsander Silva Dias
3ef8238c1c Make translatable some undo/redo operations in the editor 2019-02-21 16:41:01 -03:00
marxin
8d51618949 Add -Wshadow=local to warnings and fix reported issues.
Fixes #25316.
2019-02-20 19:44:12 +01:00
Rémi Verschelde
d1f68e2eaf Add tooltip for in-editor FPS display in 3D viewport
Also enhance Control/Label documentation about tooltips and mouse filter,
as it took me a while to understand why Labels didn't show tooltips.

Closes #26082.
2019-02-20 12:16:22 +01:00
Chaosus
a51088a7f9 Fix icon color for gizmos menu when theme changed 2019-02-15 20:32:38 +03:00
Rémi Verschelde
b7cc2bb1e2 Core: Ensure classes match their header filename
Also drop some unused files.

Renamed:
- `core/dvector.h` -> `pool_vector.h`
- `core/io/resource_import.h` -> `resource_importer.h`
- `core/sort.h` -> `sort_array.h`
- `core/string_db.h` -> `string_name.h`

Dropped:
- `core/allocators.h`
- `core/os/shell.h`
- `core/variant_construct_string.cpp`
2019-02-12 13:34:25 +01:00
Rémi Verschelde
58de384978
Merge pull request #25540 from JFonS/remove_gizmo_errors
Fix gizmo errors on "Align with view"
2019-02-01 14:12:37 +01:00
JFonS
2232d3336e Fix gizmo errors on "Align with view" 2019-02-01 12:16:05 +01:00
JFonS
e90fb5b0ab Minor fixes and documentation for Spatial Gizmos 2019-01-27 18:40:01 +01:00
Rémi Verschelde
b16c309f82 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Rémi Verschelde
ac46862097
Merge pull request #24506 from JFonS/expose_gizmos
Expose the new gizmo plugin system to scripting
2018-12-30 15:42:30 +01:00
JFonS
6b15b4f904 Expose the new gizmo plugin system to scripting 2018-12-21 23:56:39 +01:00
Rémi Verschelde
bf59b73250
Merge pull request #20609 from YeldhamDev/menu_hover_explicit
Make opening menus with the same parent on mouse focus explicit
2018-12-09 23:15:33 +01:00
asheraryam
79ca8e7305 Use filename as fallback instead of the class name for mesh instance loaded by dragging from file to editor. 2018-12-02 23:41:09 +02:00
Michael Alexsander Silva Dias
da7d3c5a58 Make opening menus with the same parent on mouse focus explicit 2018-11-20 20:37:45 -02:00
Rémi Verschelde
57b634ad3d
Merge pull request #23813 from JFonS/change_gizmo_default
Change default gizmo visibility and icons
2018-11-20 08:50:18 +01:00
JFonS
e5a4fa5281 Change default gizmo visibility and icons 2018-11-18 22:01:09 +01:00
Rémi Verschelde
efd4228892 EditorSettings: Rename invert_y-axis to invert_y_axis for consistency
No other option uses a dash in its identifier.
2018-11-17 16:19:02 +01:00
Rémi Verschelde
a3501c096f
Merge pull request #21897 from Calinou/3d-display-camera-coordinates
Display camera coordinates in the 3D viewport's information pane
2018-11-02 11:33:22 +01:00
Rémi Verschelde
48c6844b00
Merge pull request #23171 from capnm/fix-orthogonal-mode-freelook
Disable 'freelook' in the orthogonal mode.
2018-10-25 11:35:32 +02:00
Rémi Verschelde
bf737ee8da
Merge pull request #23211 from YeldhamDev/spatial_editor_preview_adjustment
Readjust "Preview" button in Spatial editor
2018-10-25 10:58:50 +02:00
Martin Capitanio
808b46cfc2 Fix 'Align selection with view' in orthogonal mode
Fixes #23096
2018-10-22 17:05:16 +02:00
Michael Alexsander Silva Dias
36575fe628 Readjust "Preview" button in Spatial editor 2018-10-21 23:06:27 -03:00
Martin Capitanio
9548707298 Disable 'freelook' in the orthogonal mode.
Fixes #23095
Thanks @aaronfranke for hints.

Fixes #23078
2018-10-20 12:49:33 +02:00
Michael Alexsander Silva Dias
9d69c34990 Make "Perspective" button look like a actual clickable button 2018-10-18 22:36:59 -03:00
Rémi Verschelde
44d82b3a07
Merge pull request #22752 from aaronfranke/equals-redundant
Remove redundant "== true" and "== false" code
2018-10-07 10:58:45 +02:00
Hugo Locurcio
1a2f6cfcb5
Make the 3D viewport menu button easier to read
This closes #22809.
2018-10-06 23:00:33 +02:00
Aaron Franke
37386f112b Remove redundant "== true" code
If it can be compared to a boolean, it can be evaluated as one in-place.
2018-10-06 16:12:36 -04:00
Rémi Verschelde
106acb27f9
Merge pull request #22568 from dlasalle/#14959
Explicitly show viewport 0 in the SpatialEditorPlugin if the container is large enough.
2018-10-02 11:26:29 +02:00
Rémi Verschelde
876456754d
Merge pull request #21421 from YeldhamDev/mult_view_changes
Small improvements to the Spatial Editor's multiple viewport mode
2018-10-02 11:22:49 +02:00
Aaron Franke
cd349efb0e Minor nit-picky tweaks in spatial_editor_plugin.cpp
* Orthogonal cameras don't have an FOV that's "near zero". Or zero, or any number of degrees. It's not a measurement of degrees, it's just a fixed width. This comment is more accurate. Also, "terrible" is a better word than "awful" here.

* While I'm editing this file, the "String ortho" variable name could be more intuitive, so I've changed it to "view_mode".

Minor nit-picky changes, I know, but I found it so I may as well improve it.
2018-10-01 02:01:06 -04:00
Dominique LaSalle
df06087057 Explicitly show viewport 0 in the SpatialEditorPlugin if the container is large enough. 2018-09-30 10:09:31 -07:00
Rémi Verschelde
7b081a7fc8 Fix warnings about unhandled enum value in switch [-Wswitch]
Fixes GCC 5 warnings of the form:

core/io/http_client.cpp:288:9: warning: enumeration value 'STATUS_SSL_HANDSHAKE_ERROR' not handled in switch [-Wswitch]
core/io/marshalls.cpp:806:9: warning: enumeration value 'AABB' not handled in switch [-Wswitch]

Those can be trivial cases where adding a default fallback is the solution,
or more complex issues/hidden bugs where missed values are actually meant
to be handled.
2018-09-27 18:34:30 +02:00
Rémi Verschelde
e5bbcb8bcf Fix warnings for comparison between signed and unsigned integers [-Wsign-compare]
Also turn off -Wsign-compare warnings in the future, we do not consider them important.

Fixes the following GCC 5 warnings:
```
core/node_path.cpp:279:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
core/oa_hash_map.h:169:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
core/oa_hash_map.h:314:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
drivers/gles2/shader_gles2.cpp:985:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
drivers/gles3/rasterizer_storage_gles3.cpp:1075:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
drivers/pulseaudio/audio_driver_pulseaudio.cpp:343:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
editor/editor_plugin.cpp:525:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
editor/editor_properties_array_dict.cpp:747:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
editor/plugins/spatial_editor_plugin.cpp:2078:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
editor/plugins/spatial_editor_plugin.cpp:4096:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
editor/plugins/sprite_editor_plugin.cpp💯20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
modules/cvtt/image_compress_cvtt.cpp:122:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
modules/cvtt/image_compress_cvtt.cpp:134:77: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
modules/cvtt/image_compress_cvtt.cpp:339:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
modules/etc/image_etc.cpp:222:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
modules/gdnative/register_types.cpp:242:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
modules/gdnative/register_types.cpp:258:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
modules/opensimplex/simplex_noise.cpp:200:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
modules/opensimplex/simplex_noise.cpp:222:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
modules/opensimplex/simplex_noise.cpp:246:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
platform/android/export/export.cpp:1085:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
platform/android/export/export.cpp:1489:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
platform/android/export/export.cpp:1623:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
platform/iphone/export/export.cpp:206:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
platform/iphone/export/export.cpp:356:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
platform/iphone/export/export.cpp:406:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
platform/iphone/export/export.cpp:493:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
scene/3d/audio_stream_player_3d.cpp:420:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
scene/resources/audio_stream_sample.cpp:565:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
scene/resources/audio_stream_sample.cpp:571:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
servers/audio/audio_rb_resampler.cpp:156:36: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
```

The following warnings were not fixed, as they implied casting for no gain:
```
core/io/packet_peer.cpp:228:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
core/io/resource_format_binary.cpp:109:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
drivers/gles2/rasterizer_scene_gles2.cpp:144:57: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
drivers/unix/file_access_unix.cpp:249:46: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
scene/3d/voxel_light_baker.cpp:889:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
scene/3d/voxel_light_baker.cpp:1020:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
scene/3d/voxel_light_baker.cpp:1154:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
scene/3d/voxel_light_baker.cpp:2255:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
scene/resources/bit_mask.cpp:336:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
servers/audio/audio_stream.cpp:141:49: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
servers/audio/audio_stream.cpp:150:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
servers/audio/audio_stream.cpp:154:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
servers/audio_server.cpp:86:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
servers/audio_server.cpp:89:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
```
2018-09-27 16:25:23 +02:00
Rémi Verschelde
d8b30d42f5 Fix warnings for operator precedence disambiguation [-Wparentheses]
Fixes the following GCC 5 warnings:
```
core/io/resource_format_binary.cpp:1721:29: warning: suggest parentheses around arithmetic in operand of '|' [-Wparentheses]
core/typedefs.h:108:24: warning: suggest parentheses around comparison in operand of '!=' [-Wparentheses]
editor/plugins/spatial_editor_plugin.cpp:2202:58: warning: suggest parentheses around comparison in operand of '!=' [-Wparentheses]
editor/plugins/spatial_editor_plugin.cpp:5002:12: warning: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses]
main/input_default.cpp:346:59: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
main/input_default.cpp:348:60: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
main/input_default.cpp:579:57: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
modules/gridmap/grid_map_editor_plugin.cpp:613:14: warning: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses]
modules/theora/video_stream_theora.cpp:335:34: warning: suggest parentheses around '+' in operand of '&' [-Wparentheses]
modules/theora/video_stream_theora.cpp:336:35: warning: suggest parentheses around '+' in operand of '&' [-Wparentheses]
modules/visual_script/visual_script_property_selector.cpp:215:38: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
scene/gui/rich_text_label.cpp:424:84: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
scene/gui/rich_text_label.cpp:512:80: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
scene/gui/scroll_container.cpp:173:36: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
scene/gui/scroll_container.cpp:173:86: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
scene/gui/tree.cpp:1419:98: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
```
2018-09-27 10:29:48 +02:00
Rémi Verschelde
76ca46d1f4
Merge pull request #22225 from groud/fix_draw_on_viewport
Fixes drawing of the 2D plugins on the 3D view
2018-09-20 21:45:16 +02:00
Rémi Verschelde
f93a69cb6e
Merge pull request #22287 from Chaosus/fix_warning
Fix "This control can't grab focus." warning spam
2018-09-20 21:41:53 +02:00
Chaosus
e4c8efd051 Fix "This control can't grab focus." warning spam 2018-09-20 15:29:38 +03:00
Ibrahn Sahir
ce15cf8ebc fix branch on uninit in spatial_editor_plugin
Moved the initialisation of origin_enabled up a bit, to be inited before
it's accessed in _init_grid. A step towards cleaner valgrind output and
removes an opportunity for a random occurance of the origin/grid
z-fighting issue.

Also removed unused variable last_grid_snap to avoid later confusion.
2018-09-20 13:06:13 +01:00
groud
5172642c32 Fixes drawing of the 2D plugins on the 3D view 2018-09-18 20:00:07 +02:00
Michael Alexsander Silva Dias
75d5d81b8a Remove unnecessary "OK"s text settings 2018-09-15 21:40:50 -03:00
Chaosus
2fe0365661 Few unifications between canvas_item and spatial editors 2018-09-15 18:44:26 +03:00
willnationsdev
5436abefe4 Refactor editor icon retrieval 2018-09-14 09:27:56 -05:00
Hugo Locurcio
621a5457ed
Display camera coordinates in the 3D viewport's information pane 2018-09-11 00:04:09 +02:00
Rémi Verschelde
8804eb8c06
Merge pull request #21707 from JFonS/fix_instanced_selection
Fix selection of instanced scenes in 3D
2018-09-05 18:11:56 +02:00
Rémi Verschelde
5fe01d4cfc Move ParticlesMaterial code to its own resource file
It's shared by both 2D and 3D particles (+ CPU ones), so it makes sense
to have as a common resource. It also allowed to disable compilation of
Particles (3D) when using 'disable_3d'.

Also cleaned up includes in SpatialEditorGizmos and some other places,
as well as dropped dead code in material_editor_plugin.cpp.
2018-09-04 11:32:56 +02:00
JFonS
4a412943d4 Fix selection of instanced scenes in 3D 2018-09-02 22:31:03 +02:00
Hugo Locurcio
af139af69e
Fix some editor shortcuts' default values not being set properly
This also changes the uppercase/lowercase/capitalize shortcuts
to Shift+F4, Shift+F5 and Shift+F6 respectively to avoid conflicts
with the new Find Next shortcut.

This closes #21612.
2018-09-01 16:20:47 +02:00
Rémi Verschelde
b6c170165c
Merge pull request #21485 from JFonS/fix_selection
Saner selection code for instanced scenes in 3D,  should close #21447
2018-08-29 10:08:41 +02:00
Rémi Verschelde
7e79fb80db Fix z-fighting on origin grid lines in spatial editor
Fixes #21264.
2018-08-29 09:27:50 +02:00