OSDN Git Service

[Refactor] #37353 バリアント名称とバージョン定義を core.h へ移動.
[hengband/hengband.git] / src / core.h
1 #pragma once
2
3 extern const concptr copyright[5];
4
5 #define VERSION_NAME "Hengband" /*!< バリアント名称 / Name of the version/variant */
6
7 /*!
8  * @brief ゲームのバージョン番号定義 / "Program Version Number" of the game
9  * @details
10  * 本FAKE_VERSIONそのものは未使用である。Zangと整合性を合わせるための疑似的処理のためFAKE_VER_MAJORは実値-10が該当のバージョン番号となる。
11  * <pre>
12  * FAKE_VER_MAJOR=1,2 were reserved for ZAngband version 1.x.x/2.x.x .
13  * Program Version of Hengband version is
14  *   "(FAKE_VER_MAJOR-10).(FAKE_VER_MINOR).(FAKE_VER_PATCH)".
15  * </pre>
16  */
17 #define FAKE_VERSION 0
18
19 #define FAKE_VER_MAJOR 12 /*!< ゲームのバージョン番号定義(メジャー番号 + 10) */
20 #define FAKE_VER_MINOR 2 /*!< ゲームのバージョン番号定義(マイナー番号) */
21 #define FAKE_VER_PATCH 1 /*!< ゲームのバージョン番号定義(パッチ番号) */
22 #define FAKE_VER_EXTRA 7 /*!< ゲームのバージョン番号定義(エクストラ番号) */
23
24  /*!
25   * @brief バージョンが開発版が安定版かを返す
26   */
27 #define IS_STABLE_VERSION (FAKE_VER_MINOR % 2 == 0 && FAKE_VER_EXTRA == 0)
28
29   /*!
30    * @brief セーブファイル上のバージョン定義(メジャー番号) / "Savefile Version Number" for Hengband 1.1.1 and later
31    * @details
32    * 当面FAKE_VER_*を参照しておく。
33    * <pre>
34    * First three digits may be same as the Program Version.  But not
35    * always same.  It means that newer version may preserves lower
36    * compatibility with the older version.
37    * For example, newer Hengband 1.4.4 creates savefiles marked with
38    * Savefile Version 1.4.0.0 .  It means that Hengband 1.4.0 can load a
39    * savefile of Hengband 1.4.4 (lower compatibility!).
40    * Upper compatibility is always guaranteed.
41    * </pre>
42    */
43 #define H_VER_MAJOR (FAKE_VER_MAJOR-10) /*!< セーブファイル上のバージョン定義(メジャー番号) */
44 #define H_VER_MINOR FAKE_VER_MINOR /*!< セーブファイル上のバージョン定義(マイナー番号) */
45 #define H_VER_PATCH FAKE_VER_PATCH /*!< セーブファイル上のバージョン定義(パッチ番号) */
46 #define H_VER_EXTRA FAKE_VER_EXTRA /*!< セーブファイル上のバージョン定義(エクストラ番号) */
47
48 #define ANGBAND_2_8_1 /*!< Angband 2.8.1以降から有効な処理分岐を定義 */
49 #define ZANGBAND /*!< Zangband 以降から有効な処理分岐を定義 */
50
51 /*
52  * Special internal key
53  */
54 #define SPECIAL_KEY_QUEST    255
55 #define SPECIAL_KEY_BUILDING 254
56 #define SPECIAL_KEY_STORE    253
57 #define SPECIAL_KEY_QUIT     252
58
59 /*
60  * Initialization flags
61  */
62 #define INIT_NAME_ONLY          0x01
63 #define INIT_SHOW_TEXT          0x02
64 #define INIT_ASSIGN             0x04
65 #define INIT_CREATE_DUNGEON     0x08
66 #define INIT_ONLY_FEATURES      0x10
67 #define INIT_ONLY_BUILDINGS     0x20
68 extern int init_flags;
69
70 extern concptr ANGBAND_SYS;
71 extern concptr ANGBAND_KEYBOARD;
72 extern concptr ANGBAND_GRAF;
73
74 extern bool can_save;
75 extern COMMAND_CODE now_message;
76
77 extern void play_game(bool new_game);
78 extern void update_playtime(void);
79 extern s32b turn_real(s32b hoge);
80 extern void prevent_turn_overflow(void);
81 extern void close_game(void);
82
83 extern void handle_stuff(void);
84 extern void update_output(void);