Angband
generate.h
Go to the documentation of this file.
1 
7 #ifndef GENERATE_H
8 #define GENERATE_H
9 
10 #include "monster.h"
11 
12 #if __STDC_VERSION__ < 199901L
13 #define ROOM_LOG if (OPT(player, cheat_room)) msg
14 #else
15 #define ROOM_LOG(...) if (OPT(player, cheat_room)) msg(__VA_ARGS__);
16 #endif
17 
21 enum
22 {
23  SET_CORR = 0x01,
24  SET_ROOM = 0x02,
25  SET_BOTH = 0x03
26 };
27 
28 enum
29 {
36 };
37 
43 
44  struct monster_base *base;
45 };
46 
52 
54 };
55 
61 
62  struct monster_race *race;
63 };
64 
68 struct pit_profile {
69  struct pit_profile *next;
71  int pit_idx;
72  const char *name;
73  int room_type;
74  int ave;
75  int rarity;
76  int obj_rarity;
85 };
86 
87 extern struct pit_profile *pit_info;
88 
89 
93 struct dun_data {
95  const struct cave_profile *profile;
96 
98  int cent_n;
99  struct loc *cent;
100 
102  int door_n;
103  struct loc *door;
104 
106  int wall_n;
107  struct loc *wall;
108 
110  int tunn_n;
111  struct loc *tunn;
112 
115 
118 
122 
124  bool **room_map;
125 
127  int pit_num;
128 
131 
133  struct connector *join;
134 };
135 
136 
138  const char *name;
139  int rnd;
140  int chg;
141  int con;
142  int pen;
143  int jct;
144 };
145 
147  const char *name;
148  int den;
149  int rng;
150  int mag;
151  int mc;
152  int qua;
153  int qc;
154 };
155 
156 /*
157  * cave_builder is a function pointer which builds a level.
158  */
159 typedef struct chunk * (*cave_builder) (struct player *p, int h, int w);
160 
161 
162 struct cave_profile {
164 
165  const char *name;
168  int dun_rooms;
172  struct tunnel_profile tun;
173  struct streamer_profile str;
175  int cutoff;
176 };
177 
178 
183 typedef bool (*room_builder) (struct chunk *c, struct loc centre, int rating);
184 
185 
190 struct room_profile {
192 
193  const char *name;
195  int rating;
196  int height, width;
197  int level;
198  bool pit;
199  int rarity;
200  int cutoff;
201 };
202 
203 
204 /*
205  * Information about vault generation
206  */
207 struct vault {
208  struct vault *next;
210  char *name;
211  char *text;
213  char *typ;
222 };
223 
224 
225 
230  struct room_template *next;
232  char *name;
233  char *text;
243 };
244 
245 extern struct dun_data *dun;
246 extern struct vault *vaults;
247 extern struct room_template *room_templates;
248 
249 /* gen-cave.c */
250 struct chunk *town_gen(struct player *p, int min_height, int min_width);
251 struct chunk *classic_gen(struct player *p, int min_height, int min_width);
252 struct chunk *labyrinth_gen(struct player *p, int min_height, int min_width);
253 void ensure_connectedness(struct chunk *c);
254 struct chunk *cavern_gen(struct player *p, int min_height, int min_width);
255 struct chunk *modified_gen(struct player *p, int min_height, int min_width);
256 struct chunk *moria_gen(struct player *p, int min_height, int min_width);
257 struct chunk *hard_centre_gen(struct player *p, int min_height, int min_width);
258 struct chunk *lair_gen(struct player *p, int min_height, int min_width);
259 struct chunk *gauntlet_gen(struct player *p, int min_height, int min_width);
260 struct chunk *arena_gen(struct player *p, int min_height, int min_width);
261 
262 /* gen-chunk.c */
263 struct chunk *chunk_write(struct chunk *c);
264 void chunk_list_add(struct chunk *c);
265 bool chunk_list_remove(char *name);
266 struct chunk *chunk_find_name(char *name);
267 bool chunk_find(struct chunk *c);
268 struct chunk *chunk_find_adjacent(struct player *p, bool above);
269 bool chunk_copy(struct chunk *dest, struct chunk *source, int y0, int x0,
270  int rotate, bool reflect);
271 
272 void chunk_validate_objects(struct chunk *c);
273 
274 
275 /* gen-room.c */
276 void fill_rectangle(struct chunk *c, int y1, int x1, int y2, int x2, int feat,
277  int flag);
278 void generate_mark(struct chunk *c, int y1, int x1, int y2, int x2, int flag);
279 void draw_rectangle(struct chunk *c, int y1, int x1, int y2, int x2, int feat,
280  int flag);
281 void set_marked_granite(struct chunk *c, struct loc grid, int flag);
282 extern bool generate_starburst_room(struct chunk *c, int y1, int x1, int y2,
283  int x2, bool light, int feat,
284  bool special_ok);
285 
286 struct vault *random_vault(int depth, const char *typ);
287 bool build_vault(struct chunk *c, struct loc centre, struct vault *v);
288 
289 bool build_staircase(struct chunk *c, struct loc centre, int rating);
290 bool build_simple(struct chunk *c, struct loc centre, int rating);
291 bool build_circular(struct chunk *c, struct loc centre, int rating);
292 bool build_overlap(struct chunk *c, struct loc centre, int rating);
293 bool build_crossed(struct chunk *c, struct loc centre, int rating);
294 bool build_large(struct chunk *c, struct loc centre, int rating);
295 bool mon_pit_hook(struct monster_race *race);
296 void set_pit_type(int depth, int type);
297 bool build_nest(struct chunk *c, struct loc centre, int rating);
298 bool build_pit(struct chunk *c, struct loc centre, int rating);
299 bool build_template(struct chunk *c, struct loc centre, int rating);
300 bool build_interesting(struct chunk *c, struct loc centre, int rating);
301 bool build_lesser_vault(struct chunk *c, struct loc centre, int rating);
302 bool build_medium_vault(struct chunk *c, struct loc centre, int rating);
303 bool build_greater_vault(struct chunk *c, struct loc centre, int rating);
304 bool build_moria(struct chunk *c, struct loc centre, int rating);
305 bool build_room_of_chambers(struct chunk *c, struct loc centre, int rating);
306 bool build_huge(struct chunk *c, struct loc centre, int rating);
307 bool room_build(struct chunk *c, int by0, int bx0, struct room_profile profile,
308  bool finds_own_space);
309 
310 
311 /* gen-util.c */
312 extern byte get_angle_to_grid[41][41];
313 
314 int grid_to_i(struct loc grid, int w);
315 void i_to_grid(int i, int w, struct loc *grid);
316 void shuffle(int *arr, int n);
317 bool cave_find(struct chunk *c, struct loc *grid, square_predicate pred);
318 bool find_empty(struct chunk *c, struct loc *grid);
319 bool find_empty_range(struct chunk *c, struct loc *grid, struct loc top_left,
320  struct loc bottom_right);
321 bool find_nearby_grid(struct chunk *c, struct loc *grid, struct loc centre,
322  int yd, int xd);
323 void correct_dir(struct loc *offset, struct loc grid1, struct loc grid2);
324 void rand_dir(struct loc *offset);
325 void new_player_spot(struct chunk *c, struct player *p);
326 void place_object(struct chunk *c, struct loc grid, int level, bool good,
327  bool great, byte origin, int tval);
328 void place_gold(struct chunk *c, struct loc grid, int level, byte origin);
329 void place_secret_door(struct chunk *c, struct loc grid);
330 void place_closed_door(struct chunk *c, struct loc grid);
331 void place_random_door(struct chunk *c, struct loc grid);
332 void place_random_stairs(struct chunk *c, struct loc grid);
333 void alloc_stairs(struct chunk *c, int feat, int num);
334 void vault_objects(struct chunk *c, struct loc grid, int depth, int num);
335 void vault_traps(struct chunk *c, struct loc grid, int yd, int xd, int num);
336 void vault_monsters(struct chunk *c, struct loc grid, int depth, int num);
337 void alloc_objects(struct chunk *c, int set, int typ, int num, int depth, byte origin);
338 bool alloc_object(struct chunk *c, int set, int typ, int depth, byte origin);
339 
340 /* gen-monster.c */
341 bool mon_restrict(const char *monster_type, int depth, bool unique_ok);
342 void spread_monsters(struct chunk *c, const char *type, int depth, int num,
343  int y0, int x0, int dy, int dx, byte origin);
344 void get_vault_monsters(struct chunk *c, char racial_symbol[], char *vault_type,
345  const char *data, int y1, int y2, int x1, int x2);
346 void get_chamber_monsters(struct chunk *c, int y1, int x1, int y2, int x2, char *name, int area);
347 
348 
349 #endif /* !GENERATE_H */
bool build_nest(struct chunk *c, struct loc centre, int rating)
Build a monster nest.
Definition: gen-room.c:2213
int level
Definition: generate.h:197
const char * name
Definition: generate.h:147
byte hgt
Definition: generate.h:217
bool room_build(struct chunk *c, int by0, int bx0, struct room_profile profile, bool finds_own_space)
Attempt to build a room of the given type at the given block.
Definition: gen-room.c:3114
png_infop png_charpp int png_charpp profile
Definition: libpng12/png.h:2414
void place_secret_door(struct chunk *c, struct loc grid)
Place a secret door at a given location.
Definition: gen-util.c:488
bool build_greater_vault(struct chunk *c, struct loc centre, int rating)
Build a greater vaults.
Definition: gen-room.c:2616
int rarity
How unusual this pit is.
Definition: generate.h:75
int freq_innate
Minimum innate frequency.
Definition: generate.h:79
char * text
Definition: generate.h:211
void correct_dir(struct loc *offset, struct loc grid1, struct loc grid2)
Given two points, pick a valid cardinal direction from one to the other.
Definition: gen-util.c:258
int pit_idx
Index in pit_info.
Definition: generate.h:71
Monster "race" information, including racial memories.
Definition: monster.h:307
char * name
Definition: generate.h:232
struct loc * tunn
Definition: generate.h:111
bool build_pit(struct chunk *c, struct loc centre, int rating)
Build a monster pit.
Definition: gen-room.c:2344
struct pit_forbidden_monster * next
Definition: generate.h:60
bool build_overlap(struct chunk *c, struct loc centre, int rating)
Builds an overlapping rectangular room.
Definition: gen-room.c:1730
int con
Definition: generate.h:141
void place_gold(struct chunk *c, struct loc grid, int level, byte origin)
Place a random amount of gold at a given location.
Definition: gen-util.c:463
int tunn_n
Definition: generate.h:110
png_uint_32 i
Definition: libpng12/png.h:2821
int wall_n
Definition: generate.h:106
Definition: z-type.h:24
bool find_empty(struct chunk *c, struct loc *grid)
Locate an empty square for 0 <= y < ymax, 0 <= x < xmax.
Definition: gen-util.c:212
struct pit_forbidden_monster * forbidden_monsters
Forbidden monsters.
Definition: generate.h:84
bool build_medium_vault(struct chunk *c, struct loc centre, int rating)
Build a medium vault.
Definition: gen-room.c:2581
int rarity
Definition: generate.h:199
void place_random_door(struct chunk *c, struct loc grid)
Place a random door at a given location.
Definition: gen-util.c:514
struct chunk * chunk_find_name(char *name)
Find a chunk by name.
Definition: gen-chunk.c:122
bitflag forbidden_flags[RF_SIZE]
Forbidden flags.
Definition: generate.h:78
int door_n
Definition: generate.h:102
int mag
Definition: generate.h:150
Definition: generate.h:25
png_infop png_uint_32 flag
Definition: libpng12/png.h:2191
struct chunk * hard_centre_gen(struct player *p, int min_height, int min_width)
Generate a hard centre level - a greater vault surrounded by caverns.
Definition: gen-cave.c:2120
int grid_to_i(struct loc grid, int w)
Used to convert grid into an array index (i) in a chunk of width w.
Definition: gen-util.c:116
static term_data data[MAX_TERM_DATA]
Definition: main-nds.c:156
Definition: generate.h:31
int room_type
Is this a pit or a nest?
Definition: generate.h:73
int rng
Definition: generate.h:149
Definition: generate.h:24
typedef int
Definition: libpng12/png.h:1135
void new_player_spot(struct chunk *c, struct player *p)
Place the player at a random starting location.
Definition: gen-util.c:341
bitflag spell_flags[RSF_SIZE]
Required spell flags.
Definition: generate.h:80
bool ** room_map
Definition: generate.h:124
Definition: game-world.h:24
struct loc * wall
Definition: generate.h:107
int dun_unusual
Definition: generate.h:169
struct room_profile * next
Definition: generate.h:191
void generate_mark(struct chunk *c, int y1, int x1, int y2, int x2, int flag)
Mark a rectangle with a sqinfo flag.
Definition: gen-room.c:128
uint8_t byte
Definition: h-basic.h:167
#define RSF_SIZE
Definition: monster.h:129
#define h
int col_blocks
Definition: generate.h:121
bool(* square_predicate)(struct chunk *c, struct loc grid)
square_predicate is a function pointer which tests a given square to see if the predicate in question...
Definition: cave.h:273
void place_closed_door(struct chunk *c, struct loc grid)
Place a closed door at a given location.
Definition: gen-util.c:499
struct chunk *(* cave_builder)(struct player *p, int h, int w)
Definition: generate.h:159
int cutoff
Definition: generate.h:175
int rnd
Definition: generate.h:139
static region area
Definition: ui-object.c:590
void vault_objects(struct chunk *c, struct loc grid, int depth, int num)
Create up to &#39;num&#39; objects near the given coordinates in a vault.
Definition: gen-util.c:659
struct loc * door
Definition: generate.h:103
void place_object(struct chunk *c, struct loc grid, int level, bool good, bool great, byte origin, int tval)
Place a random object at a given location.
Definition: gen-util.c:419
struct connector * join
Definition: generate.h:133
room_builder builder
Definition: generate.h:194
void set_pit_type(int depth, int type)
Pick a type of monster for pits (or other purposes), based on the level.
Definition: gen-room.c:813
Definition: generate.h:146
Definition: cave.h:178
struct pit_color_profile * next
Definition: generate.h:51
byte typ
Definition: generate.h:235
int width
Definition: generate.h:196
void alloc_stairs(struct chunk *c, int feat, int num)
Place some staircases near walls.
Definition: gen-util.c:533
const char * name
Definition: generate.h:138
struct cave_profile * next
Definition: generate.h:163
struct monster_race * race
Definition: generate.h:62
int cutoff
Definition: generate.h:200
bool mon_restrict(const char *monster_type, int depth, bool unique_ok)
Accept characters representing a race or group of monsters and an (adjusted) depth, and use these to set values for required monster base symbol.
Definition: gen-monster.c:115
const char * name
Definition: generate.h:193
struct vault * next
Definition: generate.h:208
byte wid
Definition: generate.h:240
bool build_huge(struct chunk *c, struct loc centre, int rating)
A single starburst-shaped room of extreme size, usually dotted or even divided with irregularly-shape...
Definition: gen-room.c:3030
Definition: cave.h:171
void rand_dir(struct loc *offset)
Pick a random cardinal direction.
Definition: gen-util.c:279
const struct cave_profile * profile
Definition: generate.h:95
byte dor
Definition: generate.h:241
int row_blocks
Definition: generate.h:120
bool build_simple(struct chunk *c, struct loc centre, int rating)
Builds a normal rectangular room.
Definition: gen-room.c:1671
bool build_circular(struct chunk *c, struct loc centre, int rating)
Build a circular room (interior radius 4-7).
Definition: gen-room.c:1622
Definition: generate.h:207
int dun_rooms
Definition: generate.h:168
Definition: generate.h:35
byte tval
Definition: generate.h:242
char * text
Definition: generate.h:233
Definition: generate.h:32
struct room_template * room_templates
Definition: generate.c:59
Monster color for a pit.
Definition: generate.h:50
void spread_monsters(struct chunk *c, const char *type, int depth, int num, int y0, int x0, int dy, int dx, byte origin)
Place monsters, up to the number asked for, in a rectangle centered on y0, x0.
Definition: gen-monster.c:199
struct chunk * classic_gen(struct player *p, int min_height, int min_width)
Generate a new dungeon level.
Definition: gen-cave.c:409
Profile for choosing monsters for pits, nests or other themed areas.
Definition: generate.h:68
void shuffle(int *arr, int n)
Shuffle an array using Knuth&#39;s shuffle.
Definition: gen-util.c:138
struct chunk * town_gen(struct player *p, int min_height, int min_width)
Town logic flow for generation of new town.
Definition: gen-cave.c:1532
Base monster type.
Definition: monster.h:200
bool alloc_object(struct chunk *c, int set, int typ, int depth, byte origin)
Allocates a single random object in the dungeon.
Definition: gen-util.c:619
struct pit_monster_profile * bases
List of vaild monster bases.
Definition: generate.h:82
const char * name
Definition: generate.h:165
struct pit_profile * next
Definition: generate.h:69
This tracks information needed to generate the room, including the room&#39;s name and the function used ...
Definition: generate.h:190
int type
Definition: mon-msg.c:80
byte rat
Definition: generate.h:237
bool build_interesting(struct chunk *c, struct loc centre, int rating)
Build an interesting room.
Definition: gen-room.c:2555
bool build_vault(struct chunk *c, struct loc centre, struct vault *v)
Build a vault from its string representation.
Definition: gen-room.c:1147
png_uint_32 int flags
Definition: libpng12/png.h:1681
byte color
Definition: generate.h:53
int num
Definition: libpng12/png.h:1527
struct chunk * cavern_gen(struct player *p, int min_height, int min_width)
Make a cavern level.
Definition: gen-cave.c:1328
Definition: generate.h:30
struct monster_base * base
Definition: generate.h:44
void vault_monsters(struct chunk *c, struct loc grid, int depth, int num)
Place &#39;num&#39; sleeping monsters near the location.
Definition: gen-util.c:733
Definition: generate.h:137
const char ** p[]
Definition: name.c:40
byte bitflag
Definition: z-bitflag.h:27
int obj_rarity
How rare objects are in this pit.
Definition: generate.h:76
void draw_rectangle(struct chunk *c, int y1, int x1, int y2, int x2, int feat, int flag)
Fill the edges of a rectangle with a feature.
Definition: gen-room.c:168
int block_size
Definition: generate.h:167
void alloc_objects(struct chunk *c, int set, int typ, int num, int depth, byte origin)
Allocates &#39;num&#39; random entities in the dungeon.
Definition: gen-util.c:597
#define w
int rating
Definition: generate.h:195
bool build_template(struct chunk *c, struct loc centre, int rating)
Build a template room.
Definition: gen-room.c:2540
Flags, structures and variables for monsters.
struct chunk * arena_gen(struct player *p, int min_height, int min_width)
Generate an arena level - an open single combat arena.
Definition: gen-cave.c:2591
bool find_nearby_grid(struct chunk *c, struct loc *grid, struct loc centre, int yd, int xd)
Locate a grid within +/- yd, xd of a centre.
Definition: gen-util.c:242
void fill_rectangle(struct chunk *c, int y1, int x1, int y2, int x2, int feat, int flag)
Fill a rectangle with a feature.
Definition: gen-room.c:148
const char * name
Definition: generate.h:72
bool chunk_copy(struct chunk *dest, struct chunk *source, int y0, int x0, int rotate, bool reflect)
Write a chunk, transformed, to a given offset in another chunk.
Definition: gen-chunk.c:207
int cent_n
Definition: generate.h:98
bool build_room_of_chambers(struct chunk *c, struct loc centre, int rating)
Rooms of chambers.
Definition: gen-room.c:2738
cave_builder builder
Definition: generate.h:166
void chunk_list_add(struct chunk *c)
Add an entry to the chunk list - any problems with the length of this will be more in the memory used...
Definition: gen-chunk.c:68
int mc
Definition: generate.h:151
int block_hgt
Definition: generate.h:114
char * name
Definition: generate.h:210
bool mon_pit_hook(struct monster_race *race)
Hook for picking monsters appropriate to a nest/pit or region.
Definition: gen-room.c:747
int pit_num
Definition: generate.h:127
int ave
Level where this pit is most common.
Definition: generate.h:74
Monster forbidden from a pit.
Definition: generate.h:59
struct dun_data * dun
Definition: generate.c:58
bool chunk_find(struct chunk *c)
Find a chunk by pointer.
Definition: gen-chunk.c:138
bool pit
Definition: generate.h:198
struct chunk * chunk_write(struct chunk *c)
Write the terrain info of a chunk to memory and return a pointer to it.
Definition: gen-chunk.c:45
char * typ
Definition: generate.h:213
int jct
Definition: generate.h:143
void i_to_grid(int i, int w, struct loc *grid)
Used to convert an array index (i) into grid in a chunk of width w.
Definition: gen-util.c:127
int block_wid
Definition: generate.h:117
Definition: generate.h:33
Definition: generate.h:23
bool(* room_builder)(struct chunk *c, struct loc centre, int rating)
room_builder is a function pointer which builds rooms in the cave given anchor coordinates.
Definition: generate.h:183
bool build_crossed(struct chunk *c, struct loc centre, int rating)
Builds a cross-shaped room.
Definition: gen-room.c:1812
struct chunk * gauntlet_gen(struct player *p, int min_height, int min_width)
Generate a gauntlet level - two separate caverns with an unmappable labyrinth between them...
Definition: gen-cave.c:2423
int den
Definition: generate.h:148
struct chunk * chunk_find_adjacent(struct player *p, bool above)
Find the saved chunk above or below the current player depth.
Definition: gen-chunk.c:151
byte wid
Definition: generate.h:218
struct pit_profile * pit_type
Definition: generate.h:130
bool find_empty_range(struct chunk *c, struct loc *grid, struct loc top_left, struct loc bottom_right)
Locate an empty square in a given rectangle.
Definition: gen-util.c:226
png_infop png_uint_32 png_uint_32 * height
Definition: libpng12/png.h:2341
void chunk_validate_objects(struct chunk *c)
Validate that the chunk contains no NULL objects.
Definition: gen-chunk.c:337
int qc
Definition: generate.h:153
byte max_lev
Definition: generate.h:221
int n_room_profiles
Definition: generate.h:171
Structure to hold all "dungeon generation" data.
Definition: generate.h:93
Definition: generate.h:34
bool build_large(struct chunk *c, struct loc centre, int rating)
Build a large room with an inner room.
Definition: gen-room.c:1975
byte hgt
Definition: generate.h:239
Information about template room generation.
Definition: generate.h:229
byte min_lev
Definition: generate.h:220
struct pit_monster_profile * next
Definition: generate.h:42
void get_vault_monsters(struct chunk *c, char racial_symbol[], char *vault_type, const char *data, int y1, int y2, int x1, int x2)
To avoid rebuilding the monster list too often (which can quickly get expensive), we handle monsters ...
Definition: gen-monster.c:275
int pen
Definition: generate.h:142
void set_marked_granite(struct chunk *c, struct loc grid, int flag)
Place a square of granite with a flag.
Definition: gen-room.c:360
struct pit_color_profile * colors
List of valid monster colors.
Definition: generate.h:83
struct vault * vaults
Definition: generate.c:56
struct chunk * modified_gen(struct player *p, int min_height, int min_width)
Generate a new dungeon level.
Definition: gen-cave.c:1745
Intialize random names
Definition: init.c:843
struct room_profile * room_profiles
Definition: generate.h:174
byte get_angle_to_grid[41][41]
Accept values for y and x (considered as the endpoints of lines) between 0 and 40, and return an angle in degrees (divided by two).
Definition: gen-util.c:64
Most of the "player" information goes here.
Definition: player.h:489
int max_rarity
Definition: generate.h:170
void get_chamber_monsters(struct chunk *c, int y1, int x1, int y2, int x2, char *name, int area)
Funtion for placing appropriate monsters in a room of chambers.
Definition: gen-monster.c:332
struct chunk * lair_gen(struct player *p, int min_height, int min_width)
Generate a lair level - a regular cave generated with the modified algorithm, connected to a cavern w...
Definition: gen-cave.c:2280
void ensure_connectedness(struct chunk *c)
Make sure that all the regions of the dungeon are connected.
Definition: gen-cave.c:1250
struct pit_profile * pit_info
Definition: generate.c:55
int chg
Definition: generate.h:140
bool chunk_list_remove(char *name)
Remove an entry from the chunk list, return whether it was found.
Definition: gen-chunk.c:87
bool build_staircase(struct chunk *c, struct loc centre, int rating)
Room builders
Definition: gen-room.c:1586
void vault_traps(struct chunk *c, struct loc grid, int yd, int xd, int num)
Place &#39;num&#39; traps near a location, with a given displacement.
Definition: gen-util.c:718
Definition: generate.h:162
Definition: source.h:7
void place_random_stairs(struct chunk *c, struct loc grid)
Place random stairs at a given location.
Definition: gen-util.c:401
struct room_template * next
Definition: generate.h:230
struct vault * random_vault(int depth, const char *typ)
Chooses a vault of a particular kind at random.
Definition: gen-room.c:76
bool build_lesser_vault(struct chunk *c, struct loc centre, int rating)
Build a lesser vault.
Definition: gen-room.c:2567
byte rat
Definition: generate.h:215
struct chunk * labyrinth_gen(struct player *p, int min_height, int min_width)
Build a labyrinth level.
Definition: gen-cave.c:798
int qua
Definition: generate.h:152
bool cave_find(struct chunk *c, struct loc *grid, square_predicate pred)
Locate a square in the dungeon which satisfies the given predicate.
Definition: gen-util.c:198
#define RF_SIZE
Definition: monster.h:97
bitflag forbidden_spell_flags[RSF_SIZE]
Forbidden spell flags.
Definition: generate.h:81
struct chunk * moria_gen(struct player *p, int min_height, int min_width)
Generate a new dungeon level.
Definition: gen-cave.c:1969
struct loc * cent
Definition: generate.h:99
Monster base for a pit.
Definition: generate.h:41
bool build_moria(struct chunk *c, struct loc centre, int rating)
Moria room (from Oangband).
Definition: gen-room.c:2650
bool generate_starburst_room(struct chunk *c, int y1, int x1, int y2, int x2, bool light, int feat, bool special_ok)
Make a starburst room.
Definition: gen-room.c:406