mirror of
https://github.com/minetest/minetest.git
synced 2024-11-30 11:33:44 +01:00
Process ABMs in a spherical volume instead of cubic
Increase active_block_range default to a 3 mapblock radius.
This commit is contained in:
parent
923a8f1983
commit
2f59a0c840
@ -758,7 +758,7 @@ active_object_send_range_blocks (Active object send range) int 3
|
|||||||
|
|
||||||
# How large area of blocks are subject to the active block stuff, stated in mapblocks (16 nodes).
|
# How large area of blocks are subject to the active block stuff, stated in mapblocks (16 nodes).
|
||||||
# In active blocks objects are loaded and ABMs run.
|
# In active blocks objects are loaded and ABMs run.
|
||||||
active_block_range (Active block range) int 2
|
active_block_range (Active block range) int 3
|
||||||
|
|
||||||
# From how far blocks are sent to clients, stated in mapblocks (16 nodes).
|
# From how far blocks are sent to clients, stated in mapblocks (16 nodes).
|
||||||
max_block_send_distance (Max block send distance) int 10
|
max_block_send_distance (Max block send distance) int 10
|
||||||
|
@ -913,7 +913,7 @@
|
|||||||
# How large area of blocks are subject to the active block stuff, stated in mapblocks (16 nodes).
|
# How large area of blocks are subject to the active block stuff, stated in mapblocks (16 nodes).
|
||||||
# In active blocks objects are loaded and ABMs run.
|
# In active blocks objects are loaded and ABMs run.
|
||||||
# type: int
|
# type: int
|
||||||
# active_block_range = 2
|
# active_block_range = 3
|
||||||
|
|
||||||
# From how far blocks are sent to clients, stated in mapblocks (16 nodes).
|
# From how far blocks are sent to clients, stated in mapblocks (16 nodes).
|
||||||
# type: int
|
# type: int
|
||||||
|
@ -273,7 +273,7 @@ void set_default_settings(Settings *settings)
|
|||||||
settings->setDefault("profiler_print_interval", "0");
|
settings->setDefault("profiler_print_interval", "0");
|
||||||
settings->setDefault("enable_mapgen_debug_info", "false");
|
settings->setDefault("enable_mapgen_debug_info", "false");
|
||||||
settings->setDefault("active_object_send_range_blocks", "3");
|
settings->setDefault("active_object_send_range_blocks", "3");
|
||||||
settings->setDefault("active_block_range", "2");
|
settings->setDefault("active_block_range", "3");
|
||||||
//settings->setDefault("max_simultaneous_block_sends_per_client", "1");
|
//settings->setDefault("max_simultaneous_block_sends_per_client", "1");
|
||||||
// This causes frametime jitter on client side, or does it?
|
// This causes frametime jitter on client side, or does it?
|
||||||
settings->setDefault("max_simultaneous_block_sends_per_client", "10");
|
settings->setDefault("max_simultaneous_block_sends_per_client", "10");
|
||||||
|
@ -397,10 +397,13 @@ void fillRadiusBlock(v3s16 p0, s16 r, std::set<v3s16> &list)
|
|||||||
for(p.Y=p0.Y-r; p.Y<=p0.Y+r; p.Y++)
|
for(p.Y=p0.Y-r; p.Y<=p0.Y+r; p.Y++)
|
||||||
for(p.Z=p0.Z-r; p.Z<=p0.Z+r; p.Z++)
|
for(p.Z=p0.Z-r; p.Z<=p0.Z+r; p.Z++)
|
||||||
{
|
{
|
||||||
|
// limit to a sphere
|
||||||
|
if (p.getDistanceFrom(p0) <= r) {
|
||||||
// Set in list
|
// Set in list
|
||||||
list.insert(p);
|
list.insert(p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void ActiveBlockList::update(std::vector<v3s16> &active_positions,
|
void ActiveBlockList::update(std::vector<v3s16> &active_positions,
|
||||||
s16 radius,
|
s16 radius,
|
||||||
|
Loading…
Reference in New Issue
Block a user