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

Comparing deliantra/server/random_maps/floor.C (file contents):
Revision 1.2 by root, Tue Aug 29 08:01:36 2006 UTC vs.
Revision 1.6 by root, Sat Sep 16 22:24:12 2006 UTC

1/*
2 * static char *rcsid_floor_c =
3 * "$Id: floor.C,v 1.2 2006/08/29 08:01:36 root Exp $";
4 */
5
6/* 1/*
7 CrossFire, A Multiplayer game for X-windows 2 CrossFire, A Multiplayer game for X-windows
8 3
9 Copyright (C) 2002 Mark Wedel & Crossfire Development Team 4 Copyright (C) 2002 Mark Wedel & Crossfire Development Team
10 Copyright (C) 1992 Frank Tore Johansen 5 Copyright (C) 1992 Frank Tore Johansen
21 16
22 You should have received a copy of the GNU General Public License 17 You should have received a copy of the GNU General Public License
23 along with this program; if not, write to the Free Software 18 along with this program; if not, write to the Free Software
24 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 19 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25 20
26 The authors can be reached via e-mail at crossfire-devel@real-time.com 21 The authors can be reached via e-mail at <crossfire@schmorp.de>
27*/ 22*/
28 23
29 24
30#include <global.h> 25#include <global.h>
31#include <random_map.h> 26#include <random_map.h>
32#include <rproto.h> 27#include <rproto.h>
33 28
34/* make a map and layout the floor. */ 29/* make a map and layout the floor. */
35 30
31maptile *
36mapstruct *make_map_floor(char **layout, char *floorstyle,RMParms *RP) { 32make_map_floor (char **layout, char *floorstyle, RMParms * RP)
33{
37 char styledirname[256]; 34 char styledirname[256];
38 char stylefilepath[256]; 35 char stylefilepath[256];
39 mapstruct *style_map=0; 36 maptile *style_map = 0;
40 object *the_floor; 37 object *the_floor;
41 mapstruct *newMap =0; /* (mapstruct *) calloc(sizeof(mapstruct),1); */ 38 maptile *newMap = 0;
42 39
43 /* allocate the map */ 40 /* allocate the map */
44 newMap = get_empty_map(RP->Xsize,RP->Ysize); 41 newMap = get_empty_map (RP->Xsize, RP->Ysize);
45 42
46 /* get the style map */ 43 /* get the style map */
47 sprintf(styledirname,"%s","/styles/floorstyles"); 44 sprintf (styledirname, "%s", "/styles/floorstyles");
48 sprintf(stylefilepath,"%s/%s",styledirname,floorstyle); 45 sprintf (stylefilepath, "%s/%s", styledirname, floorstyle);
49 style_map = find_style(styledirname,floorstyle,-1); 46 style_map = find_style (styledirname, floorstyle, -1);
50 if(style_map == 0) return newMap; 47 if (style_map == 0)
48 return newMap;
51 49
52 /* fill up the map with the given floor style */ 50 /* fill up the map with the given floor style */
53 if((the_floor=pick_random_object(style_map))!=NULL) { 51 if ((the_floor = pick_random_object (style_map)) != NULL)
52 {
54 int i,j; 53 int i, j;
54
55 for(i=0;i<RP->Xsize;i++) 55 for (i = 0; i < RP->Xsize; i++)
56 for(j=0;j<RP->Ysize;j++) { 56 for (j = 0; j < RP->Ysize; j++)
57 {
57 object *thisfloor=arch_to_object(the_floor->arch); 58 object *thisfloor = arch_to_object (the_floor->arch);
58 thisfloor->x = i; thisfloor->y = j; 59
60 thisfloor->x = i;
61 thisfloor->y = j;
59 insert_ob_in_map(thisfloor,newMap,thisfloor,INS_NO_MERGE | INS_NO_WALK_ON); 62 insert_ob_in_map (thisfloor, newMap, thisfloor, INS_NO_MERGE | INS_NO_WALK_ON);
60 } 63 }
61 } 64 }
62 return newMap; 65 return newMap;
63} 66}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines