| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fix integer overflow in mapgen
Some calculations involving the magic seed had overflow because the result of an intermediate arithmetic step could not fit in an s32. By making the magic seed unsigned, the other operand in the equation will be cast to unsigned, and possibly other operands or intermediate operands. This will result in unexpected behavior if an operand is negative, which is technically possible, but logically should not happen.
* comment noise2d bitshift
While working through the code I was momentarily concerned that the right bitshift in noise2d could fill ones in some cases. It turns out that with signed integers, this is indeed true, but this one is shifting an unsigned integer, so the behavior is as expected. I put a comment here to clarify this, in case someone else wonders the same thing down the line.
* noise2d and noise3d unittests
I have added 3 tests each for noise2d and noise3d, testing all zero inputs, a very large seed (case which caused UB in the old implementation) and some fun primes I picked for no particular reason. This should be sufficient to demonstrate that the behavior of the new implementation has not changed. I used uniform initialization because it is a good feature of C++11. Please do not explode.
* uncomment the noise2d bitshift
This reverts commit 583b77ee9f1ad6bb77340ebb5ba51eb9a88ff51c. It's a
well-defined language semantic; it doesn't need to be commented.
* code cleanliness
|
| |
|
|
|
|
|
|
| |
This was added a long time ago in 42bbd5c9ae06a8d8ffb7915599097ead6f848755
and meant to fix prevent the view becoming black when jumping into a
ceiling, this no longer happens today.
|
| |
|
|
|
|
| |
bug introduced in 8908a9101608d3343023b470743ef63f1c44b0b7
|
|
|
|
| |
fixes #10769
|
| |
|
|
|
|
|
|
| |
issue: #10884
This makes it possible for objects to immediately be activated,
but doesn't guarantee it since blocks may still need be emerged.
|
|
|
|
| |
fixes #12216
|
|
|
|
| |
fixes #11975
|
|
|
|
| |
bug introduced in 2f32044273d107e82fb1c35d4a0f616fa480cdf0
|
|
|
|
| |
closes #12149
|
| |
|
|
|
|
| |
fixes #8943
|
|
|
|
| |
The distance check also never worked as intended, now fixed.
|
|
|
|
| |
closes #12272
|
|
|
|
| |
Of those settings main_menu_script has concrete security impact, the rest are added out of abundance of caution.
|
|
|
|
| |
fixes #9842
|
|
|
|
| |
fixes #11442
|
| |
|
|
|
|
|
|
| |
On my system this is a reduction from 4664 to 3704 bytes.
This is not for the sake of saving RAM but ensuring
commonly used structures fit into caches better.
|
| |
|
| |
|
|
|
|
|
|
|
| |
* 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
|