OSDN Git Service

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