Commit Graph

12478 Commits

Author SHA1 Message Date
Rémi Verschelde 2824774d29
Merge pull request #69801 from nongvantinh/fix-invalid-scene-name
Fixed scene name can be saved as extension only
2023-02-17 00:35:00 +01:00
Rémi Verschelde 2aaa6f6728
Merge pull request #69810 from trollodel/scene_importer_material_crash_fix
Ensure that generated import IDs are unique
2023-02-17 00:34:14 +01:00
Nong Van Tinh 010ddfbc16
Prevent saving files with no name and only an extension.
Fixes #69768.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-02-17 00:23:15 +01:00
rsjtdrjgfuzkfg 331dd33009 Theme Editor: fix leading styleboxes / main styles
Recent changes in Godot cause the theme editor to become hidden when
editing a child resource. This causes a crash when editing style box
resources marked as "main styles" (= leading styleboxes in the code), as
they try to reference the currently edited theme.

This commit works around the issue by permitting the Theme Editor to
keep a reference to the most recently edited Theme. Furthermore, it adds
an assertion to avoid a similar crash in the future.

Long-term, the workaround should probably be removed when the theme editor
is fixed to remain visible while editing child resources, but I'd keep
the assertion.
2023-02-16 20:41:51 +01:00
Rémi Verschelde d768be4199
Merge pull request #73447 from KoBeWi/3early5me
Fix wrong font in Event Configuration
2023-02-16 18:34:55 +01:00
Rémi Verschelde 57419dcd88
Merge pull request #73440 from aXu-AP/code-editor-toggle-comment-fix
Fix toggle comment not moving caret
2023-02-16 18:34:51 +01:00
kobewi be03c79001 Fix wrong font in Event Configuration 2023-02-16 18:19:28 +01:00
aXu-AP d188068caa Fix toggle comment not moving caret
Fix regression if caret is at the beginning of the line and comment is toggled.
2023-02-16 16:17:24 +02:00
Rémi Verschelde 9f07643c8c
Merge pull request #73361 from akien-mga/your-ints-aint-gonna-increment-themselves
EditorProperty: Fix missing increment buttons for integers
2023-02-16 11:01:52 +01:00
Rémi Verschelde 373cbbe7b2
Merge pull request #73375 from KoBeWi/save_us_all_from_crash
Fix Save All trying to save empty scene paths
2023-02-16 11:01:48 +01:00
Rémi Verschelde e178042866
Merge pull request #73370 from timothyqiu/tiles-i18n
Add missing i18n in tiles editor
2023-02-16 11:01:43 +01:00
Rémi Verschelde 02ca6689c4
Merge pull request #73369 from SaracenOne/animation_length_read_only
Make animation length control respect read-only rules.
2023-02-16 11:01:38 +01:00
Rémi Verschelde 366b4094ec
Merge pull request #73350 from SaracenOne/node_pointer_revert_fix
Fixes revert button on exported node properties on inherited nodes
2023-02-16 11:00:24 +01:00
kobewi 7aa3651e2b Fold resources when non-main inspector exits tree 2023-02-15 18:20:55 +01:00
kobewi f579c0a79f Fix Save All trying to save empty scene paths 2023-02-15 17:29:52 +01:00
SaracenOne 919df3ac0e Make animation length control respect read-only rules. 2023-02-15 15:13:50 +00:00
Haoyu Qiu ccc3bdebb3 Add missing i18n in tiles editor 2023-02-15 23:08:03 +08:00
Rémi Verschelde 840675ee07
EditorProperty: Fix missing increment buttons for integers
Fixes #73192.
2023-02-15 15:26:46 +01:00
SaracenOne 6696a0790c Fixes revert button on exported node properties on inherited nodes. 2023-02-15 11:40:00 +00:00
Rémi Verschelde 088d227812
Merge pull request #73340 from TokageItLab/diamond-audio
Fix display for no-length audio stream keys
2023-02-15 09:51:58 +01:00
Silc Renew d5e662af73 Fix display for no-length audio stream keys 2023-02-15 17:00:31 +09:00
Haoyu Qiu 0edd46e3fc Fix editor language dropdown incomplete in some locales 2023-02-15 08:59:11 +08:00
RedworkDE 1fb2b662e1 Fix `texture_format/bptc` export option 2023-02-14 13:51:42 +01:00
Rémi Verschelde 56d78c32f7
Merge pull request #68558 from dzil123/remove_duplicate_wireframe
Node3DEditorViewport - Remove duplicate wireframe check and cleanup
2023-02-14 13:36:52 +01:00
Rémi Verschelde a1986729a5
Merge pull request #73277 from RandomShaper/fix_pck_errors
Reword misleading error messages in PCK export
2023-02-14 13:35:27 +01:00
Pedro J. Estébanez cc9c43a631 Reword misleading error messages in PCK export 2023-02-14 12:04:31 +01:00
Rémi Verschelde 76876a7337
Merge pull request #73259 from KoBeWi/spaghetti_map
Fix some TileMap errors and crashes
2023-02-14 11:06:39 +01:00
Rémi Verschelde bed1ebd527
Merge pull request #72259 from Paulb23/json-editing
Support editing JSON in ScriptEditor
2023-02-14 11:04:17 +01:00
Rémi Verschelde bfe43f69b8
Merge pull request #67707 from Cykyrios/hide-private-prop-description-in-classdoc
Fix private properties appearing in custom class doc Property Descriptions
2023-02-14 11:03:50 +01:00
kobewi be6d5bbba6 Fix some TileMap errors and crashes 2023-02-14 00:39:41 +01:00
Rémi Verschelde 853c36ca0b
Merge pull request #61411 from snailrhymer/tilemap-editor-scattering
Fix random placement behaviour in new TileMap Editor
2023-02-13 21:14:40 +01:00
Rémi Verschelde 49fd62c315
Merge pull request #67523 from zaevi/fix_ProjectManager_sorting
Fix sorting issue in Project Manager.
2023-02-13 21:07:58 +01:00
kobewi 0c71c443ef Fix corrupt undo after making sub-resources unique 2023-02-13 19:18:03 +01:00
Micky e20b2f6c80 Tweak comments in `renames_map_3_to_4` & reorder
Generally moves comments and some entries around, as well as fixing typos and miscellaneous inconsistencies.

To go more in detail on a few things:
- In comments, separate between class names and notes with "--";
- In comments, replace all "broke" with "-- Breaks"
- Moves `@GlobalScope` constants to its own group in `enum_renames`
- Move `{ "remove", "remove_at" },` underneath the Builtin Types methods.
- Move C#'s `AddNode3dGizmoPlugin` to where it should be, in alphabetical order.
- Give more details to some class renames.
- Comments out `remove` -> `remove_at`
2023-02-13 14:00:30 +01:00
Juan Linietsky 6cd587c8f4 Prevent recursive importing (hack)
Prevents recursion when importing files due to the ill nature of EditorProgress.
The progress dialog will have to be entirely rewritten after 4.0 is out due to it being a constant source of bugs.
In the meantime, this fixes the problem.

Fixes #53871. Supersedes #73159.
2023-02-13 11:54:32 +01:00
Haoyu Qiu 84aee17901 Improvements and fixes based on Weblate comments
* Description of `ui_text_submit` action should be "Submit Text" instead of "Text Submitted".
* Spell out "Animation" instead of using "Anim.".
* Treat "Max" as regular word instead of writing "Max.".
* Use generic "Set %s" for action name instead of a dedicated "Set target_position".
* Add translator comment for:
    * "Inclusive" and "Self" in the profiler.
    * Places where it needs the context about being an editor progress label.
    * "Duplicated Animation Name" since it's refering to the new name of a duplicated animation.
    * Disambiguation of "View Plane Transform", "Paste Selects" and "Display Normal".
* Fix wrong undo action name for renaming an input action.
* Fix missing end quote in a shader error message.
* In class reference:
    * Fix duplicated "if" in the description of `signf()`.
    * Fix mismatched example output in `String.operator %()`.
    * Fix typo in the description of `Decal.texture_emission`.
    * Unify description of `String.match()` and `StringName.match()`.
2023-02-13 15:22:18 +08:00
aXu-AP bdfb10fb98 Rework code editor multiline operations
Fix bugs if 2 selections were on same line.
Fix bugs when selection ended at new line.
Make carets stay in place after operation and on undo.

Affects: delete lines, move lines, toggle comments, bookmarks and breakpoints.
2023-02-12 20:53:49 +02:00
MmAaXx500 aa9d2149e7 Round 2: Fix mesh library remove selected item menu option
Previous pr: #46435
Fixes: #45969
2023-02-12 11:39:55 +01:00
Haoyu Qiu 4e36fc9777 Add more property capitalizations
* glTF
* LODs (plural form of LOD)
* Skeleton modification algorithms: CCDIK and FABRIK
2023-02-12 15:25:39 +08:00
Rémi Verschelde cb2e73d578
Merge pull request #73033 from akien-mga/gdscript-fix-gd4-renames-build
Clean up ProjectConverter3To4 architecture, move renames map to separate file
2023-02-11 22:05:38 +01:00
Rémi Verschelde 9f7744ee0e
Merge pull request #46435 from Hassan-A/MeshLibrary-RemoveItem-Fix
Fix mesh library remove selected item menu option
2023-02-11 22:04:25 +01:00
Rémi Verschelde 5ba53d0b36
Merge pull request #71740 from Jummit/dict-array-missing-types
Support signals and callables in exposed dictionaries
2023-02-11 22:04:02 +01:00
Rémi Verschelde b601f7959b
Merge pull request #73106 from YuriSizov/editor-help-theming-2000
Improve EditorHelp theming and make font size settings work
2023-02-11 22:01:20 +01:00
Haz 189acbee60
Fix mesh library remove selected item menu option
Fixes #45969.
2023-02-11 21:40:50 +01:00
Ruthger Dijt e2a87ec28b fix nullptr dereference in AnimationTimelineEdit 2023-02-11 20:30:11 +01:00
Yuri Sizov dd6ac955c3 Increase default font sizes for EditorHelp 2023-02-11 20:09:57 +01:00
Yuri Sizov 0eb3b49c39 Make EditorHelp respect font size settings 2023-02-11 20:09:57 +01:00
Yuri Sizov bbbcd77217 Make use of a theme cache in EditorHelp and ensure it's updated
- Migrates the existing cache to the standard theme cache struct
- Moves some parts of the codebase to use cache instead of ad-hoc fetching
- Adds hooks to editor settings previously missing from theme regeneration
2023-02-11 20:09:35 +01:00
Rémi Verschelde 44b41ded82
Merge pull request #73098 from YuriSizov/editor-dont-hide-plugins
Avoid cleaning up editor plugins when property list changes
2023-02-11 15:35:56 +01:00
Rémi Verschelde ec55278415
Merge pull request #73092 from TokageItLab/ray-is-what
Remove WARNING "ray: index" for debug from SkeletonEditor
2023-02-11 14:38:42 +01:00
Rémi Verschelde 0e81e2a30f
Merge pull request #73091 from TokageItLab/fix-bezier-edit-button-update
Fix weird bezier edit button update timing in AnimationTrackEditor
2023-02-11 14:38:18 +01:00
Yuri Sizov 18d6c91e8e Avoid cleaning up editor plugins when property list changes
Also removes a usability hack from the Theme editor, as it doesn't work anymore,
and it confuses the Inspector.
2023-02-11 14:38:07 +01:00
Rémi Verschelde 7bcd9a1049
Merge pull request #73082 from aaronfranke/check-canvas-item
Check for CanvasItem instead of Control and Node2D
2023-02-11 14:35:54 +01:00
Silc Renew 46645a34e3 Remove WARNING "ray: index" for debug from SkeletonEditor 2023-02-11 20:53:01 +09:00
Silc Renew 4c5bd4cb0a Fix weird bezier edit button update timing in AnimationTrackEditor 2023-02-11 20:48:18 +09:00
Aaron Franke be916233f9
Check for CanvasItem instead of Control and Node2D 2023-02-11 02:18:10 -06:00
heppocogne 78ea4b2f0c Fix code editor's ColorPicker issue
ColorPicker now supports color constants.
Modify code comments.
2023-02-11 00:14:14 +01:00
SnailRhymer db8d308830
Fix random placement behaviour in new TileMap Editor
Fix a bug where scattering could be set to e.g. 0.9 but a tile would still always be placed, as the check rand > 0.9 would be run on every mouse movement until it was successful.
2023-02-10 19:08:03 +01:00
Rémi Verschelde 766bb88159
Merge pull request #71691 from hcoura/res-importer-gen-physics-mesh-only-when-needed
Fix SceneImportSettings perf issues
2023-02-10 18:46:00 +01:00
Rémi Verschelde 73c53cca81
Merge pull request #71054 from MarioLiebisch/fix-animationplayer-calltrack-strings
Properly stringify args for Call Method Tracks
2023-02-10 18:44:29 +01:00
Rémi Verschelde e52a2e3864
Merge pull request #73042 from akien-mga/create-project-gl_compatibility-mobile
ProjectManager: Also set `gl_compatibility` for mobile override
2023-02-10 18:44:13 +01:00
Yuri Sizov cd015d9ac9
Merge pull request #43111 from junkajii/master
New icons for ParallaxBackground & ParallaxLayer
2023-02-10 19:13:53 +03:00
Rémi Verschelde ab56e79a6a
ProjectManager: Also set `gl_compatibility` for mobile override
It's a bit hacky as the choice mainly impacts the main setting, but there are
pre-existing overrides which supersede it. We should treat this checkbox as
the highest allowed rendering method, and replace the ones which would be
higher end (here replace `mobile` with the chosen `gl_compatibility`).
2023-02-10 15:45:52 +01:00
Rémi Verschelde 493e932c86
i18n: Sync translations with Weblate 2023-02-10 15:32:10 +01:00
Rémi Verschelde fd55321da9
Merge pull request #73001 from SaracenOne/update_on_advanced_reimport
Emit reimport signal in reimport_file_with_custom_parameters method
2023-02-10 15:07:07 +01:00
Rémi Verschelde 44d5d4e3cd
Merge pull request #73007 from KoBeWi/typos_be_like
Fix error spam when deselecting TileMap
2023-02-10 15:06:40 +01:00
Rémi Verschelde bd09fcc3ca
Merge pull request #73034 from groud/fix_tilemap_pattern
Fix TileMap patterns creation
2023-02-10 15:06:35 +01:00
Rémi Verschelde e19e6b09b9
Clean up ProjectConverter3To4 architecture, move renames map to separate file
This allows properly limiting what features depend on the RegEx module
(doing the actual conversion) and what features only require the renames
data (GDScript suggestions).

Also better excludes the conversion command line options when actually
disabling deprecated code.

Fixes #73029.
2023-02-10 14:35:22 +01:00
Gilles Roudière 89ccdc7d34 Fix TileMap patterns creation 2023-02-10 10:46:19 +01:00
Haoyu Qiu 26581ca574 Add some missing translatable editor strings 2023-02-10 16:55:50 +08:00
kobewi f92392ce23 Fix error spam when deselecting TileMap 2023-02-10 01:07:48 +01:00
SaracenOne 27f8da7493 Emit reimport signal in reimport_file_with_custom_parameters
method to fix resources not updating when reimported from the
advanced import menu.
2023-02-09 22:26:52 +00:00
Rémi Verschelde b12bf7ff02
Merge pull request #69550 from Rindbee/fix-script-editor-not-reload-via-lsp
Fix internal editor not updating when using external editor via LSP
2023-02-09 14:01:33 +01:00
Haoyu Qiu a40ccc2d7e Improve some editor strings for localization 2023-02-09 19:32:02 +08:00
bruvzg 504ca3940c
[Bitmap Font] Fix character count check. 2023-02-08 13:51:19 +02:00
Rémi Verschelde 0e97806c1d
Merge pull request #72860 from RedworkDE/editor-export-plugin-bind
Bind `EditorExportPlugin::_get_export_features`
2023-02-08 09:37:40 +01:00
RedworkDE 2e167ca943 Bind `EditorExportPlugin::_get_export_features` 2023-02-07 23:14:20 +01:00
Rémi Verschelde a05670c617
Merge pull request #70623 from timothyqiu/property-i18n
Separate property translation from editor translation, move sources to separate godot-editor-l10n repo
2023-02-07 19:38:29 +01:00
Rémi Verschelde 743e26d4f9
Merge pull request #72829 from Sauermann/fix-code-simplifications
Some code simplifications
2023-02-07 16:30:22 +01:00
Rémi Verschelde 097cf5431b
Keep only production ready translations, move the WIP ones to godot-editor-l10n
- Remove WIP translation templates, moved to godot-editor-l10n which
  will be the source and target for Weblate contributions.
  * https://github.com/godotengine/godot-editor-l10n
- Re-add translations with a high completion ratio, stripped of the
  untranslated and fuzzy strings, and of the location and translator
  comments, to keep the size lower.
  * Threshold editor interface: 20% complete.
  * Threshold properties: 20% complete.
  * Threshold classes: 10% complete.
2023-02-07 15:35:12 +01:00
Markus Sauermann 826e54fa73 Some code simplifications
1. `number_width` isn't used later
2. `return_type` is used only once
3. AudioServer::get_singleton()->get_channel_count() always returns a channel_count of 1 or larger
4. negative `aa->backward` conditional
5. `current_canvas` == `find_world_2d()->get_canvas()`
6. identical if `render_shadows`
2023-02-07 14:30:16 +01:00
Haoyu Qiu 5d7e003b29
Prepare for moving editor and classref translations to godot-editor-l10n repo
- Separate editor interface and property translations.
- Add property translation in TranslationServer.
- The split and merge of the POT/PO/Makefiles and extract scripts is done
  directly in godot-editor-l10n, the files will be removed in the next commit.
- Remove the hardcoded "to_include" lists from the SCsub, we'll only commit the
  files which are ready to inclue.
2023-02-07 14:20:40 +01:00
Rémi Verschelde 1cd66a76fc
Merge pull request #72827 from RandomShaper/fix_slow_step
Pace debugger draw requests
2023-02-07 14:08:15 +01:00
Pedro J. Estébanez 31a4a0002e Pace debugger draw requests 2023-02-07 12:10:28 +01:00
Rémi Verschelde 6a58f4e305
Merge pull request #72812 from salianifo/master
Fix AnimationEditor ignoring region of Sprite2D
2023-02-06 23:36:15 +01:00
Rémi Verschelde f39eb330e9
Merge pull request #72741 from KoBeWi/connect!_but_where
Improve Connect Dialog navigation
2023-02-06 23:35:45 +01:00
kobewi 4b1d577b5c Improve Connect Dialog navigation 2023-02-06 22:56:41 +01:00
Salia Nifo 3154872177 Fix AnimationEditor ignoring region of Sprite2D 2023-02-06 16:56:11 -05:00
Rémi Verschelde 09b2c5fd05
Merge pull request #72552 from m4gr3d/cleanup_custom_build_main
Rename Godot's 'custom build' to 'gradle build' to better reflect the underlying build process
2023-02-06 22:50:22 +01:00
Rémi Verschelde 4fcb8bc472
Merge pull request #72805 from TokageItLab/fix-ap
Fix AnimationTrackEditor doesn't open when selecting AnimationPlayer node while another Editor is open
2023-02-06 22:49:58 +01:00
Yuri Sizov de4369ca4b
Merge pull request #72708 from KoBeWi/PackedMultilineStringArray
Fix @export_multiline for PackedStringArray
2023-02-06 23:01:16 +03:00
Silc Renew 1f9dbbe07b Fix AnimationTrackEditor doesn't open when selecting AnimationPlayer 2023-02-07 03:08:06 +09:00
Rémi Verschelde f5a8c58684
Merge pull request #72628 from lyuma/gltf-reimport-appending
Use reimport_append api for importing embedded gltf images
2023-02-06 17:48:28 +01:00
Rémi Verschelde c22484e10d
Merge pull request #72796 from KoBeWi/toggle_game_over_plugin
More fixes to over plugin handling
2023-02-06 17:47:56 +01:00
Lyuma 5fbcb80170 Use reimport_append api for importing embedded gltf images
Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
2023-02-06 07:11:45 -08:00
Rémi Verschelde 074113b97d
Merge pull request #72455 from reduz/allow-reimport-appending
Support reimport appending
2023-02-06 15:39:51 +01:00
Rémi Verschelde 62f2d122e6
Merge pull request #72663 from akien-mga/project-converter-fix-no-regex-build
Fix no-regex build for ProjectConverter3to4
2023-02-06 15:36:23 +01:00
kobewi 50297a9cef More fixes to over plugin handling 2023-02-06 15:35:33 +01:00
Yuri Sizov 47c3e3b781
Merge pull request #72782 from TokageItLab/fix-rot-sc
Fix rotation key edit is labeled scale in AnimationMultiTrackKeyEdit
2023-02-06 14:39:20 +03:00
Silc Renew 0069131546 Fix ghost SpriteFramesEditor cause crash 2023-02-06 14:08:12 +09:00
Silc Renew 116c975a7b Fix rotation key edit is labeled scale in AnimationMultiTrackKeyEdit 2023-02-06 13:48:33 +09:00
kobewi 2b71ede967 Fix @export_multiline for PackedStringArray 2023-02-04 17:06:58 +01:00
Rémi Verschelde ea5cf7d4b8
Merge pull request #72655 from smix8/navigationmesh_bake_aabb_fix_4.x
Fix NavigationMesh baking AABB Editor handling and visuals
2023-02-04 00:21:33 +01:00
Rémi Verschelde 2c008ac8c5
Merge pull request #72669 from TokageItLab/fix-scale-subgizmo
Fix broken `scaled_orthogonal()` & subgizmo global scaling
2023-02-04 00:21:14 +01:00
Yuri Sizov e14cacb8da
Merge pull request #71862 from RedMser/splitcontainer-fixes
Fix SplitContainer rendering and theming
2023-02-03 23:09:18 +03:00
Silc Renew 1459b9c24c Fix scaled_orthogonal() & subgizmo global scaling 2023-02-04 00:46:04 +09:00
Rémi Verschelde 480e991656
Fix no-regex build for ProjectConverter3to4
Fixes #72649.
2023-02-03 15:26:06 +01:00
Yuri Rubinsky c0a3129210 Prevent preview error for the instance parameter in visual shader 2023-02-03 15:28:04 +03:00
smix8 7caf08ec75 Fix NavigationMesh baking AABB Editor handling and visuals
Fixes handling and visuals for Navigation Mesh baking AABB in the Editor.
2023-02-03 11:54:13 +01:00
Rémi Verschelde 1d61150f8f
Merge pull request #72509 from TokageItLab/seekcon
Consistent with NodeTimeSeek parameters OtherNodes
2023-02-02 16:27:19 +01:00
Fredia Huya-Kouadio ca593f2f89 Rename Godot's 'custom build' to 'gradle build' to better reflect the underlying build process. 2023-02-02 07:17:31 -08:00
Hugo Locurcio 3bff5aec7e
Fix missing LightmapGI gizmo icon in the 3D editor 2023-02-02 14:49:29 +01:00
Rémi Verschelde 315d3c4d21
Merge pull request #72334 from tbxMb/conv-ext-shader
Allow .gdshader files in 3to4 conversion
2023-02-02 10:32:36 +01:00
Rémi Verschelde 7c5e075531
Merge pull request #72576 from Maran23/4-x-rmb-new-menu
Fix rightclick on some files changes the 'New' menu entry to 'Show in File Manager'
2023-02-02 10:32:10 +01:00
tbxMb 2c0446b893
Allow .gdshader files in 3to4 conversion 2023-02-02 10:27:26 +01:00
Rémi Verschelde 2e506516ee
Merge pull request #72559 from Maran23/4-x-improve-layout-dialog
Improve editor layout dialog
2023-02-02 09:50:44 +01:00
Marius Hanl 6b59c57f2a Fix rightclick on some files changes the 'New' menu entry to 'Show in File Manager' due to no fixed index for the 'New' menu 2023-02-02 09:41:06 +01:00
Rémi Verschelde 30f5fc0aa3
Merge pull request #72521 from KoBeWi/simplesize_it
Simplify Connect Dialog layout and sizing
2023-02-02 09:36:03 +01:00
Marius Hanl 4b436d64aa Improve editor layout dialog
- Disable the 'Save' button in the dialog if no layout name is selected and no text is set
- Use a small min height for the layout names list to make the dialog more clear if no layout has been created yet
2023-02-02 01:29:40 +01:00
Jun Kajii 7b7a8a693b
New icons for ParallaxBackground & ParallaxLayer 2023-02-01 14:53:02 -03:00
kobewi 0a726862ea Simplify Connect Dialog layout and sizing 2023-02-01 17:02:48 +01:00
Silc Renew 2a39b5bcde Remove meaningless `rename_parameter` in AnimationTree 2023-02-01 23:14:36 +09:00
Rémi Verschelde 0a9e6e478e
Merge pull request #71800 from akien-mga/ci-codespell-action
CI: Add official codespell action with PR annotations
2023-02-01 13:25:23 +01:00
Rémi Verschelde 155aac11b5
Merge pull request #71482 from Calinou/editor-android-web-hide-show-in-file-manager
Hide non-functional "Show in File Manager" buttons in Android/web editor
2023-02-01 13:20:42 +01:00
Silc Renew 6782edd5a4 Consistent with NodeTimeSeek parameters OtherNodes 2023-02-01 20:58:36 +09:00
Juan Linietsky 91c3066c89 Support reimport appending
* Add API: `EditorFileSystem::reimport_append(path)`, thread safe, what can be used from importers when they generate new files within the import process.
* Added a `remap.gen_param` custom value to .import files, which can be used by importers to store data needed to generate this file again or not.

