OSDN Git Service

[Refactor] #38997 o_pop()、drop_near()、inven_drop() にplayer_type *引数を追加 (コールチェーンが長いのでそ...
[hengband/hengband.git] / src / dungeon-file.h
1 #pragma once
2
3 typedef struct dungeon_grid dungeon_grid;
4
5 struct dungeon_grid
6 {
7         FEAT_IDX feature;               /* Terrain feature */
8         MONSTER_IDX     monster;                /* Monster */
9         OBJECT_IDX object;                      /* Object */
10         EGO_IDX ego;                    /* Ego-Item */
11         ARTIFACT_IDX artifact;          /* Artifact */
12         IDX trap;                       /* Trap */
13         BIT_FLAGS cave_info;            /* Flags for CAVE_MARK, CAVE_GLOW, CAVE_ICKY, CAVE_ROOM */
14         s16b special; /* Reserved for special terrain info */
15         int random;                     /* Number of the random effect */
16 };
17
18 /* Random dungeon grid effects */
19 #define RANDOM_NONE         0x00000000
20 #define RANDOM_FEATURE      0x00000001
21 #define RANDOM_MONSTER      0x00000002
22 #define RANDOM_OBJECT       0x00000004
23 #define RANDOM_EGO          0x00000008
24 #define RANDOM_ARTIFACT     0x00000010
25 #define RANDOM_TRAP         0x00000020
26
27 /*
28  * Parse errors
29  */
30 #define PARSE_ERROR_GENERIC                  1
31 #define PARSE_ERROR_ABSOLETE_FILE            2
32 #define PARSE_ERROR_MISSING_RECORD_HEADER    3
33 #define PARSE_ERROR_NON_SEQUENTIAL_RECORDS   4
34 #define PARSE_ERROR_INVALID_FLAG             5
35 #define PARSE_ERROR_UNDEFINED_DIRECTIVE      6
36 #define PARSE_ERROR_OUT_OF_MEMORY            7
37 #define PARSE_ERROR_OUT_OF_BOUNDS            8
38 #define PARSE_ERROR_TOO_FEW_ARGUMENTS        9
39 #define PARSE_ERROR_UNDEFINED_TERRAIN_TAG   10
40 #define PARSE_ERROR_MAX                     11
41
42 extern concptr err_str[PARSE_ERROR_MAX];
43 extern errr process_dungeon_file(player_type *player_ptr, concptr name, int ymin, int xmin, int ymax, int xmax);
44 extern errr init_v_info(void);
45 extern errr init_buildings(void);
46
47 extern dungeon_grid letter[255];
48