Fix industry tile layout validation when the layout has only one tile
See: https://github.com/OpenTTD/OpenTTD/issues/9925
This commit is contained in:
@@ -3542,20 +3542,24 @@ static bool ValidateIndustryLayout(const IndustryTileLayout &layout)
|
|||||||
const size_t size = layout.size();
|
const size_t size = layout.size();
|
||||||
if (size == 0) return false;
|
if (size == 0) return false;
|
||||||
|
|
||||||
size_t valid_regular_tiles = 0;
|
|
||||||
|
|
||||||
for (size_t i = 0; i < size - 1; i++) {
|
for (size_t i = 0; i < size - 1; i++) {
|
||||||
for (size_t j = i + 1; j < size; j++) {
|
for (size_t j = i + 1; j < size; j++) {
|
||||||
if (layout[i].ti.x == layout[j].ti.x &&
|
if (layout[i].ti.x == layout[j].ti.x &&
|
||||||
layout[i].ti.y == layout[j].ti.y) {
|
layout[i].ti.y == layout[j].ti.y) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool have_regular_tile = false;
|
||||||
|
for (size_t i = 0; i < size; i++) {
|
||||||
if (layout[i].gfx != GFX_WATERTILE_SPECIALCHECK) {
|
if (layout[i].gfx != GFX_WATERTILE_SPECIALCHECK) {
|
||||||
++valid_regular_tiles;
|
have_regular_tile = true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return valid_regular_tiles > 0;
|
return have_regular_tile;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user