This API is added to allow the GLTF2 importer to properly extract png files as textures.
2023-02-01 12:27:50 +01:00
Hugo Locurcio 1108594e66
Hide non-functional "Show in File Manager" buttons in Android/web editor
The editor filesystem isn't readily accessible by OS applications
on those platforms.
2023-02-01 12:23:14 +01:00
Rémi Verschelde e52213e2fa
More codespell fixes, do more changes from previous ignore list 2023-02-01 12:11:36 +01:00
Rémi Verschelde c40020513a
Merge pull request #72440 from V-Sekai/gltf_embed_as_uncompressed
gltf: Add GLTFHandleBinary::HANDLE_BINARY_EMBED_AS_UNCOMPRESSED
2023-02-01 12:10:13 +01:00
Lyuma bc24d01359 gltf: Add GLTFHandleBinary::HANDLE_BINARY_EMBED_AS_UNCOMPRESSED
This option allows for a safe fallback for embedded gltf textures in cases where VRAM compression is not needed.
Add an is_editor_hint guard around GLTFHandleBinary::HANDLE_BINARY_EXTRACT_TEXTURES, to use EMBED_AS_UNCOMPRESSED by default at runtime.
This provides an option for pixel art to be stored losslessly.
Additionally, respect project importer defaults for texture import settings.
Avoid writing and reimporting extracted textures identical to version on disk.
2023-02-01 01:42:36 -08:00
Rémi Verschelde 7fb1b11818
Merge pull request #71409 from fire/escn-fixes
Fixes to ESCN mesh import
2023-02-01 07:56:42 +01:00
Rémi Verschelde d9ade633b3
Merge pull request #71936 from akien-mga/remove-some-unused-signals
Remove some unused signals
2023-02-01 07:53:52 +01:00
Rémi Verschelde b395512fdb
Merge pull request #72412 from dsnopek/dedicated-server-export-ui-improvement
Make it clearer that file modes propagate to children in the dedicated server export
2023-02-01 07:53:07 +01:00
Rémi Verschelde a238944a9d
Merge pull request #72472 from krazy-j/krazy-j/master
Fix near one opacity in editor icons
2023-02-01 07:48:10 +01:00
Rémi Verschelde e8240031e7
Merge pull request #71479 from raulsntos/virtual-return-type
Use enum instead of int in virtual methods return type
2023-02-01 07:45:28 +01:00
Rémi Verschelde ab4d8df163
Merge pull request #72485 from BastiaanOlij/add_eye_matrix_access
Expose EYE_OFFSET to gdshader code
2023-02-01 07:33:18 +01:00
Rémi Verschelde e8c405de4d
Merge pull request #72482 from KoBeWi/dubious_stuff
Prevent wrong unedit when clicking editor viewport
2023-02-01 07:32:53 +01:00
Rémi Verschelde 3eb1ac9fd2
Merge pull request #72075 from Maran23/extents-to-size
Replace Extents with Size in VoxelGI, ReflectionProbe, FogVolume, Decal  and GPUParticles*3D
2023-02-01 07:30:09 +01:00
Rémi Verschelde 27fdb06fed
Merge pull request #71322 from EricEzaM/55856-proj-settings-initial-array-dict-shared-instance
Fix Project Settings array/dicts initial value being shared instances of the current value.
2023-02-01 07:29:44 +01:00
Bastiaan Olij 8c77aea9ab Expose EYE_OFFSET to gdshader code 2023-02-01 12:39:13 +11:00
Krazy-J 07781312b1 Fix near one opacity in editor icons
Remove occurrences of fill-opacity and stroke-opacity with values near
or equal to 1 (all values were greater than 0.988).
2023-01-31 18:21:46 -06:00
kobewi 360c71c3f6 Prevent wrong unedit when clicking editor viewport 2023-02-01 00:50:34 +01:00
Raul Santos c7f4ca36a4
Use `PropertyUsageFlags` enum in parse_property 2023-01-31 23:31:15 +01:00
Marius Hanl a59819630d Replace Extents with Size in VoxelGI, ReflectionProbe, FogVolume, Decal and GPUParticles*3D
- Extents are replaced by Size (Size is Extents * 2)
- The UI text displays 'Size'
- Snapping is adjusted to work with Size
- _set and _get handle extents for compatibility

Co-authored-by: ator-dev <dominic.codedeveloper@gmail.com>
2023-01-31 20:04:11 +01:00
Raul Santos 9e9eac4676
Use enum instead of int in virtual methods return type 2023-01-31 19:06:49 +01:00
Rémi Verschelde b342dcdf04
Remove some unused signals
Part of #37604.
2023-01-31 18:54:04 +01:00
souplamp 5300daaff2
Audio rename (device, capture_device) -> (output_device, input_device)
Change instances of audio properties 'device' to 'output_device',
and instances of audio properties 'capture_device' to 'input_device',
as well as their subsequent getter & setter functions.

Update the docs to reflect these changes, as well as the
3-to-4 converter for GDScript and CSharp to make proper
conversions (only exception is 'device' since that name
is too vague and might replace non-AudioServer related
instances, such as user comments and variables).

This does not change internal references to references like
'Render Client' and 'Capture Client' in WASAPI; such is outside the
scope of this commit. This also does not change ALSA's references,
considering that it uses 'device' to mean input and output
interchangeably.

