1 | /* |
1 | /* |
2 | * static char *rcsid_random_map_c = |
2 | * static char *rcsid_random_map_c = |
3 | * "$Id: random_map.c,v 1.1.1.2 2006/02/22 18:03:16 elmex Exp $"; |
3 | * "$Id: random_map.c,v 1.2 2006/08/13 17:16:03 elmex dead $"; |
4 | */ |
4 | */ |
5 | |
5 | |
6 | /* |
6 | /* |
7 | CrossFire, A Multiplayer game for X-windows |
7 | CrossFire, A Multiplayer game for X-windows |
8 | |
8 | |
… | |
… | |
103 | strcpy(theMap->path,OutFileName); |
103 | strcpy(theMap->path,OutFileName); |
104 | |
104 | |
105 | /* set region */ |
105 | /* set region */ |
106 | theMap->region=RP->region; |
106 | theMap->region=RP->region; |
107 | |
107 | |
108 | /* create walls unless the wallstyle is "none" */ |
|
|
109 | if (strcmp (RP->wallstyle, "none")) { |
|
|
110 | make_map_walls(theMap,layout,RP->wallstyle,RP); |
108 | make_map_walls(theMap,layout,RP->wallstyle,RP); |
111 | |
109 | |
112 | /* place doors unless doorstyle or wallstyle is "none"*/ |
|
|
113 | if (strcmp (RP->doorstyle, "none")) |
|
|
114 | put_doors(theMap,layout,RP->doorstyle,RP); |
110 | put_doors(theMap,layout,RP->doorstyle,RP); |
115 | |
|
|
116 | } |
|
|
117 | |
111 | |
118 | /* create exits unless the exitstyle is "none" */ |
|
|
119 | if (strcmp (RP->exitstyle, "none")) |
|
|
120 | place_exits(theMap,layout,RP->exitstyle,RP->orientation,RP); |
112 | place_exits(theMap,layout,RP->exitstyle,RP->orientation,RP); |
121 | |
113 | |
122 | place_specials_in_map(theMap,layout,RP); |
114 | place_specials_in_map(theMap,layout,RP); |
123 | |
115 | |
124 | /* create monsters unless the monsterstyle is "none" */ |
|
|
125 | if (strcmp (RP->monsterstyle, "none")) |
|
|
126 | place_monsters(theMap,RP->monsterstyle,RP->difficulty,RP); |
116 | place_monsters(theMap,RP->monsterstyle,RP->difficulty,RP); |
127 | |
117 | |
128 | /* treasures needs to have a proper difficulty set for the map. */ |
118 | /* treasures needs to have a proper difficulty set for the map. */ |
129 | theMap->difficulty=calculate_difficulty(theMap); |
119 | theMap->difficulty=calculate_difficulty(theMap); |
130 | |
120 | |
131 | /* create treasure unless the treasurestyle is "none" */ |
|
|
132 | if (strcmp (RP->treasurestyle, "none")) |
|
|
133 | place_treasure(theMap,layout,RP->treasurestyle,RP->treasureoptions,RP); |
121 | place_treasure(theMap,layout,RP->treasurestyle,RP->treasureoptions,RP); |
134 | |
122 | |
135 | /* create decor unless the decorstyle is "none" */ |
|
|
136 | if (strcmp (RP->decorstyle, "none")) |
|
|
137 | put_decor(theMap,layout,RP->decorstyle,RP->decoroptions,RP); |
123 | put_decor(theMap,layout,RP->decorstyle,RP->decoroptions,RP); |
138 | |
124 | |
139 | /* generate treasures, etc. */ |
125 | /* generate treasures, etc. */ |
140 | fix_auto_apply(theMap); |
126 | fix_auto_apply(theMap); |
141 | |
127 | |
142 | unblock_exits(theMap,layout,RP); |
128 | unblock_exits(theMap,layout,RP); |