OSDN Git Service

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