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

Comparing deliantra/server/random_maps/rogue_layout.C (file contents):
Revision 1.5 by root, Thu Jan 18 19:42:10 2007 UTC vs.
Revision 1.6 by root, Sat Jan 27 02:19:37 2007 UTC

17} Room; 17} Room;
18 18
19static int roguelike_place_room (Room * Rooms, int xsize, int ysize, int nrooms); 19static int roguelike_place_room (Room * Rooms, int xsize, int ysize, int nrooms);
20static void roguelike_make_rooms (Room * Rooms, char **maze, int options); 20static void roguelike_make_rooms (Room * Rooms, char **maze, int options);
21static void roguelike_link_rooms (Room * Rooms, char **maze, int xsize, int ysize); 21static void roguelike_link_rooms (Room * Rooms, char **maze, int xsize, int ysize);
22
23 22
24int 23int
25surround_check (char **layout, int i, int j, int Xsize, int Ysize) 24surround_check (char **layout, int i, int j, int Xsize, int Ysize)
26{ 25{
27 /* 1 = wall to left, 26 /* 1 = wall to left,
174 /* decide on the base x and y sizes */ 173 /* decide on the base x and y sizes */
175 174
176 x_basesize = xsize / isqrt (nrooms); 175 x_basesize = xsize / isqrt (nrooms);
177 y_basesize = ysize / isqrt (nrooms); 176 y_basesize = ysize / isqrt (nrooms);
178 177
179 178 tx = rndm (xsize);
180 tx = RANDOM () % xsize; 179 ty = rndm (ysize);
181 ty = RANDOM () % ysize;
182 180
183 /* generate a distribution of sizes centered about basesize */ 181 /* generate a distribution of sizes centered about basesize */
184 sx = (RANDOM () % x_basesize) + (RANDOM () % x_basesize) + (RANDOM () % x_basesize); 182 sx = rndm (x_basesize) + rndm (x_basesize) + rndm (x_basesize);
185 sy = (RANDOM () % y_basesize) + (RANDOM () % y_basesize) + (RANDOM () % y_basesize); 183 sy = rndm (y_basesize) + rndm (y_basesize) + rndm (y_basesize);
186 sy = (int) (sy * .5); /* renormalize */ 184 sy = (int) (sy * .5); /* renormalize */
187 185
188 /* find the corners */ 186 /* find the corners */
189 ax = tx - sx / 2; 187 ax = tx - sx / 2;
190 zx = tx + sx / 2 + sx % 2; 188 zx = tx + sx / 2 + sx % 2;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines