OSDN Git Service

[Refactor] #39970 Reshaped world-movement-processor.c
[hengband/hengband.git] / src / world.h
1 #pragma once
2
3 #define MAX_BOUNTY 20
4
5 typedef struct {
6
7         POSITION max_wild_x; /*!< Maximum size of the wilderness */
8         POSITION max_wild_y; /*!< Maximum size of the wilderness */
9         GAME_TURN game_turn;                    /*!< 画面表示上のゲーム時間基準となるターン / Current game turn */
10         GAME_TURN game_turn_limit;              /*!< game_turnの最大値 / Limit of game_turn */
11         GAME_TURN dungeon_turn;                 /*!< NASTY生成の計算に関わる内部ターン値 / Game turn in dungeon */
12         GAME_TURN dungeon_turn_limit;   /*!< dungeon_turnの最大値 / Limit of game_turn in dungeon */
13         GAME_TURN arena_start_turn;             /*!< 闘技場賭博の開始ターン値 */
14         u32b start_time;
15         u16b noscore;             /* Cheating flags */
16         u16b total_winner;        /* Total winner */
17
18         MONSTER_IDX timewalk_m_idx;     /*!< 現在時間停止を行っているモンスターのID */
19
20         MONRACE_IDX bounty_r_idx[MAX_BOUNTY];
21
22         u32b play_time; /*!< 実プレイ時間 */
23
24         u32b seed_flavor;               /* Hack -- consistent object colors */
25         u32b seed_town;                 /* Hack -- consistent town layout */
26
27         bool is_loading_now;    /*!< ロード処理中フラグ...ロード直後にcalc_bonus()時の徳変化、及びsanity_blast()による異常を抑止する */
28
29         /*
30          * Savefile version
31          */
32         byte h_ver_major; /* Savefile version for Hengband 1.1.1 and later */
33         byte h_ver_minor;
34         byte h_ver_patch;
35         byte h_ver_extra;
36
37         byte sf_extra;          /* Savefile's encoding key */
38
39         byte z_major;           /* Savefile version for Hengband */
40         byte z_minor;
41         byte z_patch;
42
43         /*
44          * Savefile information
45          */
46         u32b sf_system;                 /* Operating system info */
47         u32b sf_when;                   /* Time when savefile created */
48         u16b sf_lives;                  /* Number of past "lives" with this file */
49         u16b sf_saves;                  /* Number of "saves" during this life */
50
51         bool character_generated;       /* The character exists */
52         bool character_dungeon;         /* The character has a dungeon */
53         bool character_loaded;          /* The character was loaded from a savefile */
54         bool character_saved;           /* The character was just saved to a savefile */
55
56         bool character_icky;            /* The game is in an icky full screen mode */
57         bool character_xtra;            /* The game is in an icky startup mode */
58
59         bool creating_savefile;         /* New savefile is currently created */
60
61         bool wizard;              /* This world under wizard mode */
62
63         OBJECT_IDX max_o_idx; /*!< Maximum number of objects in the level */
64         MONSTER_IDX max_m_idx; /*!< Maximum number of monsters in the level */
65
66         DUNGEON_IDX max_d_idx;
67
68 } world_type;
69
70 extern bool is_daytime(void);
71 extern void extract_day_hour_min(player_type *player_ptr, int *day, int *hour, int *min);
72 extern world_type *current_world_ptr;