As `KEY_F3` was used both for changing to script editor window and, in
the script editor, for finding the next result in the last search, and
the key event is **not** consumed, the resulting behaviour was similar
to press `F3` twice, first to change to script editor and second to
find the next result of a previous search.
This PR sets the `key_pressed` status of `InputEvent` to `false` if
this event is responsible of an editor change, simulating the
consumption of the event.
Fix#17334
(cherry picked from commit 8939f44f6ac5594348e4d671d121680822bd8dc8)
Add a new function to check action names, `_validate_action_name`, in
the spirit of `_valprop`. Offending characters include non-printable
ascii, and `\/=:"`. Also set only one text for the UI message.
(cherry picked from commit da6c07698f591b3eac773770dc776bf095c3d9ef)
Now the action name is quoted if it contains spaces. Also, quotation
mark (") is added to the forbidden character list for action names, as
it was also a bug.
Fix#17322
(cherry picked from commit ea94a8259624a1915fa4b92682755e28f2bb6af5)
Make TileMap monitor its TileSet for changes and emit a signal when the TileSet changes. This makes the editor update and show the updated version of the TileSet.
(cherry picked from commit 67f4944a21487dce92746bdb716303a7860b081c)
Original code used a quick aproximation for simulating the
correspondent texel in the `TextureProgress` texture as radial
progress indicator. This lead to visualization errors. Changed it for
a Liang-Barsky line clipping algorithm stripped to its minimum for
this specific use case.
Fix#17364.
(cherry picked from commit 7991bd168da1e0b8d0dc34635a35057aab466349)
Make Sprite monitor its Texture for changes and trigger an update when the sprite changes.
(cherry picked from commit a23c0877f1bb26edb75aa344f1049a7b7a91f079)
Fixes#16904
Restore more out functionality, fix built-ins.
Requested changes, I think?
(cherry picked from commit 25ba49fd88ec460a6c4f39f93222671d5e2bab6e)
If you change the type of an existing node, it checks if you have
modified the initial value of their properties before overwriting
their values in the new node.
For example, if you created a `Label` and changed it to
`LineEdit`, the `mouse_filter` property was created as `Ignore`
for the original `Label` node, and was maintained after changing
it to `LineEdit` causing not to work as expected. Now it checks if
`Ignore` is the default value for `Label` nodes, and as it is, the
property value is left unchanged, maintaining the default value
for `LineEdit`, which is `Stop`.
Fix#13955 and alike.
(cherry picked from commit 8ea4ea0d53e772673dea69a9df83aa8445ad49ea)
- Setup runtime main args during initialization. This must be done manually by embedders who do not call mono_runtime_run_main. Fixes NullReferenceException in System.Environment.
- Continue to search the assembly in the rest of the search locations if loading it from one of them failed.
(cherry picked from commit fa1d656af4c4ea81ca04c7f0117e421855327a28)
Disallow reserved keywords as class names and prefix base class with the Godot
namespace if it's the same as the class name.
Fixes#12483
(cherry picked from commit 700d07cf7cae4e28de107e0c274b27c857d98450)
Replace float with real_t in most files, defined at the top of each file via using. Objects such as Vector3 now accept doubles as inputs, and convert to real_t internally. I've added default Vectors such as Vector3.Zero. Other misc C# improvements such as Mathf.RoundToInt(). Color continues to use float only because high precision is not needed for 8-bit color math and to keep things simple. Everything seems to compile and work fine, but testing is requested, as this is the first time I've ever contributed to Godot.
(cherry picked from commit ff97c97c930f80209480c630622b1b64372bd65a)
If you had a tree like Node2D->Sprite->Camera2D and you write a
code like $Node2D/Spr and chose the autocompletion sugested
Node2D/Sprite, the resulting string was $Node2D/Node2D/Sprite
instead $Node2D/Sprite. If you chose Node2D/Sprite/Camera2D, then
you ended with $Node2D/Node2D/Sprite/Camera2D.
Fix#15813.
(cherry picked from commit 95f186b62184c846571c7278842ac4923f461d5a)
The default one is "#!/bin/bash", but BSD systems doesn't have bash
in that path. For portability reasons, it should be changed to
"#!/usr/bin/env bash".
More info: https://en.wikipedia.org/wiki/Shebang_%28Unix%29#Portability
(cherry picked from commit 52abf4ba84b5a41ac9903af0ba1087bf18be2187)