ServerRemotePlayer implements ServerActiveObject
[oweals/minetest.git] / src / map.cpp
index 3ecdfa00fc5f365db47f7d7eb1337cb710d1dde5..f2ac3f6184bb3d1f67485d6bd259189941be1a36 100644 (file)
@@ -3786,9 +3786,6 @@ void ClientMap::renderMap(video::IVideoDriver* driver, s32 pass)
 
                        blocks_in_range++;
                        
-                       // This block is in range. Reset usage timer.
-                       block->resetUsageTimer();
-
 #if 1
                        /*
                                Update expired mesh (used for day/night change)
@@ -3844,10 +3841,10 @@ void ClientMap::renderMap(video::IVideoDriver* driver, s32 pass)
                                Occlusion culling
                        */
 
-                       v3s16 cpn = v3s16(block->getPos() * MAP_BLOCKSIZE)
-                                       + v3s16(MAP_BLOCKSIZE)/2;
+                       v3s16 cpn = block->getPos() * MAP_BLOCKSIZE;
+                       cpn += v3s16(MAP_BLOCKSIZE/2, MAP_BLOCKSIZE/2, MAP_BLOCKSIZE/2);
                        float step = BS*1;
-                       float stepfac = 1.2;
+                       float stepfac = 1.1;
                        float startoff = BS*1;
                        float endoff = -BS*MAP_BLOCKSIZE*1.42*1.42;
                        v3s16 spn = cam_pos_nodes + v3s16(0,0,0);
@@ -3878,6 +3875,9 @@ void ClientMap::renderMap(video::IVideoDriver* driver, s32 pass)
                                continue;
                        }
                        
+                       // This block is in range. Reset usage timer.
+                       block->resetUsageTimer();
+
                        /*
                                Ignore if mesh doesn't exist
                        */