aboutsummaryrefslogtreecommitdiff
path: root/src/client/clientmap.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/clientmap.h')
-rw-r--r--src/client/clientmap.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/client/clientmap.h b/src/client/clientmap.h
index f5e02d6d0..cc68c1c15 100644
--- a/src/client/clientmap.h
+++ b/src/client/clientmap.h
@@ -76,7 +76,7 @@ public:
s32 id
);
- virtual ~ClientMap() = default;
+ virtual ~ClientMap();
bool maySaveBlocks() override
{
@@ -116,6 +116,8 @@ public:
void getBlocksInViewRange(v3s16 cam_pos_nodes,
v3s16 *p_blocks_min, v3s16 *p_blocks_max, float range=-1.0f);
void updateDrawList();
+ // @brief Calculate statistics about the map and keep the blocks alive
+ void touchMapBlocks();
void updateDrawListShadow(v3f shadow_light_pos, v3f shadow_light_dir, float radius, float length);
// Returns true if draw list needs updating before drawing the next frame.
bool needsUpdateDrawList() { return m_needs_update_drawlist; }
@@ -136,11 +138,14 @@ public:
f32 getWantedRange() const { return m_control.wanted_range; }
f32 getCameraFov() const { return m_camera_fov; }
+ void onSettingChanged(const std::string &name);
+
private:
// update the vertex order in transparent mesh buffers
void updateTransparentMeshBuffers();
+
// Orders blocks by distance to the camera
class MapBlockComparer
{
@@ -205,4 +210,7 @@ private:
bool m_cache_bilinear_filter;
bool m_cache_anistropic_filter;
u16 m_cache_transparency_sorting_distance;
+
+ bool m_new_occlusion_culler;
+ bool m_enable_raytraced_culling;
};