--- deliantra/server/random_maps/square_spiral.C 2007/01/27 02:19:37 1.9 +++ deliantra/server/random_maps/square_spiral.C 2008/04/14 22:41:17 1.13 @@ -1,28 +1,26 @@ /* - * CrossFire, A Multiplayer game for X-windows + * This file is part of Deliantra, the Roguelike Realtime MMORPG. * - * Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team - * Copyright (C) 2001 Mark Wedel & Crossfire Development Team - * Copyright (C) 1992 Frank Tore Johansen + * Copyright (©) 2005,2006,2007,2008 Marc Alexander Lehmann / Robin Redeker / the Deliantra team + * Copyright (©) 2001,2007 Mark Wedel & Crossfire Development Team + * Copyright (©) 1992,2007 Frank Tore Johansen * - * This program is free software; you can redistribute it and/or modify + * Deliantra is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - * The authors can be reached via e-mail at + * along with this program. If not, see . + * + * The authors can be reached via e-mail to */ - /* peterm@langmuir.eecs.berkeley.edu: this function generates a random snake-type layout. @@ -34,20 +32,10 @@ */ - -#include #include -#include - -#include -#include -#include -#include -#include - - -char **map_gen_onion (int xsize, int ysize, int option, int layers); +#include "random_map.h" +#include "rproto.h" /* These are some helper functions which help with manipulating a centered onion and turning it into @@ -74,16 +62,18 @@ /* cx and cy should now be the top-right corner of the onion layer */ } - -char ** -make_square_spiral_layout (int xsize, int ysize, int options) +void +make_square_spiral_layout (Maze maze, int options) { int i, j; int cx, cy; int tx, ty; /* generate and allocate a doorless, centered onion */ - char **maze = map_gen_onion (xsize, ysize, RMOPT_CENTERED | RMOPT_NO_DOORS, 0); + map_gen_onion (maze, RMOPT_CENTERED | RMOPT_NO_DOORS, 0); + + int xsize = maze->w; + int ysize = maze->h; /* find the layout center. */ cx = 0; @@ -111,7 +101,7 @@ maze[tx - 1][ty] = 'D'; /* make a doorway out of this layer */ /* walk left until we find the top-left corner */ - while ((tx > 2) && maze[tx - 1][ty]) + while ((tx > 2) && maze[tx - 1, ty]) tx--; make_wall (maze, tx - 1, ty, 0); /* make a horizontal wall with a door */ @@ -142,7 +132,5 @@ maze[cx][cy] = '<'; maze[xsize - 2][1] = '>'; } - - return maze; }