Commit Graph

12194 Commits

Author SHA1 Message Date
Oleksandr Shyshatskyi
65c9f44a2f Fix incorrect mipmap size calculation for uncompressed DDS textures
Previously, the DDS texture loader incorrectly calculated mipmap dimensions
for uncompressed textures when the original dimensions
were non-power-of-two.

For example, given a 120×120 texture, the expected mipmap chain should be:
    mipmap=0, size=120×120
    mipmap=1, size=60×60
    mipmap=2, size=30×30
    mipmap=3, size=15×15
    mipmap=4, size=7×7
    mipmap=5, size=3×3
    mipmap=6, size=1×1

But the loader was producing:
    mipmap=0, size=120×120
    mipmap=1, size=60×60
    mipmap=2, size=30×30
    mipmap=3, size=15×15
    mipmap=4, size=8×8
    mipmap=5, size=4×4
    mipmap=6, size=2×2

This commit corrects the logic to properly compute width and height independently at each mip level.

Fixes issue #105136.
2025-04-09 18:40:20 +03:00
Oleksandr Shyshatskyi
85a9c73a84 Fix the formula for calculation the size of compressed textures.
Accodring to the DDS documentation, the size of each mipmap level should
be:

    max(1, ( (width + 3) / 4 ) ) x max(1, ( (height + 3) / 4 ) ) x 8(DXT1) or 16(DXT2-5)

