Commit Graph

465 Commits

Author SHA1 Message Date
f9bd2ace0b Merge pull request #68682 from timothyqiu/camera-gizmo-size
Make Camera3D gizmo the same aspect ratio as its viewport
2022-12-07 13:25:35 +01:00
e18107a57c Fix Determining Window for Touchscreen
DisplayServer::screen_is_touchscreen will likely never utilize its
parameter p_screen.
This PR replaces this function by DisplayServer::is_touchscreen_available()
with the same functionality.
This solves the problem, that a SubViewport was used for determining
the screen, which resulted in error messages.
2022-12-07 09:54:29 +01:00
1db23e472b Merge pull request #69525 from m4gr3d/polish_navigation_controls_opacity_main
Minor tweaks/polish to the navigation controls to prevent interference
2022-12-05 11:32:43 +01:00
eacb29c007 Minor tweaks/polish to the navigation controls to prevent interference:
- Reduce controls size
- Enable opacity on hover to increase visibility
2022-12-02 23:17:38 -08:00
18b924def7 Enable the navigation controls for touchscreen by default 2022-12-02 20:47:32 -08:00
1566f3d49f Add navigation control to the node3d editor viewport 2022-11-29 17:43:16 -08:00
c90d0bd84f Use forward-declarations in big editor classes 2022-11-29 09:59:43 +01:00
6d2a7cb46d Merge pull request #68709 from MewPurPur/instance-begone-part3
Remove more instances of 'instance' being used as a verb
2022-11-16 14:41:42 +01:00
3b4f5f8a04 Remove more instances of 'instance' being used as a verb 2022-11-16 14:01:53 +01:00
6c5dc78f59 Make Camera3D gizmo the same aspect ratio as its viewport 2022-11-15 17:31:53 +08:00
3b14f0334c Remove redundant Variant-types initializations 2022-11-14 19:35:19 +01:00
15831e381b Unify usage of undo_redo in editor 2022-11-02 17:51:58 +01:00
50f742e1ca Merge pull request #68107 from alfredbaudisch/drag-lower-case
Cast dragged file name extension to lowercase
2022-11-02 14:16:00 +01:00
df26d11b5d Merge pull request #68020 from timothyqiu/3d-drag-instance
Improve dragging scene into 3D viewport
2022-11-02 14:15:54 +01:00
07e367cb0b Cast dragged file extension name to lowercase, closes #68104 2022-11-01 09:48:09 +01:00
e47aa546cd Merge pull request #68008 from timothyqiu/hide-axis
Hide axis gizmo after translating 3D nodes
2022-10-31 14:19:11 +01:00
5947f22be9 Merge pull request #67578 from KoBeWi/GEDITOR
Unify usage of GLOBAL/EDITOR_GET
2022-10-31 13:15:58 +01:00
33c7c8020a Merge pull request #67489 from timothyqiu/auto-select-all
Allow selecting SpinBox & LineEdit text when focus enters
2022-10-31 11:55:06 +01:00
420eb1aa34 Merge pull request #67445 from Zylann/rename_queue_delete
Rename queue_delete => queue_free
2022-10-31 10:51:18 +01:00
877cb1cbc0 Improve dragging scene into 3D viewport
* When there's nothing to collide with:
    * Place the new scene on XZ plane when possible.
    * When the camera does not point toward the XZ plane or the
      intersection is too far away, place the new scene on a plane that
      is in front of the camera and parallel to the frame.
* Fixes positioning when in orthogonal view.
    * Place on physical collision point or the XZ plane when possible.
    * Otherwise, place it on the plane in front of the camera as if the
      camera was perspective.
* Makes use of snap settings when placing the new scene.
2022-10-29 23:34:39 +08:00
03bbacfdca Hide axis gizmo after translating 3D nodes 2022-10-29 16:17:28 +08:00
3aed3edc06 Allow selecting SpinBox & LineEdit text when focus enters 2022-10-29 09:58:42 +08:00
d1cc93af89 Merge pull request #67832 from Sauermann/fix-remove-unnecessary-casts
Remove unnecessary casts
2022-10-27 09:47:34 -07:00
7543a5e014 Rename queue_delete => queue_free
# Conflicts:
#	editor/plugins/tiles/tiles_editor_plugin.cpp
2022-10-24 22:07:02 +01:00
5ee449efec Remove unnecessary casts
button_add_item and button_add are both Button

p_parent is a Node3D

CanvasItem can never be cast to Viewport
2022-10-24 15:59:18 +02:00
7f9a8c99c9 Clean up Basis from Euler code 2022-10-21 17:54:49 -05:00
e48c5daddf Unify usage of GLOBAL/EDITOR_GET 2022-10-18 19:01:48 +02:00
9ebd8c5bb5 Remove the global space get_transformed_aabb helper method 2022-10-18 07:30:31 -05:00
d9ce8b8996 Node3D editor: cast rays in NOTIFICATION_PHYSICS_PROCESS
Fixes crashes in the editor with threaded physics (when dragging a scene
into the viewport or when snapping a node to the floor).
2022-10-14 23:37:20 +02:00
f82deaa5b3 Polish rendering driver refactor further (take 2) 2022-10-11 19:06:55 +02:00
e413d1c9c3 Merge pull request #67104 from Calinou/add-viewport-transparent-project-setting
Add a project setting to make the root viewport transparent
2022-10-11 09:28:43 +02:00
8017827144 SCons: Re-enable treating #warning as error with werror
Replace all TODO uses of `#warning` by proper TODO comments, and will open
matching bug reports to keep track of them.

We don't have a great track record fixing TODOs, but I'd wager we're even
worse for fixing these "TODO #warning" so we should prohibit this usage.
2022-10-10 16:12:26 +02:00
bab8497fa2 Add a project setting to make the root viewport transparent
This allows recording videos with a transparent background without
having to create a script.
2022-10-09 00:16:07 +02:00
0103af1ddd Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4. 2022-10-07 11:32:33 +03:00
ae5771e1b1 Rename remaining "Spatial" in Plugins to "Node3D"
For EditorNode3DGizmo:
- `get_spatial_node` -> `get_node_3d`
- `set_spatial_node` -> `set_node_3d`

For EditorPlugin:
- `add_spatial_gizmo_plugin` -> `add_node_3d_gizmo_plugin`
- `remove_spatial_gizmo_plugin` -> `remove_node_3d_gizmo_plugin`

Also renames some internal methods for consistency (`forward_3d_draw_over_viewport` & `forward_3d_force_draw_over_viewport` ...). Basically, Spatial has been completely eradicated.
2022-10-04 16:27:29 +02:00
969f20656a Free preview sun and environement on editor close.
Previously, they would only be freed if they were in the editor node tree.
2022-09-15 20:45:19 -07:00
598b5b19ac Improve 3D editor preview sun and sky usability
- Use grayscale icons to look better when pressed (with accent color
  modulation).
- Invert state to be more logical (pressed = preview is enabled, not disabled).
2022-09-12 03:58:29 +02:00
b52305351d Merge pull request #64465 from TokageItLab/bind-after-gui-input
Bind `AfterGUIInput` to GDScript and update document
2022-09-10 20:01:48 +02:00
c4c9e41073 Make Vector2i values paired with EDSCALE be just Vector2 2022-09-08 14:46:32 -03:00
3c7a5fd8ac bind AfterGUIInput 2022-09-08 20:02:48 +09:00
6f4d233062 Fix key mapping changes when moving from macOS to other platform
Removes separate `Command` key (use `Meta` instead).
Adds an event flag to automatically remap `Command` <-> `Control` (cannot be set alongside `Control` or `Meta`).
2022-09-07 18:45:35 +02:00
1459507ed2 Rename EditorInterface.get_editor_main_control to get_editor_main_screen 2022-09-07 03:01:58 +03:00
b6daad8d4b Rename range_lerp to remap 2022-09-06 07:19:20 +02:00
c82bbc38a5 Merge pull request #64952 from Chaosus/vs_rename_uniform_to_param 2022-09-02 13:49:53 +02:00
2e0cffdb6f Merge pull request #63479 from DarkKilauea/nav-link 2022-09-01 23:44:22 +02:00
8191b3c110 Rename uniform to parameter across the engine 2022-09-01 11:42:57 +03:00
385ee5c70b Implement Physical Light Units as an optional setting.
This allows light sources to be specified in physical light units in addition to the regular energy multiplier. In order to avoid loss of precision at high values, brightness values are premultiplied by an exposure normalization value.

In support of Physical Light Units this PR also renames CameraEffects to CameraAttributes.
2022-08-31 12:14:46 -07:00
02d510bd07 Merge pull request #63003 from Geometror/msaa-2d 2022-08-30 14:54:20 +02:00
e31bb5ffeb Rename CanvasItem.update() to queue_redraw()
Affects a lot of classes. Very thoroughly checked signal connections and deferred calls to this method, add_do_method/add_undo_method calls, and so on.

Also renames the internal `_update_callback()` to `_redraw_callback()` for consistency.

Just a few comments have also been changed to say "redraw".

In CPUParticles2D, there was a private variable with the same name. It has been renamed to `do_redraw`.
2022-08-29 14:59:47 +02:00
fd6453c45e Revert "Remove NOTIFICATION_ENTER_TREE when paired with NOTIFICATION_THEME_CHANGED"
This reverts commit 4b817a565c.

Fixes #64988.
Fixes #64997.

This caused several regressions (#64988, #64997,
https://github.com/godotengine/godot/issues/64997#issuecomment-1229970605)
which point at a flaw in the current logic:

- `Control::NOTIFICATION_ENTER_TREE` triggers a *deferred* notification with
  `NOTIFCATION_THEME_CHANGED` as introduced in #62845.
- Some classes use their `THEME_CHANGED` to cache theme items in
  member variables (e.g. `style_normal`, etc.), and use those member
  variables in `ENTER_TREE`, `READY`, `DRAW`, etc. Since the `THEME_CHANGE`
  notification is now deferred, they end up accessing invalid state and this
  can lead to not applying theme properly (e.g. for EditorHelp) or crashing
  (e.g. for EditorLog or CodeEdit).

So we need to go back to the drawing board and see if `THEME_CHANGED` can be
called earlier so that the previous logic still works?

Or can we refactor all engine code to make sure that:
- `ENTER_TREE` and similar do not depend on theme properties cached in member
  variables.
- Or `THEME_CHANGE` does trigger a general UI update to make sure that any
  bad theme handling in `ENTER_TREE` and co. gets fixed when `THEME_CHANGE`
  does arrive for the first time. But that means having a temporary invalid
  (and possibly still crashing) state, and doing some computations twice
  which might be heavy (e.g. `EditorHelp::_update_doc()`).
2022-08-29 11:11:29 +02:00