Mapblock mesh: Fix updateFastFaceRow tiling issue
Increase maximum length of tiled node rows from 2 to mapblock size.master
parent
5c0e659516
commit
7f4c6f32da
|
@ -839,7 +839,7 @@ static void updateFastFaceRow(
|
|||
{
|
||||
v3s16 p = startpos;
|
||||
|
||||
u16 continuous_tiles_count = 0;
|
||||
u16 continuous_tiles_count = 1;
|
||||
|
||||
bool makes_face = false;
|
||||
v3s16 p_corrected;
|
||||
|
@ -889,8 +889,8 @@ static void updateFastFaceRow(
|
|||
&& (tile.material_flags & MATERIAL_FLAG_TILEABLE_HORIZONTAL)
|
||||
&& (tile.material_flags & MATERIAL_FLAG_TILEABLE_VERTICAL)) {
|
||||
next_is_different = false;
|
||||
}
|
||||
else{
|
||||
continuous_tiles_count++;
|
||||
} else {
|
||||
/*if(makes_face){
|
||||
g_profiler->add("Meshgen: diff: next_makes_face != makes_face",
|
||||
next_makes_face != makes_face ? 1 : 0);
|
||||
|
@ -915,8 +915,6 @@ static void updateFastFaceRow(
|
|||
g_profiler->add("Meshgen: diff: last position", 1);*/
|
||||
}
|
||||
|
||||
continuous_tiles_count++;
|
||||
|
||||
if(next_is_different)
|
||||
{
|
||||
/*
|
||||
|
@ -928,8 +926,6 @@ static void updateFastFaceRow(
|
|||
v3f pf(p_corrected.X, p_corrected.Y, p_corrected.Z);
|
||||
// Center point of face (kind of)
|
||||
v3f sp = pf - ((f32)continuous_tiles_count / 2.0 - 0.5) * translate_dir_f;
|
||||
if(continuous_tiles_count != 1)
|
||||
sp += translate_dir_f;
|
||||
v3f scale(1,1,1);
|
||||
|
||||
if(translate_dir.X != 0) {
|
||||
|
@ -952,7 +948,8 @@ static void updateFastFaceRow(
|
|||
}
|
||||
}
|
||||
|
||||
continuous_tiles_count = 0;
|
||||
continuous_tiles_count = 1;
|
||||
}
|
||||
|
||||
makes_face = next_makes_face;
|
||||
p_corrected = next_p_corrected;
|
||||
|
@ -963,8 +960,6 @@ static void updateFastFaceRow(
|
|||
lights[3] = next_lights[3];
|
||||
tile = next_tile;
|
||||
light_source = next_light_source;
|
||||
}
|
||||
|
||||
p = p_next;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue