--- deliantra/server/random_maps/layout.C 2010/07/05 00:07:21 1.24 +++ deliantra/server/random_maps/layout.C 2010/07/05 01:57:55 1.25 @@ -314,11 +314,17 @@ // phase 2, while we have seeds, if // seed is empty, floodfill, else grow + int rem_index = 0; // used to remove "somewhat ordered" + while (seeds.size) { coroapi::cede_to_tick (); - point p = seeds.remove (rmg_rndm (seeds.size)); + int i = perturb + ? rmg_rndm (max (0, seeds.size - 8), seeds.size - 1) + : rem_index ++ % seeds.size; + + point p = seeds.remove (i); x = p.x; y = p.y; @@ -1013,10 +1019,10 @@ for(int i=1;i<100;i++) { layout maze (40, 30); - gen_village (maze); - maze.doorify (); + maze.fill_rand (99); + maze.border (); + maze.isolation_remover (2); maze.print (); - exit(0); } exit (1);