OSDN Git Service

[Refactor] #37353 NO_TOWN, SECRET_TOWN を wild.h へ移動.
[hengband/hengband.git] / src / wild.h
1 #pragma once
2
3 #define NO_TOWN 6
4 #define SECRET_TOWN 5
5
6 /*
7  * Wilderness terrains
8  */
9 #define TERRAIN_EDGE             0 /* Edge of the World */
10 #define TERRAIN_TOWN             1 /* Town */
11 #define TERRAIN_DEEP_WATER       2 /* Deep water */
12 #define TERRAIN_SHALLOW_WATER    3 /* Shallow water */
13 #define TERRAIN_SWAMP            4 /* Swamp */
14 #define TERRAIN_DIRT             5 /* Dirt */
15 #define TERRAIN_GRASS            6 /* Grass */
16 #define TERRAIN_TREES            7 /* Trees */
17 #define TERRAIN_DESERT           8 /* Desert */
18 #define TERRAIN_SHALLOW_LAVA     9 /* Shallow lava */
19 #define TERRAIN_DEEP_LAVA       10 /* Deep lava */
20 #define TERRAIN_MOUNTAIN        11 /* Mountain */
21
22 #define MAX_WILDERNESS          12 /* Maximum wilderness index */
23
24
25 /* wild.c */
26 extern void set_floor_and_wall(DUNGEON_IDX type);
27 extern void wilderness_gen(void);
28 extern void wilderness_gen_small(void);
29 extern errr init_wilderness(void);
30 extern void init_wilderness_terrains(void);
31 extern void seed_wilderness(void);
32 extern errr parse_line_wilderness(char *buf, int ymin, int xmin, int ymax, int xmax, int *y, int *x);
33 extern bool change_wild_mode(bool encount);
34
35 /* Border */
36 typedef struct border_type border_type;
37 struct border_type
38 {
39         s16b north[MAX_WID];
40         s16b south[MAX_WID];
41         s16b east[MAX_HGT];
42         s16b west[MAX_HGT];
43         s16b north_west;
44         s16b north_east;
45         s16b south_west;
46         s16b south_east;
47 };
48
49 /*
50  * A structure describing a wilderness area
51  * with a terrain or a town
52  */
53 typedef struct 
54 {
55         int terrain;
56         TOWN_IDX town;
57         int road;
58         u32b seed;
59         DEPTH level;
60         byte entrance;
61 } wilderness_type;
62
63 extern wilderness_type **wilderness;
64