Other references are changed, however where applicable,
to be consistent with the new AudioServer methods and property
names.
2023-01-31 18:25:11 +01:00
Rémi Verschelde 8612c12be6
Merge pull request #72452 from akien-mga/global_class_always_create
Always create global class list, even if empty
2023-01-31 16:00:12 +01:00
Rémi Verschelde 92a6586fb6
Merge pull request #72396 from TokageItLab/bs1dconsist
Consistent with NodeBlendSpace1D option NodeBlendSpace2D
2023-01-31 15:55:53 +01:00
Rémi Verschelde 361f3f1721
Merge pull request #57520 from jordigcs/gd-rename-map
Add hint for identifiers renamed from 3.x to 4.0
2023-01-31 15:55:25 +01:00
Rémi Verschelde 38a806e13f
Always create global class list, even if empty
Fixes #72451.
2023-01-31 15:28:53 +01:00
Rémi Verschelde e1648b3327
Merge pull request #72445 from reduz/restore-script-class-cache-if-removed
Restore script class cache if removed
2023-01-31 13:20:04 +01:00
Rémi Verschelde 78e7087d81
Merge pull request #72245 from JonqsGames/apply_root_scale_to_shape
Apply root scale to 3d shapes on import
2023-01-31 13:19:02 +01:00
Rémi Verschelde 5f90989c26
Merge pull request #72447 from TokageItLab/fix-sprite-frames-edit-switching
Fix SpriteFramesEditor is spamming to switch bottom panel
2023-01-31 13:18:13 +01:00
Rémi Verschelde 6c859889eb
Merge pull request #72420 from TokageItLab/fix-animation-editor-plugin
Fix broken bottom panel switching
2023-01-31 13:18:06 +01:00
Silc Renew 23f566ee1f Fix switching method in SpriteFramesEditor 2023-01-31 19:56:02 +09:00
Silc Renew fc22583b34 Fix broken bottom panel switching 2023-01-31 19:34:26 +09:00
Juan Linietsky 79897dd5bc Restore script class cache if removed
I have no idea why anyone would do this, but this fixes it.

Fixes #72154. Depends on #72444 being merged to function properly.
2023-01-31 11:28:21 +01:00
Rémi Verschelde 99a44f8469
Merge pull request #69248 from vonagam/fixing-typed-arrays
GDScript: Fix typed arrays
2023-01-31 11:04:21 +01:00
Dmitrii Maganov 5909f9f075 GDScript: Fix issues with typed arrays 2023-01-31 11:54:41 +02:00
Rémi Verschelde 99810d7a26
Merge pull request #72439 from bruvzg/ed_pr_hide
[Editor] Fix editor progress dialog auto closing on focus loss.
2023-01-31 10:54:08 +01:00
Rémi Verschelde ae2d2ce407
Merge pull request #71499 from dalexeev/improve-sprite-frame-editor
Few improvements for SpriteFrames Editor
2023-01-31 10:53:22 +01:00
Rémi Verschelde c8446754dd
Merge pull request #72357 from aaronfranke/area-gravity-unit-dist
Replace Area gravity point distance scale with unit distance
2023-01-31 10:53:16 +01:00
Rémi Verschelde 628967e6ba
Merge pull request #72343 from clayjohn/editor-canvas-bg
Remove viewport_set_disable_environment in favor of viewport_set_environment_mode
2023-01-31 10:53:05 +01:00
bruvzg b3d574e22d
[Editor] Fix editor progress dialog auto closing on focus loss. 2023-01-31 09:56:46 +02:00
David Snopek 0e2af4b73d Make it clearer that file modes propagate to children in the dedicated server export 2023-01-30 15:10:44 -06:00
clayjohn 9071809021 Remove viewport_set_disable_environment in favor of viewport_set_environment_mode
This allows us to set a default value inherited by child viewports and have child viewports set the value themselves which is needed for disabling the environment in the editor
2023-01-30 12:25:49 -08:00
Rémi Verschelde e9de988020
Merge pull request #72031 from reduz/change-high-quality-texture-import
Refactor high quality texture import
2023-01-30 20:41:01 +01:00
David Snopek 0461cc5ba2 Only customize resources during export if there are any export plugins in use 2023-01-30 12:57:50 -06:00
Danil Alexeev ca7209aaef
Few improvements for SpriteFrames Editor 2023-01-30 21:14:10 +03:00
Silc Renew a0c4f849e0 Consistent with NodeBlendSpace1D option NodeBlendSpace2D
Co-authored-by: Skrapion <rick@firefang.com>
2023-01-31 02:14:55 +09:00
Juan Linietsky 28f51ba547 Refactor high quality texture import
* Only two texture import modes for low/high quality now:
  * S3TC/BPTC
  * ETC2/ASTC
* Makes sense given this is the general preferred and most compatible combination in most platforms.
* Removed lossy_quality from VRAM texture compression options. It was unused everywhere.
* Added a new "high_quality" option to texture import. When enabled, it uses BPTC/ASTC (BC7/ASTC4x4) instead of S3TC/ETC2 (DXT1-5/ETC2,ETCA).
* Changed MacOS export settings so required texture formats depend on the architecture selected.

This solves the following problems:

* Makes it simpler to import textures as high quality, without having to worry about the specific format used.
* As the editor can now run on platforms such as web, Mac OS with Apple Silicion and Android, it should no longer be assumed that S3TC/BPTC is available by default for it.
2023-01-30 15:53:23 +01:00
Rémi Verschelde 17a8597355
Merge pull request #72312 from KoBeWi/signature_move
Improve Connection Dialog method list
2023-01-30 15:19:02 +01:00
Rémi Verschelde 62c6f6a5c6
Merge pull request #72340 from Vilcrow/cleanup-editor-property-revert
Removes declarations of removed methods of the EditorPropertyRevert class
2023-01-30 14:53:21 +01:00
Rémi Verschelde eebe1f34dd
Merge pull request #72317 from KoBeWi/run_over_here
Add overrun to EditorPropertyObjectID
2023-01-30 14:47:05 +01:00
Rémi Verschelde 312011fade
Fix various typos with codespell
And include #72377.

Co-authored-by: Wiktor Kocielski <withaust@gmail.com>
2023-01-30 14:22:47 +01:00
Rémi Verschelde 833c0d24db
Merge pull request #72342 from TokageItLab/immutabletrack
Add remove immutable tracks option to glTF importer
2023-01-30 10:34:53 +01:00
Rémi Verschelde adb4ecf7a5
Merge pull request #72362 from TokageItLab/fix-scale-gizmo
Fix scale tool with view plane is weird in 3D
2023-01-30 10:32:06 +01:00
Rémi Verschelde 62b0bfd343
Merge pull request #71657 from m4gr3d/increase_scroll_bar_size_for_touchscreen_main
Update the size of the scrollbar for the editor on touchscreen devices
2023-01-30 10:03:40 +01:00
Silc Renew 9bd63acbd8 Fix scale tool with view plane is weird in 3D 2023-01-30 17:14:34 +09:00
Aaron Franke 79215131b5
Replace Area gravity point distance scale with unit distance 2023-01-29 22:12:00 -06:00
Silc Renew 8b3be51d17 Add remove immutable tracks option to glTF importer
Co-authored-by: Lyuma <xn.lyuma@gmail.com>
2023-01-30 08:57:27 +09:00
Silc Renew df50929043 Tweak the name for duplicated animations in the editor 2023-01-30 07:53:42 +09:00
S.V.I. Vilcrow 3f17e606b2 Removed declarations of removed methods of the EditorPropertyRevert class.
The implementation of these methods was removed in 1806ec7c14.
2023-01-30 00:24:41 +03:00
kobewi 7669eea855 Tweak overrun behavior of EditorPropertyObjectID 2023-01-29 22:07:44 +01:00
kobewi 46261dbe06 Improve Connection Dialog method list 2023-01-29 15:28:07 +01:00
Rémi Verschelde d866d6cd1b
Merge pull request #72261 from Paulb23/preserve-carets-search
Fixed removing secondary carets when editing with search open
2023-01-29 02:25:11 +01:00
kobewi 3f17bfad8d Fix editors potentially being used twice 2023-01-28 21:44:20 +01:00
Paulb23 8cb05a5e53 Fixed removing secondary carets when editing with search open 2023-01-28 16:08:10 +00:00
Paulb23 a197d6ef4e Support editing JSON in ScriptEditor 2023-01-28 16:06:13 +00:00
Rémi Verschelde e5752fdfd3
Merge pull request #72233 from TokageItLab/audio-blending
Implement blending audio feature to AnimationTree
2023-01-28 15:58:24 +01:00
Rémi Verschelde 6a252c19cc
Merge pull request #72238 from timothyqiu/window-size-3to4
Add window size settings in 3to4 conversion
2023-01-28 15:58:00 +01:00
Paul Joannon 0fb1cef42f
Restore missing info in the error tooltips 2023-01-28 12:34:12 +01:00
JoJoX ecba2e2d4e Apply root scale to shape on import 2023-01-28 12:32:03 +01:00
Silc Renew 75330887d7 Implement blending audio feature to AnimationTree 2023-01-28 20:08:29 +09:00
Haoyu Qiu ec10da604f Add window size settings in 3to4 conversion 2023-01-28 17:54:55 +08:00
Fredia Huya-Kouadio 63c88df3f7 Add a theme usability setting which updates the touch area of UI elements (e.g: scrollbar) for the editor on touchscreen devices 2023-01-28 00:21:05 -08:00
Yuri Rubinsky 2afa175195
Merge pull request #72174 from bitsawer/shader_include_fixes
Close undefined
Fix undefined
2023-01-28 09:54:41 +03:00
Rémi Verschelde 0b1c4006a2
Merge pull request #71965 from Calinou/input-editor-fix-typos
Fix typos in input action editor key type names
2023-01-27 19:26:20 +01:00
Hugo Locurcio 6f6914b29d
Fix typos in input action editor key type names
This also makes those strings localizable.
2023-01-27 16:09:00 +01:00
Rémi Verschelde 77af1a5589
Merge pull request #72171 from KoBeWi/editor_censorship
Fix filtering editor nodes in Create Dialog
2023-01-27 15:41:10 +01:00
Rémi Verschelde 525db733c8
Merge pull request #72129 from groud/unclamp_texture_origin
Rename texture_offset and unclamp it
2023-01-27 15:40:52 +01:00
bitsawer 0acaccebaf Fix several shader preprocessor include issues 2023-01-27 14:37:55 +02:00
kobewi 970f5533dd Fix filtering editor nodes in Create Dialog 2023-01-27 12:26:26 +01:00
Rémi Verschelde 9d555f5c68
Merge pull request #62499 from fire/gltf-binary-img-compression
Handle gltf binary images
2023-01-27 11:35:55 +01:00
Gilles Roudière d7f3bd50bd Rename texture_offset and unclamp it 2023-01-27 11:04:45 +01:00
K. S. Ernest (iFire) Lee 39922d7167 Handle gltf binary
[ Ignore and Warn | Extract Textures (default) | Optimize Loading Embedded as Basisu ]

Enable compressed mip maps from Basis Universal for faster compressions.

Increase the quality of Basis to avoid corruption.

To keep compatibility use the first mip of the previous internal Godot format.

