ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/random_maps/floor.c
Revision: 1.2
Committed: Sun Aug 13 17:16:03 2006 UTC (17 years, 9 months ago) by elmex
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +1 -1 lines
State: FILE REMOVED
Log Message:
Made server compile with C++.
Removed cfanim plugin and crossedit.
C++ here we come.

File Contents

# Content
1 /*
2 * static char *rcsid_floor_c =
3 * "$Id$";
4 */
5
6 /*
7 CrossFire, A Multiplayer game for X-windows
8
9 Copyright (C) 2002 Mark Wedel & Crossfire Development Team
10 Copyright (C) 1992 Frank Tore Johansen
11
12 This program is free software; you can redistribute it and/or modify
13 it under the terms of the GNU General Public License as published by
14 the Free Software Foundation; either version 2 of the License, or
15 (at your option) any later version.
16
17 This program is distributed in the hope that it will be useful,
18 but WITHOUT ANY WARRANTY; without even the implied warranty of
19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 GNU General Public License for more details.
21
22 You should have received a copy of the GNU General Public License
23 along with this program; if not, write to the Free Software
24 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25
26 The authors can be reached via e-mail at crossfire-devel@real-time.com
27 */
28
29
30 #include <global.h>
31 #include <random_map.h>
32 #include <rproto.h>
33
34 /* make a map and layout the floor. */
35
36 mapstruct *make_map_floor(char **layout, char *floorstyle,RMParms *RP) {
37 char styledirname[256];
38 char stylefilepath[256];
39 mapstruct *style_map=0;
40 object *the_floor;
41 mapstruct *newMap =0; /* (mapstruct *) calloc(sizeof(mapstruct),1); */
42
43 /* allocate the map */
44 newMap = get_empty_map(RP->Xsize,RP->Ysize);
45
46 /* get the style map */
47 sprintf(styledirname,"%s","/styles/floorstyles");
48 sprintf(stylefilepath,"%s/%s",styledirname,floorstyle);
49 style_map = find_style(styledirname,floorstyle,-1);
50 if(style_map == 0) return newMap;
51
52 /* fill up the map with the given floor style */
53 if((the_floor=pick_random_object(style_map))!=NULL) {
54 int i,j;
55 for(i=0;i<RP->Xsize;i++)
56 for(j=0;j<RP->Ysize;j++) {
57 object *thisfloor=arch_to_object(the_floor->arch);
58 thisfloor->x = i; thisfloor->y = j;
59 insert_ob_in_map(thisfloor,newMap,thisfloor,INS_NO_MERGE | INS_NO_WALK_ON);
60 }
61 }
62 return newMap;
63 }