Commit graph

8766 commits

Author SHA1 Message Date
Max Hilbrunner
343414cba5
Merge pull request #54328 from YeldhamDev/tabbar_close_signal_rename
Rename `TabBar`'s `tab_closed` signal to `tab_close_pressed`
2021-10-29 13:21:09 +02:00
clayjohn
1b2cd9f251 Addition of FogVolumes, FogShaders, FogMaterial, and overhaul of VolumetricFog
Co-authored-by: Brian Semrau <brian.semrau@gmail.com>
2021-10-28 22:02:23 -07:00
Michael Alexsander
4c563a51c3 Rename TabBar's tab_closed signal to tab_close_pressed 2021-10-28 13:10:44 -03:00
Rémi Verschelde
0ae65472e7
clang-format: Enable BreakBeforeTernaryOperators
clang-format keeps breaking the way it handles break *after* ternary operators,
so I give up and go with the only style they seem to actually test.
2021-10-28 15:57:41 +02:00
Rémi Verschelde
3a6be64c12
clang-format: Various fixes to comments alignment from clang-format 13
All reviewed manually and occasionally rewritten to avoid bad auto formatting.
2021-10-28 15:43:36 +02:00
Rémi Verschelde
3b11e33a09
clang-format: Disable alignment of operands, too unreliable
Sets `AlignOperands` to `DontAlign`.

