Shortening the peer timeout was supposedly necessary at some point
to work around an unknown bug. I was not able to reproduce the bug
running a headless Luanti server on WSL Tumbleweed and connecting with
a client on the Windows host. That is not enough to say the issue no
longer exists. This commit may cause a regression.
The access to change the peer timeout was unsynchronized and done by a
different thread than the sending thread, so it was detected by TSan to
be a data race. Since this patch deletes the code performing the write,
the data race is no longer a concern and no synchronization must be
added.
ee9258ce introduced a logic error, which caused clients to lose
node metadata when they should not and vice-versa.
See also: server.cpp / Server::sendAddNode
Results in the `movement_x` and `movement_y` fields of `player:get_player_control()` being safe to use
(otherwise users would need to compute the length as `(x^2 + y^2)^0.5` and clamp that to 1 themselves).
This lets modders avoid alpha blending rendering bugs as well as potential (future) performance issues.
The appropriate blend modes are also used for node dig particles.
---------
Co-authored-by: sfan5 <sfan5@live.de>
New parameter 'content padding'. When specified, the scrollbar
max value is calculated automatically. This aims to reduce manual
calculation functions.
* Network: offload often changed constants to source file
This prevents unnecessary recompiling when using incremental builds.
There is also no need to have separate max proto version variables;
as they're subject to the handshake between client and server. The
code is also expected to support the same version (or higher).
Co-authored-by: sfan5 <sfan5@live.de>
* Fix uninitialized shadow tint
This resulted in shadows having a different, random color each time I started a game
* Fix formatting mistakes from the same PR
This PR adds a variety of effects to enhance the visual experience.
"soft" clouds look
Tinted shadows
Crude water reflections (sky and sun) and waves
Translucent foliage
Node specular highlights
Adjusted fog color (more saturated where the fog is lighter)
Minor changes to volumetric lighting (crudely simulates the effect of depth)
Co-authored-by: sfan5 <sfan5@live.de>
Probably due to a unit misunderstanding a long time ago the window sizes
were quite insane (especially the default).
In practice this was sometimes hidden by other bugs, games trying their
best to be lightweight or didn't matter on high-quality internet connections.