]> git.lizzy.rs Git - minetest.git/blobdiff - src/clientmap.cpp
Cleanup jthread and fix win32 build
[minetest.git] / src / clientmap.cpp
index c0806836704e11d10a483277ea428e5efe55877c..df6c2822c209ce4467d15ad862b2ce7f0129037d 100644 (file)
@@ -50,9 +50,6 @@ ClientMap::ClientMap(
        m_camera_direction(0,0,1),
        m_camera_fov(M_PI)
 {
-       m_camera_mutex.Init();
-       assert(m_camera_mutex.IsInitialized());
-       
        m_box = core::aabbox3d<f32>(-BS*1000000,-BS*1000000,-BS*1000000,
                        BS*1000000,BS*1000000,BS*1000000);
 }
@@ -215,6 +212,8 @@ void ClientMap::updateDrawList(video::IVideoDriver* driver)
        //u32 blocks_had_pass_meshbuf = 0;
        // Blocks from which stuff was actually drawn
        //u32 blocks_without_stuff = 0;
+       // Distance to farthest drawn block
+       float farthest_drawn = 0;
 
        for(std::map<v2s16, MapSector*>::iterator
                        si = m_sectors.begin();
@@ -347,6 +346,8 @@ void ClientMap::updateDrawList(video::IVideoDriver* driver)
 
                        sector_blocks_drawn++;
                        blocks_drawn++;
+                       if(d/BS > farthest_drawn)
+                               farthest_drawn = d/BS;
 
                } // foreach sectorblocks
 
@@ -356,6 +357,7 @@ void ClientMap::updateDrawList(video::IVideoDriver* driver)
 
        m_control.blocks_would_have_drawn = blocks_would_have_drawn;
        m_control.blocks_drawn = blocks_drawn;
+       m_control.farthest_drawn = farthest_drawn;
 
        g_profiler->avg("CM: blocks in range", blocks_in_range);
        g_profiler->avg("CM: blocks occlusion culled", blocks_occlusion_culled);
@@ -363,6 +365,7 @@ void ClientMap::updateDrawList(video::IVideoDriver* driver)
                g_profiler->avg("CM: blocks in range without mesh (frac)",
                                (float)blocks_in_range_without_mesh/blocks_in_range);
        g_profiler->avg("CM: blocks drawn", blocks_drawn);
+       g_profiler->avg("CM: farthest drawn", farthest_drawn);
        g_profiler->avg("CM: wanted max blocks", m_control.wanted_max_blocks);
 }