OSDN Git Service

Merge pull request #41491 (taotao/hengband/fix-impure_calc_num_blow into develop).
[hengband/hengband.git] / src / floor / wild.h
1 #pragma once
2
3 #include "system/angband.h"
4
5 #define NO_TOWN 6
6 #define SECRET_TOWN 5
7
8 /* Wilderness Terrains */
9 typedef enum wt_type {
10         TERRAIN_EDGE = 0, /* Edge of the World */
11     TERRAIN_TOWN = 1, /* Town */
12         TERRAIN_DEEP_WATER = 2, /* Deep water */
13     TERRAIN_SHALLOW_WATER = 3, /* Shallow water */
14     TERRAIN_SWAMP = 4, /* Swamp */
15     TERRAIN_DIRT = 5, /* Dirt */
16     TERRAIN_GRASS = 6, /* Grass */
17     TERRAIN_TREES = 7, /* Trees */
18     TERRAIN_DESERT = 8, /* Desert */
19     TERRAIN_SHALLOW_LAVA = 9, /* Shallow lava */
20     TERRAIN_DEEP_LAVA = 10, /* Deep lava */
21     TERRAIN_MOUNTAIN = 11, /* Mountain */       
22         MAX_WILDERNESS = 12, /* Maximum wilderness index */
23 } wt_type;
24
25 void set_floor_and_wall(DUNGEON_IDX type);
26 void wilderness_gen(player_type *creature_ptr);
27 void wilderness_gen_small(player_type *creature_ptr);
28 errr init_wilderness(void);
29 void init_wilderness_terrains(void);
30 void seed_wilderness(void);
31 errr parse_line_wilderness(player_type *creature_ptr, char *buf, int xmin, int xmax, int *y, int *x);
32 bool change_wild_mode(player_type *creature_ptr, bool encount);
33
34 /*
35  * A structure describing a wilderness area with a terrain or a town
36  */
37 typedef struct wilderness_type {
38         wt_type terrain;
39         TOWN_IDX town;
40         int road;
41         u32b seed;
42         DEPTH level;
43         byte entrance;
44 } wilderness_type;
45
46 extern wilderness_type **wilderness;