When calling call_group from C++, the function name is not passed on to
call_group_flags, resulting in first argument being mistakenly used
instead of function.
(cherry picked from commit 7240701ec9)
Adds `FALLTHROUGH` macro to specify when a fallthrough is intentional.
Can be replaced by `[[fallthrough]]` if/when we switch to C++17.
The warning is now enabled by default for GCC on `extra` warnings level
(part of GCC's `-Wextra`). It's not enabled in Clang's `-Wextra` yet,
but we could enable it manually once we switch to C++11. There's no
equivalent feature in MSVC for now.
Fixes#26135.
(cherry picked from commit fc370b3feb)
Closes: #30969
The FG rectangle of the progressbar is incorrect when dealing with a non-zero border. This issue stems from wrong order of operations when drawing the rectangle: int p = r * get_size().width - mp;
(cherry picked from commit 7db96e22dd)
If a non-imported texture resource file (e.g. DDS) gets updated the editor
doesn't reload it. The cause of the problem is two-fold:
First, the code of ImageTexture assumes that textures are always imported
from an image, but that's not the case for e.g. DDS. This change thus adds
code to issue a resource reload in case an image reload is not possible
(which is the case for non-imported texture resources).
Second, the code is filled with bogus calls to Image::get_image_data_size()
to determine the mipmap offset when that should be done using
Image::get_image_mipmap_offset(). Previous code literally passed the integer
mip level value to Image::get_image_data_size() where that actually expects
a boolean. Thus this part of the change might actually solve some other
issues as well.
To be pedantic, the texture_get_data() funciton of the rasterizer drivers is
still quite a mess, as it only ever returns the whole mipchain when
GLES_OVER_GL is set (practically only on desktop builds) but this change does
not attempt to resolve that.
(cherry picked from commit e34eb5c26c)
Made AudioFrame and Vector2 equivalent for casting.
Added ability to obtain the playback object from stream players.
Added ability to obtain effect instance from audio server.
(cherry picked from commit e33764744c)
It appears that Object::script may be a valid ScriptInstance but not be
castable to Ref<Script>. There were only 5 places in the code that made
this assumption. This commit fixes that.
(cherry picked from commit 20b0046945)
The API docs for various animation nodes are pretty empty, yet the
tutorial at
https://docs.godotengine.org/en/latest/tutorials/animation/animation_tree.html
contains some details.
These details should be included in the API docs so looking up a
particular class actually provides some information rather than
requiring the user to hunt for a different tutorial.
This also links the AnimationTree tutorial and demo in the docs.
I've found the TPS demo to be the best resource so far for learning
how to use the AnimationTree. This should be easy to find if someone
looks up the AnimationTree API docs.
Finally, this fixes a param typo in AnimationNodeStateMachine.
(cherry picked from commit 584288a32c)
Example of the warning:
./core/script_language.h:198:7: warning: 'class ScriptCodeCompletionCache' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor]
(cherry picked from commit f9f2413e69)