But in dds loader a slightly different formula was used which
provided different results. Check gh issue #105136 and pull request for details.
2025-04-09 18:23:16 +03:00
Thaddeus Crews
ec675fc329 Merge pull request #100333 from YYF233333/reduce_list
Use `LocalVector` instead of `List` as arg of `Dictionary::get_key_list`
2025-04-09 08:51:45 -05:00
Thaddeus Crews
d7ced73997 Merge pull request #104939 from HolonProduction/json-rpc-notification-return-fix
JSONRPC: Fix notification return behavior
2025-04-09 08:51:44 -05:00
Thaddeus Crews
0563f4f978 Merge pull request #105166 from Ivorforce/get-class-static-stringname
Change `get_class_static` to return `StringName`.
2025-04-09 08:51:39 -05:00
Lukas Tenbrink
fbe64ffb45 Change get_class_static to return StringName.
Use that static `get_class_static` for `_get_class_namev` to avoid duplication.
2025-04-08 23:25:05 +02:00
kobewi
13741ff913 Add FoldableContainer
Co-authored-by: WhalesState <whalesstate@gmail.com>
2025-04-08 22:27:32 +02:00
Yufeng Ying
f7e4987d0e Dictionary::get_key_list use LocalVector instead of List. 2025-04-09 02:46:24 +08:00
Thaddeus Crews
4248411baf Merge pull request #102521 from HolonProduction/cancel-await
GDScript: Cancel suspended functions when reloading a script
2025-04-08 12:32:52 -05:00
Thaddeus Crews
36ff5d351c Merge pull request #105152 from DeeJayLSP/ogg-name
Add an actual name for Ogg Vorbis importer visible name.
2025-04-08 12:32:50 -05:00
Thaddeus Crews
e6a61b1ecc Merge pull request #76829 from bruvzg/ac_kit_direct
Implement screen reader support using AccessKit library.
2025-04-08 12:32:47 -05:00
Thaddeus Crews
bc723b0ddf Merge pull request #102930 from Ivorforce/lambda-callable-overvalid
Optimize `GDScriptLambdaCallable` by skipping the unnecessary `ObjectDB` lookup for `script`.
2025-04-08 12:32:42 -05:00
Thaddeus Crews
d98c3f5ffe Merge pull request #104333 from Mickeon/documentation-even-more-miscellaneous-oddities
Fix *even* more miscellaneous oddities around the class reference
2025-04-08 12:32:41 -05:00
Pāvels Nadtočajevs
302fa831cc Initial editor accessibility. 2025-04-08 20:25:48 +03:00
Pāvels Nadtočajevs
b106dfd4f9 Base accessibility API. 2025-04-08 20:14:28 +03:00
DeeJayLSP
15b09e2e03 Add an actual name for Ogg Vorbis importer/visible name. 2025-04-08 11:47:46 -03:00
Pāvels Nadtočajevs
9abe2e5294 Add uri_file_decode to handle + in file names. 2025-04-07 23:49:17 +03:00
Micky
7603945d14 Fix *even* more miscellaneous oddities around the class reference 2025-04-07 17:37:08 +02:00
Thaddeus Crews
af2c713971 Merge pull request #105082 from Delsin-Yu/dotnet-signalawaiter-alloc-opt
[.Net] Avoid array allocation when signal have 0 arg
2025-04-07 08:43:34 -05:00
Thaddeus Crews
13eee43437 Merge pull request #105072 from lodetrick/action-map-editor-scale
Fix OpenXR Action Map GUI not scaling according to Editor Scale
2025-04-07 08:43:34 -05:00
Thaddeus Crews
0fbb22c095 Merge pull request #104432 from YYF233333/dict_iter2
Do not iterate `Dictionary` with `Dictionary::keys()`
2025-04-07 08:43:33 -05:00
Thaddeus Crews
5e20c8fbcd Merge pull request #105061 from HolonProduction/lsp-workspace-symbol
LSP: Don't advertise support for workspace symbols
2025-04-07 08:43:32 -05:00
Thaddeus Crews
27cc05194c Merge pull request #105059 from HolonProduction/lsp-relative
LSP: Fix relative path handling for document links
2025-04-07 08:43:31 -05:00
Thaddeus Crews
45a64319e1 Merge pull request #104771 from Repiteo/ci/pre-commit-bump
CI: Bump various pre-commit hooks
2025-04-07 08:43:27 -05:00
Thaddeus Crews
5edb235018 CI: Bump various pre-commit hooks 2025-04-07 08:23:35 -05:00
Aaron Franke
03b793464f GLTF export: Allow using a PNG or JPEG fallback image 2025-04-06 03:34:43 -07:00
HolonProduction
02eab5e2c4 Editor: Improve capsule gizmos 2025-04-06 10:44:37 +02:00
DE YU
af67fb1f62 Avoid array allocation when signal have 0 arg 2025-04-06 16:02:35 +08:00
smix8
4d76c197a7 Make navigation maps emit map_changed directly
Makes navigation maps emit map_changed directly.
2025-04-05 22:50:48 +02:00
Logan Detrick
0ead587fa2 Fixes Editor Scales in OpenXR GUI 2025-04-05 13:48:52 -07:00
smix8
a4c56d478a Move NavigationServer navmesh sync from main() to process()
Moves NavigationServer navmesh sync from main() to process().
2025-04-05 21:29:24 +02:00
HolonProduction
c203e6381e LSP: Don't advertise support for workspace symbols 2025-04-05 18:11:44 +02:00
HolonProduction
920997d0c8 LSP: Fix relative path handling for document links 2025-04-05 17:35:06 +02:00
Micky
2ed4586076 Fix differences between OpenXRInterface and XRHandTracker docs 2025-04-05 13:07:52 +02:00
Yufeng Ying
8ae16699c5 Do not use Dictionary::keys() for Dictionary iteration. 2025-04-05 18:42:13 +08:00
Yufeng Ying
4029051bb1 Change ClassDB::get_inheriters_from_class. 2025-04-04 23:47:19 +08:00
Thaddeus Crews
2fe029ded8 Merge pull request #104449 from mihe/jolt/v5.3.0
Jolt: Update to 5.3.0
2025-04-04 09:29:20 -05:00
HolonProduction
a18d6e48c9 JSONRPC: Fix notification return behavior 2025-04-04 10:41:18 +02:00
Thaddeus Crews
8bd9cdeea6 Merge pull request #104890 from HolonProduction/json-rpc-manual-bind
JSONRPC: Require manual method registration
2025-04-03 16:50:24 -05:00
HolonProduction
e2c3731cdd JSONRPC: Require manual method registration 2025-04-03 17:51:03 +02:00
smix8
565ea927d2 Emit changed signal after baking navigation mesh
Emits changed signal after baking navigation mesh.
2025-04-02 16:54:48 +02:00
Thaddeus Crews
1f56d96cf2 Merge pull request #104893 from Repiteo/scons/external-includes-alt
SCons: Add `CPPEXTPATH` for external includes
2025-04-02 07:48:03 -05:00
Thaddeus Crews
c9c8556a47 Merge pull request #104862 from smix8/navserver_process
Prepare NavigationServer for `process()` and `physics_process()` split
2025-04-02 07:37:32 -05:00
Thaddeus Crews
9f222d500d Merge pull request #104375 from YYF233333/is_empty
Replace `size() == 0` with `is_empty()`
2025-04-02 07:37:31 -05:00
Thaddeus Crews
f25fc34439 SCons: Add CPPEXTPATH for external includes 2025-04-02 07:29:08 -05:00
Yufeng Ying
7a1a970c25 size() <= 0 and size() < 1. 2025-04-02 19:18:44 +08:00
Yufeng Ying
4f4031a675 Replace size() == 0 with is_empty(). 2025-04-02 19:18:43 +08:00
smix8
16fd7b6ae1 Prepare NavigationServer for process() and physics_process() split
Prepares the NavigationServer API for a split of its functionality between frame process() and stepped physics_process().
2025-04-02 11:01:08 +02:00
LuoZhihao
06c8a7d396 Navigation: Replace the deprecated Geometry2D::get_closest_point_to_segment 2025-04-02 13:45:06 +08:00
Thaddeus Crews
f72511d908 Merge pull request #104811 from YeldhamDev/build_no_navigation
Allow to compile templates without navigation features
2025-04-01 19:53:29 -05:00