Color table should exist for images with bit count <= 8. Importing 16-bit
BMP images could also likely have a color table but they're not currently
supported in Godot.
(cherry picked from commit d5c5aabbf2)
Add some sanity checks according to bmp specification.
Read color table and index data within the same scope and
then simply extend the color palette.
This particular implementation has one limitation: not all 4/1 bit images
can be imported as it requires bit unpacking (size dimensions must be
a multiple of 8 for 1-bit and 2 (even) for 4-bit images).
(cherry picked from commit 6484da5721)
Added a condition to check if the loop exited without iteration
being run by checking the return value from idle().
Fixes: #26321
(cherry picked from commit 3c27980a17)
New contributors added to AUTHORS:
@merumelu, @sparkart
Thanks to all contributors and donors for making Godot possible!
(cherry picked from commit 41beecaa08)
Always resize image to square of power2
Enable mipmaps only if original texture has it enabled
Fix#28534, #28541
(cherry picked from commit 4009d26022)
When getting system directories for Windows, we currently use
SHGetFolderPathW. This is a deprecated function and doesn't support
"Downloads" folders.
As a replacement, this commit uses the newer SHGetKnownFolderPath
function, which is supported since Windows Vista. Godot 3.0 only
supports Windows 7+, so we don't need to use SHGetFolderPathW for
backwards compatibility.
Fixes#26876
(cherry picked from commit 3d908f57d8)
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 the missing option of re-enabling the sleep feature in bullet physics once a body had the sleep feature disabled.
(cherry picked from commit 0877cf6419)
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)
-Added trim limit constant at top of file, defining at which db trimming should occur (moved from being in the code itself)
-Added fade out frames constant at top of file, defining how many frames should have fade out applied (to avoid pops at the end of trim)
-Rewrote parts of the trimming logic to use an average of volume across all channels instead of any particular channel
-Added fade-out to trimming
(cherry picked from commit 26cc521d55)
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)
This is actually expected by the function although it was apparently
working in GCC without the terminator, it breaks (at least some) clang
versions.
(cherry picked from commit 2f91e250f6)