issue reference [https://github.com/godotengine/godot/issues/81769]
- adding a nullptr check on a Node pointer obtained from get_node(NodePath) in case it is null now we wont execute the next instruction
> ClassDB::get_property_info(nd->get_class(), prop, &prop_info);
Which then prevents the crash
(cherry picked from commit e7a35d1521)
Implements the {project} placeholder, available when setting an external editor
in the project settings, via Editor > Editor Settings > Text Editor > External
for the c# external editor, under Editor > Editor Settings > Dotnet > Editor,
This allows passing the project folder as a command line argument when using a
custom external editor that isn't one of the available options.
Fixes#81845
(cherry picked from commit c01a47867b)
This would cause `updown.png` to be ignored in our default theme in 3.x.
These ignores were added in #36800 for #36572 (see that PR for usage
instructions).
From a quick test, using `--output-file` for `lcov` and `--output-directory`
for genhtml let us output the files in a way that won't conflict with the
Git repository (e.g. in `bin/`, or outside the Git repo).
(cherry picked from commit 5c38e42161)
When the name suffix grows, the old name is used if it is obtained first.
Fix the case where the following error message would appear when renaming
an animation.
```
ERROR: Animation '' doesn't exist.
at: get_frame_count (scene/resources/sprite_frames.cpp:71)
```
(cherry picked from commit e9cd29cf22)
LGTM has been acquired by Github, and all its features is replaced by Github Code Scanning.
So seems .lgtm.yml is no longer used.
(cherry picked from commit ee6cec1649)
We made a mistake when cherry-picking #80612 with 269b115d9c,
where the global flag was defaulted to false to preserve the 4.1-stable behavior for desktop
platforms, but we forgot that the refactoring removed the force disabling of exceptions for
Android, iOS, and Web.
This reintroduces this behavior so it should be back to the same as in 4.1/4.1.1, and the
export templates should get back to their original size.
Only difference, the old code used to keep exceptions for the Web editor, but I see no reason
for it, so I disable them like with the templates.
The issue is primarily due to `RSG::texture_storage->render_target_was_used()`
returning inconsistent results in the editor and exported projects.
(cherry picked from commit 59d0fdbacc)
Notably fixes issues with `is_action_just_*` queries in `_physics_process`
for TouchScreenButton.
Fixes#66318.
Fixes#82396.
(cherry picked from commit 5137497c18)
Fixes#76338.
Blender 3.6 imports fail with:
```
TypeError: Converting py args to operator properties: : keyword "export_nla_strips" unrecognized
```
The `export_nla_strips` flag was removed and replaced with `export_animation_mode`.
In 3.6.0-3.6.21, this option does not exist at all and causes the failure above.
In 3.6.22, this option was re-added, but does nothing.
See 96a73cb664.
We now need to check the blender version to determine what flags to use.
This adds an additional shell command before every import.
We might consider caching the version, but we'd have to invalidate the cache if the blender version or path changes.
As an aside, the "group animations" setting in Godot does the opposite of what I'd expect.
When `group_tracks=true`, each animation is exported individually.
When `group_tracks=false`, all animations are exported as a single track.
This seems backwards, but I've kept the 3.6 behavior consistent with 3.5.
From https://docs.blender.org/api/3.6/bpy.ops.export_scene.html:
> ACTIONS Actions – Export actions (actives and on NLA tracks) as separate animations.
> ACTIVE_ACTIONS Active actions merged – All the currently assigned actions become one glTF animation.
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
(cherry picked from commit 7e64c6c399)
The paused notifications are only sent when pause status is changed,
this ensures that streams that are non-processing do not play when added
to the tree. Also ensures that the `process_mode` property applies
generally.
(cherry picked from commit 72fccd82c5)
Applied a couple of checks suggested by @dhoverml for when the
XrResult is not XR_SUCCESS but is also not a failure. Also simplified
checks from @BastiaanOlij feedback.
(cherry picked from commit 771ec958af)