rendered paste bodyvoid subtract0(float x, float z){
ushort a = 0;
foreach(p; parts){
if(p.x0 < x < p.x1 && p.z0 < z < p.z1){
Log.write("1");
add(p.heightmap.subImage(p.heightmap.getHeight(), 0, 0, cast(int)(x/p.x1*p.heightmap.getWidth())), p.node.getModel().getMesh(0).getMaterial(), p.x0, p.z0, x, p.z1);
Log.write("2");
add(p.heightmap.subImage(p.heightmap.getHeight, cast(int)(x/p.x1*p.heightmap.getWidth()), cast(int)(z/p.z1*p.heightmap.getHeight()), p.heightmap.getHeight()), p.node.getModel().meshes[0].getMaterial(), x, z, p.x1, p.z1);
Log.write("3");
add(p.heightmap.subImage(cast(int)(z/p.z1*p.heightmap.getHeight()), cast(int)(x/p.x1*p.heightmap.getWidth()), 0, p.heightmap.getWidth()), p.node.getModel().meshes[0].getMaterial(), x, p.z0, p.x1, z);
p.node.remove();
Log.write("4");
if(a == 0)
parts = parts[(a+1)..$];
else
parts = parts[0..a-1] ~ parts[(a+1)..$];
break;
}
a++;
}
}