It used to call `enet_host_service` until all events were consumed, but
that also meant constantly polling the connection leading to potentially
unbounded processing time.
It now only service the connection once, and instead consumes all the
retrieved events via `enet_host_check_events`.
It used to always send them reliably when transfer mode was unreliable
or ordered if the packet size was more then the enet host MTU (1400
bytes by default).
This commit also adds a warning when debug is enabled to explain the
effects of sending fragmented packets unreliably.
Portal and room occlusion culling is replaced by raster occlusion
in 4.0, which undergoes an entirely different setup process. Therefore,
we can only convert those nodes to Node3Ds to allow loading `3.x` scenes
while keeping transforms valid.
It is not uncommon to want to scroll to the most recently added child of
a ScrollContainer (e.g. a chat box or activity log). This is a little
tricky, since `ensure_control_visible` will not work on a node on the
same frame as you add it. Let's at least document that you need to wait
until the next frame.
Relates to https://github.com/godotengine/godot-proposals/issues/3629.
Co-authored-by: Yuri Sizov <pycbouh@users.noreply.github.com>
Many assets include links in the description.
This change enables selection for the links,
and other information such as version numbers,
to be copied/pasted.
To make baked colors of lights equal to dynamic colors of lights they have to be
converted to linear as the colors of dynamic lights are converted to linear by
RendererSceneRenderRD.
For 2D:
Raycast CCD now works the same as in 3D, it changes the body's velocity
to place it at the impact position instead of generating a contact point
that causes a wrong push back.
For both 2D and 3D:
The raycast CCD process reads and modifies body velocities, so it needs
to be moved to pre_solve() instead of setup() to be processed linearly
on the main thread, otherwise multithreading can cause some CCD results
to be randomly lost when multiple collisions occur.