CaveV7::CaveV7(MapgenV7 *mg, PseudoRandom *ps)
{
this->mg = mg;
this->vm = mg->vm;
this->ndef = mg->ndef;
this->water_level = mg->water_level;
// SK fix begin
this->surface_level = mg->terrain_surface_level;
// SK fix end
:
void CaveV7::makeCave(v3s16 nmin, v3s16 nmax, int max_stone_height) {
:
// SK fix begin
// Allow tunnel radius to project above surface
route_y_max = -of.Y + max_stone_y + max_tunnel_diameter / 2;
// Limit maximum to area
route_y_max = rangelim(route_y_max, 0, ar.Y - 1);
// Limit maximum to area
route_y_max = rangelim(route_y_max, 0, ar.Y - 1);
s16 min = 0;
if (node_min.Y < surface_level && node_max.Y > surface_level) {
min = surface_level - max_tunnel_diameter/3 - of.Y;
route_y_max = surface_level + max_tunnel_diameter/3 - of.Y;
}
// SK fix end
:
void CaveV7::makeTunnel(bool dirswitch) {
:
} else if (p.Y > surface_level) {
return; // If it's not in our heightmap, use a simple heuristic
}
:
} else if (p.Y > surface_level) {
return;
}
Users browsing this forum: No registered users and 3 guests