Commit graph

752 commits

Author SHA1 Message Date
lawnjelly eb6f98ec55 Portal occlusion culling
Adds support for occlusion culling via rooms and portals.
2021-07-14 11:43:23 +01:00
Haoyu Qiu 6179f76547
Merge similar editor strings
(cherry picked from commit 4383f8a790)
2021-07-13 10:20:03 +02:00
Eric M c696847f3d
Added 'Select Current' option when user is prompted to select main scene after clicking play
(cherry picked from commit 2296b57739)
2021-07-13 09:46:31 +02:00
Pedro J. Estébanez cd96e30fee
Remove side effects of scene save
(cherry picked from commit 598fd51277)
2021-06-29 13:13:06 +02:00
Lightning_A 898d404f66
Add "Suggest a Feature" to the help dialog.
Links to Godot Proposals's readme.

(cherry picked from commit 70fb239a25)
2021-06-29 13:11:47 +02:00
Marcel Admiraal 7e03bd1671 Remove duplicate WARN_PRINTS macro 2021-06-18 12:57:59 +01:00
Hugo Locurcio 415c1ccaaa
Add a "save on focus loss" editor setting (disabled by default)
This performs a Ctrl + S action every time the editor window loses focus,
saving both scenes and scripts as needed.

(cherry picked from commit f10c30a9ed)
2021-06-17 12:51:21 +02:00
Andrii Doroshenko (Xrayez) 6aed7e349f
Separate version hash from version number in editor and project manager
When copy-pasting the version from About dialog to bug reports at GitHub,
this makes the version hash linkable to commits at GitHub.

(cherry picked from commit 293550f56a)
2021-06-17 12:47:53 +02:00
Lightning_A 4f87bd2bc4
Add the ability to reload the current project
(cherry picked from commit a6984f8d28)
2021-06-17 12:47:53 +02:00
daniel-mcclintock a34d5c31b7
Fix out of sync separate distraction-free mode
(cherry picked from commit 45fc6c4706)
2021-06-17 12:47:52 +02:00
Hugo Locurcio dd2fc60abc
Handle portrait mode monitors in the automatic editor scale detection
Using the smallest dimension of the width and height makes it possible
to support both landscape and portrait monitors.

(cherry picked from commit 728fa3ff71)

EditorSettings: Factor code to compute auto display scale

Also fixes typo introduced in https://github.com/godotengine/godot/pull/48597/files#r652636544.

(cherry picked from commit f862f9a056)
2021-06-17 12:47:52 +02:00
Marcel Admiraal 5a58516231 Remove duplicate ERR_PRINTS macro 2021-06-16 11:56:25 +01:00
Yuri Sizov 343ba504d3 Add EditorResourcePicker control based on the Inspector editor for Resources
Backported from #47260
2021-06-11 13:32:15 +03:00
K. S. Ernest (iFire) Lee 6ec9468e75 Backport gltf2 module from master. 2021-05-31 13:18:06 -07:00
Rémi Verschelde 72647cc55c
i18n: Sync translations with Weblate
(cherry picked from commit bcedd09742)
2021-05-18 12:09:38 +02:00
kleonc 0a91c8e972
Fix crash after disabling plugin using set_force_draw_over_forwarding_enabled()
(cherry picked from commit 5a8314016a)
2021-05-17 13:09:14 +02:00
Hugo Locurcio 2eea00b036
Add "Support Godot Development" option to the editor's Help menu
(cherry picked from commit 3eae2f9c6d)
2021-05-17 13:06:11 +02:00
Yuri Sizov fc67ff3d0a
Keep custom editor theme when changing editor settings
(cherry picked from commit 56aedcee17)
2021-05-14 10:34:48 +02:00
Daniel Lungaro ede0d47ccd
Remove plugin from enabled if there's an error
inform user in warning message

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>

Refactor remove plugin from enabled

(cherry picked from commit 2bae31a4df)
2021-05-14 10:34:05 +02:00
Hugo Locurcio c318cf6ed2
Save the current script when pressing Ctrl + S if no scene is open
- Tweak the dialog messages to be more informative.
  - The "Saved N modified resources" dialog is not a warning per se,
    so make it more explicit.

(cherry picked from commit 39f9b92f54)
2021-05-09 17:47:38 +02:00
Hugo Locurcio 8b06085249
Implement the %command% placeholder in the Main Run Args setting
This can be used to tell Godot to run an executable that will run Godot
rather than running Godot directly. This is useful to make Godot start
on the dedicated GPU when using a NVIDIA Optimus setup on Linux:
`prime-run %command%`

The `editor/run/main_run_args` setting declaration was moved to make it
visible in the ProjectSettings documentation.

(cherry picked from commit ce4aa07276)
2021-05-09 17:47:38 +02:00
Pedro J. Estébanez 4da9a501f6 Add animation reset track feature
As a bonus, to have consistency between use Beziers and create insert tracks, use Beziers also gets a default via editor settings that is used when the confirmation dialog is disabled, instead of just falling back to creating non-Bezier tracks.
2021-05-09 09:40:16 +02:00
CaptainProton42 76f3f6949e
Fix 3D scene preview generation.
File system dock previews will now be generated for 3D scenes when no
editor feature profile is set.

(cherry picked from commit 16304aaa3b)
2021-05-05 15:28:12 +02:00
Rémi Verschelde 140350d767
Style: Enforce braces around if blocks and loops
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2021-05-05 15:02:01 +02:00
Rémi Verschelde 0bf06c25a3
Merge pull request #48450 from Calinou/version-click-to-copy-3.x
Make it possible to copy the Godot version identifier by clicking it (3.x)
2021-05-04 17:55:43 +02:00
Rémi Verschelde b4af1eba0a
Style: Enforce use of bool literals instead of integers
Using clang-tidy's `modernize-use-bool-literals`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-bool-literals.html
2021-05-04 16:39:13 +02:00
Hugo Locurcio 1ceb603de8
Make it possible to copy the Godot version identifier by clicking it
This closes #24317.
2021-05-04 16:38:17 +02:00
Rémi Verschelde a828398655
Style: Replaces uses of 0/NULL by nullptr (C++11)
Using clang-tidy's `modernize-use-nullptr`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-nullptr.html
2021-05-04 16:30:23 +02:00
Rémi Verschelde b5e1e05ef2
Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
Rémi Verschelde 3d15f04668
Style: clang-format: Disable AllowShortIfStatementsOnASingleLine 2021-05-04 14:45:15 +02:00
Rémi Verschelde 6e600cb3f0
Style: Set clang-format Standard to c++14 2021-05-04 14:45:15 +02:00
Rémi Verschelde 48cc756f88
Merge pull request #37067 from zaksnet/multiple-editor-instances
Automatic remote debugger port assignment.
2021-05-01 12:57:35 +02:00
Zak c3cfb87548 Allow multiple editor instances to use different ports
Previously if more than one Godot editor was running then the debugger of one editor would not work because both editors were trying to connect on the same port.
This commit attempts to fix this by allowing the debugger to change the port at runtime in such cases.
2021-05-01 11:32:10 +02:00
lupoDharkael a5842a8362
Save resource: implement extension priority
give .res less priority and .tres more priority as preferred
extensions.

(cherry picked from commit f2e906496b)
2021-04-29 11:27:56 +02:00
kobewi 645842e0e8
Save project after opening
(cherry picked from commit 76240515d8)
2021-04-26 13:15:28 +02:00
Hugo Locurcio a989e08839
Improve error messages for missing export presets when using --export
- Display a specific error message if the project doesn't have an
  `export_presets.cfg` file.
- Display a list of detected export presets if an invalid export
  preset name is supplied.

(cherry picked from commit 09f38ea215)
2021-04-26 12:20:28 +02:00
Rémi Verschelde 60c36af6dc
Remove now unnecessary ResourceImporterCSV importer
Its only purpose was to prevent importing CSV files as translations, but it
would still import them as *nothing*, leading to workflow issues.

This is now properly fixed with #47268 which allows disabling the import for
specific files.

(cherry picked from commit 7ed2220928)
2021-03-24 10:29:16 +01:00
Rémi Verschelde 48708b8e3d
Merge pull request #46999 from bruvzg/mac_new_wnd
[macOS] Fix "New Window" opening copy of current project instead of Project Manager.
2021-03-14 18:21:27 +01:00
bruvzg 7273e0b51b
[macOS] Fix "New Window" opening copy of current project instead of Project Manager. 2021-03-14 17:56:02 +02:00
jmb462 4b2b45f72b
Fix crash on closing empty modified scene
(cherry picked from commit 49d5ec073f)
2021-03-14 12:03:17 +01:00
kobewi 56c0b39521 Don't check modified time if file doesn't exist
(cherry picked from commit af069109be)
2021-03-02 10:26:14 +01:00
Shatur95 eb98ddf2c7 Add additional plugin path checks (3.2)
Need for compatibility after #45316.
2021-02-24 21:13:13 +02:00
Shatur95 0a874101fd Handle old relative plugin paths 2021-02-22 22:23:22 +02:00
Danil Alexeev baf4720fd3 Fix "editor/editor_help" shortcut (again)
(cherry picked from commit c6435e1d47)
2021-02-22 10:42:26 +01:00
Hein-Pieter van Braam 220f24c191
Merge pull request #45618 from RandomShaper/modernize_mt_3.2
Backport of all the multi-threading modernization (3.2)
2021-02-18 20:47:24 +01:00
Rémi Verschelde 341c3cb04a
Merge pull request #45316 from Shatur95/detect-plugins-recursively-3.2
Detect plugins recursively (3.2)
2021-02-18 20:36:33 +01:00
hoontee f28c089d64 Improved Inspector Sub-Resource Editing 2021-02-18 05:43:19 -06:00
Pedro J. Estébanez 4485b43a57 Modernize atomics
- Based on C++11's `atomic`
- Reworked `SafeRefCount` (based on the rewrite by @hpvb)
- Replaced free atomic functions by the new `SafeNumeric<T>`
- Replaced wrong cases of `volatile` by the new `SafeFlag`
- Platform-specific implementations no longer needed

Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2021-02-18 12:23:25 +01:00
Pedro J. Estébanez 6d89f675b1 Modernize Thread
- Based on C++11's `thread` and `thread_local`
- No more need to allocate-deallocate or check for null
- No pointer anymore, just a member variable
- Platform-specific implementations no longer needed (except for the few cases of non-portable functions)
- Simpler for `NO_THREADS`
- Thread ids are now the same across platforms (main is 1; others follow)
2021-02-18 11:58:08 +01:00
Pedro J. Estébanez 4ddcdc031b Modernize Mutex
- Based on C++11's `mutex`
- No more need to allocate-deallocate or check for null
- No pointer anymore, just a member variable
- Platform-specific implementations no longer needed
- Simpler for `NO_THREADS`
- `BinaryMutex` added for special cases as the non-recursive version
- `MutexLock` now takes a reference. At this point the cases of null `Mutex`es are rare. If you ever need that, just don't use `MutexLock`.
- `ScopedMutexLock` is dropped and replaced by `MutexLock`, because they were pretty much the same.
2021-02-18 11:58:08 +01:00