summaryrefslogtreecommitdiffstats
path: root/game/shared/feature.cc
diff options
context:
space:
mode:
Diffstat (limited to 'game/shared/feature.cc')
-rw-r--r--game/shared/feature.cc52
1 files changed, 0 insertions, 52 deletions
diff --git a/game/shared/feature.cc b/game/shared/feature.cc
deleted file mode 100644
index eb6cceb..0000000
--- a/game/shared/feature.cc
+++ /dev/null
@@ -1,52 +0,0 @@
-#include "shared/pch.hh"
-
-#include "shared/feature.hh"
-
-#include "shared/chunk.hh"
-#include "shared/coord.hh"
-#include "shared/dimension.hh"
-#include "shared/voxel_storage.hh"
-
-void Feature::place(const voxel_pos& vpos, Dimension* dimension) const
-{
- for(const auto [rpos, voxel, overwrite] : (*this)) {
- auto it_vpos = vpos + rpos;
- auto it_cpos = coord::to_chunk(it_vpos);
-
- if(auto chunk = dimension->create_chunk(it_cpos)) {
- auto it_lpos = coord::to_local(it_vpos);
- auto it_index = coord::to_index(it_lpos);
-
- if(chunk->get_voxel(it_index) && !overwrite) {
- // There is something in the way
- // and the called intentionally requested
- // we do not force feature to overwrite voxels
- continue;
- }
-
- chunk->set_voxel(voxel, it_index);
- }
- }
-}
-
-void Feature::place(const voxel_pos& vpos, const chunk_pos& cpos, VoxelStorage& voxels) const
-{
- for(const auto [rpos, voxel, overwrite] : (*this)) {
- auto it_vpos = vpos + rpos;
- auto it_cpos = coord::to_chunk(it_vpos);
-
- if(it_cpos == cpos) {
- auto it_lpos = coord::to_local(it_vpos);
- auto it_index = coord::to_index(it_lpos);
-
- if(voxels[it_index] && !overwrite) {
- // There is something in the way
- // and the called intentionally requested
- // we do not force feature to overwrite voxels
- continue;
- }
-
- voxels[it_index] = voxel;
- }
- }
-}