Commit graph

470 commits

Author SHA1 Message Date
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
JFonS
b58bb95c86 Saner selection code for instanced scenes in 3D, should close #21447
Selecting instanced scenes still doesn't work properly because gizmos are not being added to instanced nodes.
I will probably work on fixing all the shenanigans around selection, but that will take some time.
This part of the code should work better for the moment.
2018-08-27 16:02:49 +02:00
Michael Alexsander Silva Dias
7d13f6ad30 Small improvements to the Spatial Editor's multiple viewport mode 2018-08-25 17:43:27 -03:00
JFonS
927f9f283f Remove material errors after opening new project, fixes #21073 2018-08-23 10:50:30 +02:00
Juan Linietsky
c1bd768ca2
Merge pull request #18822 from QbieShay/master
Added spring arm node
2018-08-20 14:21:04 -03:00
QbieShay
bb14ef5623 added spring arm node. 2018-08-18 14:34:42 +02:00
Hugo Locurcio
442029b1c0
Fix the 3D grid flickering when the origin is enabled 2018-08-17 23:22:03 +02:00
Guilherme Felipe
ae788125a0 Disable camera interpolation when switching scene tabs
Fix #11764
2018-08-14 19:25:27 -03:00
Rémi Verschelde
0322081ec5
Merge pull request #20744 from Zylann/fix_viewport_lock_rotation
Initialize default lock rotation in constructor
2018-08-14 15:49:04 +02:00
Rémi Verschelde
c8414007ad
Merge pull request #20835 from Calinou/use-standard-button-texts-2
Tweak some editor button texts
2018-08-14 15:45:34 +02:00
Rémi Verschelde
892667878a
Merge pull request #20848 from Calinou/improve-3d-manipulator-gizmo
Improve the 3D manipulator gizmo
2018-08-14 15:43:52 +02:00
Juan Linietsky
15530ce2c5 Fix gizmos submenu 2018-08-12 10:20:32 -03:00
JFonS
ac51da2eb6 Improvements on the gizmo disabling menu and icon selection bugfix 2018-08-11 23:07:00 +02:00
Juan Linietsky
fbb5ca4d97
Merge pull request #20584 from JFonS/gizmo_enabling
New gizmo structure and gizmo disabling menu
2018-08-09 16:27:59 -03:00
JFonS
59fd18ab1a New gizmo structure and new gizmo disabling menu 2018-08-09 20:58:39 +02:00
Hugo Locurcio
dcca20027c
Improve the 3D manipulator gizmo
Its size now takes into account the editor scale and the viewport's
half resolution setting. It is now also more detailed.
2018-08-09 16:34:18 +02:00
Hugo Locurcio
147f7fbdcf
Tweak some editor button texts 2018-08-09 11:22:11 +02:00
Marc Gilleron
65215a7829 Initialize default lock rotation in constructor 2018-08-05 19:24:11 +01:00
Hugo Locurcio
1368bcfc53
Use a standard "OK" text for confirmation buttons in error dialogs
[ci skip]
2018-08-05 16:49:22 +02:00
Rémi Verschelde
b5b8f52d4f
Merge pull request #15310 from remorse107/Cinema-Mode
Added "Cinema Mode" so that the spatial editor can actively track the...
2018-07-27 08:12:22 +02:00
Robert Morse
75947b1b72 Add "Cinematic Preview" to the Spatial Plugin Editor. 2018-07-26 19:15:28 -05:00
Max Hilbrunner
6cf5eb8e37
Merge pull request #20022 from EIREXE/snap_to_floor
Add snap to floor functionality to the editor
2018-07-26 22:31:03 +02:00
Alex Roman
af725094d7 Add snap to floor functionality to the editor 2018-07-26 08:34:40 +02:00
Rémi Verschelde
4c5f0844e1
Merge pull request #19758 from kyledayton/feature/spatial-viewport-lock-rotation
Add lock rotation feature to spatial editor viewport
2018-07-26 08:31:20 +02:00
Kyle Dayton
46ec1deba5 Add lock rotation feature to spatial editor viewport 2018-07-25 21:37:04 -05:00
Hein-Pieter van Braam
0e29f7974b Reduce unnecessary COW on Vector by make writing explicit
This commit makes operator[] on Vector const and adds a write proxy to it.  From
now on writes to Vectors need to happen through the .write proxy. So for
instance:

Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;

Failing to use the .write proxy will cause a compilation error.

In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.

_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
2018-07-26 00:54:16 +02:00
ordigdug
7ab7bda48e Fix grid missing lines #20246 2018-07-22 05:00:51 -04:00
JFonS
e245efaead Fix selection in 3D orthogonal view 2018-06-28 14:59:39 +02:00
JFonS
9cd1c20f6a Polished 3D selection 2018-06-13 17:52:37 +02:00
Juan Linietsky
b659fd6d74 Entirely new (and much improved) animation editor. 2018-06-07 12:52:00 -03:00
AndreaCatania
9e57a07fb6 Implemented ragdoll
Implementing ragdoll

Implementing ragdoll

Implementing ragdoll

Implementing ragdoll

Implementing ragdoll

a

Implemented implicit hierarchy.

Improved

Added some physics properties

Added bone offset to preserve COM, partially fixed scaling

work in progress

WIP

wip

Implemented Joint Gizmos

Implemented pin joint joint

Implemented all joints
2018-05-07 21:03:16 +02:00
Juan Linietsky
8c30337565
Merge pull request #18684 from muiroc/fix_dragdrop_instancing
Editor: Makes dragdrop instantiation behavior consistent with the instance scene button
2018-05-07 13:34:09 -03:00
Juan Linietsky
d8ea68195a
Merge pull request #18525 from Calinou/improve-3d-grid
Improve the 3D editor grid
2018-05-07 13:09:03 -03:00
muiroc
884b239ca5 SpatialEditorViewport::_create_instance: pass GEN_EDIT_STATE_INSTANCED to scene->instance() 2018-05-06 19:13:23 +02:00
Robin Hübner
b16eaf5827 Remove unused duplicate wireframe shortcut, fixes #18067
It also happens to do nothing currently.
2018-05-03 16:22:30 +02:00
Hugo Locurcio
098f9b51b5
Improve the 3D editor grid
- The grid's primary and secondary colors can now be changed
- The number of grid steps (subdivisions) can now be changed
- The grid size can now be changed
- The grid is now darker by default
2018-04-30 14:24:54 +02:00
Hugo Locurcio
1c419531a0 Change ".." punctuation for "..." in editor strings (#16507) 2018-04-22 19:36:01 +02:00
Juan Linietsky
187b14ae24
Merge pull request #17730 from RandomShaper/radio-buttons-in-menus
Radio buttons in menus
2018-04-07 16:41:39 -03:00
Pedro J. Estébanez
259ed1d400 Improve popup menus usability
It seems that popups were intended to "grab" the mouse click that triggered them, but their intent was being lost. This commit does the necessary changes to let it happen and updates items that were trying to get advantage of it, because the semantics of `Control::grab_click_focus()` have changed a bit. Namely, it must be called **before** showing the modal.

This allows to popup a menu and activate an item in it in a single click-point-release cycle, instead of having to click once to open the menu and once more to pick an item.

This ability is extended even to context menus activated with the RMB (or any other mouse button, for that matter). The editor benefits from this in the context menu of the tree dock, which has been patched to opt-in for this feature.

This improves UX a bit by saving unnecessary clicks.

From now on, `PopupMenu` always grabs the click and also invalidates the first button release unless the mouse has moved (that's what `set_invalidate_click_until_motion()` was doing and now it's removed), so there is no longer the need of doing both things at every point a pop-up menu is shown.
2018-04-07 01:06:02 +02:00
Pedro J. Estébanez
a6dc160d5c Use radio-button-like menu entries where applicable 2018-03-27 19:19:45 +02:00
Julien CATINEAU
57e6b8781c add option to invert y-axis 2018-03-20 08:03:38 +01:00
Chaosus
24c170555d Enable snapping when control key pressed 2018-02-21 17:36:25 +03:00
Rémi Verschelde
e7fb143515
Merge pull request #14433 from PJB3005/17-12-08-3d_grid_color_setting_update
Makes 3D editor grid color update without restart.
2018-02-19 22:02:02 +01:00
George Marques
da69a06253
Add a function to remove controls from containers
Closes #5968
2018-02-13 19:35:10 -02:00
Poommetee Ketson
cfac160f9f 3DEditor: fix selecting node in viewport not update inspector 2018-02-07 13:27:39 +07:00
Poommetee Ketson
25dd1f0681 3DEditor: fix multiple node selection crash the editor
I'm not sure about this fix. This seems to also fixes the weird
selection bug where when selecting node 1 to 3 it focuses on
2nd node.
2018-01-27 17:28:01 +07:00
Rémi Verschelde
9f479f096c Fix typos in code and docs with codespell
Using v1.11.0 from https://github.com/lucasdemarchi/codespell
2018-01-18 22:01:42 +01:00
Marc Gilleron
6a4e89b6ec Fix crash when freelook shortcuts are undefined 2018-01-15 00:32:27 +01:00
Juan Linietsky
a26e6c8215 Renamed tree_exited to tree_exiting. tree_exited is now used for actual out of tree notification.
Updated doc accordingly.
2018-01-12 08:29:24 -03:00
poke1024
b352b0b88c Fixes snap button getting out of sync (issue 15366) 2018-01-11 06:52:10 +01:00
Rémi Verschelde
e4213e66b2 Add missing copyright headers and fix formatting
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
2018-01-05 01:22:23 +01:00
Artem Varaksa
928ca10a7b Clean up \n from end of translation strings 2018-01-04 22:00:39 +03:00
Rémi Verschelde
b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
firefly2442
9ba9e37220 prevent strings from being evaluated to just "true" 2017-12-30 21:22:16 -07:00
Noshyaar
256a60bc6e
Merge pull request #14826 from carlosfvieira/14371-F_key_Viewport_focus_problem
Fix spatial editor plugin issues on multi viewport view menu shortcuts (only those that are bound to keys)
2017-12-25 08:42:31 +07:00
Noshyaar
aecffd71d8
Merge pull request #14847 from YeldhamDev/3d_viewport_save
Fixes for the Spatial Editor's Perspective options and dead code cleaning
2017-12-25 08:40:43 +07:00
carlosfvieira
49859871d9 Fix spatial editor plugin issues on multi viewport view menu shortcuts (only those that are bound to keys) - this closes #14371 and closes #12409
Fix spatial editor plugin issues on multi viewport view menu shortcuts (only those that are bound to keys) - this closes #14371 and closes #12409
2017-12-21 11:29:17 +00:00
Michael Alexsander Silva Dias
2490c4d882 Fixes for the Spatial Editor's Perspective options and dead code cleaning. 2017-12-20 01:05:21 -02:00
Carlos Vieira
2a3f6ee8b3 #14619 - fixes issue 1 (gizmo huge scale) - also referred in #14836 2017-12-19 23:45:10 +00:00
volzhs
4073de88cb Refactoring FPS & information on 3D viewport
- FPS label position adjusted with Preview button
- Remove unnecessary Panel control
- Remove unnecessary check condition
2017-12-17 21:49:44 +09:00
Przemysław Gołąb (n-pigeon)
b3575b5164 Moved Local Space Mode and Transform Snap settings to Top Bar ...
...buttons for easier access.
2017-12-16 15:42:19 +01:00
Poommetee Ketson
9888a56639 Change statable to multistate, remove extra separator 2017-12-12 09:41:17 +07:00
Rémi Verschelde
bf45e569c9
Merge pull request #11510 from AndreaCatania/skel
Added skeleton x-ray
2017-12-10 13:03:53 +01:00
AndreaCatania
63ec5823d1 Implemented skeleton visibility
Removed code visibility code from popup menu
2017-12-10 03:15:52 +01:00
PJB3005
04d0a0b96d Makes 3D editor grid color update without restart.
Fixes #14415
2017-12-09 21:16:26 +01:00
Mariano Suligoy
af719a90a7 TileMap Fixes 2017-12-02 20:49:01 -03:00
Guilherme Felipe
893a71b7dd Fix alignment for button preview_camera 2017-12-02 09:45:25 -02:00
Juan Linietsky
22415e5a31
Merge pull request #12572 from RandomShaper/onion-skinning
Onion skinning
2017-11-26 15:13:35 -03:00
Hugo Locurcio
e3fc6fcaa6
Tweak the default editor camera settings
- The default FOV is now 70
- The default Z-near plane is now at 0.05 meters
2017-11-25 23:03:26 +01:00
Pedro J. Estébanez
1964d5fddd Improve/fix SpatialEditor state saving/restoring 2017-11-25 02:18:28 +01:00