| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
| |
* Quantize light frustum calculations
Reduces shadow flicker
* Fix function name to match conventions
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
If the server stops talking to us without saying bye we
should actually end the in-game session with an error message.
|
|
|
|
|
|
| |
stringstreams were shown to be slow when reading/writing single characters
and there is lots of potential by having functions perform on existing
buffers whenever possible.
|
|
|
|
|
| |
this also removes the requirement that / is escaped, there is
no reason for doing so.
|
| |
|
|
|
|
|
|
|
|
|
| |
* Rewrite shadow filtering for the new distortion
* Calculate penumbra radius using a single sample
* Avoid peter-panning effect due to filtering of short shadows
* Add adaptive filter quality for soft shadows
* Avoid sharp shadows on surfaces without normals (e.g. plants)
* Increase default and maximum soft shadow radius
* Make line numbers in shader errors match the code
|
|
|
| |
Use MeshNode materials to set the light since ReadOnlyMaterials is now false
|
|
|
|
|
| |
* Assign node light to player before final color blend.
Fixes day/night lightbank ratio for wield meshes
* Update wield mesh light when changing mesh
|
| |
|
| |
|
|
|
|
| |
#12245
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
| |
Fixes outdated selection boxes after entity property changes.
|
| |
|
|
|
|
|
|
|
| |
This reduces the
(absolute) time spent in Server::SendBlocks() from 700ms to 300ms
(relative) share of MapBlock::serialize() from 80% to 60%
in a test setup with 10 players and many block changes
|
|
|
|
| |
Caused by the depth sorting PR marking not only transparent nodes to be ignored but also opaque ones with the TILE_MATERIAL_BASIC material type
|
|
|
| |
Co-authored-by: sfan5 <sfan5@live.de>
|
|
|
| |
Co-authored-by: rubenwardy <rw@rubenwardy.com>
|
|
|
| |
Co-authored-by: rubenwardy <rw@rubenwardy.com>
|
|
|
|
|
|
| |
* Skip rendering faces adjacent to opaque nodes
* Cancel out opposite faces of adjacent nodebox nodes of the same type
Fixes #6409
|
| |
|
|
|
|
| |
Calls to the cache function ended up creating a new texture regardless whether
the texture is already cached.
|
|
|
|
|
| |
The logging streams now do almost no work when there is no output target for them.
For example, if LL_VERBOSE has no output targets, then `verbosestream << x` will return a StreamProxy with a null target. Any further `<<` operations applied to it will do nothing.
|
|
|
|
| |
was broken by a89afe1229e327da3c397a3912b2d43d2196ea2b
|
| |
|
|
|
|
|
|
|
|
|
|
| |
If a newly started thread immediately exits then m_running would
immediately be set to false again and the caller would be stuck
waiting for m_running to become true forever.
Since a mutex for synchronizing startup already exists we can
simply move the while loop into it.
see also: #5134 which introduced m_start_finished_mutex
|
| |
|
| |
|
|
|
| |
Fixes #12245
|
| |
|
|
|
|
| |
also make them work with the RelWithDebInfo build type
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit introduces mt_localtime() in src/gettime.h, a wrapper
around the OS-specific thread-safe versions of localtime()
(resp. localtime_s on Windows and localtime_r in other systems).
Per the Open Group recommendation,
«portable applications should call tzset() explicitly before using
ctime_r() or localtime_r() because setting timezone information is
optional for those functions», so we also do a one-shot
call of tzset() (_tzset() on Windows to avoid warning C4996).
The function is used to replace the localtime() calls in
getTimestamp() and makeScreenshot().
(The only reminaing call to localtime() in the tree now is the one in
the local copy of the Lua source code.)
|
|
|
| |
Keep code and use version check instead, for backwards compatibility
|
| |
|
| |
|