SConscript("some SCsub path") calls create a new context where a relative path
to the .sconsign file is interpreted as being next to the currently executing
SCsub, and not the one at the root. This breaks incremental build detection
because scons can't find the build information of dependent files outside of the
SCsub directory and just rebuilds everything every time.
(cherry picked from commit 0b43b0124f)
When using proxy_to_pthread we add BIGINT support (to support exchanging
64 bits integers between wasm and JS).
Bigint though, is part of ECMAScript 2020, and the closure compiler was
using ECMAScript 6 instead.
This commit update the CC configuration to use ECMAScript 2020 instead.
(cherry picked from commit e9df955e39)
A zero-length memcpy into a null pointer itself does not fail, but for gcc with optimizations, this can cause incorrect code to be generated further down the line since the pointer is then assumed to be non-null.
Now stripping zero-length packets and pages without packets from the OggPacketSequence during import. This prevents various warning and error messages for files that end on a zero-length packet.
(cherry picked from commit a4db4ae658)
This prevents visual discrepancies between desktop and mobile platforms
after switching rendering methods using this dropdown.
The restart dialog now displays which rendering methods will be used,
and the dropdown tooltip also lists caveats related to specific platforms.
(cherry picked from commit 57f3bdb1e5)
It only introduced a difference in a .glsl file, which I've worked
around by removing an empty line. This keeps formatting consistent
between clang-format 15 and 16.
Also added a change in the 3-to-4 project converter to fix bogus
formatting in clang-format < 17.
(cherry picked from commit 49f4860ce3)
The SceneMultiplayer complete_auth method was not configuring the
multiplayer peer correctly, causing it to potentially send the
notification to the wrong peer, on the wrong channel, and/or with an
incorrect transfer mode.
(cherry picked from commit 4826c14d20)
SkeletonIK3D is now deprecated, but Skeleton3D is recommending looking into its use for complicated inverse kinematics. What's worse, the removed line is not perfectly clear for non-developers and people less experienced with the engine, and could still stand to be improved.
(cherry picked from commit 0e52ffeb69)
- When using the project name, allow underscore (`_`) characters
- Send a warning instead of an error when the project name is modified to fit the package name format
(cherry picked from commit 0325568a9b)
This rename breaks `SpriteFrames` and also isn't valid as the new method
takes an `AnimationLibrary`, not an `Animation`
(cherry picked from commit 4b7ea9fe47)
Minizip includes previously backported fix for CVE-2023-45853,
and a Debian patch for CVE-2014-9485 was also upstreamed.
(cherry picked from commit 8ead8d2ddb)
Zip files may contain directory entries, they always end with a path
separator and zip entries always use forward slashes for path separators.
There's no need to create the directories included in the zip file,
since they'll already be created when creating the individual files.
(cherry picked from commit 59a5a1eb70)
1. Extracted texture paths in `GLTFDocument::_parse_image_save_image` at the project root started with res:/// which broke cache invalidation
2. md5 hashes were not being written to generator_parameters for new imports, which led Godot to think the file was manually created.
3. `EditorFileSystem::reimport_append` must emit the `resources_reimported` signal in order for the resource cache to be updated.
(cherry picked from commit fea4165ca8)
The length of an Animation isn't automatically set by adding keys, and
it must be set manually. The existing example only has keys up to 0.5s,
so the default value of 1.0s may be acceptable. However, this results in
unexpected behavior for anyone who makes an animation longer than 1.0s.
Include animation.length in the example because it's important.
Also, increase the key position to 2.0s so it won't be confusing that
the assignment is somewhat redundant.
(cherry picked from commit 698c67d540)