|
|
|
@ -1470,6 +1470,8 @@ void embark_assist::survey::survey_mid_level_tile(embark_assist::defs::geo_data
|
|
|
|
|
|
|
|
|
|
tile->north_corner_selection[i] = world_data->region_details[0]->edges.biome_corner[i][0];
|
|
|
|
|
tile->west_corner_selection[i] = world_data->region_details[0]->edges.biome_corner[0][i];
|
|
|
|
|
tile->north_row_biome_x[i] = world_data->region_details[0]->edges.biome_x[i][0];
|
|
|
|
|
tile->west_column_biome_y[i] = world_data->region_details[0]->edges.biome_y[0][i];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (uint8_t i = 0; i < 16; i++) {
|
|
|
|
@ -1919,7 +1921,17 @@ uint8_t embark_assist::survey::translate_ns_edge(embark_assist::defs::world_tile
|
|
|
|
|
north_region_type = embark_assist::survey::region_type_of(survey_results, x, y, i, k - 1);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
effective_edge = world_data->region_details[0]->edges.biome_x[i][k + 1];
|
|
|
|
|
if (k < 15) { // We're still within the same world tile
|
|
|
|
|
effective_edge = world_data->region_details[0]->edges.biome_x[i][k + 1];
|
|
|
|
|
}
|
|
|
|
|
else { // Getting the data from the world tile to the south
|
|
|
|
|
if (y + 1 == world_data->world_height) {
|
|
|
|
|
return 4; // There's nothing to the south, so we fall back on our own tile.
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
effective_edge = survey_results->at(x).at(y + 1).north_row_biome_x[i];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
north_region_type = embark_assist::survey::region_type_of(survey_results, x, y, i, k);
|
|
|
|
|
south_region_type = embark_assist::survey::region_type_of(survey_results, x, y, i, k + 1);
|
|
|
|
|
}
|
|
|
|
@ -1993,7 +2005,16 @@ uint8_t embark_assist::survey::translate_ew_edge(embark_assist::defs::world_tile
|
|
|
|
|
west_region_type = embark_assist::survey::region_type_of(survey_results, x, y, i - 1, k);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
effective_edge = world_data->region_details[0]->edges.biome_y[i + 1][k];
|
|
|
|
|
if (i < 15) { // We're still within the same world tile
|
|
|
|
|
effective_edge = world_data->region_details[0]->edges.biome_y[i + 1][k];
|
|
|
|
|
}
|
|
|
|
|
else { // Getting the data from the world tile to the east
|
|
|
|
|
if (x + 1 == world_data->world_width) {
|
|
|
|
|
return 4; // There's nothing to the east, so we fall back on our own tile.
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
effective_edge = survey_results->at(x + 1).at(y).west_column_biome_y[k];
|
|
|
|
|
}
|
|
|
|
|
west_region_type = embark_assist::survey::region_type_of(survey_results, x, y, i, k);
|
|
|
|
|
east_region_type = embark_assist::survey::region_type_of(survey_results, x, y, i + 1, k);
|
|
|
|
|
}
|
|
|
|
|