OSDN Git Service

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