3 * Purpose: Header file for rooms.c, used only in generate.c
7 * Copyright (c) 1997 Ben Harrison, James E. Wilson, Robert A. Koeneke
9 * This software may be copied and distributed for educational, research,
10 * and not for profit purposes provided that this copyright and statement
11 * are included in all such copies. Other copyrights may also apply.
15 /* Number of rooms to attempt (was 50) */
16 #define DUN_ROOMS_MAX 40
19 /* Room types for generate_lake() */
21 #define LAKE_T_WATER 2
23 #define LAKE_T_EARTH_VAULT 4
24 #define LAKE_T_AIR_VAULT 5
25 #define LAKE_T_WATER_VAULT 6
26 #define LAKE_T_FIRE_VAULT 7
29 /* Room types for room_build() */
30 #define ROOM_T_NORMAL 0 /* Simple (33x11) */
31 #define ROOM_T_OVERLAP 1 /* Overlapping (33x11) */
32 #define ROOM_T_CROSS 2 /* Crossed (33x11) */
33 #define ROOM_T_INNER_FEAT 3 /* Large (33x11) */
34 #define ROOM_T_NEST 4 /* Monster nest (33x11) */
35 #define ROOM_T_PIT 5 /* Monster pit (33x11) */
36 #define ROOM_T_LESSER_VAULT 6 /* Lesser vault (33x22) */
37 #define ROOM_T_GREATER_VAULT 7 /* Greater vault (66x44) */
38 #define ROOM_T_FRACAVE 8 /* Fractal cave (42x24) */
39 #define ROOM_T_RANDOM_VAULT 9 /* Random vault (44x22) */
40 #define ROOM_T_OVAL 10 /* Circular rooms (22x22) */
41 #define ROOM_T_CRYPT 11 /* Crypts (22x22) */
42 #define ROOM_T_TRAP_PIT 12 /* Trapped monster pit */
43 #define ROOM_T_TRAP 13 /* Piranha/Armageddon trap room */
44 #define ROOM_T_GLASS 14 /* Glass room */
50 * Room type information
52 typedef struct room_info_type room_info_type;
56 /* Allocation information. */
57 s16b prob[ROOM_T_MAX];
59 /* Minimum level on which room can appear. */
65 #ifdef ALLOW_CAVERNS_AND_LAKES
66 extern void build_lake(int type);
67 extern void build_cavern(void);
68 #endif /* ALLOW_CAVERNS_AND_LAKES */
70 extern bool generate_rooms(void);
71 extern void build_maze_vault(int x0, int y0, int xsize, int ysize, bool is_vault);