When editor continuous redraws is switched off, the editor only redraws when a redraw_request was issued by an element in the scene. This works well in most situations, but when scenes have dynamic content they will continuously issue redraw_requests.
This can be fine on high power desktops but can be an annoyance on lower power machines.
This PR splits redraw requests into high and low priority requests, defaulting to high priority. Requests due to e.g. shaders using TIME are assigned low priority.
An extra editor setting is used to record the user preference and an extra option is added to the editor spinner menu, to allow the user to select between 3 modes:
* Continuous
* Update all changes
* Update vital changes
This allows configuring orbit sensitivity and freelook sensitivity
independently from each other. Often, it's needed to use a lower
freelook sensitivity compared to the orbit sensitivity.
Also, when using a FOV scale lower than the default
(using Alt + mouse wheel), the mouse sensitivity is now scaled
to make it easier to use freelook to look at distant objects.
This does not affect orbiting and panning.
Always build with the GUI subsystem.
Redirect stdout and stderr output to the parent process console.
Use CreateProcessW for blocking `execute` calls with piped stdout and stderr (prevent console windows for popping up when used with the GUI subsystem build, and have more consistent behavior with non-blocking calls).
Add `open_console` argument to the `execute` to open a new console window (for both blocking and non-blocking calls).
Remove `interface/editor/hide_console_window` editor setting.
Remove `Toggle System Console` menu option.
Remove `set_console_visible` and `is_console_visible` functions.
* Adds `indent(prefix)` to `String`
* Moves the loading of tool/doc translation into
`editor/editor_translation.{h,cpp}`
* Makes use of doc translation when generating XML class references, and
setup the translation locale based on `-l LOCALE` CLI parameter.
The XML class reference won't be translated if `-l LOCALE` parameter is
not given, or when it's `-l en`.
- Parse `.po` files from `doc/translations/*.po` like already done
with `editor/translations/*.po`.
- Add logic to register a doc translation mapping in `TranslationServer`
and `EditorSettings`.
- Add `DTR()` to lookup the doc translation mapping (similar to `TTR()`).
Strings are automatically dedented and stripped of whitespace to ensure
that they would match the translation catalog.
- Use `DTR()` to translate relevant strings in `EditorHelp`,
`EditorInspector`, `CreateDialog`, `ConnectionsDialog`.
- Small simplification to `TranslationLoaderPO`, the path argument was
not really meaningful.
(cherry picked from commit 4857648a16)
This can be used to free some CPU cores when baking lightmaps.
When using fewer CPU cores, lightmap baking is slower but background
tasks aren't slowed down as much.
This feature is enabled by default, but it can be disabled in the editor
settings in case it interferes with other uses of the extra buttons
(such as push-to-talk in a VoIP program).
The default orbit sensitivity was decreased to account for this change.
Rotational inertia (orbit + freelook) was disabled by default due to
known issues.
This also removes the need for separate manipulation inertia settings,
as the default settings are more responsive.
This is already supported by FreeType, but it wasn't exposed.
Adding support for WOFF2 would require linking a Brotli decompression
library in Godot, so only WOFF1 is exposed here.
This provides better power savings compared to the previous value.
This also speeds up project execution slightly while the editor
is running in the background.
The setting hint can now go as low as 1 FPS (1 million microseconds
per frame), for those who really need the best possible power savings.
This will make previewing animated shaders or particles impossible
when the editor window isn't focused though.
(cherry picked from commit 6f6a09cce2)
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)
The default value is 80. The hard line length guideline's default column
has been moved to 100 to account for the new soft line length guideline.
It can be disabled by setting its value to the same column as the
hard line length guideline.
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.
When using a negative contrast value, the base color will be lightened
to create the derivative colors instead of being darkened.
This can lead to better-looking themes, especially for light themes.
With smaller arrays/dictionaries, this makes it possible to view all of
an array/dictionary's items on a single page.
Larger values could be used, but make switching between node selections
quite slow, especially on low-end CPUs. They could also be problematic
with complex resource inspectors for arrays/dictionaries that contain
Resources.
This closes https://github.com/godotengine/godot-proposals/issues/2058.
(cherry picked from commit d97d65b184)
This affects the editor scale and font hinting settings which will now
display their automatically chosen value in parentheses.
(cherry picked from commit 57654508c9)
Happy new year to the wonderful Godot community!
2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.
We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)
Here's to a great year 2021 for all Godot users 🎆
(cherry picked from commit b5334d14f7)
The code we had for PVRTexTool doesn't work as it's not compatible with current
PVRTexTool CLI options, and likely hasn't been for years.
Instead, we have our own vendored pvrtccompressor thirdparty library which all
users have thus de-facto been using. This commit moves the compress code to
`modules/pvr` where it belongs.
There's no proper compress function for PVRTC 2-bit format, that's a bug that
will need to be fixed (currently it's compressed as 4-bit format even if you
use Image::FORMAT_PVRTC2).
Fixes#28669.
(cherry picked from commit 1a31274855)
This matches the 2D editor default behavior.
Powers of two are usually better for grid divisions as they are often
used in level design.
(cherry picked from commit 31cf3e2572)
- The grid is now infinite, it follows the camera.
- The grid is now dynamic, if you zoom in and out, the grid subdivides,
expands, and fades.
- You can now enable grid planes for the XY and YZ planes. Only the flat
XZ plane is enabled by default. Each plane is independently dynamic
of the others.
- The default grid size has been increased to 200, and the maximum
has been increased to 2000. At 1000, the grid mostly looks edgeless.
- If you set the division level max and min to the same value then
the grid does not expand or subdivide, but instead stays the same size
and just follows the camera. Also, if these values are the same,
the bias value does nothing.
- If you want to have Blender-like behavior, set max to 1, min to 0,
and set the bias to a really low value. You may also wish to increase
the grid size if you have a small bias.
Co-authored-by: Aaron Franke <arnfranke@yahoo.com>
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.