1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-15 13:51:40 +00:00
Commit Graph

72812 Commits

Author SHA1 Message Date
Rémi Verschelde
d328c00ad3 Merge pull request #99667 from RandomShaper/res_load_verb
ResourceLoader: Print load message only when actually loading
2024-12-18 09:53:06 +01:00
Rémi Verschelde
7d30972f7c Merge pull request #99539 from RandomShaper/fix_dotnet_rl_deadlock
Avoid deadlocks in multi-threaded management of the C# script map
2024-12-18 09:53:01 +01:00
Rémi Verschelde
e255f60634 Merge pull request #99158 from timothyqiu/shortshortcutcut
Make editor's shortcut names translated on-site
2024-12-18 09:52:56 +01:00
Rémi Verschelde
29d53a5281 Merge pull request #97371 from kitbdev/test-splitcontainer
Add tests for SplitContainer
2024-12-18 09:52:52 +01:00
Rémi Verschelde
167edb385b Merge pull request #97288 from timothyqiu/packed-scene-check
Fix crash when using non-`PackedScene` resource for POT generation
2024-12-18 09:52:46 +01:00
Pedro J. Estébanez
6740823e40 ResourceLoader: Print load message only when actually loading 2024-12-18 09:36:16 +01:00
Aaron Franke
e1429cd7d3 Add a warning for when the scene root node is transformed 2024-12-17 23:47:15 -08:00
Pāvels Nadtočajevs
1e982a49c3 [Dictionary Property Editor] Use property editors instead of labels to display keys. 2024-12-18 08:14:38 +02:00
Haoyu Qiu
bf4e5cca3f Make editor's shortcut names translated on-site 2024-12-18 13:00:30 +08:00
Fredia Huya-Kouadio
23cea1b9d2 Additional fixes and improvements to JavaClassWrapper
- Fix crashing bug when invoking class constructor with parameters
- Add support for accessing class constants
- Add support for Godot Callable arguments. A Godot Callable can be wrapped by a Java Runnable to allow Java logic to run arbitrary Godot lambdas
- Automatically convert java.lang.CharSequence to Godot String as needed
- Code cleanup
2024-12-17 18:46:34 -08:00
Jason Kuo
9655d7d948 Check CameraFeed type 2024-12-18 10:37:06 +08:00
Haoyu Qiu
48db6669f6 Fix crash when using non-PackedScene resource for POT generation 2024-12-18 10:15:46 +08:00
Raul Santos
8d41b5a582 [.NET] Upgrade user project's TargetFramework to net8.0
- Upgrades the TFM for new created  projects to `net8.0`.
- Implements system to upgrade TFM for existing projects to `net8.0`.
2024-12-18 02:44:32 +01:00
Yelloween
0153cb8c16 Fix incorrect MODIFIER_MASK value
Updated key modifier mask and documented API change

Changed the old value

Changed the old value inside the .expected file

Resolved Conflicts

Moved changes to the end
2024-12-18 02:59:29 +03:00
Rémi Verschelde
6e2cf2aa7b Merge pull request #100533 from mihe/jolt/sleeping-contacts
Stop reporting contacts for sleeping bodies when using Jolt Physics
2024-12-18 00:39:59 +01:00
Rémi Verschelde
4e46e8beb7 Merge pull request #100464 from bruvzg/start_drag_port
Implement `window_start_drag` on Windows and Linux.
2024-12-18 00:39:56 +01:00
Rémi Verschelde
7b90590e85 Merge pull request #100422 from hpvb/from-the-depth-of-despair
Fix a crash trying to save an empty AudioStream
2024-12-18 00:39:53 +01:00
Rémi Verschelde
90555e6b4d Merge pull request #100378 from clayjohn/particles-preprocess
Reduce slider range for Particles preprocess to discourage setting a preprocess time of 10 minutes
2024-12-18 00:39:49 +01:00
Rémi Verschelde
cb5b1ecc25 Merge pull request #100200 from syntaxerror247/android-base-color
Android: Support for `base color` retrieval
2024-12-18 00:39:45 +01:00
Rémi Verschelde
d0a0f5834e Merge pull request #97571 from j20001970/camerafeed-virtual
Add `activate_feed` and `deactivate_feed` virtual bind to CameraFeed
2024-12-18 00:39:38 +01:00
kit
63a90b3dd8 Add tests for SplitContainer 2024-12-17 18:16:52 -05:00
kobewi
ceefc0d38a Implement 2D instance shader parameters
Co-authored-by: kobewi <kobewi4e@gmail.com>
Co-authored-by: yesfish <huwpascoe@users.noreply.github.com>
Co-authored-by: Álex Román Núñez <eirexe123@gmail.com>
2024-12-17 23:59:16 +01:00
Douglas Leão
3dfa7bb286 Fix taa_resolve.glsl path 2024-12-17 19:44:05 -03:00
Mikael Hermansson
5bbdb4a770 Stop reporting contacts for sleeping bodies when using Jolt Physics 2024-12-17 23:20:00 +01:00
HP van Braam
eb948bc5a8 Fix a crash trying to save an empty AudioStream
My friends, gather around as I learned something about the C standard
that is horrifying and may keep you, dear reader, up at night.