`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
2021-10-28 15:19:35 +02:00
Rémi Verschelde
6d930bd270
Merge pull request #54342 from groud/remove_item_list_editor 2021-10-28 11:52:47 +02:00
Gilles Roudière
a51f92273a Remove ItemList editor and replace it by a property array 2021-10-28 10:16:51 +02:00
Rémi Verschelde
7bb568328f
Merge pull request #52985 from Calinou/editor-debugger-bottom-panel-error-warning-highlight
Improve appearance of the editor Debugger bottom panel menu
2021-10-28 08:12:41 +02:00
kobewi
de4f29f458 Remove node_hrcr hack 2021-10-28 01:43:34 +02:00
Rémi Verschelde
157cba3933
Merge pull request #54321 from V-Sekai/import-scene-crash 2021-10-27 22:25:25 +02:00
K. S. Ernest (iFire) Lee
d905d3c3d3 Avoid crash in scene importer when the mesh is empty. 2021-10-27 12:16:10 -07:00
Rémi Verschelde
21529c90f8
Merge pull request #54166 from ConteZero/unique_selection 2021-10-27 20:50:54 +02:00
ConteZero
fbee4efa5f Add option to make selection unique 2021-10-27 19:45:52 +02:00
Hugo Locurcio
bb681ef9f2
Improve appearance of the editor Debugger bottom panel menu
- Make the Debugger bottom panel menu more prominent when
  there are errors or warnings by adjusting the text color.
- Add some spacing to the right of the error/warning icon
  for better visual appearance.
2021-10-27 16:56:15 +02:00
Max Hilbrunner
55100f2f11 Small formatting fixes in Find in Files 2021-10-27 16:13:49 +02:00
Francois Belair
3f3cd15e07 Make EditorSpinSlider wait for text on key_up/down 2021-10-26 18:00:16 -04:00
Hugo Locurcio
e549ce28a0
Tweak animation editor icon colors for easier visual grepping
This makes the Linear and Cubic icons in particular easier to
distinguish from each other.

The Cubic interpolation icon's curve was also changed to be
more distinguishable from the Linear icon's curve.
2021-10-26 22:54:59 +02:00
Rémi Verschelde
8c162f4a7b
Merge pull request #54270 from JFonS/fix_selection 2021-10-26 19:03:34 +02:00
jfons
83fd0e0c70 Fix click selection in the editor 3D viewport 2021-10-26 18:08:31 +02:00
Rémi Verschelde
344babb939
Merge pull request #54267 from pycbouh/controls-button-font-focus 2021-10-26 17:34:07 +02:00
Yuri Sizov
12838bd99d Add focus font color to Button and derivatives 2021-10-26 17:42:40 +03:00
Rémi Verschelde
c2640e2b21
Merge pull request #54254 from mhilbrunner/ticks-msec-64 2021-10-26 14:53:56 +02:00
Max Hilbrunner
5dc02eb8b0 Save all 64 bits of get_ticks_msec() in more cases 2021-10-26 13:58:58 +02:00
Rémi Verschelde
01afa39d21
Merge pull request #54073 from groud/terrains_for_procgen 2021-10-26 08:15:07 +02:00
reduz
d03b7fbe09 Refactored Node3D rotation modes
* Made the Basis euler orders indexed via enum.
* Node3D has a new rotation_order property to choose Euler rotation order.
* Node3D has also a rotation_mode property to choose between Euler, Quaternion and Basis

Exposing these modes as well as the order makes Godot a lot friendlier for animators, which can choose the best way to interpolate rotations.
The new *Basis* mode makes the (exposed) transform property obsolete, so it was removed (can still be accessed by code of course).
2021-10-25 14:34:00 -03:00
Rémi Verschelde
24fdedfe94
Merge pull request #54050 from reduz/animation-compression 2021-10-25 14:27:58 +02:00
bruvzg
ebbc25e89c Ignore empty Font resources as theme override.
Add range hint to font_size properties.
Remove excessive `base_size` Font property.
2021-10-25 14:05:37 +03:00
Rémi Verschelde
e71184667e
Merge pull request #53707 from Calinou/action-editor-default-enable-physical 2021-10-24 23:34:08 +02:00
Rémi Verschelde
69eaa806c8
Merge pull request #53820 from Calinou/3d-editor-add-quick-fov-adjust 2021-10-24 22:33:05 +02:00
Wilson E. Alvarez
fc30f6350a
Fix max argument count on AnimationTrackEdit spinbox 2021-10-24 10:05:01 -04:00
Rémi Verschelde
c7b78b9538
Merge pull request #53885 from TokageItLab/fix-bone-animation-insertion
Fixed Pos/Rot/Scl 3D Tracks insertion in `SkeletonEditor`
2021-10-24 10:05:00 +02:00
Rémi Verschelde
0aa6f27061
i18n: Sync editor translations with Weblate
(cherry picked from commit 4010bb9af0)
2021-10-23 12:38:15 +02:00
Hugo Locurcio
5ae45cf388
Implement Alt + Mouse wheel to adjust FOV in the 3D editor viewport
This allows for quicker FOV adjustments compared to using the View menu.
2021-10-23 12:21:03 +02:00
Robin Arys
e69d40cad9 Fix newly created files not sorted correctly 2021-10-23 10:50:05 +02:00
Silc 'Tokage' Renew
653e2a550c Fixed animation insertion in SkeletonEditor 2021-10-23 16:50:00 +09:00
Robin Arys
bb7888debb Fix support for multiple base types in the quick load dialog 2021-10-22 23:27:46 +02:00
Rémi Verschelde
beb3875cdf
Merge pull request #53781 from m4gr3d/restrict_project_data_dir_config_master 2021-10-22 19:30:35 +02:00
Yuri Roubinsky
af08d497e2 Fix error spam at setting a CurveTexture in visual shaders 2021-10-22 17:32:16 +03:00
reduz
a69541da4c Implement Animation Compression
Roughly based on https://github.com/godotengine/godot-proposals/issues/3375 (used format is slightly different).

* Implement bitwidth based animation compression (see animation.h for format).
* Can compress imported animations up to 10 times.
* Compression format opens the door to streaming.
* Works transparently (happens all inside animation.h)
2021-10-21 18:27:34 -03:00
Marcel Admiraal
87a4ba492e Remove unimplemented methods 2021-10-21 18:44:25 +01:00
Gilles Roudière
d1aef45072 Allow updating TileMap cells using surrounding terrains 2021-10-21 16:57:28 +02:00
Rémi Verschelde
89b9624733
Merge pull request #53161 from Duroxxigar/copy-group-name 2021-10-21 11:22:12 +02:00
Duroxxigar
532a632077 Added ability to copy group name 2021-10-21 03:56:08 -04:00
Rémi Verschelde
efa3ff6b95
Merge pull request #54024 from akien-mga/editor-i18n-thresholds 2021-10-20 16:05:30 +02:00
Rémi Verschelde
c942d567eb
Merge pull request #53926 from YeldhamDev/i_am_tabbar_now 2021-10-20 15:42:41 +02:00
Rémi Verschelde
01aec21d25
i18n: Only include editor translations above a threshold
This reduces the size of the editor binaries significantly, as we otherwise
embed all WIP translations, including ones with very low completion ratios,
and end up paying for the size of all `msgid`s for each locale.

Cf. https://github.com/godotengine/godot-proposals/issues/3421 for details.

The thresholds used are:
- 30% for the editor interface (should already include most common strings
  while more obscure ones like UndoRedo action names might be untranslated).
- 10% for the class reference: this is a HUGE resource and 10% is already
  a lot of useful content, especially if focused on the most used APIs.

This currently reduces the size of the editor binary by 17% on Linux.

The list will be synced manually every now and then.

(cherry picked from commit 8425c58991)
2021-10-20 15:10:13 +02:00
Rémi Verschelde
9841c9abe8
Merge pull request #53994 from groud/move_tileset_tilemap_switch_to_tabs 2021-10-20 11:53:54 +02:00
Rémi Verschelde
6d3eef03bc
Merge pull request #53260 from Calinou/editor-inspector-warning-yellow 2021-10-20 11:48:12 +02:00
Haoyu Qiu
392d529247 Update view name after processing orbit view shortcuts 2021-10-20 13:05:59 +08:00
Gilles Roudière
20f4dce7a0 Fix EditorToaster constant update and prevent a crash 2021-10-19 17:18:45 +02:00
Gilles Roudière
5317b79a1d Remove the tilemap/tileset editor switch, move it to tabs 2021-10-19 17:11:34 +02:00
Michael Alexsander
67acb7de6e Rename Tabs to TabBar 2021-10-19 11:37:31 -03:00
Gilles Roudière
bc0b702874
Merge pull request #53440 from groud/tile_map_patterns_palette
Implement TileMap patterns palette
2021-10-19 13:13:46 +02:00
Rémi Verschelde
b1b5d516d7
Merge pull request #53979 from KoBeWi/bug_from_the_past 2021-10-19 13:13:09 +02:00
kobewi
abe22dfcf4 Fix command history for plugin commands 2021-10-19 12:23:24 +02:00
Gilles Roudière
1a95f893c4 Implement TileMap patterns palette 2021-10-19 11:57:37 +02:00
Rémi Verschelde
4387f9645b
Merge pull request #52940 from groud/toast_notification 2021-10-19 09:57:13 +02:00
Rémi Verschelde
21f1ac8bf3
Merge pull request #53805 from groud/name_to_tileset_sources 2021-10-19 09:56:19 +02:00
ne0fhyk
b5c750fa65 Restrict the project data directory configuration 2021-10-18 14:10:38 -07:00
Rémi Verschelde
64c9d44c06
i18n: Sync editor translations with Weblate
(cherry picked from commit 2a7e1d0aac)
2021-10-18 12:02:05 +02:00
jmb462
f2943eec72 Fix plugin create dialog subfolder and script field validity checks 2021-10-17 23:42:04 +02:00
Rémi Verschelde
c240275482
Merge pull request #51984 from rcorre/camera_shortcuts 2021-10-16 18:50:48 +02:00
Rémi Verschelde
a4e1a07d83
Merge pull request #53865 from reduz/implement-blend-shape-tracks 2021-10-16 16:48:10 +02:00
reduz
ae1c016547 Implement Animation Blend Shape Tracks
* New track type BLEND_SHAPE
* Blend shapes are imported via this new track type
* Processing is more optimized (no longer relies on variants)
* Modified the Blend Shape API in MeshInstance3D to use indices rather than StringNames (more optimizes)
* Promo: Fixed a small bug in gizmo updating in Node3D that affected performance

Dedicated BlendShape tracks are required for both optimization and eventually implementing them in animation compression.
2021-10-16 08:36:05 -03:00
mennomax
b4eeeb315a
Swap args of Plane(point, normal) constructor
Now (normal, point)
2021-10-15 20:49:42 -05:00
Rémi Verschelde
96410f55b2
Merge pull request #53860 from akien-mga/scons-end-gen-cpp-suffering 2021-10-15 23:59:12 +02:00
Rémi Verschelde
c96dcdf50a
Merge pull request #53859 from lyuma/collada_fix_transform 2021-10-15 22:14:26 +02:00
Rémi Verschelde
c133480531
SCons: List .gen.cpp sources explicitly to avoid globbing errors
Whenever we change the name (or remove) generated cpp files with the `.gen.cpp`
extension, users run into build issues when switching between branches (i.e.
switching before and after the name change/removal). This is because we glob
`*.cpp` so if a now-obsolete file from a previous build is present, we'll
include it too, potentially leading to bugs or compilation failure (due to
missing headers or invalid code).

So globbing patterns in `add_source_files` will now skip files ending with
`.gen.cpp`, which should instead be passed explicitly where they're used.
2021-10-15 22:14:11 +02:00
Lyuma
a54fe3ffa8 collada: fix error in use of fix_transform. 2021-10-15 11:36:18 -07:00
Rémi Verschelde
b5ece7c363
Merge pull request #53764 from Chaosus/vs_curve_input_port_default 2021-10-15 19:31:05 +02:00
Rémi Verschelde
55c71ba1a3
Merge pull request #53813 from reduz/editor-import-plugins 2021-10-15 15:14:52 +02:00
Rémi Verschelde
5bc0e4081b
Merge pull request #53753 from EricEzaM/fix-shortcut-saving 2021-10-15 14:40:40 +02:00
reduz
b3bf90b3ce Add scene Post-Import Plugin support.
* New plugin system to control the whole import workflow
* Can add options and run code at every import step (general, per node, mesh, animation, material etc.)

This constitutes a first version of these plugins. The ability to interact with the import preview dialog will likely be added later on.
2021-10-15 09:12:04 -03:00
Rémi Verschelde
e53e897b8c
Merge pull request #53782 from reduz/animation-track-type-import-actions 2021-10-15 13:47:31 +02:00
Eric M
7e435fa841 Fixed shortcut saving and 'original' comparisons 2021-10-15 20:39:38 +10:00
K. S. Ernest (iFire) Lee
8f0c056431 Fix specific warnings issues by Clang
Found by `scons dev=yes` on llvm-mingw.
2021-10-14 14:14:26 -07:00
Rémi Verschelde
f90047f158
Merge pull request #53786 from TokageItLab/fix-skeleton-editor-methods 2021-10-14 20:53:15 +02:00
Silc 'Tokage' Renew
8e9897b6de get rid set_bone_pose and fix some function in SkeletonEditor 2021-10-15 02:41:17 +09:00
Gilles Roudière
3b42660105 Add a name to TileSet sources 2021-10-14 14:54:48 +02:00
Gilles Roudière
0587e5e018 Implement toast notifications in the editor 2021-10-14 13:30:54 +02:00
reduz
0bf0024395 Implement import actions for pos/rot/scale animation tracks
Following actions are supported for each track type (position, rotatin, scale):

* ImportIfPresent: If a track of this type is found, import it.
* ImportIfPresentForall (default): If a track is found for a given node/bone, create it in animations. This ensures there is always a correct blending.
* Never: Delete all tracks found for a given type. This is useful if you want to, as an example, force to import rotations only.
2021-10-14 08:22:54 -03:00
kobewi
0afd47d8bc Add tool quick-select to tile editor 2021-10-14 02:24:39 +02:00
reduz
2dc823273e Remove REST transform influence in skeleton bones
* Animations and Skeletons are now pose-only.
* Rest transform is kept as reference (when it exists) and for IK
* Improves 3D model compatibility (non uniform transforms will properly work, as well as all animations coming from Autodesk products).
2021-10-13 14:51:29 -03:00
Rémi Verschelde
004b44e915
Merge pull request #53767 from groud/improve_tile_set_change_performances 2021-10-13 16:03:31 +02:00
Gilles Roudière
0de2fce3e1 Greatly improve editor performances by deferring tiles related updates
Solve few update problems
2021-10-13 14:49:47 +02:00
Yuri Roubinsky
e270644b20 Add a default input parameter field to CurveTexture (in visual shaders) 2021-10-13 15:25:12 +03:00
Gilles Roudière
b9151860f3 Prevent tiles outside atlas texture 2021-10-13 13:44:02 +02:00
Rémi Verschelde
3e86ca5586
Merge pull request #53689 from reduz/remove-animation-transform3d-track 2021-10-13 12:40:33 +02:00
Rémi Verschelde
4d2c82ef77
Merge pull request #53727 from Calinou/3d-editor-tweak-object-snap-distances 2021-10-13 11:43:58 +02:00
Rémi Verschelde
74a87fe98b
Merge pull request #53683 from Chaosus/vs_previews 2021-10-13 10:03:44 +02:00
reduz
ec19ed3723 Remove animation 3D transform track, replace by loc/rot/scale tracks.
* `Animation.TYPE_TRANSFORM3D` track is gone.
* Added POSITION_3D, ROTATION_3D, SCALE_3D tracks.
* GLTF2, Collada, FBX importers will only import the track types found.
* Skeleton3D bone poses are now Pos/Rot/Scale, pose matrix removed.
* AnimationPlayer and AnimationTree animate these tracks separately, only when found.
* Removed BakeReset code, is useless with these changes.

This is the first in a series of commits designed to make the animation system in Godot more useful, which includes:

* Better compatibility with Autodesk products
* Better reusability of animations across models (including retargeting).
* Proper animation compression.
* etc.

*Note* GLTF2 animation saving went broken with this PR, needs to be fixed in a subsequent one.
2021-10-12 20:08:42 -03:00
Rémi Verschelde
7494d54e04
Merge pull request #53471 from KoBeWi/🥞
Improve editor panning and remove RMB panning
2021-10-12 22:37:28 +02:00
Rémi Verschelde
b747063050
Merge pull request #53705 from e8newallm/53668
Fixed editor attempting to save a blank scene with save all scenes
2021-10-12 22:35:10 +02:00
Rémi Verschelde
64ec08d70d
Merge pull request #53735 from Paulb23/text-file-drop-and-drag
Allow dragging TextFiles from the Filesystem dock
2021-10-12 22:21:02 +02:00
Paulb23
31c1215c25 Allow dragging TextFiles from the Filesystem dock 2021-10-12 18:16:08 +01:00
Paulb23
f33a6328b5 Fix TextFiles not saving when closing the tab 2021-10-12 17:13:24 +01:00
Hugo Locurcio
7a3d0b79b4
Increase object snapping distances in the 3D editor
- Increase drag-and-drop snapping to 50 units
  (from 10 units).
- Increase Snap Object to Floor maximum height to 500 units
  (from 20 units).
- Increase Snap Object to Floor negative margin to 1 unit
  (from 0.2 units).
2021-10-12 16:38:33 +02:00
Hendrik Brucker
cd37af4e4c Add GradientTexture2D
Co-authored-by: Mariano Javier Suligoy <marianognu.easyrpg@gmail.com>
Co-authored-by: Andrii Doroshenko <xrayez@gmail.com>
2021-10-12 16:22:30 +02:00
Hugo Locurcio
2e76d5a3a4
Create key inputs as physical by default in the input action editor
Physical Key should be used for most game inputs as it allows
keys to work on non-QWERTY layouts out of the box.
This is especially important for WASD movement layouts.

In contrast, remapped (non-physical) keys are mainly useful in
non-game applications, where shortcuts are expected to match a
precise letter rather than a location on the keyboard.
2021-10-12 12:29:13 +02:00