OSDN Git Service

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