My journey began trying to fix something entirely unrelated and not
wanting to wait for ubsan builds when changing a testcase. So me, in my
infinite naivete just built the engine with tests=yes, but
optimizations turned on.

This resulted in a segfault on "[Audio][AudioStreamWAV] Save empty file".

Well, then, I thought. Lets built with asan then and find out where this
happens! Would it surprise you, my fellow traveler, that the results
were that no such crash occurred?

Thus, to the debugger I go! Fearless, with great optimism. Where I find
that through many an indirection the crash came because, somehow,
CowData::_unref() was getting called with a _ptr set to 0x1.

This can of course only end in tears. Or segmentation faults as we try
to read an atomic variable at the somewhat inconveniently situated
address at 0xfffffffffffffff0.

So I went and looked at the likely culprit, blaming many an innocent
recent change along the way. I shall spare you the falsly accused. But
if for some reason you slept poorly last night, I can assure you that
the voodoo dolls have been put away and will not be harmed further.

So in AudioStreamWAV::get_data() we go, where we find a perfectly
reasonable function! It checks to see whether or not its data is empty,
and if it is not it will resize a temporary Vector to have data_bytes of
space, after which it will do a perfectly pedestrian memcpy() and all is
well in the world.

Or so it seems! After many an hour of despair and disassembly I, at
last, decided to look at where the data gets set! A breakthrough!
Because of the padding data is never empty! So the code always runs!

Eureka! One would think. But then, foolishly, I looked into the
get_data() function one more. My mortal enemy was staring me in the
face, laughing. Because it did not care about this. Sure, the check was
worthless but still... What are we left with.

At this point I could feel the method mocking me.

"I resize the vector to 0, I then memcpy zero bytes into it." It said,
DARING me to object to this state of affairs.

And yet, if I changed the function to check for "data_bytes" rather
than data.is_empty() no crashes.

Was this a compiler bug? Am I losing my mind? But then... I remembered
the mantra of the wise compiler druids... "It Is Not A Compiler Bug".

But what then! The bug does not happen when memory is being watched!
Valgrind agreed that while accessing the SafeRefCount at
0xfffffffffffffff0 was incredibly rude, it did not inform me of anything
else untoward happening. So I read the memcpy() manpage... nothing... I
read the the memcpy() posix spec... nothing.

Finally, in despair and because I had nothing left to lose... The ISO C
language specification. As I was reading, I could hear
AudioStreamWAV::get_data() cackling, knowing that its time was up, but
proud of the madness it caused in my soul. Knowing I would never be the
same.

The behavior is undefined if either dest or src is an invalid or null pointer.

So... Here I stand before you, a broken person. But one richer in
knowledge.

I write you this from the depths of madness in the hopes that you, dear
reader, can be spared this ordeal.

May god have mercy on our souls.

We trigger the following sequence of events:

* memcpy(null, null, 0) is UB, thus dest and src cannot be null
* we inline the calls to the ctor and dtor
* now we have a function that does something that "proves"
  dest cannot be null
* we inline cowdata::_unref() which does a null check, on something
  that the compiler just convinced itself cannot be null
* the compiler removes the dead code branch where _ptr == nullptr
* we start to do pointer arithmetic on a nullptr and get send to
  uninitialized memory.