Because texture names may have invalid filename characters, adds String::validate_filename to sanitize filenames for import pipeline use.
2023-01-27 02:02:02 -08:00
Rémi Verschelde bd1df0f2e3
Merge pull request #71943 from paulloz/debugger/better-errors-printing
Better error display in debugger panel
2023-01-27 10:32:38 +01:00
Rémi Verschelde 91c0ed5e33
Merge pull request #71907 from TokageItLab/change-animated-sprite-api
Make `AnimatedSprite`'s playback API consistent with `AnimationPlayer`
2023-01-27 10:32:23 +01:00
Paul Joannon c93eec4139
Better error display in debugger panel
- Use the right stack frame info as title of the error.
- Use the actual C# exception type as error for exceptions raised from C#.
- Show the right language instead of always **C++ Error**.
2023-01-27 10:01:55 +01:00
bruvzg 4f1c2fce3a
[SSH deploy] Run ssh/scp in non interactive mode, and suppress banner display. 2023-01-27 10:24:15 +02:00
Rémi Verschelde 48f53abdce
Merge pull request #71874 from KoBeWi/relesetc
Reselect signal after tree update
2023-01-27 00:20:49 +01:00
Rémi Verschelde 3b086aa062
Merge pull request #72086 from KoBeWi/set_rekt
Don't change region_rect when setting texture
2023-01-26 23:52:19 +01:00
Rémi Verschelde cf8fc5c9a4
Merge pull request #71883 from MinusKube/script-editor-members-real-bug
Remove coupling between ConnectDialog and selected signal
2023-01-26 23:51:56 +01:00
MinusKube cf46404082 Fix signal disconnect undo not working 2023-01-26 23:04:59 +01:00
MinusKube cc7351cd10 Remove coupling between ConnectDialog and selected signal 2023-01-26 23:04:54 +01:00
kobewi b5fda06f20 Don't change region_rect when setting texture 2023-01-26 23:02:26 +01:00
Rémi Verschelde 5d18a0e829
Merge pull request #72124 from YuriSizov/gui-stylebox-texture-is-just-stylebox
Remove size restrictions from `StyleBoxTexture`
2023-01-26 22:59:41 +01:00
Rémi Verschelde 91ad92657e
Merge pull request #69689 from smix8/navagent_rename_location_4.x
Rename Navigation uses of 'location' to 'position'
2023-01-26 22:57:03 +01:00
Rémi Verschelde 619604093f
Merge pull request #71725 from bruvzg/mac_mpass_title
[macOS] Move extended title bar input to _gui_input and add mouse filters to prevent editor buttons from passing double-click to title.
2023-01-26 22:49:38 +01:00
smix8 bf1571979c Rename Navigation uses of 'location' to 'position'
Contrary to the entire rest of the engine NavigationAgent's and NavigationLinks decided to deal with locations instead of positions.
2023-01-26 18:19:03 +01:00
Yuri Sizov 9b7124b49c Remove size restrictions from StyleBoxTexture 2023-01-26 17:11:37 +01:00
Rémi Verschelde 2151f23d85
Merge pull request #72113 from KoBeWi/file_a_bug_report
Add file hint to external program paths
2023-01-26 16:00:30 +01:00
kobewi 65d729e22e Add file hint to external program paths 2023-01-26 13:43:04 +01:00
Fredia Huya-Kouadio ec4d720850 Fix the issue causing the Godot Android Editor to crash when returning from the launched and running game
The issue was caused because the running game pid was not set, and thus had a value of `0`. When trying to stop the running game, the `EditorRun::stop()` logic would kill the process with pid 0, which on Android corresponds to the running app's own process, thus causing the editor to crash.
This issue did not happen on Godot 3 because pid with value of `0` are not considered valid.
2023-01-26 02:59:39 -08:00
Silc Renew 17bf6238fc Make AnimatedSprite's playback API consistent with AnimationPlayer 2023-01-26 12:40:19 +09:00
Rémi Verschelde f902bff9a5
Merge pull request #72085 from KoBeWi/picky_picker
Connection dialog tweaks
2023-01-26 01:11:49 +01:00
Rémi Verschelde 9b66b07c31
Merge pull request #72060 from MewPurPur/zoom-widget-click-areas-fix
Usability improvements to the Zoom Widget
2023-01-26 01:10:37 +01:00
Rémi Verschelde 04591379d0
Merge pull request #72043 from SaracenOne/animation_tree_crashfix
Fix crash when switching to a different node from AnimationTree
2023-01-26 01:08:35 +01:00
Rémi Verschelde aeac5a80af
Merge pull request #72050 from groud/flow_tilemap_toolbar
Make TileMap toolbar a FlowContainer
2023-01-26 01:07:48 +01:00
kobewi 24134710dd Connection dialog tweaks 2023-01-26 00:35:59 +01:00
VolTer a5479d3030 Usability improvements to the Zoom Widget 2023-01-25 20:21:51 +01:00
Danil Alexeev b004f8180e
GDScript: Allow constant expressions in annotations 2023-01-25 18:43:56 +03:00
Gilles Roudière 156c4cbcb8 Make TileMap toolbar a FlowContainer 2023-01-25 16:27:28 +01:00
SaracenOne f424a748ff Fix crash when switching to a different node from AnimationTree 2023-01-25 14:36:19 +00:00
Rémi Verschelde 6369196b96
Merge pull request #71284 from SaracenOne/state_machine_editor_extra_info
Transition progress display in Animation State Machine Editor
2023-01-25 12:18:31 +01:00
Rémi Verschelde cb6dea8513
Merge pull request #65419 from SaracenOne/tileset_read_only
Add read-only mode to tileset editor
2023-01-25 12:18:08 +01:00
Rémi Verschelde 5f335a7879
Merge pull request #72020 from vmedea/tile-editor-thread-fix
Fix: use the right tile_set in TilesEditorPlugin::_thread
2023-01-25 11:59:39 +01:00
Rémi Verschelde fc400d1562
Merge pull request #71685 from groud/gesture_into_viewpanner
Add gesture to ViewPanner and simplify a bit its API
2023-01-25 11:59:11 +01:00
SaracenOne 02a82c9531 Add indicator for state machine transition fade progress and position of state transitioning from. 2023-01-25 10:17:55 +00:00
SaracenOne f5d1cf57bd Add read-only mode to tileset editor. 2023-01-25 09:50:54 +00:00
mara 655b32187f Fix: use the right tile_set in TilesEditorPlugin::_thread
Instead of using the class member, use the item's tile set, as is
the intent.

This fixes an almost immediate crash in the editor for me.
2023-01-25 10:00:25 +01:00
Rémi Verschelde 5743c17001
Merge pull request #71904 from Chaosus/vs_custom_nodes
Add handling of script creation/deletion for custom visual shader nodes
2023-01-25 09:20:26 +01:00
Rémi Verschelde 1f98ed6016
Merge pull request #72011 from SaracenOne/inherited_scene_fix
Fix path for unsaved inherited scenes
2023-01-25 09:20:01 +01:00
Rémi Verschelde 5b77a0deba
Merge pull request #66313 from KoBeWi/connecting_methodically
Add method picker to signal connect dialog
2023-01-25 09:17:27 +01:00
Rémi Verschelde fd66a86d72
Merge pull request #71330 from Geometror/richtextlabel-fit-content
[RichTextLabel] Match minimum size calculation of Label (proper content fitting)
2023-01-25 09:16:38 +01:00
SaracenOne fc74cbe835 Fix path for unsaved inherited scenes. 2023-01-25 03:06:59 +00:00
Aaron Franke 0e7785333f
Improve clarity of Tree's activated/double-clicked signals
Co-authored-by: Yuri Sizov <yuris@humnom.net>
2023-01-24 15:55:09 -06:00
Yuri Sizov fab9926a95
Merge pull request #65137 from dalexeev/editor-naming
Rearrange `editor/naming/*` project settings
2023-01-24 22:26:03 +03:00
kobewi 1d062e8538 Add method picker to signal connect dialog
Co-authored-by: Sam Pengilly <sam.pengilly@gmail.com>
2023-01-24 20:11:48 +01:00