ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/random_maps/layout.C
(Generate patch)

Comparing deliantra/server/random_maps/layout.C (file contents):
Revision 1.21 by root, Sun Jul 4 01:01:42 2010 UTC vs.
Revision 1.22 by root, Sun Jul 4 20:23:41 2010 UTC

829} 829}
830 830
831static void 831static void
832gen_mixed_ (layout &maze, random_map_params *RP) 832gen_mixed_ (layout &maze, random_map_params *RP)
833{ 833{
834 int dir; 834 if (maze.w > maze.h && maze.w > 16)
835
836 if (maze.w < 20 && maze.h < 20 && !rmg_rndm (3))
837 dir = 2; // stop recursion randomly
838 else
839 dir = maze.w > maze.h;
840
841 if (dir == 0 && maze.w > 16)
842 { 835 {
843 int m = rmg_rndm (8, maze.w - 8); 836 int m = rmg_rndm (8, maze.w - 8);
844 837
845 layout m1 (maze, 0, 0, m , maze.h); gen_mixed_ (m1, RP); 838 layout m1 (maze, 0, 0, m , maze.h); gen_mixed_ (m1, RP);
846 layout m2 (maze, m, 0, maze.w, maze.h); gen_mixed_ (m2, RP); 839 layout m2 (maze, m, 0, maze.w, maze.h); gen_mixed_ (m2, RP);
847 } 840 }
848 else if (dir == 1 && maze.h > 16) 841 else if (maze.h > 16)
849 { 842 {
850 int m = rmg_rndm (8, maze.h - 8); 843 int m = rmg_rndm (8, maze.h - 8);
851 844
852 layout m1 (maze, 0, 0, maze.w, m ); gen_mixed_ (m1, RP); 845 layout m1 (maze, 0, 0, maze.w, m ); gen_mixed_ (m1, RP);
853 layout m2 (maze, 0, m, maze.w, maze.h); gen_mixed_ (m2, RP); 846 layout m2 (maze, 0, m, maze.w, maze.h); gen_mixed_ (m2, RP);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines