diff options
Diffstat (limited to 'src/World/World.cpp')
| -rw-r--r-- | src/World/World.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/World/World.cpp b/src/World/World.cpp index 0f83310..3ff0cf4 100644 --- a/src/World/World.cpp +++ b/src/World/World.cpp @@ -119,7 +119,10 @@ void World::reassess_priorities(Position::World player_position) { // TODO: How do we know a chunk has been requested as an update? m_generation_queue.reassess([&](ChunkIndex id) -> GenerationQueue::Reassession { - if (!is_chunk_in_radius(player_position, id)) return {GenerationQueue::Reassession::Cancel}; + if (!is_chunk_in_radius(player_position, id)) { + m_registry.get(id).status = ChunkRegistry::Status::Empty; + return {GenerationQueue::Reassession::Cancel}; + } return { GenerationQueue::Reassession::Reassess, @@ -128,7 +131,10 @@ void World::reassess_priorities(Position::World player_position) { }); m_reification_queue.reassess([&](ChunkIndex id) -> ReificationQueue::Reassession { - if (!is_chunk_in_radius(player_position, id)) return {ReificationQueue::Reassession::Cancel}; + if (!is_chunk_in_radius(player_position, id)) { + m_registry.get(id).status = ChunkRegistry::Status::NeedsReification; + return {ReificationQueue::Reassession::Cancel}; + } return { ReificationQueue::Reassession::Reassess, |
