A single setting is now used to control the font hinting/antialiasing
settings of both main and code fonts. This means there are 2 settings
in total (instead of 4).
Font settings were also reordered for clarity.
Only a single checkbox is now exposed to control whether the editor
window should be dimmed when opening a popup. The main use case
for disabling it is picking colors from the editor window while
a popup is open.
Make the build system automatically build the C# Api assemblies to be shipped with the editor.
Make the editor, editor player and debug export templates use Api assemblies built with debug symbols.
Always run MSBuild to build the editor tools and Api assemblies when building Godot.
Several bugs fixed related to assembly hot reloading and restoring state.
Fix StringExtensions internal calls not being registered correctly, resulting in MissingMethodException.
This is an editor setting and its value can also be toggled
using an entry in the Editor toolbar. The console will still
appear briefly when starting the project manager or editor,
as it's still compiled as console application.
Does not impact exported games, which will still run without
console in release and with console in debug mode.
A project setting or export option could be added to disable
it in debug mode if there's demand for it, but that would
greatly reduce the usefulness of debug builds if Windows users
can no longer report error and crash messages.
Fixes#17889.
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
This was a regression from #28107 due to a typo in the `initial_set`
call.
I used the opportunity to harmonize the font settings by ensuring we
only get values in `editor_fonts.cpp` and set them all with proper and
consistent hint ranges in `editor_settings.cpp`.
Fixes#29774.
It's not necessary, but the vast majority of calls of error macros
do have an ending semicolon, so it's best to be consistent.
Most WARN_DEPRECATED calls did *not* have a semicolon, but there's
no reason for them to be treated differently.
This decreases CPU/GPU usage when the window is unfocused, which can
be beneficial to laptop users.
This also makes the low-processor mode sleep project setting no longer
affect the editor. Instead, two new editor settings now define the
duration of sleeping when the editor is focused and unfocused.
This closes#24209 and partially addresses #29257.
Godot currently can't properly render scripts that require Right-To-Left
and font shaping support, so we skip those.
This is a temporary measure until these features are supported.
Fixes#28577.
IPv4 has link-local addresses like IPv6 (block 169.254.0.0/16).
Those addresses should not be considered a valid option when selecting
the `remote_host` setting for the debugger.
-Made relationship lines appear based on theme settings, not previous hack
-Fix drawing of relationship lines (was broken)
-Fix double initialization of theme settings
We used to abort if the system-specific data folder (e.g. `~/.local`
or `%APPDATA%`) is missing, but the next code chunk actually creates
it with `make_dir_recursive` if missing.
Fixes#26598.
- Editor font anti-aliasing can now be disabled in the Editor Settings.
- DynamicFonts used in projects can now have their anti-aliasing
disabled in their DynamicFontData child. Changes will be visible
upon reloading the scene in the editor.
Note, it will only used by the Editor, not when running the game.
This allows package maintainer to compile Godot to use system installed
certificates when accessing the AssetLib.
It is now possible to use the previous or next monitor (relative to
the editor) to display running projects. If either end is reached,
it will wrap around to the last or first monitor (respectively).
This closes#20283.
Previously we had a check to see if cache and data directories exist and
another check to try to make them if they do not. However the second
check was never reached if we don't have the directories in question.
Furthermore for cache directories on Linux people who never started a
desktop environment we need to recurisively create the XDG directory as
well as the godot specific directory.
This fixes#17963
This commit makes operator[] on Vector const and adds a write proxy to it. From
now on writes to Vectors need to happen through the .write proxy. So for
instance:
Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;
Failing to use the .write proxy will cause a compilation error.
In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.
_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
- Allow type hints to be completed.
- Use type information to infer completion candidates.
- Show typed function signature in tooltip.
- Add type hints when completing declaration from virtual functions
(optional).
-Project/Editor settings now show tooltips properly
-Settings thar require restart now will show a restart warning
-Video driver is now visible all the time, can be changed easily
-Added function to request current video driver