--- deliantra/server/random_maps/random_map.h 2010/07/03 03:09:27 1.41 +++ deliantra/server/random_maps/random_map.h 2010/07/04 00:58:18 1.44 @@ -36,7 +36,6 @@ int layoutoptions1; int layoutoptions2; int layoutoptions3; - int symmetry; int difficulty; int difficulty_given; float difficulty_increase; @@ -44,11 +43,8 @@ int dungeon_level; int dungeon_depth; - int orientation; uint32_t random_seed; uint64_t total_map_hp; - int map_layout_style; - int symmetry_used; HV *hv; @@ -73,6 +69,9 @@ int Xsize; int Ysize; + int map_layout_style; + int symmetry_used; + random_map_params (); random_map_params (random_map_params *RP); random_map_params (HV *hv); @@ -88,6 +87,7 @@ LAYOUT_SNAKE, LAYOUT_SQUARE_SPIRAL, LAYOUT_CAVE, + LAYOUT_CASTLE, LAYOUT_MULTIPLE, NROFLAYOUTS, }; @@ -194,10 +194,14 @@ MTH void fill_rand (int perc); // makes sure all areas are connected - MTH void isolation_remover (); + // perturb = 0 - very horz/vert tunnels + // perturb = 1 - straight but round + // perturb = 2 - snaky tunnels + MTH void isolation_remover (int perturb = 2); // generates a cave, subtype 0 is a rough cave, randomly open or closed MTH void gen_cave (int subtype); + MTH void gen_castle (); // generates straightish structures // helper functions to modify the maze MTH void erode_1_2 (int c1, int c2 = -1, int repeat = 1); @@ -226,8 +230,8 @@ // a simple point helper struct struct point { - short x; - short y; + int x; + int y; point () {