mirror of
https://github.com/minetest/minetest.git
synced 2024-11-24 00:23:46 +01:00
Speedup getTileInfo by up to 30%
This commit is contained in:
parent
5d06bdf8ac
commit
496cb115b1
@ -770,9 +770,13 @@ static void getTileInfo(
|
|||||||
v3s16 blockpos_nodes = data->m_blockpos * MAP_BLOCKSIZE;
|
v3s16 blockpos_nodes = data->m_blockpos * MAP_BLOCKSIZE;
|
||||||
|
|
||||||
MapNode n0 = vmanip.getNodeNoEx(blockpos_nodes + p);
|
MapNode n0 = vmanip.getNodeNoEx(blockpos_nodes + p);
|
||||||
|
|
||||||
|
// Don't even try to get n1 if n0 is already CONTENT_IGNORE
|
||||||
|
if (n0.getContent() == CONTENT_IGNORE ) {
|
||||||
|
makes_face = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
MapNode n1 = vmanip.getNodeNoEx(blockpos_nodes + p + face_dir);
|
MapNode n1 = vmanip.getNodeNoEx(blockpos_nodes + p + face_dir);
|
||||||
TileSpec tile0 = getNodeTile(n0, p, face_dir, data);
|
|
||||||
TileSpec tile1 = getNodeTile(n1, p + face_dir, -face_dir, data);
|
|
||||||
|
|
||||||
// This is hackish
|
// This is hackish
|
||||||
bool equivalent = false;
|
bool equivalent = false;
|
||||||
@ -789,14 +793,14 @@ static void getTileInfo(
|
|||||||
|
|
||||||
if(mf == 1)
|
if(mf == 1)
|
||||||
{
|
{
|
||||||
tile = tile0;
|
tile = getNodeTile(n0, p, face_dir, data);
|
||||||
p_corrected = p;
|
p_corrected = p;
|
||||||
face_dir_corrected = face_dir;
|
face_dir_corrected = face_dir;
|
||||||
light_source = ndef->get(n0).light_source;
|
light_source = ndef->get(n0).light_source;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
tile = tile1;
|
tile = getNodeTile(n1, p + face_dir, -face_dir, data);
|
||||||
p_corrected = p + face_dir;
|
p_corrected = p + face_dir;
|
||||||
face_dir_corrected = -face_dir;
|
face_dir_corrected = -face_dir;
|
||||||
light_source = ndef->get(n1).light_source;
|
light_source = ndef->get(n1).light_source;
|
||||||
|
Loading…
Reference in New Issue
Block a user