Skip to content

Commit 496cb11

Browse files
sapiersapier
sapier
authored and
sapier
committed
Speedup getTileInfo by up to 30%
1 parent 5d06bdf commit 496cb11

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/mapblock_mesh.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -770,9 +770,13 @@ static void getTileInfo(
770770
v3s16 blockpos_nodes = data->m_blockpos * MAP_BLOCKSIZE;
771771

772772
MapNode n0 = vmanip.getNodeNoEx(blockpos_nodes + p);
773+
774+
// Don't even try to get n1 if n0 is already CONTENT_IGNORE
775+
if (n0.getContent() == CONTENT_IGNORE ) {
776+
makes_face = false;
777+
return;
778+
}
773779
MapNode n1 = vmanip.getNodeNoEx(blockpos_nodes + p + face_dir);
774-
TileSpec tile0 = getNodeTile(n0, p, face_dir, data);
775-
TileSpec tile1 = getNodeTile(n1, p + face_dir, -face_dir, data);
776780

777781
// This is hackish
778782
bool equivalent = false;
@@ -789,14 +793,14 @@ static void getTileInfo(
789793

790794
if(mf == 1)
791795
{
792-
tile = tile0;
796+
tile = getNodeTile(n0, p, face_dir, data);
793797
p_corrected = p;
794798
face_dir_corrected = face_dir;
795799
light_source = ndef->get(n0).light_source;
796800
}
797801
else
798802
{
799-
tile = tile1;
803+
tile = getNodeTile(n1, p + face_dir, -face_dir, data);
800804
p_corrected = p + face_dir;
801805
face_dir_corrected = -face_dir;
802806
light_source = ndef->get(n1).light_source;

0 commit comments

Comments
 (0)