Co-Authored-By: Jason Beckmann <jasonabeckmann@gmail.com>
2024-12-17 23:14:39 +01:00
Rémi Verschelde
abf47965fc Merge pull request #100530 from KoBeWi/fix_hack…_with_a_hack😎
Fix Timer error on startup
2024-12-17 23:00:20 +01:00
Rémi Verschelde
32c634a381 Merge pull request #100526 from fire/vsk-csg-warnings-update
Update the warnings for CSGShape3D.
2024-12-17 23:00:17 +01:00
Rémi Verschelde
f1cf8ebfd6 Merge pull request #100506 from akien-mga/dotnet-8.0-fix-GodotSharp-build
.NET: Downgrade Microsoft.CodeAnalysis.CSharp to 4.8.0 for compat with SDK 8.0.1xy
2024-12-17 23:00:13 +01:00
Rémi Verschelde
7170a4176e Merge pull request #100500 from MajorMcDoom/collision-gen-undo-fix
Fix errors when undoing collision generation for multiple meshes with different parents
2024-12-17 23:00:10 +01:00
Rémi Verschelde
3dd60ba82f Merge pull request #100406 from smix8/gridmap_edge_debug
Fix GridMap freeing edge connection debug mesh too early
2024-12-17 23:00:07 +01:00
Rémi Verschelde
382b0dfad1 Merge pull request #100373 from TokageItLab/fix-blendspace-discrete-sync
Fix Sync in BlendSpace1D/2D with BlendModeDiscrete
2024-12-17 23:00:02 +01:00
Rémi Verschelde
cb0d731daf Merge pull request #100351 from raulsntos/dotnet/android-gradle-fix
[.NET] Fix gradle builds for multiple ABIs
2024-12-17 22:59:58 +01:00
Rémi Verschelde
190ae9f9dc Merge pull request #100302 from clayjohn/light2d-optimize
Optimize PointLight2D shadow rendering by reducing draw calls and RD state changes
2024-12-17 22:59:54 +01:00
Rémi Verschelde
7a70efc2a8 Merge pull request #100151 from alessand10/fix-dx12-command-buffer-leak
Fix a command buffer leak that occurs in D3D12
2024-12-17 22:59:50 +01:00
Rémi Verschelde
f1eb2f928d Merge pull request #100039 from TokageItLab/ping-pong-param
Make `backward` be parameter of the `AnimationTree` in the `AnimationNodeAnimation`
2024-12-17 22:59:47 +01:00
Rémi Verschelde
f08fe52d9a Merge pull request #99963 from Faless/web/no_ip
[Web] Implement dummy IP and NetSocket
2024-12-17 22:59:42 +01:00
Rémi Verschelde
45d8c217b9 Merge pull request #99649 from ckaiser/run-instances-data
Improve run instances UX: avoid removing data and add a clear popup.
2024-12-17 22:59:37 +01:00
Rémi Verschelde
55a3c6ba2b Merge pull request #99471 from Arnklit/fix_undo_redo_for_texture_region_editor
Fix undo redo for the texture region editor
2024-12-17 22:59:33 +01:00
Rémi Verschelde
24f88bb889 Merge pull request #99292 from Repiteo/scons/show_progress-tweaks
SCons: Address minor `show_progress` issues
2024-12-17 22:59:28 +01:00
Rémi Verschelde
d4f4129dba Merge pull request #98978 from tetrapod00/astar-nonsense
Docs: Update AStar3D examples
2024-12-17 22:59:25 +01:00
Rémi Verschelde
66b8101cef Merge pull request #95460 from m4gr3d/enable_mouse_forward_back_buttons
Enable `BUTTON_FORWARD` and `BUTTON_BACK` mouse buttons on Android
2024-12-17 22:59:20 +01:00
Rémi Verschelde
6244d8f38d Merge pull request #93867 from m4gr3d/move_custom_templates_in_advanced_options
Update the visibility for the custom templates for all platforms
2024-12-17 22:59:14 +01:00
Rémi Verschelde
2c304a7383 Merge pull request #88349 from Calinou/decal-light-projector-only-allow-valid-types
Only allow valid types in Decal, Light3D projector, PointLight2D texture and CSGMesh3D mesh
2024-12-17 22:59:08 +01:00
kobewi
0ffdb6b993 Fix Timer error on startup 2024-12-17 22:26:54 +01:00
Fredia Huya-Kouadio
2d3f6963b2 Update the visibility for the custom templates for all platforms
Hide the custom template options behind the `Advanced Options` toggle
2024-12-17 13:08:47 -08:00
Anish Mishra
70b24c3d16 Android: Support for base color retrieval 2024-12-18 02:14:48 +05:30
alessand10
9ea97c017b Fix a command buffer leak that occurs in dx12 2024-12-17 14:55:39 -05:00
Hugo Locurcio
7a04d85ec3 Only allow valid types in Decal, Light3D projector, PointLight2D texture and CSGMesh3D mesh
If an invalid type is supplied (which can still be done from a script),
a warning is printed (along with a workaround for ViewportTexture).

This also adds support for "negative" resource hints such as
"Texture2D,-ViewportTexture" to exclude one or more subclasses
from a class hint.

Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2024-12-17 20:41:12 +01:00
K. S. Ernest (iFire) Lee
46b02f08c6 Update the warnings for CSGShape3D. 2024-12-17 11:02:38 -08:00
Adam Scott
3011717e14 Remove custom --language-in arg for the Closure compiler 2024-12-17 13:52:30 -05:00