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

Comparing deliantra/server/random_maps/exit.C (file contents):
Revision 1.20 by pippijn, Sat Jan 6 14:42:30 2007 UTC vs.
Revision 1.24 by root, Thu Jan 18 19:42:10 2007 UTC

1/* 1/*
2 CrossFire, A Multiplayer game for X-windows 2 * CrossFire, A Multiplayer game for X-windows
3 3 *
4 Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team 4 * Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team
5 Copyright (C) 2001 Mark Wedel & Crossfire Development Team 5 * Copyright (C) 2001 Mark Wedel & Crossfire Development Team
6 Copyright (C) 1992 Frank Tore Johansen 6 * Copyright (C) 1992 Frank Tore Johansen
7 7 *
8 This program is free software; you can redistribute it and/or modify 8 * This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by 9 * it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2 of the License, or 10 * the Free Software Foundation; either version 2 of the License, or
11 (at your option) any later version. 11 * (at your option) any later version.
12 12 *
13 This program is distributed in the hope that it will be useful, 13 * This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details. 16 * GNU General Public License for more details.
17 17 *
18 You should have received a copy of the GNU General Public License 18 * You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software 19 * along with this program; if not, write to the Free Software
20 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 21 *
22 The authors can be reached via e-mail at <crossfire@schmorp.de> 22 * The authors can be reached via e-mail at <crossfire@schmorp.de>
23*/ 23 */
24 24
25#include <global.h> 25#include <global.h>
26#include <random_map.h> 26#include <random_map.h>
27#include <sproto.h> 27#include <sproto.h>
28#include <rproto.h> 28#include <rproto.h>
38 *fx = -1; 38 *fx = -1;
39 *fy = -1; 39 *fy = -1;
40 40
41 /* if a starting point isn't given, pick one */ 41 /* if a starting point isn't given, pick one */
42 if (mode < 1 || mode > 4) 42 if (mode < 1 || mode > 4)
43 M = RANDOM () % 4 + 1; 43 M = rndm (4) + 1;
44 else 44 else
45 M = mode; 45 M = mode;
46 46
47 /* four different search starting points and methods so that 47 /* four different search starting points and methods so that
48 we can do something different for symmetrical maps instead of 48 we can do something different for symmetrical maps instead of
133 if (RP->exit_on_final_map) 133 if (RP->exit_on_final_map)
134 if (strstr (RP->exit_on_final_map, "no")) 134 if (strstr (RP->exit_on_final_map, "no"))
135 final_map_exit = 0; 135 final_map_exit = 0;
136 136
137 if (!orientation) 137 if (!orientation)
138 orientation = RANDOM () % 6 + 1; 138 orientation = rndm (6) + 1;
139 139
140 switch (orientation) 140 switch (orientation)
141 { 141 {
142 case 1: 142 case 1:
143 { 143 {
302 if (downx == -1) 302 if (downx == -1)
303 find_in_layout (0, 0, &downx, &downy, maze, RP); 303 find_in_layout (0, 0, &downx, &downy, maze, RP);
304 304
305 if (the_exit_down) 305 if (the_exit_down)
306 { 306 {
307 char buf[8192]; 307 char buf[16384];
308 308
309 int i = find_first_free_spot (the_exit_down, map, downx, downy); 309 int i = find_free_spot (the_exit_down, map, downx, downy, 1, SIZEOFFREE1 + 1);
310 the_exit_down->x = downx + freearr_x[i]; 310 the_exit_down->x = downx + freearr_x[i];
311 the_exit_down->y = downy + freearr_y[i]; 311 the_exit_down->y = downy + freearr_y[i];
312 RP->origin_x = the_exit_down->x; 312 RP->origin_x = the_exit_down->x;
313 RP->origin_y = the_exit_down->y; 313 RP->origin_y = the_exit_down->y;
314 write_map_parameters_to_string (buf, RP); 314 write_map_parameters_to_string (buf, RP);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines