diff options
| author | Mel <einebeere@gmail.com> | 2023-08-03 02:42:50 +0200 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2023-08-03 02:42:50 +0200 |
| commit | a627fb7038c94de9be9709ea88dcd1dddc95c5a3 (patch) | |
| tree | 89500a83e9444032b903724574d8d71cd40d8e32 /src | |
| parent | 1d574e5e8fe3f08d13f1b8c4444fc4cb02cf0faf (diff) | |
| download | meowcraft-a627fb7038c94de9be9709ea88dcd1dddc95c5a3.tar.zst meowcraft-a627fb7038c94de9be9709ea88dcd1dddc95c5a3.zip | |
Reset status of cancelled chunks
Diffstat (limited to 'src')
| -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, |
