mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
* refactored liquid transformation code (has some flaws)
Completely rewrote the liquid transformation. The algorithm now exclusively modifies the current node in one iteration. Another change is that MapNode.param2 now stores a bit that tells other nodes if a flowing liquid node flows downwards. This is accomplished by two masks on param2 for the "flow down" bit and the "liquid level" bits. This will be the base of future improvements to the liquid flow. However, in the current state flowing liquid does not always disappear when cut off its source. Be aware that this branch is work in progress.
This commit is contained in:
parent
2586a186bd
commit
f1e8ff2245
3 changed files with 218 additions and 262 deletions
|
@ -375,7 +375,7 @@ void mapblock_mesh_generate_special(MeshMakeData *data,
|
|||
if(n2.d == CONTENT_WATERSOURCE)
|
||||
level = (-0.5+node_water_level) * BS;
|
||||
else if(n2.d == CONTENT_WATER)
|
||||
level = (-0.5 + ((float)n2.param2 + 0.5) / 8.0
|
||||
level = (-0.5 + ((float)(n2.param2 & LIQUID_LEVEL_MASK) + 0.5) / 8.0
|
||||
* node_water_level) * BS;
|
||||
|
||||
// Check node above neighbor.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue